Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1kZWdyZWFzZXItMTAwMC1tbC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ0RFR1JFQVNFUiAxMDAwIE1MJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzQ4MzFXJywKICAgICAgcHJpY2U6ICcxMCw1MiDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnU3RhbmhvbWUnLAogICAgICBpdGVtX2NhdGVnb3J5MTogJ1N0YW5ob21lJywKICAgICAgaXRlbV9jYXRlZ29yeTI6ICdBbGwgcHJvZHVjdHMnLAogICAgICBpdGVtX2NhdGVnb3J5MzogJycsCiAgICAgIGl0ZW1fdmFyaWFudDogJ0RlZmF1bHQgVGl0bGUnLAogICAgICBpdGVtX2xpc3RfbmFtZTogbGlzdE5hbWUKICAgIH0pOwoKICAgIC8vIFNlbmQgImZpbmlzaGVkIiBldmVudAogICAgaWYgKGF4UHJvZHVjdExpc3QubGVuZ3RoID09PSB3aW5kb3cudGhlbWUuaXRlbXNfY291bnQpIHsKICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgIGV2ZW50OiAnYXhfcHJvZHVjdF9saXN0X2NvbXBsZXRlJywKICAgICAgICBheFByb2R1Y3RMaXN0OiBheFByb2R1Y3RMaXN0LAogICAgICB9KTsKICAgIH0KICB9KTsKCiAgZnVuY3Rpb24gY2xpY2tQcm9kdWN0KHByb2R1Y3REYXRhKSB7fQo8L3NjcmlwdD4KCgo8c2NyaXB0IGRlZmVyPgogIGZ1bmN0aW9uIHN3eW1DYWxsYmFja0ZuKHN3YXQpIHsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3N3eW06Y29sbGVjdGlvbnMtbG9hZGVkJywgZnVuY3Rpb24gKCkgewogICAgICBzd2F0LmluaXRpYWxpemVBY3Rpb25CdXR0b25zKCc8PENvbGxlY3Rpb25zIEdyaWQgUEFSRU5UIFNlbGVjdG9yID4+Jyk7CiAgICB9KTsKICB9CiAgaWYgKCF3aW5kb3cuU3d5bUNhbGxiYWNrcykgewogICAgd2luZG93LlN3eW1DYWxsYmFja3MgPSBbXTsKICB9CiAgd2luZG93LlN3eW1DYWxsYmFja3MucHVzaChzd3ltQ2FsbGJhY2tGbik7Cjwvc2NyaXB0PgoKCiAgICAKCiAgICA8ZGl2IGNsYXNzPSJjYXJkLXdyYXBwZXIgcHJvZHVjdC1taW5pYXR1cmUgcHJvZHVjdC1jYXJkLXdyYXBwZXIgdW5kZXJsaW5lLWxpbmtzLWhvdmVyIGd0bS1jYXJkLXByb2R1Y3QgZ3RtLWNhcmQtcHJvZHVjdC1kZWdyZWFzZXItMTAwMC1tbC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiIgZ3RtLWNhcmQtZGF0YT0nCiAgICAgICAgewogICAgICAgICAgICAiaXRlbV9uYW1lIjogIkRFR1JFQVNFUiAxMDAwIE1MIiwKICAgICAgICAgICAgIml0ZW1faWQiOiAiSVRBX1BSREUwMDAzNDgzMVciLAogICAgICAgICAgICAicHJpY2UiOiAiMTAsNTIg4oKsIiwKICAgICAgICAgICAgIml0ZW1fYnJhbmQiOiAiU3RhbmhvbWUiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzU2NzA1XzFfZjA5NWYxZWYtN2IwMC00N2RjLThlNTAtMDJhNTE4ZmRlZWY4LmpwZz92PTE3NTkxNDg0OTEmd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfNTY3MDVfMV9mMDk1ZjFlZi03YjAwLTQ3ZGMtOGU1MC0wMmE1MThmZGVlZjguanBnP3Y9MTc1OTE0ODQ5MSZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF81NjcwNV8xX2YwOTVmMWVmLTdiMDAtNDdkYy04ZTUwLTAyYTUxOGZkZWVmOC5qcGc/dj0xNzU5MTQ4NDkxJndpZHRoPTUzMyA1MzN3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzU2NzA1XzFfZjA5NWYxZWYtN2IwMC00N2RjLThlNTAtMDJhNTE4ZmRlZWY4LmpwZz92PTE3NTkxNDg0OTEmd2lkdGg9NzIwIDcyMHcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfNTY3MDVfMV9mMDk1ZjFlZi03YjAwLTQ3ZGMtOGU1MC0wMmE1MThmZGVlZjguanBnP3Y9MTc1OTE0ODQ5MSA4NDJ3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzU2NzA1XzFfZjA5NWYxZWYtN2IwMC00N2RjLThlNTAtMDJhNTE4ZmRlZWY4LmpwZz92PTE3NTkxNDg0OTEmd2lkdGg9NTMzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz0iKG1pbi13aWR0aDogMTYwMHB4KSAzNjdweCwgKG1pbi13aWR0aDogOTkwcHgpIGNhbGMoKDEwMHZ3IC0gMTMwcHgpIC8gNCksIChtaW4td2lkdGg6IDc1MHB4KSBjYWxjKCgxMDB2dyAtIDEyMHB4KSAvIDMpLCBjYWxjKCgxMDB2dyAtIDM1cHgpIC8gMikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iREVHUkVBU0VSIDEwMDAgTUwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtb3Rpb24tcmVkdWNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iODQyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9Ijg0MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD0iQWRkIHRvIFdpc2hsaXN0IiBkYXRhLXdpdGgtZXBpPSJ0cnVlIiBjbGFzcz0ic3d5bS1idXR0b24gc3d5bS1hZGQtdG8td2lzaGxpc3Qtdmlldy1wcm9kdWN0IHByb2R1Y3RfMTUzNjQ0MDE1NjE5NzQiIGRhdGEtc3dhY3Rpb249ImFkZFRvV2lzaGxpc3QiIGRhdGEtcHJvZHVjdC1pZD0iMTUzNjQ0MDE1NjE5NzQiIGRhdGEtdmFyaWFudC1pZD0iNTYzNjM1MzQ5NzUzNTAiIGRhdGEtcHJvZHVjdC11cmw9Imh0dHBzOi8vd3d3LnN0YW5ob21lLmVzL3Byb2R1Y3RzL2RlZ3JlYXNlci0xMDAwLW1sIj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fYmFkZ2UgdG9wIGxlZnQiPjxzcGFuIGlkPSJCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCIgY2xhc3M9ImJhZGdlIGJhZGdlLS1ib3R0b20tbGVmdCBjb2xvci1zY2hlbWUtZDZhNWMwMzYtNmM0NS00N2NmLWFkZDYtYmFkZmVmYjQ1ZmQ5Ij4tMzAlCjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+PGRpdiBjbGFzcz0iY2FyZF9fdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuaG9tZQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvZGVncmVhc2VyLTEwMDAtbWwiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNlbmdyYXNhbnRlIGNvbmNlbnRyYWRvIHBhcmEgcGxhdG9zIHkgc3VwZXJmaWNpZXMgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBERUdSRUFTRVIgMTAwMCBNTAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaW5mb3JtYXRpb24iPjxzcGFuIGNsYXNzPSJjYXB0aW9uLWxhcmdlIGxpZ2h0Ij48L3NwYW4+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbi1mb3JtLXJhdGluZy1wcmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYXRpbmctcHJpY2UiPgo8ZGl2CiAgY2xhc3M9IgogICAgcHJpY2UgIHByaWNlLS1vbi1zYWxlIgo+CiAgPGRpdiBjbGFzcz0icHJpY2VfX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icHJpY2VfX3JlZ3VsYXIiPjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgIDEwLDUyIOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgMTAsNTIg4oKsCiAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8cyBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgMTUsMDMg4oKsCiAgICAgICAgICAgIAogICAgICAgICAgPC9zPgogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxzbWFsbCBjbGFzcz0idW5pdC1wcmljZSBjYXB0aW9uIGhpZGRlbiI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPlByZWNpbyB1bml0YXJpbzwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4vPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPiZuYnNwO3BvciZuYnNwOzwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvc3Bhbj4KICAgIDwvc21hbGw+CiAgPC9kaXY+PC9kaXY+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgcXVpY2stYWRkLW1vYmlsZSBuby1qcy1oaWRkZW4gZXh0cmEtbGFyZ2UtdXAtaGlkZSI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDE1NjE5NzQiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1MzQ5NzUzNTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwMTU2MTk3NC1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDAxNTYxOTc0LXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwMTU2MTk3NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnCiAgY2xhc3M9Imljb24gc2gtaWNvbi1jYXJ0LWVtcHR5IgogIGFyaWEtaGlkZGVuPSJ0cnVlIgogIGZvY3VzYWJsZT0iZmFsc2UiCiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHZpZXdCb3g9IjAgMCAxOCAyMiIKICBmaWxsPSJub25lIgo+CiAgPHBhdGggZD0iTTE2LjQxOSA0LjcxM3YxNC4zNDhhMi42MDkgMi42MDkgMCAwIDEtMi42MDkgMi42MDdIMy4zNzZhMi42MDkgMi42MDkgMCAwIDEtMi42MDktMi42MDdWNC43MTNaIiBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgogIDxwYXRoIGQ9Ik00LjY0NyA3LjMyMVY0LjcxMmEzLjk0NiAzLjk0NiAwIDEgMSA3Ljg5MSAwdjIuNjA5IiAgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+CiAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnb3RhZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQ0MDE1NjE5NzQiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudC1ob3ZlciI+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDQwMTU2MTk3NCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDQwMTU2MTk3NCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUzNDk3NTM1MCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZGVncmVhc2VyLTEwMDAtbWwiPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzZW5ncmFzYW50ZSBjb25jZW50cmFkbyBwYXJhIHBsYXRvcyB5IHN1cGVyZmljaWVzCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBERUdSRUFTRVIgMTAwMCBNTAogICAgICAgICAgICAgICAgICAgIDwvZGl2Pjx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCBjYXJkX192YXJpYW50LWtleV9wb2ludHMiPjxsaT48c3Bhbj5EZXNlbmdyYXNhIHkgbGltcGlhIGVmaWNhem1lbnRlIHRvZGFzIGxhcyBzdXBlcmZpY2llcyBkZSBsYSBjb2NpbmEuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPk7Dum1lcm8gdW5vIGVuIHZlbnRhcyBkZXNkZSAxOTMxLjwvc3Bhbj48L2xpPjxsaT48c3Bhbj5Db250aWVuZSBtw6FzIGRlbCA5MiUgZGUgaW5ncmVkaWVudGVzIGRlIG9yaWdlbiBuYXR1cmFsLjwvc3Bhbj48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0icXVpY2stYWRkIG5vLWpzLWhpZGRlbiI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDE1NjE5NzQiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1MzQ5NzUzNTAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InByb2R1Y3QtdmFyaWFudC1pZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDAxNTYxOTc0LXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iYWRkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwMTU2MTk3NC1zdWJtaXQgdGl0bGUtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQ0MDE1NjE5NzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BZ3JlZ2FyIGFsIGNhcnJpdG8gLSA8c3BhbiBjbGFzcz0iYnV0dG9uX19wcmljZSI+MTAsNTIg4oKsPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnb3RhZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KCjxsaW5rIGhyZWY9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL3QvNi9hc3NldHMvY29tcG9uZW50LWxvYWRpbmctc3Bpbm5lci5jc3M/dj0xMTY3MjQ5NTU1Njc5NTU3NjY0ODE3MDExOTAzNzYiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJhbGwiIC8+Cgo8ZGl2IGNsYXNzPSJsb2FkaW5nX19zcGlubmVyIGhpZGRlbiI+CiAgPHN2ZwogICAgYXJpYS1oaWRkZW49InRydWUiCiAgICBmb2N1c2FibGU9ImZhbHNlIgogICAgY2xhc3M9InNwaW5uZXIiCiAgICB2aWV3Qm94PSIwIDAgNjYgNjYiCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgPgogICAgPGNpcmNsZSBjbGFzcz0icGF0aCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBjeD0iMzMiIGN5PSIzMyIgcj0iMzAiPjwvY2lyY2xlPgogIDwvc3ZnPgo8L2Rpdj4KPC9idXR0b24+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icHJvZHVjdC1pZCIgdmFsdWU9IjE1MzY0NDAxNTYxOTc0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlY3Rpb24taWQiIHZhbHVlPSJ0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiIgLz48L2Zvcm0+PC9wcm9kdWN0LWZvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1tdWx0aS1zdXJmYWNlLTUwMC1tbC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ01VTFRJLVNVUkZBQ0UgNTAwIE1MJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzUxMDlXJywKICAgICAgcHJpY2U6ICc4LDg0IOKCrCcsCiAgICAgIGl0ZW1fYnJhbmQ6ICdTdGFuaG9tZScsCiAgICAgIGl0ZW1fY2F0ZWdvcnkxOiAnU3RhbmhvbWUnLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LW11bHRpLXN1cmZhY2UtNTAwLW1sLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiTVVMVEktU1VSRkFDRSA1MDAgTUwiLAogICAgICAgICAgICAiaXRlbV9pZCI6ICJJVEFfUFJERTAwMDM1MTA5VyIsCiAgICAgICAgICAgICJwcmljZSI6ICI4LDg0IOKCrCIsCiAgICAgICAgICAgICJpdGVtX2JyYW5kIjogIlN0YW5ob21lIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkxIjogIiIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MiI6ICJhbGwtcHJvZHVjdHMiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTMiOiBudWxsLAogICAgICAgICAgICAiaXRlbV92YXJpYW50IjogIkRlZmF1bHQgVGl0bGUiCiAgICAgICAgfQogICAgJz4KICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iCiAgICAgICAgY2FyZCBjYXJkLS1zdGFuZGFyZAogICAgICAgICBjYXJkLS1tZWRpYQogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAiCiAgICAgICAgICAgICAgICBzdHlsZT0iLS1yYXRpby1wZXJjZW50OiAxMDAlOyIKICAgICAgICA+CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FyZF9faW5uZXIgY29sb3ItYmFja2dyb3VuZC0xIGdyYWRpZW50IHJhdGlvIgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgICAgICA+PGRpdiBjbGFzcz0iY2FyZF9fbWVkaWEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBtZWRpYS0tdHJhbnNwYXJlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3Jjc2V0PSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85MTk2NV8xX2M5NzdhMzZiLWY4OTMtNDJhOS1hYzFkLTFjNmZkZTc2ZDk5MC5qcGc/dj0xNzU5MTQ4NDk3JndpZHRoPTE2NSAxNjV3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzkxOTY1XzFfYzk3N2EzNmItZjg5My00MmE5LWFjMWQtMWM2ZmRlNzZkOTkwLmpwZz92PTE3NTkxNDg0OTcmd2lkdGg9MzYwIDM2MHcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTE5NjVfMV9jOTc3YTM2Yi1mODkzLTQyYTktYWMxZC0xYzZmZGU3NmQ5OTAuanBnP3Y9MTc1OTE0ODQ5NyA0OTl3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzkxOTY1XzFfYzk3N2EzNmItZjg5My00MmE5LWFjMWQtMWM2ZmRlNzZkOTkwLmpwZz92PTE3NTkxNDg0OTcmd2lkdGg9NTMzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz0iKG1pbi13aWR0aDogMTYwMHB4KSAzNjdweCwgKG1pbi13aWR0aDogOTkwcHgpIGNhbGMoKDEwMHZ3IC0gMTMwcHgpIC8gNCksIChtaW4td2lkdGg6IDc1MHB4KSBjYWxjKCgxMDB2dyAtIDEyMHB4KSAvIDMpLCBjYWxjKCgxMDB2dyAtIDM1cHgpIC8gMikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iTVVMVEktU1VSRkFDRSA1MDAgTUwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtb3Rpb24tcmVkdWNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjQ5OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD0iQWRkIHRvIFdpc2hsaXN0IiBkYXRhLXdpdGgtZXBpPSJ0cnVlIiBjbGFzcz0ic3d5bS1idXR0b24gc3d5bS1hZGQtdG8td2lzaGxpc3Qtdmlldy1wcm9kdWN0IHByb2R1Y3RfMTUzNjQ0MDQ0NzgzMjYiIGRhdGEtc3dhY3Rpb249ImFkZFRvV2lzaGxpc3QiIGRhdGEtcHJvZHVjdC1pZD0iMTUzNjQ0MDQ0NzgzMjYiIGRhdGEtdmFyaWFudC1pZD0iNTYzNjM1Mzc4NTg5MzQiIGRhdGEtcHJvZHVjdC11cmw9Imh0dHBzOi8vd3d3LnN0YW5ob21lLmVzL3Byb2R1Y3RzL211bHRpLXN1cmZhY2UtNTAwLW1sIj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fYmFkZ2UgdG9wIGxlZnQiPjxzcGFuIGlkPSJCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiIgY2xhc3M9ImJhZGdlIGJhZGdlLS1ib3R0b20tbGVmdCBjb2xvci1zY2hlbWUtZDZhNWMwMzYtNmM0NS00N2NmLWFkZDYtYmFkZmVmYjQ1ZmQ5Ij4tMjMlCjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+PGRpdiBjbGFzcz0iY2FyZF9fdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuaG9tZQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvbXVsdGktc3VyZmFjZS01MDAtbWwiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGltcGlhZG9yIGRlIGNvY2luYSBtdWx0aXN1cGVyZmljaWVzIAogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgTVVMVEktU1VSRkFDRSA1MDAgTUwKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWluZm9ybWF0aW9uIj48c3BhbiBjbGFzcz0iY2FwdGlvbi1sYXJnZSBsaWdodCI+PC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faW5mb3JtYXRpb24tZm9ybS1yYXRpbmctcHJpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmF0aW5nLXByaWNlIj4KPGRpdgogIGNsYXNzPSIKICAgIHByaWNlICBwcmljZS0tb24tc2FsZSIKPgogIDxkaXYgY2xhc3M9InByaWNlX19jb250YWluZXIiPjxkaXYgY2xhc3M9InByaWNlX19yZWd1bGFyIj48c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tcmVndWxhciI+CiAgICAgICAgICA4LDg0IOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgOCw4NCDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAxMSw1MCDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwNDQ3ODMyNiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUzNzg1ODkzNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDA0NDc4MzI2LXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDQ0NzgzMjYtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDA0NDc4MzI2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDQwNDQ3ODMyNiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0NDA0NDc4MzI2IiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0NDA0NDc4MzI2IiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYzNTM3ODU4OTM0IiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9tdWx0aS1zdXJmYWNlLTUwMC1tbCI+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGltcGlhZG9yIGRlIGNvY2luYSBtdWx0aXN1cGVyZmljaWVzCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBNVUxUSS1TVVJGQUNFIDUwMCBNTAogICAgICAgICAgICAgICAgICAgIDwvZGl2Pjx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCBjYXJkX192YXJpYW50LWtleV9wb2ludHMiPjxsaT48c3Bhbj5MaW1waWFyIHkgZGVzZW5ncmFzYXIgbGFzIHN1cGVyZmljaWVzIGxhdmFibGVzIGRlIGxhIGNvY2luYS48L3NwYW4+PC9saT48bGk+PHNwYW4+UGVyZnVtZSBjb24gbm90YXMgZHVsY2VzIHkgw6FjaWRhcyBkZSBiZXJnYW1vdGEgeSB0w6kuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkNvbnRpZW5lIG3DoXMgZGVsIDk1JSBkZSBpbmdyZWRpZW50ZXMgZGUgb3JpZ2VuIG5hdHVyYWwuPC9zcGFuPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgbm8tanMtaGlkZGVuIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwNDQ3ODMyNiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImlkIiBkYXRhLXByb2R1Y3RpZD0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUzNzg1ODkzNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDQ0NzgzMjYtc3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InF1aWNrLWFkZF9fc3VibWl0IGJ1dHRvbiBidXR0b24tLWZ1bGwtd2lkdGggYnV0dG9uLS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDA0NDc4MzI2LXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQwNDQ3ODMyNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFncmVnYXIgYWwgY2Fycml0byAtIDxzcGFuIGNsYXNzPSJidXR0b25fX3ByaWNlIj44LDg0IOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDQwNDQ3ODMyNiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1mZWV0LWRlby03NS1tbC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ0ZFRVQgREVPIDc1IE1MJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzM5MjBXJywKICAgICAgcHJpY2U6ICc4LDUwIOKCrCcsCiAgICAgIGl0ZW1fYnJhbmQ6ICdTdGFuaG9tZScsCiAgICAgIGl0ZW1fY2F0ZWdvcnkxOiAnU3RhbmhvbWUnLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LWZlZXQtZGVvLTc1LW1sLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiRkVFVCBERU8gNzUgTUwiLAogICAgICAgICAgICAiaXRlbV9pZCI6ICJJVEFfUFJERTAwMDMzOTIwVyIsCiAgICAgICAgICAgICJwcmljZSI6ICI4LDUwIOKCrCIsCiAgICAgICAgICAgICJpdGVtX2JyYW5kIjogIlN0YW5ob21lIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkxIjogIiIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MiI6ICJhbGwtcHJvZHVjdHMiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTMiOiBudWxsLAogICAgICAgICAgICAiaXRlbV92YXJpYW50IjogIkRlZmF1bHQgVGl0bGUiCiAgICAgICAgfQogICAgJz4KICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iCiAgICAgICAgY2FyZCBjYXJkLS1zdGFuZGFyZAogICAgICAgICBjYXJkLS1tZWRpYQogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAiCiAgICAgICAgICAgICAgICBzdHlsZT0iLS1yYXRpby1wZXJjZW50OiAxMDAlOyIKICAgICAgICA+CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FyZF9faW5uZXIgY29sb3ItYmFja2dyb3VuZC0xIGdyYWRpZW50IHJhdGlvIgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgICAgICA+PGRpdiBjbGFzcz0iY2FyZF9fbWVkaWEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBtZWRpYS0tdHJhbnNwYXJlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3Jjc2V0PSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85NzY1N18xX2ZjODY5YWZiLTZmNjUtNGU3ZS05MTk1LTMxZmYwMGJlYTViNy5qcGc/dj0xNzU5MTQ4NTY3JndpZHRoPTE2NSAxNjV3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0Xzk3NjU3XzFfZmM4NjlhZmItNmY2NS00ZTdlLTkxOTUtMzFmZjAwYmVhNWI3LmpwZz92PTE3NTkxNDg1Njcmd2lkdGg9MzYwIDM2MHcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc2NTdfMV9mYzg2OWFmYi02ZjY1LTRlN2UtOTE5NS0zMWZmMDBiZWE1YjcuanBnP3Y9MTc1OTE0ODU2NyA0OTl3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0Xzk3NjU3XzFfZmM4NjlhZmItNmY2NS00ZTdlLTkxOTUtMzFmZjAwYmVhNWI3LmpwZz92PTE3NTkxNDg1Njcmd2lkdGg9NTMzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz0iKG1pbi13aWR0aDogMTYwMHB4KSAzNjdweCwgKG1pbi13aWR0aDogOTkwcHgpIGNhbGMoKDEwMHZ3IC0gMTMwcHgpIC8gNCksIChtaW4td2lkdGg6IDc1MHB4KSBjYWxjKCgxMDB2dyAtIDEyMHB4KSAvIDMpLCBjYWxjKCgxMDB2dyAtIDM1cHgpIC8gMikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iRkVFVCBERU8gNzUgTUwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtb3Rpb24tcmVkdWNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjQ5OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD0iQWRkIHRvIFdpc2hsaXN0IiBkYXRhLXdpdGgtZXBpPSJ0cnVlIiBjbGFzcz0ic3d5bS1idXR0b24gc3d5bS1hZGQtdG8td2lzaGxpc3Qtdmlldy1wcm9kdWN0IHByb2R1Y3RfMTUzNjQzOTc2NjI1ODIiIGRhdGEtc3dhY3Rpb249ImFkZFRvV2lzaGxpc3QiIGRhdGEtcHJvZHVjdC1pZD0iMTUzNjQzOTc2NjI1ODIiIGRhdGEtdmFyaWFudC1pZD0iNTYzNjM1MjcyMDkzMzQiIGRhdGEtcHJvZHVjdC11cmw9Imh0dHBzOi8vd3d3LnN0YW5ob21lLmVzL3Byb2R1Y3RzL2ZlZXQtZGVvLTc1LW1sIj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fYmFkZ2UgdG9wIGxlZnQiPjxzcGFuIGlkPSJCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiIgY2xhc3M9ImJhZGdlIGJhZGdlLS1ib3R0b20tbGVmdCBjb2xvci1zY2hlbWUtZDZhNWMwMzYtNmM0NS00N2NmLWFkZDYtYmFkZmVmYjQ1ZmQ5Ij4tMzUlCjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+PGRpdiBjbGFzcz0iY2FyZF9fdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuaG9tZQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvZmVldC1kZW8tNzUtbWwiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaWVzIGFudGl0cmFuc3BpcmFudGUgeSBhbnRpb2xvciAyNCBob3JhcyAKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEZFRVQgREVPIDc1IE1MCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvcm1hdGlvbiI+PHNwYW4gY2xhc3M9ImNhcHRpb24tbGFyZ2UgbGlnaHQiPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uLWZvcm0tcmF0aW5nLXByaWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhdGluZy1wcmljZSI+CjxkaXYKICBjbGFzcz0iCiAgICBwcmljZSAgcHJpY2UtLW9uLXNhbGUiCj4KICA8ZGl2IGNsYXNzPSJwcmljZV9fY29udGFpbmVyIj48ZGl2IGNsYXNzPSJwcmljZV9fcmVndWxhciI+PHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGhhYml0dWFsPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgOCw1MCDigqwKICAgICAgICA8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwcmljZV9fc2FsZSI+CiAgICA8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gZGUgb2ZlcnRhPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1zYWxlIHByaWNlLWl0ZW0tLWxhc3QiPgogICAgICAgIDgsNTAg4oKsCiAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8cyBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgMTMsMDEg4oKsCiAgICAgICAgICAgIAogICAgICAgICAgPC9zPgogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxzbWFsbCBjbGFzcz0idW5pdC1wcmljZSBjYXB0aW9uIGhpZGRlbiI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPlByZWNpbyB1bml0YXJpbzwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4vPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPiZuYnNwO3BvciZuYnNwOzwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvc3Bhbj4KICAgIDwvc21hbGw+CiAgPC9kaXY+PC9kaXY+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgcXVpY2stYWRkLW1vYmlsZSBuby1qcy1oaWRkZW4gZXh0cmEtbGFyZ2UtdXAtaGlkZSI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTc2NjI1ODIiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1MjcyMDkzMzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzY2MjU4Mi1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3NjYyNTgyLXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzY2MjU4MiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnCiAgY2xhc3M9Imljb24gc2gtaWNvbi1jYXJ0LWVtcHR5IgogIGFyaWEtaGlkZGVuPSJ0cnVlIgogIGZvY3VzYWJsZT0iZmFsc2UiCiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHZpZXdCb3g9IjAgMCAxOCAyMiIKICBmaWxsPSJub25lIgo+CiAgPHBhdGggZD0iTTE2LjQxOSA0LjcxM3YxNC4zNDhhMi42MDkgMi42MDkgMCAwIDEtMi42MDkgMi42MDdIMy4zNzZhMi42MDkgMi42MDkgMCAwIDEtMi42MDktMi42MDdWNC43MTNaIiBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgogIDxwYXRoIGQ9Ik00LjY0NyA3LjMyMVY0LjcxMmEzLjk0NiAzLjk0NiAwIDEgMSA3Ljg5MSAwdjIuNjA5IiAgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+CiAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnb3RhZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQzOTc2NjI1ODIiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudC1ob3ZlciI+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDM5NzY2MjU4MiIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDM5NzY2MjU4MiIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUyNzIwOTMzNCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZmVldC1kZW8tNzUtbWwiPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGllcyBhbnRpdHJhbnNwaXJhbnRlIHkgYW50aW9sb3IgMjQgaG9yYXMKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEZFRVQgREVPIDc1IE1MCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIGNhcmRfX3ZhcmlhbnQta2V5X3BvaW50cyI+PGxpPjxzcGFuPkhpZHJhdGEgeSBkZXNlbnJlZGEgdG9kbyB0aXBvIGRlIGNhYmVsbG8gc2luIGFwZWxtYXphciBsb3MgbGFyZ29zLjwvc3Bhbj48L2xpPjxsaT48c3Bhbj5TdSBmw7NybXVsYSBlbnJpcXVlY2lkYSBjb24gYWNlaXRlIGRlIGFycm96IGFzZWd1cmEgdW5hIGNvbXBvc2ljacOzbiBuYXR1cmFsIHkgYmVuZWZpY2lvc2EgcGFyYSBlbCBjYWJlbGxvLjwvc3Bhbj48L2xpPjxsaT48c3Bhbj5Db250aWVuZSBtw6FzIGRlbCA5NiUgZGUgaW5ncmVkaWVudGVzIGRlIG9yaWdlbiBuYXR1cmFsLjwvc3Bhbj48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0icXVpY2stYWRkIG5vLWpzLWhpZGRlbiI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTc2NjI1ODIiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1MjcyMDkzMzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InByb2R1Y3QtdmFyaWFudC1pZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3NjYyNTgyLXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iYWRkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzY2MjU4Mi1zdWJtaXQgdGl0bGUtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQzOTc2NjI1ODIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BZ3JlZ2FyIGFsIGNhcnJpdG8gLSA8c3BhbiBjbGFzcz0iYnV0dG9uX19wcmljZSI+OCw1MCDigqw8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNvbGQtb3V0LW1lc3NhZ2UgaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQzOTc2NjI1ODIiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4=
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1lbGl4aXItYmlmYXNlLW5vdHRlLXJpZ2VuLXN1cHJlbWEtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2InKTsKICAgIHByb2R1Y3RDYXJkcy5mb3JFYWNoKGZ1bmN0aW9uIChjYXJkKSB7CiAgICAgIGlmIChjYXJkLmNsb3Nlc3QoJy5ndG0tdHJhY2tpbmctY3Jvc3NzZWxsJykgIT09IG51bGwpIHsKICAgICAgICBsaXN0TmFtZSA9IGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKS5nZXRBdHRyaWJ1dGUoJ2d0bS10cmFja2luZy1jcm9zc3NlbGwnKTsKICAgICAgfQogICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgdmFyIHByb2R1Y3REYXRhID0gSlNPTi5wYXJzZShjYXJkLmdldEF0dHJpYnV0ZSgnZ3RtLWNhcmQtZGF0YScpKTsKICAgICAgICAvLyBOZWVkIHRvIHB1c2ggbGlzdE5hbWUKICAgICAgICBwcm9kdWN0RGF0YVsnaXRlbV9saXN0X25hbWUnXSA9IGxpc3ROYW1lOwogICAgICAgIC8vIFB1c2ggY2xpY2tlZCBwcm9kdWN0CiAgICAgICAgYXhJdGVtLnB1c2gocHJvZHVjdERhdGEpOwogICAgICAgIC8vIFNlbmQgImNsaWNrIiBldmVudAogICAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICAgIGV2ZW50OiAnYXhfcHJvZHVjdF9jbGljaycsCiAgICAgICAgICBheEl0ZW06IGF4SXRlbQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0pOwoKICAgIC8vIFB1c2ggYWxsIHByb2R1Y3QgaW4gZGF0YUxheWVyCiAgICBheFByb2R1Y3RMaXN0LnB1c2goewogICAgICBpdGVtX25hbWU6ICdFTElYSVIgQklGQVNFIE5PVFRFIFJJR0VOLiBTVVBSRU1BJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzY0NjFXJywKICAgICAgcHJpY2U6ICc1NSwwMCDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnRHIgUGllcnJlIFJpY2F1ZCcsCiAgICAgIGl0ZW1fY2F0ZWdvcnkxOiAnRHIgUGllcnJlIFJpY2F1ZCcsCiAgICAgIGl0ZW1fY2F0ZWdvcnkyOiAnQWxsIHByb2R1Y3RzJywKICAgICAgaXRlbV9jYXRlZ29yeTM6ICcnLAogICAgICBpdGVtX3ZhcmlhbnQ6ICdEZWZhdWx0IFRpdGxlJywKICAgICAgaXRlbV9saXN0X25hbWU6IGxpc3ROYW1lCiAgICB9KTsKCiAgICAvLyBTZW5kICJmaW5pc2hlZCIgZXZlbnQKICAgIGlmIChheFByb2R1Y3RMaXN0Lmxlbmd0aCA9PT0gd2luZG93LnRoZW1lLml0ZW1zX2NvdW50KSB7CiAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICBldmVudDogJ2F4X3Byb2R1Y3RfbGlzdF9jb21wbGV0ZScsCiAgICAgICAgYXhQcm9kdWN0TGlzdDogYXhQcm9kdWN0TGlzdCwKICAgICAgfSk7CiAgICB9CiAgfSk7CgogIGZ1bmN0aW9uIGNsaWNrUHJvZHVjdChwcm9kdWN0RGF0YSkge30KPC9zY3JpcHQ+CgoKPHNjcmlwdCBkZWZlcj4KICBmdW5jdGlvbiBzd3ltQ2FsbGJhY2tGbihzd2F0KSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzd3ltOmNvbGxlY3Rpb25zLWxvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgc3dhdC5pbml0aWFsaXplQWN0aW9uQnV0dG9ucygnPDxDb2xsZWN0aW9ucyBHcmlkIFBBUkVOVCBTZWxlY3RvciA+PicpOwogICAgfSk7CiAgfQogIGlmICghd2luZG93LlN3eW1DYWxsYmFja3MpIHsKICAgIHdpbmRvdy5Td3ltQ2FsbGJhY2tzID0gW107CiAgfQogIHdpbmRvdy5Td3ltQ2FsbGJhY2tzLnB1c2goc3d5bUNhbGxiYWNrRm4pOwo8L3NjcmlwdD4KCgogICAgCgogICAgPGRpdiBjbGFzcz0iY2FyZC13cmFwcGVyIHByb2R1Y3QtbWluaWF0dXJlIHByb2R1Y3QtY2FyZC13cmFwcGVyIHVuZGVybGluZS1saW5rcy1ob3ZlciBndG0tY2FyZC1wcm9kdWN0IGd0bS1jYXJkLXByb2R1Y3QtZWxpeGlyLWJpZmFzZS1ub3R0ZS1yaWdlbi1zdXByZW1hLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiRUxJWElSIEJJRkFTRSBOT1RURSBSSUdFTi4gU1VQUkVNQSIsCiAgICAgICAgICAgICJpdGVtX2lkIjogIklUQV9QUkRFMDAwMzY0NjFXIiwKICAgICAgICAgICAgInByaWNlIjogIjU1LDAwIOKCrCIsCiAgICAgICAgICAgICJpdGVtX2JyYW5kIjogIkRyIFBpZXJyZSBSaWNhdWQiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0Xzk3NTk2XzFfZmY3YTllY2MtMWQ3Yi00ZmJmLTg3Y2UtN2Y5NjQxMWM5YjUzLmpwZz92PTE3NTkxNDg3ODImd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc1OTZfMV9mZjdhOWVjYy0xZDdiLTRmYmYtODdjZS03Zjk2NDExYzliNTMuanBnP3Y9MTc1OTE0ODc4MiZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85NzU5Nl8xX2ZmN2E5ZWNjLTFkN2ItNGZiZi04N2NlLTdmOTY0MTFjOWI1My5qcGc/dj0xNzU5MTQ4NzgyJndpZHRoPTUzMyA1MzN3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0Xzk3NTk2XzFfZmY3YTllY2MtMWQ3Yi00ZmJmLTg3Y2UtN2Y5NjQxMWM5YjUzLmpwZz92PTE3NTkxNDg3ODImd2lkdGg9NzIwIDcyMHcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc1OTZfMV9mZjdhOWVjYy0xZDdiLTRmYmYtODdjZS03Zjk2NDExYzliNTMuanBnP3Y9MTc1OTE0ODc4MiZ3aWR0aD05NDAgOTQwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85NzU5Nl8xX2ZmN2E5ZWNjLTFkN2ItNGZiZi04N2NlLTdmOTY0MTFjOWI1My5qcGc/dj0xNzU5MTQ4NzgyJndpZHRoPTEwNjYgMTA2NncsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc1OTZfMV9mZjdhOWVjYy0xZDdiLTRmYmYtODdjZS03Zjk2NDExYzliNTMuanBnP3Y9MTc1OTE0ODc4MiAxMjAwdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85NzU5Nl8xX2ZmN2E5ZWNjLTFkN2ItNGZiZi04N2NlLTdmOTY0MTFjOWI1My5qcGc/dj0xNzU5MTQ4NzgyJndpZHRoPTUzMyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZXM9IihtaW4td2lkdGg6IDE2MDBweCkgMzY3cHgsIChtaW4td2lkdGg6IDk5MHB4KSBjYWxjKCgxMDB2dyAtIDEzMHB4KSAvIDQpLCAobWluLXdpZHRoOiA3NTBweCkgY2FsYygoMTAwdncgLSAxMjBweCkgLyAzKSwgY2FsYygoMTAwdncgLSAzNXB4KSAvIDIpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IkVMSVhJUiBCSUZBU0UgTk9UVEUgUklHRU4uIFNVUFJFTUEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtb3Rpb24tcmVkdWNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMTIwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxMjAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDQxNDE3NzY1NCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDQxNDE3NzY1NCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzU1MzU1NDgwNiIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZWxpeGlyLWJpZmFzZS1ub3R0ZS1yaWdlbi1zdXByZW1hIj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fYmFkZ2UgdG9wIGxlZnQiPjxzcGFuIGlkPSJCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQxNDE3NzY1NCIgY2xhc3M9ImJhZGdlIGJhZGdlLS1ib3R0b20tbGVmdCBjb2xvci1zY2hlbWUtZDZhNWMwMzYtNmM0NS00N2NmLWFkZDYtYmFkZmVmYjQ1ZmQ5Ij4tMjIlCjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+PGRpdiBjbGFzcz0iY2FyZF9fdHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEciBQaWVycmUgUmljYXVkCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjxwIGNsYXNzPSJjYXJkX19oZWFkaW5nIGg1IiAgaWQ9InRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDE0MTc3NjU0IiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9wcm9kdWN0cy9lbGl4aXItYmlmYXNlLW5vdHRlLXJpZ2VuLXN1cHJlbWEiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQxNDE3NzY1NCIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQxNDE3NzY1NCBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQxNDE3NzY1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGl4aXIgZGUgbm9jaGUgYmlmw6FzaWNvIAogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgRUxJWElSIEJJRkFTRSBOT1RURSBSSUdFTi4gU1VQUkVNQQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaW5mb3JtYXRpb24iPjxzcGFuIGNsYXNzPSJjYXB0aW9uLWxhcmdlIGxpZ2h0Ij48L3NwYW4+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbi1mb3JtLXJhdGluZy1wcmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYXRpbmctcHJpY2UiPgo8ZGl2CiAgY2xhc3M9IgogICAgcHJpY2UgIHByaWNlLS1vbi1zYWxlIgo+CiAgPGRpdiBjbGFzcz0icHJpY2VfX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icHJpY2VfX3JlZ3VsYXIiPjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgIDU1LDAwIOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgNTUsMDAg4oKsCiAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8cyBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgNzAsNTgg4oKsCiAgICAgICAgICAgIAogICAgICAgICAgPC9zPgogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxzbWFsbCBjbGFzcz0idW5pdC1wcmljZSBjYXB0aW9uIGhpZGRlbiI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPlByZWNpbyB1bml0YXJpbzwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4vPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPiZuYnNwO3BvciZuYnNwOzwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvc3Bhbj4KICAgIDwvc21hbGw+CiAgPC9kaXY+PC9kaXY+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgcXVpY2stYWRkLW1vYmlsZSBuby1qcy1oaWRkZW4gZXh0cmEtbGFyZ2UtdXAtaGlkZSI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MTQxNzc2NTQiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1NTM1NTQ4MDYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQxNDE3NzY1NC1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDE0MTc3NjU0LXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDQxNDE3NzY1NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnCiAgY2xhc3M9Imljb24gc2gtaWNvbi1jYXJ0LWVtcHR5IgogIGFyaWEtaGlkZGVuPSJ0cnVlIgogIGZvY3VzYWJsZT0iZmFsc2UiCiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHZpZXdCb3g9IjAgMCAxOCAyMiIKICBmaWxsPSJub25lIgo+CiAgPHBhdGggZD0iTTE2LjQxOSA0LjcxM3YxNC4zNDhhMi42MDkgMi42MDkgMCAwIDEtMi42MDkgMi42MDdIMy4zNzZhMi42MDkgMi42MDkgMCAwIDEtMi42MDktMi42MDdWNC43MTNaIiBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgogIDxwYXRoIGQ9Ik00LjY0NyA3LjMyMVY0LjcxMmEzLjk0NiAzLjk0NiAwIDEgMSA3Ljg5MSAwdjIuNjA5IiAgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+CiAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnb3RhZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQ0MTQxNzc2NTQiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudC1ob3ZlciI+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDQxNDE3NzY1NCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDQxNDE3NzY1NCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzU1MzU1NDgwNiIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZWxpeGlyLWJpZmFzZS1ub3R0ZS1yaWdlbi1zdXByZW1hIj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPCEtLSBTd3ltIFdpc2hsaXN0IFBsdXMgRVBJIEJ1dHRvbi0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faW5mb3JtYXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2hlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsaXhpciBkZSBub2NoZSBiaWbDoXNpY28KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEVMSVhJUiBCSUZBU0UgTk9UVEUgUklHRU4uIFNVUFJFTUEKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48dWwgY2xhc3M9Imxpc3QtdW5zdHlsZWQgY2FyZF9fdmFyaWFudC1rZXlfcG9pbnRzIj48bGk+PHNwYW4+RmF2b3JlY2UgbGEgcmVnZW5lcmFjacOzbiBjdXTDoW5lYSB5IHByb3BvcmNpb25hIHVuIGNvbmZvcnQgaW5tZWRpYXRvPC9zcGFuPjwvbGk+PGxpPjxzcGFuPk51dHJlIGludGVuc2FtZW50ZSwgYWxpc2EgeSByZXZpdGFsaXphIGxhIHBpZWwgbmFkYSBtw6FzIGRlc3BlcnRhcnNlPC9zcGFuPjwvbGk+PGxpPjxzcGFuPjk4JSBkZSBpbmdyZWRpZW50ZXMgZGUgb3JpZ2VuIG5hdHVyYWw8L3NwYW4+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBuby1qcy1oaWRkZW4iPjxwcm9kdWN0LWZvcm0gZGF0YS1zZWN0aW9uLWlkPSJ0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiI+PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9jYXJ0L2FkZCIgaWQ9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDE0MTc3NjU0IiBhY2NlcHQtY2hhcnNldD0iVVRGLTgiIGNsYXNzPSJmb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBub3ZhbGlkYXRlPSJub3ZhbGlkYXRlIiBkYXRhLXR5cGU9ImFkZC10by1jYXJ0LWZvcm0iPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1fdHlwZSIgdmFsdWU9InByb2R1Y3QiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXRmOCIgdmFsdWU9IuKckyIgLz48aW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9IjU2MzYzNTUzNTU0ODA2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQxNDE3NzY1NC1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MTQxNzc2NTQtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDE0MTc3NjU0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtc29sZC1vdXQtbWVzc2FnZT0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QWdyZWdhciBhbCBjYXJyaXRvIC0gPHNwYW4gY2xhc3M9ImJ1dHRvbl9fcHJpY2UiPjU1LDAwIOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDQxNDE3NzY1NCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1tYXNjaGVyYS12aXNvLW1hbmRhcmluby10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ01BU0NIRVJBIFZJU08gTUFOREFSSU5PJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzM3MDFXJywKICAgICAgcHJpY2U6ICcxMiwyNSDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnS2lvdGlzJywKICAgICAgaXRlbV9jYXRlZ29yeTE6ICdLaW90aXMnLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LW1hc2NoZXJhLXZpc28tbWFuZGFyaW5vLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiTUFTQ0hFUkEgVklTTyBNQU5EQVJJTk8iLAogICAgICAgICAgICAiaXRlbV9pZCI6ICJJVEFfUFJERTAwMDMzNzAxVyIsCiAgICAgICAgICAgICJwcmljZSI6ICIxMiwyNSDigqwiLAogICAgICAgICAgICAiaXRlbV9icmFuZCI6ICJLaW90aXMiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzM0NTE0XzFfNjFhODg0MzMtMTY5Yy00ZDA0LTgyOTUtNDJhODAwYmFkZTNiLmpwZz92PTE3NTkxNDg2NTAmd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMzQ1MTRfMV82MWE4ODQzMy0xNjljLTRkMDQtODI5NS00MmE4MDBiYWRlM2IuanBnP3Y9MTc1OTE0ODY1MCZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF8zNDUxNF8xXzYxYTg4NDMzLTE2OWMtNGQwNC04Mjk1LTQyYTgwMGJhZGUzYi5qcGc/dj0xNzU5MTQ4NjUwIDQ5OXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMzQ1MTRfMV82MWE4ODQzMy0xNjljLTRkMDQtODI5NS00MmE4MDBiYWRlM2IuanBnP3Y9MTc1OTE0ODY1MCZ3aWR0aD01MzMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPSIobWluLXdpZHRoOiAxNjAwcHgpIDM2N3B4LCAobWluLXdpZHRoOiA5OTBweCkgY2FsYygoMTAwdncgLSAxMzBweCkgLyA0KSwgKG1pbi13aWR0aDogNzUwcHgpIGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gMyksIGNhbGMoKDEwMHZ3IC0gMzVweCkgLyAyKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJNQVNDSEVSQSBWSVNPIE1BTkRBUklOTyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1vdGlvbi1yZWR1Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSI0OTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDM5NzM2NzY3MCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDM5NzM2NzY3MCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUyNjg4MTY1NCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvbWFzY2hlcmEtdmlzby1tYW5kYXJpbm8iPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19iYWRnZSB0b3AgbGVmdCI+PHNwYW4gaWQ9IkJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3MzY3NjcwIiBjbGFzcz0iYmFkZ2UgYmFkZ2UtLWJvdHRvbS1sZWZ0IGNvbG9yLXNjaGVtZS1kNmE1YzAzNi02YzQ1LTQ3Y2YtYWRkNi1iYWRmZWZiNDVmZDkiPi0yOSUKPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj48ZGl2IGNsYXNzPSJjYXJkX190eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpb3RpcwogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzM2NzY3MCIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvbWFzY2hlcmEtdmlzby1tYW5kYXJpbm8iIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzM2NzY3MCIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzM2NzY3MCBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzM2NzY3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNjYXJpbGxhIGZhY2lhbCBoaWRyYXRhbnRlIGhlbGFkYSAKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIE1BU0NIRVJBIFZJU08gTUFOREFSSU5PCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvcm1hdGlvbiI+PHNwYW4gY2xhc3M9ImNhcHRpb24tbGFyZ2UgbGlnaHQiPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uLWZvcm0tcmF0aW5nLXByaWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhdGluZy1wcmljZSI+CjxkaXYKICBjbGFzcz0iCiAgICBwcmljZSAgcHJpY2UtLW9uLXNhbGUiCj4KICA8ZGl2IGNsYXNzPSJwcmljZV9fY29udGFpbmVyIj48ZGl2IGNsYXNzPSJwcmljZV9fcmVndWxhciI+PHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGhhYml0dWFsPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgMTIsMjUg4oKsCiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPGRpdiBjbGFzcz0icHJpY2VfX3NhbGUiPgogICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGRlIG9mZXJ0YTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tc2FsZSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICAxMiwyNSDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAxNywxNSDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzM2NzY3MCIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNjg4MTY1NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3MzY3NjcwLXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTczNjc2NzAtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3MzY3NjcwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDM5NzM2NzY3MCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0Mzk3MzY3NjcwIiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0Mzk3MzY3NjcwIiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYzNTI2ODgxNjU0IiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9tYXNjaGVyYS12aXNvLW1hbmRhcmlubyI+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNjYXJpbGxhIGZhY2lhbCBoaWRyYXRhbnRlIGhlbGFkYQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgTUFTQ0hFUkEgVklTTyBNQU5EQVJJTk8KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48dWwgY2xhc3M9Imxpc3QtdW5zdHlsZWQgY2FyZF9fdmFyaWFudC1rZXlfcG9pbnRzIj48bGk+PHNwYW4+SGlkcmF0YSB5IHJlbGxlbmEgbGEgcGllbC48L3NwYW4+PC9saT48bGk+PHNwYW4+U3UgdGV4dHVyYSBlc21lcmlsYWRhIHByb3BvcmNpb25hIHVuIGVmZWN0byByZWZyZXNjYW50ZSB5IGFncmFkYWJsZSBwYXJhIGxhIHBpZWwuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkNvbnRpZW5lIG3DoXMgZGVsIDk4JSBkZSBpbmdyZWRpZW50ZXMgZGUgb3JpZ2VuIG5hdHVyYWwuPC9zcGFuPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgbm8tanMtaGlkZGVuIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzM2NzY3MCIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImlkIiBkYXRhLXByb2R1Y3RpZD0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNjg4MTY1NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTczNjc2NzAtc3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InF1aWNrLWFkZF9fc3VibWl0IGJ1dHRvbiBidXR0b24tLWZ1bGwtd2lkdGggYnV0dG9uLS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3MzY3NjcwLXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzM2NzY3MCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFncmVnYXIgYWwgY2Fycml0byAtIDxzcGFuIGNsYXNzPSJidXR0b25fX3ByaWNlIj4xMiwyNSDigqw8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNvbGQtb3V0LW1lc3NhZ2UgaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQzOTczNjc2NzAiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4=
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1nZW50bGUtc2hhbXBvby03NDAtbWwtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2InKTsKICAgIHByb2R1Y3RDYXJkcy5mb3JFYWNoKGZ1bmN0aW9uIChjYXJkKSB7CiAgICAgIGlmIChjYXJkLmNsb3Nlc3QoJy5ndG0tdHJhY2tpbmctY3Jvc3NzZWxsJykgIT09IG51bGwpIHsKICAgICAgICBsaXN0TmFtZSA9IGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKS5nZXRBdHRyaWJ1dGUoJ2d0bS10cmFja2luZy1jcm9zc3NlbGwnKTsKICAgICAgfQogICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgdmFyIHByb2R1Y3REYXRhID0gSlNPTi5wYXJzZShjYXJkLmdldEF0dHJpYnV0ZSgnZ3RtLWNhcmQtZGF0YScpKTsKICAgICAgICAvLyBOZWVkIHRvIHB1c2ggbGlzdE5hbWUKICAgICAgICBwcm9kdWN0RGF0YVsnaXRlbV9saXN0X25hbWUnXSA9IGxpc3ROYW1lOwogICAgICAgIC8vIFB1c2ggY2xpY2tlZCBwcm9kdWN0CiAgICAgICAgYXhJdGVtLnB1c2gocHJvZHVjdERhdGEpOwogICAgICAgIC8vIFNlbmQgImNsaWNrIiBldmVudAogICAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICAgIGV2ZW50OiAnYXhfcHJvZHVjdF9jbGljaycsCiAgICAgICAgICBheEl0ZW06IGF4SXRlbQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0pOwoKICAgIC8vIFB1c2ggYWxsIHByb2R1Y3QgaW4gZGF0YUxheWVyCiAgICBheFByb2R1Y3RMaXN0LnB1c2goewogICAgICBpdGVtX25hbWU6ICdHRU5UTEUgU0hBTVBPTyA3NDAgTUwnLAogICAgICBpdGVtX2lkOiAnSVRBX1BSREUwMDAzMzkyM1cnLAogICAgICBwcmljZTogJzgsMDAg4oKsJywKICAgICAgaXRlbV9icmFuZDogJ1N0YW5ob21lJywKICAgICAgaXRlbV9jYXRlZ29yeTE6ICdTdGFuaG9tZScsCiAgICAgIGl0ZW1fY2F0ZWdvcnkyOiAnQWxsIHByb2R1Y3RzJywKICAgICAgaXRlbV9jYXRlZ29yeTM6ICcnLAogICAgICBpdGVtX3ZhcmlhbnQ6ICdEZWZhdWx0IFRpdGxlJywKICAgICAgaXRlbV9saXN0X25hbWU6IGxpc3ROYW1lCiAgICB9KTsKCiAgICAvLyBTZW5kICJmaW5pc2hlZCIgZXZlbnQKICAgIGlmIChheFByb2R1Y3RMaXN0Lmxlbmd0aCA9PT0gd2luZG93LnRoZW1lLml0ZW1zX2NvdW50KSB7CiAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICBldmVudDogJ2F4X3Byb2R1Y3RfbGlzdF9jb21wbGV0ZScsCiAgICAgICAgYXhQcm9kdWN0TGlzdDogYXhQcm9kdWN0TGlzdCwKICAgICAgfSk7CiAgICB9CiAgfSk7CgogIGZ1bmN0aW9uIGNsaWNrUHJvZHVjdChwcm9kdWN0RGF0YSkge30KPC9zY3JpcHQ+CgoKPHNjcmlwdCBkZWZlcj4KICBmdW5jdGlvbiBzd3ltQ2FsbGJhY2tGbihzd2F0KSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzd3ltOmNvbGxlY3Rpb25zLWxvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgc3dhdC5pbml0aWFsaXplQWN0aW9uQnV0dG9ucygnPDxDb2xsZWN0aW9ucyBHcmlkIFBBUkVOVCBTZWxlY3RvciA+PicpOwogICAgfSk7CiAgfQogIGlmICghd2luZG93LlN3eW1DYWxsYmFja3MpIHsKICAgIHdpbmRvdy5Td3ltQ2FsbGJhY2tzID0gW107CiAgfQogIHdpbmRvdy5Td3ltQ2FsbGJhY2tzLnB1c2goc3d5bUNhbGxiYWNrRm4pOwo8L3NjcmlwdD4KCgogICAgCgogICAgPGRpdiBjbGFzcz0iY2FyZC13cmFwcGVyIHByb2R1Y3QtbWluaWF0dXJlIHByb2R1Y3QtY2FyZC13cmFwcGVyIHVuZGVybGluZS1saW5rcy1ob3ZlciBndG0tY2FyZC1wcm9kdWN0IGd0bS1jYXJkLXByb2R1Y3QtZ2VudGxlLXNoYW1wb28tNzQwLW1sLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiR0VOVExFIFNIQU1QT08gNzQwIE1MIiwKICAgICAgICAgICAgIml0ZW1faWQiOiAiSVRBX1BSREUwMDAzMzkyM1ciLAogICAgICAgICAgICAicHJpY2UiOiAiOCwwMCDigqwiLAogICAgICAgICAgICAiaXRlbV9icmFuZCI6ICJTdGFuaG9tZSIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MSI6ICIiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTIiOiAiYWxsLXByb2R1Y3RzIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkzIjogbnVsbCwKICAgICAgICAgICAgIml0ZW1fdmFyaWFudCI6ICJEZWZhdWx0IFRpdGxlIgogICAgICAgIH0KICAgICc+CiAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9IgogICAgICAgIGNhcmQgY2FyZC0tc3RhbmRhcmQKICAgICAgICAgY2FyZC0tbWVkaWEKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgIgogICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgPgogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNhcmRfX2lubmVyIGNvbG9yLWJhY2tncm91bmQtMSBncmFkaWVudCByYXRpbyIKICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLS1yYXRpby1wZXJjZW50OiAxMDAlOyIKICAgICAgICAgICAgPjxkaXYgY2xhc3M9ImNhcmRfX21lZGlhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEgbWVkaWEtLXRyYW5zcGFyZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyY3NldD0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfNjY4MDdfMV9jZjAwZjNiMi05OTAzLTQ4NzYtOWRkMC1lMGExZWU1ZjM2MzEuanBnP3Y9MTc1OTE0ODU2OCZ3aWR0aD0xNjUgMTY1dywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF82NjgwN18xX2NmMDBmM2IyLTk5MDMtNDg3Ni05ZGQwLWUwYTFlZTVmMzYzMS5qcGc/dj0xNzU5MTQ4NTY4JndpZHRoPTM2MCAzNjB3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzY2ODA3XzFfY2YwMGYzYjItOTkwMy00ODc2LTlkZDAtZTBhMWVlNWYzNjMxLmpwZz92PTE3NTkxNDg1Njgmd2lkdGg9NTMzIDUzM3csLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfNjY4MDdfMV9jZjAwZjNiMi05OTAzLTQ4NzYtOWRkMC1lMGExZWU1ZjM2MzEuanBnP3Y9MTc1OTE0ODU2OCZ3aWR0aD03MjAgNzIwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF82NjgwN18xX2NmMDBmM2IyLTk5MDMtNDg3Ni05ZGQwLWUwYTFlZTVmMzYzMS5qcGc/dj0xNzU5MTQ4NTY4JndpZHRoPTk0MCA5NDB3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzY2ODA3XzFfY2YwMGYzYjItOTkwMy00ODc2LTlkZDAtZTBhMWVlNWYzNjMxLmpwZz92PTE3NTkxNDg1Njgmd2lkdGg9MTA2NiAxMDY2dywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF82NjgwN18xX2NmMDBmM2IyLTk5MDMtNDg3Ni05ZGQwLWUwYTFlZTVmMzYzMS5qcGc/dj0xNzU5MTQ4NTY4IDEyMDB3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzY2ODA3XzFfY2YwMGYzYjItOTkwMy00ODc2LTlkZDAtZTBhMWVlNWYzNjMxLmpwZz92PTE3NTkxNDg1Njgmd2lkdGg9NTMzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplcz0iKG1pbi13aWR0aDogMTYwMHB4KSAzNjdweCwgKG1pbi13aWR0aDogOTkwcHgpIGNhbGMoKDEwMHZ3IC0gMTMwcHgpIC8gNCksIChtaW4td2lkdGg6IDc1MHB4KSBjYWxjKCgxMDB2dyAtIDEyMHB4KSAvIDMpLCBjYWxjKCgxMDB2dyAtIDM1cHgpIC8gMikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iR0VOVExFIFNIQU1QT08gNzQwIE1MIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibW90aW9uLXJlZHVjZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9IjEyMDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTIwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD0iQWRkIHRvIFdpc2hsaXN0IiBkYXRhLXdpdGgtZXBpPSJ0cnVlIiBjbGFzcz0ic3d5bS1idXR0b24gc3d5bS1hZGQtdG8td2lzaGxpc3Qtdmlldy1wcm9kdWN0IHByb2R1Y3RfMTUzNjQzOTc4MjY0MjIiIGRhdGEtc3dhY3Rpb249ImFkZFRvV2lzaGxpc3QiIGRhdGEtcHJvZHVjdC1pZD0iMTUzNjQzOTc4MjY0MjIiIGRhdGEtdmFyaWFudC1pZD0iNTYzNjM1MjczNzMxNzQiIGRhdGEtcHJvZHVjdC11cmw9Imh0dHBzOi8vd3d3LnN0YW5ob21lLmVzL3Byb2R1Y3RzL2dlbnRsZS1zaGFtcG9vLTc0MC1tbCI+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBTd3ltIFdpc2hsaXN0IFBsdXMgRVBJIEJ1dHRvbi0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2JhZGdlIHRvcCBsZWZ0Ij48c3BhbiBpZD0iQmFkZ2UtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQzOTc4MjY0MjIiIGNsYXNzPSJiYWRnZSBiYWRnZS0tYm90dG9tLWxlZnQgY29sb3Itc2NoZW1lLWQ2YTVjMDM2LTZjNDUtNDdjZi1hZGQ2LWJhZGZlZmI0NWZkOSI+LTUwJQo8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faW5mb3JtYXRpb24iPjxkaXYgY2xhc3M9ImNhcmRfX3R5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmhvbWUKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHAgY2xhc3M9ImNhcmRfX2hlYWRpbmcgaDUiICBpZD0idGl0bGUtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQzOTc4MjY0MjIiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3Byb2R1Y3RzL2dlbnRsZS1zaGFtcG9vLTc0MC1tbCIgaWQ9IkNhcmRMaW5rLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3ODI2NDIyIiBjbGFzcz0iZnVsbC11bnN0eWxlZC1saW5rIGZ1bGwtdW5zdHlsZWQtbGluay1wcm9kdWN0IiBhcmlhLWxhYmVsbGVkYnk9IkNhcmRMaW5rLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3ODI2NDIyIEJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3ODI2NDIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW1ww7ogc3VhdmUgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBHRU5UTEUgU0hBTVBPTyA3NDAgTUwKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWluZm9ybWF0aW9uIj48c3BhbiBjbGFzcz0iY2FwdGlvbi1sYXJnZSBsaWdodCI+PC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faW5mb3JtYXRpb24tZm9ybS1yYXRpbmctcHJpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmF0aW5nLXByaWNlIj4KPGRpdgogIGNsYXNzPSIKICAgIHByaWNlICBwcmljZS0tb24tc2FsZSIKPgogIDxkaXYgY2xhc3M9InByaWNlX19jb250YWluZXIiPjxkaXYgY2xhc3M9InByaWNlX19yZWd1bGFyIj48c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tcmVndWxhciI+CiAgICAgICAgICA4LDAwIOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgOCwwMCDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAxNiwwMyDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzgyNjQyMiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNzM3MzE3NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3ODI2NDIyLXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTc4MjY0MjItc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk3ODI2NDIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDM5NzgyNjQyMiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0Mzk3ODI2NDIyIiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0Mzk3ODI2NDIyIiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYzNTI3MzczMTc0IiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9nZW50bGUtc2hhbXBvby03NDAtbWwiPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbXDDuiBzdWF2ZQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgR0VOVExFIFNIQU1QT08gNzQwIE1MCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIGNhcmRfX3ZhcmlhbnQta2V5X3BvaW50cyI+PGxpPjxzcGFuPkxpbXBpYSB5IGNhbG1hIGVsIGN1ZXJvIGNhYmVsbHVkby48L3NwYW4+PC9saT48bGk+PHNwYW4+RGVqYSBlbCBjYWJlbGxvIHN1YXZlIHkgYnJpbGxhbnRlPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkNvbnRpZW5lIG3DoXMgZGVsIDk1JSBkZSBpbmdyZWRpZW50ZXMgZGUgb3JpZ2VuIG5hdHVyYWwuPC9zcGFuPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgbm8tanMtaGlkZGVuIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NzgyNjQyMiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImlkIiBkYXRhLXByb2R1Y3RpZD0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNzM3MzE3NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTc4MjY0MjItc3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InF1aWNrLWFkZF9fc3VibWl0IGJ1dHRvbiBidXR0b24tLWZ1bGwtd2lkdGggYnV0dG9uLS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk3ODI2NDIyLXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NzgyNjQyMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFncmVnYXIgYWwgY2Fycml0byAtIDxzcGFuIGNsYXNzPSJidXR0b25fX3ByaWNlIj44LDAwIOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDM5NzgyNjQyMiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1leHRyZW1lLXRhdHRvby1nZWwtcGVuY2lsLW9ueXgtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2InKTsKICAgIHByb2R1Y3RDYXJkcy5mb3JFYWNoKGZ1bmN0aW9uIChjYXJkKSB7CiAgICAgIGlmIChjYXJkLmNsb3Nlc3QoJy5ndG0tdHJhY2tpbmctY3Jvc3NzZWxsJykgIT09IG51bGwpIHsKICAgICAgICBsaXN0TmFtZSA9IGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKS5nZXRBdHRyaWJ1dGUoJ2d0bS10cmFja2luZy1jcm9zc3NlbGwnKTsKICAgICAgfQogICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgdmFyIHByb2R1Y3REYXRhID0gSlNPTi5wYXJzZShjYXJkLmdldEF0dHJpYnV0ZSgnZ3RtLWNhcmQtZGF0YScpKTsKICAgICAgICAvLyBOZWVkIHRvIHB1c2ggbGlzdE5hbWUKICAgICAgICBwcm9kdWN0RGF0YVsnaXRlbV9saXN0X25hbWUnXSA9IGxpc3ROYW1lOwogICAgICAgIC8vIFB1c2ggY2xpY2tlZCBwcm9kdWN0CiAgICAgICAgYXhJdGVtLnB1c2gocHJvZHVjdERhdGEpOwogICAgICAgIC8vIFNlbmQgImNsaWNrIiBldmVudAogICAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICAgIGV2ZW50OiAnYXhfcHJvZHVjdF9jbGljaycsCiAgICAgICAgICBheEl0ZW06IGF4SXRlbQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0pOwoKICAgIC8vIFB1c2ggYWxsIHByb2R1Y3QgaW4gZGF0YUxheWVyCiAgICBheFByb2R1Y3RMaXN0LnB1c2goewogICAgICBpdGVtX25hbWU6ICdFeHRyZW1lIHRhdHRvbyBnZWwgcGVuY2lsIE9OWVgnLAogICAgICBpdGVtX2lkOiAnSVRBX1BSREUwMDAzMTc3MFcnLAogICAgICBwcmljZTogJzUsMDAg4oKsJywKICAgICAgaXRlbV9icmFuZDogJ0Zsb3JtYXInLAogICAgICBpdGVtX2NhdGVnb3J5MTogJ0Zsb3JtYXInLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LWV4dHJlbWUtdGF0dG9vLWdlbC1wZW5jaWwtb255eC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiIgZ3RtLWNhcmQtZGF0YT0nCiAgICAgICAgewogICAgICAgICAgICAiaXRlbV9uYW1lIjogIkV4dHJlbWUgdGF0dG9vIGdlbCBwZW5jaWwgT05ZWCIsCiAgICAgICAgICAgICJpdGVtX2lkIjogIklUQV9QUkRFMDAwMzE3NzBXIiwKICAgICAgICAgICAgInByaWNlIjogIjUsMDAg4oKsIiwKICAgICAgICAgICAgIml0ZW1fYnJhbmQiOiAiRmxvcm1hciIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MSI6ICIiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTIiOiAiYWxsLXByb2R1Y3RzIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkzIjogbnVsbCwKICAgICAgICAgICAgIml0ZW1fdmFyaWFudCI6ICJEZWZhdWx0IFRpdGxlIgogICAgICAgIH0KICAgICc+CiAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9IgogICAgICAgIGNhcmQgY2FyZC0tc3RhbmRhcmQKICAgICAgICAgY2FyZC0tbWVkaWEKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgIgogICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgPgogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNhcmRfX2lubmVyIGNvbG9yLWJhY2tncm91bmQtMSBncmFkaWVudCByYXRpbyIKICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLS1yYXRpby1wZXJjZW50OiAxMDAlOyIKICAgICAgICAgICAgPjxkaXYgY2xhc3M9ImNhcmRfX21lZGlhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEgbWVkaWEtLXRyYW5zcGFyZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyY3NldD0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfQzAyODg4Ml8xX2NjOGM3NjIzLWJhOTItNDdiMC1iMDYyLWE3NTY3MjgzYjM3Zi5qcGc/dj0xNzU5MTM4OTUzJndpZHRoPTE2NSAxNjV3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0X0MwMjg4ODJfMV9jYzhjNzYyMy1iYTkyLTQ3YjAtYjA2Mi1hNzU2NzI4M2IzN2YuanBnP3Y9MTc1OTEzODk1MyZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF9DMDI4ODgyXzFfY2M4Yzc2MjMtYmE5Mi00N2IwLWIwNjItYTc1NjcyODNiMzdmLmpwZz92PTE3NTkxMzg5NTMmd2lkdGg9NTMzIDUzM3csLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfQzAyODg4Ml8xX2NjOGM3NjIzLWJhOTItNDdiMC1iMDYyLWE3NTY3MjgzYjM3Zi5qcGc/dj0xNzU5MTM4OTUzJndpZHRoPTcyMCA3MjB3LC8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0X0MwMjg4ODJfMV9jYzhjNzYyMy1iYTkyLTQ3YjAtYjA2Mi1hNzU2NzI4M2IzN2YuanBnP3Y9MTc1OTEzODk1MyZ3aWR0aD05NDAgOTQwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF9DMDI4ODgyXzFfY2M4Yzc2MjMtYmE5Mi00N2IwLWIwNjItYTc1NjcyODNiMzdmLmpwZz92PTE3NTkxMzg5NTMmd2lkdGg9MTA2NiAxMDY2dywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF9DMDI4ODgyXzFfY2M4Yzc2MjMtYmE5Mi00N2IwLWIwNjItYTc1NjcyODNiMzdmLmpwZz92PTE3NTkxMzg5NTMgMTIwMHcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfQzAyODg4Ml8xX2NjOGM3NjIzLWJhOTItNDdiMC1iMDYyLWE3NTY3MjgzYjM3Zi5qcGc/dj0xNzU5MTM4OTUzJndpZHRoPTUzMyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZXM9IihtaW4td2lkdGg6IDE2MDBweCkgMzY3cHgsIChtaW4td2lkdGg6IDk5MHB4KSBjYWxjKCgxMDB2dyAtIDEzMHB4KSAvIDQpLCAobWluLXdpZHRoOiA3NTBweCkgY2FsYygoMTAwdncgLSAxMjBweCkgLyAzKSwgY2FsYygoMTAwdncgLSAzNXB4KSAvIDIpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IkV4dHJlbWUgdGF0dG9vIGdlbCBwZW5jaWwgT05ZWCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1vdGlvbi1yZWR1Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSIxMjAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjEyMDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iY2FyZF9fY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBTd3ltIFdpc2hsaXN0IFBsdXMgRVBJIEJ1dHRvbiB3aXRoIGRlZmF1bHQgZmlyc3QgdmFyaWFudCAtLT4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0MTcwNjc4NjQ2IiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0MTcwNjc4NjQ2IiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYyODUxNDAyMTAyIiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9leHRyZW1lLXRhdHRvby1nZWwtcGVuY2lsLW9ueXgiPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19iYWRnZSB0b3AgbGVmdCI+PHNwYW4gaWQ9IkJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0MTcwNjc4NjQ2IiBjbGFzcz0iYmFkZ2UgYmFkZ2UtLWJvdHRvbS1sZWZ0IGNvbG9yLXNjaGVtZS1kNmE1YzAzNi02YzQ1LTQ3Y2YtYWRkNi1iYWRmZWZiNDVmZDkiPi01OCUKPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj48ZGl2IGNsYXNzPSJjYXJkX190eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb3JtYXIKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHAgY2xhc3M9ImNhcmRfX2hlYWRpbmcgaDUiICBpZD0idGl0bGUtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQxNzA2Nzg2NDYiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3Byb2R1Y3RzL2V4dHJlbWUtdGF0dG9vLWdlbC1wZW5jaWwtb255eCIgaWQ9IkNhcmRMaW5rLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0MTcwNjc4NjQ2IiBjbGFzcz0iZnVsbC11bnN0eWxlZC1saW5rIGZ1bGwtdW5zdHlsZWQtbGluay1wcm9kdWN0IiBhcmlhLWxhYmVsbGVkYnk9IkNhcmRMaW5rLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0MTcwNjc4NjQ2IEJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0MTcwNjc4NjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGzDoXBpeiBkZWxpbmVhZG9yIGRlIG9qb3MgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBFeHRyZW1lIHRhdHRvbyBnZWwgcGVuY2lsIE9OWVgKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWluZm9ybWF0aW9uIj48c3BhbiBjbGFzcz0iY2FwdGlvbi1sYXJnZSBsaWdodCI+PC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faW5mb3JtYXRpb24tZm9ybS1yYXRpbmctcHJpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmF0aW5nLXByaWNlIj4KPGRpdgogIGNsYXNzPSIKICAgIHByaWNlICBwcmljZS0tb24tc2FsZSIKPgogIDxkaXYgY2xhc3M9InByaWNlX19jb250YWluZXIiPjxkaXYgY2xhc3M9InByaWNlX19yZWd1bGFyIj48c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tcmVndWxhciI+CiAgICAgICAgICA1LDAwIOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgNSwwMCDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAxMiwwMCDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDE3MDY3ODY0NiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2Mjg1MTQwMjEwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0MTcwNjc4NjQ2LXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQxNzA2Nzg2NDYtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0MTcwNjc4NjQ2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDE3MDY3ODY0NiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0MTcwNjc4NjQ2IiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0MTcwNjc4NjQ2IiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYyODUxNDAyMTAyIiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9leHRyZW1lLXRhdHRvby1nZWwtcGVuY2lsLW9ueXgiPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbMOhcGl6IGRlbGluZWFkb3IgZGUgb2pvcwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgRXh0cmVtZSB0YXR0b28gZ2VsIHBlbmNpbCBPTllYCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIGNhcmRfX3ZhcmlhbnQta2V5X3BvaW50cyI+PGxpPjxzcGFuPkzDoXBpeiBkZWxpbmVhZG9yIGRlIG9qb3MgYWx0YW1lbnRlIHBpZ21lbnRhZG8gY29uIGNvbG9yZXMgaW50ZW5zb3MgeSB2aWJyYW50ZXMuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkRhIHVuYSBsw61uZWEgdW5pZm9ybWUgZGVzZGUgbGEgcHJpbWVyYSBhcGxpY2FjacOzbi48L3NwYW4+PC9saT48bGk+PHNwYW4+U3UgZsOzcm11bGEgcmVzaXN0ZW50ZSBhbCBhZ3VhIGxlIHBlcm1pdGUgZHVyYXIgaGFzdGEgMjQgaG9yYXMuPC9zcGFuPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgbm8tanMtaGlkZGVuIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDE3MDY3ODY0NiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImlkIiBkYXRhLXByb2R1Y3RpZD0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2Mjg1MTQwMjEwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQxNzA2Nzg2NDYtc3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InF1aWNrLWFkZF9fc3VibWl0IGJ1dHRvbiBidXR0b24tLWZ1bGwtd2lkdGggYnV0dG9uLS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0MTcwNjc4NjQ2LXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDE3MDY3ODY0NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFncmVnYXIgYWwgY2Fycml0byAtIDxzcGFuIGNsYXNzPSJidXR0b25fX3ByaWNlIj41LDAwIOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDE3MDY3ODY0NiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1lc2ZvbGlhbnRlLWNvcnBvLWFsLXNhbGUtbGF2YW5kYS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ0VTRk9MSUFOVEUgQ09SUE8gQUwgU0FMRSBMQVZBTkRBJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzM2OTFXJywKICAgICAgcHJpY2U6ICcxMSw0NCDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnS2lvdGlzJywKICAgICAgaXRlbV9jYXRlZ29yeTE6ICdLaW90aXMnLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LWVzZm9saWFudGUtY29ycG8tYWwtc2FsZS1sYXZhbmRhLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiRVNGT0xJQU5URSBDT1JQTyBBTCBTQUxFIExBVkFOREEiLAogICAgICAgICAgICAiaXRlbV9pZCI6ICJJVEFfUFJERTAwMDMzNjkxVyIsCiAgICAgICAgICAgICJwcmljZSI6ICIxMSw0NCDigqwiLAogICAgICAgICAgICAiaXRlbV9icmFuZCI6ICJLaW90aXMiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzIxNjI4XzFfYmYyNGI4ZGYtZmU3NC00ZjJlLTlkNDItYmVjODA0MzZjMzIzLmpwZz92PTE3NTkxNDg2MjAmd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMjE2MjhfMV9iZjI0YjhkZi1mZTc0LTRmMmUtOWQ0Mi1iZWM4MDQzNmMzMjMuanBnP3Y9MTc1OTE0ODYyMCZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF8yMTYyOF8xX2JmMjRiOGRmLWZlNzQtNGYyZS05ZDQyLWJlYzgwNDM2YzMyMy5qcGc/dj0xNzU5MTQ4NjIwIDQ5OXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMjE2MjhfMV9iZjI0YjhkZi1mZTc0LTRmMmUtOWQ0Mi1iZWM4MDQzNmMzMjMuanBnP3Y9MTc1OTE0ODYyMCZ3aWR0aD01MzMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPSIobWluLXdpZHRoOiAxNjAwcHgpIDM2N3B4LCAobWluLXdpZHRoOiA5OTBweCkgY2FsYygoMTAwdncgLSAxMzBweCkgLyA0KSwgKG1pbi13aWR0aDogNzUwcHgpIGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gMyksIGNhbGMoKDEwMHZ3IC0gMzVweCkgLyAyKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJFU0ZPTElBTlRFIENPUlBPIEFMIFNBTEUgTEFWQU5EQSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1vdGlvbi1yZWR1Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSI0OTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDM5NjgxMDYxNCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDM5NjgxMDYxNCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUyNjMyNDU5OCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZXNmb2xpYW50ZS1jb3Jwby1hbC1zYWxlLWxhdmFuZGEiPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19iYWRnZSB0b3AgbGVmdCI+PHNwYW4gaWQ9IkJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk2ODEwNjE0IiBjbGFzcz0iYmFkZ2UgYmFkZ2UtLWJvdHRvbS1sZWZ0IGNvbG9yLXNjaGVtZS1kNmE1YzAzNi02YzQ1LTQ3Y2YtYWRkNi1iYWRmZWZiNDVmZDkiPi00MCUKPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj48ZGl2IGNsYXNzPSJjYXJkX190eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpb3RpcwogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjgxMDYxNCIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvZXNmb2xpYW50ZS1jb3Jwby1hbC1zYWxlLWxhdmFuZGEiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjgxMDYxNCIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjgxMDYxNCBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjgxMDYxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGZvbGlhbnRlIGNvcnBvcmFsIGNvbiBzYWwgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBFU0ZPTElBTlRFIENPUlBPIEFMIFNBTEUgTEFWQU5EQQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaW5mb3JtYXRpb24iPjxzcGFuIGNsYXNzPSJjYXB0aW9uLWxhcmdlIGxpZ2h0Ij48L3NwYW4+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbi1mb3JtLXJhdGluZy1wcmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYXRpbmctcHJpY2UiPgo8ZGl2CiAgY2xhc3M9IgogICAgcHJpY2UgIHByaWNlLS1vbi1zYWxlIgo+CiAgPGRpdiBjbGFzcz0icHJpY2VfX2NvbnRhaW5lciI+PGRpdiBjbGFzcz0icHJpY2VfX3JlZ3VsYXIiPjxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgIDExLDQ0IOKCrAogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InByaWNlX19zYWxlIj4KICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBkZSBvZmVydGE8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXNhbGUgcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgMTEsNDQg4oKsCiAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idmlzdWFsbHktaGlkZGVuIHZpc3VhbGx5LWhpZGRlbi0taW5saW5lIj5QcmVjaW8gaGFiaXR1YWw8L3NwYW4+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8cyBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1yZWd1bGFyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgMTksMDYg4oKsCiAgICAgICAgICAgIAogICAgICAgICAgPC9zPgogICAgICAgIDwvc3Bhbj48L2Rpdj4KICAgIDxzbWFsbCBjbGFzcz0idW5pdC1wcmljZSBjYXB0aW9uIGhpZGRlbiI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPlByZWNpbyB1bml0YXJpbzwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tbGFzdCI+CiAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4vPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4iPiZuYnNwO3BvciZuYnNwOzwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvc3Bhbj4KICAgIDwvc21hbGw+CiAgPC9kaXY+PC9kaXY+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgcXVpY2stYWRkLW1vYmlsZSBuby1qcy1oaWRkZW4gZXh0cmEtbGFyZ2UtdXAtaGlkZSI+PHByb2R1Y3QtZm9ybSBkYXRhLXNlY3Rpb24taWQ9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2NhcnQvYWRkIiBpZD0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTY4MTA2MTQiIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgY2xhc3M9ImZvcm0iIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5vdmFsaWRhdGU9Im5vdmFsaWRhdGUiIGRhdGEtdHlwZT0iYWRkLXRvLWNhcnQtZm9ybSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90eXBlIiB2YWx1ZT0icHJvZHVjdCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dGY4IiB2YWx1ZT0i4pyTIiAvPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iNTYzNjM1MjYzMjQ1OTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NjgxMDYxNC1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk2ODEwNjE0LXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjgxMDYxNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zb2xkLW91dC1tZXNzYWdlPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnCiAgY2xhc3M9Imljb24gc2gtaWNvbi1jYXJ0LWVtcHR5IgogIGFyaWEtaGlkZGVuPSJ0cnVlIgogIGZvY3VzYWJsZT0iZmFsc2UiCiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHZpZXdCb3g9IjAgMCAxOCAyMiIKICBmaWxsPSJub25lIgo+CiAgPHBhdGggZD0iTTE2LjQxOSA0LjcxM3YxNC4zNDhhMi42MDkgMi42MDkgMCAwIDEtMi42MDkgMi42MDdIMy4zNzZhMi42MDkgMi42MDkgMCAwIDEtMi42MDktMi42MDdWNC43MTNaIiBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgogIDxwYXRoIGQ9Ik00LjY0NyA3LjMyMVY0LjcxMmEzLjk0NiAzLjk0NiAwIDEgMSA3Ljg5MSAwdjIuNjA5IiAgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+CiAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnb3RhZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQzOTY4MTA2MTQiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fY29udGVudC1ob3ZlciI+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uIHdpdGggZGVmYXVsdCBmaXJzdCB2YXJpYW50IC0tPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDM5NjgxMDYxNCIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDM5NjgxMDYxNCIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUyNjMyNDU5OCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvZXNmb2xpYW50ZS1jb3Jwby1hbC1zYWxlLWxhdmFuZGEiPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8IS0tIFN3eW0gV2lzaGxpc3QgUGx1cyBFUEkgQnV0dG9uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19pbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9faGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhmb2xpYW50ZSBjb3Jwb3JhbCBjb24gc2FsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBFU0ZPTElBTlRFIENPUlBPIEFMIFNBTEUgTEFWQU5EQQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pjx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCBjYXJkX192YXJpYW50LWtleV9wb2ludHMiPjxsaT48c3Bhbj5FeGZvbGlhIHN1YXZlbWVudGUgbGEgcGllbCB5IGVsaW1pbmEgbGFzIGPDqWx1bGFzIG11ZXJ0YXMuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkRlamEgdW4gYXJvbWEgZnJlc2NvIHkgcmVsYWphbnRlIGdyYWNpYXMgYSBzdXMgbm90YXMgY8OtdHJpY2FzIHkgbGF2YW5kYS48L3NwYW4+PC9saT48bGk+PHNwYW4+Q29udGllbmUgbcOhcyBkZWwgOTclIGRlIGluZ3JlZGllbnRlcyBkZSBvcmlnZW4gbmF0dXJhbC48L3NwYW4+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBuby1qcy1oaWRkZW4iPjxwcm9kdWN0LWZvcm0gZGF0YS1zZWN0aW9uLWlkPSJ0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiI+PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9jYXJ0L2FkZCIgaWQ9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk2ODEwNjE0IiBhY2NlcHQtY2hhcnNldD0iVVRGLTgiIGNsYXNzPSJmb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBub3ZhbGlkYXRlPSJub3ZhbGlkYXRlIiBkYXRhLXR5cGU9ImFkZC10by1jYXJ0LWZvcm0iPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1fdHlwZSIgdmFsdWU9InByb2R1Y3QiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXRmOCIgdmFsdWU9IuKckyIgLz48aW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9IjU2MzYzNTI2MzI0NTk4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NjgxMDYxNC1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTY4MTA2MTQtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk2ODEwNjE0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtc29sZC1vdXQtbWVzc2FnZT0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QWdyZWdhciBhbCBjYXJyaXRvIC0gPHNwYW4gY2xhc3M9ImJ1dHRvbl9fcHJpY2UiPjExLDQ0IOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDM5NjgxMDYxNCIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1tYXNjaGVyYS1pbi1tb3Vzc2UtbGF2YW5kYS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ01BU0NIRVJBIElOIE1PVVNTRSBMQVZBTkRBJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzM2ODdXJywKICAgICAgcHJpY2U6ICcxMSw1MCDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnS2lvdGlzJywKICAgICAgaXRlbV9jYXRlZ29yeTE6ICdLaW90aXMnLAogICAgICBpdGVtX2NhdGVnb3J5MjogJ0FsbCBwcm9kdWN0cycsCiAgICAgIGl0ZW1fY2F0ZWdvcnkzOiAnJywKICAgICAgaXRlbV92YXJpYW50OiAnRGVmYXVsdCBUaXRsZScsCiAgICAgIGl0ZW1fbGlzdF9uYW1lOiBsaXN0TmFtZQogICAgfSk7CgogICAgLy8gU2VuZCAiZmluaXNoZWQiIGV2ZW50CiAgICBpZiAoYXhQcm9kdWN0TGlzdC5sZW5ndGggPT09IHdpbmRvdy50aGVtZS5pdGVtc19jb3VudCkgewogICAgICBkYXRhTGF5ZXIucHVzaCh7CiAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2xpc3RfY29tcGxldGUnLAogICAgICAgIGF4UHJvZHVjdExpc3Q6IGF4UHJvZHVjdExpc3QsCiAgICAgIH0pOwogICAgfQogIH0pOwoKICBmdW5jdGlvbiBjbGlja1Byb2R1Y3QocHJvZHVjdERhdGEpIHt9Cjwvc2NyaXB0PgoKCjxzY3JpcHQgZGVmZXI+CiAgZnVuY3Rpb24gc3d5bUNhbGxiYWNrRm4oc3dhdCkgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc3d5bTpjb2xsZWN0aW9ucy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgIHN3YXQuaW5pdGlhbGl6ZUFjdGlvbkJ1dHRvbnMoJzw8Q29sbGVjdGlvbnMgR3JpZCBQQVJFTlQgU2VsZWN0b3IgPj4nKTsKICAgIH0pOwogIH0KICBpZiAoIXdpbmRvdy5Td3ltQ2FsbGJhY2tzKSB7CiAgICB3aW5kb3cuU3d5bUNhbGxiYWNrcyA9IFtdOwogIH0KICB3aW5kb3cuU3d5bUNhbGxiYWNrcy5wdXNoKHN3eW1DYWxsYmFja0ZuKTsKPC9zY3JpcHQ+CgoKICAgIAoKICAgIDxkaXYgY2xhc3M9ImNhcmQtd3JhcHBlciBwcm9kdWN0LW1pbmlhdHVyZSBwcm9kdWN0LWNhcmQtd3JhcHBlciB1bmRlcmxpbmUtbGlua3MtaG92ZXIgZ3RtLWNhcmQtcHJvZHVjdCBndG0tY2FyZC1wcm9kdWN0LW1hc2NoZXJhLWluLW1vdXNzZS1sYXZhbmRhLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiBndG0tY2FyZC1kYXRhPScKICAgICAgICB7CiAgICAgICAgICAgICJpdGVtX25hbWUiOiAiTUFTQ0hFUkEgSU4gTU9VU1NFIExBVkFOREEiLAogICAgICAgICAgICAiaXRlbV9pZCI6ICJJVEFfUFJERTAwMDMzNjg3VyIsCiAgICAgICAgICAgICJwcmljZSI6ICIxMSw1MCDigqwiLAogICAgICAgICAgICAiaXRlbV9icmFuZCI6ICJLaW90aXMiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0XzE5MzEwXzFfZWVhNGIzN2MtZWMyNy00MzFhLWFjNWMtZGQ0MmRlYzhkNTM1LmpwZz92PTE3NTkxNDg2NTEmd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMTkzMTBfMV9lZWE0YjM3Yy1lYzI3LTQzMWEtYWM1Yy1kZDQyZGVjOGQ1MzUuanBnP3Y9MTc1OTE0ODY1MSZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF8xOTMxMF8xX2VlYTRiMzdjLWVjMjctNDMxYS1hYzVjLWRkNDJkZWM4ZDUzNS5qcGc/dj0xNzU5MTQ4NjUxIDQ5OXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfMTkzMTBfMV9lZWE0YjM3Yy1lYzI3LTQzMWEtYWM1Yy1kZDQyZGVjOGQ1MzUuanBnP3Y9MTc1OTE0ODY1MSZ3aWR0aD01MzMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPSIobWluLXdpZHRoOiAxNjAwcHgpIDM2N3B4LCAobWluLXdpZHRoOiA5OTBweCkgY2FsYygoMTAwdncgLSAxMzBweCkgLyA0KSwgKG1pbi13aWR0aDogNzUwcHgpIGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gMyksIGNhbGMoKDEwMHZ3IC0gMzVweCkgLyAyKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJNQVNDSEVSQSBJTiBNT1VTU0UgTEFWQU5EQSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1vdGlvbi1yZWR1Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSI0OTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDM5NjUxNTcwMiIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDM5NjUxNTcwMiIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzUyNjAyOTY4NiIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvbWFzY2hlcmEtaW4tbW91c3NlLWxhdmFuZGEiPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19iYWRnZSB0b3AgbGVmdCI+PHNwYW4gaWQ9IkJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk2NTE1NzAyIiBjbGFzcz0iYmFkZ2UgYmFkZ2UtLWJvdHRvbS1sZWZ0IGNvbG9yLXNjaGVtZS1kNmE1YzAzNi02YzQ1LTQ3Y2YtYWRkNi1iYWRmZWZiNDVmZDkiPi0zMyUKPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj48ZGl2IGNsYXNzPSJjYXJkX190eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpb3RpcwogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48cCBjbGFzcz0iY2FyZF9faGVhZGluZyBoNSIgIGlkPSJ0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjUxNTcwMiIgPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvcHJvZHVjdHMvbWFzY2hlcmEtaW4tbW91c3NlLWxhdmFuZGEiIGlkPSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjUxNTcwMiIgY2xhc3M9ImZ1bGwtdW5zdHlsZWQtbGluayBmdWxsLXVuc3R5bGVkLWxpbmstcHJvZHVjdCIgYXJpYS1sYWJlbGxlZGJ5PSJDYXJkTGluay10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjUxNTcwMiBCYWRnZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjUxNTcwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNjYXJpbGxhIGZhY2lhbCBlc3B1bW9zYSB5IG51dHJpdGl2YSAKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIE1BU0NIRVJBIElOIE1PVVNTRSBMQVZBTkRBCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvcm1hdGlvbiI+PHNwYW4gY2xhc3M9ImNhcHRpb24tbGFyZ2UgbGlnaHQiPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uLWZvcm0tcmF0aW5nLXByaWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhdGluZy1wcmljZSI+CjxkaXYKICBjbGFzcz0iCiAgICBwcmljZSAgcHJpY2UtLW9uLXNhbGUiCj4KICA8ZGl2IGNsYXNzPSJwcmljZV9fY29udGFpbmVyIj48ZGl2IGNsYXNzPSJwcmljZV9fcmVndWxhciI+PHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGhhYml0dWFsPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgMTEsNTAg4oKsCiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPGRpdiBjbGFzcz0icHJpY2VfX3NhbGUiPgogICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGRlIG9mZXJ0YTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tc2FsZSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICAxMSw1MCDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAxNywxNSDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NjUxNTcwMiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNjAyOTY4NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk2NTE1NzAyLXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTY1MTU3MDItc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0Mzk2NTE1NzAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDM5NjUxNTcwMiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0Mzk2NTE1NzAyIiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0Mzk2NTE1NzAyIiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYzNTI2MDI5Njg2IiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9tYXNjaGVyYS1pbi1tb3Vzc2UtbGF2YW5kYSI+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNjYXJpbGxhIGZhY2lhbCBlc3B1bW9zYSB5IG51dHJpdGl2YQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX192YXJpYW50LXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgTUFTQ0hFUkEgSU4gTU9VU1NFIExBVkFOREEKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48dWwgY2xhc3M9Imxpc3QtdW5zdHlsZWQgY2FyZF9fdmFyaWFudC1rZXlfcG9pbnRzIj48bGk+PHNwYW4+TnV0cmUgeSByZWFsemEgbGEgcGllbCBkZWwgcm9zdHJvLjwvc3Bhbj48L2xpPjxsaT48c3Bhbj5BY3TDumEgZW4gdGFuIHPDs2xvIDEwIG1pbnV0b3MuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPkNvbnRpZW5lIG3DoXMgZGVsIDk4JSBkZSBpbmdyZWRpZW50ZXMgZGUgb3JpZ2VuIG5hdHVyYWwuPC9zcGFuPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJxdWljay1hZGQgbm8tanMtaGlkZGVuIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDM5NjUxNTcwMiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iaGlkZGVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImlkIiBkYXRhLXByb2R1Y3RpZD0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzUyNjAyOTY4NiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdC12YXJpYW50LWlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQzOTY1MTU3MDItc3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJhZGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InF1aWNrLWFkZF9fc3VibWl0IGJ1dHRvbiBidXR0b24tLWZ1bGwtd2lkdGggYnV0dG9uLS1wcmltYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0Mzk2NTE1NzAyLXN1Ym1pdCB0aXRsZS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYi0xNTM2NDM5NjUxNTcwMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFncmVnYXIgYWwgY2Fycml0byAtIDxzcGFuIGNsYXNzPSJidXR0b25fX3ByaWNlIj4xMSw1MCDigqw8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNvbGQtb3V0LW1lc3NhZ2UgaGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgoKPGxpbmsgaHJlZj0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvdC82L2Fzc2V0cy9jb21wb25lbnQtbG9hZGluZy1zcGlubmVyLmNzcz92PTExNjcyNDk1NTU2Nzk1NTc2NjQ4MTcwMTE5MDM3NiIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCjxkaXYgY2xhc3M9ImxvYWRpbmdfX3NwaW5uZXIgaGlkZGVuIj4KICA8c3ZnCiAgICBhcmlhLWhpZGRlbj0idHJ1ZSIKICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICBjbGFzcz0ic3Bpbm5lciIKICAgIHZpZXdCb3g9IjAgMCA2NiA2NiIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICA+CiAgICA8Y2lyY2xlIGNsYXNzPSJwYXRoIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjYiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCI+PC9jaXJjbGU+CiAgPC9zdmc+CjwvZGl2Pgo8L2J1dHRvbj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9kdWN0LWlkIiB2YWx1ZT0iMTUzNjQzOTY1MTU3MDIiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VjdGlvbi1pZCIgdmFsdWU9InRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiIiAvPjwvZm9ybT48L3Byb2R1Y3QtZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4=
Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1yYXRpbmcuY3NzP3Y9MTU3NzcxODU0NTkyMTM3MTM3ODQxNzAxMTkwMzczIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC12b2x1bWUtcHJpY2luZy5jc3M/dj01NzY1MTQ2MDk1NDMwNjM5NTMzMTcwMTE5MDM3NCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KCgoKCjxzY3JpcHQ+CiAgLy8gQ3JlYXRlIFByb2R1Y3QgTGlzdCBhcnJheQogIGlmICghYXhQcm9kdWN0TGlzdCkgewogICAgdmFyIGF4UHJvZHVjdExpc3QgPSBbXTsKICB9CgogIC8vIENyZWF0ZSBQcm9kdWN0IGNsaWNrIGFycmF5CiAgaWYgKCFheEl0ZW0pIHsKICAgIHZhciBheEl0ZW0gPSBbXTsKICB9CgogIGlmICghbGlzdE5hbWUpIHsKICAgIHZhciBsaXN0TmFtZSA9ICcnOwogIH0gZWxzZSB7CiAgICBsaXN0TmFtZSA9ICcnOwogIH0KCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgIC8vIE9uY2xpY2sgZXZlbnQKICAgIHZhciBwcm9kdWN0Q2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RtLWNhcmQtcHJvZHVjdC1tYXNjaGVyYS1iYWxzYW1vLWxpcG9yZXN0aXR1dGl2YS10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYicpOwogICAgcHJvZHVjdENhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsKICAgICAgaWYgKGNhcmQuY2xvc2VzdCgnLmd0bS10cmFja2luZy1jcm9zc3NlbGwnKSAhPT0gbnVsbCkgewogICAgICAgIGxpc3ROYW1lID0gY2FyZC5jbG9zZXN0KCcuZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpLmdldEF0dHJpYnV0ZSgnZ3RtLXRyYWNraW5nLWNyb3Nzc2VsbCcpOwogICAgICB9CiAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgcHJvZHVjdERhdGEgPSBKU09OLnBhcnNlKGNhcmQuZ2V0QXR0cmlidXRlKCdndG0tY2FyZC1kYXRhJykpOwogICAgICAgIC8vIE5lZWQgdG8gcHVzaCBsaXN0TmFtZQogICAgICAgIHByb2R1Y3REYXRhWydpdGVtX2xpc3RfbmFtZSddID0gbGlzdE5hbWU7CiAgICAgICAgLy8gUHVzaCBjbGlja2VkIHByb2R1Y3QKICAgICAgICBheEl0ZW0ucHVzaChwcm9kdWN0RGF0YSk7CiAgICAgICAgLy8gU2VuZCAiY2xpY2siIGV2ZW50CiAgICAgICAgZGF0YUxheWVyLnB1c2goewogICAgICAgICAgZXZlbnQ6ICdheF9wcm9kdWN0X2NsaWNrJywKICAgICAgICAgIGF4SXRlbTogYXhJdGVtCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgLy8gUHVzaCBhbGwgcHJvZHVjdCBpbiBkYXRhTGF5ZXIKICAgIGF4UHJvZHVjdExpc3QucHVzaCh7CiAgICAgIGl0ZW1fbmFtZTogJ01BU0NIRVJBIEJBTFNBTU8gTElQT1JFU1RJVFVUSVZBJywKICAgICAgaXRlbV9pZDogJ0lUQV9QUkRFMDAwMzU2NzBXJywKICAgICAgcHJpY2U6ICcyNSwwMCDigqwnLAogICAgICBpdGVtX2JyYW5kOiAnRHIgUGllcnJlIFJpY2F1ZCcsCiAgICAgIGl0ZW1fY2F0ZWdvcnkxOiAnRHIgUGllcnJlIFJpY2F1ZCcsCiAgICAgIGl0ZW1fY2F0ZWdvcnkyOiAnQWxsIHByb2R1Y3RzJywKICAgICAgaXRlbV9jYXRlZ29yeTM6ICcnLAogICAgICBpdGVtX3ZhcmlhbnQ6ICdEZWZhdWx0IFRpdGxlJywKICAgICAgaXRlbV9saXN0X25hbWU6IGxpc3ROYW1lCiAgICB9KTsKCiAgICAvLyBTZW5kICJmaW5pc2hlZCIgZXZlbnQKICAgIGlmIChheFByb2R1Y3RMaXN0Lmxlbmd0aCA9PT0gd2luZG93LnRoZW1lLml0ZW1zX2NvdW50KSB7CiAgICAgIGRhdGFMYXllci5wdXNoKHsKICAgICAgICBldmVudDogJ2F4X3Byb2R1Y3RfbGlzdF9jb21wbGV0ZScsCiAgICAgICAgYXhQcm9kdWN0TGlzdDogYXhQcm9kdWN0TGlzdCwKICAgICAgfSk7CiAgICB9CiAgfSk7CgogIGZ1bmN0aW9uIGNsaWNrUHJvZHVjdChwcm9kdWN0RGF0YSkge30KPC9zY3JpcHQ+CgoKPHNjcmlwdCBkZWZlcj4KICBmdW5jdGlvbiBzd3ltQ2FsbGJhY2tGbihzd2F0KSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzd3ltOmNvbGxlY3Rpb25zLWxvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAgICAgc3dhdC5pbml0aWFsaXplQWN0aW9uQnV0dG9ucygnPDxDb2xsZWN0aW9ucyBHcmlkIFBBUkVOVCBTZWxlY3RvciA+PicpOwogICAgfSk7CiAgfQogIGlmICghd2luZG93LlN3eW1DYWxsYmFja3MpIHsKICAgIHdpbmRvdy5Td3ltQ2FsbGJhY2tzID0gW107CiAgfQogIHdpbmRvdy5Td3ltQ2FsbGJhY2tzLnB1c2goc3d5bUNhbGxiYWNrRm4pOwo8L3NjcmlwdD4KCgogICAgCgogICAgPGRpdiBjbGFzcz0iY2FyZC13cmFwcGVyIHByb2R1Y3QtbWluaWF0dXJlIHByb2R1Y3QtY2FyZC13cmFwcGVyIHVuZGVybGluZS1saW5rcy1ob3ZlciBndG0tY2FyZC1wcm9kdWN0IGd0bS1jYXJkLXByb2R1Y3QtbWFzY2hlcmEtYmFsc2Ftby1saXBvcmVzdGl0dXRpdmEtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIGd0bS1jYXJkLWRhdGE9JwogICAgICAgIHsKICAgICAgICAgICAgIml0ZW1fbmFtZSI6ICJNQVNDSEVSQSBCQUxTQU1PIExJUE9SRVNUSVRVVElWQSIsCiAgICAgICAgICAgICJpdGVtX2lkIjogIklUQV9QUkRFMDAwMzU2NzBXIiwKICAgICAgICAgICAgInByaWNlIjogIjI1LDAwIOKCrCIsCiAgICAgICAgICAgICJpdGVtX2JyYW5kIjogIkRyIFBpZXJyZSBSaWNhdWQiLAogICAgICAgICAgICAiaXRlbV9jYXRlZ29yeTEiOiAiIiwKICAgICAgICAgICAgIml0ZW1fY2F0ZWdvcnkyIjogImFsbC1wcm9kdWN0cyIsCiAgICAgICAgICAgICJpdGVtX2NhdGVnb3J5MyI6IG51bGwsCiAgICAgICAgICAgICJpdGVtX3ZhcmlhbnQiOiAiRGVmYXVsdCBUaXRsZSIKICAgICAgICB9CiAgICAnPgogICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSIKICAgICAgICBjYXJkIGNhcmQtLXN0YW5kYXJkCiAgICAgICAgIGNhcmQtLW1lZGlhCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICIKICAgICAgICAgICAgICAgIHN0eWxlPSItLXJhdGlvLXBlcmNlbnQ6IDEwMCU7IgogICAgICAgID4KICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJkX19pbm5lciBjb2xvci1iYWNrZ3JvdW5kLTEgZ3JhZGllbnQgcmF0aW8iCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9Ii0tcmF0aW8tcGVyY2VudDogMTAwJTsiCiAgICAgICAgICAgID48ZGl2IGNsYXNzPSJjYXJkX19tZWRpYSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIG1lZGlhLS10cmFuc3BhcmVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmNzZXQ9Ii8vd3d3LnN0YW5ob21lLmVzL2Nkbi9zaG9wL2ZpbGVzL0FsbF9wcm9kdWN0Xzk3OTU2XzFfNTcxMWQyN2EtZTQ0OS00ZDQwLWJiNTYtNzQ3MDlhZmY1ZmE5LmpwZz92PTE3NTkxNDg3OTUmd2lkdGg9MTY1IDE2NXcsLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc5NTZfMV81NzExZDI3YS1lNDQ5LTRkNDAtYmI1Ni03NDcwOWFmZjVmYTkuanBnP3Y9MTc1OTE0ODc5NSZ3aWR0aD0zNjAgMzYwdywvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC9maWxlcy9BbGxfcHJvZHVjdF85Nzk1Nl8xXzU3MTFkMjdhLWU0NDktNGQ0MC1iYjU2LTc0NzA5YWZmNWZhOS5qcGc/dj0xNzU5MTQ4Nzk1IDQ5OXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iLy93d3cuc3RhbmhvbWUuZXMvY2RuL3Nob3AvZmlsZXMvQWxsX3Byb2R1Y3RfOTc5NTZfMV81NzExZDI3YS1lNDQ5LTRkNDAtYmI1Ni03NDcwOWFmZjVmYTkuanBnP3Y9MTc1OTE0ODc5NSZ3aWR0aD01MzMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVzPSIobWluLXdpZHRoOiAxNjAwcHgpIDM2N3B4LCAobWluLXdpZHRoOiA5OTBweCkgY2FsYygoMTAwdncgLSAxMzBweCkgLyA0KSwgKG1pbi13aWR0aDogNzUwcHgpIGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gMyksIGNhbGMoKDEwMHZ3IC0gMzVweCkgLyAyKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJNQVNDSEVSQSBCQUxTQU1PIExJUE9SRVNUSVRVVElWQSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1vdGlvbi1yZWR1Y2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSI0OTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iNDk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNhcmRfX2NvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPSJBZGQgdG8gV2lzaGxpc3QiIGRhdGEtd2l0aC1lcGk9InRydWUiIGNsYXNzPSJzd3ltLWJ1dHRvbiBzd3ltLWFkZC10by13aXNobGlzdC12aWV3LXByb2R1Y3QgcHJvZHVjdF8xNTM2NDQwODA4MjgwNiIgZGF0YS1zd2FjdGlvbj0iYWRkVG9XaXNobGlzdCIgZGF0YS1wcm9kdWN0LWlkPSIxNTM2NDQwODA4MjgwNiIgZGF0YS12YXJpYW50LWlkPSI1NjM2MzU0NjA1MDkzNCIgZGF0YS1wcm9kdWN0LXVybD0iaHR0cHM6Ly93d3cuc3RhbmhvbWUuZXMvcHJvZHVjdHMvbWFzY2hlcmEtYmFsc2Ftby1saXBvcmVzdGl0dXRpdmEiPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19iYWRnZSB0b3AgbGVmdCI+PHNwYW4gaWQ9IkJhZGdlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDA4MDgyODA2IiBjbGFzcz0iYmFkZ2UgYmFkZ2UtLWJvdHRvbS1sZWZ0IGNvbG9yLXNjaGVtZS1kNmE1YzAzNi02YzQ1LTQ3Y2YtYWRkNi1iYWRmZWZiNDVmZDkiPi0zNiUKPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj48ZGl2IGNsYXNzPSJjYXJkX190eXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyIFBpZXJyZSBSaWNhdWQKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PHAgY2xhc3M9ImNhcmRfX2hlYWRpbmcgaDUiICBpZD0idGl0bGUtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQ0MDgwODI4MDYiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3Byb2R1Y3RzL21hc2NoZXJhLWJhbHNhbW8tbGlwb3Jlc3RpdHV0aXZhIiBpZD0iQ2FyZExpbmstdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQ0MDgwODI4MDYiIGNsYXNzPSJmdWxsLXVuc3R5bGVkLWxpbmsgZnVsbC11bnN0eWxlZC1saW5rLXByb2R1Y3QiIGFyaWEtbGFiZWxsZWRieT0iQ2FyZExpbmstdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQ0MDgwODI4MDYgQmFkZ2UtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2ItMTUzNjQ0MDgwODI4MDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFzY2FyaWxsYSBiw6Fsc2FtbyByZWZyZXNjYW50ZSByZWxpcGlkYW50ZSAKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZF9fdmFyaWFudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIE1BU0NIRVJBIEJBTFNBTU8gTElQT1JFU1RJVFVUSVZBCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvcm1hdGlvbiI+PHNwYW4gY2xhc3M9ImNhcHRpb24tbGFyZ2UgbGlnaHQiPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uLWZvcm0tcmF0aW5nLXByaWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhdGluZy1wcmljZSI+CjxkaXYKICBjbGFzcz0iCiAgICBwcmljZSAgcHJpY2UtLW9uLXNhbGUiCj4KICA8ZGl2IGNsYXNzPSJwcmljZV9fY29udGFpbmVyIj48ZGl2IGNsYXNzPSJwcmljZV9fcmVndWxhciI+PHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGhhYml0dWFsPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgMjUsMDAg4oKsCiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPGRpdiBjbGFzcz0icHJpY2VfX3NhbGUiPgogICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiB2aXN1YWxseS1oaWRkZW4tLWlubGluZSI+UHJlY2lvIGRlIG9mZXJ0YTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWl0ZW0gcHJpY2UtaXRlbS0tc2FsZSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICAyNSwwMCDigqwKICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2aXN1YWxseS1oaWRkZW4gdmlzdWFsbHktaGlkZGVuLS1pbmxpbmUiPlByZWNpbyBoYWJpdHVhbDwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICAgIDxzIGNsYXNzPSJwcmljZS1pdGVtIHByaWNlLWl0ZW0tLXJlZ3VsYXIiPgogICAgICAgICAgICAKICAgICAgICAgICAgICAzOSwzMyDigqwKICAgICAgICAgICAgCiAgICAgICAgICA8L3M+CiAgICAgICAgPC9zcGFuPjwvZGl2PgogICAgPHNtYWxsIGNsYXNzPSJ1bml0LXByaWNlIGNhcHRpb24gaGlkZGVuIj4KICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+UHJlY2lvIHVuaXRhcmlvPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icHJpY2UtaXRlbSBwcmljZS1pdGVtLS1sYXN0Ij4KICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPi88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZpc3VhbGx5LWhpZGRlbiI+Jm5ic3A7cG9yJm5ic3A7PC9zcGFuPgogICAgICAgIDxzcGFuPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zbWFsbD4KICA8L2Rpdj48L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBxdWljay1hZGQtbW9iaWxlIG5vLWpzLWhpZGRlbiBleHRyYS1sYXJnZS11cC1oaWRlIj48cHJvZHVjdC1mb3JtIGRhdGEtc2VjdGlvbi1pZD0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvY2FydC9hZGQiIGlkPSJxdWljay1hZGQtbW9iaWxldGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwODA4MjgwNiIgYWNjZXB0LWNoYXJzZXQ9IlVURi04IiBjbGFzcz0iZm9ybSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbm92YWxpZGF0ZT0ibm92YWxpZGF0ZSIgZGF0YS10eXBlPSJhZGQtdG8tY2FydC1mb3JtIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3R5cGUiIHZhbHVlPSJwcm9kdWN0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InV0ZjgiIHZhbHVlPSLinJMiIC8+PGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJpZCIgZGF0YS1wcm9kdWN0aWQ9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSI1NjM2MzU0NjA1MDkzNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InF1aWNrLWFkZC1tb2JpbGV0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDA4MDgyODA2LXN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InN1Ym1pdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJxdWljay1hZGRfX3N1Ym1pdCBidXR0b24gYnV0dG9uLS1mdWxsLXdpZHRoIGJ1dHRvbi0tcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLW1vYmlsZXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDgwODI4MDYtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDA4MDgyODA2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNvbGQtb3V0LW1lc3NhZ2U9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcKICBjbGFzcz0iaWNvbiBzaC1pY29uLWNhcnQtZW1wdHkiCiAgYXJpYS1oaWRkZW49InRydWUiCiAgZm9jdXNhYmxlPSJmYWxzZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgdmlld0JveD0iMCAwIDE4IDIyIgogIGZpbGw9Im5vbmUiCj4KICA8cGF0aCBkPSJNMTYuNDE5IDQuNzEzdjE0LjM0OGEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOSAyLjYwN0gzLjM3NmEyLjYwOSAyLjYwOSAwIDAgMS0yLjYwOS0yLjYwN1Y0LjcxM1oiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggZD0iTTQuNjQ3IDcuMzIxVjQuNzEyYTMuOTQ2IDMuOTQ2IDAgMSAxIDcuODkxIDB2Mi42MDkiICBzdHJva2U9ImN1cnJlbnRDb2xvciIvPgo8L3N2Zz4KICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2xkLW91dC1tZXNzYWdlIGhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdvdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDQwODA4MjgwNiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19jb250ZW50LWhvdmVyIj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24gd2l0aCBkZWZhdWx0IGZpcnN0IHZhcmlhbnQgLS0+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9IkFkZCB0byBXaXNobGlzdCIgZGF0YS13aXRoLWVwaT0idHJ1ZSIgY2xhc3M9InN3eW0tYnV0dG9uIHN3eW0tYWRkLXRvLXdpc2hsaXN0LXZpZXctcHJvZHVjdCBwcm9kdWN0XzE1MzY0NDA4MDgyODA2IiBkYXRhLXN3YWN0aW9uPSJhZGRUb1dpc2hsaXN0IiBkYXRhLXByb2R1Y3QtaWQ9IjE1MzY0NDA4MDgyODA2IiBkYXRhLXZhcmlhbnQtaWQ9IjU2MzYzNTQ2MDUwOTM0IiBkYXRhLXByb2R1Y3QtdXJsPSJodHRwczovL3d3dy5zdGFuaG9tZS5lcy9wcm9kdWN0cy9tYXNjaGVyYS1iYWxzYW1vLWxpcG9yZXN0aXR1dGl2YSI+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwhLS0gU3d5bSBXaXNobGlzdCBQbHVzIEVQSSBCdXR0b24tLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX2luZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkX19oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNjYXJpbGxhIGLDoWxzYW1vIHJlZnJlc2NhbnRlIHJlbGlwaWRhbnRlCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRfX3ZhcmlhbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBNQVNDSEVSQSBCQUxTQU1PIExJUE9SRVNUSVRVVElWQQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pjx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCBjYXJkX192YXJpYW50LWtleV9wb2ludHMiPjxsaT48c3Bhbj5Fc3BlY2lhbG1lbnRlIGRpc2XDsWFkbyBwYXJhIGNvbnRyYXJyZXN0YXIgbGFzIGFsdGVyYWNpb25lcyBjdXTDoW5lYXMgbGlnYWRhcyBhIGxhIG1lbm9wYXVzaWEuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPk1lam9yYSBsYSBhcGFyaWVuY2lhIGRlIGxhIHBpZWwuPC9zcGFuPjwvbGk+PGxpPjxzcGFuPk9mcmVjZSB0cmlwbGUgYWNjacOzbiBzb2JyZSBsYSBwaWVsIGRlbCByb3N0cm8gZW4gdGFuIHNvbG8gMTUgbWludXRvcy48L3NwYW4+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InF1aWNrLWFkZCBuby1qcy1oaWRkZW4iPjxwcm9kdWN0LWZvcm0gZGF0YS1zZWN0aW9uLWlkPSJ0ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYiI+PGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9jYXJ0L2FkZCIgaWQ9InF1aWNrLWFkZC10ZW1wbGF0ZS0tMTYyMTk1MDg2Mzc4NzFfXzY3ZDdkYzRjLWVhYjEtNGVkMi1hN2JmLTI4MDY2ZmY1ZGRjYjE1MzY0NDA4MDgyODA2IiBhY2NlcHQtY2hhcnNldD0iVVRGLTgiIGNsYXNzPSJmb3JtIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBub3ZhbGlkYXRlPSJub3ZhbGlkYXRlIiBkYXRhLXR5cGU9ImFkZC10by1jYXJ0LWZvcm0iPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1fdHlwZSIgdmFsdWU9InByb2R1Y3QiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXRmOCIgdmFsdWU9IuKckyIgLz48aW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaWQiIGRhdGEtcHJvZHVjdGlkPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9IjU2MzYzNTQ2MDUwOTM0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LXZhcmlhbnQtaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJxdWljay1hZGQtdGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IxNTM2NDQwODA4MjgwNi1zdWJtaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3VibWl0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9ImFkZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icXVpY2stYWRkX19zdWJtaXQgYnV0dG9uIGJ1dHRvbi0tZnVsbC13aWR0aCBidXR0b24tLXByaW1hcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0icXVpY2stYWRkLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiMTUzNjQ0MDgwODI4MDYtc3VibWl0IHRpdGxlLXRlbXBsYXRlLS0xNjIxOTUwODYzNzg3MV9fNjdkN2RjNGMtZWFiMS00ZWQyLWE3YmYtMjgwNjZmZjVkZGNiLTE1MzY0NDA4MDgyODA2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtc29sZC1vdXQtbWVzc2FnZT0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QWdyZWdhciBhbCBjYXJyaXRvIC0gPHNwYW4gY2xhc3M9ImJ1dHRvbl9fcHJpY2UiPjI1LDAwIOKCrDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29sZC1vdXQtbWVzc2FnZSBoaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ290YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+Cgo8bGluayBocmVmPSIvL3d3dy5zdGFuaG9tZS5lcy9jZG4vc2hvcC90LzYvYXNzZXRzL2NvbXBvbmVudC1sb2FkaW5nLXNwaW5uZXIuY3NzP3Y9MTE2NzI0OTU1NTY3OTU1NzY2NDgxNzAxMTkwMzc2IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgoKPGRpdiBjbGFzcz0ibG9hZGluZ19fc3Bpbm5lciBoaWRkZW4iPgogIDxzdmcKICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgIGNsYXNzPSJzcGlubmVyIgogICAgdmlld0JveD0iMCAwIDY2IDY2IgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxjaXJjbGUgY2xhc3M9InBhdGgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgY3g9IjMzIiBjeT0iMzMiIHI9IjMwIj48L2NpcmNsZT4KICA8L3N2Zz4KPC9kaXY+CjwvYnV0dG9uPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InByb2R1Y3QtaWQiIHZhbHVlPSIxNTM2NDQwODA4MjgwNiIgLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWN0aW9uLWlkIiB2YWx1ZT0idGVtcGxhdGUtLTE2MjE5NTA4NjM3ODcxX182N2Q3ZGM0Yy1lYWIxLTRlZDItYTdiZi0yODA2NmZmNWRkY2IiIC8+PC9mb3JtPjwvcHJvZHVjdC1mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pg==