Ly0tIFRoaXMgc2V0IG9mIHRlc3RzIGlzIGZvciBmZWF0dXJlcyB0aGF0IGFyZSBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mCiAgICBQZXJsIDUsIGluIG5vbi1VVEYtOCBtb2RlLiAtLS8KCi90aGUgcXVpY2sgYnJvd24gZm94LwogICAgdGhlIHF1aWNrIGJyb3duIGZveAogMDogdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWApObyBtYXRjaAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogMDogdGhlIHF1aWNrIGJyb3duIGZveAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwpObyBtYXRjaAoKL1RoZSBxdWljayBicm93biBmb3gvaQogICAgdGhlIHF1aWNrIGJyb3duIGZveAogMDogdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogMDogVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogMDogdGhlIHF1aWNrIGJyb3duIGZveAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwogMDogVEhFIFFVSUNLIEJST1dOIEZPWAoKL2FiY2RcdFxuXHJcZlxhXGVcMDcxXHgzYlwkXFxcP2NheHl6LwogICAgYWJjZFx0XG5cclxmXGFcZTk7XCRcXD9jYXh5egogMDogYWJjZFx4MDlceDBhXHgwZFx4MGNceDA3XHgxYjk7JFw/Y2F4eXoKCi9hKmFiYz94eXorcHFyezN9YWJ7Mix9eHl7NCw1fXBxezAsNn1BQnswLH16ei8KICAgIGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cEF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cEF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFBenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFBenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFBenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFxcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFxcUF6egogICAgYWFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6enBxcnJyYWJieHl5eXlwcUF6egogMDogYWJ4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXp6enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFieHl6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFieHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJjeHl6enBxcnJyYWJieHl5eXlwcUF6egogMDogYWJjeHl6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFiY3h5enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWJjeHl6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFiY3h5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5cHFBenoKIDA6IGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5eXBxQXp6CiAwOiBhYWFhYmN4eXp6enpwcXJycmFiYmJ4eXl5eXlwcUF6egogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cEFCenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQnp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJCenoKIDA6IGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQkJ6egogICAgPj4+YWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgPmFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgPj4+PmFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJ4eXpwcXJyYWJieHl5eXlwcUF6egpObyBtYXRjaAogICAgYWJ4eXpwcXJycnJhYmJ4eXl5eXBxQXp6Ck5vIG1hdGNoCiAgICBhYnh5enBxcnJyYWJ4eXl5eXBxQXp6Ck5vIG1hdGNoCiAgICBhYWFhYmN4eXp6enpwcXJycmFiYmJ4eXl5eXl5cHFBenoKTm8gbWF0Y2gKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXlwcUF6egpObyBtYXRjaAogICAgYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFxcXFBenoKTm8gbWF0Y2gKCi9eKGFiYyl7MSwyfXp6LwogICAgYWJjenoKIDA6IGFiY3p6CiAxOiBhYmMKICAgIGFiY2FiY3p6CiAwOiBhYmNhYmN6egogMTogYWJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgenoKTm8gbWF0Y2gKICAgIGFiY2FiY2FiY3p6Ck5vIG1hdGNoCiAgICA+PmFiY3p6Ck5vIG1hdGNoCgovXihiKz98YSl7MSwyfT9jLwogICAgYmMKIDA6IGJjCiAxOiBiCiAgICBiYmMKIDA6IGJiYwogMTogYgogICAgYmJiYwogMDogYmJiYwogMTogYmIKICAgIGJhYwogMDogYmFjCiAxOiBhCiAgICBiYmFjCiAwOiBiYmFjCiAxOiBhCiAgICBhYWMKIDA6IGFhYwogMTogYQogICAgYWJiYmJiYmJiYmJiYwogMDogYWJiYmJiYmJiYmJiYwogMTogYmJiYmJiYmJiYmIKICAgIGJiYmJiYmJiYmJiYWMKIDA6IGJiYmJiYmJiYmJiYWMKIDE6IGEKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYWFjCk5vIG1hdGNoCiAgICBhYmJiYmJiYmJiYmJhYwpObyBtYXRjaAoKL14oYit8YSl7MSwyfWMvCiAgICBiYwogMDogYmMKIDE6IGIKICAgIGJiYwogMDogYmJjCiAxOiBiYgogICAgYmJiYwogMDogYmJiYwogMTogYmJiCiAgICBiYWMKIDA6IGJhYwogMTogYQogICAgYmJhYwogMDogYmJhYwogMTogYQogICAgYWFjCiAwOiBhYWMKIDE6IGEKICAgIGFiYmJiYmJiYmJiYmMKIDA6IGFiYmJiYmJiYmJiYmMKIDE6IGJiYmJiYmJiYmJiCiAgICBiYmJiYmJiYmJiYmFjCiAwOiBiYmJiYmJiYmJiYmFjCiAxOiBhCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYwpObyBtYXRjaAogICAgYWJiYmJiYmJiYmJiYWMKTm8gbWF0Y2gKCi9eKGIrfGEpezEsMn0/YmMvCiAgICBiYmMKIDA6IGJiYwogMTogYgoKL14oYip8YmEpezEsMn0/YmMvCiAgICBiYWJjCiAwOiBiYWJjCiAxOiBiYQogICAgYmJhYmMKIDA6IGJiYWJjCiAxOiBiYQogICAgYmFiYWJjCiAwOiBiYWJhYmMKIDE6IGJhCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYmFiYWJiYwpObyBtYXRjaAogICAgYmFiYWJhYmMKTm8gbWF0Y2gKCi9eKGJhfGIqKXsxLDJ9P2JjLwogICAgYmFiYwogMDogYmFiYwogMTogYmEKICAgIGJiYWJjCiAwOiBiYmFiYwogMTogYmEKICAgIGJhYmFiYwogMDogYmFiYWJjCiAxOiBiYQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJhYmFiYmMKTm8gbWF0Y2gKICAgIGJhYmFiYWJjCk5vIG1hdGNoCgovXlxjYVxjQVxjW1xje1xjOi8KICAgIFx4MDFceDAxXGU7egogMDogXHgwMVx4MDFceDFiO3oKCi9eW2FiXF1jZGVdLwogICAgYXRoaW5nCiAwOiBhCiAgICBidGhpbmcKIDA6IGIKICAgIF10aGluZwogMDogXQogICAgY3RoaW5nCiAwOiBjCiAgICBkdGhpbmcKIDA6IGQKICAgIGV0aGluZwogMDogZQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGZ0aGluZwpObyBtYXRjaAogICAgW3RoaW5nCk5vIG1hdGNoCiAgICBcXHRoaW5nCk5vIG1hdGNoCgovXltdY2RlXS8KICAgIF10aGluZwogMDogXQogICAgY3RoaW5nCiAwOiBjCiAgICBkdGhpbmcKIDA6IGQKICAgIGV0aGluZwogMDogZQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGF0aGluZwpObyBtYXRjaAogICAgZnRoaW5nCk5vIG1hdGNoCgovXlteYWJcXWNkZV0vCiAgICBmdGhpbmcKIDA6IGYKICAgIFt0aGluZwogMDogWwogICAgXFx0aGluZwogMDogXAogICAgKioqIEZhaWxlcnMKIDA6ICoKICAgIGF0aGluZwpObyBtYXRjaAogICAgYnRoaW5nCk5vIG1hdGNoCiAgICBddGhpbmcKTm8gbWF0Y2gKICAgIGN0aGluZwpObyBtYXRjaAogICAgZHRoaW5nCk5vIG1hdGNoCiAgICBldGhpbmcKTm8gbWF0Y2gKCi9eW15dY2RlXS8KICAgIGF0aGluZwogMDogYQogICAgZnRoaW5nCiAwOiBmCiAgICAqKiogRmFpbGVycwogMDogKgogICAgXXRoaW5nCk5vIG1hdGNoCiAgICBjdGhpbmcKTm8gbWF0Y2gKICAgIGR0aGluZwpObyBtYXRjaAogICAgZXRoaW5nCk5vIG1hdGNoCgovXlyBLwogICAggQogMDogXHg4MQoKL17/LwogICAg/wogMDogXHhmZgoKL15bMC05XSskLwogICAgMAogMDogMAogICAgMQogMDogMQogICAgMgogMDogMgogICAgMwogMDogMwogICAgNAogMDogNAogICAgNQogMDogNQogICAgNgogMDogNgogICAgNwogMDogNwogICAgOAogMDogOAogICAgOQogMDogOQogICAgMTAKIDA6IDEwCiAgICAxMDAKIDA6IDEwMAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiYwpObyBtYXRjaAoKL14uKm50ZXIvCiAgICBlbnRlcgogMDogZW50ZXIKICAgIGludGVyCiAwOiBpbnRlcgogICAgdXBvbnRlcgogMDogdXBvbnRlcgoKL154eHhbMC05XSskLwogICAgeHh4MAogMDogeHh4MAogICAgeHh4MTIzNAogMDogeHh4MTIzNAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHh4eApObyBtYXRjaAoKL14uK1swLTldWzAtOV1bMC05XSQvCiAgICB4MTIzCiAwOiB4MTIzCiAgICB4eDEyMwogMDogeHgxMjMKICAgIDEyMzQ1NgogMDogMTIzNDU2CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzCk5vIG1hdGNoCiAgICB4MTIzNAogMDogeDEyMzQKCi9eLis/WzAtOV1bMC05XVswLTldJC8KICAgIHgxMjMKIDA6IHgxMjMKICAgIHh4MTIzCiAwOiB4eDEyMwogICAgMTIzNDU2CiAwOiAxMjM0NTYKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxMjMKTm8gbWF0Y2gKICAgIHgxMjM0CiAwOiB4MTIzNAoKL14oW14hXSspISguKyk9YXBxdXh6XC5peHJcLnp6elwuYWNcLnVrJC8KICAgIGFiYyFwcXI9YXBxdXh6Lml4ci56enouYWMudWsKIDA6IGFiYyFwcXI9YXBxdXh6Lml4ci56enouYWMudWsKIDE6IGFiYwogMjogcHFyCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIT1hcHF1eHouaXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIXBxcj1hcHF1eHo6aXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51a2sKTm8gbWF0Y2gKCi86LwogICAgV2VsbCwgd2UgbmVlZCBhIGNvbG9uOiBzb21ld2hlcmUKIDA6IDoKICAgICoqKiBGYWlsIGlmIHdlIGRvbid0Ck5vIG1hdGNoCgovKFtcZGEtZjpdKykkL2kKICAgIDBhYmMKIDA6IDBhYmMKIDE6IDBhYmMKICAgIGFiYwogMDogYWJjCiAxOiBhYmMKICAgIGZlZAogMDogZmVkCiAxOiBmZWQKICAgIEUKIDA6IEUKIDE6IEUKICAgIDo6CiAwOiA6OgogMTogOjoKICAgIDVmMDM6MTJDMDo6OTMyZQogMDogNWYwMzoxMkMwOjo5MzJlCiAxOiA1ZjAzOjEyQzA6OjkzMmUKICAgIGZlZCBkZWYKIDA6IGRlZgogMTogZGVmCiAgICBBbnkgb2xkIHN0dWZmCiAwOiBmZgogMTogZmYKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAwenp6Ck5vIG1hdGNoCiAgICBnenp6Ck5vIG1hdGNoCiAgICBmZWRceDIwCk5vIG1hdGNoCiAgICBBbnkgb2xkIHJ1YmJpc2gKTm8gbWF0Y2gKCi9eLipcLihcZHsxLDN9KVwuKFxkezEsM30pXC4oXGR7MSwzfSkkLwogICAgLjEuMi4zCiAwOiAuMS4yLjMKIDE6IDEKIDI6IDIKIDM6IDMKICAgIEEuMTIuMTIzLjAKIDA6IEEuMTIuMTIzLjAKIDE6IDEyCiAyOiAxMjMKIDM6IDAKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAuMS4yLjMzMzMKTm8gbWF0Y2gKICAgIDEuMi4zCk5vIG1hdGNoCiAgICAxMjM0LjIuMwpObyBtYXRjaAoKL14oXGQrKVxzK0lOXHMrU09BXHMrKFxTKylccysoXFMrKVxzKlwoXHMqJC8KICAgIDEgSU4gU09BIG5vbi1zcDEgbm9uLXNwMigKIDA6IDEgSU4gU09BIG5vbi1zcDEgbm9uLXNwMigKIDE6IDEKIDI6IG5vbi1zcDEKIDM6IG5vbi1zcDIKICAgIDEgICAgSU4gICAgU09BICAgIG5vbi1zcDEgICAgbm9uLXNwMiAgICgKIDA6IDEgICAgSU4gICAgU09BICAgIG5vbi1zcDEgICAgbm9uLXNwMiAgICgKIDE6IDEKIDI6IG5vbi1zcDEKIDM6IG5vbi1zcDIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxSU4gU09BIG5vbi1zcDEgbm9uLXNwMigKTm8gbWF0Y2gKCi9eW2EtekEtWlxkXVthLXpBLVpcZFwtXSooXC5bYS16QS1aXGRdW2EtekEtelxkXC1dKikqXC4kLwogICAgYS4KIDA6IGEuCiAgICBaLgogMDogWi4KICAgIDIuCiAwOiAyLgogICAgYWItYy5wcS1yLgogMDogYWItYy5wcS1yLgogMTogLnBxLXIKICAgIHN4ay56enouYWMudWsuCiAwOiBzeGsuenp6LmFjLnVrLgogMTogLnVrCiAgICB4LS55LS4KIDA6IHgtLnktLgogMTogLnktCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgLWFiYy5wZXEuCk5vIG1hdGNoCgovXlwqXC5bYS16XShbYS16XC1cZF0qW2EtelxkXSspPyhcLlthLXpdKFthLXpcLVxkXSpbYS16XGRdKyk/KSokLwogICAgKi5hCiAwOiAqLmEKICAgICouYjAtYQogMDogKi5iMC1hCiAxOiAwLWEKICAgICouYzMtYi5jCiAwOiAqLmMzLWIuYwogMTogMy1iCiAyOiAuYwogICAgKi5jLWEuYi1jCiAwOiAqLmMtYS5iLWMKIDE6IC1hCiAyOiAuYi1jCiAzOiAtYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgICouMApObyBtYXRjaAogICAgKi5hLQpObyBtYXRjaAogICAgKi5hLWIuYy0KTm8gbWF0Y2gKICAgICouYy1hLjAtYwpObyBtYXRjaAoKL14oPz1hYihkZSkpKGFiZCkoZSkvCiAgICBhYmRlCiAwOiBhYmRlCiAxOiBkZQogMjogYWJkCiAzOiBlCgovXig/IShhYilkZXx4KShhYmQpKGYpLwogICAgYWJkZgogMDogYWJkZgogMTogPHVuc2V0PgogMjogYWJkCiAzOiBmCgovXig/PShhYihjZCkpKShhYikvCiAgICBhYmNkCiAwOiBhYgogMTogYWJjZAogMjogY2QKIDM6IGFiCgovXltcZGEtZl0oXC5bXGRhLWZdKSokL2kKICAgIGEuYi5jLmQKIDA6IGEuYi5jLmQKIDE6IC5kCiAgICBBLkIuQy5ECiAwOiBBLkIuQy5ECiAxOiAuRAogICAgYS5iLmMuMS4yLjMuQwogMDogYS5iLmMuMS4yLjMuQwogMTogLkMKCi9eXCIuKlwiXHMqKDsuKik/JC8KICAgIFwiMTIzNFwiCiAwOiAiMTIzNCIKICAgIFwiYWJjZFwiIDsKIDA6ICJhYmNkIiA7CiAxOiA7CiAgICBcIlwiIDsgcmh1YmFyYgogMDogIiIgOyByaHViYXJiCiAxOiA7IHJodWJhcmIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBcIjEyMzRcIiA6IHRoaW5ncwpObyBtYXRjaAoKL14kLwogICAgXAogMDogCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAoKLyAgIF4gICAgYSAgICg/IyBiZWdpbnMgd2l0aCBhKSAgYlxzYyAoPyMgdGhlbiBiIGMpICQgKD8jIHRoZW4gZW5kKS94CiAgICBhYiBjCiAwOiBhYiBjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCiAgICBhYiBjZGUKTm8gbWF0Y2gKCi8oP3gpICAgXiAgICBhICAgKD8jIGJlZ2lucyB3aXRoIGEpICBiXHNjICg/IyB0aGVuIGIgYykgJCAoPyMgdGhlbiBlbmQpLwogICAgYWIgYwogMDogYWIgYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiYwpObyBtYXRjaAogICAgYWIgY2RlCk5vIG1hdGNoCgovXiAgIGFcIGJbYyBdZCAgICAgICAkL3gKICAgIGEgYmNkCiAwOiBhIGJjZAogICAgYSBiIGQKIDA6IGEgYiBkCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjZApObyBtYXRjaAogICAgYWIgZApObyBtYXRjaAoKL14oYShiKGMpKSkoZChlKGYpKSkoaChpKGopKSkoayhsKG0pKSkkLwogICAgYWJjZGVmaGlqa2xtCiAwOiBhYmNkZWZoaWprbG0KIDE6IGFiYwogMjogYmMKIDM6IGMKIDQ6IGRlZgogNTogZWYKIDY6IGYKIDc6IGhpagogODogaWoKIDk6IGoKMTA6IGtsbQoxMTogbG0KMTI6IG0KCi9eKD86YShiKGMpKSkoPzpkKGUoZikpKSg/OmgoaShqKSkpKD86ayhsKG0pKSkkLwogICAgYWJjZGVmaGlqa2xtCiAwOiBhYmNkZWZoaWprbG0KIDE6IGJjCiAyOiBjCiAzOiBlZgogNDogZgogNTogaWoKIDY6IGoKIDc6IGxtCiA4OiBtCgovXltcd11bXFddW1xzXVtcU11bXGRdW1xEXVtcYl1bXG5dW1xjXV1bXDAyMl0vCiAgICBhKyBaMCtceDA4XG5ceDFkXHgxMgogMDogYSsgWjArXHgwOFx4MGFceDFkXHgxMgoKL15bLl4kfCgpKis/eyx9XSsvCiAgICAuXlwkKCorKXx7Pyw/fQogMDogLl4kKCorKXx7Pyw/fQoKL15hKlx3LwogICAgegogMDogegogICAgYXoKIDA6IGF6CiAgICBhYWF6CiAwOiBhYWF6CiAgICBhCiAwOiBhCiAgICBhYQogMDogYWEKICAgIGFhYWEKIDA6IGFhYWEKICAgIGErCiAwOiBhCiAgICBhYSsKIDA6IGFhCgovXmEqP1x3LwogICAgegogMDogegogICAgYXoKIDA6IGEKICAgIGFhYXoKIDA6IGEKICAgIGEKIDA6IGEKICAgIGFhCiAwOiBhCiAgICBhYWFhCiAwOiBhCiAgICBhKwogMDogYQogICAgYWErCiAwOiBhCgovXmErXHcvCiAgICBhegogMDogYXoKICAgIGFhYXoKIDA6IGFhYXoKICAgIGFhCiAwOiBhYQogICAgYWFhYQogMDogYWFhYQogICAgYWErCiAwOiBhYQoKL15hKz9cdy8KICAgIGF6CiAwOiBhegogICAgYWFhegogMDogYWEKICAgIGFhCiAwOiBhYQogICAgYWFhYQogMDogYWEKICAgIGFhKwogMDogYWEKCi9eXGR7OH1cd3syLH0vCiAgICAxMjM0NTY3ODkwCiAwOiAxMjM0NTY3ODkwCiAgICAxMjM0NTY3OGFiCiAwOiAxMjM0NTY3OGFiCiAgICAxMjM0NTY3OF9fCiAwOiAxMjM0NTY3OF9fCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzNDU2NwpObyBtYXRjaAoKL15bYWVpb3VcZF17NCw1fSQvCiAgICB1b2llCiAwOiB1b2llCiAgICAxMjM0CiAwOiAxMjM0CiAgICAxMjM0NQogMDogMTIzNDUKICAgIGFhYWFhCiAwOiBhYWFhYQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIDEyMzQ1NgpObyBtYXRjaAoKL15bYWVpb3VcZF17NCw1fT8vCiAgICB1b2llCiAwOiB1b2llCiAgICAxMjM0CiAwOiAxMjM0CiAgICAxMjM0NQogMDogMTIzNAogICAgYWFhYWEKIDA6IGFhYWEKICAgIDEyMzQ1NgogMDogMTIzNAoKL1xBKGFiY3xkZWYpPShcMSl7MiwzfVxaLwogICAgYWJjPWFiY2FiYwogMDogYWJjPWFiY2FiYwogMTogYWJjCiAyOiBhYmMKICAgIGRlZj1kZWZkZWZkZWYKIDA6IGRlZj1kZWZkZWZkZWYKIDE6IGRlZgogMjogZGVmCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjPWRlZmRlZgpObyBtYXRjaAoKL14oYSkoYikoYykoZCkoZSkoZikoZykoaCkoaSkoaikoaylcMTEqKFwzXDQpXDEoPyMpMiQvCiAgICBhYmNkZWZnaGlqa2NkYTIKIDA6IGFiY2RlZmdoaWprY2RhMgogMTogYQogMjogYgogMzogYwogNDogZAogNTogZQogNjogZgogNzogZwogODogaAogOTogaQoxMDogagoxMTogawoxMjogY2QKICAgIGFiY2RlZmdoaWpra2trY2RhMgogMDogYWJjZGVmZ2hpamtra2tjZGEyCiAxOiBhCiAyOiBiCiAzOiBjCiA0OiBkCiA1OiBlCiA2OiBmCiA3OiBnCiA4OiBoCiA5OiBpCjEwOiBqCjExOiBrCjEyOiBjZAoKLyhjYXQoYShyYWN0fHRvbmljKXxlcnBpbGxhcikpIFwxKCkyKDMpLwogICAgY2F0YXJhY3QgY2F0YXJhY3QyMwogMDogY2F0YXJhY3QgY2F0YXJhY3QyMwogMTogY2F0YXJhY3QKIDI6IGFyYWN0CiAzOiByYWN0CiA0OiAKIDU6IDMKICAgIGNhdGF0b25pYyBjYXRhdG9uaWMyMwogMDogY2F0YXRvbmljIGNhdGF0b25pYzIzCiAxOiBjYXRhdG9uaWMKIDI6IGF0b25pYwogMzogdG9uaWMKIDQ6IAogNTogMwogICAgY2F0ZXJwaWxsYXIgY2F0ZXJwaWxsYXIyMwogMDogY2F0ZXJwaWxsYXIgY2F0ZXJwaWxsYXIyMwogMTogY2F0ZXJwaWxsYXIKIDI6IGVycGlsbGFyCiAzOiA8dW5zZXQ+CiA0OiAKIDU6IDMKCgovXkZyb20gKyhbXiBdKykgK1thLXpBLVpdW2EtekEtWl1bYS16QS1aXSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbMC05XT9bMC05XSArWzAtOV1bMC05XTpbMC05XVswLTldLwogICAgRnJvbSBhYmNkICBNb24gU2VwIDAxIDEyOjMzOjAyIDE5OTcKIDA6IEZyb20gYWJjZCAgTW9uIFNlcCAwMSAxMjozMwogMTogYWJjZAoKL15Gcm9tXHMrXFMrXHMrKFthLXpBLVpdezN9XHMrKXsyfVxkezEsMn1ccytcZFxkOlxkXGQvCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwogMDogRnJvbSBhYmNkICBNb24gU2VwIDAxIDEyOjMzCiAxOiBTZXAgCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgIDEgMTI6MzM6MDIgMTk5NwogMDogRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzCiAxOiBTZXAgIAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEZyb20gYWJjZCAgU2VwIDAxIDEyOjMzOjAyIDE5OTcKTm8gbWF0Y2gKCi9eMTIuMzQvcwogICAgMTJcbjM0CiAwOiAxMlx4MGEzNAogICAgMTJccjM0CiAwOiAxMlx4MGQzNAoKL1x3Kyg/PVx0KS8KICAgIHRoZSBxdWljayBicm93blx0IGZveAogMDogYnJvd24KCi9mb28oPyFiYXIpKC4qKS8KICAgIGZvb2JhciBpcyBmb29saXNoIHNlZT8KIDA6IGZvb2xpc2ggc2VlPwogMTogbGlzaCBzZWU/CgovKD86KD8hZm9vKS4uLnxeLnswLDJ9KWJhciguKikvCiAgICBmb29iYXIgY3Jvd2JhciBldGMKIDA6IHJvd2JhciBldGMKIDE6ICBldGMKICAgIGJhcnJlbAogMDogYmFycmVsCiAxOiByZWwKICAgIDJiYXJyZWwKIDA6IDJiYXJyZWwKIDE6IHJlbAogICAgQSBiYXJyZWwKIDA6IEEgYmFycmVsCiAxOiByZWwKCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgYWJjNDU2CiAwOiBhYmMKIDE6IGFiYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiYzEyMwpObyBtYXRjaAoKL14xMjM0KD8jIHRlc3QgbmV3bGluZXMKICBpbnNpZGUpLwogICAgMTIzNAogMDogMTIzNAoKL14xMjM0ICNjb21tZW50IGluIGV4dGVuZGVkIHJlCiAgL3gKICAgIDEyMzQKIDA6IDEyMzQKCi8jcmh1YmFyYgogIGFiY2QveAogICAgYWJjZAogMDogYWJjZAoKL15hYmNkI3JodWJhcmIveAogICAgYWJjZAogMDogYWJjZAoKL14oYSlcMXsyLDN9KC4pLwogICAgYWFhYgogMDogYWFhYgogMTogYQogMjogYgogICAgYWFhYWIKIDA6IGFhYWFiCiAxOiBhCiAyOiBiCiAgICBhYWFhYWIKIDA6IGFhYWFhCiAxOiBhCiAyOiBhCiAgICBhYWFhYWFiCiAwOiBhYWFhYQogMTogYQogMjogYQoKLyg/IV4pYWJjLwogICAgdGhlIGFiYwogMDogYWJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCgovKD89XilhYmMvCiAgICBhYmMKIDA6IGFiYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHRoZSBhYmMKTm8gbWF0Y2gKCi9eW2FiXXsxLDN9KGFiKnxiKS8KICAgIGFhYmJiYmIKIDA6IGFhYmIKIDE6IGIKCi9eW2FiXXsxLDN9PyhhYip8YikvCiAgICBhYWJiYmJiCiAwOiBhYWJiYmJiCiAxOiBhYmJiYmIKCi9eW2FiXXsxLDN9PyhhYio/fGIpLwogICAgYWFiYmJiYgogMDogYWEKIDE6IGEKCi9eW2FiXXsxLDN9KGFiKj98YikvCiAgICBhYWJiYmJiCiAwOiBhYWJiCiAxOiBiCgovICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIGxlYWRpbmcgY29tbWVudAooPzogICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfAoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKKSAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHdvcmQKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICkqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgYSBwZXJpb2QKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgojIGFkZHJlc3MKfCAgICAgICAgICAgICAgICAgICAgICMgIG9yCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICAgICAgICAgICAgIyBvbmUgd29yZCwgb3B0aW9uYWxseSBmb2xsb3dlZCBieS4uLi4KKD86ClteKCk8PkAsOzoiLlxcXFtcXVx4ODAtXHhmZlwwMDAtXDAxMFwwMTItXDAzN10gIHwgICMgYXRvbSBhbmQgc3BhY2UgcGFydHMsIG9yLi4uClwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICAgICAgIHwgICMgY29tbWVudHMsIG9yLi4uCgoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKIyBxdW90ZWQgc3RyaW5ncwopKgo8ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICAgICAgICAgICAgICAgICAgIyBsZWFkaW5nIDwKKD86ICBAICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgc3ViZG9tYWluCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBsZWQgYnkgYSBwZXJpb2QuLi4KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAjICAgLi4uZnVydGhlciBva2F5CikqCgooPzogICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICwgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIEAgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCBzdWJkb21haW4KKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICAgICAgICAgICAgICAgICAgICAgICAjIGlmIGxlZCBieSBhIHBlcmlvZC4uLgooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICMgICAuLi5mdXJ0aGVyIG9rYXkKKSoKKSogIyBmdXJ0aGVyIG9rYXksIGlmIGxlZCBieSBjb21tYQo6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGNsb3NpbmcgY29sb24KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgKT8gIyAgICAgICBvcHRpb25hbCByb3V0ZQooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgd29yZAooPzogICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfAoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKKSAgKSogIyBmdXJ0aGVyIG9rYXksIGlmIGxlZCBieSBhIHBlcmlvZAooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBAICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgc3ViZG9tYWluCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBsZWQgYnkgYSBwZXJpb2QuLi4KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAjICAgLi4uZnVydGhlciBva2F5CikqCiMgICAgICAgYWRkcmVzcyBzcGVjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogID4gIyAgICAgICAgICAgICAgICAgIHRyYWlsaW5nID4KIyBuYW1lIGFuZCBhZGRyZXNzCikgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudAoveAogICAgQWxhbiBPdGhlciA8dXNlclxAZG9tLmFpbj4KIDA6IEFsYW4gT3RoZXIgPHVzZXJAZG9tLmFpbj4KICAgIDx1c2VyXEBkb20uYWluPgogMDogdXNlckBkb20uYWluCiAgICB1c2VyXEBkb20uYWluCiAwOiB1c2VyQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogIkEuIE90aGVyIiA8dXNlci4xMjM0QGRvbS5haW4+IChhIGNvbW1lbnQpCiAgICBBLiBPdGhlciA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogIE90aGVyIDx1c2VyLjEyMzRAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKIDA6ICIvcz11c2VyL291PWhvc3Qvbz1wbGFjZS9wcm1kPXV1Lnl5L2FkbWQ9IC9jPWdiLyJAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQogMDogdXNlckBzb21lLndoZXJlCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgVGhlIHF1aWNrIGJyb3duIGZveApObyBtYXRjaAoKL1tcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgbGVhZGluZyBjb21tZW50Cig/OgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCiMgQXRvbQp8ICAgICAgICAgICAgICAgICAgICAgICAjICBvcgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgIgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgbm9ybWFsCig/OiAgXFwgW15ceDgwLVx4ZmZdICBbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiApKiAgICAgICAgIyAgICggc3BlY2lhbCBub3JtYWwqICkqCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIgojIFF1b3RlZCBzdHJpbmcKKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIGFkZGl0aW9uYWwgd29yZHMKKSoKQApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ClxbICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBvcHRpb25hbCB0cmFpbGluZyBjb21tZW50cwooPzoKXC4KW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKSoKIyBhZGRyZXNzCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCiMgQXRvbQp8ICAgICAgICAgICAgICAgICAgICAgICAjICBvcgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgIgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgbm9ybWFsCig/OiAgXFwgW15ceDgwLVx4ZmZdICBbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiApKiAgICAgICAgIyAgICggc3BlY2lhbCBub3JtYWwqICkqCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIgojIFF1b3RlZCBzdHJpbmcKKQojIGxlYWRpbmcgd29yZApbXigpPD5ALDs6Ii5cXFxbXF1ceDgwLVx4ZmZcMDAwLVwwMTBcMDEyLVwwMzddICogICAgICAgICAgICAgICAjICJub3JtYWwiIGF0b21zIGFuZCBvciBzcGFjZXMKKD86Cig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCnwKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKKSAjICJzcGVjaWFsIiBjb21tZW50IG9yIHF1b3RlZCBzdHJpbmcKW14oKTw+QCw7OiIuXFxcW1xdXHg4MC1ceGZmXDAwMC1cMDEwXDAxMi1cMDM3XSAqICAgICAgICAgICAgIyAgbW9yZSAibm9ybWFsIgopKgo8CltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgPAooPzoKQApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ClxbICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBvcHRpb25hbCB0cmFpbGluZyBjb21tZW50cwooPzoKXC4KW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKSoKKD86ICwKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KQApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ClxbICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBvcHRpb25hbCB0cmFpbGluZyBjb21tZW50cwooPzoKXC4KW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKSoKKSogICMgYWRkaXRpb25hbCBkb21haW5zCjoKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBvcHRpb25hbCB0cmFpbGluZyBjb21tZW50cwopPyAgICAgIyAgICAgICBvcHRpb25hbCByb3V0ZQooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCiMgQXRvbQp8ICAgICAgICAgICAgICAgICAgICAgICAjICBvcgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgIgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgbm9ybWFsCig/OiAgXFwgW15ceDgwLVx4ZmZdICBbXlxcXHg4MC1ceGZmXG5cMDE1Il0gKiApKiAgICAgICAgIyAgICggc3BlY2lhbCBub3JtYWwqICkqCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIgojIFF1b3RlZCBzdHJpbmcKKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIGFkZGl0aW9uYWwgd29yZHMKKSoKQApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ClxbICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBvcHRpb25hbCB0cmFpbGluZyBjb21tZW50cwooPzoKXC4KW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKSoKIyAgICAgICBhZGRyZXNzIHNwZWMKPiAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgPgojIG5hbWUgYW5kIGFkZHJlc3MKKQoveAogICAgQWxhbiBPdGhlciA8dXNlclxAZG9tLmFpbj4KIDA6IEFsYW4gT3RoZXIgPHVzZXJAZG9tLmFpbj4KICAgIDx1c2VyXEBkb20uYWluPgogMDogdXNlckBkb20uYWluCiAgICB1c2VyXEBkb20uYWluCiAwOiB1c2VyQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogIkEuIE90aGVyIiA8dXNlci4xMjM0QGRvbS5haW4+CiAgICBBLiBPdGhlciA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogIE90aGVyIDx1c2VyLjEyMzRAZG9tLmFpbj4KICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKIDA6ICIvcz11c2VyL291PWhvc3Qvbz1wbGFjZS9wcm1kPXV1Lnl5L2FkbWQ9IC9jPWdiLyJAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQogMDogdXNlckBzb21lLndoZXJlCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgVGhlIHF1aWNrIGJyb3duIGZveApObyBtYXRjaAoKL2FiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUIvCiAgICBhYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCCiAwOiBhYmNceDAwZGVmXHgwMHBxclx4MDB4eXpceDAwMEFCCiAgICBhYmM0NTYgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQkNERQogMDogYWJjXHgwMGRlZlx4MDBwcXJceDAweHl6XHgwMDBBQgoKL2FiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCLwogICAgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUIKIDA6IGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAgICBhYmM0NTYgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUJDREUKIDA6IGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCgovXltcMDAwLVwwMzddLwogICAgXDBBCiAwOiBceDAwCiAgICBcMDFCCiAwOiBceDAxCiAgICBcMDM3QwogMDogXHgxZgoKL1wwKi8KICAgIFwwXDBcMFwwCiAwOiBceDAwXHgwMFx4MDBceDAwCgovQVx4MHsyLDN9Wi8KICAgIFRoZSBBXHgwXHgwWgogMDogQVx4MDBceDAwWgogICAgQW4gQVwwXHgwXDBaCiAwOiBBXHgwMFx4MDBceDAwWgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFcMFoKTm8gbWF0Y2gKICAgIEFcMFx4MFwwXHgwWgpObyBtYXRjaAoKL14oY293fClcMShiZWxsKS8KICAgIGNvd2Nvd2JlbGwKIDA6IGNvd2Nvd2JlbGwKIDE6IGNvdwogMjogYmVsbAogICAgYmVsbAogMDogYmVsbAogMTogCiAyOiBiZWxsCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgY293YmVsbApObyBtYXRjaAoKL15ccy8KICAgIFwwNDBhYmMKIDA6ICAKICAgIFx4MGNhYmMKIDA6IFx4MGMKICAgIFxuYWJjCiAwOiBceDBhCiAgICBccmFiYwogMDogXHgwZAogICAgXHRhYmMKIDA6IFx4MDkKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKCi9eYQliCiAgICAMICBjL3gKICAgIGFiYwogMDogYWJjCgovXihhfClcMSpiLwogICAgYWIKIDA6IGFiCiAxOiBhCiAgICBhYWFhYgogMDogYWFhYWIKIDE6IGEKICAgIGIKIDA6IGIKIDE6IAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFjYgpObyBtYXRjaAoKL14oYXwpXDErYi8KICAgIGFhYgogMDogYWFiCiAxOiBhCiAgICBhYWFhYgogMDogYWFhYWIKIDE6IGEKICAgIGIKIDA6IGIKIDE6IAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiCk5vIG1hdGNoCgovXihhfClcMT9iLwogICAgYWIKIDA6IGFiCiAxOiBhCiAgICBhYWIKIDA6IGFhYgogMTogYQogICAgYgogMDogYgogMTogCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWNiCk5vIG1hdGNoCgovXihhfClcMXsyfWIvCiAgICBhYWFiCiAwOiBhYWFiCiAxOiBhCiAgICBiCiAwOiBiCiAxOiAKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYgpObyBtYXRjaAogICAgYWFiCk5vIG1hdGNoCiAgICBhYWFhYgpObyBtYXRjaAoKL14oYXwpXDF7MiwzfWIvCiAgICBhYWFiCiAwOiBhYWFiCiAxOiBhCiAgICBhYWFhYgogMDogYWFhYWIKIDE6IGEKICAgIGIKIDA6IGIKIDE6IAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiCk5vIG1hdGNoCiAgICBhYWIKTm8gbWF0Y2gKICAgIGFhYWFhYgpObyBtYXRjaAoKL2FiezEsM31iYy8KICAgIGFiYmJiYwogMDogYWJiYmJjCiAgICBhYmJiYwogMDogYWJiYmMKICAgIGFiYmMKIDA6IGFiYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKICAgIGFiYmJiYmMKTm8gbWF0Y2gKCi8oW14uXSopXC4oW146XSopOltUIF0rKC4qKS8KICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKIDA6IHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKIDE6IHRyYWNrMQogMjogdGl0bGUKIDM6IEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAogMDogdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAogMTogdHJhY2sxCiAyOiB0aXRsZQogMzogQmxhaCBibGFoIGJsYWgKCi8oW14uXSopXC4oW146XSopOlt0IF0rKC4qKS9pCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCiAwOiB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCiAxOiB0cmFjazEKIDI6IHRpdGxlCiAzOiBCbGFoIGJsYWggYmxhaAoKL15bVy1jXSskLwogICAgV1hZX15hYmMKIDA6IFdYWV9eYWJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgd3h5Ck5vIG1hdGNoCgovXltXLWNdKyQvaQogICAgV1hZX15hYmMKIDA6IFdYWV9eYWJjCiAgICB3eHlfXkFCQwogMDogd3h5X15BQkMKCi9eW1x4M2YtXHg1Rl0rJC9pCiAgICBXWFlfXmFiYwogMDogV1hZX15hYmMKICAgIHd4eV9eQUJDCiAwOiB3eHlfXkFCQwoKL15hYmMkL20KICAgIGFiYwogMDogYWJjCiAgICBxcXFcbmFiYwogMDogYWJjCiAgICBhYmNcbnp6egogMDogYWJjCiAgICBxcXFcbmFiY1xuenp6CiAwOiBhYmMKCi9eYWJjJC8KICAgIGFiYwogMDogYWJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgcXFxXG5hYmMKTm8gbWF0Y2gKICAgIGFiY1xuenp6Ck5vIG1hdGNoCiAgICBxcXFcbmFiY1xuenp6Ck5vIG1hdGNoCgovXEFhYmNcWi9tCiAgICBhYmMKIDA6IGFiYwogICAgYWJjXG4gCiAwOiBhYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBxcXFcbmFiYwpObyBtYXRjaAogICAgYWJjXG56enoKTm8gbWF0Y2gKICAgIHFxcVxuYWJjXG56enoKTm8gbWF0Y2gKICAgIAovXEEoLikqXFovcwogICAgYWJjXG5kZWYKIDA6IGFiY1x4MGFkZWYKIDE6IGYKCi9cQSguKSpcWi9tCiAgICAqKiogRmFpbGVycwogMDogKioqIEZhaWxlcnMKIDE6IHMKICAgIGFiY1xuZGVmCk5vIG1hdGNoCgovKD86Yil8KD86OispLwogICAgYjo6YwogMDogYgogICAgYzo6YgogMDogOjoKCi9bLWF6XSsvCiAgICBhei0KIDA6IGF6LQogICAgKioqIEZhaWxlcnMKIDA6IGEKICAgIGIKTm8gbWF0Y2gKCi9bYXotXSsvCiAgICB6YS0KIDA6IHphLQogICAgKioqIEZhaWxlcnMKIDA6IGEKICAgIGIKTm8gbWF0Y2gKCi9bYVwtel0rLwogICAgYS16CiAwOiBhLXoKICAgICoqKiBGYWlsZXJzCiAwOiBhCiAgICBiCk5vIG1hdGNoCgovW2Etel0rLwogICAgYWJjZHh5egogMDogYWJjZHh5egoKL1tcZC1dKy8KICAgIDEyLTM0CiAwOiAxMi0zNAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAoKL1tcZC16XSsvCiAgICAxMi0zNHoKIDA6IDEyLTM0egogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAoKL1x4NWMvCiAgICBcXAogMDogXAoKL1x4MjBaLwogICAgdGhlIFpvbwogMDogIFoKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBadWx1Ck5vIG1hdGNoCgovKGFiYylcMS9pCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogYWJjCiAgICBBQkNhYmMKIDA6IEFCQ2FiYwogMTogQUJDCiAgICBhYmNBQkMKIDA6IGFiY0FCQwogMTogYWJjCgovYWJ7M2NkLwogICAgYWJ7M2NkCiAwOiBhYnszY2QKCi9hYnszLGNkLwogICAgYWJ7MyxjZAogMDogYWJ7MyxjZAoKL2FiezMsNGF9Y2QvCiAgICBhYnszLDRhfWNkCiAwOiBhYnszLDRhfWNkCgovezQsNWF9YmMvCiAgICB7NCw1YX1iYwogMDogezQsNWF9YmMKCi9hYmMkLwogICAgYWJjCiAwOiBhYmMKICAgIGFiY1xuCiAwOiBhYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNcbmRlZgpObyBtYXRjaAoKLyhhYmMpXDEyMy8KICAgIGFiY1x4NTMKIDA6IGFiY1MKIDE6IGFiYwoKLyhhYmMpXDIyMy8KICAgIGFiY1x4OTMKIDA6IGFiY1x4OTMKIDE6IGFiYwoKLyhhYmMpXDMyMy8KICAgIGFiY1x4ZDMKIDA6IGFiY1x4ZDMKIDE6IGFiYwoKLyhhYmMpXDEwMC8KICAgIGFiY1x4NDAKIDA6IGFiY0AKIDE6IGFiYwogICAgYWJjXDEwMAogMDogYWJjQAogMTogYWJjCgovKGFiYylcMTAwMC8KICAgIGFiY1x4NDAwCiAwOiBhYmNAMAogMTogYWJjCiAgICBhYmNceDQwXHgzMAogMDogYWJjQDAKIDE6IGFiYwogICAgYWJjXDEwMDAKIDA6IGFiY0AwCiAxOiBhYmMKICAgIGFiY1wxMDBceDMwCiAwOiBhYmNAMAogMTogYWJjCiAgICBhYmNcMTAwXDA2MAogMDogYWJjQDAKIDE6IGFiYwogICAgYWJjXDEwMFw2MAogMDogYWJjQDAKIDE6IGFiYwoKL2FiY1w4MS8KICAgIGFiY1wwODEKIDA6IGFiY1x4MDA4MQogICAgYWJjXDBceDM4XHgzMQogMDogYWJjXHgwMDgxCgovYWJjXDkxLwogICAgYWJjXDA5MQogMDogYWJjXHgwMDkxCiAgICBhYmNcMFx4MzlceDMxCiAwOiBhYmNceDAwOTEKCi8oYSkoYikoYykoZCkoZSkoZikoZykoaCkoaSkoaikoaykobClcMTJcMTIzLwogICAgYWJjZGVmZ2hpamtsbFMKIDA6IGFiY2RlZmdoaWprbGxTCiAxOiBhCiAyOiBiCiAzOiBjCiA0OiBkCiA1OiBlCiA2OiBmCiA3OiBnCiA4OiBoCiA5OiBpCjEwOiBqCjExOiBrCjEyOiBsCgovKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDEyXDEyMy8KICAgIGFiY2RlZmdoaWprXDEyUwogMDogYWJjZGVmZ2hpamtceDBhUwogMTogYQogMjogYgogMzogYwogNDogZAogNTogZQogNjogZgogNzogZwogODogaAogOTogaQoxMDogagoxMTogawoKL2FiXGlkZWYvCiAgICBhYmlkZWYKIDA6IGFiaWRlZgoKL2F7MH1iYy8KICAgIGJjCiAwOiBiYwoKLyhhfChiYykpezAsMH0/eHl6LwogICAgeHl6CiAwOiB4eXoKCi9hYmNbXDEwXWRlLwogICAgYWJjXDAxMGRlCiAwOiBhYmNceDA4ZGUKCi9hYmNbXDFdZGUvCiAgICBhYmNcMWRlCiAwOiBhYmNceDAxZGUKCi8oYWJjKVtcMV1kZS8KICAgIGFiY1wxZGUKIDA6IGFiY1x4MDFkZQogMTogYWJjCgovKD9zKWEuYi8KICAgIGFcbmIKIDA6IGFceDBhYgoKL14oW15hXSkoW15cYl0pKFteY10qKShbXmRdezMsNH0pLwogICAgYmFOT1RjY2NjZAogMDogYmFOT1RjY2NjCiAxOiBiCiAyOiBhCiAzOiBOT1QKIDQ6IGNjY2MKICAgIGJhTk9UY2NjZAogMDogYmFOT1RjY2MKIDE6IGIKIDI6IGEKIDM6IE5PVAogNDogY2NjCiAgICBiYU5PVGNjZAogMDogYmFOT1RjYwogMTogYgogMjogYQogMzogTk8KIDQ6IFRjYwogICAgYmFjY2NkCiAwOiBiYWNjYwogMTogYgogMjogYQogMzogCiA0OiBjY2MKICAgICoqKiBGYWlsZXJzCiAwOiAqKiogRmFpbGVycwogMTogKgogMjogKgogMzogKiBGYWlsCiA0OiBlcnMKICAgIGFueXRoaW5nCk5vIG1hdGNoCiAgICBiXGJjICAgCk5vIG1hdGNoCiAgICBiYWNjZApObyBtYXRjaAoKL1teYV0vCiAgICBBYmMKIDA6IEEKICAKL1teYV0vaQogICAgQWJjIAogMDogYgoKL1teYV0rLwogICAgQUFBYUFiYwogMDogQUFBCiAgCi9bXmFdKy9pCiAgICBBQUFhQWJjIAogMDogYmMKCi9bXmFdKy8KICAgIGJiYlxuY2NjCiAwOiBiYmJceDBhY2NjCiAgIAovW15rXSQvCiAgICBhYmMKIDA6IGMKICAgICoqKiBGYWlsZXJzCiAwOiBzCiAgICBhYmsgICAKTm8gbWF0Y2gKICAgCi9bXmtdezIsM30kLwogICAgYWJjCiAwOiBhYmMKICAgIGtiYwogMDogYmMKICAgIGthYmMgCiAwOiBhYmMKICAgICoqKiBGYWlsZXJzCiAwOiBlcnMKICAgIGFiawpObyBtYXRjaAogICAgYWtiCk5vIG1hdGNoCiAgICBha2sgCk5vIG1hdGNoCgovXlxkezgsfVxALitbXmtdJC8KICAgIDEyMzQ1Njc4XEBhLmIuYy5kCiAwOiAxMjM0NTY3OEBhLmIuYy5kCiAgICAxMjM0NTY3ODlcQHgueS56CiAwOiAxMjM0NTY3ODlAeC55LnoKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxMjM0NTY3OFxAeC55LnVrCk5vIG1hdGNoCiAgICAxMjM0NTY3XEBhLmIuYy5kICAgICAgIApObyBtYXRjaAoKLyhhKVwxezgsfS8KICAgIGFhYWFhYWFhYQogMDogYWFhYWFhYWFhCiAxOiBhCiAgICBhYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWFhCiAxOiBhCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYWFhYSAgIApObyBtYXRjaAoKL1teYV0vCiAgICBhYWFhYmNkCiAwOiBiCiAgICBhYUFhYmNkIAogMDogQQoKL1teYV0vaQogICAgYWFhYWJjZAogMDogYgogICAgYWFBYWJjZCAKIDA6IGIKCi9bXmF6XS8KICAgIGFhYWFiY2QKIDA6IGIKICAgIGFhQWFiY2QgCiAwOiBBCgovW15hel0vaQogICAgYWFhYWJjZAogMDogYgogICAgYWFBYWJjZCAKIDA6IGIKCi9cMDAwXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAwN1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIyXDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVcMDM2XDAzN1wwNDBcMDQxXDA0MlwwNDNcMDQ0XDA0NVwwNDZcMDQ3XDA1MFwwNTFcMDUyXDA1M1wwNTRcMDU1XDA1NlwwNTdcMDYwXDA2MVwwNjJcMDYzXDA2NFwwNjVcMDY2XDA2N1wwNzBcMDcxXDA3MlwwNzNcMDc0XDA3NVwwNzZcMDc3XDEwMFwxMDFcMTAyXDEwM1wxMDRcMTA1XDEwNlwxMDdcMTEwXDExMVwxMTJcMTEzXDExNFwxMTVcMTE2XDExN1wxMjBcMTIxXDEyMlwxMjNcMTI0XDEyNVwxMjZcMTI3XDEzMFwxMzFcMTMyXDEzM1wxMzRcMTM1XDEzNlwxMzdcMTQwXDE0MVwxNDJcMTQzXDE0NFwxNDVcMTQ2XDE0N1wxNTBcMTUxXDE1MlwxNTNcMTU0XDE1NVwxNTZcMTU3XDE2MFwxNjFcMTYyXDE2M1wxNjRcMTY1XDE2NlwxNjdcMTcwXDE3MVwxNzJcMTczXDE3NFwxNzVcMTc2XDE3N1wyMDBcMjAxXDIwMlwyMDNcMjA0XDIwNVwyMDZcMjA3XDIxMFwyMTFcMjEyXDIxM1wyMTRcMjE1XDIxNlwyMTdcMjIwXDIyMVwyMjJcMjIzXDIyNFwyMjVcMjI2XDIyN1wyMzBcMjMxXDIzMlwyMzNcMjM0XDIzNVwyMzZcMjM3XDI0MFwyNDFcMjQyXDI0M1wyNDRcMjQ1XDI0NlwyNDdcMjUwXDI1MVwyNTJcMjUzXDI1NFwyNTVcMjU2XDI1N1wyNjBcMjYxXDI2MlwyNjNcMjY0XDI2NVwyNjZcMjY3XDI3MFwyNzFcMjcyXDI3M1wyNzRcMjc1XDI3NlwyNzdcMzAwXDMwMVwzMDJcMzAzXDMwNFwzMDVcMzA2XDMwN1wzMTBcMzExXDMxMlwzMTNcMzE0XDMxNVwzMTZcMzE3XDMyMFwzMjFcMzIyXDMyM1wzMjRcMzI1XDMyNlwzMjdcMzMwXDMzMVwzMzJcMzMzXDMzNFwzMzVcMzM2XDMzN1wzNDBcMzQxXDM0MlwzNDNcMzQ0XDM0NVwzNDZcMzQ3XDM1MFwzNTFcMzUyXDM1M1wzNTRcMzU1XDM1NlwzNTdcMzYwXDM2MVwzNjJcMzYzXDM2NFwzNjVcMzY2XDM2N1wzNzBcMzcxXDM3MlwzNzNcMzc0XDM3NVwzNzZcMzc3LwogXDAwMFwwMDFcMDAyXDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzdcMDQwXDA0MVwwNDJcMDQzXDA0NFwwNDVcMDQ2XDA0N1wwNTBcMDUxXDA1MlwwNTNcMDU0XDA1NVwwNTZcMDU3XDA2MFwwNjFcMDYyXDA2M1wwNjRcMDY1XDA2NlwwNjdcMDcwXDA3MVwwNzJcMDczXDA3NFwwNzVcMDc2XDA3N1wxMDBcMTAxXDEwMlwxMDNcMTA0XDEwNVwxMDZcMTA3XDExMFwxMTFcMTEyXDExM1wxMTRcMTE1XDExNlwxMTdcMTIwXDEyMVwxMjJcMTIzXDEyNFwxMjVcMTI2XDEyN1wxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1XDE0NlwxNDdcMTUwXDE1MVwxNTJcMTUzXDE1NFwxNTVcMTU2XDE1N1wxNjBcMTYxXDE2MlwxNjNcMTY0XDE2NVwxNjZcMTY3XDE3MFwxNzFcMTcyXDE3M1wxNzRcMTc1XDE3NlwxNzdcMjAwXDIwMVwyMDJcMjAzXDIwNFwyMDVcMjA2XDIwN1wyMTBcMjExXDIxMlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwyMjdcMjMwXDIzMVwyMzJcMjMzXDIzNFwyMzVcMjM2XDIzN1wyNDBcMjQxXDI0MlwyNDNcMjQ0XDI0NVwyNDZcMjQ3XDI1MFwyNTFcMjUyXDI1M1wyNTRcMjU1XDI1NlwyNTdcMjYwXDI2MVwyNjJcMjYzXDI2NFwyNjVcMjY2XDI2N1wyNzBcMjcxXDI3MlwyNzNcMjc0XDI3NVwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEwXDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2XDMxN1wzMjBcMzIxXDMyMlwzMjNcMzI0XDMyNVwzMjZcMzI3XDMzMFwzMzFcMzMyXDMzM1wzMzRcMzM1XDMzNlwzMzdcMzQwXDM0MVwzNDJcMzQzXDM0NFwzNDVcMzQ2XDM0N1wzNTBcMzUxXDM1MlwzNTNcMzU0XDM1NVwzNTZcMzU3XDM2MFwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwzNzJcMzczXDM3NFwzNzVcMzc2XDM3NwogMDogXHgwMFx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4XHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTBceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTlceDFhXHgxYlx4MWNceDFkXHgxZVx4MWYgISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9flx4N2ZceDgwXHg4MVx4ODJceDgzXHg4NFx4ODVceDg2XHg4N1x4ODhceDg5XHg4YVx4OGJceDhjXHg4ZFx4OGVceDhmXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5Zlx4YTBceGExXHhhMlx4YTNceGE0XHhhNVx4YTZceGE3XHhhOFx4YTlceGFhXHhhYlx4YWNceGFkXHhhZVx4YWZceGIwXHhiMVx4YjJceGIzXHhiNFx4YjVceGI2XHhiN1x4YjhceGI5XHhiYVx4YmJceGJjXHhiZFx4YmVceGJmXHhjMFx4YzFceGMyXHhjM1x4YzRceGM1XHhjNlx4YzdceGM4XHhjOVx4Y2FceGNiXHhjY1x4Y2RceGNlXHhjZlx4ZDBceGQxXHhkMlx4ZDNceGQ0XHhkNVx4ZDZceGQ3XHhkOFx4ZDlceGRhXHhkYlx4ZGNceGRkXHhkZVx4ZGZceGUwXHhlMVx4ZTJceGUzXHhlNFx4ZTVceGU2XHhlN1x4ZThceGU5XHhlYVx4ZWJceGVjXHhlZFx4ZWVceGVmXHhmMFx4ZjFceGYyXHhmM1x4ZjRceGY1XHhmNlx4ZjdceGY4XHhmOVx4ZmFceGZiXHhmY1x4ZmRceGZlXHhmZgoKL1BbXipdVEFJUkVbXipdezEsNn0/TEwvCiAgICB4eHh4eHh4eHh4eFBTVEFJUkVJU0xMeHh4eHh4eHh4CiAwOiBQU1RBSVJFSVNMTAoKL1BbXipdVEFJUkVbXipdezEsfT9MTC8KICAgIHh4eHh4eHh4eHh4UFNUQUlSRUlTTEx4eHh4eHh4eHgKIDA6IFBTVEFJUkVJU0xMCgovKFwuXGRcZFsxLTldPylcZCsvCiAgICAxLjIzMDAwMzkzOAogMDogLjIzMDAwMzkzOAogMTogLjIzCiAgICAxLjg3NTAwMDI4MiAgIAogMDogLjg3NTAwMDI4MgogMTogLjg3NQogICAgMS4yMzUgIAogMDogLjIzNQogMTogLjIzCiAgICAgICAgICAgICAgICAgIAovKFwuXGRcZCgoPz0wKXxcZCg/PVxkKSkpLwogICAgMS4yMzAwMDM5MzggICAgICAKIDA6IC4yMwogMTogLjIzCiAyOiAKICAgIDEuODc1MDAwMjgyCiAwOiAuODc1CiAxOiAuODc1CiAyOiA1CiAgICAqKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIDEuMjM1IApObyBtYXRjaAogICAgCi9hKD8pYi8KICAgIGFiIAogMDogYWIKIAovXGIoZm9vKVxzKyhcdyspL2kKICAgIEZvb2QgaXMgb24gdGhlIGZvbyB0YWJsZQogMDogZm9vIHRhYmxlCiAxOiBmb28KIDI6IHRhYmxlCiAgICAKL2ZvbyguKiliYXIvCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgogMDogZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXIKIDE6IGQgaXMgdW5kZXIgdGhlIGJhciBpbiB0aGUgCiAgICAKL2ZvbyguKj8pYmFyLyAgCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgogMDogZm9vZCBpcyB1bmRlciB0aGUgYmFyCiAxOiBkIGlzIHVuZGVyIHRoZSAKCi8oLiopKFxkKikvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAyOiAKICAgIAovKC4qKShcZCspLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDA6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAxOiBJIGhhdmUgMiBudW1iZXJzOiA1MzE0CiAyOiA3CiAKLyguKj8pKFxkKikvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogCiAxOiAKIDI6IAoKLyguKj8pKFxkKykvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIKIDE6IEkgaGF2ZSAKIDI6IDIKCi8oLiopKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDA6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAxOiBJIGhhdmUgMiBudW1iZXJzOiA1MzE0CiAyOiA3CgovKC4qPykoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi8oLiopXGIoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi8oLipcRCkoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi9eXEQqKD8hMTIzKS8KICAgIEFCQzEyMwogMDogQUIKICAgICAKL14oXEQqKSg/PVxkKSg/ITEyMykvCiAgICBBQkM0NDUKIDA6IEFCQwogMTogQUJDCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQUJDMTIzCk5vIG1hdGNoCiAgICAKL15bVy1dNDZdLwogICAgVzQ2XTc4OSAKIDA6IFc0Nl0KICAgIC00Nl03ODkKIDA6IC00Nl0KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBXYWxsCk5vIG1hdGNoCiAgICBaZWJyYQpObyBtYXRjaAogICAgNDIKTm8gbWF0Y2gKICAgIFthYmNkXSAKTm8gbWF0Y2gKICAgIF1hYmNkWwpObyBtYXRjaAogICAgICAgCi9eW1ctXF00Nl0vCiAgICBXNDZdNzg5IAogMDogVwogICAgV2FsbAogMDogVwogICAgWmVicmEKIDA6IFoKICAgIFh5bG9waG9uZSAgCiAwOiBYCiAgICA0MgogMDogNAogICAgW2FiY2RdIAogMDogWwogICAgXWFiY2RbCiAwOiBdCiAgICBcXGJhY2tzbGFzaCAKIDA6IFwKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAtNDZdNzg5Ck5vIG1hdGNoCiAgICB3ZWxsCk5vIG1hdGNoCiAgICAKL1xkXGRcL1xkXGRcL1xkXGRcZFxkLwogICAgMDEvMDEvMjAwMAogMDogMDEvMDEvMjAwMAoKL3dvcmQgKD86W2EtekEtWjAtOV0rICl7MCwxMH1vdGhlcndvcmQvCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayBvdGhlcndvcmQKIDA6IHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyawpObyBtYXRjaAoKL3dvcmQgKD86W2EtekEtWjAtOV0rICl7MCwzMDB9b3RoZXJ3b3JkLwogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKTm8gbWF0Y2gKCi9eKGEpezAsMH0vCiAgICBiY2QKIDA6IAogICAgYWJjCiAwOiAKICAgIGFhYiAgICAgCiAwOiAKCi9eKGEpezAsMX0vCiAgICBiY2QKIDA6IAogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIgIAogMDogYQogMTogYQoKL14oYSl7MCwyfS8KICAgIGJjZAogMDogCiAgICBhYmMKIDA6IGEKIDE6IGEKICAgIGFhYiAgCiAwOiBhYQogMTogYQoKL14oYSl7MCwzfS8KICAgIGJjZAogMDogCiAgICBhYmMKIDA6IGEKIDE6IGEKICAgIGFhYgogMDogYWEKIDE6IGEKICAgIGFhYSAgIAogMDogYWFhCiAxOiBhCgovXihhKXswLH0vCiAgICBiY2QKIDA6IAogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIKIDA6IGFhCiAxOiBhCiAgICBhYWEKIDA6IGFhYQogMTogYQogICAgYWFhYWFhYWEgICAgCiAwOiBhYWFhYWFhYQogMTogYQoKL14oYSl7MSwxfS8KICAgIGJjZApObyBtYXRjaAogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIgIAogMDogYQogMTogYQoKL14oYSl7MSwyfS8KICAgIGJjZApObyBtYXRjaAogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIgIAogMDogYWEKIDE6IGEKCi9eKGEpezEsM30vCiAgICBiY2QKTm8gbWF0Y2gKICAgIGFiYwogMDogYQogMTogYQogICAgYWFiCiAwOiBhYQogMTogYQogICAgYWFhICAgCiAwOiBhYWEKIDE6IGEKCi9eKGEpezEsfS8KICAgIGJjZApObyBtYXRjaAogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIKIDA6IGFhCiAxOiBhCiAgICBhYWEKIDA6IGFhYQogMTogYQogICAgYWFhYWFhYWEgICAgCiAwOiBhYWFhYWFhYQogMTogYQoKLy4qXC5naWYvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAwOiBiaWIuZ2lmCgovLnswLH1cLmdpZi8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJpYi5naWYKCi8uKlwuZ2lmL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJpYi5naWYKCi8uKlwuZ2lmL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmCgovLipcLmdpZi9tcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogYm9yZmxlXHgwYWJpYi5naWYKICAgIAovLiokLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogbm8KCi8uKiQvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogYm9yZmxlCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmXHgwYW5vCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAwOiBib3JmbGVceDBhYmliLmdpZlx4MGFubwogICAgCi8uKiQvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KIDA6IG5vCgovLiokL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgogMDogYm9yZmxlCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgogMDogYm9yZmxlXHgwYWJpYi5naWZceDBhbm9ceDBhCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmXHgwYW5vXHgwYQogICAgCi8oLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAwOiAxMjM0WAogMTogMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNkZVxuQmFyICAKTm8gbWF0Y2gKCi8oLipYfF5CKS9tCiAgICBhYmNkZVxuMTIzNFh5egogMDogMTIzNFgKIDE6IDEyMzRYCiAgICBCYXJGb28gCiAwOiBCCiAxOiBCCiAgICBhYmNkZVxuQmFyICAKIDA6IEIKIDE6IEIKCi8oLipYfF5CKS9zCiAgICBhYmNkZVxuMTIzNFh5egogMDogYWJjZGVceDBhMTIzNFgKIDE6IGFiY2RlXHgwYTEyMzRYCiAgICBCYXJGb28gCiAwOiBCCiAxOiBCCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovKC4qWHxeQikvbXMKICAgIGFiY2RlXG4xMjM0WHl6CiAwOiBhYmNkZVx4MGExMjM0WAogMTogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKICAgIGFiY2RlXG5CYXIgIAogMDogQgogMTogQgoKLyg/cykoLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAwOiBhYmNkZVx4MGExMjM0WAogMTogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKICAgICoqKiBGYWlsZXJzIApObyBtYXRjaAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovKD9zOi4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogMDogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKICAgICoqKiBGYWlsZXJzIApObyBtYXRjaAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovXi4qQi8KICAgICoqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjXG5CCk5vIG1hdGNoCiAgICAgCi8oP3MpXi4qQi8KICAgIGFiY1xuQgogMDogYWJjXHgwYUIKCi8oP20pXi4qQi8KICAgIGFiY1xuQgogMDogQgogICAgIAovKD9tcyleLipCLwogICAgYWJjXG5CCiAwOiBhYmNceDBhQgoKLyg/bXMpXkIvCiAgICBhYmNcbkIKIDA6IEIKCi8oP3MpQiQvCiAgICBCXG4KIDA6IEIKCi9eWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldLwogICAgMTIzNDU2NjU0MzIxCiAwOiAxMjM0NTY2NTQzMjEKICAKL15cZFxkXGRcZFxkXGRcZFxkXGRcZFxkXGQvCiAgICAxMjM0NTY2NTQzMjEgCiAwOiAxMjM0NTY2NTQzMjEKCi9eW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdLwogICAgMTIzNDU2NjU0MzIxCiAwOiAxMjM0NTY2NTQzMjEKICAKL15bYWJjXXsxMn0vCiAgICBhYmNhYmNhYmNhYmMKIDA6IGFiY2FiY2FiY2FiYwogICAgCi9eW2EtY117MTJ9LwogICAgYWJjYWJjYWJjYWJjCiAwOiBhYmNhYmNhYmNhYmMKICAgIAovXihhfGJ8Yyl7MTJ9LwogICAgYWJjYWJjYWJjYWJjIAogMDogYWJjYWJjYWJjYWJjCiAxOiBjCgovXlthYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5MDEyMzQ1Njc4OV0vCiAgICBuCiAwOiBuCiAgICAqKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIHogCk5vIG1hdGNoCgovYWJjZGV7MCwwfS8KICAgIGFiY2QKIDA6IGFiY2QKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNlICAKTm8gbWF0Y2gKCi9hYltjZF17MCwwfWUvCiAgICBhYmUKIDA6IGFiZQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiY2RlIApObyBtYXRjaAogICAgCi9hYihjKXswLDB9ZC8KICAgIGFiZAogMDogYWJkCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjZCAgIApObyBtYXRjaAoKL2EoYiopLwogICAgYQogMDogYQogMTogCiAgICBhYgogMDogYWIKIDE6IGIKICAgIGFiYmJiCiAwOiBhYmJiYgogMTogYmJiYgogICAgKioqIEZhaWxlcnMKIDA6IGEKIDE6IAogICAgYmJiYmIgICAgCk5vIG1hdGNoCiAgICAKL2FiXGR7MH1lLwogICAgYWJlCiAwOiBhYmUKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYjFlICAgCk5vIG1hdGNoCiAgICAKLyIoW15cXCJdK3xcXC4pKiIvCiAgICB0aGUgXCJxdWlja1wiIGJyb3duIGZveAogMDogInF1aWNrIgogMTogcXVpY2sKICAgIFwidGhlIFxcXCJxdWlja1xcXCIgYnJvd24gZm94XCIgCiAwOiAidGhlIFwicXVpY2tcIiBicm93biBmb3giCiAxOiAgYnJvd24gZm94CgovLio/L2crCiAgICBhYmMKIDA6IAogMCsgYWJjCiAwOiBhCiAwKyBiYwogMDogCiAwKyBiYwogMDogYgogMCsgYwogMDogCiAwKyBjCiAwOiBjCiAwKyAKIDA6IAogMCsgCiAgCi9cYi9nKwogICAgYWJjIAogMDogCiAwKyBhYmMKIDA6IAogMCsgCgovXGIvK2cKICAgIGFiYyAKIDA6IAogMCsgYWJjCiAwOiAKIDArIAoKLy9nCiAgICBhYmMKIDA6IAogMDogCiAwOiAKIDA6IAoKLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogIDxUUiBCR0NPTE9SPScjREJFOUU5Jz48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPjQzLjxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpPC9hPjwvVEQ+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD5MZWdhIGxzdGFmZi5jb208L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+Q0EgLSBTdGF0ZXdpZGU8L1REPjwvVFI+CiAwOiA8VFIgQkdDT0xPUj0nI0RCRTlFOSc+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD40My48YSBocmVmPSdqb2JsaXN0LmNmbT9Kb2JJRD05NCA2NzM1JktleXdvcmQ9Jz5Xb3JkIFByb2Nlc3NvcjxCUj4oTi0xMjg2KTwvYT48L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+TGVnYSBsc3RhZmYuY29tPC9URD48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPkNBIC0gU3RhdGV3aWRlPC9URD48L1RSPgogMTogIEJHQ09MT1I9JyNEQkU5RTknCiAyOiAgYWxpZ249bGVmdCB2YWxpZ249dG9wCiAzOiA0My4KIDQ6IDxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpCiA1OiAKIDY6IAogNzogPHVuc2V0PgogODogIGFsaWduPWxlZnQgdmFsaWduPXRvcAogOTogTGVnYSBsc3RhZmYuY29tCjEwOiAgYWxpZ249bGVmdCB2YWxpZ249dG9wCjExOiBDQSAtIFN0YXRld2lkZQoKL2FbXmFdYi8KICAgIGFjYgogMDogYWNiCiAgICBhXG5iCiAwOiBhXHgwYWIKICAgIAovYS5iLwogICAgYWNiCiAwOiBhY2IKICAgICoqKiBGYWlsZXJzIApObyBtYXRjaAogICAgYVxuYiAgIApObyBtYXRjaAogICAgCi9hW15hXWIvcwogICAgYWNiCiAwOiBhY2IKICAgIGFcbmIgIAogMDogYVx4MGFiCiAgICAKL2EuYi9zCiAgICBhY2IKIDA6IGFjYgogICAgYVxuYiAgCiAwOiBhXHgwYWIKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYWMKIDA6IGJhYwogMTogYQogICAgYmJhYwogMDogYmJhYwogMTogYQogICAgYmJiYWMKIDA6IGJiYmFjCiAxOiBhCiAgICBiYmJiYWMKIDA6IGJiYmJhYwogMTogYQogICAgYmJiYmJhYyAKIDA6IGJiYmJiYWMKIDE6IGEKCi9eKGIrfGEpezEsMn0/Yy8KICAgIGJhYwogMDogYmFjCiAxOiBhCiAgICBiYmFjCiAwOiBiYmFjCiAxOiBhCiAgICBiYmJhYwogMDogYmJiYWMKIDE6IGEKICAgIGJiYmJhYwogMDogYmJiYmFjCiAxOiBhCiAgICBiYmJiYmFjIAogMDogYmJiYmJhYwogMTogYQogICAgCi8oPyFcQSl4L20KICAgIHhcbmJcbgpObyBtYXRjaAogICAgYVxieFxuICAKIDA6IHgKICAgIAovXHgwe2FifS8KICAgIFwwe2FifSAKIDA6IFx4MDB7YWJ9CgovKEF8QikqP0NELwogICAgQ0QgCiAwOiBDRAogICAgCi8oQXxCKSpDRC8KICAgIENEIAogMDogQ0QKCi8oQUIpKj9cMS8KICAgIEFCQUJBQgogMDogQUJBQgogMTogQUIKCi8oQUIpKlwxLwogICAgQUJBQkFCCiAwOiBBQkFCQUIKIDE6IEFCCiAgICAKLyg/PCFiYXIpZm9vLwogICAgZm9vCiAwOiBmb28KICAgIGNhdGZvb2QKIDA6IGZvbwogICAgYXJmb290bGUKIDA6IGZvbwogICAgcmZvb3NoCiAwOiBmb28KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBiYXJmb28KTm8gbWF0Y2gKICAgIHRvd2JhcmZvbwpObyBtYXRjaAoKL1x3ezN9KD88IWJhcilmb28vCiAgICBjYXRmb29kCiAwOiBjYXRmb28KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBmb28KTm8gbWF0Y2gKICAgIGJhcmZvbwpObyBtYXRjaAogICAgdG93YmFyZm9vCk5vIG1hdGNoCgovKD88PShmb28pYSliYXIvCiAgICBmb29hYmFyCiAwOiBiYXIKIDE6IGZvbwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJhcgpObyBtYXRjaAogICAgZm9vYmJhcgpObyBtYXRjaAogICAgICAKL1xBYWJjXHovbQogICAgYWJjCiAwOiBhYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNcbiAgIApObyBtYXRjaAogICAgcXFxXG5hYmMKTm8gbWF0Y2gKICAgIGFiY1xuenp6Ck5vIG1hdGNoCiAgICBxcXFcbmFiY1xuenp6Ck5vIG1hdGNoCgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2l0L3lvdS9zZWUvCk5vIG1hdGNoCgoiKD8+LiovKWZvbyIKICAgIC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2FuZC9mb28KIDA6IC90aGlzL2lzL2EvdmVyeS9sb25nL2xpbmUvaW4vZGVlZC93aXRoL3ZlcnkvbWFueS9zbGFzaGVzL2luL2FuZC9mb28KCi8oPz4oXC5cZFxkWzEtOV0/KSlcZCsvCiAgICAxLjIzMDAwMzkzOAogMDogLjIzMDAwMzkzOAogMTogLjIzCiAgICAxLjg3NTAwMDI4MgogMDogLjg3NTAwMDI4MgogMTogLjg3NQogICAgKioqIEZhaWxlcnMgCk5vIG1hdGNoCiAgICAxLjIzNSAKTm8gbWF0Y2gKCi9eKCg/Plx3Kyl8KD8+XHMrKSkqJC8KICAgIG5vdyBpcyB0aGUgdGltZSBmb3IgYWxsIGdvb2QgbWVuIHRvIGNvbWUgdG8gdGhlIGFpZCBvZiB0aGUgcGFydHkKIDA6IG5vdyBpcyB0aGUgdGltZSBmb3IgYWxsIGdvb2QgbWVuIHRvIGNvbWUgdG8gdGhlIGFpZCBvZiB0aGUgcGFydHkKIDE6IHBhcnR5CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgdGhpcyBpcyBub3QgYSBsaW5lIHdpdGggb25seSB3b3JkcyBhbmQgc3BhY2VzIQpObyBtYXRjaAogICAgCi8oXGQrKShcdykvCiAgICAxMjM0NWEKIDA6IDEyMzQ1YQogMTogMTIzNDUKIDI6IGEKICAgIDEyMzQ1KyAKIDA6IDEyMzQ1CiAxOiAxMjM0CiAyOiA1CgovKCg/PlxkKykpKFx3KS8KICAgIDEyMzQ1YQogMDogMTIzNDVhCiAxOiAxMjM0NQogMjogYQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIDEyMzQ1KyAKTm8gbWF0Y2gKCi8oPz5hKyliLwogICAgYWFhYgogMDogYWFhYgoKLygoPz5hKyliKS8KICAgIGFhYWIKIDA6IGFhYWIKIDE6IGFhYWIKCi8oPz4oYSspKWIvCiAgICBhYWFiCiAwOiBhYWFiCiAxOiBhYWEKCi8oPz5iKSsvCiAgICBhYWFiYmJjY2MKIDA6IGJiYgoKLyg/PmErfGIrfGMrKSpjLwogICAgYWFhYmJiYmNjY2NkCiAwOiBhYWFiYmJiYwoKLygoPz5bXigpXSspfFwoW14oKV0qXCkpKy8KICAgICgoYWJjKGFkZSl1ZmgoKSgpeAogMDogYWJjKGFkZSl1ZmgoKSgpeAogMTogeAogICAgCi9cKCgoPz5bXigpXSspfFwoW14oKV0rXCkpK1wpLyAKICAgIChhYmMpCiAwOiAoYWJjKQogMTogYWJjCiAgICAoYWJjKGRlZil4eXopCiAwOiAoYWJjKGRlZil4eXopCiAxOiB4eXoKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAoKCgpYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEgICAKTm8gbWF0Y2gKCi9hKD8taSliL2kKICAgIGFiCiAwOiBhYgogICAgQWIKIDA6IEFiCiAgICAqKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIGFCCk5vIG1hdGNoCiAgICBBQgpObyBtYXRjaAogICAgICAgIAovKGEgKD94KWIgYylkIGUvCiAgICBhIGJjZCBlCiAwOiBhIGJjZCBlCiAxOiBhIGJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYSBiIGNkIGUKTm8gbWF0Y2gKICAgIGFiY2QgZSAgIApObyBtYXRjaAogICAgYSBiY2RlIApObyBtYXRjaAogCi8oYSBiKD94KWMgZCAoPy14KWUgZikvCiAgICBhIGJjZGUgZgogMDogYSBiY2RlIGYKIDE6IGEgYmNkZSBmCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjZGVmICAKTm8gbWF0Y2gKCi8oYSg/aSliKWMvCiAgICBhYmMKIDA6IGFiYwogMTogYWIKICAgIGFCYwogMDogYUJjCiAxOiBhQgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiQwpObyBtYXRjaAogICAgYUJDICAKTm8gbWF0Y2gKICAgIEFiYwpObyBtYXRjaAogICAgQUJjCk5vIG1hdGNoCiAgICBBQkMKTm8gbWF0Y2gKICAgIEFiQwpObyBtYXRjaAogICAgCi9hKD9pOmIpYy8KICAgIGFiYwogMDogYWJjCiAgICBhQmMKIDA6IGFCYwogICAgKioqIEZhaWxlcnMgCk5vIG1hdGNoCiAgICBBQkMKTm8gbWF0Y2gKICAgIGFiQwpObyBtYXRjaAogICAgYUJDCk5vIG1hdGNoCiAgICAKL2EoP2k6YikqYy8KICAgIGFCYwogMDogYUJjCiAgICBhQkJjCiAwOiBhQkJjCiAgICAqKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIGFCQwpObyBtYXRjaAogICAgYUJCQwpObyBtYXRjaAogICAgCi9hKD89Yig/aSljKVx3XHdkLwogICAgYWJjZAogMDogYWJjZAogICAgYWJDZAogMDogYWJDZAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFCQ2QKTm8gbWF0Y2gKICAgIGFiY0QgICAgIApObyBtYXRjaAogICAgCi8oP3MtaTptb3JlLip0aGFuKS4qbWlsbGlvbi9pCiAgICBtb3JlIHRoYW4gbWlsbGlvbgogMDogbW9yZSB0aGFuIG1pbGxpb24KICAgIG1vcmUgdGhhbiBNSUxMSU9OCiAwOiBtb3JlIHRoYW4gTUlMTElPTgogICAgbW9yZSBcbiB0aGFuIE1pbGxpb24gCiAwOiBtb3JlIFx4MGEgdGhhbiBNaWxsaW9uCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgTU9SRSBUSEFOIE1JTExJT04gICAgCk5vIG1hdGNoCiAgICBtb3JlIFxuIHRoYW4gXG4gbWlsbGlvbiAKTm8gbWF0Y2gKCi8oPzooP3MtaSltb3JlLip0aGFuKS4qbWlsbGlvbi9pCiAgICBtb3JlIHRoYW4gbWlsbGlvbgogMDogbW9yZSB0aGFuIG1pbGxpb24KICAgIG1vcmUgdGhhbiBNSUxMSU9OCiAwOiBtb3JlIHRoYW4gTUlMTElPTgogICAgbW9yZSBcbiB0aGFuIE1pbGxpb24gCiAwOiBtb3JlIFx4MGEgdGhhbiBNaWxsaW9uCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgTU9SRSBUSEFOIE1JTExJT04gICAgCk5vIG1hdGNoCiAgICBtb3JlIFxuIHRoYW4gXG4gbWlsbGlvbiAKTm8gbWF0Y2gKICAgIAovKD8+YSg/aSliKykrYy8gCiAgICBhYmMKIDA6IGFiYwogICAgYUJiYwogMDogYUJiYwogICAgYUJCYyAKIDA6IGFCQmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBYmMKTm8gbWF0Y2gKICAgIGFiQWIgICAgCk5vIG1hdGNoCiAgICBhYmJDIApObyBtYXRjaAogICAgCi8oPz1hKD9pKWIpXHdcd2MvCiAgICBhYmMKIDA6IGFiYwogICAgYUJjCiAwOiBhQmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBYiAKTm8gbWF0Y2gKICAgIGFiQwpObyBtYXRjaAogICAgYUJDICAgICAKTm8gbWF0Y2gKICAgIAovKD88PWEoP2kpYikoXHdcdyljLwogICAgYWJ4eGMKIDA6IHh4YwogMTogeHgKICAgIGFCeHhjCiAwOiB4eGMKIDE6IHh4CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQWJ4eGMKTm8gbWF0Y2gKICAgIEFCeHhjCk5vIG1hdGNoCiAgICBhYnh4QyAgICAgIApObyBtYXRjaAoKLyg/OihhKXxiKSg/KDEpQXxCKS8KICAgIGFBCiAwOiBhQQogMTogYQogICAgYkIKIDA6IGJCCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYUIKTm8gbWF0Y2gKICAgIGJBICAgIApObyBtYXRjaAoKL14oYSk/KD8oMSlhfGIpKyQvCiAgICBhYQogMDogYWEKIDE6IGEKICAgIGIKIDA6IGIKICAgIGJiICAKIDA6IGJiCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWIgICAKTm8gbWF0Y2gKCi9eKD8oPz1hYmMpXHd7M306fFxkXGQpJC8KICAgIGFiYzoKIDA6IGFiYzoKICAgIDEyCiAwOiAxMgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIDEyMwpObyBtYXRjaAogICAgeHl6ICAgIApObyBtYXRjaAoKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOgogMDogYWJjOgogICAgMTIKIDA6IDEyCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzCk5vIG1hdGNoCiAgICB4eXogICAgCk5vIG1hdGNoCiAgICAKLyg/KD88PWZvbyliYXJ8Y2F0KS8KICAgIGZvb2JhcgogMDogYmFyCiAgICBjYXQKIDA6IGNhdAogICAgZmNhdAogMDogY2F0CiAgICBmb2NhdCAgIAogMDogY2F0CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgZm9vY2F0ICAKTm8gbWF0Y2gKCi8oPyg/PCFmb28pY2F0fGJhcikvCiAgICBmb29iYXIKIDA6IGJhcgogICAgY2F0CiAwOiBjYXQKICAgIGZjYXQKIDA6IGNhdAogICAgZm9jYXQgICAKIDA6IGNhdAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGZvb2NhdCAgCk5vIG1hdGNoCgovKCBcKCApPyBbXigpXSsgKD8oMSkgXCkgfCkgL3gKICAgIGFiY2QKIDA6IGFiY2QKICAgIChhYmNkKQogMDogKGFiY2QpCiAxOiAoCiAgICB0aGUgcXVpY2sgKGFiY2QpIGZveAogMDogdGhlIHF1aWNrIAogICAgKGFiY2QgICAKIDA6IGFiY2QKCi8oIFwoICk/IFteKCldKyAoPygxKSBcKSApIC94CiAgICBhYmNkCiAwOiBhYmNkCiAgICAoYWJjZCkKIDA6IChhYmNkKQogMTogKAogICAgdGhlIHF1aWNrIChhYmNkKSBmb3gKIDA6IHRoZSBxdWljayAKICAgIChhYmNkICAgCiAwOiBhYmNkCgovXig/KDIpYXwoMSkoMikpKyQvCiAgICAxMgogMDogMTIKIDE6IDEKIDI6IDIKICAgIDEyYQogMDogMTJhCiAxOiAxCiAyOiAyCiAgICAxMmFhCiAwOiAxMmFhCiAxOiAxCiAyOiAyCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzNCAgICAKTm8gbWF0Y2gKCi8oKD9pKWJsYWgpXHMrXDEvCiAgICBibGFoIGJsYWgKIDA6IGJsYWggYmxhaAogMTogYmxhaAogICAgQkxBSCBCTEFICiAwOiBCTEFIIEJMQUgKIDE6IEJMQUgKICAgIEJsYWggQmxhaAogMDogQmxhaCBCbGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYUgKIDA6IGJsYUggYmxhSAogMTogYmxhSAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJsYWggQkxBSApObyBtYXRjaAogICAgQmxhaCBibGFoICAgICAgCk5vIG1hdGNoCiAgICBibGFIIGJsYWggCk5vIG1hdGNoCgovKCg/aSlibGFoKVxzKyg/aTpcMSkvCiAgICBibGFoIGJsYWgKIDA6IGJsYWggYmxhaAogMTogYmxhaAogICAgQkxBSCBCTEFICiAwOiBCTEFIIEJMQUgKIDE6IEJMQUgKICAgIEJsYWggQmxhaAogMDogQmxhaCBCbGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYUgKIDA6IGJsYUggYmxhSAogMTogYmxhSAogICAgYmxhaCBCTEFICiAwOiBibGFoIEJMQUgKIDE6IGJsYWgKICAgIEJsYWggYmxhaCAgICAgIAogMDogQmxhaCBibGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYWggCiAwOiBibGFIIGJsYWgKIDE6IGJsYUgKCi8oPz5hKikqLwogICAgYQogMDogYQogICAgYWEKIDA6IGFhCiAgICBhYWFhCiAwOiBhYWFhCiAgICAKLyhhYmN8KSsvCiAgICBhYmMKIDA6IGFiYwogMTogCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogCiAgICBhYmNhYmNhYmMKIDA6IGFiY2FiY2FiYwogMTogCiAgICB4eXogICAgICAKIDA6IAogMTogCgovKFthXSopKi8KICAgIGEKIDA6IGEKIDE6IAogICAgYWFhYWEgCiAwOiBhYWFhYQogMTogCiAKLyhbYWJdKikqLwogICAgYQogMDogYQogMTogCiAgICBiCiAwOiBiCiAxOiAKICAgIGFiYWJhYgogMDogYWJhYmFiCiAxOiAKICAgIGFhYWFiY2RlCiAwOiBhYWFhYgogMTogCiAgICBiYmJiICAgIAogMDogYmJiYgogMTogCiAKLyhbXmFdKikqLwogICAgYgogMDogYgogMTogCiAgICBiYmJiCiAwOiBiYmJiCiAxOiAKICAgIGFhYSAgIAogMDogCiAxOiAKIAovKFteYWJdKikqLwogICAgY2NjYwogMDogY2NjYwogMTogCiAgICBhYmFiICAKIDA6IAogMTogCiAKLyhbYV0qPykqLwogICAgYQogMDogCiAxOiAKICAgIGFhYWEgCiAwOiAKIDE6IAogCi8oW2FiXSo/KSovCiAgICBhCiAwOiAKIDE6IAogICAgYgogMDogCiAxOiAKICAgIGFiYWIKIDA6IAogMTogCiAgICBiYWJhICAgCiAwOiAKIDE6IAogCi8oW15hXSo/KSovCiAgICBiCiAwOiAKIDE6IAogICAgYmJiYgogMDogCiAxOiAKICAgIGFhYSAgIAogMDogCiAxOiAKIAovKFteYWJdKj8pKi8KICAgIGMKIDA6IAogMTogCiAgICBjY2NjCiAwOiAKIDE6IAogICAgYmFiYSAgIAogMDogCiAxOiAKIAovKD8+YSopKi8KICAgIGEKIDA6IGEKICAgIGFhYWJjZGUgCiAwOiBhYWEKIAovKCg/PmEqKSkqLwogICAgYWFhYWEKIDA6IGFhYWFhCiAxOiAKICAgIGFhYmJhYSAKIDA6IGFhCiAxOiAKIAovKCg/PmEqPykpKi8KICAgIGFhYWFhCiAwOiAKIDE6IAogICAgYWFiYmFhIAogMDogCiAxOiAKCi8oPyg/PVteYS16XStbYS16XSkgIFxkezJ9LVthLXpdezN9LVxkezJ9ICB8ICBcZHsyfS1cZHsyfS1cZHsyfSApIC94CiAgICAxMi1zZXAtOTgKIDA6IDEyLXNlcC05OAogICAgMTItMDktOTgKIDA6IDEyLTA5LTk4CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgc2VwLTEyLTk4Ck5vIG1hdGNoCiAgICAgICAgCi8oPzw9KGZvbykpYmFyXDEvCiAgICBmb29iYXJmb28KIDA6IGJhcmZvbwogMTogZm9vCiAgICBmb29iYXJmb290bGluZyAKIDA6IGJhcmZvbwogMTogZm9vCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgZm9vYmFyCk5vIG1hdGNoCiAgICBiYXJmb28gICAKTm8gbWF0Y2gKCi8oP2k6c2F0dXJkYXl8c3VuZGF5KS8KICAgIHNhdHVyZGF5CiAwOiBzYXR1cmRheQogICAgc3VuZGF5CiAwOiBzdW5kYXkKICAgIFNhdHVyZGF5CiAwOiBTYXR1cmRheQogICAgU3VuZGF5CiAwOiBTdW5kYXkKICAgIFNBVFVSREFZCiAwOiBTQVRVUkRBWQogICAgU1VOREFZCiAwOiBTVU5EQVkKICAgIFN1bkRheQogMDogU3VuRGF5CiAgICAKLyhhKD9pKWJjfEJCKXgvCiAgICBhYmN4CiAwOiBhYmN4CiAxOiBhYmMKICAgIGFCQ3gKIDA6IGFCQ3gKIDE6IGFCQwogICAgYmJ4CiAwOiBiYngKIDE6IGJiCiAgICBCQngKIDA6IEJCeAogMTogQkIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNYCk5vIG1hdGNoCiAgICBhQkNYCk5vIG1hdGNoCiAgICBiYlgKTm8gbWF0Y2gKICAgIEJCWCAgICAgICAgICAgICAgIApObyBtYXRjaAoKL14oW2FiXSg/aSlbY2RdfFtlZl0pLwogICAgYWMKIDA6IGFjCiAxOiBhYwogICAgYUMKIDA6IGFDCiAxOiBhQwogICAgYkQKIDA6IGJECiAxOiBiRAogICAgZWxlcGhhbnQKIDA6IGUKIDE6IGUKICAgIEV1cm9wZSAKIDA6IEUKIDE6IEUKICAgIGZyb2cKIDA6IGYKIDE6IGYKICAgIEZyYW5jZQogMDogRgogMTogRgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFmcmljYSAgICAgCk5vIG1hdGNoCgovXihhYnxhKD9pKVtiLWNdKD9tLWkpZHx4KD9pKXl8eikvCiAgICBhYgogMDogYWIKIDE6IGFiCiAgICBhQmQKIDA6IGFCZAogMTogYUJkCiAgICB4eQogMDogeHkKIDE6IHh5CiAgICB4WQogMDogeFkKIDE6IHhZCiAgICB6ZWJyYQogMDogegogMTogegogICAgWmFtYmVzaQogMDogWgogMTogWgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFDRCAgCk5vIG1hdGNoCiAgICBYWSAgCk5vIG1hdGNoCgovKD88PWZvb1xuKV5iYXIvbQogICAgZm9vXG5iYXIKIDA6IGJhcgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJhcgpObyBtYXRjaAogICAgYmF6XG5iYXIgICAKTm8gbWF0Y2gKCi8oPzw9KD88IWZvbyliYXIpYmF6LwogICAgYmFyYmF6CiAwOiBiYXoKICAgIGJhcmJhcmJheiAKIDA6IGJhegogICAga29vYmFyYmF6IAogMDogYmF6CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYmF6Ck5vIG1hdGNoCiAgICBmb29iYXJiYXogCk5vIG1hdGNoCgovVGhlIGNhc2VzIG9mIGFhYWEgYW5kIGFhYWFhYSBhcmUgbWlzc2VkIG91dCBiZWxvdyBiZWNhdXNlIFBlcmwgZG9lcyB0aGluZ3MvCi9kaWZmZXJlbnRseS4gV2Uga25vdyB0aGF0IG9kZCwgYW5kIG1heWJlIGluY29ycmVjdCwgdGhpbmdzIGhhcHBlbiB3aXRoLwpObyBtYXRjaAovcmVjdXJzaXZlIHJlZmVyZW5jZXMgaW4gUGVybCwgYXMgZmFyIGFzIDUuMTEuMyAtIHNlZSBzb21lIHN0dWZmIGluIHRlc3QgIzIuLwpObyBtYXRjaAoKL14oYVwxPyl7NH0kLwogICAgYQpObyBtYXRjaAogICAgYWEKTm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAogICAgYWFhYWEKIDA6IGFhYWFhCiAxOiBhCiAgICBhYWFhYWFhCiAwOiBhYWFhYWFhCiAxOiBhCiAgICBhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWFhCiAxOiBhYWFhCiAgICBhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYWFhICAgICAgICAgICAgICAgCk5vIG1hdGNoCgovXihhXDE/KShhXDE/KShhXDI/KShhXDM/KSQvCiAgICBhCk5vIG1hdGNoCiAgICBhYQpObyBtYXRjaAogICAgYWFhCk5vIG1hdGNoCiAgICBhYWFhCiAwOiBhYWFhCiAxOiBhCiAyOiBhCiAzOiBhCiA0OiBhCiAgICBhYWFhYQogMDogYWFhYWEKIDE6IGEKIDI6IGFhCiAzOiBhCiA0OiBhCiAgICBhYWFhYWEKIDA6IGFhYWFhYQogMTogYQogMjogYWEKIDM6IGEKIDQ6IGFhCiAgICBhYWFhYWFhCiAwOiBhYWFhYWFhCiAxOiBhCiAyOiBhYQogMzogYWFhCiA0OiBhCiAgICBhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWFhCiAxOiBhCiAyOiBhYQogMzogYWFhCiA0OiBhYWFhCiAgICBhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYWFhICAgICAgICAgICAgICAgCk5vIG1hdGNoCgovVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgdGFrZW4gZnJvbSB0aGUgUGVybCA1LjAwNSB0ZXN0IHN1aXRlOyBzb21lIG9mIHRoZW0vCi9hcmUgY29tcGF0aWJsZSB3aXRoIDUuMDA0LCBidXQgSSdkIHJhdGhlciBub3QgaGF2ZSB0byBzb3J0IHRoZW0gb3V0Li8KTm8gbWF0Y2gKCi9hYmMvCiAgICBhYmMKIDA6IGFiYwogICAgeGFiY3kKIDA6IGFiYwogICAgYWJhYmMKIDA6IGFiYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHhiYwpObyBtYXRjaAogICAgYXhjCk5vIG1hdGNoCiAgICBhYngKTm8gbWF0Y2gKCi9hYipjLwogICAgYWJjCiAwOiBhYmMKCi9hYipiYy8KICAgIGFiYwogMDogYWJjCiAgICBhYmJjCiAwOiBhYmJjCiAgICBhYmJiYmMKIDA6IGFiYmJiYwoKLy57MX0vCiAgICBhYmJiYmMKIDA6IGEKCi8uezMsNH0vCiAgICBhYmJiYmMKIDA6IGFiYmIKCi9hYnswLH1iYy8KICAgIGFiYmJiYwogMDogYWJiYmJjCgovYWIrYmMvCiAgICBhYmJjCiAwOiBhYmJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCiAgICBhYnEKTm8gbWF0Y2gKCi9hYnsxLH1iYy8KCi9hYitiYy8KICAgIGFiYmJiYwogMDogYWJiYmJjCgovYWJ7MSx9YmMvCiAgICBhYmJiYmMKIDA6IGFiYmJiYwoKL2FiezEsM31iYy8KICAgIGFiYmJiYwogMDogYWJiYmJjCgovYWJ7Myw0fWJjLwogICAgYWJiYmJjCiAwOiBhYmJiYmMKCi9hYns0LDV9YmMvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJxCk5vIG1hdGNoCiAgICBhYmJiYmMKTm8gbWF0Y2gKCi9hYj9iYy8KICAgIGFiYmMKIDA6IGFiYmMKICAgIGFiYwogMDogYWJjCgovYWJ7MCwxfWJjLwogICAgYWJjCiAwOiBhYmMKCi9hYj9iYy8KCi9hYj9jLwogICAgYWJjCiAwOiBhYmMKCi9hYnswLDF9Yy8KICAgIGFiYwogMDogYWJjCgovXmFiYyQvCiAgICBhYmMKIDA6IGFiYwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiYmJiYwpObyBtYXRjaAogICAgYWJjYwpObyBtYXRjaAoKL15hYmMvCiAgICBhYmNjCiAwOiBhYmMKCi9eYWJjJC8KCi9hYmMkLwogICAgYWFiYwogMDogYWJjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFiYwogMDogYWJjCiAgICBhYWJjZApObyBtYXRjaAoKL14vCiAgICBhYmMKIDA6IAoKLyQvCiAgICBhYmMKIDA6IAoKL2EuYy8KICAgIGFiYwogMDogYWJjCiAgICBheGMKIDA6IGF4YwoKL2EuKmMvCiAgICBheHl6YwogMDogYXh5emMKCi9hW2JjXWQvCiAgICBhYmQKIDA6IGFiZAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGF4eXpkCk5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKCi9hW2ItZF1lLwogICAgYWNlCiAwOiBhY2UKCi9hW2ItZF0vCiAgICBhYWMKIDA6IGFjCgovYVstYl0vCiAgICBhLQogMDogYS0KCi9hW2ItXS8KICAgIGEtCiAwOiBhLQoKL2FdLwogICAgYV0KIDA6IGFdCgovYVtdXWIvCiAgICBhXWIKIDA6IGFdYgoKL2FbXmJjXWQvCiAgICBhZWQKIDA6IGFlZAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFiZApObyBtYXRjaAogICAgYWJkCk5vIG1hdGNoCgovYVteLWJdYy8KICAgIGFkYwogMDogYWRjCgovYVteXWJdYy8KICAgIGFkYwogMDogYWRjCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYS1jCiAwOiBhLWMKICAgIGFdYwpObyBtYXRjaAoKL1xiYVxiLwogICAgYS0KIDA6IGEKICAgIC1hCiAwOiBhCiAgICAtYS0KIDA6IGEKCi9cYnlcYi8KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICB4eQpObyBtYXRjaAogICAgeXoKTm8gbWF0Y2gKICAgIHh5egpObyBtYXRjaAoKL1xCYVxCLwogICAgKioqIEZhaWxlcnMKIDA6IGEKICAgIGEtCk5vIG1hdGNoCiAgICAtYQpObyBtYXRjaAogICAgLWEtCk5vIG1hdGNoCgovXEJ5XGIvCiAgICB4eQogMDogeQoKL1xieVxCLwogICAgeXoKIDA6IHkKCi9cQnlcQi8KICAgIHh5egogMDogeQoKL1x3LwogICAgYQogMDogYQoKL1xXLwogICAgLQogMDogLQogICAgKioqIEZhaWxlcnMKIDA6ICoKICAgIC0KIDA6IC0KICAgIGEKTm8gbWF0Y2gKCi9hXHNiLwogICAgYSBiCiAwOiBhIGIKCi9hXFNiLwogICAgYS1iCiAwOiBhLWIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhLWIKIDA6IGEtYgogICAgYSBiCk5vIG1hdGNoCgovXGQvCiAgICAxCiAwOiAxCgovXEQvCiAgICAtCiAwOiAtCiAgICAqKiogRmFpbGVycwogMDogKgogICAgLQogMDogLQogICAgMQpObyBtYXRjaAoKL1tcd10vCiAgICBhCiAwOiBhCgovW1xXXS8KICAgIC0KIDA6IC0KICAgICoqKiBGYWlsZXJzCiAwOiAqCiAgICAtCiAwOiAtCiAgICBhCk5vIG1hdGNoCgovYVtcc11iLwogICAgYSBiCiAwOiBhIGIKCi9hW1xTXWIvCiAgICBhLWIKIDA6IGEtYgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGEtYgogMDogYS1iCiAgICBhIGIKTm8gbWF0Y2gKCi9bXGRdLwogICAgMQogMDogMQoKL1tcRF0vCiAgICAtCiAwOiAtCiAgICAqKiogRmFpbGVycwogMDogKgogICAgLQogMDogLQogICAgMQpObyBtYXRjaAoKL2FifGNkLwogICAgYWJjCiAwOiBhYgogICAgYWJjZAogMDogYWIKCi8oKWVmLwogICAgZGVmCiAwOiBlZgogMTogCgovJGIvCgovYVwoYi8KICAgIGEoYgogMDogYShiCgovYVwoKmIvCiAgICBhYgogMDogYWIKICAgIGEoKGIKIDA6IGEoKGIKCi9hXFxiLwogICAgYVxiCk5vIG1hdGNoCgovKChhKSkvCiAgICBhYmMKIDA6IGEKIDE6IGEKIDI6IGEKCi8oYSliKGMpLwogICAgYWJjCiAwOiBhYmMKIDE6IGEKIDI6IGMKCi9hK2IrYy8KICAgIGFhYmJhYmMKIDA6IGFiYwoKL2F7MSx9YnsxLH1jLwogICAgYWFiYmFiYwogMDogYWJjCgovYS4rP2MvCiAgICBhYmNhYmMKIDA6IGFiYwoKLyhhK3xiKSovCiAgICBhYgogMDogYWIKIDE6IGIKCi8oYSt8Yil7MCx9LwogICAgYWIKIDA6IGFiCiAxOiBiCgovKGErfGIpKy8KICAgIGFiCiAwOiBhYgogMTogYgoKLyhhK3xiKXsxLH0vCiAgICBhYgogMDogYWIKIDE6IGIKCi8oYSt8Yik/LwogICAgYWIKIDA6IGEKIDE6IGEKCi8oYSt8Yil7MCwxfS8KICAgIGFiCiAwOiBhCiAxOiBhCgovW15hYl0qLwogICAgY2RlCiAwOiBjZGUKCi9hYmMvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYgpObyBtYXRjaAogICAgCgovYSovCiAgICAKCi8oW2FiY10pKmQvCiAgICBhYmJiY2QKIDA6IGFiYmJjZAogMTogYwoKLyhbYWJjXSkqYmNkLwogICAgYWJjZAogMDogYWJjZAogMTogYQoKL2F8YnxjfGR8ZS8KICAgIGUKIDA6IGUKCi8oYXxifGN8ZHxlKWYvCiAgICBlZgogMDogZWYKIDE6IGUKCi9hYmNkKmVmZy8KICAgIGFiY2RlZmcKIDA6IGFiY2RlZmcKCi9hYiovCiAgICB4YWJ5YWJiYnoKIDA6IGFiCiAgICB4YXlhYmJiegogMDogYQoKLyhhYnxjZCllLwogICAgYWJjZGUKIDA6IGNkZQogMTogY2QKCi9bYWJoZ2VmZGNdaWovCiAgICBoaWoKIDA6IGhpagoKL14oYWJ8Y2QpZS8KCi8oYWJjfCllZi8KICAgIGFiY2RlZgogMDogZWYKIDE6IAoKLyhhfGIpYypkLwogICAgYWJjZAogMDogYmNkCiAxOiBiCgovKGFifGFiKiliYy8KICAgIGFiYwogMDogYWJjCiAxOiBhCgovYShbYmNdKiljKi8KICAgIGFiYwogMDogYWJjCiAxOiBiYwoKL2EoW2JjXSopKGMqZCkvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiBiYwogMjogZAoKL2EoW2JjXSspKGMqZCkvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiBiYwogMjogZAoKL2EoW2JjXSopKGMrZCkvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiBiCiAyOiBjZAoKL2FbYmNkXSpkY2RjZGUvCiAgICBhZGNkY2RlCiAwOiBhZGNkY2RlCgovYVtiY2RdK2RjZGNkZS8KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNkZQpObyBtYXRjaAogICAgYWRjZGNkZQpObyBtYXRjaAoKLyhhYnxhKWIqYy8KICAgIGFiYwogMDogYWJjCiAxOiBhYgoKLygoYSkoYiljKShkKS8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IGFiYwogMjogYQogMzogYgogNDogZAoKL1thLXpBLVpfXVthLXpBLVowLTlfXSovCiAgICBhbHBoYQogMDogYWxwaGEKCi9eYShiYyt8YltlaF0pZ3wuaCQvCiAgICBhYmgKIDA6IGJoCgovKGJjK2QkfGVmKmcufGg/aShqfGspKS8KICAgIGVmZmd6CiAwOiBlZmZnegogMTogZWZmZ3oKICAgIGlqCiAwOiBpagogMTogaWoKIDI6IGoKICAgIHJlZmZnegogMDogZWZmZ3oKIDE6IGVmZmd6CiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgZWZmZwpObyBtYXRjaAogICAgYmNkZApObyBtYXRjaAoKLygoKCgoKCgoKChhKSkpKSkpKSkpKS8KICAgIGEKIDA6IGEKIDE6IGEKIDI6IGEKIDM6IGEKIDQ6IGEKIDU6IGEKIDY6IGEKIDc6IGEKIDg6IGEKIDk6IGEKMTA6IGEKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSlcMTAvCiAgICBhYQogMDogYWEKIDE6IGEKIDI6IGEKIDM6IGEKIDQ6IGEKIDU6IGEKIDY6IGEKIDc6IGEKIDg6IGEKIDk6IGEKMTA6IGEKCi8oKCgoKCgoKChhKSkpKSkpKSkpLwogICAgYQogMDogYQogMTogYQogMjogYQogMzogYQogNDogYQogNTogYQogNjogYQogNzogYQogODogYQogOTogYQoKL211bHRpcGxlIHdvcmRzIG9mIHRleHQvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWEKTm8gbWF0Y2gKICAgIHVoLXVoCk5vIG1hdGNoCgovbXVsdGlwbGUgd29yZHMvCiAgICBtdWx0aXBsZSB3b3JkcywgeWVhaAogMDogbXVsdGlwbGUgd29yZHMKCi8oLiopYyguKikvCiAgICBhYmNkZQogMDogYWJjZGUKIDE6IGFiCiAyOiBkZQoKL1woKC4qKSwgKC4qKVwpLwogICAgKGEsIGIpCiAwOiAoYSwgYikKIDE6IGEKIDI6IGIKCi9ba10vCgovYWJjZC8KICAgIGFiY2QKIDA6IGFiY2QKCi9hKGJjKWQvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiBiYwoKL2FbLV0/Yy8KICAgIGFjCiAwOiBhYwoKLyhhYmMpXDEvCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogYWJjCgovKFthLWNdKilcMS8KICAgIGFiY2FiYwogMDogYWJjYWJjCiAxOiBhYmMKCi8oYSl8XDEvCiAgICBhCiAwOiBhCiAxOiBhCiAgICAqKiogRmFpbGVycwogMDogYQogMTogYQogICAgYWIKIDA6IGEKIDE6IGEKICAgIHgKTm8gbWF0Y2gKCi8oKFthLWNdKWIqP1wyKSovCiAgICBhYmFiYmJjYmMKIDA6IGFiYWJiCiAxOiBiYgogMjogYgoKLygoW2EtY10pYio/XDIpezN9LwogICAgYWJhYmJiY2JjCiAwOiBhYmFiYmJjYmMKIDE6IGNiYwogMjogYwoKLygoXDN8YilcMihhKXgpKy8KICAgIGFhYXhhYmF4YmFheGJiYXgKIDA6IGJiYXgKIDE6IGJiYXgKIDI6IGIKIDM6IGEKCi8oKFwzfGIpXDIoYSkpezIsfS8KICAgIGJiYWFiYWJiYWJhYWFhYWJiYWFhYWJiYQogMDogYmJhYWFhYmJhCiAxOiBiYmEKIDI6IGIKIDM6IGEKCi9hYmMvaQogICAgQUJDCiAwOiBBQkMKICAgIFhBQkNZCiAwOiBBQkMKICAgIEFCQUJDCiAwOiBBQkMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYXhhYnhiYXhiYngKTm8gbWF0Y2gKICAgIFhCQwpObyBtYXRjaAogICAgQVhDCk5vIG1hdGNoCiAgICBBQlgKTm8gbWF0Y2gKCi9hYipjL2kKICAgIEFCQwogMDogQUJDCgovYWIqYmMvaQogICAgQUJDCiAwOiBBQkMKICAgIEFCQkMKIDA6IEFCQkMKCi9hYio/YmMvaQogICAgQUJCQkJDCiAwOiBBQkJCQkMKCi9hYnswLH0/YmMvaQogICAgQUJCQkJDCiAwOiBBQkJCQkMKCi9hYis/YmMvaQogICAgQUJCQwogMDogQUJCQwoKL2FiK2JjL2kKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBQkMKTm8gbWF0Y2gKICAgIEFCUQpObyBtYXRjaAoKL2FiezEsfWJjL2kKCi9hYitiYy9pCiAgICBBQkJCQkMKIDA6IEFCQkJCQwoKL2FiezEsfT9iYy9pCiAgICBBQkJCQkMKIDA6IEFCQkJCQwoKL2FiezEsM30/YmMvaQogICAgQUJCQkJDCiAwOiBBQkJCQkMKCi9hYnszLDR9P2JjL2kKICAgIEFCQkJCQwogMDogQUJCQkJDCgovYWJ7NCw1fT9iYy9pCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQUJRCk5vIG1hdGNoCiAgICBBQkJCQkMKTm8gbWF0Y2gKCi9hYj8/YmMvaQogICAgQUJCQwogMDogQUJCQwogICAgQUJDCiAwOiBBQkMKCi9hYnswLDF9P2JjL2kKICAgIEFCQwogMDogQUJDCgovYWI/P2JjL2kKCi9hYj8/Yy9pCiAgICBBQkMKIDA6IEFCQwoKL2FiezAsMX0/Yy9pCiAgICBBQkMKIDA6IEFCQwoKL15hYmMkL2kKICAgIEFCQwogMDogQUJDCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQUJCQkJDCk5vIG1hdGNoCiAgICBBQkNDCk5vIG1hdGNoCgovXmFiYy9pCiAgICBBQkNDCiAwOiBBQkMKCi9eYWJjJC9pCgovYWJjJC9pCiAgICBBQUJDCiAwOiBBQkMKCi9eL2kKICAgIEFCQwogMDogCgovJC9pCiAgICBBQkMKIDA6IAoKL2EuYy9pCiAgICBBQkMKIDA6IEFCQwogICAgQVhDCiAwOiBBWEMKCi9hLio/Yy9pCiAgICBBWFlaQwogMDogQVhZWkMKCi9hLipjL2kKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBQUJDCiAwOiBBQUJDCiAgICBBWFlaRApObyBtYXRjaAoKL2FbYmNdZC9pCiAgICBBQkQKIDA6IEFCRAoKL2FbYi1kXWUvaQogICAgQUNFCiAwOiBBQ0UKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBQkMKTm8gbWF0Y2gKICAgIEFCRApObyBtYXRjaAoKL2FbYi1kXS9pCiAgICBBQUMKIDA6IEFDCgovYVstYl0vaQogICAgQS0KIDA6IEEtCgovYVtiLV0vaQogICAgQS0KIDA6IEEtCgovYV0vaQogICAgQV0KIDA6IEFdCgovYVtdXWIvaQogICAgQV1CCiAwOiBBXUIKCi9hW15iY11kL2kKICAgIEFFRAogMDogQUVECgovYVteLWJdYy9pCiAgICBBREMKIDA6IEFEQwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFCRApObyBtYXRjaAogICAgQS1DCk5vIG1hdGNoCgovYVteXWJdYy9pCiAgICBBREMKIDA6IEFEQwoKL2FifGNkL2kKICAgIEFCQwogMDogQUIKICAgIEFCQ0QKIDA6IEFCCgovKCllZi9pCiAgICBERUYKIDA6IEVGCiAxOiAKCi8kYi9pCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQV1DCk5vIG1hdGNoCiAgICBCCk5vIG1hdGNoCgovYVwoYi9pCiAgICBBKEIKIDA6IEEoQgoKL2FcKCpiL2kKICAgIEFCCiAwOiBBQgogICAgQSgoQgogMDogQSgoQgoKL2FcXGIvaQogICAgQVxCCk5vIG1hdGNoCgovKChhKSkvaQogICAgQUJDCiAwOiBBCiAxOiBBCiAyOiBBCgovKGEpYihjKS9pCiAgICBBQkMKIDA6IEFCQwogMTogQQogMjogQwoKL2ErYitjL2kKICAgIEFBQkJBQkMKIDA6IEFCQwoKL2F7MSx9YnsxLH1jL2kKICAgIEFBQkJBQkMKIDA6IEFCQwoKL2EuKz9jL2kKICAgIEFCQ0FCQwogMDogQUJDCgovYS4qP2MvaQogICAgQUJDQUJDCiAwOiBBQkMKCi9hLnswLDV9P2MvaQogICAgQUJDQUJDCiAwOiBBQkMKCi8oYSt8YikqL2kKICAgIEFCCiAwOiBBQgogMTogQgoKLyhhK3xiKXswLH0vaQogICAgQUIKIDA6IEFCCiAxOiBCCgovKGErfGIpKy9pCiAgICBBQgogMDogQUIKIDE6IEIKCi8oYSt8Yil7MSx9L2kKICAgIEFCCiAwOiBBQgogMTogQgoKLyhhK3xiKT8vaQogICAgQUIKIDA6IEEKIDE6IEEKCi8oYSt8Yil7MCwxfS9pCiAgICBBQgogMDogQQogMTogQQoKLyhhK3xiKXswLDF9Py9pCiAgICBBQgogMDogCgovW15hYl0qL2kKICAgIENERQogMDogQ0RFCgovYWJjL2kKCi9hKi9pCiAgICAKCi8oW2FiY10pKmQvaQogICAgQUJCQkNECiAwOiBBQkJCQ0QKIDE6IEMKCi8oW2FiY10pKmJjZC9pCiAgICBBQkNECiAwOiBBQkNECiAxOiBBCgovYXxifGN8ZHxlL2kKICAgIEUKIDA6IEUKCi8oYXxifGN8ZHxlKWYvaQogICAgRUYKIDA6IEVGCiAxOiBFCgovYWJjZCplZmcvaQogICAgQUJDREVGRwogMDogQUJDREVGRwoKL2FiKi9pCiAgICBYQUJZQUJCQloKIDA6IEFCCiAgICBYQVlBQkJCWgogMDogQQoKLyhhYnxjZCllL2kKICAgIEFCQ0RFCiAwOiBDREUKIDE6IENECgovW2FiaGdlZmRjXWlqL2kKICAgIEhJSgogMDogSElKCgovXihhYnxjZCllL2kKICAgIEFCQ0RFCk5vIG1hdGNoCgovKGFiY3wpZWYvaQogICAgQUJDREVGCiAwOiBFRgogMTogCgovKGF8YiljKmQvaQogICAgQUJDRAogMDogQkNECiAxOiBCCgovKGFifGFiKiliYy9pCiAgICBBQkMKIDA6IEFCQwogMTogQQoKL2EoW2JjXSopYyovaQogICAgQUJDCiAwOiBBQkMKIDE6IEJDCgovYShbYmNdKikoYypkKS9pCiAgICBBQkNECiAwOiBBQkNECiAxOiBCQwogMjogRAoKL2EoW2JjXSspKGMqZCkvaQogICAgQUJDRAogMDogQUJDRAogMTogQkMKIDI6IEQKCi9hKFtiY10qKShjK2QpL2kKICAgIEFCQ0QKIDA6IEFCQ0QKIDE6IEIKIDI6IENECgovYVtiY2RdKmRjZGNkZS9pCiAgICBBRENEQ0RFCiAwOiBBRENEQ0RFCgovYVtiY2RdK2RjZGNkZS9pCgovKGFifGEpYipjL2kKICAgIEFCQwogMDogQUJDCiAxOiBBQgoKLygoYSkoYiljKShkKS9pCiAgICBBQkNECiAwOiBBQkNECiAxOiBBQkMKIDI6IEEKIDM6IEIKIDQ6IEQKCi9bYS16QS1aX11bYS16QS1aMC05X10qL2kKICAgIEFMUEhBCiAwOiBBTFBIQQoKL15hKGJjK3xiW2VoXSlnfC5oJC9pCiAgICBBQkgKIDA6IEJICgovKGJjK2QkfGVmKmcufGg/aShqfGspKS9pCiAgICBFRkZHWgogMDogRUZGR1oKIDE6IEVGRkdaCiAgICBJSgogMDogSUoKIDE6IElKCiAyOiBKCiAgICBSRUZGR1oKIDA6IEVGRkdaCiAxOiBFRkZHWgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFEQ0RDREUKTm8gbWF0Y2gKICAgIEVGRkcKTm8gbWF0Y2gKICAgIEJDREQKTm8gbWF0Y2gKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSkvaQogICAgQQogMDogQQogMTogQQogMjogQQogMzogQQogNDogQQogNTogQQogNjogQQogNzogQQogODogQQogOTogQQoxMDogQQoKLygoKCgoKCgoKChhKSkpKSkpKSkpKVwxMC9pCiAgICBBQQogMDogQUEKIDE6IEEKIDI6IEEKIDM6IEEKIDQ6IEEKIDU6IEEKIDY6IEEKIDc6IEEKIDg6IEEKIDk6IEEKMTA6IEEKCi8oKCgoKCgoKChhKSkpKSkpKSkpL2kKICAgIEEKIDA6IEEKIDE6IEEKIDI6IEEKIDM6IEEKIDQ6IEEKIDU6IEEKIDY6IEEKIDc6IEEKIDg6IEEKIDk6IEEKCi8oPzooPzooPzooPzooPzooPzooPzooPzooPzooYSkpKSkpKSkpKSkvaQogICAgQQogMDogQQogMTogQQoKLyg/Oig/Oig/Oig/Oig/Oig/Oig/Oig/Oig/OihhfGJ8YykpKSkpKSkpKSkvaQogICAgQwogMDogQwogMTogQwoKL211bHRpcGxlIHdvcmRzIG9mIHRleHQvaQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFBCk5vIG1hdGNoCiAgICBVSC1VSApObyBtYXRjaAoKL211bHRpcGxlIHdvcmRzL2kKICAgIE1VTFRJUExFIFdPUkRTLCBZRUFICiAwOiBNVUxUSVBMRSBXT1JEUwoKLyguKiljKC4qKS9pCiAgICBBQkNERQogMDogQUJDREUKIDE6IEFCCiAyOiBERQoKL1woKC4qKSwgKC4qKVwpL2kKICAgIChBLCBCKQogMDogKEEsIEIpCiAxOiBBCiAyOiBCCgovW2tdL2kKCi9hYmNkL2kKICAgIEFCQ0QKIDA6IEFCQ0QKCi9hKGJjKWQvaQogICAgQUJDRAogMDogQUJDRAogMTogQkMKCi9hWy1dP2MvaQogICAgQUMKIDA6IEFDCgovKGFiYylcMS9pCiAgICBBQkNBQkMKIDA6IEFCQ0FCQwogMTogQUJDCgovKFthLWNdKilcMS9pCiAgICBBQkNBQkMKIDA6IEFCQ0FCQwogMTogQUJDCgovYSg/IWIpLi8KICAgIGFiYWQKIDA6IGFkCgovYSg/PWQpLi8KICAgIGFiYWQKIDA6IGFkCgovYSg/PWN8ZCkuLwogICAgYWJhZAogMDogYWQKCi9hKD86YnxjfGQpKC4pLwogICAgYWNlCiAwOiBhY2UKIDE6IGUKCi9hKD86YnxjfGQpKiguKS8KICAgIGFjZQogMDogYWNlCiAxOiBlCgovYSg/OmJ8Y3xkKSs/KC4pLwogICAgYWNlCiAwOiBhY2UKIDE6IGUKICAgIGFjZGJjZGJlCiAwOiBhY2QKIDE6IGQKCi9hKD86YnxjfGQpKyguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiZQogMTogZQoKL2EoPzpifGN8ZCl7Mn0oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYgogMTogYgoKL2EoPzpifGN8ZCl7NCw1fSguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiCiAxOiBiCgovYSg/OmJ8Y3xkKXs0LDV9PyguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2QKIDE6IGQKCi8oKGZvbyl8KGJhcikpKi8KICAgIGZvb2JhcgogMDogZm9vYmFyCiAxOiBiYXIKIDI6IGZvbwogMzogYmFyCgovYSg/OmJ8Y3xkKXs2LDd9KC4pLwogICAgYWNkYmNkYmUKIDA6IGFjZGJjZGJlCiAxOiBlCgovYSg/OmJ8Y3xkKXs2LDd9PyguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiZQogMTogZQoKL2EoPzpifGN8ZCl7NSw2fSguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiZQogMTogZQoKL2EoPzpifGN8ZCl7NSw2fT8oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYgogMTogYgoKL2EoPzpifGN8ZCl7NSw3fSguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiZQogMTogZQoKL2EoPzpifGN8ZCl7NSw3fT8oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYgogMTogYgoKL2EoPzpifChjfGUpezEsMn0/fGQpKz8oLikvCiAgICBhY2UKIDA6IGFjZQogMTogYwogMjogZQoKL14oLispP0IvCiAgICBBQgogMDogQUIKIDE6IEEKCi9eKFteYS16XSl8KFxeKSQvCiAgICAuCiAwOiAuCiAxOiAuCgovXls8Pl0mLwogICAgPCZPVVQKIDA6IDwmCgovXihhXDE/KXs0fSQvCiAgICBhYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWFhCiAxOiBhYWFhCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQUIKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWEKTm8gbWF0Y2gKCi9eKGEoPygxKVwxKSl7NH0kLwogICAgYWFhYWFhYWFhYQogMDogYWFhYWFhYWFhYQogMTogYWFhYQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWEKTm8gbWF0Y2gKCi8oPzooZikobykobyl8KGIpKGEpKHIpKSovCiAgICBmb29iYXIKIDA6IGZvb2JhcgogMTogZgogMjogbwogMzogbwogNDogYgogNTogYQogNjogcgoKLyg/PD1hKWIvCiAgICBhYgogMDogYgogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGNiCk5vIG1hdGNoCiAgICBiCk5vIG1hdGNoCgovKD88IWMpYi8KICAgIGFiCiAwOiBiCiAgICBiCiAwOiBiCiAgICBiCiAwOiBiCgovKD86Li4pKmEvCiAgICBhYmEKIDA6IGFiYQoKLyg/Oi4uKSo/YS8KICAgIGFiYQogMDogYQoKL14oPzpifGEoPz0oLikpKSpcMS8KICAgIGFiYwogMDogYWIKIDE6IGIKCi9eKCl7Myw1fS8KICAgIGFiYwogMDogCiAxOiAKCi9eKGErKSpheC8KICAgIGFheAogMDogYWF4CiAxOiBhCgovXigoYXxiKSspKmF4LwogICAgYWF4CiAwOiBhYXgKIDE6IGEKIDI6IGEKCi9eKChhfGJjKSspKmF4LwogICAgYWF4CiAwOiBhYXgKIDE6IGEKIDI6IGEKCi8oYXx4KSphYi8KICAgIGNhYgogMDogYWIKCi8oYSkqYWIvCiAgICBjYWIKIDA6IGFiCgovKD86KD9pKWEpYi8KICAgIGFiCiAwOiBhYgoKLygoP2kpYSliLwogICAgYWIKIDA6IGFiCiAxOiBhCgovKD86KD9pKWEpYi8KICAgIEFiCiAwOiBBYgoKLygoP2kpYSliLwogICAgQWIKIDA6IEFiCiAxOiBBCgovKD86KD9pKWEpYi8KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBjYgpObyBtYXRjaAogICAgYUIKTm8gbWF0Y2gKCi8oKD9pKWEpYi8KCi8oP2k6YSliLwogICAgYWIKIDA6IGFiCgovKCg/aTphKSliLwogICAgYWIKIDA6IGFiCiAxOiBhCgovKD9pOmEpYi8KICAgIEFiCiAwOiBBYgoKLygoP2k6YSkpYi8KICAgIEFiCiAwOiBBYgogMTogQQoKLyg/aTphKWIvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYUIKTm8gbWF0Y2gKICAgIGFCCk5vIG1hdGNoCgovKCg/aTphKSliLwoKLyg/Oig/LWkpYSliL2kKICAgIGFiCiAwOiBhYgoKLygoPy1pKWEpYi9pCiAgICBhYgogMDogYWIKIDE6IGEKCi8oPzooPy1pKWEpYi9pCiAgICBhQgogMDogYUIKCi8oKD8taSlhKWIvaQogICAgYUIKIDA6IGFCCiAxOiBhCgovKD86KD8taSlhKWIvaQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFCCiAwOiBhQgogICAgQWIKTm8gbWF0Y2gKCi8oKD8taSlhKWIvaQoKLyg/Oig/LWkpYSliL2kKICAgIGFCCiAwOiBhQgoKLygoPy1pKWEpYi9pCiAgICBhQgogMDogYUIKIDE6IGEKCi8oPzooPy1pKWEpYi9pCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQWIKTm8gbWF0Y2gKICAgIEFCCk5vIG1hdGNoCgovKCg/LWkpYSliL2kKCi8oPy1pOmEpYi9pCiAgICBhYgogMDogYWIKCi8oKD8taTphKSliL2kKICAgIGFiCiAwOiBhYgogMTogYQoKLyg/LWk6YSliL2kKICAgIGFCCiAwOiBhQgoKLygoPy1pOmEpKWIvaQogICAgYUIKIDA6IGFCCiAxOiBhCgovKD8taTphKWIvaQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFCCk5vIG1hdGNoCiAgICBBYgpObyBtYXRjaAoKLygoPy1pOmEpKWIvaQoKLyg/LWk6YSliL2kKICAgIGFCCiAwOiBhQgoKLygoPy1pOmEpKWIvaQogICAgYUIKIDA6IGFCCiAxOiBhCgovKD8taTphKWIvaQogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEFiCk5vIG1hdGNoCiAgICBBQgpObyBtYXRjaAoKLygoPy1pOmEpKWIvaQoKLygoPy1pOmEuKSliL2kKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBBQgpObyBtYXRjaAogICAgYVxuQgpObyBtYXRjaAoKLygoP3MtaTphLikpYi9pCiAgICBhXG5CCiAwOiBhXHgwYUIKIDE6IGFceDBhCgovKD86Y3xkKSg/OikoPzphKD86KSg/OmIpKD86Yig/OikpKD86Yig/OikoPzpiKSkpLwogICAgY2FiYmJiCiAwOiBjYWJiYmIKCi8oPzpjfGQpKD86KSg/OmFhYWFhYWFhKD86KSg/OmJiYmJiYmJiKSg/OmJiYmJiYmJiKD86KSkoPzpiYmJiYmJiYig/OikoPzpiYmJiYmJiYikpKS8KICAgIGNhYWFhYWFhYWJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiCiAwOiBjYWFhYWFhYWFiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYgoKLyhhYilcZFwxL2kKICAgIEFiNGFiCiAwOiBBYjRhYgogMTogQWIKICAgIGFiNEFiCiAwOiBhYjRBYgogMTogYWIKCi9mb29cdypcZHs0fWJhei8KICAgIGZvb2JhcjEyMzRiYXoKIDA6IGZvb2JhcjEyMzRiYXoKCi94KH5+KSooPzooPzpGKT8pPy8KICAgIHh+fgogMDogeH5+CiAxOiB+fgoKL15hKD8jeHh4KXszfWMvCiAgICBhYWFjCiAwOiBhYWFjCgovXmEgKD8jeHh4KSAoPyN5eXkpIHszfWMveAogICAgYWFhYwogMDogYWFhYwoKLyg/PCFbY2RdKWIvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgQlxuQgpObyBtYXRjaAogICAgZGJjYgpObyBtYXRjaAoKLyg/PCFbY2RdKVthYl0vCiAgICBkYmFhY2IKIDA6IGEKCi8oPzwhKGN8ZCkpYi8KCi8oPzwhKGN8ZCkpW2FiXS8KICAgIGRiYWFjYgogMDogYQoKLyg/PCFjZClbYWJdLwogICAgY2RhY2NiCiAwOiBiCgovXig/OmE/Yj8pKiQvCiAgICBcCiAwOiAKICAgIGEKIDA6IGEKICAgIGFiCiAwOiBhYgogICAgYWFhICAgCiAwOiBhYWEKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBkYmNiCk5vIG1hdGNoCiAgICBhLS0KTm8gbWF0Y2gKICAgIGFhLS0gCk5vIG1hdGNoCgovKCg/cyleYSguKSkoKD9tKV5iJCkvCiAgICBhXG5iXG5jXG4KIDA6IGFceDBhYgogMTogYVx4MGEKIDI6IFx4MGEKIDM6IGIKCi8oKD9tKV5iJCkvCiAgICBhXG5iXG5jXG4KIDA6IGIKIDE6IGIKCi8oP20pXmIvCiAgICBhXG5iXG4KIDA6IGIKCi8oP20pXihiKS8KICAgIGFcbmJcbgogMDogYgogMTogYgoKLygoP20pXmIpLwogICAgYVxuYlxuCiAwOiBiCiAxOiBiCgovXG4oKD9tKV5iKS8KICAgIGFcbmJcbgogMDogXHgwYWIKIDE6IGIKCi8oKD9zKS4pYyg/IS4pLwogICAgYVxuYlxuY1xuCiAwOiBceDBhYwogMTogXHgwYQogICAgYVxuYlxuY1xuCiAwOiBceDBhYwogMTogXHgwYQoKLygoP3MpYi4pYyg/IS4pLwogICAgYVxuYlxuY1xuCiAwOiBiXHgwYWMKIDE6IGJceDBhCiAgICBhXG5iXG5jXG4KIDA6IGJceDBhYwogMTogYlx4MGEKCi9eYi8KCi8oKV5iLwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGFcbmJcbmNcbgpObyBtYXRjaAogICAgYVxuYlxuY1xuCk5vIG1hdGNoCgovKCg/bSleYikvCiAgICBhXG5iXG5jXG4KIDA6IGIKIDE6IGIKCi8oeCk/KD8oMSlhfGIpLwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKCi8oeCk/KD8oMSlifGEpLwogICAgYQogMDogYQoKLygpPyg/KDEpYnxhKS8KICAgIGEKIDA6IGEKCi8oKSg/KDEpYnxhKS8KCi8oKT8oPygxKWF8YikvCiAgICBhCiAwOiBhCiAxOiAKCi9eKFwoKT9ibGFoKD8oMSkoXCkpKSQvCiAgICAoYmxhaCkKIDA6IChibGFoKQogMTogKAogMjogKQogICAgYmxhaAogMDogYmxhaAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKICAgIGJsYWgpCk5vIG1hdGNoCiAgICAoYmxhaApObyBtYXRjaAoKL14oXCgrKT9ibGFoKD8oMSkoXCkpKSQvCiAgICAoYmxhaCkKIDA6IChibGFoKQogMTogKAogMjogKQogICAgYmxhaAogMDogYmxhaAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJsYWgpCk5vIG1hdGNoCiAgICAoYmxhaApObyBtYXRjaAoKLyg/KD8hYSlhfGIpLwoKLyg/KD8hYSlifGEpLwogICAgYQogMDogYQoKLyg/KD89YSlifGEpLwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKCi8oPyg/PWEpYXxiKS8KICAgIGEKIDA6IGEKCi8oPz0oYSs/KSkoXDFhYikvCiAgICBhYWFiCiAwOiBhYWIKIDE6IGEKIDI6IGFhYgoKL14oPz0oYSs/KSlcMWFiLwoKLyhcdys6KSsvCiAgICBvbmU6CiAwOiBvbmU6CiAxOiBvbmU6CgovJCg/PD1eKGEpKS8KICAgIGEKIDA6IAogMTogYQoKLyg/PShhKz8pKShcMWFiKS8KICAgIGFhYWIKIDA6IGFhYgogMTogYQogMjogYWFiCgovXig/PShhKz8pKVwxYWIvCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYgpObyBtYXRjaAogICAgYWFhYgpObyBtYXRjaAoKLyhbXHc6XSs6Oik/KFx3KykkLwogICAgYWJjZAogMDogYWJjZAogMTogPHVuc2V0PgogMjogYWJjZAogICAgeHk6ejo6OmFiY2QKIDA6IHh5Ono6OjphYmNkCiAxOiB4eTp6Ojo6CiAyOiBhYmNkCgovXlteYmNkXSooYyspLwogICAgYWV4eWNkCiAwOiBhZXh5YwogMTogYwoKLyhhKiliKy8KICAgIGNhYWIKIDA6IGFhYgogMTogYWEKCi8oW1x3Ol0rOjopPyhcdyspJC8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IDx1bnNldD4KIDI6IGFiY2QKICAgIHh5Ono6OjphYmNkCiAwOiB4eTp6Ojo6YWJjZAogMTogeHk6ejo6OgogMjogYWJjZAogICAgKioqIEZhaWxlcnMKIDA6IEZhaWxlcnMKIDE6IDx1bnNldD4KIDI6IEZhaWxlcnMKICAgIGFiY2Q6Ck5vIG1hdGNoCiAgICBhYmNkOgpObyBtYXRjaAoKL15bXmJjZF0qKGMrKS8KICAgIGFleHljZAogMDogYWV4eWMKIDE6IGMKCi8oPmErKWFiLwoKLyg/PmErKWIvCiAgICBhYWFiCiAwOiBhYWFiCgovKFtbOl0rKS8KICAgIGE6W2JdOgogMDogOlsKIDE6IDpbCgovKFtbPV0rKS8KICAgIGE9W2JdPQogMDogPVsKIDE6ID1bCgovKFtbLl0rKS8KICAgIGEuW2JdLgogMDogLlsKIDE6IC5bCgovKCg/PmErKWIpLwogICAgYWFhYgogMDogYWFhYgogMTogYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKIDA6IGFhYWIKIDE6IGFhYQoKLygoPz5bXigpXSspfFwoW14oKV0qXCkpKy8KICAgICgoYWJjKGFkZSl1ZmgoKSgpeAogMDogYWJjKGFkZSl1ZmgoKSgpeAogMTogeAoKL2FcWi8KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYWFiCk5vIG1hdGNoCiAgICBhXG5iXG4KTm8gbWF0Y2gKCi9iXFovCiAgICBhXG5iXG4KIDA6IGIKCi9iXHovCgovYlxaLwogICAgYVxuYgogMDogYgoKL2Jcei8KICAgIGFcbmIKIDA6IGIKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAKL14oPz4oPygxKVwufCgpKVteXFdfXSg/PlthLXowLTktXSpbXlxXX10pPykrJC8KICAgIGEKIDA6IGEKIDE6IAogICAgYWJjCiAwOiBhYmMKIDE6IAogICAgYS1iCiAwOiBhLWIKIDE6IAogICAgMC05IAogMDogMC05CiAxOiAKICAgIGEuYgogMDogYS5iCiAxOiAKICAgIDUuNi43ICAKIDA6IDUuNi43CiAxOiAKICAgIHRoZS5xdWljay5icm93bi5mb3gKIDA6IHRoZS5xdWljay5icm93bi5mb3gKIDE6IAogICAgYTEwMC5iMjAwLjMwMGMgIAogMDogYTEwMC5iMjAwLjMwMGMKIDE6IAogICAgMTItYWIuMTI0NSAKIDA6IDEyLWFiLjEyNDUKIDE6IAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIFwKTm8gbWF0Y2gKICAgIC5hCk5vIG1hdGNoCiAgICAtYQpObyBtYXRjaAogICAgYS0KTm8gbWF0Y2gKICAgIGEuICAKTm8gbWF0Y2gKICAgIGFfYiAKTm8gbWF0Y2gKICAgIGEuLQpObyBtYXRjaAogICAgYS4uICAKTm8gbWF0Y2gKICAgIGFiLi5iYyAKTm8gbWF0Y2gKICAgIHRoZS5xdWljay5icm93bi5mb3gtCk5vIG1hdGNoCiAgICB0aGUucXVpY2suYnJvd24uZm94LgpObyBtYXRjaAogICAgdGhlLnF1aWNrLmJyb3duLmZveF8KTm8gbWF0Y2gKICAgIHRoZS5xdWljay5icm93bi5mb3grICAgICAgIApObyBtYXRjaAoKLyg/Pi4qKSg/PD0oYWJjZHx3eHl6KSkvCiAgICBhbHBoYWJldGFiY2QKIDA6IGFscGhhYmV0YWJjZAogMTogYWJjZAogICAgZW5kaW5nd3h5egogMDogZW5kaW5nd3h5egogMTogd3h5egogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGEgcmF0aGVyIGxvbmcgc3RyaW5nIHRoYXQgZG9lc24ndCBlbmQgd2l0aCBvbmUgb2YgdGhlbQpObyBtYXRjaAoKL3dvcmQgKD8+KD86KD8hb3RoZXJ3b3JkKVthLXpBLVowLTldKyApezAsMzB9KW90aGVyd29yZC8KICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkCiAwOiB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZAogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyawpObyBtYXRjaAogIAovd29yZCAoPz5bYS16QS1aMC05XSsgKXswLDMwfW90aGVyd29yZC8KICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKTm8gbWF0Y2gKCi8oPzw9XGR7M30oPyE5OTkpKWZvby8KICAgIDk5OWZvbwogMDogZm9vCiAgICAxMjM5OTlmb28gCiAwOiBmb28KICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxMjNhYmNmb28KTm8gbWF0Y2gKICAgIAovKD88PSg/IS4uLjk5OSlcZHszfSlmb28vCiAgICA5OTlmb28KIDA6IGZvbwogICAgMTIzOTk5Zm9vIAogMDogZm9vCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzYWJjZm9vCk5vIG1hdGNoCgovKD88PVxkezN9KD8hOTk5KS4uLilmb28vCiAgICAxMjNhYmNmb28KIDA6IGZvbwogICAgMTIzNDU2Zm9vIAogMDogZm9vCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMTIzOTk5Zm9vICAKTm8gbWF0Y2gKICAgIAovKD88PVxkezN9Li4uKSg/PCE5OTkpZm9vLwogICAgMTIzYWJjZm9vICAgCiAwOiBmb28KICAgIDEyMzQ1NmZvbyAKIDA6IGZvbwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIDEyMzk5OWZvbyAgCk5vIG1hdGNoCgovPGFbXHNdK2hyZWZbXHNdKj1bXHNdKiAgICAgICAgICAjIGZpbmQgPGEgaHJlZj0KIChbXCJcJ10pPyAgICAgICAgICAgICAgICAgICAgICAgIyBmaW5kIHNpbmdsZSBvciBkb3VibGUgcXVvdGUKICg/KDEpICguKj8pXDEgfCAoW15cc10rKSkgICAgICAgIyBpZiBxdW90ZSBmb3VuZCwgbWF0Y2ggdXAgdG8gbmV4dCBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHF1b3RlLCBvdGhlcndpc2UgbWF0Y2ggdXAgdG8gbmV4dCBzcGFjZQovaXN4CiAgICA8YSBocmVmPWFiY2QgeHl6CiAwOiA8YSBocmVmPWFiY2QKIDE6IDx1bnNldD4KIDI6IDx1bnNldD4KIDM6IGFiY2QKICAgIDxhIGhyZWY9XCJhYmNkIHh5eiBwcXJcIiBjYXRzCiAwOiA8YSBocmVmPSJhYmNkIHh5eiBwcXIiCiAxOiAiCiAyOiBhYmNkIHh5eiBwcXIKICAgIDxhIGhyZWY9XCdhYmNkIHh5eiBwcXJcJyBjYXRzCiAwOiA8YSBocmVmPSdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi88YVxzK2hyZWZccyo9XHMqICAgICAgICAgICAgICAgICMgZmluZCA8YSBocmVmPQogKFsiJ10pPyAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChcUyspKSAgICAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKIDA6IDxhIGhyZWY9YWJjZAogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogYWJjZAogICAgPGEgaHJlZj1cImFiY2QgeHl6IHBxclwiIGNhdHMKIDA6IDxhIGhyZWY9ImFiY2QgeHl6IHBxciIKIDE6ICIKIDI6IGFiY2QgeHl6IHBxcgogICAgPGEgaHJlZiAgICAgICA9ICAgICAgIFwnYWJjZCB4eXogcHFyXCcgY2F0cwogMDogPGEgaHJlZiAgICAgICA9ICAgICAgICdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi88YVxzK2hyZWYoPz5ccyopPSg/PlxzKikgICAgICAgICMgZmluZCA8YSBocmVmPQogKFsiJ10pPyAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChcUyspKSAgICAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKIDA6IDxhIGhyZWY9YWJjZAogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogYWJjZAogICAgPGEgaHJlZj1cImFiY2QgeHl6IHBxclwiIGNhdHMKIDA6IDxhIGhyZWY9ImFiY2QgeHl6IHBxciIKIDE6ICIKIDI6IGFiY2QgeHl6IHBxcgogICAgPGEgaHJlZiAgICAgICA9ICAgICAgIFwnYWJjZCB4eXogcHFyXCcgY2F0cwogMDogPGEgaHJlZiAgICAgICA9ICAgICAgICdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi8oKFopK3xBKSovCiAgICBaQUJDREVGRwogMDogWkEKIDE6IEEKIDI6IFoKCi8oWigpfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQogMjogCgovKFooKCkpfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQogMjogCiAzOiAKCi8oKD8+WikrfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQoKLygoPz4pK3xBKSovCiAgICBaQUJDREVGRwogMDogCiAxOiAKCi9hKi9nCiAgICBhYmJhYgogMDogYQogMDogCiAwOiAKIDA6IGEKIDA6IAogMDogCgovXlthLVxkXS8KICAgIGFiY2RlCiAwOiBhCiAgICAtdGhpbmdzCiAwOiAtCiAgICAwZGlnaXQKIDA6IDAKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBiY2RlZiAgICAKTm8gbWF0Y2gKCi9eW1xkLWFdLwogICAgYWJjZGUKIDA6IGEKICAgIC10aGluZ3MKIDA6IC0KICAgIDBkaWdpdAogMDogMAogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIGJjZGVmICAgIApObyBtYXRjaAogICAgCi9bWzpzcGFjZTpdXSsvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogMDogIFx4MDlceDBhXHgwY1x4MGRceDBiCiAgICAgCi9bWzpibGFuazpdXSsvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogMDogIFx4MDkKICAgICAKL1tcc10rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKIDA6ICBceDA5XHgwYVx4MGNceDBkCiAgICAgCi9ccysvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogMDogIFx4MDlceDBhXHgwY1x4MGQKICAgICAKL2ELYi94CiAgICBhYgpObyBtYXRjaAoKLyg/IVxBKXgvbQogIGFcbnhiXG4KIDA6IHgKCi8oPyFeKXgvbQogIGFcbnhiXG4KTm8gbWF0Y2gKCi9hYmNcUWFiY1xFYWJjLwogICAgYWJjYWJjYWJjCiAwOiBhYmNhYmNhYmMKICAgIAovYWJjXFEoKit8XEVhYmMvCiAgICBhYmMoKit8YWJjIAogMDogYWJjKCorfGFiYwoKLyAgIGFiY1xRIGFiY1xFYWJjL3gKICAgIGFiYyBhYmNhYmMKIDA6IGFiYyBhYmNhYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBhYmNhYmNhYmMgIApObyBtYXRjaAogICAgCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRS94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQKICAgIC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCiAwOiBhYmMjbm90IGNvbW1lbnRceDBhICAgIGxpdGVyYWwKCi9cUWFiY1wkeHl6XEUvCiAgICBhYmNcXFwkeHl6CiAwOiBhYmNcJHh5egoKL1xRYWJjXEVcJFxReHl6XEUvCiAgICBhYmNcJHh5egogMDogYWJjJHh5egoKL1xHYWJjLwogICAgYWJjCiAwOiBhYmMKICAgICoqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICB4eXphYmMgIApObyBtYXRjaAoKL1xHYWJjLi9nCiAgICBhYmMxYWJjMnh5emFiYzMKIDA6IGFiYzEKIDA6IGFiYzIKCi9hYmMuL2cKICAgIGFiYzFhYmMyeHl6YWJjMyAKIDA6IGFiYzEKIDA6IGFiYzIKIDA6IGFiYzMKCi9hKD94OiBiIGMgKWQvCiAgICBYYWJjZFkKIDA6IGFiY2QKICAgICoqKiBGYWlsZXJzIApObyBtYXRjaAogICAgWGEgYiBjIGQgWSAKTm8gbWF0Y2gKCi8oKD94KXggeSB6IHwgYSBiIGMpLwogICAgWGFiY1kKIDA6IGFiYwogMTogYWJjCiAgICBBeHl6QiAKIDA6IHh5egogMTogeHl6CgovKD9pKUFCKD8taSlDLwogICAgWGFiQ1kKIDA6IGFiQwogICAgKioqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIFhhYmNZICAKTm8gbWF0Y2gKCi8oKD9pKUFCKD8taSlDfEQpRS8KICAgIGFiQ0UKIDA6IGFiQ0UKIDE6IGFiQwogICAgREUKIDA6IERFCiAxOiBECiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgYWJjRQpObyBtYXRjaAogICAgYWJDZSAgCk5vIG1hdGNoCiAgICBkRQpObyBtYXRjaAogICAgRGUgICAgCk5vIG1hdGNoCgovKC4qKVxkK1wxLwogICAgYWJjMTIzYWJjCiAwOiBhYmMxMjNhYmMKIDE6IGFiYwogICAgYWJjMTIzYmMgCiAwOiBiYzEyM2JjCiAxOiBiYwoKLyguKilcZCtcMS9zCiAgICBhYmMxMjNhYmMKIDA6IGFiYzEyM2FiYwogMTogYWJjCiAgICBhYmMxMjNiYyAKIDA6IGJjMTIzYmMKIDE6IGJjCiAgICAKLygoLiopKVxkK1wxLwogICAgYWJjMTIzYWJjCiAwOiBhYmMxMjNhYmMKIDE6IGFiYwogMjogYWJjCiAgICBhYmMxMjNiYyAgCiAwOiBiYzEyM2JjCiAxOiBiYwogMjogYmMKCi8tLSBUaGlzIHRlc3RzIGZvciBhbiBJUHY2IGFkZHJlc3MgaW4gdGhlIGZvcm0gd2hlcmUgaXQgY2FuIGhhdmUgdXAgdG8gLS0vCi8tLSBlaWdodCBjb21wb25lbnRzLCBvbmUgYW5kIG9ubHkgb25lIG9mIHdoaWNoIGlzIGVtcHR5LiBUaGlzIG11c3QgYmUgLS0vCk5vIG1hdGNoCi8tLSBhbiBpbnRlcm5hbCBjb21wb25lbnQuIC0tLwpObyBtYXRjaAoKL14oPyE6KSAgICAgICAgICAgICAgICAgICAgICAgIyBjb2xvbiBkaXNhbGxvd2VkIGF0IHN0YXJ0CiAgKD86ICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RhcnQgb2YgaXRlbQogICAgKD86IFswLTlhLWZdezEsNH0gfCAgICAgICAjIDEtNCBoZXggZGlnaXRzIG9yCiAgICAoPygxKTAgfCAoKSApICkgICAgICAgICAgICMgaWYgbnVsbCBwcmV2aW91c2x5IG1hdGNoZWQsIGZhaWw7IGVsc2UgbnVsbAogICAgOiAgICAgICAgICAgICAgICAgICAgICAgICAjIGZvbGxvd2VkIGJ5IGNvbG9uCiAgKXsxLDd9ICAgICAgICAgICAgICAgICAgICAgICMgZW5kIGl0ZW07IDEtNyBvZiB0aGVtIHJlcXVpcmVkICAgICAgICAgICAgICAgCiAgWzAtOWEtZl17MSw0fSAkICAgICAgICAgICAgICMgZmluYWwgaGV4IG51bWJlciBhdCBlbmQgb2Ygc3RyaW5nCiAgKD8oMSl8LikgICAgICAgICAgICAgICAgICAgICMgY2hlY2sgdGhhdCB0aGVyZSB3YXMgYW4gZW1wdHkgY29tcG9uZW50CiAgL3hpCiAgICBhMTIzOjphMTIzCiAwOiBhMTIzOjphMTIzCiAxOiAKICAgIGExMjM6YjM0Mjo6YWJjZAogMDogYTEyMzpiMzQyOjphYmNkCiAxOiAKICAgIGExMjM6YjM0Mjo6MzI0ZTphYmNkCiAwOiBhMTIzOmIzNDI6OjMyNGU6YWJjZAogMTogCiAgICBhMTIzOmRkZGU6YjM0Mjo6MzI0ZTphYmNkCiAwOiBhMTIzOmRkZGU6YjM0Mjo6MzI0ZTphYmNkCiAxOiAKICAgIGExMjM6ZGRkZTpiMzQyOjozMjRlOmRjYmE6YWJjZAogMDogYTEyMzpkZGRlOmIzNDI6OjMyNGU6ZGNiYTphYmNkCiAxOiAKICAgIGExMjM6ZGRkZTo5OTk5OmIzNDI6OjMyNGU6ZGNiYTphYmNkCiAwOiBhMTIzOmRkZGU6OTk5OTpiMzQyOjozMjRlOmRjYmE6YWJjZAogMTogCiAgICAqKiogRmFpbGVycwpObyBtYXRjaAogICAgMToyOjM6NDo1OjY6Nzo4Ck5vIG1hdGNoCiAgICBhMTIzOmJjZTpkZGRlOjk5OTk6YjM0Mjo6MzI0ZTpkY2JhOmFiY2QKTm8gbWF0Y2gKICAgIGExMjM6Ojk5OTk6YjM0Mjo6MzI0ZTpkY2JhOmFiY2QKTm8gbWF0Y2gKICAgIGFiY2RlOjI6Mzo0OjU6Njo3OjgKTm8gbWF0Y2gKICAgIDo6MQpObyBtYXRjaAogICAgYWJjZDpmZWUwOjEyMzo6ICAgCk5vIG1hdGNoCiAgICA6MQpObyBtYXRjaAogICAgMTogIApObyBtYXRjaAoKL1t6XFFhLWRdXEVdLwogICAgegogMDogegogICAgYQogMDogYQogICAgLQogMDogLQogICAgZAogMDogZAogICAgXSAKIDA6IF0KICAgICoqKiBGYWlsZXJzCiAwOiBhCiAgICBiICAgICAKTm8gbWF0Y2gKCi9bXHpcQ10vCiAgICB6CiAwOiB6CiAgICBDIAogMDogQwogICAgCi9cTS8KICAgIE0gCiAwOiBNCiAgICAKLyhhKykqYi8KICAgIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEgCk5vIG1hdGNoCiAgICAKLyg/aSlyZWcoPzp1bCg/Olth5F18YWUpcnxleCkvCiAgICBSRUd1bGFyCiAwOiBSRUd1bGFyCiAgICByZWd1bGFlcgogMDogcmVndWxhZXIKICAgIFJlZ2V4ICAKIDA6IFJlZ2V4CiAgICByZWd1bORyIAogMDogcmVndWxceGU0cgoKL8Xm5eRb4C3/wC3fXSsvCiAgICDF5uXk4AogMDogXHhjNVx4ZTZceGU1XHhlNFx4ZTAKICAgIMXm5eT/CiAwOiBceGM1XHhlNlx4ZTVceGU0XHhmZgogICAgxebl5MAKIDA6IFx4YzVceGU2XHhlNVx4ZTRceGMwCiAgICDF5uXk3wogMDogXHhjNVx4ZTZceGU1XHhlNFx4ZGYKCi8oPzw9WilYLi8KICBceDg0WEFaWEIKIDA6IFhCCgovYWIgY2QgKD94KSBkZSBmZy8KICAgIGFiIGNkIGRlZmcKIDA6IGFiIGNkIGRlZmcKCi9hYiBjZCg/eCkgZGUgZmcvCiAgICBhYiBjZGRlZmcKIDA6IGFiIGNkZGVmZwogICAgKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIGFiY2RkZWZnCk5vIG1hdGNoCgovKD88IVteZl1vbykoYmFyKS8KICAgIGZvb2JhclggCiAwOiBiYXIKIDE6IGJhcgogICAgKiogRmFpbGVycyAKTm8gbWF0Y2gKICAgIGJvb2JhclgKTm8gbWF0Y2gKCi8oPzwhW15mXSlYLwogICAgb2ZmWAogMDogWAogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgb255WCAgCk5vIG1hdGNoCgovKD88PVteZl0pWC8KICAgIG9ueVgKIDA6IFgKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIG9mZlggCk5vIG1hdGNoCgovXi9tZwogICAgYVxuYlxuY1xuCiAwOiAKIDA6IAogMDogCiAgICBcIAogMDogCiAgICAKLyg/PD1DXG4pXi9tZwogICAgQVxuQ1xuQ1xuIAogMDogCgovKD86KD8oMSlhfGIpKFgpKSsvCiAgICBiWGFYCiAwOiBiWGFYCiAxOiBYCgovKD86KD8oMSlcMWF8YikoWHxZKSkrLwogICAgYlhYYVlZYVkKIDA6IGJYWGFZWWFZCiAxOiBZCiAgICBiWFlhWFhhWCAgCiAwOiBiWAogMTogWAoKLygpKCkoKSgpKCkoKSgpKCkoKSg/Oig/KDEwKVwxMGF8YikoWHxZKSkrLwogICAgYlhYYVlZYVkKIDA6IGJYCiAxOiAKIDI6IAogMzogCiA0OiAKIDU6IAogNjogCiA3OiAKIDg6IAogOTogCjEwOiBYCgovW1ssYWJjLF0rXS8KICAgIGFiY10KIDA6IGFiY10KICAgIGEsYl0KIDA6IGEsYl0KICAgIFthLGIsY10gIAogMDogW2EsYixjXQoKLyg/LXg6ICkveAogICAgQVx4MjBCCiAwOiAgCiAgICAKIig/eCkoPy14OiBccyojXHMqKSIKICAgIEEgIyBCCiAwOiAgIyAKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgICMgIApObyBtYXRjaAoKIig/eC1pcykoPzooPy1peHMpIFxzKiNccyopIGluY2x1ZGUiCiAgICBBICNpbmNsdWRlCiAwOiAgI2luY2x1ZGUKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIEEjaW5jbHVkZSAgCk5vIG1hdGNoCiAgICBBICNJbmNsdWRlCk5vIG1hdGNoCgovYSpiKlx3LwogICAgYWFhYmJiYgogMDogYWFhYmJiYgogICAgYWFhYQogMDogYWFhYQogICAgYQogMDogYQoKL2EqYj9cdy8KICAgIGFhYWJiYmIKIDA6IGFhYWJiCiAgICBhYWFhCiAwOiBhYWFhCiAgICBhCiAwOiBhCgovYSpiezAsNH1cdy8KICAgIGFhYWJiYmIKIDA6IGFhYWJiYmIKICAgIGFhYWEKIDA6IGFhYWEKICAgIGEKIDA6IGEKCi9hKmJ7MCx9XHcvCiAgICBhYWFiYmJiCiAwOiBhYWFiYmJiCiAgICBhYWFhCiAwOiBhYWFhCiAgICBhCiAwOiBhCiAgICAKL2EqXGQqXHcvCiAgICAwYQogMDogMGEKICAgIGEgCiAwOiBhCiAgICAKL2EqYiAqXHcveAogICAgYSAKIDA6IGEKCi9hKmIjY29tbWVudAogICpcdy94CiAgICBhIAogMDogYQoKL2EqIGIgKlx3L3gKICAgIGEgCiAwOiBhCgovXlx3Kz0uKihcXFxuLiopKi8KICAgIGFiYz14eXpcXFxucHFyCiAwOiBhYmM9eHl6XAoKLyg/PShcdyspKVwxOi8KICAgIGFiY2Q6CiAwOiBhYmNkOgogMTogYWJjZAoKL14oPz0oXHcrKSlcMTovCiAgICBhYmNkOgogMDogYWJjZDoKIDE6IGFiY2QKCi9eXEVhYmMvCiAgICBhYmMKIDA6IGFiYwogICAgCi9eW1xFYWJjXS8KICAgIGEKIDA6IGEKICAgICoqIEZhaWxlcnMgCk5vIG1hdGNoCiAgICBFIApObyBtYXRjaAogICAgCi9eW2EtXEVjXS8KICAgIGIKIDA6IGIKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIC0KTm8gbWF0Y2gKICAgIEUgICAgCk5vIG1hdGNoCgovXlthXEVcRS1cRWNdLwogICAgYgogMDogYgogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgLQpObyBtYXRjaAogICAgRSAgICAKTm8gbWF0Y2gKCi9eW1xFXFFhXEUtXFF6XEVdKy8KICAgIGIKIDA6IGIKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIC0gIApObyBtYXRjaAogICAgCi9eW2FcUV1iY1xFXS8KICAgIGEKIDA6IGEKICAgIF0KIDA6IF0KICAgIGMKIDA6IGMKICAgIAovXlthLVxRXEVdLwogICAgYQogMDogYQogICAgLSAgICAgCiAwOiAtCgovXihhKCkqKSovCiAgICBhYWFhCiAwOiBhYWFhCiAxOiBhCiAyOiAKCi9eKD86YSg/Oig/OikpKikqLwogICAgYWFhYQogMDogYWFhYQoKL14oYSgpKykrLwogICAgYWFhYQogMDogYWFhYQogMTogYQogMjogCgovXig/OmEoPzooPzopKSspKy8KICAgIGFhYWEKIDA6IGFhYWEKCi8oYSl7MCwzfSg/KDEpYnwoY3wpKSpELwogICAgYWJiRAogMDogYWJiRAogMTogYQogICAgY2NjY0QKIDA6IGNjY2NECiAxOiA8dW5zZXQ+CiAyOiAKICAgIEQgIAogMDogRAogMTogPHVuc2V0PgogMjogCgovKGF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CiAwOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CiAxOiAKCi8oPz5hfCkqXGQvCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAogMDogYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAoKLyg/OmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CiAwOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CgovXFovZwogIGFiY1xuCiAwOiAKIDA6IAogIAovXig/cykoPz4uKikoPzwhXG4pLwogIGFiYwogMDogYWJjCiAgYWJjXG4gIApObyBtYXRjaAoKL14oPyFbXlxuXSpcblx6KS8KICBhYmMKIDA6IAogIGFiY1xuIApObyBtYXRjaAogIAovXHooPzwhXG4pLwogIGFiYwogMDogCiAgYWJjXG4gIApObyBtYXRjaAoKLyguKiguKT8pKi8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IAoKLyggKEEgfCAoPygxKTB8KSApKiAgICkveAogICAgYWJjZAogMDogCiAxOiAKIDI6IAoKLyggKCAoPygxKTB8KSApKiAgICkveAogICAgYWJjZAogMDogCiAxOiAKIDI6IAoKLyggICg/KDEpMHwpKiAgICkveAogICAgYWJjZAogMDogCiAxOiAKCi9bWzphYmNkOnh5el1dLwogICAgYV0KIDA6IGFdCiAgICA6XSAKIDA6IDpdCiAgICAKL1thYmNbOnhcXXBxcl0vCiAgICBhCiAwOiBhCiAgICBbCiAwOiBbCiAgICA6CiAwOiA6CiAgICBdCiAwOiBdCiAgICBwICAgIAogMDogcAoKLy4qW29wXVt4eXpdLwogICAgZm9vYWJjZm9vCk5vIG1hdGNoCgovKD8oPz0uKmIpYnxeKS8KICAgYWRjCiAwOiAKICAgYWJjIAogMDogYgoKLyg/KD89Xi4qYilifF4pLwogICBhZGMKIDA6IAogICBhYmMgCk5vIG1hdGNoCgovKD8oPz0uKmIpYnxeKSovCiAgIGFkYwogMDogCiAgIGFiYyAKIDA6IAoKLyg/KD89LipiKWJ8XikrLwogICBhZGMKIDA6IAogICBhYmMgCiAwOiBiCgovKD8oPz1iKS4qYnxeZCkvCiAgICBhYmMKIDA6IGIKCi8oPyg/PS4qYikuKmJ8XmQpLwogICAgYWJjCiAwOiBhYgoKL14lKCg/KD89W2FdKVteJV0pfGIpKiUkLwogICAgJWFiJQogMDogJWFiJQogMTogCgovKD9pKWEoPy1pKWJ8Yy8KICAgIFhhYlgKIDA6IGFiCiAgICBYQWJYCiAwOiBBYgogICAgQ2NDIAogMDogYwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgWEFCWCAgIApObyBtYXRjaAoKL1tceDAwLVx4ZmZcc10rLwogICAgXHgwYVx4MGJceDBjXHgwZAogMDogXHgwYVx4MGJceDBjXHgwZAoKL15cY38vCiAgICA/CiAwOiA/CgovKGFiYylcMS9pCiAgIGFiYwpObyBtYXRjaAoKLyhhYmMpXDEvCiAgIGFiYwpObyBtYXRjaAoKL1teYV0qL2kKICAgIDEyYWJjCiAwOiAxMgogICAgMTJBQkMKIDA6IDEyCgovW15hXSorL2kKICAgIDEyYWJjCiAwOiAxMgogICAgMTJBQkMKIDA6IDEyCgovW15hXSo/WC9pCiAgICAqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxMmFiYwpObyBtYXRjaAogICAgMTJBQkMKTm8gbWF0Y2gKICAgIAovW15hXSs/WC9pICAgCiAgICAqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICAxMmFiYwpObyBtYXRjaAogICAgMTJBQkMKTm8gbWF0Y2gKCi9bXmFdP1gvaQogICAgMTJhWGJjWAogMDogWAogICAgMTJBWEJDWAogMDogWAogICAgQkNYIAogMDogQ1gKCi9bXmFdPz9YL2kKICAgIDEyYVhiY1gKIDA6IFgKICAgIDEyQVhCQ1gKIDA6IFgKICAgIEJDWAogMDogQ1gKICAgIAovW15hXT8rWC9pCiAgICAxMmFYYmNYCiAwOiBjWAogICAgMTJBWEJDWAogMDogQ1gKICAgIEJDWCAKIDA6IENYCgovW15hXXsyLDN9L2kKICAgIGFiY2RlZgogMDogYmNkCiAgICBBQkNERUYgIAogMDogQkNECgovW15hXXsyLDN9Py9pCiAgICBhYmNkZWYKIDA6IGJjCiAgICBBQkNERUYgIAogMDogQkMKCi9bXmFdezIsM30rL2kKICAgIGFiY2RlZgogMDogYmNkCiAgICBBQkNERUYgIAogMDogQkNECgovKChhfCkrKStaLwogICAgWgogMDogWgogMTogCiAyOiAKCi8oYSlifChhKWMvCiAgICBhYwogMDogYWMKIDE6IDx1bnNldD4KIDI6IGEKCi8oPz4oYSkpYnwoYSljLwogICAgYWMKIDA6IGFjCiAxOiA8dW5zZXQ+CiAyOiBhCgovKD89KGEpKWFifChhKWMvCiAgICBhYwogMDogYWMKIDE6IDx1bnNldD4KIDI6IGEKCi8oKD8+KGEpKWJ8KGEpYykvCiAgICBhYwogMDogYWMKIDE6IGFjCiAyOiA8dW5zZXQ+CiAzOiBhCgovKCg/PihhKSlifChhKWMpKysvCiAgICBhYwogMDogYWMKIDE6IGFjCiAyOiA8dW5zZXQ+CiAzOiBhCgovKD86KD8+KGEpKWJ8KGEpYykrKy8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQoKLyg/PSg/PihhKSlifChhKWMpKC4uKS8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQogMzogYWMKCi8oPz4oPz4oYSkpYnwoYSljKS8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQoKLyg/Oig/PihbYWJdKSkpK2E9LysKICAgID1iYT0KIDA6IGJhPQogMCsgCiAxOiBiCgovKD8+KFthYl0pKSthPS8rCiAgICA9YmE9CiAwOiBiYT0KIDArIAogMTogYgoKLygoPz4oYSspYikrKGFhYmFiKSkvCiAgICBhYWFhYmFhYWJhYWJhYgogMDogYWFhYWJhYWFiYWFiYWIKIDE6IGFhYWFiYWFhYmFhYmFiCiAyOiBhYWEKIDM6IGFhYmFiCgovKD8+YSt8YWIpKz9jLwogICAgYWFiYwpObyBtYXRjaAoKLyg/PmErfGFiKStjLwogICAgYWFiYwpObyBtYXRjaAoKLyg/OmErfGFiKStjLwogICAgYWFiYwogMDogYWFiYwoKLyg/KD89KGEpKWEpLwogICAgYQogMDogYQogMTogYQoKLyg/KD89KGEpKWEpKGIpLwogICAgYWIKIDA6IGFiCiAxOiBhCiAyOiBiCgovXig/OmF8YWIpKytjLwogICAgYWFhYWJjCk5vIG1hdGNoCgovXig/PmF8YWIpKytjLwogICAgYWFhYWJjCk5vIG1hdGNoCgovXig/OmF8YWIpK2MvCiAgICBhYWFhYmMKIDA6IGFhYWFiYwoKLyg/PWFiYyl7M31hYmMvKwogICAgYWJjYWJjYWJjCiAwOiBhYmMKIDArIGFiY2FiYwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgeHl6ICAKTm8gbWF0Y2gKICAgIAovKD89YWJjKSthYmMvKwogICAgYWJjYWJjYWJjCiAwOiBhYmMKIDArIGFiY2FiYwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgeHl6ICAKTm8gbWF0Y2gKICAgIAovKD89YWJjKSsrYWJjLysKICAgIGFiY2FiY2FiYwogMDogYWJjCiAwKyBhYmNhYmMKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHh5eiAgCk5vIG1hdGNoCiAgICAKLyg/PWFiYyl7MH14eXovCiAgICB4eXogCiAwOiB4eXoKCi8oPz1hYmMpezF9eHl6LwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgeHl6IApObyBtYXRjaAogICAgCi8oPz0oYSkpPy4vCiAgICBhYgogMDogYQogMTogYQogICAgYmMKIDA6IGIKICAgICAgCi8oPz0oYSkpPz8uLwogICAgYWIKIDA6IGEKICAgIGJjCiAwOiBiCgovXig/PShhKSl7MH1iKD8xKS8KICAgIGJhY2tnYW1tb24KIDA6IGJhCgovXig/PSg/MSkpP1thel0oW2FiY10pZC8KICAgIGFiZCAKIDA6IGFiZAogMTogYgogICAgemNkeHggCiAwOiB6Y2QKIDE6IGMKCi9eKD8hYSl7MH1cdysvCiAgICBhYWFhYQogMDogYWFhYWEKCi8oPzw9KGFiYykpP3h5ei8KICAgIGFiY3h5egogMDogeHl6CiAxOiBhYmMKICAgIHBxcnh5eiAKIDA6IHh5egoKL15bXGc8YT5dKy8KICAgIGdnZzw8PGFhYT4+PgogMDogZ2dnPDw8YWFhPj4+CiAgICAqKiBGYWlsZXJzCk5vIG1hdGNoCiAgICBcXGdhICAKTm8gbWF0Y2gKICAgIAovXltcZ2FdKy8KICAgIGdnZ2FnYWdheHl6IAogMDogZ2dnYWdhZ2EKICAgIAovXls6YVs6ZGlnaXQ6XV0rLwogICAgYWFhYTQ0NDo6OlogCiAwOiBhYWFhNDQ0Ojo6CgovXls6YVs6ZGlnaXQ6XTpiXSsvCiAgICBhYWFhNDQ0Ojo6YmJiWiAKIDA6IGFhYWE0NDQ6OjpiYmIKCi9bOmFdeHh4W2I6XS8KICAgICA6eHh4OgogMDogOnh4eDoKICAgICAKLyg/PD1hezJ9KWIvaQogICAgeGFhYmMKIDA6IGIKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHhhYmMgIApObyBtYXRjaAoKLyg/PCFhezJ9KWIvaQogICAgeGFiYwogMDogYgogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgeGFhYmMgIApObyBtYXRjaAoKLyg/PD1hXGgpYy8KICAgIHhhIGMKIDA6IGMKICAgIAovKD88PVteYV17Mn0pYi8KICAgIGF4eGJjCiAwOiBiCiAgICBhQUFiYyAKIDA6IGIKICAgICoqIEZhaWxlcnMKTm8gbWF0Y2gKICAgIHhhYWJjICAgIApObyBtYXRjaAoKLyg/PD1bXmFdezJ9KWIvaQogICAgYXh4YmMgIAogMDogYgogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgYUFBYmMgCk5vIG1hdGNoCiAgICB4YWFiYyAgICAKTm8gbWF0Y2gKCi8oPzw9YVxIKWMvCiAgICBhYmMKIDA6IGMKCi8oPzw9YVxWKWMvCiAgICBhYmMKIDA6IGMKICAgIAovKD88PWFcdiljLwogICAgYVxuYwogMDogYwoKLyg/KD89YyljfGQpKytZLwogICAgWGNjY2RkWVgKIDA6IGNjY2RkWQoKLyg/KD89YyljfGQpKitZLwogICAgWGNjY2RkWVgKIDA6IGNjY2RkWQoKL14oYXsyLDN9KXsyLH0rYS8KICAgIGFhYWFhYWEKIDA6IGFhYWFhYWEKIDE6IGFhYQogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWEgCk5vIG1hdGNoCgovXihhezIsM30pKythLwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYWFhCk5vIG1hdGNoCgovXihhezIsM30pKithLwogICAgKiogRmFpbGVycwpObyBtYXRjaAogICAgYWFhYWFhCk5vIG1hdGNoCgovYWJcQ2RlLwogICAgYWJYZGUKIDA6IGFiWGRlCiAgICAKLyg/PD1hYlxDZGUpWC8KICAgIGFiWmRlWAogMDogWAoKL2FbXENEXWIvCiAgICBhQ2IKIDA6IGFDYgogICAgYURiIAogMDogYURiCgovYVtcQy1YXWIvCiAgICBhSmIKIDA6IGFKYgoKLy0tIEVuZCBvZiB0ZXN0aW5wdXQxIC0tLwo=