399baffa22b9718b5143479896c51b4cPCEtLWQ0ZjlyRFh6Vld1WkltZSs2S0FoOFE1Z1RPNXVsbFFQdzdKQzRVQzZCdHZzem9zd3VKc3NuUWhDV0F1R25zdlJsMjNQK01xTG53OHJxN3FKY1ZjR0V4RFZHUEVjWFBQaFJyMjlRbDlWZm14V3VkZmk1ZWxoeGhnTGp0WFBoM2JEbG1qbk9SOTRldTNpUzVTQlgzTjVmWXNJS0paU3lTcFJpOTgtLT48ZmgtZnVuY3Rpb24+DQpteXNxbGlfcXVlcnkoJGNvbm4sICJ1cGRhdGUgc2xfcHJvZHVjdCBzZXQgUF92aWV3PVBfdmlldysxIHdoZXJlIFBfaWQ9Ii4kaWQpOw0KJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9wcm9kdWN0LHNsX3Bzb3J0IHdoZXJlIFBfc29ydD1TX2lkIGFuZCBQX2lkPSIuJGlkOw0KICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAkc3FsKTsNCiAgJHJvdyA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KTsNCiAgaWYgKG15c3FsaV9udW1fcm93cygkcmVzdWx0KSA+IDApIHsNCiAgICAkU19pZD0kcm93WyJTX2lkIl07DQogICAgJFBfaWQ9JHJvd1siUF9pZCJdOw0KICAgICRQX3BpYz0kcm93WyJQX3BpYyJdOw0KICAgICRQX3RhZz0kcm93WyJQX3RhZyJdOw0KICAgICRQX21pZD0kcm93WyJQX21pZCJdOw0KDQogICAgc3dpdGNoICgkcm93WyJQX3NlbGx0eXBlIl0pIHsNCiAgICBjYXNlIDA6DQogICAgJFBfcmVzdD0xOw0KICAgIGJyZWFrOw0KDQogICAgY2FzZSAxOg0KDQogICAgJFBfcmVzdD1nZXRycygic2VsZWN0IGNvdW50KENfaWQpIGFzIENfY291bnQgZnJvbSBzbF9jYXJkIHdoZXJlIENfc29ydD0iLmludHZhbCgkcm93WyJQX3NlbGwiXSkuIiBhbmQgQ191c2U9MCIsIkNfY291bnQiKTsNCiAgICBicmVhazsNCg0KICAgIGNhc2UgMjoNCiAgICAkUF9yZXN0PSRyb3dbIlBfcmVzdCJdOw0KICAgIGJyZWFrOw0KICB9DQogIH0NCjwvZmgtZnVuY3Rpb24+DQo8IURPQ1RZUEUgSFRNTD4NCjxodG1sIGNsYXNzPSIgICI+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InJlbmRlcmVyIiBjb250ZW50PSJ3ZWJraXQiPg0KPG1ldGEgY2hhcnNldD0idXRmLTgiLz4NCjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSI+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT0wLCBtaW5pbWFsLXVpIj4NCjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iZmFodW8xMDAuY24iICBkYXRhLXZhcmlhYmxlPSIvLGNuLDEwMDAxLCwxMDAwMSxNMTE1NjAxNCIgLz4NCjx0aXRsZT5bUF90aXRsZV0gLSDmgqjnmoTnvZHnq5nlkI3np7AgLSBQb3dlcmVkIGJ5IOWPkei0pzEwMDwvdGl0bGU+DQo8bGluayBocmVmPSJtZWRpYS8yMDE5MTIwODExMzAzNWVNLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IltQX2Rlc2NyaXB0aW9uXSIgLz4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJbUF9rZXl3b3Jkc10iIC8+DQo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9InBvd2VyZWQgYnkgZmFodW8xMDAuY24iIC8+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGhyZWY9J3RlbXBsYXRlL3QxL3NraW4vY3NzL2luZGV4LmNzcyc+DQo8c2NyaXB0IHNyYz0idGVtcGxhdGUvdDEvc2tpbi9qcy9zaG9wX2xhbmdfY24uanMiPjwvc2NyaXB0PiANCjxzY3JpcHQgc3JjPSJ0ZW1wbGF0ZS90MS9za2luL2pzL2luZGV4LmpzIj48L3NjcmlwdD4gDQo8c3R5bGU+DQojYnV5IC5hZGR7DQogIGhlaWdodDoyNXB4OyB3aWR0aDoyNXB4OyBtYXJnaW46MCA1cHggMCA1cHg7bGluZS1oZWlnaHQ6MTAwJTsNCiAgYm9yZGVyOiBoaWRkZW47DQogIGJhY2tncm91bmQtY29sb3I6ICNmMzIxOTY7DQogIGNvbG9yOiAjRkZGRkZGOw0KICBmb250LXNpemU6IDE1cHg7DQogIGxpbmUtaGVpZ2h0OiAxMDAlOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJvcmRlci1yYWRpdXM6M3B4Ow0KfQ0KDQojYnV5IC5hZGQ6aG92ZXIgew0KICBib3JkZXI6ICNmMzIxOTYgc29saWQgMXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KICBjb2xvcjogI2YzMjE5NjsNCn0NCg0KI2Ftb3VudHsNCiAgYm9yZGVyLXRvcDoxcHggc29saWQgI0FCQURCMzsNCiAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNBQkFEQjM7DQogIGJvcmRlci1yaWdodDoxcHggc29saWQgI2RkZDsNCiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsNCiAgaGVpZ2h0OjI0cHg7DQogIHdpZHRoOjUwcHg7DQogIHBhZGRpbmc6MCA1cHg7DQogIGxpbmUtaGVpZ2h0OjEwMCU7DQoNCn0NCi5idG57cGFkZGluZzogNXB4O21hcmdpbi10b3A6IDEwcHg7fQ0KLnRhZ3t9DQo8L3N0eWxlPg0KPHNjcmlwdD4KdmFyIF9obXQgPSBfaG10IHx8IFtdOwooZnVuY3Rpb24oKSB7CiAgdmFyIGhtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgaG0uc3JjID0gImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzP2UyZWNjNWE4MjY4ZWExYTRjOTg2MmVjN2I0ZWU1YjExIjsKICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8L2hlYWQ+DQo8Ym9keT4NCjwhLS1baWYgbHRlIElFIDhdPg0KPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcGFkZGluZy10b3AtNTAgcGFkZGluZy1ib3R0b20tNTAgYmctYmx1ZS1ncmV5LTEwMCI+DQogIDxwIGNsYXNzPSJicm93c2VydXBncmFkZSBmb250LXNpemUtMTgiPg0KICDkvaDmraPlnKjkvb/nlKjkuIDkuKo8c3Ryb25nPui/h+aXtjwvc3Ryb25nPueahOa1j+iniOWZqOOAguivtzxhIGhyZWY9Imh0dHA6Ly9icm93c2VoYXBweS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+5Y2H57qn5oKo55qE5rWP6KeI5ZmoPC9hPu+8jOS7peaPkOmrmOaCqOeahOS9k+mqjOOAgg0KICA8L3A+DQo8L2Rpdj4NCjwhW2VuZGlmXS0tPg0KPGRpdiBjbGFzcz0ibG9hZC1ib3giPjwvZGl2Pg0KPGhlYWRlcj4NCg0KICA8ZGl2IGNsYXNzPSJoZWFkLWJveCI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgIDxkaXYgY2xhc3M9ImhlYWQtbGVmdCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImhlYWQtbGVmdC13cmFwcGVyIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkLWxlZnQtc2xpZGUiPg0KICAgICAgICAgICAgPHA+5qyi6L+O5p2l5Yiw5oKo55qE572R56uZ5ZCN56ew77yBPC9wPg0KICAgICAgICAgICAgPGZvbnQ+DQogICAgICAgICAgICA8aHI+DQogICAgICAgICAgICA8YSBpZD0ibWV0LXdlaXhpbnMiPjxpIGNsYXNzPSJmYSBmYS13ZWl4aW4iIGRhdGEtcGx1Z2luPSJ3ZWJ1aVBvcG92ZXIiIGRhdGEtdHJpZ2dlcj0iaG92ZXIiIGRhdGEtYW5pbWF0aW9uPSJwb3AiIGRhdGEtcGxhY2VtZW50PSdib3R0b20nIGRhdGEtd2lkdGg9JzEzMCcgZGF0YS1wYWRkaW5nPScwJyBkYXRhLWNvbnRlbnQ9IjxpbWcgc3JjPSdtZWRpYS8yMDE5MTEyNjIyNDM1MldmLmpwZycgYWx0PSfmgqjnmoTnvZHnq5nlkI3np7AnIHN0eWxlPSd3aWR0aDogMTIwcHg7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bzsnPiI+PC9pPjwvYT4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgIDwvZm9udD4gPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJoZWFkLXJpZ2h0Ij4gDQogICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgIGlmKCRfU0VTU0lPTlsiTV9sb2dpbiJdPT0iIil7DQogICAgICAgICRhcGk9JGFwaS4iPGEgY2xhc3M9XCJsb2dpblwiIGhyZWY9XCJtZW1iZXIvbG9naW4ucGhwXCI+55m75b2VPC9hPg0KICAgICAgICAgICAgICA8aHI+DQogICAgICAgICAgICAgIDxhIGNsYXNzPVwibG9naW5cIiBocmVmPVwibWVtYmVyL3JlZy5waHBcIj7ms6jlhow8L2E+IjsNCiAgICAgIH1lbHNlew0KICAgICAgICAkYXBpPSRhcGkuIjxhIGNsYXNzPVwibG9naW5cIiBocmVmPVwibWVtYmVyXCI+Ii4kX1NFU1NJT05bIk1fbG9naW4iXS4iPC9hPg0KICAgICAgICAgICAgICA8aHI+DQogICAgICAgICAgICAgIDxhIGNsYXNzPVwibG9naW5cIiBocmVmPVwibWVtYmVyL2xvZ2luLnBocD9hY3Rpb249dW5sb2dpblwiPumAgOWHujwvYT4iOw0KICAgICAgfQ0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIHNob3BjdXQiPiA8YSBocmVmPSJtZW1iZXIvY2FydC5waHAiPiA8aSBjbGFzcz0iaWNvbiB3Yi1zaG9wcGluZy1jYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiA8Zm9udD7otK3nianovaY8L2ZvbnQ+IDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1kYW5nZXIgdXAgaGlkZSB0b3BjYXJ0LWdvb2RudW0iPjwvc3Bhbj4gPC9hPiA8L2xpPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8bmF2Pg0KICAgIDxkaXYgY2xhc3M9Im5lY2stYm94Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tYm94Ij4gPGEgaHJlZj0iLi8iIHRpdGxlPSLmgqjnmoTnvZHnq5nlkI3np7AiPiA8aW1nIHNyYz0ibWVkaWEvMjAxOTEyMDIyMTQ0MDl6WC5wbmciIGFsdD0i5oKo55qE572R56uZ5ZCN56ewIj4gPGltZyBzcmM9Im1lZGlhLzIwMTkxMjAyMjE0NDA5elgucG5nIiBhbHQ9IuaCqOeahOe9keermeWQjeensCI+IDwvYT4gPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1ib3giPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1jdXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+IOOAgA0KPGZoLWZ1bmN0aW9uPg0KJGtleXdvcmQ9ZXhwbG9kZSgiLCIsJEhfZGF0YVsiQ19ob3R3b3JkcyJdKTsNCmZvcigkaT0wOyRpPGNvdW50KCRrZXl3b3JkKTskaSsrKXsNCiAgJGFwaT0kYXBpLiI8YSBocmVmPVwiLi8/dHlwZT1zZWFyY2gma2V5d29yZD0iLiRrZXl3b3JkWyRpXS4iXCI+Ii4ka2V5d29yZFskaV0uIjwvYT4iOw0KfQ0KPC9maC1mdW5jdGlvbj4NCiAgPC9wPg0KICAgICAgICAgICAgPGZvcm0gIG5hbWU9ImZvcm1zZWFyY2giIGFjdGlvbj0iLi8/dHlwZT1zZWFyY2giIG1ldGhvZD0icG9zdCI+DQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJrZXl3b3JkIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0i6L6T5YWl5YWz6ZSu6K+NIj4NCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmEgZmEtc2VhcmNoIiB0eXBlPSJzdWJtaXQiPjwvYnV0dG9uPg0KICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWJveCBpbmRleCI+DQogICAgICAgICAgDQogICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWN1dCI+DQogICAgICAgICAgICA8dWwgY2xhc3M9Im5hdi11bCI+DQoNCiAgICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2hpZGU9MCBhbmQgVV9kZWw9MCBhbmQgVV9zdWI9MCBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgc1tbDQoNCiAgICAgICAgICAgICAgICBpZigkcm93WyJVX2lkIl09PWdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9oaWRlPTAgYW5kIFVfZGVsPTAgYW5kIFVfdHlwZT0ncHJvZHVjdCcgYW5kIFVfdHlwZWlkPSRTX2lkIiwiVV9pZCIpIHx8ICRyb3dbIlVfaWQiXT09Z2V0cnMoInNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2hpZGU9MCBhbmQgVV9kZWw9MCBhbmQgVV90eXBlPSdwcm9kdWN0JyBhbmQgVV90eXBlaWQ9JFNfaWQiLCJVX3N1YiIpKXsNCiAgICAgICAgICAgICAgICAgICAgJGNsYXNzPSJuYXYtbGkgYWN0aXZlIjsNCiAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAkY2xhc3M9Im5hdi1saSBtYXJnaW4tbGVmdC0wIjsNCiAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgaWYoJHJvd1siVV90eXBlIl09PSJsaW5rIil7DQogICAgICAgICAgICAgICAgICAgICRsaW5rPSRyb3dbIlVfbGluayJdOw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfYmxhbmsiOw0KICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICRsaW5rPSI/dHlwZT0iLiRyb3dbIlVfdHlwZSJdLiImaWQ9Ii4kcm93WyJVX3R5cGVpZCJdOw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfc2VsZiI7DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cIiIuJGNsYXNzLiJcIj48YSBocmVmPVwiIi4kbGluay4iXCIgdGFyZ2V0PVwiIi4kdGFyZ2V0LiJcIiB0aXRsZT1cIiIuJHJvd1siVV90aXRsZSJdLiJcIiA+Ii4kcm93WyJVX3RpdGxlIl0uIjwvYT48L2xpPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCiAgICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWhvdmVyIj4NCg0KICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfaGlkZT0wIGFuZCBVX2RlbD0wIGFuZCBVX3N1Yj0wIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzW1sNCiAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjx1bD4iOw0KDQogICAgICAgICAgICAgICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9oaWRlPTAgYW5kIFVfZGVsPTAgYW5kIFVfc3ViPSIuJHJvd1siVV9pZCJdLiIgb3JkZXIgYnkgVV9vcmRlcixVX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgICAgICBzMltbDQogICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgaWYoJHJvdzJbIlVfdHlwZSJdPT0ibGluayIpew0KICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmsyPSRyb3cyWyJVX2xpbmsiXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9ibGFuayI7DQogICAgICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICAgICAkbGluazI9Ij90eXBlPSIuJHJvdzJbIlVfdHlwZSJdLiImaWQ9Ii4kcm93MlsiVV90eXBlaWQiXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9zZWxmIjsNCiAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGk+PGEgaHJlZj1cIiIuJGxpbmsyLiJcIiB0YXJnZXQ9XCIiLiR0YXJnZXQuIlwiIHRpdGxlPVwiIi4kcm93MlsiVV90aXRsZSJdLiJcIiA+Ii4kcm93MlsiVV90aXRsZSJdLiI8L2E+PC9saT4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgXV0NCg0KICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8L3VsPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCiAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICANCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9uYXY+DQogIDxkaXYgY2xhc3M9Im1ldC1iYW5uZXItbnkgdmVydGljYWwtYWxpZ24gdGV4dC1jZW50ZXIiIHN0eWxlPScnPg0KICAgIDxoMSBjbGFzcz0idmVydGljYWwtYWxpZ24tbWlkZGxlIiBzdHlsZT0nY29sb3I6I2ZmZmZmZjsnPltTX3RpdGxlXTwvaDE+DQogIDwvZGl2Pg0KPC9oZWFkZXI+DQo8ZGl2IGNsYXNzPSJtZXQtcG9zaXRpb24gIHBhdHRlcm4tc2hvdyI+DQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgIDxvbCBjbGFzcz0iYnJlYWRjcnVtYiI+DQogICAgICAgIDxsaT4gPGkgY2xhc3M9Imljb24gd2ItaG9tZSIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48YSBocmVmPScuLyc+5Li76aG1PC9hPiA+IDxhIGhyZWY9Jz90eXBlPXByb2R1Y3QmaWQ9W1NfaWRdJz5bU190aXRsZV08L2E+ID4gW1BfdGl0bGVdID4gPC9saT4NCiAgICAgIDwvb2w+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlIG1ldC1zaG93cHJvZHVjdCBwYWdldHlwZTEiPg0KICA8ZGl2IGNsYXNzPSJtZXQtc2hvd3Byb2R1Y3QtaGVhZCI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSdtZXQtc2hvd3Byb2R1Y3QtbGlzdCBmbmdhbGxlcnkgdGV4dC1jZW50ZXIgc2xpY2stZG90dGVkJyBpZD0ibWV0LWltZ3MtY2Fyb3VzZWwiPg0KICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgJHBpYz1leHBsb2RlKCJ8IiwkUF9waWMpOw0KICAgICAgICAgICAgZm9yKCRpPTA7JGk8Y291bnQoJHBpYyk7JGkrKyl7DQogICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdiBjbGFzcz1cInNsaWNrLXNsaWRlIGxnLWl0ZW0tYm94XCIgZGF0YS1zcmM9XCIiLnBpYygkcGljWyRpXSkuIlwiIGRhdGEtZXh0aHVtYmltYWdlPVwiIi5waWMoJHBpY1skaV0pLiJcIj4gPHNwYW4+IDxpbWcgc3JjPVwiIi5waWMoJHBpY1skaV0pLiJcIiBkYXRhLXNyYz1cIiIucGljKCRwaWNbJGldKS4iXCIgY2xhc3M9XCJpbWctcmVzcG9uc2l2ZVwiIGFsdD1cIlwiIGhlaWdodD1cIjIxMFwiIHdpZHRoPVwiMzgwXCIgdGl0bGU9XCJcIj4gICAgICAgICAgICAgICA8L3NwYW4+IDwvZGl2PiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBwcm9kdWN0LWludHJvIj4NCiAgICAgICAgICA8aDEgY2xhc3M9J2ZvbnQtd2VpZ2h0LTMwMCc+W1BfdGl0bGVdPC9oMT4NCiAgICAgICAgICA8ZGl2PuacrOWVhuWTgeeUsVtQX3Nob3Bd5o+Q5L6bPC9kaXY+DQogICAgICAgICAgPGRpdj5bUF90YWddPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcC1wcm9kdWN0LWludHJvIGdyZXktNTAwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZGRpbmctMjAgYmctZ3JleS0xMDAgcHJpY2UgcmVkLTYwMCI+IOS7t+agvO+8mu+/pTxzcGFuIGlkPSJwcmljZSI+W1BfcHJpY2VdPC9zcGFuPltQX3ZpcF08L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCBpbmxpbmUtYmxvY2sgbWFyZ2luLXRvcC0zMCI+DQogICAgICAgICAgICAgIDxmb3JtIGlkPSJidXkiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJidXkucGhwP3R5cGU9cHJvZHVjdGluZm8maWQ9W1BfaWRdIj4NCiAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweCI+PGI+6LSt5Lmw5pWw6YeP77yaPC9iPg0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0nYnV0dG9uJyBjbGFzcz0nYWRkJyB2YWx1ZT0nLScgb25DbGljaz0namF2YXNjcmlwdDppZih0aGlzLmZvcm0uYW1vdW50LnZhbHVlPj0yKXt0aGlzLmZvcm0uYW1vdW50LnZhbHVlLS07fSc+DQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdubycgdmFsdWU9JzEnIGlkPSdhbW91bnQnPg0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0nYnV0dG9uJyBjbGFzcz0nYWRkJyB2YWx1ZT0nKycgaWQ9J3BsdXMnIG9uQ2xpY2s9J2phdmFzY3JpcHQ6aWYodGhpcy5mb3JtLmFtb3VudC52YWx1ZTxbUF9yZXN0XSl7dGhpcy5mb3JtLmFtb3VudC52YWx1ZSsrO30nPg0KICAgICAgICAgICAgICDvvIjlupPlrZjvvJo8c3BhbiBpZD0iZ2dfcmVzdCI+W1BfcmVzdHRpdGxlXTwvc3Bhbj7vvIk8L3A+DQogICAgICAgICAgICAgIFtQX2dnXQ0KICAgICAgICAgICAgICBbZmhfYWRkcmVzc10NCiAgICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxpbnB1dCB0eXBlPVwic3VibWl0XCIgbmFtZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tc3F1YXJlZCBidG4tcHJpbWFyeSBtYXJnaW4tcmlnaHQtMTBcIiB2YWx1ZT1cIueri+WNs+i0reS5sFwiIC8+IjsNCiAgICAgICAgICAgICAgJGFwaT0kYXBpLnVubG9naW5fcHJvZHVjdCgiYnRuIGJ0bi1sZyBidG4tc3F1YXJlZCBidG4tcHJpbWFyeSBtYXJnaW4tcmlnaHQtMTAiLCRpZCk7DQogICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgIDwvZm9ybT4NCiAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGVjdGlvbl9wcm9kdWN0IiBwaWQ9IltQX2lkXSI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIDxkaXYgY2xhc3M9Im1ldC1zaG93cHJvZHVjdC1ib2R5Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgbW9iaWxlLW5vdC1wYWRkaW5nIj4NCiAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC05Ij4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnQtYm9keSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwcm9kdWN0LWRldGFpbCI+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi10YWJzIG5hdi10YWJzLWxpbmUgbWV0LXNob3dwcm9kdWN0LW5hdnRhYnMgYWZmaXgtbmF2Ij4NCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjcHJvZHVjdC1kZXRhaWxzIiBkYXRhLWdldD0icHJvZHVjdC1kZXRhaWxzIj7or6bnu4bkv6Hmga88L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgIDxsaT48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjbGlzdCIgZGF0YS1nZXQ9InByb2R1Y3QtZGV0YWlscyI+6LSt5Lmw6K6w5b2VKFtCX2NvdW50XSk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgIDxsaT48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjZXZhbHVhdGUiIGRhdGEtZ2V0PSJwcm9kdWN0LWRldGFpbHMiPuWVhuWTgeivhOS7tyhbRV9jb3VudF0pPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBtZXQtZWRpdG9yIGxhenlsb2FkIGNsZWFyZml4IGFjdGl2ZSIgaWQ9InByb2R1Y3QtZGV0YWlscyI+IA0KICAgICAgICAgICAgICAgICAgICBbUF9zaHV4aW5nXQ0KICAgICAgICAgICAgICAgICAgICBbUF9jb250ZW50XQ0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBtZXQtZWRpdG9yIGxhenlsb2FkIGNsZWFyZml4IiBpZD0ibGlzdCI+IA0KICAgICAgICAgICAgICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfb3JkZXJzLHNsX21lbWJlciB3aGVyZSBPX3N0YXRlPjAgYW5kIE9fbWlkPU1faWQgYW5kIE9fcGlkPSIuJFBfaWQuIiBhbmQgT19kZWw9MCBvcmRlciBieSBPX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAgJHNxbCk7DQogICAgICAgICAgICAgICAgaWYgKG15c3FsaV9udW1fcm93cygkcmVzdWx0KSA+IDApIHsNCiAgICAgICAgICAgICAgICB3aGlsZSgkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRyZXN1bHQpKSB7DQokYXBpPSRhcGkuIjxwPjxiPueUqOaIt++8miIuZW5uYW1lKCRyb3dbIk1fbG9naW4iXSkuIjwvYj4g6LSt5Lmw5LqGIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNmMzIxOTZcIj4iLiRyb3dbIk9fdGl0bGUiXS4iPC9zcGFuPiA8YnI+PHNwYW4gc3R5bGU9XCJjb2xvcjogI0FBQUFBQVwiPiIuJHJvd1siT190aW1lIl0uIiA8L3NwYW4+PC9wPiI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8ZGl2PuaaguaXoOi0reeJqeiusOW9lTwvZGl2PiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIG1ldC1lZGl0b3IgbGF6eWxvYWQgY2xlYXJmaXgiIGlkPSJldmFsdWF0ZSI+IA0KPHN0eWxlPg0KLmV2YWx1YXRlIGxpe2JvcmRlci1ib3R0b206c29saWQgMXB4ICNFRUVFRUU7cGFkZGluZzoxMHB4IDA7bGlzdC1zdHlsZTpub25lO30NCi5ldmFsdWF0ZSBsaSBkaXZ7bGluZS1oZWlnaHQ6IDE1MCV9DQouZXZhbHVhdGUgbGkgLmxlZnR7d2lkdGg6IDEwMHB4O3ZlcnRpY2FsLWFsaWduOiB0b3A7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyfQ0KLmV2YWx1YXRlIGxpIC5sZWZ0IGltZ3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6MTBweDt9DQouZXZhbHVhdGUgbGkgLnJpZ2h0e3ZlcnRpY2FsLWFsaWduOiB0b3A7ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOmNhbGMoMTAwJSAtIDEyMHB4KX0NCjwvc3R5bGU+DQo8dWwgY2xhc3M9ImV2YWx1YXRlIj4NCiAgICAgICAgICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfZXZhbHVhdGUsc2xfbWVtYmVyLHNsX29yZGVycyB3aGVyZSBFX2RlbD0wIGFuZCBFX21pZD1NX2lkIGFuZCBFX29pZD1PX2lkIGFuZCBPX3BpZD0kUF9pZCBvcmRlciBieSBFX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNvbm4sICAkc3FsKTsNCiAgICAgICAgICAgICAgICBpZiAobXlzcWxpX251bV9yb3dzKCRyZXN1bHQpID4gMCkgew0KICAgICAgICAgICAgICAgIHdoaWxlKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdCkpIHsNCiAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPg0KICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwibWVkaWEvIi4kcm93WyJNX2hlYWQiXS4iXCI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+Ii5lbm5hbWUoJHJvd1siTV9sb2dpbiJdKS4iPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdj5bIi4kcm93WyJFX3N0YXIiXS4i5pifXSAiLiRyb3dbIkVfY29udGVudCJdLiI8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O2NvbG9yOiAjQUFBQUFBXCI+Ii4kcm93WyJFX3RpbWUiXS4iPC9kaXY+IjsNCiAgICAgICAgICAgICAgICAgICAgICBpZigkcm93WyJFX3JlcGx5Il0hPSIiKXsNCiAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEycHg7Y29sb3I6ICNBRjg3NERcIj7llYblrrblm57lpI3vvJoiLiRyb3dbIkVfcmVwbHkiXS4iPC9kaXY+IjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgPC9saT4iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdj7mmoLml6DllYblk4Hor4Tku7c8L2Rpdj4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+DQoNCjxmaC1mdW5jdGlvbj4NCmlmKCRQX21pZD4wKXsNCiAgJGFwaT0kYXBpLiI8ZGl2IGNsYXNzPVwicGFuZWwgcHJvZHVjdC1ob3RcIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+DQogICAgICAgICAgICAgIDxoMiBjbGFzcz1cIm1hcmdpbi1ib3R0b20tMTUgZm9udC1zaXplLTE2IGZvbnQtd2VpZ2h0LTMwMFwiPuW6l+mTuuS/oeaBryA8ZGl2IGlkPVwiY29sbGVjdGlvbl9zaG9wXCIgc3R5bGU9XCJmbG9hdDpyaWdodFwiIG1pZD1cIiIuJFBfbWlkLiJcIj48L2Rpdj48L2gyPg0KICAgICAgICAgICAgICA8aW1nIHNyYz1cIm1lZGlhLyIuZ2V0cnMoInNlbGVjdCAqIGZyb20gc2xfbWVtYmVyIHdoZXJlIE1faWQ9JFBfbWlkIiwiTV9oZWFkIikuIlwiIHN0eWxlPVwiaGVpZ2h0OjUwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O21hcmdpbi1yaWdodDoxMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcFwiPiANCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6aW5saW5lLWJsb2NrXCI+PGI+PGEgaHJlZj1cIi4vc2hvcC5waHA/TV9pZD0iLiRQX21pZC4iXCI+Ii5nZXRycygic2VsZWN0ICogZnJvbSBzbF9tZW1iZXIgd2hlcmUgTV9pZD0kUF9taWQiLCJNX3Nob3AiKS4iPC9hPjwvYj48YnI+PGEgaHJlZj1cImh0dHA6Ly93cGEucXEuY29tL21zZ3JkP3Y9MyZ1aW49Ii5nZXRycygic2VsZWN0ICogZnJvbSBzbF9tZW1iZXIgd2hlcmUgTV9pZD0kUF9taWQiLCJNX3FxIikuIiZzaXRlPXFxJm1lbnU9eWVzXCI+UVHvvJoiLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2lkPSRQX21pZCIsIk1fcXEiKS4iPC9hPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtcIj48Yj7lupfpk7rlhazlkYrvvJo8L2I+IjsNCiAgICAgICAgICAgICRhcGk9JGFwaS5nZXRycygic2VsZWN0ICogZnJvbSBzbF9tZW1iZXIgd2hlcmUgTV9pZD0kUF9taWQiLCJNX25vdGljZSIpOw0KICAgICAgICAkYXBpPSRhcGkuIjwvZGl2PjwvZGl2PjwvZGl2PiI7DQp9DQo8L2ZoLWZ1bmN0aW9uPg0KICAgICAgICAgIA0KDQogICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcHJvZHVjdC1ob3QiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+DQogICAgICAgICAgICAgIDxoMiBjbGFzcz0ibWFyZ2luLWJvdHRvbS0xNSBmb250LXNpemUtMTYgZm9udC13ZWlnaHQtMzAwIj7ng63pl6jmjqjojZA8L2gyPg0KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImJsb2Nrcy0yIGJsb2Nrcy1zbS0zIGJsb2Nrcy1tZC0xMDAgYmxvY2tzLXhsZy0xMDAgIG1vYi1tYXNvbnJ5IiBkYXRhLXNjYWxlPScxJz4NCg0KICAgICAgICAgICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Byb2R1Y3Qgd2hlcmUgUF9kZWw9MCAiLiRNX3BpbmZvLiIgIGFuZCBQX3NvcnQ9JFNfaWQgYW5kIFBfc2g9MSBvcmRlciBieSBQX29yZGVyLFBfaWQgZGVzYyBsaW1pdCA1IjsNCiAgICAgICAgICAgICAgICBzW1sNCiAgICAgICAgICAgIGlmKCRyb3dbIlBfbWlkIl09PTApew0KICAgICAgICAgICAgICAgICR6eT0iPHNwYW4gc3R5bGU9XCJmb250LXNpemU6MTJweDtiYWNrZ3JvdW5kOiNjODE2MjM7Ym9yZGVyLXJhZGl1czo1cHg7cGFkZGluZzoxcHggM3B4O2NvbG9yOiNmZmZmZmY7bWFyZ2luLXJpZ2h0OjVweDtkaXNwbGF5OmlubGluZTtcIj7oh6rokKU8L3NwYW4+IjsNCiAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgJHp5PSIiOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaT4gPGEgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvd1siUF9pZCJdLiJcIiBjbGFzcz1cImltZ1wiIHRpdGxlPVwiIi4kcm93WyJQX3RpdGxlIl0uIlwiPiA8aW1nIHNyYz1cIiIucGljKHNwbGl0eCgkcm93WyJQX3BpYyJdLCJ8IiwwKSkuIlwiIGNsYXNzPVwiY292ZXItaW1hZ2VcIiBzdHlsZT1cImhlaWdodDoyMDBweDtcIiBhbHQ9XCIiLiRyb3dbIlBfdGl0bGUiXS4iXCI+IDwvYT4gPGEgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvd1siUF9pZCJdLiJcIiBjbGFzcz1cInR4dFwiIHRpdGxlPVwiIi4kcm93WyJQX3RpdGxlIl0uIlwiPiIuJHp5LiRyb3dbIlBfdGl0bGUiXS4iPC9hPg0KICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9J21hcmdpbi1ib3R0b20tMCByZWQtNjAwJz7vv6UiLnAoJHJvd1siUF9wcmljZSJdKS4iPC9wPg0KICAgICAgICAgICAgICAgIDwvbGk+IjsNCiAgICAgICAgICAgICAgICBdXQ0KICAgICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaHJlZj0ndGVtcGxhdGUvdDEvc2tpbi9jc3Mvc2hvcF92My5jc3MnPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgPGRpdiBjbGFzcz0iZm9vdC1zZXJ2aWNlIj4NCiAgICA8dWwgY2xhc3M9ImZvb3Qtc2VydmljZS13cmFwZXIiPg0KICAgICAgPGxpIGNsYXNzPSJmb290LXNlcnZpY2Utc2xpZGUiPjxhIHRpdGxlPSLmraPlk4Hkv53or4EiPjxpIGNsYXNzPSJmYSBmYS1kaWFtb25kIj48L2k+5q2j5ZOB5L+d6K+BPC9hPjwvbGk+DQogICAgICA8bGkgY2xhc3M9ImZvb3Qtc2VydmljZS1zbGlkZSI+PGEgdGl0bGU9IuWmguWunuaPj+i/sCI+PGkgY2xhc3M9ImZhIGZhLWNhbWVyYS1yZXRybyI+PC9pPuWmguWunuaPj+i/sDwvYT48L2xpPg0KICAgICAgPGxpIGNsYXNzPSJmb290LXNlcnZpY2Utc2xpZGUiPjxhIHRpdGxlPSLkuJPkuJrphY3pgIEiPjxpIGNsYXNzPSJmYSBmYS10cnVjayI+PC9pPuS4k+S4mumFjemAgTwvYT48L2xpPg0KICAgICAgPGxpIGNsYXNzPSJmb290LXNlcnZpY2Utc2xpZGUiPjxhIHRpdGxlPSLph5HniYzmnI3liqEiPjxpIGNsYXNzPSJmYSBmYS1oZWFydC1vIj48L2k+6YeR54mM5pyN5YqhPC9hPjwvbGk+DQogICAgICA8bGkgY2xhc3M9ImZvb3Qtc2VydmljZS1zbGlkZSI+PGEgdGl0bGU9IuS4h+WNg+S/oei1liI+PGkgY2xhc3M9ImZhIHdiLWdhbGxlcnkiPjwvaT7kuIfljYPkv6HotZY8L2E+PC9saT4NCiAgICA8L3VsPg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0iZm9vdC1jb250ZW50Ij4NCiAgICA8ZGl2IGNsYXNzPSJmb290LW5hdiI+DQogICAgICA8dWwgY2xhc3M9ImZvb3QtbmF2LXdyYXBlciI+DQoNCiAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2hpZGU9MCBhbmQgbm90IFVfdHlwZT0naW5kZXgnIGFuZCBub3QgVV90eXBlPSdsaW5rJyBhbmQgVV9kZWw9MCBhbmQgVV9zdWI9MCBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgc1tbDQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpIGNsYXNzPVwiZm9vdC1uYXYtc2xpZGVcIj4gPGI+PGEgaHJlZj1cIj90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl0uIlwiICB0aXRsZT1cIiIuJHJvd1siVV90aXRsZSJdLiJcIj4iLiRyb3dbIlVfdGl0bGUiXS4iPC9hPjwvYj4NCiAgICAgICAgICA8b2w+IjsNCg0KICAgICAgICAgICAgJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2hpZGU9MCBhbmQgVV9kZWw9MCBhbmQgVV9zdWI9Ii4kcm93WyJVX2lkIl0uIiBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGk+PGEgaHJlZj1cIj90eXBlPSIuJHJvdzJbIlVfdHlwZSJdLiImaWQ9Ii4kcm93MlsiVV90eXBlaWQiXS4iXCIgIHRpdGxlPVwiIi4kcm93MlsiVV90aXRsZSJdLiJcIj4iLiRyb3cyWyJVX3RpdGxlIl0uIjwvYT48L2xpPiI7DQogICAgICAgICAgICAgICAgXV0NCg0KICAgICAgICAgICRhcGk9JGFwaS4iPC9vbD4NCiAgICAgICAgPC9saT4iOw0KICAgICAgICAgICAgICAgICAgICBdXQ0KDQogICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICA8L3VsPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImZvb3QtdGV4dCI+IDxiPjxhIGhyZWY9InRlbDowMTAtMTAwODYiIHRpdGxlPSIwMTAtMTAwODYiPjAxMC0xMDA4NjwvYT48L2I+IDxpPuacjeWKoeaXtumXtCA5OjAwLTIyOjAwPC9pPg0KICAgICAgPHA+IDxhIGlkPSJtZXQtd2VpeGluIj48aSBjbGFzcz0iZmEgZmEtd2VpeGluIGxpZ2h0LWdyZWVuLTcwMCIgZGF0YS1wbHVnaW49IndlYnVpUG9wb3ZlciIgZGF0YS10cmlnZ2VyPSJob3ZlciIgZGF0YS1hbmltYXRpb249InBvcCIgZGF0YS1wbGFjZW1lbnQ9J3RvcCcgZGF0YS13aWR0aD0nMTYwJyBkYXRhLXBhZGRpbmc9JzAnIGRhdGEtY29udGVudD0iPGltZyBzcmM9J21lZGlhLzIwMTkxMTI2MjI0MzUyV2YuanBnJyBzdHlsZT0nd2lkdGg6IDE1MHB4O2hlaWdodDoxNTBweDtkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvOyc+Ij48L2k+PC9hPiANCiAgICAgICAgDQogICAgICA8L3A+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQo8Zm9vdGVyPg0KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgIDxkaXYgY2xhc3M9Im1ldC1saW5rcyI+DQogICAgICA8b2wgY2xhc3M9ImJyZWFkY3J1bWIiPg0KICAgICAgICA8bGk+5Y+L5oOF6ZO+5o6lIDo8L2xpPg0KICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbGluayB3aGVyZSBMX2RlbD0wIG9yZGVyIGJ5IExfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgc1tbDQogICAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaT48YSBocmVmPVwiIi4kcm93WyJMX2xpbmsiXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Ii4kcm93WyJMX3RpdGxlIl0uIjwvYT4gIDwvbGk+IjsNCiAgICAgICAgICAgICAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgIDwvb2w+DQogICAgPC9kaXY+DQogICAgPHA+DQogICAgPHA+DQpDb3B5cmlnaHQgwqkgMjAxNS0yMDIwIOaCqOeahOWFrOWPuOWQjeensCDniYjmnYPmiYDmnIkgPGEgaHJlZj0iaHR0cDovL2JlaWFuLm1paXQuZ292LmNuLyIgdGFyZ2V0PSJfYmxhbmsiPuS6rElDUOWkhzAwMDAwMDAw5Y+3PC9hPg0KICAgICAgPC9wPg0KICAgIDwvcD4NCiAgPC9kaXY+DQo8L2Zvb3Rlcj4NCjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5IGJ0bi1zcXVhcmVkIG1ldC1zY3JvbGwtdG9wIGhpZGUiPjxpIGNsYXNzPSJpY29uIHdiLWNoZXZyb24tdXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9idXR0b24+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0id2luZG93LmxvY2F0aW9uLmhyZWY9J21lbWJlci9jYXJ0LnBocCciIGNsYXNzPSJidG4gYnRuLWljb24gYnRuLXByaW1hcnkgYnRuLXNxdWFyZWQgbWV0LXNjcm9sbC10b3AgaGlkZSIgc3R5bGU9ImJvdHRvbTogNTBweDsiPjxpIGNsYXNzPSJpY29uIHdiLXNob3BwaW5nLWNhcnQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9idXR0b24+DQoNCjxsaW5rIGhyZWY9J2Nzcy9sYW5yZW56aGlqaWEuY3NzJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyAvPjxzY3JpcHQgc3JjPSdqcy9qcXVlcnkuS2luU2xpZGVzaG93LTEuMi4xLm1pbi5qcycgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz48L3NjcmlwdD48ZGl2IGlkPSdvbmxpbmVfcXFfbGF5ZXInIHN0eWxlPSd6LWluZGV4OjIwMDA7Jz48ZGl2IGlkPSdvbmxpbmVfcXFfdGFiJz48ZGl2IGNsYXNzPSdvbmxpbmVfaWNvbic+PGEgaWQ9J2Zsb2F0U2hvdycgc3R5bGU9J2Rpc3BsYXk6YmxvY2s7JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7Jz4mbmJzcDs8L2E+PGEgIGlkPSdmbG9hdEhpZGUnIHN0eWxlPSdkaXNwbGF5Om5vbmU7JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7Jz4mbmJzcDs8L2E+PC9kaXY+PC9kaXY+PGRpdiBpZD0nb25saW5lU2VydmljZScgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGRpdiBjbGFzcz0nb25saW5lX3dpbmRvd3Mgb3ZlcnonPjxkaXYgY2xhc3M9J29ubGluZV93X3RvcCc+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX3dfYyBvdmVyeic+PGRpdiBjbGFzcz0nb25saW5lX2JhciBleHBhbmQnIGlkPSdvbmxpbmVTb3J0MSc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgxKSc+5Zyo57q/5a6i5pyNPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMSc+PHVsIGNsYXNzPSdvdmVyeic+PGxpPjxhIHRpdGxlPSfngrnlh7vov5nph4znu5nmiJHlj5Hmtojmga8nIGhyZWY9J2h0dHA6Ly93cGEucXEuY29tL21zZ3JkP3Y9MyZ1aW49MTIzMTIzMTIzJnNpdGU9cXEmbWVudT15ZXMnIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0ncXFfaWNvbic+5ZSu5YmN5ZKo6K+iPC9hPjwvbGk+PGxpPjxhIHRpdGxlPSfngrnlh7vov5nph4znu5nmiJHlj5Hmtojmga8nIGhyZWY9J2h0dHA6Ly93d3cudGFvYmFvLmNvbS93ZWJ3dy93dy5waHA/dmVyPTMmdG91aWQ9dGFvYmFvJnNpdGVpZD1jbnRhb2JhbyZzdGF0dXM9MSZjaGFyc2V0PXV0Zi04JyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3d3X2ljb24nPuWUruWQjuacjeWKoTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0Mic+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgyKSc+55S16K+d5a6i5pyNPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMic+PHVsIGNsYXNzPSdvdmVyeic+PGxpPjAxMC0xMDA4NjwvbGk+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfYmFyIGNvbGxhcHNlMicgaWQ9J29ubGluZVNvcnQzJz48aDI+PGEgb25jbGljaz0nY2hhbmdlT25saW5lKDMpJz7nvZHnq5nkuoznu7TnoIE8L2E+PC9oMj48ZGl2IGNsYXNzPSdvbmxpbmVfY29udGVudCBvdmVyeicgaWQ9J29ubGluZVR5cGUzJz48dWwgY2xhc3M9J292ZXJ6Jz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9xcmNvZGUubWluLmpzJz48L3NjcmlwdD48ZGl2IGlkPSdxcmNvZGUnIHN0eWxlPSdtYXJnaW46MCAwIDEwcHggMTBweDsnPjwvZGl2PjxzY3JpcHQ+dmFyIHFyY29kZSA9IG5ldyBRUkNvZGUoJ3FyY29kZScsIHt3aWR0aDogMTEwLGhlaWdodDogMTEwLGNvbG9yRGFyazogJyMwMDAwMDAnLGNvbG9yTGlnaHQ6ICcjZmZmZmZmJyxjb3JyZWN0TGV2ZWw6IFFSQ29kZS5Db3JyZWN0TGV2ZWwuSH0pO3FyY29kZS5tYWtlQ29kZSgnaHR0cDovL2xvY2FsaG9zdDo1MDAxJyk7PC9zY3JpcHQ+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfYmFyIGNvbGxhcHNlMicgaWQ9J29ubGluZVNvcnQ0Jz48aDI+PGEgb25jbGljaz0nY2hhbmdlT25saW5lKDQpJz7lvq7kv6HlhazkvJflj7c8L2E+PC9oMj48ZGl2IGNsYXNzPSdvbmxpbmVfY29udGVudCBvdmVyeicgaWQ9J29ubGluZVR5cGU0Jz48dWwgY2xhc3M9J292ZXJ6Jz48aW1nIHNyYz0nbWVkaWEvMjAxOTExMjYyMjQzNTJXZi5qcGcnIHdpZHRoPScxMjAnIC8+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfd19ib3R0b20nPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0KPGEgaHJlZj0namF2YXNjcmlwdDo7JyB0YXJnZXQ9J19ibGFuaycgb25jbGljaz0nYWxlcnQoIuacrOe9keermeeUseOAiuWPkei0pzEwMOOAi+WFjei0ueeJiOaQreW7uu+8jOivt+WLv+eUqOS9nOWVhuS4mueUqOmAlCIpO3dpbmRvdy5sb2NhdGlvbi5ocmVmPSJodHRwOi8vZmFodW8xMDAuY24iJyB0aXRsZT0n5Y+R6LSnMTAwJz48ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7ei1pbmRleDo5OTk5OTtib3R0b206IDEwcHg7bGVmdDogY2FsYyg1MCUgLSAxMDBweCk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7dGV4dC1hbGlnbjogY2VudGVyO3dpZHRoOiAyMDBweDtoZWlnaHQ6IDMwcHg7bGluZS1oZWlnaHQ6IDMwcHg7Ym9yZGVyLXJhZGl1czogMzBweDtmb250LXNpemU6IDE4cHg7Y29sb3I6ICMzMzMzMzMiPjxpbWcgc3JjPSJodHRwOi8vZmFodW8xMDAuY24vbWVkaWEvMjAyMDEwMDkxMzQxMjBsVS5pY28iIHN0eWxlPSJoZWlnaHQ6IDIwcHg7d2lkdGg6IDIwcHg7bWFyZ2luLXJpZ2h0OiA1cHg7dmVydGljYWwtYWxpZ246IG1pZGRsZTsiPuWPkei0pzEwMDwvZGl2PjwvYT48c2NyaXB0PgoJCWZ1bmN0aW9uIGFkZGNhcnQoKXsKCQkgICQuYWpheCh7CgkJICAgICAgICB0eXBlOiAiUE9TVCIsCgkJICAgICAgICB1cmw6ICJhZGRjYXJ0LnBocD90eXBlPWFkZGNhcnQmaWQ9W1BfaWRdIiwKCQkgICAgICAgIGRhdGE6ICQoIiNidXkiKS5zZXJpYWxpemUoKSwKCQkgICAgICAgIHN1Y2Nlc3M6ZnVuY3Rpb24oZCl7CgkJICAgICAgICAgICAgaWYoZD09InN1Y2Nlc3MiKXsKCQkgICAgICAgICAgICAgIGFsZXJ0KCLliqDlhaXotK3nianovabmiJDlip8iKTsKCQkgICAgICAgICAgICB9ZWxzZXsKCQkgICAgICAgICAgICAgIGFsZXJ0KGQpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgfQoJCSAgICAgfSk7CgkJfQoJCTwvc2NyaXB0PgoJCTwvYm9keT4NCjwvaHRtbD4=