blob: 32040bc41bf8f3c91856a983e2aa921eb953c8bc [file] [log] [blame]
{"remainingRequest":"/Users/jaslan/Development/nifi-fds/target/frontend-working-directory/node_modules/html-loader/index.js!/Users/jaslan/Development/nifi-fds/target/frontend-working-directory/webapp/components/flow-design-system/fds-demo.html","dependencies":[{"path":"/Users/jaslan/Development/nifi-fds/target/frontend-working-directory/webapp/components/flow-design-system/fds-demo.html","mtime":1643726419790},{"path":"/Users/jaslan/Development/nifi-fds/target/frontend-working-directory/node_modules/cache-loader/dist/cjs.js","mtime":1643726426654},{"path":"/Users/jaslan/Development/nifi-fds/target/frontend-working-directory/node_modules/html-loader/index.js","mtime":1643726426042}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:bW9kdWxlLmV4cG9ydHMgPSAiPCEtLVxuTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlXG5jb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGhcbnRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC5cblRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wXG4odGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoXG50aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tPlxuXG48bWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBtb2RlPVwib3ZlclwiIHBvc2l0aW9uPVwiZW5kXCIgb3BlbmVkPVwiZmFsc2VcIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgICAgICAgICAgPHA+WW91IGNhbiBhbHNvIG9wZW4gYSBkaWFsb2cgZnJvbSBhIHNpZGUgbmF2LjwvcD5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJvcGVuRGlhbG9nKClcIj5TaG93IHNpbXBsZSBkaWFsb2c8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtc2lkZW5hdj5cbiAgICA8ZGl2IGlkPVwiZmRzLWRlbW9cIj5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiPkFwYWNoZSBOaUZpIEZsb3cgRGVzaWduIFN5c3RlbTwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicGFkLXRvcC1zbVwiPlxuICAgICAgICAgICAgICAgIDxwPldpdGggdGhlIEFwYWNoZSBOaUZpIEZsb3cgRGVzaWduIFN5c3RlbSBtb2R1bGUsIHdlIGdldCBhbiBhdG9taWMsIHJldXNhYmxlIGNvbXBvbmVudCBwbGF0Zm9ybSBmb3JcbiAgICAgICAgICAgICAgICAgICAgQXBhY2hlIE5pRmkgYW5kIGl0cyBzdWItcHJvamVjdHMgdG8gY29uc3VtZSwgd2hpbGUgY29sbGFib3JhdGluZyBpbiBhbiBvcGVuIHNvdXJjZSBtb2RlbC4gVGhpc1xuICAgICAgICAgICAgICAgICAgICBtb2R1bGUgcGFja2FnZXMgdGhlIDxhIGNsYXNzPVwibGlua1wiIGhyZWY9XCJodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50c1wiIHRhcmdldD1cIl9ibGFua1wiPkFuZ3VsYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIE1hdGVyaWFsPC9hPiBtb2R1bGUgYXMgd2VsbCBhcyB0aGUgPGEgY2xhc3M9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vdGVyYWRhdGEuZ2l0aHViLmlvL2NvdmFsZW50LyMvY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiPlRlcmFkYXRhIENvdmFsZW50PC9hPiBtb2R1bGUuIFRoZXNlXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXMgaGF2ZSBiZWVuIHRoZW1lZCB0byBtYXRjaCB0aGUgRkRTIGNvbG9yIHBhbGV0dGUuPC9wPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCIgaWQ9XCJUeXBvZ3JhcGh5XCI+VHlwb2dyYXBoeSA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJUeXBvZ3JhcGh5XCI+bGluazwvbWF0LWljb24+PC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYXQtYm9keS0xXCI+RkRTIHByb3ZpZGVzIHR5cG9ncmFwaHkgQ1NTIGNsYXNzZXMgeW91IGNhbiB1c2UgdG8gY3JlYXRlIHZpc3VhbCBjb25zaXN0ZW5jeSBhY3Jvc3MgeW91ciBhcHBsaWNhdGlvbi4gT3B0aW9uYWxseSBzdHlsZSB0YWdzIHdpdGggdGhlIGNsYXNzZXMgc2hvd24gYmVsb3c6PC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0LWFsaWduPVwiY2VudGVyIGVuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1kaXNwbGF5LTQ8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kaXNwbGF5LTRcIj5EaXNwbGF5IDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1kaXNwbGF5LTM8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kaXNwbGF5LTNcIj5EaXNwbGF5IDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1kaXNwbGF5LTI8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kaXNwbGF5LTJcIj5EaXNwbGF5IDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1kaXNwbGF5LTE8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kaXNwbGF5LTFcIj5EaXNwbGF5IDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1oZWFkbGluZTwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWhlYWRsaW5lXCI+SGVhZGxpbmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1kLXRpdGxlPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZC10aXRsZVwiPlRpdGxlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGZsZXg9XCIxNVwiPi5tZC1zdWJoZWFkPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZC1zdWJoZWFkXCI+U3ViaGVhZDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBmbGV4PVwiMTVcIj4ubGluazwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlua1wiPkxpbms8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1ib2R5LTE8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5LTFcIj5Cb2R5IDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1ib2R5LTI8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5LTJcIj5Cb2R5IDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgZmxleD1cIjE1XCI+Lm1hdC1jYXB0aW9uPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPkNhcHRpb248L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICA8IVtDREFUQVtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZGlzcGxheS00XCI+RGlzcGxheSA0PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1kaXNwbGF5LTNcIj5EaXNwbGF5IDM8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWRpc3BsYXktMlwiPkRpc3BsYXkgMjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZGlzcGxheS0xXCI+RGlzcGxheSAxPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1oZWFkbGluZVwiPkhlYWRsaW5lPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1kLXRpdGxlXCI+VGl0bGU8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWQtc3ViaGVhZFwiPlN1YmhlYWQ8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGlua1wiPkxpbms8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWJvZHktMVwiPkJvZHkgMTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0yXCI+Qm9keSAyPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+Q2FwdGlvbjwvc3Bhbj5cbiAgICBdXT5cbiAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiUmFpc2VkQnV0dG9uc1wiPlJhaXNlZCBCdXR0b25zIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlJhaXNlZEJ1dHRvbnNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8cD5UaXA6IFVzZSBVUFBFUkNBU0UgdGV4dCBmb3IgMS0yIHdvcmRzLCBhbmQgVGl0bGVjYXNlIHRleHQgZm9yIDMrIHdvcmRzLjwvcD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGkxOG49XCJQcmltYXJ5IFJhaXNlZCBCdXR0b258QSByYWlzZWQgYnV0dG9uIGZvciB0aGUgcHJpbWFyeSB1c2Ugb2YgYSBjYXJkLCBkaWFsb2csIG9yIHBlcnNwZWN0aXZlLkBAcHJpbWFyeS1idXR0b25cIj5QcmltYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiPkFjY2VudDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCI+V2FybjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiPkZEUyBQcmltYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1zZWNvbmRhcnlcIj5GRFMgU2Vjb25kYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1yZWd1bGFyXCI+RkRTIHJlZ3VsYXI8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXdhcm5cIj5GRFMgd2FybjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtY3JpdGljYWxcIj5GRFMgY3JpdGljYWw8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwicHJpbWFyeVwiPlByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwiYWNjZW50XCI+QWNjZW50PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cIndhcm5cIj5XYXJuPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImZkcy1wcmltYXJ5XCI+RkRTIHByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwiZmRzLXNlY29uZGFyeVwiPkZEUyBTZWNvbmRhcnk8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIj5GRFMgcmVndWxhcjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJmZHMtd2FyblwiPkZEUyB3YXJuPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImZkcy1jcml0aWNhbFwiPkZEUyBjcml0aWNhbDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICA8IVtDREFUQVtcbiAgICAgICAgPCEtLSBUaGVtZWQgUmFpc2VkIEJ1dHRvbnMgLS0+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+UHJpbWFyeTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCI+U2Vjb25kYXJ5PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCI+d2FybjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIj5GRFMgUHJpbWFyeTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXNlY29uZGFyeVwiPkZEUyBTZWNvbmRhcnk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1yZWd1bGFyXCI+RkRTIHJlZ3VsYXI8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy13YXJuXCI+RkRTIHdhcm48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1jcml0aWNhbFwiPkZEUyBjcml0aWNhbDwvYnV0dG9uPlxuICAgICAgICA8IS0tIERpc2FibGVkIFJhaXNlZCBCdXR0b25zIC0tPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwicHJpbWFyeVwiPlByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImFjY2VudFwiPlNlY29uZGFyeTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwid2FyblwiPndhcm48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImZkcy1wcmltYXJ5XCI+RkRTIHByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImZkcy1zZWNvbmRhcnlcIj5GRFMgU2Vjb25kYXJ5PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJmZHMtcmVndWxhclwiPkZEUyByZWd1bGFyPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJmZHMtd2FyblwiPkZEUyB3YXJuPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJmZHMtY3JpdGljYWxcIj5GRFMgY3JpdGljYWw8L2J1dHRvbj5cbiAgICBdXT5cbiAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiRmxhdEJ1dHRvbnNcIj5GbGF0IEJ1dHRvbnMgPG1hdC1pY29uIGNsYXNzPVwibGluay10by1jb21wb25lbnRcIiByb3V0ZXJMaW5rPVwiL1wiIGZyYWdtZW50PVwiRmxhdEJ1dHRvbnNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uPkRlZmF1bHQ8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCI+U2Vjb25kYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIj5XYXJuPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkaXNhYmxlZD5EaXNhYmxlZCBEZWZhdWx0PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cInByaW1hcnlcIj5EaXNhYmxlZCBQcmltYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBkaXNhYmxlZCBjb2xvcj1cImFjY2VudFwiPkRpc2FibGVkIFNlY29uZGFyeTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJ3YXJuXCI+RGlzYWJsZWQgV2FybjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gVGhlbWVkIEZsYXQgQnV0dG9ucyAtLT5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uPkRlZmF1bHQ8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlByaW1hcnk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCI+U2Vjb25kYXJ5PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIj53YXJuPC9idXR0b24+XG4gICAgICAgIDwhLS0gRGlzYWJsZWQgRmxhdCBCdXR0b25zIC0tPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZGlzYWJsZWQ+ZGlzYWJsZWQgRGVmYXVsdDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJwcmltYXJ5XCI+ZGlzYWJsZWQgcHJpbWFyeTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZGlzYWJsZWQgY29sb3I9XCJhY2NlbnRcIj5kaXNhYmxlZCBTZWNvbmRhcnk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGRpc2FibGVkIGNvbG9yPVwid2FyblwiPmRpc2FibGVkIHdhcm48L2J1dHRvbj5cbiAgICBdXT5cbiAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiRmFiQnV0dG9uc1wiPkZhYiBCdXR0b25zIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIkZhYkJ1dHRvbnNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cInBhZC1sZWZ0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwicHJpbWFyeVwiPlA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJhY2NlbnRcIj5BPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwid2FyblwiPlc8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgZGlzYWJsZWQgY29sb3I9XCJwcmltYXJ5XCI+UDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBkaXNhYmxlZCBjb2xvcj1cImFjY2VudFwiPkE8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgZGlzYWJsZWQgY29sb3I9XCJ3YXJuXCI+VzwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gVGhlbWVkIEZhYiBCdXR0b25zIC0tPlxuICAgICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIj5QPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwiYWNjZW50XCI+QTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cIndhcm5cIj5XPC9idXR0b24+XG4gICAgICAgIDwhLS0gRGlzYWJsZWQgRmFiIEJ1dHRvbnMgLS0+XG4gICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGRpc2FibGVkIGNvbG9yPVwicHJpbWFyeVwiPlA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgZGlzYWJsZWQgY29sb3I9XCJhY2NlbnRcIj5BPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGRpc2FibGVkIGNvbG9yPVwid2FyblwiPlc8L2J1dHRvbj5cbiAgICBdXT5cbiAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiQnV0dG9uVG9nZ2xlc1wiPkJ1dHRvbiBUb2dnbGVzIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIkJ1dHRvblRvZ2dsZXNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImFsaWdubWVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Zm9ybWF0X2FsaWduX2xlZnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5mb3JtYXRfYWxpZ25fY2VudGVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5mb3JtYXRfYWxpZ25fcmlnaHQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJqdXN0aWZ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Zm9ybWF0X2FsaWduX2p1c3RpZnk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwicGFkLXRvcC1tZCBwYWQtYm90LW1kXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIG5hbWU9XCJvbk9mZlRvZ2dsZVwiIGNsYXNzPVwib24tb2ZmLXRvZ2dsZS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJvblwiIFtjaGVja2VkXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIE9OXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIm9mZlwiIGNsYXNzPVwib2ZmLXRvZ2dsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgT0ZGXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3QtbWRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4cGFuc2lvbi1wYW5lbC1maWx0ZXItdG9nZ2xlLWdyb3VwXCIgbXVsdGlwbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+MzQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+QXNzZXRzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNTVcIj4zMDA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+RXh0ZW5zaW9uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+NTAwMDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5GbG93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+MDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5DZXJ0aWZpY2F0aW9uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3QtbWRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImZkcy1hZG1pbmlzdHJhdGlvbi1wZXJzcGVjdGl2ZVwiIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJ0YWItdG9nZ2xlLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBkaXNhYmxlZCB2YWx1ZT1cImdlbmVyYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYWxcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwidXNlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJzXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIndvcmtmbG93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBXb3JrZmxvd1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImFsaWdubWVudFwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwibGVmdFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5mb3JtYXRfYWxpZ25fbGVmdDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmZvcm1hdF9hbGlnbl9jZW50ZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmZvcm1hdF9hbGlnbl9yaWdodDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwianVzdGlmeVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5mb3JtYXRfYWxpZ25fanVzdGlmeTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3QtbWRcIj48L2Rpdj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIG5hbWU9XCJvbk9mZlRvZ2dsZVwiIGNsYXNzPVwib24tb2ZmLXRvZ2dsZS1ncm91cFwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwib25cIiBbY2hlY2tlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgT05cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJvZmZcIiBjbGFzcz1cIm9mZi10b2dnbGVcIj5cbiAgICAgICAgICAgICAgICBPRkZcbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cInBhZC10b3AtbWQgcGFkLWJvdC1tZFwiPjwvZGl2PlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbnNpb24tcGFuZWwtZmlsdGVyLXRvZ2dsZS1ncm91cFwiIG11bHRpcGxlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZGlzcGxheS0xIHBhZC10b3Atc21cIiBmeEZsZXg9XCI1NVwiPjM0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5Bc3NldHM8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+MzAwPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5FeHRlbnNpb25zPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZGlzcGxheS0xIHBhZC10b3Atc21cIiBmeEZsZXg9XCI1NVwiPjUwMDA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPkZsb3dzPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZGlzcGxheS0xIHBhZC10b3Atc21cIiBmeEZsZXg9XCI1NVwiPjA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPkNlcnRpZmljYXRpb25zPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3QtbWRcIj48L2Rpdj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIG5hbWU9XCJmZHMtYWRtaW5pc3RyYXRpb24tcGVyc3BlY3RpdmVcIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwidGFiLXRvZ2dsZS1ncm91cFwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZ2VuZXJhbFwiPlxuICAgICAgICAgICAgICAgIGdlbmVyYWxcbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwYWQtbGVmdC1tZFwiPjwvZGl2PlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwidXNlcnNcIj5cbiAgICAgICAgICAgICAgICBVc2Vyc1xuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cInBhZC1sZWZ0LW1kXCI+PC9kaXY+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJ3b3JrZmxvd1wiPlxuICAgICAgICAgICAgICAgIFdvcmtmbG93XG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgICBdXT5cbiAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCIgaWQ9XCJJbnB1dFwiPklucHV0IDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIklucHV0XCI+bGluazwvbWF0LWljb24+PC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGZvcm0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQ29tcGFueSAoZGlzYWJsZWQpXCIgZGlzYWJsZWQgdmFsdWU9XCJHb29nbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBkaXNhYmxlZCBwbGFjZWhvbGRlcj1cIkZpcnN0IG5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiTG9uZyBMYXN0IE5hbWUgVGhhdCBXaWxsIEJlIFRydW5jYXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmxleCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJCdXR0b24gQWRkb24gd2l0aCBkcm9wZG93blwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImlucHV0LWJ1dHRvblwiIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImlucHV0QnV0dG9uRHJvcGRvd25BZGRvbk1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0PGkgY2xhc3M9XCJmYSBmYS1jYXJldC1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIiAjaW5wdXRCdXR0b25Ecm9wZG93bkFkZG9uTWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBSZWZyZXNoPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gU2V0dGluZ3M8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBkaXNhYmxlZD4gU2lnbiBPdXQ8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkJ1dHRvbiBBZGRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImlucHV0LWJ1dHRvblwiIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmxleCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbG9hdFBsYWNlaG9sZGVyPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGRpc2FibGVkIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQnV0dG9uIEFkZG9uIHdpdGggZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGlzYWJsZWQgY2xhc3M9XCJpbnB1dC1idXR0b25cIiBjb2xvcj1cImZkcy1yZWd1bGFyXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdDxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZGlzYWJsZWQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJCdXR0b24gQWRkb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGlzYWJsZWQgY2xhc3M9XCJpbnB1dC1idXR0b25cIiBjb2xvcj1cImZkcy1yZWd1bGFyXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQWRkcmVzc1wiIHZhbHVlPVwiMTYwMCBBbXBoaXRoZWF0cmUgUGt3YXlcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGRpc2FibGVkIHZhbHVlPVwiQWRkcmVzcyAyIFZhbHVlXCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJBZGRyZXNzIDJcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQ2l0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiU3RhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAjcG9zdGFsQ29kZSBtYXhsZW5ndGg9XCI1XCIgcGxhY2Vob2xkZXI9XCJQb3N0YWwgQ29kZVwiIHZhbHVlPVwiOTQwNDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e3Bvc3RhbENvZGUudmFsdWUubGVuZ3RofX0gLyA1PC9tYXQtaGludD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gSW5wdXRzIC0tPlxuICAgICAgICA8Zm9ybT5cbiAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJDb21wYW55IChkaXNhYmxlZClcIiBkaXNhYmxlZCB2YWx1ZT1cIkdvb2dsZVwiPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZGlzYWJsZWQgcGxhY2Vob2xkZXI9XCJGaXJzdCBuYW1lXCI+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkxvbmcgTGFzdCBOYW1lIFRoYXQgV2lsbCBCZSBUcnVuY2F0ZWRcIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgPGRpdiBmbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQnV0dG9uIEFkZG9uIHdpdGggZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImlucHV0LWJ1dHRvblwiIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJpbnB1dEJ1dHRvbkRyb3Bkb3duQWRkb25NZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3Q8aSBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgeFBvc2l0aW9uPVwiYmVmb3JlXCIgI2lucHV0QnV0dG9uRHJvcGRvd25BZGRvbk1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFJlZnJlc2ggPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFNldHRpbmdzIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPiBTaWduIE91dCA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQnV0dG9uIEFkZG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpbnB1dC1idXR0b25cIiBjb2xvcj1cImZkcy1yZWd1bGFyXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2hcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZsZXggZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsb2F0UGxhY2Vob2xkZXI9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGRpc2FibGVkIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQnV0dG9uIEFkZG9uIHdpdGggZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBkaXNhYmxlZCBjbGFzcz1cImlucHV0LWJ1dHRvblwiIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdDxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBmbGV4IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbG9hdFBsYWNlaG9sZGVyPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBkaXNhYmxlZCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkJ1dHRvbiBBZGRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGRpc2FibGVkIGNsYXNzPVwiaW5wdXQtYnV0dG9uXCIgY29sb3I9XCJmZHMtcmVndWxhclwiIG1hdC1yYWlzZWQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJBZGRyZXNzXCIgdmFsdWU9XCIxNjAwIEFtcGhpdGhlYXRyZSBQa3dheVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtbWFyZ2luPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBkaXNhYmxlZCB2YWx1ZT1cIkFkZHJlc3MgMiBWYWx1ZVwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQWRkcmVzcyAyXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbG9hdFBsYWNlaG9sZGVyPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQ2l0eVwiPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbG9hdFBsYWNlaG9sZGVyPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiU3RhdGVcIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxvYXRQbGFjZWhvbGRlcj1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAjcG9zdGFsQ29kZSBtYXhsZW5ndGg9XCI1XCIgcGxhY2Vob2xkZXI9XCJQb3N0YWwgQ29kZVwiIHZhbHVlPVwiOTQwNDNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwiZW5kXCI+e3twb3N0YWxDb2RlLnZhbHVlLmxlbmd0aH19IC8gNTwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgXV0+XG4gICAgPC9wcmU+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIlRhYnNcIj5UYWJzIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlRhYnNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBkeW5hbWljSGVpZ2h0IGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+T25lPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+Rmlyc3QgdGFiIGNvbnRlbnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+UGxhaWQgZWNobyBwYXJrIGtuYXVzZ2FhcmQgbm9ybWNvcmUgZnJhbnplbiBjcm9udXQuIFBpY2tsZWQgaHVtYmxlYnJhZyB0b2Z1IGhvb2RpZSwgdW1hbWlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWx2aWEgZmFybS10by10YWJsZSBzY2hsaXR6IHRyeS1oYXJkIGZvb2QgdHJ1Y2sga25hdXNnYWFyZCBwYWJzdC4gWXVjY2llIHBvcnRsYW5kIGplYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydHMsIGF1dGhlbnRpYyBtaXh0YXBlIHdhaXN0Y29hdCBnZW50cmlmeSBibHVlIGJvdHRsZS4gRml4aWUga2lja3N0YXJ0ZXIgY2h1cmNoLWtleSBzbWFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhdGNoIHNlaXRhbiwgc2hhYmJ5IGNoaWMgdmVnYW4gbGlzdGljbGUgYmVmb3JlIHRoZXkgc29sZCBvdXQuIEhhbW1vY2sgcmF3IGRlbmltIGZsYW5uZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3VzbGVkIHNlaXRhbiB5b3UgcHJvYmFibHkgaGF2ZW4ndCBoZWFyZCBvZiB0aGVtLiBUcnVzdCBmdW5kIG1hbiBidW4gcHVnLCBraWNrc3RhcnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFydGlzYW4gc2VsdmFnZSBsZXR0ZXJwcmVzcyBjb3JuaG9sZSB0b3RlIGJhZyBidXRjaGVyIGxvY2F2b3JlLiBBZmZvZ2F0byB0cnktaGFyZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpY2tzdGFydGVyIHNlaXRhbiwgRElZIHBpY2tsZWQgaGVsbGEgZ29kYXJkIHBvcmsgYmVsbHkgZm91ciBsb2tvIHVnaC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5Ud288L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5TZWNvbmQgdGFiIGNvbnRlbnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SGFzaHRhZyBkaXN0aWxsZXJ5IHNrYXRlYm9hcmQgbWFuIGJ1biBnb2NodWphbmcsIHNhbHZpYSBtYW4gYnJhaWQgYXJ0IHBhcnR5IG1lZ2dpbmdzIGhlaXJsb29tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2l0c2NoIGZhcm0tdG8tdGFibGUuIEZyYW56ZW4gYmVhcmQgZmluZ2Vyc3RhY2hlIGdlbnRyaWZ5LCBoZWlybG9vbSBwb3J0bGFuZCBlbm51aSBYT1hPXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWljcm9kb3Npbmcga2l0c2NoIHBsYWlkLiBDaGljaGFycm9uZXMgYnVzaHdpY2sgY2hpYSwgYmFuaCBtaSBpcm9ueSB0YXR0b29lZCBoYW1tb2NrIGJ1dGNoZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFiYnkgY2hpYyB0YXhpZGVybXkgc2VtaW90aWNzIG1hcmZhIHBvc3QtaXJvbmljLiBCbHVlIGJvdHRsZSBrZWZmaXllaCBmYXJtLXRvLXRhYmxlIGVubnVpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW1icmF5IHBpdGNoZm9yayBhcnQgcGFydHkgcGludGVyZXN0IGFydGlzYW4gcG9wLXVwLiBFdHN5IGJhbmpvIG1hcmZhLCBibHVlIGJvdHRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvbWJ1Y2hhIGNydWNpZml4IFhPWE8gdG91c2xlZCBiZWFyZC4gVGlsZGUgZGlzcnVwdCBrYWxlIGNoaXBzIGJpY3ljbGUgcmlnaHRzIHNrYXRlYm9hcmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXN0ZXIgY2xlYW5zZSBoZWxsYSBzaG9yZWRpdGNoLCBtZWRpdGF0aW9uIHJldHJvIHNoYWJieSBjaGljIHZpY2UgaGVpcmxvb20uIEV0c3kgbGlzdGljbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWNlIGFjdHVhbGx5LCBpUGhvbmUgY2hpYSBob29kaWUgZm91ciBsb2tvLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgICA8IVtDREFUQVtcbiAgICAgICAgPG1hdC10YWItZ3JvdXAgZHluYW1pY0hlaWdodCBjb2xvcj1cImFjY2VudFwiPlxuICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+Rmlyc3QgdGFiIGNvbnRlbnQ8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGgxPkZpcnN0IGNvbnRlbnQ8L2gxPlxuICAgICAgICAgICAgPHA+Li4uPC9wPlxuICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlNlY29uZCB0YWIgY29udGVudDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8aDE+U2Vjb25kIHRhYiBjb250ZW50PC9oMT5cbiAgICAgICAgICAgIDxwPi4uLjwvcD5cbiAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiU3RlcHBlclwiPlN0ZXBwZXIgPG1hdC1pY29uIGNsYXNzPVwibGluay10by1jb21wb25lbnRcIiByb3V0ZXJMaW5rPVwiL1wiIGZyYWdtZW50PVwiU3RlcHBlclwiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDx0ZC1zdGVwcyBtb2RlPVwidmVydGljYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkLXN0ZXAgbGFiZWw9XCJWZXJzaW9uIDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJsYWJlbD1cImJ5IEFkbWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1kLWJvZHktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21tZW50cyBnbyBoZXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWF0LWNhcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW4gaG91ciBhZ29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkLXN0ZXA+XG4gICAgICAgICAgICAgICAgICAgIDx0ZC1zdGVwIGxhYmVsPVwiVmVyc2lvbiAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VibGFiZWw9XCJieSBBZG1pblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtZC1ib2R5LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWVudHMgZ28gaGVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgZGF5IGFnb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQtc3RlcD5cbiAgICAgICAgICAgICAgICA8L3RkLXN0ZXBzPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8dGQtc3RlcHMgbW9kZT1cInZlcnRpY2FsXCI+XG4gICAgICAgICAgICA8dGQtc3RlcCBsYWJlbD1cIlZlcnNpb24gMVwiXG4gICAgICAgICAgICAgICAgICAgICBzdWJsYWJlbD1cImJ5IEFkbWluXCJcbiAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1kLWJvZHktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gZ29lcyBoZXJlXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtYXQtY2FwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQW4gaG91ciBhZ29cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkLXN0ZXA+XG4gICAgICAgICAgICA8dGQtc3RlcCBsYWJlbD1cIlZlcnNpb24gMlwiXG4gICAgICAgICAgICAgICAgICAgICBzdWJsYWJlbD1cImJ5IEFkbWluXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWQtYm9keS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiBnb2VzIGhlcmVcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBBIGRheSBhZ29cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkLXN0ZXA+XG4gICAgICAgIDwvdGQtc3RlcHM+XG4gICAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIkF1dG9jb21wbGV0ZVwiPkF1dG9jb21wbGV0ZSA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJBdXRvY29tcGxldGVcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGxheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsZXg9XCI1MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiU3RhdGVcIiBbbWF0QXV0b2NvbXBsZXRlXT1cInRkQXV0b1wiIFsobmdNb2RlbCldPVwiY3VycmVudFN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbW9kZWxEaXI9XCJuZ01vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwidGhpcy50ZFN0YXRlcyA9IGZpbHRlclN0YXRlcyhjdXJyZW50U3RhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGREaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdXNoLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm1vZGVsRGlyLnJlc2V0KClcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5SZXNldDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImN1cnJlbnRTdGF0ZT0nQ2FsaWZvcm5pYSdcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5TZXQgdmFsdWU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJ0ZERpc2FibGVkPSF0ZERpc2FibGVkXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+VG9nZ2xlIGRpc2FibGVkPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3RkQXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgdGRTdGF0ZXNcIiBbdmFsdWVdPVwic3RhdGUubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgc3RhdGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVtby1zZWNvbmRhcnktdGV4dFwiPiAoe3tzdGF0ZS5jb2RlfX0pIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgICA8IVtDREFUQVtcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBsYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxleD1cIjUwXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiU3RhdGVcIiBbbWF0QXV0b2NvbXBsZXRlXT1cInRkQXV0b1wiIFsobmdNb2RlbCldPVwiY3VycmVudFN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgI21vZGVsRGlyPVwibmdNb2RlbFwiIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMudGRTdGF0ZXMgPSBmaWx0ZXJTdGF0ZXMoY3VycmVudFN0YXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0ZERpc2FibGVkXCI+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInB1c2gtdG9wXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm1vZGVsRGlyLnJlc2V0KClcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5SZXNldDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjdXJyZW50U3RhdGU9J0NhbGlmb3JuaWEnXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+U2V0IHZhbHVlPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInRkRGlzYWJsZWQ9IXRkRGlzYWJsZWRcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5Ub2dnbGUgZGlzYWJsZWQ8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICN0ZEF1dG89XCJtYXRBdXRvY29tcGxldGVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdGF0ZSBvZiB0ZFN0YXRlc1wiIFt2YWx1ZV09XCJzdGF0ZS5uYW1lXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+eyB7IHN0YXRlLm5hbWUgfSB9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGVtby1zZWNvbmRhcnktdGV4dFwiPiAoeyB7c3RhdGUuY29kZX0gfSkgPC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiamF2YXNjcmlwdFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHRoaXMuY3VycmVudFN0YXRlID0gJyc7XG4gICAgICAgIHRoaXMucmVhY3RpdmVTdGF0ZXMgPSAnJztcbiAgICAgICAgdGhpcy50ZFN0YXRlcyA9IFtdO1xuICAgICAgICB0aGlzLnRkRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSBbXG4gICAgICAgICAgICB7IGNvZGU6ICdBTCcsIG5hbWU6ICdBbGFiYW1hJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnQUsnLCBuYW1lOiAnQWxhc2thJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnQVonLCBuYW1lOiAnQXJpem9uYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ0FSJywgbmFtZTogJ0Fya2Fuc2FzJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnQ0EnLCBuYW1lOiAnQ2FsaWZvcm5pYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ0NPJywgbmFtZTogJ0NvbG9yYWRvJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnQ1QnLCBuYW1lOiAnQ29ubmVjdGljdXQnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdERScsIG5hbWU6ICdEZWxhd2FyZScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ0ZMJywgbmFtZTogJ0Zsb3JpZGEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdHQScsIG5hbWU6ICdHZW9yZ2lhJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnSEknLCBuYW1lOiAnSGF3YWlpJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnSUQnLCBuYW1lOiAnSWRhaG8nIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdJTCcsIG5hbWU6ICdJbGxpbm9pcycgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ0lOJywgbmFtZTogJ0luZGlhbmEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdJQScsIG5hbWU6ICdJb3dhJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnS1MnLCBuYW1lOiAnS2Fuc2FzJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnS1knLCBuYW1lOiAnS2VudHVja3knIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdMQScsIG5hbWU6ICdMb3Vpc2lhbmEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdNRScsIG5hbWU6ICdNYWluZScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ01EJywgbmFtZTogJ01hcnlsYW5kJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnTUEnLCBuYW1lOiAnTWFzc2FjaHVzZXR0cycgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ01JJywgbmFtZTogJ01pY2hpZ2FuJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnTU4nLCBuYW1lOiAnTWlubmVzb3RhJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnTVMnLCBuYW1lOiAnTWlzc2lzc2lwcGknIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdNTycsIG5hbWU6ICdNaXNzb3VyaScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ01UJywgbmFtZTogJ01vbnRhbmEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdORScsIG5hbWU6ICdOZWJyYXNrYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ05WJywgbmFtZTogJ05ldmFkYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ05IJywgbmFtZTogJ05ldyBIYW1wc2hpcmUnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdOSicsIG5hbWU6ICdOZXcgSmVyc2V5JyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnTk0nLCBuYW1lOiAnTmV3IE1leGljbycgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ05ZJywgbmFtZTogJ05ldyBZb3JrJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnTkMnLCBuYW1lOiAnTm9ydGggQ2Fyb2xpbmEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdORCcsIG5hbWU6ICdOb3J0aCBEYWtvdGEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdPSCcsIG5hbWU6ICdPaGlvJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnT0snLCBuYW1lOiAnT2tsYWhvbWEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdPUicsIG5hbWU6ICdPcmVnb24nIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdQQScsIG5hbWU6ICdQZW5uc3lsdmFuaWEnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdSSScsIG5hbWU6ICdSaG9kZSBJc2xhbmQnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdTQycsIG5hbWU6ICdTb3V0aCBDYXJvbGluYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ1NEJywgbmFtZTogJ1NvdXRoIERha290YScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ1ROJywgbmFtZTogJ1Rlbm5lc3NlZScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ1RYJywgbmFtZTogJ1RleGFzJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnVVQnLCBuYW1lOiAnVXRhaCcgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ1ZUJywgbmFtZTogJ1Zlcm1vbnQnIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdWQScsIG5hbWU6ICdWaXJnaW5pYScgfSxcbiAgICAgICAgICAgIHsgY29kZTogJ1dBJywgbmFtZTogJ1dhc2hpbmd0b24nIH0sXG4gICAgICAgICAgICB7IGNvZGU6ICdXVicsIG5hbWU6ICdXZXN0IFZpcmdpbmlhJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnV0knLCBuYW1lOiAnV2lzY29uc2luJyB9LFxuICAgICAgICAgICAgeyBjb2RlOiAnV1knLCBuYW1lOiAnV3lvbWluZycgfSxcbiAgICAgICAgXTtcblxuICAgICAgICAuLi5cblxuICAgICAgICBkaXNwbGF5Rm46IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IHZhbHVlLm5hbWUgOiB2YWx1ZTtcbiAgICAgICAgfSxcblxuICAgICAgICBmaWx0ZXJTdGF0ZXM6IGZ1bmN0aW9uKHZhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbCA/IHRoaXMuc3RhdGVzLmZpbHRlcigocykgPT4gcy5uYW1lLm1hdGNoKG5ldyBSZWdFeHAodmFsLCAnZ2knKSkpIDogdGhpcy5zdGF0ZXM7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLi4uXG4gICAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIkZpbHRlclwiPkZpbHRlciA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJGaWx0ZXJcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPkF1dG9jb21wbGV0ZSB3aXRoIGNoaXBzIGFuZCBubyBjdXN0b20gaW5wdXRzPC9oMz5cbiAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzIGR5bmFtaWNIZWlnaHQgY29sb3I9XCJhY2NlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5EZW1vPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdXNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1ib2R5LTFcIj5UeXBlIGFuZCBzZWxlY3QgYSBwcmVzZXQgb3B0aW9uOjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZC1jaGlwcyBbaXRlbXNdPVwiaXRlbXNcIiBbKG5nTW9kZWwpXT1cIml0ZW1zUmVxdWlyZU1hdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBhdXRvY29tcGxldGUgc3RyaW5nc1wiIFtkaXNhYmxlZF09XCJyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVNYXRjaD48L3RkLWNoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5Db2RlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgPHRkLWNoaXBzIFtpdGVtc109XCJpdGVtc1wiIFsobmdNb2RlbCldPVwiaXRlbXNSZXF1aXJlTWF0Y2hcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGF1dG9jb21wbGV0ZSBzdHJpbmdzXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkT25seVwiIHJlcXVpcmVNYXRjaD48L3RkLWNoaXBzPlxuICAgICAgICAgIF1dPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiamF2YXNjcmlwdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5pdGVtcyA9IFtcbiAgICAgICAgICAgICdzdGVwcGVyJyxcbiAgICAgICAgICAgICdleHBhbnNpb24tcGFuZWwnLFxuICAgICAgICAgICAgJ21hcmtkb3duJyxcbiAgICAgICAgICAgICdoaWdobGlnaHQnLFxuICAgICAgICAgICAgJ2xvYWRpbmcnLFxuICAgICAgICAgICAgJ21lZGlhJyxcbiAgICAgICAgICAgICdjaGlwcycsXG4gICAgICAgICAgICAnaHR0cCcsXG4gICAgICAgICAgICAnanNvbi1mb3JtYXR0ZXInLFxuICAgICAgICAgICAgJ3BpcGVzJyxcbiAgICAgICAgICAgICduZWVkIG1vcmU/JyxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLml0ZW1zUmVxdWlyZU1hdGNoID0gdGhpcy5pdGVtcy5zbGljZSgwLCA2KTtcblxuICAgICAgICAuLi5cblxuICAgICAgICB0b2dnbGVSZWFkT25seTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0aGlzLnJlYWRPbmx5ID0gIXRoaXMucmVhZE9ubHk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLi4uXG4gICAgICAgICAgXV0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVSZWFkT25seSgpXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+VG9nZ2xlIFJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+QXV0b2NvbXBsZXRlIHdpdGggY3VzdG9tIGlucHV0czwvaDM+XG4gICAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgbWF0LXN0cmV0Y2gtdGFicyBkeW5hbWljSGVpZ2h0IGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+RGVtbzwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVzaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtYm9keS0xXCI+VHlwZSBhbmQgc2VsZWN0IG9wdGlvbiBvciBlbnRlciBjdXN0b20gdGV4dCBhbmQgcHJlc3MgZW50ZXI6PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkLWNoaXBzIFtpdGVtc109XCJpdGVtc1wiIHBsYWNlaG9sZGVyPVwiRW50ZXIgYW55IHN0cmluZ1wiPjwvdGQtY2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPkNvZGU8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8dGQtY2hpcHMgW2l0ZW1zXT1cIml0ZW1zXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBhbnkgc3RyaW5nXCI+PC90ZC1jaGlwcz5cbiAgICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkphdmFzY3JpcHQ6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtcbiAgICAgICAgICAgICdzdGVwcGVyJyxcbiAgICAgICAgICAgICdleHBhbnNpb24tcGFuZWwnLFxuICAgICAgICAgICAgJ21hcmtkb3duJyxcbiAgICAgICAgICAgICdoaWdobGlnaHQnLFxuICAgICAgICAgICAgJ2xvYWRpbmcnLFxuICAgICAgICAgICAgJ21lZGlhJyxcbiAgICAgICAgICAgICdjaGlwcycsXG4gICAgICAgICAgICAnaHR0cCcsXG4gICAgICAgICAgICAnanNvbi1mb3JtYXR0ZXInLFxuICAgICAgICAgICAgJ3BpcGVzJyxcbiAgICAgICAgICAgICduZWVkIG1vcmU/JyxcbiAgICAgICAgXTtcbiAgICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5EZW1vIGFsbG93aW5nIGN1c3RvbSBpbnB1dHMgZm9yIHRhZ3M8L2gzPlxuICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtdGFiLWdyb3VwIG1hdC1zdHJldGNoLXRhYnMgZHluYW1pY0hlaWdodCBjb2xvcj1cImFjY2VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPkRlbW88L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1c2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWJvZHktMVwiPlR5cGUgYW55IHRlc3QgYW5kIHByZXNzIGVudGVyOjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZC1jaGlwcyBwbGFjZWhvbGRlcj1cIkVudGVyIGFueSBzdHJpbmdcIj48L3RkLWNoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5Db2RlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgPHRkLWNoaXBzIHBsYWNlaG9sZGVyPVwiRW50ZXIgYW55IHN0cmluZ1wiPjwvdGQtY2hpcHM+XG4gICAgICAgICAgXV0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiU2VhcmNoYWJsZUV4cGFuc2lvblBhbmVsc1wiPlNlYXJjaGFibGUvRmlsdGVyYWJsZSBFeHBhbnNpb24gUGFuZWxzIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlNlYXJjaGFibGVFeHBhbnNpb25QYW5lbHNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzIGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+RGVtbzwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1tZCBwYWQtYm90dG9tLW1kIHBhZC1yaWdodC14eGwgcGFkLWxlZnQteHhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3AtbWQgcGFkLWJvdHRvbS1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbnNpb24tcGFuZWwtZmlsdGVyLXRvZ2dsZS1ncm91cFwiIG11bHRpcGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlRHJvcGxldHNGaWx0ZXIoJ3R5cGU6YXNzZXQnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEcm9wbGV0RmlsdGVyQ2hlY2tlZCgndHlwZTphc3NldCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiNTVcIj57e2dldERyb3BsZXRUeXBlQ291bnQoJ2Fzc2V0Jyl9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+QXNzZXRzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlRHJvcGxldHNGaWx0ZXIoJ3R5cGU6ZXh0ZW5zaW9uJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ3R5cGU6ZXh0ZW5zaW9uJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgc3RyZXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9XCI1NVwiPnt7Z2V0RHJvcGxldFR5cGVDb3VudCgnZXh0ZW5zaW9uJyl9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+RXh0ZW5zaW9uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZURyb3BsZXRzRmlsdGVyKCd0eXBlOmZsb3cnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEcm9wbGV0RmlsdGVyQ2hlY2tlZCgndHlwZTpmbG93JylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgc3RyZXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg9XCI1NVwiPnt7Z2V0RHJvcGxldFR5cGVDb3VudCgnZmxvdycpfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPkZsb3dzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlRHJvcGxldHNGaWx0ZXIoJ2NvbXBsaWFudC5sYWJlbDpDb21wbGlhbnQnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEcm9wbGV0RmlsdGVyQ2hlY2tlZCgnY29tcGxpYW50LmxhYmVsOkNvbXBsaWFudCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiNTVcIj57e2dldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQoJ2NvbXBsaWFudCcpfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPkNvbXBsaWFudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZURyb3BsZXRzRmlsdGVyKCdmbGVldC5sYWJlbDpGbGVldCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0Ryb3BsZXRGaWx0ZXJDaGVja2VkKCdmbGVldC5sYWJlbDpGbGVldCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiNTVcIj57e2dldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQoJ2ZsZWV0Jyl9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+RmxlZXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcigncHJvZC5sYWJlbDpQcm9kdWN0aW9uIFJlYWR5JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ3Byb2QubGFiZWw6UHJvZHVjdGlvbiBSZWFkeScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiNTVcIj57e2dldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQoJ3Byb2QnKX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5Qcm9kdWN0aW9uIFJlYWR5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlRHJvcGxldHNGaWx0ZXIoJ3NlY3VyZS5sYWJlbDpTZWN1cmUnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEcm9wbGV0RmlsdGVyQ2hlY2tlZCgnc2VjdXJlLmxhYmVsOlNlY3VyZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiNTVcIj57e2dldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQoJ3NlY3VyZScpfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPlNlY3VyZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImZkcy1kcm9wbGV0LWZpbHRlci1jbGVhci1ncm91cGluZy1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRyb3BsZXRzU2VhcmNoVGVybXMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGxldHNTZWFyY2hUZXJtcyA9IFtdO2ZpbHRlckRyb3BsZXRzKGFjdGl2ZURyb3BsZXRDb2x1bW4ubmFtZSwgYWN0aXZlRHJvcGxldENvbHVtbi5zb3J0T3JkZXIpO1wiPjxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZSBmYS1yb3RhdGUtNDVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBhZC1sZWZ0LXNtIGxpbmtcIj5DbGVhciBHcm91cGluZzwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmbGV4IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZC1jaGlwcyBbKG5nTW9kZWwpXT1cImRyb3BsZXRzU2VhcmNoVGVybXNcIiBbaXRlbXNdPVwiYXV0b0NvbXBsZXRlRHJvcGxldHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGQpPVwiZmlsdGVyRHJvcGxldHMoYWN0aXZlRHJvcGxldENvbHVtbi5uYW1lLCBhY3RpdmVEcm9wbGV0Q29sdW1uLnNvcnRPcmRlcik7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cImZpbHRlckRyb3BsZXRzKGFjdGl2ZURyb3BsZXRDb2x1bW4ubmFtZSwgYWN0aXZlRHJvcGxldENvbHVtbi5zb3J0T3JkZXIpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwdXNoLXJpZ2h0LXNtXCI+PC90ZC1jaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHVzaC10b3Atc20gcGFkLXJpZ2h0LXNtXCI+U29ydCBieTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHVzaC10b3Atc21cIiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImRyb3BsZXRHcmlkU29ydE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldFNvcnRCeSgpfX08aSBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSBjbGFzcz1cImZkcy1wcmltYXJ5LWRyb3Bkb3duLWJ1dHRvbi1tZW51XCIgI2Ryb3BsZXRHcmlkU29ydE1lbnU9XCJtYXRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRyb3BsZXRDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzb3J0RHJvcGxldHMoY29sdW1uKTtcIj57e2NvbHVtbi5sYWJlbH19IHt7KGNvbHVtbi5zb3J0T3JkZXIgPT09ICdBU0MnKSA/ICdERVNDJyA6ICdBU0MnfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXJpZ2h0LXh4bCBwYWQtbGVmdC14eGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkcm9wbGV0IG9mIGZpbHRlcmVkRHJvcGxldHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkLWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejVcIiBsYWJlbD17e2Ryb3BsZXQubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmxhYmVsPXt7ZHJvcGxldC5zdWJsYWJlbH19IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHRkLWV4cGFuc2lvbi1wYW5lbC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZC10aXRsZSB0ZXh0LWNhcHNcIj57e2Ryb3BsZXQuZGlzcGxheU5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZC1zdWJoZWFkXCI+e3tkcm9wbGV0LnR5cGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdGQtZXhwYW5zaW9uLXBhbmVsLXN1YmxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC1yaWdodC14eGwgcGFkLWxlZnQteHhsXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJcIj5WZXJzaW9uczwvc3Bhbj4ge3tkcm9wbGV0LnZlcnNpb25zLmxlbmd0aH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXJpZ2h0LXh4bCBwYWQtbGVmdC14eGxcIiBmeExheW91dD1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPkZsb3dzPC9zcGFuPiB7e2Ryb3BsZXQuZmxvd3MubGVuZ3RofX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+RXh0ZW5zaW9uczwvc3Bhbj4ge3tkcm9wbGV0LmV4dGVuc2lvbnMubGVuZ3RofX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+QXNzZXN0czwvc3Bhbj4ge3tkcm9wbGV0LmFzc2V0cy5sZW5ndGh9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LXBhZGRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJwcmltYXJ5QnV0dG9uRHJvcGRvd25NZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uczxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwiZmRzLXByaW1hcnktZHJvcGRvd24tYnV0dG9uLW1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNwcmltYXJ5QnV0dG9uRHJvcGRvd25NZW51PVwibWF0TWVudVwiIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRyb3BsZXQuYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2FjdGlvbi5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCIyNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPkRlc2NyaXB0aW9uPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGEsIGJsYWggYmxhaCBibGE8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiNTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cInBhZC10b3Atc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwie3tkcm9wbGV0LmltZ319XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjI1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+Q2hhbmdlIExvZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkLWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC1ib3R0b20tc21cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+Q29kZTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1tZCBwYWQtYm90dG9tLW1kIHBhZC1yaWdodC14eGwgcGFkLWxlZnQteHhsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1tZCBwYWQtYm90dG9tLXNtXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleHBhbnNpb24tcGFuZWwtZmlsdGVyLXRvZ2dsZS1ncm91cFwiIG11bHRpcGxlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcigndHlwZTphc3NldCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ3R5cGU6YXNzZXQnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNTVcIj57IHtnZXREcm9wbGV0VHlwZUNvdW50KCdhc3NldCcpfSB9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPkFzc2V0czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZURyb3BsZXRzRmlsdGVyKCd0eXBlOmV4dGVuc2lvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ3R5cGU6ZXh0ZW5zaW9uJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0RHJvcGxldFR5cGVDb3VudCgnZXh0ZW5zaW9uJyl9IH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+RXh0ZW5zaW9uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZURyb3BsZXRzRmlsdGVyKCd0eXBlOmZsb3cnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0Ryb3BsZXRGaWx0ZXJDaGVja2VkKCd0eXBlOmZsb3cnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNTVcIj57IHtnZXREcm9wbGV0VHlwZUNvdW50KCdmbG93Jyl9IH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+Rmxvd3M8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcignY29tcGxpYW50LmxhYmVsOkNvbXBsaWFudCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ2NvbXBsaWFudC5sYWJlbDpDb21wbGlhbnQnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNTVcIj57IHtnZXREcm9wbGV0Q2VydGlmaWNhdGlvbkNvdW50KCdjb21wbGlhbnQnKX0gfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5Db21wbGlhbnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcignZmxlZXQubGFiZWw6RmxlZXQnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0Ryb3BsZXRGaWx0ZXJDaGVja2VkKCdmbGVldC5sYWJlbDpGbGVldCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgc3RyZXRjaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZGlzcGxheS0xIHBhZC10b3Atc21cIiBmeEZsZXg9XCI1NVwiPnsge2dldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQoJ2ZsZWV0Jyl9IH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXRvcC1zbVwiIGZ4RmxleD1cIjQ1XCI+RmxlZXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcigncHJvZC5sYWJlbDpQcm9kdWN0aW9uIFJlYWR5JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNEcm9wbGV0RmlsdGVyQ2hlY2tlZCgncHJvZC5sYWJlbDpQcm9kdWN0aW9uIFJlYWR5JylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1kaXNwbGF5LTEgcGFkLXRvcC1zbVwiIGZ4RmxleD1cIjU1XCI+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0RHJvcGxldENlcnRpZmljYXRpb25Db3VudCgncHJvZCcpfSB9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC10b3Atc21cIiBmeEZsZXg9XCI0NVwiPlByb2R1Y3Rpb24gUmVhZHk8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVEcm9wbGV0c0ZpbHRlcignc2VjdXJlLmxhYmVsOlNlY3VyZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRHJvcGxldEZpbHRlckNoZWNrZWQoJ3NlY3VyZS5sYWJlbDpTZWN1cmUnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIHN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktMSBwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNTVcIj57IHtnZXREcm9wbGV0Q2VydGlmaWNhdGlvbkNvdW50KCdzZWN1cmUnKX0gfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLXNtXCIgZnhGbGV4PVwiNDVcIj5TZWN1cmU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGl2ZURyb3BsZXRDb2x1bW5cIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGxldHNTZWFyY2hUZXJtcyA9IFtdO2ZpbHRlckRyb3BsZXRzKGFjdGl2ZURyb3BsZXRDb2x1bW4ubmFtZSwgYWN0aXZlRHJvcGxldENvbHVtbi5zb3J0T3JkZXIpO1wiPkNsZWFyIEdyb3VwaW5nPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZsZXggZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQtY2hpcHMgWyhuZ01vZGVsKV09XCJkcm9wbGV0c1NlYXJjaFRlcm1zXCIgW2l0ZW1zXT1cImF1dG9Db21wbGV0ZURyb3BsZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZGQpPVwiZmlsdGVyRHJvcGxldHMoYWN0aXZlRHJvcGxldENvbHVtbi5uYW1lLCBhY3RpdmVEcm9wbGV0Q29sdW1uLnNvcnRPcmRlcik7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwiZmlsdGVyRHJvcGxldHMoYWN0aXZlRHJvcGxldENvbHVtbi5uYW1lLCBhY3RpdmVEcm9wbGV0Q29sdW1uLnNvcnRPcmRlcik7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHVzaC1yaWdodC1zbVwiPjwvdGQtY2hpcHM+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFkLXJpZ2h0LXNtXCI+U29ydCBieTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIG1hdC1yYWlzZWQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJkcm9wbGV0R3JpZFNvcnRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IHtnZXRTb3J0QnkoKX0gfTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwiZmRzLXByaW1hcnktZHJvcGRvd24tYnV0dG9uLW1lbnVcIiAjZHJvcGxldEdyaWRTb3J0TWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRyb3BsZXRDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJjb2x1bW4uc29ydGFibGVcIiAoY2xpY2spPVwic29ydERyb3BsZXRzKGNvbHVtbik7XCI+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb2x1bW4ubGFiZWx9IH0geyB7KGNvbHVtbi5zb3J0T3JkZXIgPT09ICdBU0MnKSA/ICdERVNDJyA6ICdBU0MnfSB9PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZHJvcGxldCBvZiBmaWx0ZXJlZERyb3BsZXRzXCI+XG4gICAgICAgICAgICAgICAgPHRkLWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejVcIiBsYWJlbD17IHtkcm9wbGV0LmxhYmVsfSB9IHN1YmxhYmVsPXsge2Ryb3BsZXQuc3VibGFiZWx9IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdGQtZXhwYW5zaW9uLXBhbmVsLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZC10aXRsZSB0ZXh0LWNhcHNcIj57IHtkcm9wbGV0LmRpc3BsYXlOYW1lfSB9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWQtc3ViaGVhZFwiPnsge2Ryb3BsZXQudHlwZX0gfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdGQtZXhwYW5zaW9uLXBhbmVsLXN1YmxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPlZlcnNpb25zPC9zcGFuPiB7IHtkcm9wbGV0LnZlcnNpb25zLmxlbmd0aH0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPkZsb3dzPC9zcGFuPiB7IHtkcm9wbGV0LmZsb3dzLmxlbmd0aH0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtcmlnaHQteHhsIHBhZC1sZWZ0LXh4bFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIHN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPkV4dGVuc2lvbnM8L3NwYW4+IHsge2Ryb3BsZXQuZXh0ZW5zaW9ucy5sZW5ndGh9IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkLXJpZ2h0LXh4bCBwYWQtbGVmdC14eGxcIiBmeExheW91dD1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJcIj5Bc3Nlc3RzPC9zcGFuPiB7IHtkcm9wbGV0LmFzc2V0cy5sZW5ndGh9IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LXBhZGRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJwcmltYXJ5QnV0dG9uRHJvcGRvd25NZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbnM8aSBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgY2xhc3M9XCJmZHMtcHJpbWFyeS1kcm9wZG93bi1idXR0b24tbWVudVwiICNwcmltYXJ5QnV0dG9uRHJvcGRvd25NZW51PVwibWF0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRyb3BsZXQuYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnsge2FjdGlvbi5uYW1lfSB9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjI1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJcIj5EZXNjcmlwdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGFCbGFoIGJsYWggYmxhLCBibGEgYmxhLCBibGFoIGJsYWggYmxhQmxhaCBibGFoIGJsYSwgYmxhIGJsYSwgYmxhaCBibGFoIGJsYUJsYWggYmxhaCBibGEsIGJsYSBibGEsIGJsYWggYmxhaCBibGE8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjUwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQgZnhGbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicGFkLXRvcC1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cInsge2Ryb3BsZXQuaW1nfSB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMjVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlclwiPkNoYW5nZSBMb2c8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXV0+XG4gICAgICAgICAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJqYXZhc2NyaXB0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgdGhpcy5kYXRhVGFibGVTZXJ2aWNlID0gVGREYXRhVGFibGVTZXJ2aWNlO1xuXG4gICAgICAgIHRoaXMuZHJvcGxldHMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICcyM2Y2Y2M1OS0wMTU2LTEwMDAtMDliNC0yYjA2MTAwODkwOTAnLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVjb21wcmVzc2lvbl9DaXJjdWxhcl9GbG93XCIsXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdEZWNvbXByZXNzZWQgQ2lyY3VsYXIgZmxvdycsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2Zsb3cnLFxuICAgICAgICAgICAgICAgIHN1YmxhYmVsOiAnQSBzdWJsYWJlbCcsXG4gICAgICAgICAgICAgICAgY29tcGxpYW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAnMjVmZDZ2djg3LTM1NDktMDAwMS0wNWc2LTRkNDU2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29tcGxpYW50JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NlcnRpZmljYXRpb24nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmbGVldDoge1xuICAgICAgICAgICAgICAgICAgICBpZDogJzIzZjZjYzU5LTM1NDktMDAwMS0wNWc2LTRkNDU2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRmxlZXQnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2VydGlmaWNhdGlvbidcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHByb2Q6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICc1MmZkNnZ2ODctMzU0OS0wMDAxLTA1ZzYtNGQ0NTY3ODkwNzY1JyxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQcm9kdWN0aW9uIFJlYWR5JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NlcnRpZmljYXRpb24nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZWN1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICczMmY2Y2M1OS0zNTQ5LTAwMDEtMDVnNi00ZDQ1Njc4OTA3NjUnLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NlY3VyZScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjZXJ0aWZpY2F0aW9uJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmVyc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICcyM2Y2Y2M1OS0wMTU2LTEwMDAtMDZiNC0yYjA4MTAwODkwOTAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb246ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVudEZsb3dzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJzI1ZmQ2dnY4Ny0zNTQ5LTAwMDEtMDVnNi00ZDQ1Njc4OTA3NjUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQ6IGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZDogbmV3IERhdGUoKVxuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJzI1ZmQ2dnY4Ny0zNTQ5LTAwMDEtMDVnNi00ZDQ1Njc4OTA3NjUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb246ICcyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVudEZsb3dzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJzIzZjZjYzU5LTAxNTYtMTAwMC0wNmI0LTJiMDgxMDA4OTA5MCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQ6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgZmxvd3M6IFtdLFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IFtdLFxuICAgICAgICAgICAgICAgIGFzc2V0czogW10sXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdEZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtY2xvc2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnRGVsZXRlIFVzZXInXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ01hbmFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbic6ICdmYSBmYS11c2VyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ01hbmFnZSBVc2VyJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gMycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbic6ICdmYSBmYS1xdWVzdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdXaGF0ZXZlciBlbHNlIHdlIHdhbnQgdG8gZG8uLi4nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnMjVmZDZ2djg3LTMyNDktMDAwMS0wNWc2LTRkNDc2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJEYXRlQ29udmVyc2lvblwiLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRGF0ZSBjb252ZXJzaW9uJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXNzZXQnLFxuICAgICAgICAgICAgICAgIHN1YmxhYmVsOiAnQSBzdWJsYWJlbCcsXG4gICAgICAgICAgICAgICAgY29tcGxpYW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAnMjVmZDZ2djM0LTM1NDktMDAwMS0wNWc2LTRkNDU2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29tcGxpYW50JyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NlcnRpZmljYXRpb24nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwcm9kOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAnNTJ2bjZ2djg3LTM1NDktMDAwMS0wNWc2LTRkNDU2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUHJvZHVjdGlvbiBSZWFkeScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjZXJ0aWZpY2F0aW9uJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmVyc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICcyM2Y2aWM1OS0wMTU2LTEwMDAtMDZiNC0yYjA4MTAwODkwOTAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb246ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVudEZsb3dzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJzIzZjZjYzE5LTAxNTYtMTAwMC0wNmI0LTJiMDgxMDA4OTA5MCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZDogbmV3IERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQ6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgZmxvd3M6IFtdLFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IFtdLFxuICAgICAgICAgICAgICAgIGFzc2V0czogW10sXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdEZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtY2xvc2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnRGVsZXRlIFVzZXInXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnNTJmZDZ2djg3LTMyOTQtMDAwMS0wNWc2LTRkNDc2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJuaWZpLWVtYWlsLWJ1bmRsZVwiLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnbmlmaS1lbWFpbC1idW5kbGUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdleHRlbnNpb24nLFxuICAgICAgICAgICAgICAgIHN1YmxhYmVsOiAnQSBzdWJsYWJlbCcsXG4gICAgICAgICAgICAgICAgY29tcGxpYW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAnMzNmZDZ2djg3LTM1NDktMDAwMS0wNWc2LTRkNDU2Nzg5MDc2NScsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29tcGxpYW50JyxcbiAgICAgICAgICAgICAgICAgICAgdGVzdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICd0ZXN0J1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2VydGlmaWNhdGlvbidcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZlcnNpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnMjNkM2NjNTktMDE1Ni0xMDAwLTA2YjQtMmIwODEwMDg5MDkwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9uOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbnRGbG93czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICcyM2Y2Y2M4OS0wMTU2LTEwMDAtMDZiNC0yYjA4MTAwODkwOTAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkOiBuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGZsb3dzOiBbXSxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBbXSxcbiAgICAgICAgICAgICAgICBhc3NldHM6IFtdLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnRGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uJzogJ2ZhIGZhLWNsb3NlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0RlbGV0ZSBVc2VyJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdNYW5hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtdXNlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgVXNlcidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgfV07XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZERyb3BsZXRzID0gW107XG5cbiAgICAgICAgdGhpcy5kcm9wbGV0Q29sdW1ucyA9IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2lkJywgbGFiZWw6ICdJRCcsIHNvcnRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICduYW1lJywgbGFiZWw6ICdOYW1lJywgc29ydGFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2Rpc3BsYXlOYW1lJywgbGFiZWw6ICdEaXNwbGF5IE5hbWUnLCBzb3J0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc3VibGFiZWwnLCBsYWJlbDogJ0xhYmVsJywgc29ydGFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3R5cGUnLCBsYWJlbDogJ1R5cGUnLCBzb3J0YWJsZTogdHJ1ZSB9XG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVEcm9wbGV0cyA9IFtdO1xuICAgICAgICB0aGlzLmRyb3BsZXRzU2VhcmNoVGVybXMgPSBbXTtcblxuICAgICAgICAuLi5cblxuICAgICAgICBpc0Ryb3BsZXRGaWx0ZXJDaGVja2VkOiBmdW5jdGlvbih0ZXJtKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZHJvcGxldHNTZWFyY2hUZXJtcy5pbmRleE9mKHRlcm0pID4gLTEpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGdldERyb3BsZXRUeXBlQ291bnQ6IGZ1bmN0aW9uKHR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcmVkRHJvcGxldHMuZmlsdGVyKGZ1bmN0aW9uKGRyb3BsZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZHJvcGxldC50eXBlID09PSB0eXBlO1xuICAgICAgICAgICAgfSkubGVuZ3RoO1xuICAgICAgICB9LFxuXG4gICAgICAgIGdldERyb3BsZXRDZXJ0aWZpY2F0aW9uQ291bnQ6IGZ1bmN0aW9uKGNlcnRpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcmVkRHJvcGxldHMuZmlsdGVyKGRyb3BsZXQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhkcm9wbGV0KS5maW5kKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gY2VydGlmaWNhdGlvbiAmJiBkcm9wbGV0W2NlcnRpZmljYXRpb25dLnR5cGUgPT09ICdjZXJ0aWZpY2F0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRyb3BsZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLmxlbmd0aDtcbiAgICAgICAgfSxcblxuICAgICAgICBnZXRTb3J0Qnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIHNvcnRCeUNvbHVtbkxhYmVsO1xuICAgICAgICAgICAgdmFyIGFycmF5TGVuZ3RoID0gdGhpcy5kcm9wbGV0Q29sdW1ucy5sZW5ndGg7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kcm9wbGV0Q29sdW1uc1tpXS5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgc29ydEJ5Q29sdW1uTGFiZWwgPSB0aGlzLmRyb3BsZXRDb2x1bW5zW2ldLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc29ydEJ5Q29sdW1uTGFiZWw7XG4gICAgICAgIH0sXG5cbiAgICAgICAgc29ydERyb3BsZXRzOiBmdW5jdGlvbihjb2x1bW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4uc29ydGFibGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAvLyB0b2dnbGUgY29sdW1uIHNvcnQgb3JkZXJcbiAgICAgICAgICAgICAgICB2YXIgc29ydE9yZGVyID0gY29sdW1uLnNvcnRPcmRlciA9IChjb2x1bW4uc29ydE9yZGVyID09PSAnQVNDJykgPyAnREVTQycgOiAnQVNDJztcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRyb3BsZXRzKGNvbHVtbi5uYW1lLCBzb3J0T3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgLy9vbmx5IG9uZSBjb2x1bW4gY2FuIGJlIGFjdGl2ZWx5IHNvcnRlZCBzbyB3ZSByZXNldCBhbGwgdG8gaW5hY3RpdmVcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BsZXRDb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy9hbmQgc2V0IHRoaXMgY29sdW1uIGFzIHRoZSBhY3RpdmVseSBzb3J0ZWQgY29sdW1uXG4gICAgICAgICAgICAgICAgY29sdW1uLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVEcm9wbGV0Q29sdW1uID0gY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIHRvZ2dsZURyb3BsZXRzRmlsdGVyOiBmdW5jdGlvbihzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgICB2YXIgYXBwbHlTZWFyY2hUZXJtID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBzZWFyY2ggdGVybSBpcyBhbHJlYWR5IGFwcGxpZWQgYW5kIHJlbW92ZSBpdCBpZiB0cnVlXG4gICAgICAgICAgICBpZiAodGhpcy5kcm9wbGV0c1NlYXJjaFRlcm1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJyYXlMZW5ndGggPSB0aGlzLmRyb3BsZXRzU2VhcmNoVGVybXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmRyb3BsZXRzU2VhcmNoVGVybXMuaW5kZXhPZihzZWFyY2hUZXJtKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGxldHNTZWFyY2hUZXJtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlTZWFyY2hUZXJtID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIHdlIGp1c3QgcmVtb3ZlZCB0aGUgc2VhcmNoIHRlcm0gZG8gTk9UIGFwcGx5IGl0IGFnYWluXG4gICAgICAgICAgICBpZiAoYXBwbHlTZWFyY2hUZXJtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wbGV0c1NlYXJjaFRlcm1zLnB1c2goc2VhcmNoVGVybSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRHJvcGxldHModGhpcy5hY3RpdmVEcm9wbGV0Q29sdW1uLm5hbWUsIHRoaXMuYWN0aXZlRHJvcGxldENvbHVtbi5zb3J0T3JkZXIpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGZpbHRlckRyb3BsZXRzOiBmdW5jdGlvbihzb3J0QnksIHNvcnRPcmRlcikge1xuICAgICAgICAgICAgLy8gaWYgYHNvcnRCeWAgaXMgYHVuZGVmaW5lZGAgdGhlbiBmaW5kIHRoZSBmaXJzdCBzb3J0YWJsZSBjb2x1bW4gaW4gdGhpcy5kcm9wbGV0Q29sdW1uc1xuICAgICAgICAgICAgaWYgKHNvcnRCeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdmFyIGFycmF5TGVuZ3RoID0gdGhpcy5kcm9wbGV0Q29sdW1ucy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRyb3BsZXRDb2x1bW5zW2ldLnNvcnRhYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0QnkgPSB0aGlzLmRyb3BsZXRDb2x1bW5zW2ldLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZURyb3BsZXRDb2x1bW4gPSB0aGlzLmRyb3BsZXRDb2x1bW5zW2ldO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvL29ubHkgb25lIGNvbHVtbiBjYW4gYmUgYWN0aXZlbHkgc29ydGVkIHNvIHdlIHJlc2V0IGFsbCB0byBpbmFjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wbGV0Q29sdW1ucy5mb3JFYWNoKGMgPT4gYy5hY3RpdmUgPSBmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5kIHNldCB0aGlzIGNvbHVtbiBhcyB0aGUgYWN0aXZlbHkgc29ydGVkIGNvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wbGV0Q29sdW1uc1tpXS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIGBzb3J0T3JkZXJgIGlzIGB1bmRlZmluZWRgIHRoZW4gdXNlICdBU0MnXG4gICAgICAgICAgICBpZiAoc29ydE9yZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzb3J0T3JkZXIgPSAnQVNDJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgbmV3RGF0YSA9IHRoaXMuZHJvcGxldHM7XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5kcm9wbGV0c1NlYXJjaFRlcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbmV3RGF0YSA9IHRoaXMuZmlsdGVyRGF0YShuZXdEYXRhLCB0aGlzLmRyb3BsZXRzU2VhcmNoVGVybXNbaV0sIHRydWUsIHRoaXMuYWN0aXZlRHJvcGxldENvbHVtbi5uYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbmV3RGF0YSA9IHRoaXMuZGF0YVRhYmxlU2VydmljZS5zb3J0RGF0YShuZXdEYXRhLCBzb3J0QnksIHNvcnRPcmRlcik7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRHJvcGxldHMgPSBuZXdEYXRhO1xuICAgICAgICAgICAgdGhpcy5nZXRBdXRvQ29tcGxldGVEcm9wbGV0cygpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGdldEF1dG9Db21wbGV0ZURyb3BsZXRzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlRHJvcGxldHMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZHJvcGxldENvbHVtbnMuZm9yRWFjaChjID0+IHRoaXMuZmlsdGVyZWREcm9wbGV0cy5mb3JFYWNoKHIgPT4gKHJbYy5uYW1lLnRvTG93ZXJDYXNlKCldKSA/IHRoaXMuYXV0b0NvbXBsZXRlRHJvcGxldHMucHVzaChyW2MubmFtZS50b0xvd2VyQ2FzZSgpXS50b1N0cmluZygpKSA6ICcnKSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZmlsdGVyRGF0YTogZnVuY3Rpb24oZGF0YSwgc2VhcmNoVGVybSwgaWdub3JlQ2FzZSkge1xuICAgICAgICAgICAgdmFyIGZpZWxkID0gJyc7XG4gICAgICAgICAgICBpZiAoc2VhcmNoVGVybS5pbmRleE9mKFwiOlwiKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgZmllbGQgPSBzZWFyY2hUZXJtLnNwbGl0KCc6JylbMF0udHJpbSgpO1xuICAgICAgICAgICAgICAgIHNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtLnNwbGl0KCc6JylbMV0udHJpbSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGZpbHRlciA9IHNlYXJjaFRlcm0gPyAoaWdub3JlQ2FzZSA/IHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSA6IHNlYXJjaFRlcm0pIDogJyc7XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0gT2JqZWN0LmtleXMoaXRlbSkuZmluZCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvYmpBcnJheSA9IGZpZWxkLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2JqID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXJyYXlMZW5ndGggPSBvYmpBcnJheS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmogPSBvYmpbb2JqQXJyYXlbaV1dO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByZUl0ZW1WYWx1ZSA9ICgnJyArIG9iaik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW1WYWx1ZSA9IGlnbm9yZUNhc2UgPyBwcmVJdGVtVmFsdWUudG9Mb3dlckNhc2UoKSA6IHByZUl0ZW1WYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVZhbHVlLmluZGV4T2YoZmlsdGVyKSA+IC0xO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBmaWVsZCAmJiBmaWVsZCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJlSXRlbVZhbHVlID0gKCcnICsgaXRlbVtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbVZhbHVlID0gaWdub3JlQ2FzZSA/IHByZUl0ZW1WYWx1ZS50b0xvd2VyQ2FzZSgpIDogcHJlSXRlbVZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtVmFsdWUuaW5kZXhPZihmaWx0ZXIpID4gLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gISh0eXBlb2YgcmVzID09PSAndW5kZWZpbmVkJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSxcblxuICAgICAgICAuLi5cbiAgICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiVGFibGVcIj5UYWJsZSA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJUYWJsZVwiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxwPkV4YW1wbGUgdGFibGUgd2l0aDogUGFnaW5nIEJhciAvIEZpbHRlciAvIFNvcnRhYmxlIENvbHVtbnMgLyBNdWx0aS1zZWxlY3Qgd2l0aCBhdmFpbGFibGUgQWN0aW9uczwvcD5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzIGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+RGVtbzwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3R0b20tc20gcGFkLWxlZnQtbWQgcGFkLXJpZ2h0LW1kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlRhYmxlIHRpdGxlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZsZXggY2xhc3M9XCJwdXNoLXJpZ2h0LXNtXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQtY2hpcHMgW2l0ZW1zXT1cImF1dG9Db21wbGV0ZURhdGFcIiAoYWRkKT1cInNlYXJjaEFkZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwic2VhcmNoUmVtb3ZlKCRldmVudClcIj48L3RkLWNoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHVzaC10b3Atc21cIiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZGF0YVRhYmxlQWN0aW9uTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uczxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwiZmRzLXByaW1hcnktZHJvcGRvd24tYnV0dG9uLW1lbnVcIiAjZGF0YVRhYmxlQWN0aW9uTWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBPcHRpb24gMTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IE9wdGlvbiAyPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZC1sZWZ0LW1kIHBhZC1yaWdodC1tZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIiBjbGFzcz1cInRkLWRhdGEtdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWRhdGEtdGFibGUtY29sdW1uXCIgKGNsaWNrKT1cInNvcnQoJGV2ZW50LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb2x1bW4udG9vbHRpcFwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwie3tjb2x1bW4ud2lkdGh9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjb2x1bW4uYWN0aXZlICYmIGNvbHVtbi5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydE9yZGVyID09PSAnQVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWNhcmV0LXVwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjb2x1bW4uYWN0aXZlICYmIGNvbHVtbi5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydE9yZGVyID09PSAnREVTQydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS1jYXJldC1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWRhdGEtdGFibGUtY29sdW1uXCIgZnhGbGV4PTEwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInBhZC1sZWZ0LXNtXCIgWyhuZ01vZGVsKV09XCJhbGxSb3dzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoZWNrZWQpPVwiYWxsUm93c1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKClcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCIgY2xhc3M9XCJ0ZC1kYXRhLXRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCcgOiByb3cuY2hlY2tlZH1cIiAqbmdGb3I9XCJsZXQgcm93IG9mIGZpbHRlcmVkRGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJvdy5jaGVja2VkID0gIXJvdy5jaGVja2VkO3RvZ2dsZVNlbGVjdChyb3cpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQtZGF0YS10YWJsZS1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwie3tjb2x1bW4ud2lkdGh9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ubmFtZSAhPT0gJ2NvbW1lbnRzJyB8fCByb3dbJ2NvbW1lbnRzJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4uZm9ybWF0ID8gY29sdW1uLmZvcm1hdChyb3dbY29sdW1uLm5hbWVdKSA6IHJvd1tjb2x1bW4ubmFtZV19fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQtZGF0YS10YWJsZS1jZWxsXCIgZnhGbGV4PTEwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyb3cuYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicm93LmFjdGlvbnMubGVuZ3RoIDw9IDRcIiBmeExheW91dD1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJvdy5jaGVja2VkID0gIXJvdy5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiByb3cuYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7e2FjdGlvbi50b29sdGlwfX1cIiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkID8gJycgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e2FjdGlvbi5pY29ufX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJwYWQtbGVmdC1zbVwiIFsobmdNb2RlbCldPVwicm93LmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cuY2hlY2tlZFwiIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KHJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm93LmNoZWNrZWQgPSAhcm93LmNoZWNrZWQ7dG9nZ2xlU2VsZWN0KHJvdylcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyb3cuYWN0aW9ucy5sZW5ndGggPiA0XCIgZnhMYXlvdXQ9XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZFwiIG1hdFRvb2x0aXA9XCJBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRhYmxlQWN0aW9uTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICN0YWJsZUFjdGlvbk1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJvdy5hY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7e2FjdGlvbi50b29sdGlwfX1cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkID8gJycgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3thY3Rpb24uaWNvbn19XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2FjdGlvbi5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInBhZC1sZWZ0LXNtXCIgWyhuZ01vZGVsKV09XCJyb3cuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJvdy5jaGVja2VkXCIgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3Qocm93KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZDt0b2dnbGVTZWxlY3Qocm93KVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXJvdy5hY3Rpb25zXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwicGFkLWxlZnQtc21cIiBbKG5nTW9kZWwpXT1cInJvdy5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cuY2hlY2tlZFwiIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KHJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZDt0b2dnbGVTZWxlY3Qocm93KVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtcGFkZGluZ1wiICpuZ0lmPVwiIWZpbHRlcmVkRGF0YS5sZW5ndGggPiAwXCIgbGF5b3V0PVwicm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC1hbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPk5vIHJlc3VsdHMgdG8gZGlzcGxheS48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZC1wYWdpbmctYmFyICNwYWdpbmdCYXIgW2luaXRpYWxQYWdlXT1cIjFcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbdG90YWxdPVwicGFnZUNvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBoaWRlLXhzPlJvdyBwZXIgcGFnZTo8L3NwYW4+IHt7cGFnaW5nQmFyLnJhbmdlfX0gPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZS14cz5vZiB7e3BhZ2luZ0Jhci50b3RhbH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQtcGFnaW5nLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+Q29kZTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCIgY2xhc3M9XCJwYWQtdG9wLW1kIHBhZC1ib3R0b20tc20gcGFkLWxlZnQtbWQgcGFkLXJpZ2h0LW1kXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+XG4gICAgICAgICAgICA8c3Bhbj5UYWJsZSB0aXRsZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgZmxleCBjbGFzcz1cInB1c2gtcmlnaHQtc21cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPHRkLWNoaXBzIFtpdGVtc109XCJhdXRvQ29tcGxldGVEYXRhXCIgKGFkZCk9XCJzZWFyY2hBZGQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmUpPVwic2VhcmNoUmVtb3ZlKCRldmVudClcIj48L3RkLWNoaXBzPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIG1hdC1yYWlzZWQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJkYXRhVGFibGVBY3Rpb25NZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIEFjdGlvbnM8aSBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtbWVudSBjbGFzcz1cImZkcy1wcmltYXJ5LWRyb3Bkb3duLWJ1dHRvbi1tZW51XCIgI2RhdGFUYWJsZUFjdGlvbk1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBPcHRpb24gMSA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IE9wdGlvbiAyIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtbGVmdC1tZCBwYWQtcmlnaHQtbWRcIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIiBjbGFzcz1cInRkLWRhdGEtdGFibGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQtZGF0YS10YWJsZS1jb2x1bW5cIiAoY2xpY2spPVwic29ydCgkZXZlbnQsIGNvbHVtbilcIiBbbWF0VG9vbHRpcF09XCJjb2x1bW4udG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIiBmeEZsZXg9XCJ7IHsgY29sdW1uLndpZHRoIH0gfVwiPlxuICAgICAgICAgICAgICAgICAgICB7IHsgY29sdW1uLmxhYmVsIH0gfVxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImNvbHVtbi5hY3RpdmUgJiYgY29sdW1uLnNvcnRhYmxlICYmIGNvbHVtbi5zb3J0T3JkZXIgPT09ICdBU0MnXCIgY2xhc3M9XCJmYSBmYS1jYXJldC11cFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjb2x1bW4uYWN0aXZlICYmIGNvbHVtbi5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydE9yZGVyID09PSAnREVTQydcIiBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRkLWRhdGEtdGFibGUtY29sdW1uXCIgZnhGbGV4PTEwPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJwYWQtbGVmdC1zbVwiIFsobmdNb2RlbCldPVwiYWxsUm93c1NlbGVjdGVkXCIgKGNoZWNrZWQpPVwiYWxsUm93c1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCIgY2xhc3M9XCJ0ZC1kYXRhLXRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJyA6IHJvdy5jaGVja2VkfVwiICpuZ0Zvcj1cImxldCByb3cgb2YgZmlsdGVyZWREYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZDt0b2dnbGVTZWxlY3Qocm93KVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQtZGF0YS10YWJsZS1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCIgZnhGbGV4PVwieyB7IGNvbHVtbi53aWR0aCB9IH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ubmFtZSAhPT0gJ2NvbW1lbnRzJyB8fCByb3dbJ2NvbW1lbnRzJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHsgY29sdW1uLmZvcm1hdCA/IGNvbHVtbi5mb3JtYXQocm93W2NvbHVtbi5uYW1lXSkgOiByb3dbY29sdW1uLm5hbWVdIH0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQtZGF0YS10YWJsZS1jZWxsXCIgZnhGbGV4PTEwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJvdy5hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJvdy5hY3Rpb25zLmxlbmd0aCA8PSA0XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZFwiICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygcm93LmFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7IHsgYWN0aW9uLnRvb2x0aXAgfSB9XCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkID8gJycgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInsgeyBhY3Rpb24uaWNvbiB9IH1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwicGFkLWxlZnQtc21cIiBbKG5nTW9kZWwpXT1cInJvdy5jaGVja2VkXCIgW2NoZWNrZWRdPVwicm93LmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KHJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZDt0b2dnbGVTZWxlY3Qocm93KVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyb3cuYWN0aW9ucy5sZW5ndGggPiA0XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyb3cuY2hlY2tlZCA9ICFyb3cuY2hlY2tlZFwiIG1hdFRvb2x0aXA9XCJBY3Rpb25zXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwidGFibGVBY3Rpb25NZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLWhcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI3RhYmxlQWN0aW9uTWVudT1cIm1hdE1lbnVcIiBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiByb3cuYWN0aW9uc1wiIG1hdFRvb2x0aXA9XCJ7IHsgYWN0aW9uLnRvb2x0aXAgfSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkID8gJycgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7IHsgYWN0aW9uLmljb24gfSB9XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnsgeyBhY3Rpb24ubmFtZSB9IH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInBhZC1sZWZ0LXNtXCIgWyhuZ01vZGVsKV09XCJyb3cuY2hlY2tlZFwiIFtjaGVja2VkXT1cInJvdy5jaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdChyb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm93LmNoZWNrZWQgPSAhcm93LmNoZWNrZWQ7dG9nZ2xlU2VsZWN0KHJvdylcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFyb3cuYWN0aW9uc1wiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwicGFkLWxlZnQtc21cIiBbKG5nTW9kZWwpXT1cInJvdy5jaGVja2VkXCIgW2NoZWNrZWRdPVwicm93LmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3Qocm93KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm93LmNoZWNrZWQgPSAhcm93LmNoZWNrZWQ7dG9nZ2xlU2VsZWN0KHJvdylcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1wYWRkaW5nXCIgKm5nSWY9XCIhZmlsdGVyZWREYXRhLmxlbmd0aCA+IDBcIiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGgzPk5vIHJlc3VsdHMgdG8gZGlzcGxheS48L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8dGQtcGFnaW5nLWJhciAjcGFnaW5nQmFyIFtpbml0aWFsUGFnZV09XCIxXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3RvdGFsXT1cInBhZ2VDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGhpZGUteHM+Um93IHBlciBwYWdlOjwvc3Bhbj4geyB7IHBhZ2luZ0Jhci5yYW5nZSB9IH0gPHNwYW4gaGlkZS14cz5vZiB7XG4gICAgICAgICAgICAgICAgeyBwYWdpbmdCYXIudG90YWwgfSB9PC9zcGFuPlxuICAgICAgICAgICAgPC90ZC1wYWdpbmctYmFyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5KYXZhc2NyaXB0OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICB0aGlzLmRhdGFUYWJsZVNlcnZpY2UgPSBUZERhdGFUYWJsZVNlcnZpY2U7XG5cbiAgICAgICAgdGhpcy5kYXRhID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICdpZCc6IDEsXG4gICAgICAgICAgICAgICAgJ25hbWUnOiAnRnJvemVuIHlvZ3VydCcsXG4gICAgICAgICAgICAgICAgJ3R5cGUnOiAnSWNlIGNyZWFtJyxcbiAgICAgICAgICAgICAgICAnY2Fsb3JpZXMnOiAxNTkuMCxcbiAgICAgICAgICAgICAgICAnZmF0JzogNi4wLFxuICAgICAgICAgICAgICAgICdjYXJicyc6IDI0LjAsXG4gICAgICAgICAgICAgICAgJ3Byb3RlaW4nOiA0LjAsXG4gICAgICAgICAgICAgICAgJ3NvZGl1bSc6IDg3LjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiAxNC4wLFxuICAgICAgICAgICAgICAgICdpcm9uJzogMS4wLFxuICAgICAgICAgICAgICAgICdjb21tZW50cyc6ICdJIGxvdmUgZnJveW8hJyxcbiAgICAgICAgICAgICAgICAnYWN0aW9ucyc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnQWN0aW9uIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtdXNlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgVXNlcnMnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uJzogJ2ZhIGZhLWtleScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgUGVybWlzc2lvbnMnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICdpZCc6IDIsXG4gICAgICAgICAgICAgICAgJ25hbWUnOiAnSWNlIGNyZWFtIHNhbmR3aWNoJyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdJY2UgY3JlYW0nLFxuICAgICAgICAgICAgICAgICdjYWxvcmllcyc6IDIzNy4wLFxuICAgICAgICAgICAgICAgICdmYXQnOiA5LjAsXG4gICAgICAgICAgICAgICAgJ2NhcmJzJzogMzcuMCxcbiAgICAgICAgICAgICAgICAncHJvdGVpbic6IDQuMyxcbiAgICAgICAgICAgICAgICAnc29kaXVtJzogMTI5LjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiA4LjAsXG4gICAgICAgICAgICAgICAgJ2lyb24nOiAxLjAsXG4gICAgICAgICAgICAgICAgJ2FjdGlvbnMnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uJzogJ2ZhIGZhLXVzZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnTWFuYWdlIFVzZXJzJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gMicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbic6ICdmYSBmYS1rZXknLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnTWFuYWdlIFBlcm1pc3Npb25zJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gMycsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdBY3Rpb24gMydcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnQWN0aW9uIDQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rpc2FibGVkJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0FjdGlvbiA0J1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gNScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdBY3Rpb24gNSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJ2lkJzogMyxcbiAgICAgICAgICAgICAgICAnbmFtZSc6ICdFY2xhaXInLFxuICAgICAgICAgICAgICAgICd0eXBlJzogJ1Bhc3RyeScsXG4gICAgICAgICAgICAgICAgJ2NhbG9yaWVzJzogMjYyLjAsXG4gICAgICAgICAgICAgICAgJ2ZhdCc6IDE2LjAsXG4gICAgICAgICAgICAgICAgJ2NhcmJzJzogMjQuMCxcbiAgICAgICAgICAgICAgICAncHJvdGVpbic6IDYuMCxcbiAgICAgICAgICAgICAgICAnc29kaXVtJzogMzM3LjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiA2LjAsXG4gICAgICAgICAgICAgICAgJ2lyb24nOiA3LjAsXG4gICAgICAgICAgICAgICAgJ2FjdGlvbnMnOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnQWN0aW9uIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtdXNlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgVXNlcnMnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uJzogJ2ZhIGZhLWtleScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgUGVybWlzc2lvbnMnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0FjdGlvbiAzJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gNCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnQWN0aW9uIDQnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiA1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0FjdGlvbiA1J1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJ2lkJzogNCxcbiAgICAgICAgICAgICAgICAnbmFtZSc6ICdDdXBjYWtlJyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdQYXN0cnknLFxuICAgICAgICAgICAgICAgICdjYWxvcmllcyc6IDMwNS4wLFxuICAgICAgICAgICAgICAgICdmYXQnOiAzLjcsXG4gICAgICAgICAgICAgICAgJ2NhcmJzJzogNjcuMCxcbiAgICAgICAgICAgICAgICAncHJvdGVpbic6IDQuMyxcbiAgICAgICAgICAgICAgICAnc29kaXVtJzogNDEzLjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiAzLjAsXG4gICAgICAgICAgICAgICAgJ2lyb24nOiA4LjAsXG4gICAgICAgICAgICAgICAgJ2FjdGlvbnMnOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnQWN0aW9uIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24nOiAnZmEgZmEtdXNlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgVXNlcnMnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uJzogJ2ZhIGZhLWtleScsXG4gICAgICAgICAgICAgICAgICAgICAgICAndG9vbHRpcCc6ICdNYW5hZ2UgUGVybWlzc2lvbnMnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiAzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0FjdGlvbiAzJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdBY3Rpb24gNCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGlzYWJsZWQnOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Rvb2x0aXAnOiAnQWN0aW9uIDQnXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ0FjdGlvbiA1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICd0b29sdGlwJzogJ0FjdGlvbiA1J1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJ2lkJzogNSxcbiAgICAgICAgICAgICAgICAnbmFtZSc6ICdKZWxseSBiZWFuJyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdDYW5keScsXG4gICAgICAgICAgICAgICAgJ2NhbG9yaWVzJzogMzc1LjAsXG4gICAgICAgICAgICAgICAgJ2ZhdCc6IDAuMCxcbiAgICAgICAgICAgICAgICAnY2FyYnMnOiA5NC4wLFxuICAgICAgICAgICAgICAgICdwcm90ZWluJzogMC4wLFxuICAgICAgICAgICAgICAgICdzb2RpdW0nOiA1MC4wLFxuICAgICAgICAgICAgICAgICdjYWxjaXVtJzogMC4wLFxuICAgICAgICAgICAgICAgICdpcm9uJzogMC4wLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAnaWQnOiA2LFxuICAgICAgICAgICAgICAgICduYW1lJzogJ0xvbGxpcG9wJyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdDYW5keScsXG4gICAgICAgICAgICAgICAgJ2NhbG9yaWVzJzogMzkyLjAsXG4gICAgICAgICAgICAgICAgJ2ZhdCc6IDAuMixcbiAgICAgICAgICAgICAgICAnY2FyYnMnOiA5OC4wLFxuICAgICAgICAgICAgICAgICdwcm90ZWluJzogMC4wLFxuICAgICAgICAgICAgICAgICdzb2RpdW0nOiAzOC4wLFxuICAgICAgICAgICAgICAgICdjYWxjaXVtJzogMC4wLFxuICAgICAgICAgICAgICAgICdpcm9uJzogMi4wLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAnaWQnOiA3LFxuICAgICAgICAgICAgICAgICduYW1lJzogJ0hvbmV5Y29tYicsXG4gICAgICAgICAgICAgICAgJ3R5cGUnOiAnT3RoZXInLFxuICAgICAgICAgICAgICAgICdjYWxvcmllcyc6IDQwOC4wLFxuICAgICAgICAgICAgICAgICdmYXQnOiAzLjIsXG4gICAgICAgICAgICAgICAgJ2NhcmJzJzogODcuMCxcbiAgICAgICAgICAgICAgICAncHJvdGVpbic6IDYuNSxcbiAgICAgICAgICAgICAgICAnc29kaXVtJzogNTYyLjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiAwLjAsXG4gICAgICAgICAgICAgICAgJ2lyb24nOiA0NS4wLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAnaWQnOiA4LFxuICAgICAgICAgICAgICAgICduYW1lJzogJ0RvbnV0JyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdQYXN0cnknLFxuICAgICAgICAgICAgICAgICdjYWxvcmllcyc6IDQ1Mi4wLFxuICAgICAgICAgICAgICAgICdmYXQnOiAyNS4wLFxuICAgICAgICAgICAgICAgICdjYXJicyc6IDUxLjAsXG4gICAgICAgICAgICAgICAgJ3Byb3RlaW4nOiA0LjksXG4gICAgICAgICAgICAgICAgJ3NvZGl1bSc6IDMyNi4wLFxuICAgICAgICAgICAgICAgICdjYWxjaXVtJzogMi4wLFxuICAgICAgICAgICAgICAgICdpcm9uJzogMjIuMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJ2lkJzogOSxcbiAgICAgICAgICAgICAgICAnbmFtZSc6ICdLaXRLYXQnLFxuICAgICAgICAgICAgICAgICd0eXBlJzogJ0NhbmR5JyxcbiAgICAgICAgICAgICAgICAnY2Fsb3JpZXMnOiA1MTguMCxcbiAgICAgICAgICAgICAgICAnZmF0JzogMjYuMCxcbiAgICAgICAgICAgICAgICAnY2FyYnMnOiA2NS4wLFxuICAgICAgICAgICAgICAgICdwcm90ZWluJzogNy4wLFxuICAgICAgICAgICAgICAgICdzb2RpdW0nOiA1NC4wLFxuICAgICAgICAgICAgICAgICdjYWxjaXVtJzogMTIuMCxcbiAgICAgICAgICAgICAgICAnaXJvbic6IDYuMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJ2lkJzogMTAsXG4gICAgICAgICAgICAgICAgJ25hbWUnOiAnQ2hvY29sYXRlJyxcbiAgICAgICAgICAgICAgICAndHlwZSc6ICdDYW5keScsXG4gICAgICAgICAgICAgICAgJ2NhbG9yaWVzJzogNTE4LjAsXG4gICAgICAgICAgICAgICAgJ2ZhdCc6IDI2LjAsXG4gICAgICAgICAgICAgICAgJ2NhcmJzJzogNjUuMCxcbiAgICAgICAgICAgICAgICAncHJvdGVpbic6IDcuMCxcbiAgICAgICAgICAgICAgICAnc29kaXVtJzogNTQuMCxcbiAgICAgICAgICAgICAgICAnY2FsY2l1bSc6IDEyLjAsXG4gICAgICAgICAgICAgICAgJ2lyb24nOiA2LjAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICdpZCc6IDExLFxuICAgICAgICAgICAgICAgICduYW1lJzogJ0NoYW1veScsXG4gICAgICAgICAgICAgICAgJ3R5cGUnOiAnQ2FuZHknLFxuICAgICAgICAgICAgICAgICdjYWxvcmllcyc6IDUxOC4wLFxuICAgICAgICAgICAgICAgICdmYXQnOiAyNi4wLFxuICAgICAgICAgICAgICAgICdjYXJicyc6IDY1LjAsXG4gICAgICAgICAgICAgICAgJ3Byb3RlaW4nOiA3LjAsXG4gICAgICAgICAgICAgICAgJ3NvZGl1bSc6IDU0LjAsXG4gICAgICAgICAgICAgICAgJ2NhbGNpdW0nOiAxMi4wLFxuICAgICAgICAgICAgICAgICdpcm9uJzogNi4wLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICB0aGlzLmZpbHRlcmVkVG90YWwgPSB0aGlzLmRhdGEubGVuZ3RoO1xuXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2NvbW1lbnRzJywgbGFiZWw6ICdDb21tZW50cycgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCBsYWJlbDogJ0Rlc3NlcnQgKDEwMGcgc2VydmluZyknLCBzb3J0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAndHlwZScsIGxhYmVsOiAnVHlwZScsIHNvcnRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdjYWxvcmllcycsIGxhYmVsOiAnQ2Fsb3JpZXMnLCBudW1lcmljOiB0cnVlLCBmb3JtYXQ6IE5VTUJFUl9GT1JNQVQsIHNvcnRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdmYXQnLCBsYWJlbDogJ0ZhdCAoZyknLCBudW1lcmljOiB0cnVlLCBmb3JtYXQ6IERFQ0lNQUxfRk9STUFULCBzb3J0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnY2FyYnMnLCBsYWJlbDogJ0NhcmJzIChnKScsIG51bWVyaWM6IHRydWUsIGZvcm1hdDogTlVNQkVSX0ZPUk1BVCwgc29ydGFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdwcm90ZWluJywgbGFiZWw6ICdQcm90ZWluIChnKScsIG51bWVyaWM6IHRydWUsIGZvcm1hdDogREVDSU1BTF9GT1JNQVQsIHNvcnRhYmxlOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdzb2RpdW0nLCBsYWJlbDogJ1NvZGl1bSAobWcpJywgbnVtZXJpYzogdHJ1ZSwgZm9ybWF0OiBOVU1CRVJfRk9STUFULCBzb3J0YWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAge25hbWU6ICdjYWxjaXVtJywgbGFiZWw6ICdDYWxjaXVtICglKScsIG51bWVyaWM6IHRydWUsIGZvcm1hdDogTlVNQkVSX0ZPUk1BVCwgc29ydGFibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2lyb24nLCBsYWJlbDogJ0lyb24gKCUpJywgbnVtZXJpYzogdHJ1ZSwgZm9ybWF0OiBOVU1CRVJfRk9STUFUIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5hbGxSb3dzU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVEYXRhID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzID0gW107XG5cbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gW107XG4gICAgICAgIHRoaXMuZnJvbVJvdyA9IDE7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gNTtcblxuICAgICAgICAuLi5cblxuICAgICAgICBzb3J0OiBmdW5jdGlvbihzb3J0RXZlbnQsIGNvbHVtbikge1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5zb3J0YWJsZSkge1xuICAgICAgICAgICAgICAgIHZhciBzb3J0QnkgPSBjb2x1bW4ubmFtZTtcbiAgICAgICAgICAgICAgICB2YXIgc29ydE9yZGVyID0gY29sdW1uLnNvcnRPcmRlciA9IChjb2x1bW4uc29ydE9yZGVyID09PSAnQVNDJykgPyAnREVTQycgOiAnQVNDJztcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcihzb3J0QnksIHNvcnRPcmRlcik7XG5cbiAgICAgICAgICAgICAgICAvL29ubHkgb25lIGNvbHVtbiBjYW4gYmUgYWN0aXZlbHkgc29ydGVkIHNvIHdlIHJlc2V0IGFsbCB0byBpbmFjdGl2ZVxuICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGMgPT4gYy5hY3RpdmUgPSBmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAvL2FuZCBzZXQgdGhpcyBjb2x1bW4gYXMgdGhlIGFjdGl2ZWx5IHNvcnRlZCBjb2x1bW5cbiAgICAgICAgICAgICAgICBjb2x1bW4uYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBzZWFyY2hSZW1vdmU6IGZ1bmN0aW9uKHNlYXJjaFRlcm0pIHtcbiAgICAgICAgICAgIC8vb25seSByZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlYXJjaCB0ZXJtXG4gICAgICAgICAgICB2YXIgaW5kZXggPSB0aGlzLnNlYXJjaFRlcm0uaW5kZXhPZihzZWFyY2hUZXJtKTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgc2VhcmNoQWRkOiBmdW5jdGlvbihzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0ucHVzaChzZWFyY2hUZXJtKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcGFnZTogZnVuY3Rpb24ocGFnaW5nRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZnJvbVJvdyA9IHBhZ2luZ0V2ZW50LmZyb21Sb3c7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnaW5nRXZlbnQucGFnZTtcbiAgICAgICAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdpbmdFdmVudC5wYWdlU2l6ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZmlsdGVyRGF0YTogZnVuY3Rpb24oZGF0YSwgc2VhcmNoVGVybSwgaWdub3JlQ2FzZSkge1xuICAgICAgICAgICAgdmFyIGZpZWxkID0gJyc7XG4gICAgICAgICAgICBpZiAoc2VhcmNoVGVybS5pbmRleE9mKFwiOlwiKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgZmllbGQgPSBzZWFyY2hUZXJtLnNwbGl0KCc6JylbMF0udHJpbSgpO1xuICAgICAgICAgICAgICAgIHNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtLnNwbGl0KCc6JylbMV0udHJpbSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGZpbHRlciA9IHNlYXJjaFRlcm0gPyAoaWdub3JlQ2FzZSA/IHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSA6IHNlYXJjaFRlcm0pIDogJyc7XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBPYmplY3Qua2V5cyhpdGVtKS5maW5kKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5pbmRleE9mKFwiLlwiKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9iakFycmF5ID0gZmllbGQuc3BsaXQoXCIuXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvYmogPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhcnJheUxlbmd0aCA9IG9iakFycmF5Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5TGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IG9ialtvYmpBcnJheVtpXV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJlSXRlbVZhbHVlID0gKCcnICsgb2JqKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbVZhbHVlID0gaWdub3JlQ2FzZSA/IHByZUl0ZW1WYWx1ZS50b0xvd2VyQ2FzZSgpIDogcHJlSXRlbVZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtVmFsdWUuaW5kZXhPZihmaWx0ZXIpID4gLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09IGZpZWxkICYmIGZpZWxkICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmVJdGVtVmFsdWUgPSAoJycgKyBpdGVtW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVtVmFsdWUgPSBpZ25vcmVDYXNlID8gcHJlSXRlbVZhbHVlLnRvTG93ZXJDYXNlKCkgOiBwcmVJdGVtVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1WYWx1ZS5pbmRleE9mKGZpbHRlcikgPiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhKHR5cGVvZiByZXMgPT09ICd1bmRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuXG4gICAgICAgIGZpbHRlcjogZnVuY3Rpb24oc29ydEJ5LCBzb3J0T3JkZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFsbFJvd3NTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0QWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsKCk7XG4gICAgICAgICAgICB2YXIgbmV3RGF0YSA9IHRoaXMuZGF0YTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGVybS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnNlYXJjaFRlcm0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgLy9hY2NvdW50IGZvciBjb2x1bW4vZmllbGQgbmFtZSBzcGVjaWZpYyBzZWFyY2ggc3ludGF4XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaFRlcm1baV0uaW5kZXhPZihcIjpcIikgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3RGF0YSA9IHRoaXMuZmlsdGVyRGF0YShuZXdEYXRhLCB0aGlzLnNlYXJjaFRlcm1baV0uc3BsaXQoJzonKVsxXS50cmltKCksIHRydWUsIHRoaXMuc2VhcmNoVGVybVtpXS5zcGxpdCgnOicpWzBdLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vb3RoZXJ3aXNlIHNlYXJjaCBhbGwgY2VsbHNcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0RhdGEgPSB0aGlzLmZpbHRlckRhdGEobmV3RGF0YSwgdGhpcy5zZWFyY2hUZXJtW2ldLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3RGF0YSA9IHRoaXMuZGF0YVRhYmxlU2VydmljZS5maWx0ZXJEYXRhKG5ld0RhdGEsICcnLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRUb3RhbCA9IG5ld0RhdGEubGVuZ3RoO1xuICAgICAgICAgICAgbmV3RGF0YSA9IHRoaXMuZGF0YVRhYmxlU2VydmljZS5zb3J0RGF0YShuZXdEYXRhLCBzb3J0QnksIHNvcnRPcmRlcik7XG4gICAgICAgICAgICBuZXdEYXRhID0gdGhpcy5kYXRhVGFibGVTZXJ2aWNlLnBhZ2VEYXRhKG5ld0RhdGEsIHRoaXMuZnJvbVJvdywgdGhpcy5jdXJyZW50UGFnZSAqIHRoaXMucGFnZVNpemUpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBuZXdEYXRhO1xuICAgICAgICAgICAgdGhpcy5nZXRBdXRvQ29tcGxldGVEYXRhKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgdG9nZ2xlU2VsZWN0OiBmdW5jdGlvbihyb3cpIHtcbiAgICAgICAgICAgIGlmICghcm93LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFsbFJvd3NTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hbGxGaWx0ZXJlZFJvd3NTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsUm93c1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbFJvd3NTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB0b2dnbGVTZWxlY3RBbGw6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdGhpcy5hbGxSb3dzU2VsZWN0ZWQgPSAhdGhpcy5hbGxSb3dzU2VsZWN0ZWQ7XG4gICAgICAgICAgICBpZiAodGhpcy5hbGxSb3dzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEFsbCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgc2VsZWN0QWxsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhLmZvckVhY2goYyA9PiBjLmNoZWNrZWQgPSB0cnVlKTtcbiAgICAgICAgfSxcblxuICAgICAgICBkZXNlbGVjdEFsbDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YS5mb3JFYWNoKGMgPT4gYy5jaGVja2VkID0gZmFsc2UpO1xuICAgICAgICB9LFxuXG4gICAgICAgIGFsbEZpbHRlcmVkUm93c1NlbGVjdGVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBhbGxGaWx0ZXJlZFJvd3NTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGMpIHtcbiAgICAgICAgICAgICAgICBpZiAoYy5jaGVja2VkID09PSB1bmRlZmluZWQgfHwgYy5jaGVja2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBhbGxGaWx0ZXJlZFJvd3NTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gYWxsRmlsdGVyZWRSb3dzU2VsZWN0ZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXJlVG9vbHRpcHNPbjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5zWzBdLmhhc093blByb3BlcnR5KCd0b29sdGlwJyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgdG9nZ2xlVG9vbHRpcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sdW1uc1swXS50b29sdGlwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PiBkZWxldGUgYy50b29sdGlwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PiBjLnRvb2x0aXAgPSBgVGhpcyBpcyAke2MubGFiZWx9IWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIG9wZW5EYXRhVGFibGVQcm9tcHQ6IGZ1bmN0aW9uKHJvdywgbmFtZSkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5Qcm9tcHQoe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdFbnRlciBjb21tZW50PycsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvd1tuYW1lXSxcbiAgICAgICAgICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByb3dbbmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9LFxuXG4gICAgICAgIGdldEF1dG9Db21wbGV0ZURhdGE6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVEYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaChjID0+IHRoaXMuZmlsdGVyZWREYXRhLmZvckVhY2gociA9PiAocltjLm5hbWUudG9Mb3dlckNhc2UoKV0pID8gdGhpcy5hdXRvQ29tcGxldGVEYXRhLnB1c2gocltjLm5hbWUudG9Mb3dlckNhc2UoKV0udG9TdHJpbmcoKSk6JycpKTtcbiAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXV0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0VG9vbHRpcD1cIkNvbHVtbiBmaWVsZCBuYW1lIHRvb2x0aXBzIHRvZ2dsZS5cIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVUb29sdGlwcygpXCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvb2x0aXBzICh7e2FyZVRvb2x0aXBzT24oKSA/ICdPTicgOiAnT0ZGJ319KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiQ2hlY2tib3hlc1wiPkNoZWNrYm94IDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIkNoZWNrYm94ZXNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+QmFzaWMgVXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZ3JvY2VyeSBvZiBncm9jZXJpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImdyb2NlcnkuYm91Z2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z3JvY2VyeS5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gQmFzaWMgVXNhZ2UgLS0+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZ3JvY2VyeS5ib3VnaHRcIj5cbiAgICAgICAgICAgIHsge2dyb2NlcnkubmFtZX0gfVxuICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXV0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkphdmFzY3JpcHQ6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHRoaXMuZ3JvY2VyaWVzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvdWdodDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnU2VpdGFuJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm91Z2h0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnQWxtb25kIE1lYWwgRmxvdXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib3VnaHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdPcmdhbmljIEVnZ3MnLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlIHdpdGhpbiBGb3JtczwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggZmxleD1cImluaXRpYWxcIiBbKG5nTW9kZWwpXT1cInVzZXIuYWdyZWVzVG9UT1NcIiBuYW1lPVwiYWdyZWVzVG9UT1NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkgYWdyZWUgdG8gdGhlIHRlcm1zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXNlY29uZGFyeVwiIFtkaXNhYmxlZF09XCIhdXNlci5hZ3JlZXNUb1RPU1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYWQtcmlnaHQtc21cIiBjbGFzcz1cInRleHQtdXBwZXJcIj5TaWduIFVwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LWFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJwYWQtdG9wLXNtIHBhZC1ib3R0b20tc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBsYWJlbFBvc2l0aW9uPVwiYWZ0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkgY29tZSBhZnRlciBteSBsYWJlbC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cInBhZC10b3Atc20gcGFkLWJvdHRvbS1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGxhYmVsUG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkgY29tZSBiZWZvcmUgbXkgbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgPCEtLSBVc2FnZSB3aXRoaW4gRm9ybXMgLS0+XG4gICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGZsZXg9XCJpbml0aWFsXCIgWyhuZ01vZGVsKV09XCJ1c2VyLmFncmVlc1RvVE9TXCIgbmFtZT1cImFncmVlc1RvVE9TXCI+XG4gICAgICAgICAgICAgICAgICAgIEkgYWdyZWUgdG8gdGhlIHRlcm1zXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1zZWNvbmRhcnlcIiBbZGlzYWJsZWRdPVwiIXVzZXIuYWdyZWVzVG9UT1NcIiBjbGFzcz1cInBhZC1yaWdodC1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdXBwZXJcIj5TaWduIFVwPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cInBhZC10b3Atc20gcGFkLWJvdHRvbS1zbVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggbGFiZWxQb3NpdGlvbj1cImFmdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEkgY29tZSBhZnRlciBteSBsYWJlbC5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1hbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwicGFkLXRvcC1zbSBwYWQtYm90dG9tLXNtXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBsYWJlbFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgICAgICAgIEkgY29tZSBiZWZvcmUgbXkgbGFiZWxcbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgICAgXV0+XG4gICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJqYXZhc2NyaXB0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgdGhpcy51c2VyID0ge1xuICAgICAgICAgICAgYWdyZWVzVG9UT1M6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBdXT5cbiAgICAgICAgICAgICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIlJhZGlvc1wiPlJhZGlvcyA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJSYWRpb3NcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBsYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZsZXg9XCI0OFwiIGNsYXNzPVwicGFkLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQmFzaWMgUmFkaW9zIC0tPlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPkJhc2ljIFJhZGlvczwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgbmFtZT1cImdyb3VwMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJwYWQtcmlnaHQtc21cIiBuYW1lPVwiZ3JvdXAxXCI+T3B0aW9uIDE8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cInBhZC1yaWdodC1zbVwiIG5hbWU9XCJncm91cDFcIj5PcHRpb24gMjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwicGFkLXJpZ2h0LXNtXCIgbmFtZT1cImdyb3VwMVwiIGRpc2FibGVkPVwidHJ1ZVwiPk9wdGlvbiAzIChkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8IS0tIEJhc2ljIFJhZGlvcyAtLT5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBuYW1lPVwiZ3JvdXAxXCI+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cInBhZC1yaWdodC1zbVwiIG5hbWU9XCJncm91cDFcIj5PcHRpb24gMSA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cInBhZC1yaWdodC1zbVwiIG5hbWU9XCJncm91cDFcIj5PcHRpb24gMiA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cInBhZC1yaWdodC1zbVwiIG5hbWU9XCJncm91cDFcIiBkaXNhYmxlZD1cInRydWVcIj5PcHRpb24gMyAoZGlzYWJsZWQpIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgICAgICAgXV0+XG4gICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgZmxleD1cIjQ4XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gRHluYW1pYyBSYWRpb3MgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+RHluYW1pYyBSYWRpb3M8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIG5hbWU9XCJtb3JlX29wdGlvbnNcIiBbKG5nTW9kZWwpXT1cImZhdm9yaXRlU2Vhc29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImZkcy1yYWRpbyBwYWQtcmlnaHQtc21cIiAqbmdGb3I9XCJsZXQgc2Vhc29uIG9mIHNlYXNvbk9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIm1vcmVfb3B0aW9uc1wiIFt2YWx1ZV09XCJzZWFzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlYXNvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICA8cD5Zb3VyIGZhdm9yaXRlIHNlYXNvbiBpczogPHN0cm9uZz57e2Zhdm9yaXRlU2Vhc29ufX08L3N0cm9uZz48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gRHluYW1pYyBSYWRpb3MgLS0+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgbmFtZT1cIm1vcmVfb3B0aW9uc1wiIFsobmdNb2RlbCldPVwiZmF2b3JpdGVTZWFzb25cIj5cbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImZkcy1yYWRpb1wiICpuZ0Zvcj1cImxldCBzZWFzb24gb2Ygc2Vhc29uT3B0aW9uc1wiIG5hbWU9XCJtb3JlX29wdGlvbnNcIiBbdmFsdWVdPVwic2Vhc29uXCI+XG4gICAgICAgICAgICB7IHtzZWFzb259IH1cbiAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICA8cD5Zb3VyIGZhdm9yaXRlIHNlYXNvbiBpczogPHN0cm9uZz57IHsgZmF2b3JpdGVTZWFzb24gfSB9PC9zdHJvbmc+PC9wPlxuICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgIDwhW0NEQVRBW1xuXG4gICAgICAgIHRoaXMuZmF2b3JpdGVTZWFzb24gPSAnQXV0dW1uJztcblxuICAgICAgICB0aGlzLnNlYXNvbk9wdGlvbnMgPSBbXG4gICAgICAgICAgICAnV2ludGVyJyxcbiAgICAgICAgICAgICdTcHJpbmcnLFxuICAgICAgICAgICAgJ1N1bW1lcicsXG4gICAgICAgICAgICAnQXV0dW1uJyxcbiAgICAgICAgXTtcbiAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIlRvb2x0aXBzXCI+VG9vbHRpcHMgPG1hdC1pY29uIGNsYXNzPVwibGluay10by1jb21wb25lbnRcIiByb3V0ZXJMaW5rPVwiL1wiIGZyYWdtZW50PVwiVG9vbHRpcHNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBtYXRUb29sdGlwPVwiSSBzaG93IGFib3ZlXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+QWJvdmUgVG9vbHRpcFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIG1hdFRvb2x0aXA9XCJJIHNob3cgYWZ0ZXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdXBwZXJcIj5BZnRlciBUb29sdGlwXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgbWF0VG9vbHRpcD1cIkkgc2hvdyBiZWxvd1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC11cHBlclwiPkJlbG93IFRvb2x0aXBcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBtYXRUb29sdGlwPVwiSSBzaG93IGJlZm9yZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdXBwZXJcIj5CZWZvcmUgVG9vbHRpcFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBtYXRUb29sdGlwPVwiSSBzaG93IGFib3ZlXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC11cHBlclwiPkJvdHRvbSBUb29sdGlwPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIG1hdFRvb2x0aXA9XCJJIHNob3cgYWZ0ZXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+Qm90dG9tIFRvb2x0aXA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgbWF0VG9vbHRpcD1cIkkgc2hvdyBiZWxvd1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdXBwZXJcIj5Cb3R0b20gVG9vbHRpcDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBtYXRUb29sdGlwPVwiSSBzaG93IGJlZm9yZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+Qm90dG9tIFRvb2x0aXA8L2J1dHRvbj5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiUGFuZWxzXCI+UGFuZWxzIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlBhbmVsc1wiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+U3RhbmRhcmQgQ2FyZDwvaDM+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmRzLXBhbmVsLW1lbnUtYnV0dG9uXCIgbWF0VG9vbHRpcD1cIlN0YW5kYXJkIENhcmQgTWVudVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdGFuZGFyZENhcmRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLXYgXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwicHJpbWFyeS1pY29uLWJ1dHRvbi1tZW51XCIgI3N0YW5kYXJkQ2FyZE1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+T3B0aW9uMTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wdGlvbjI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VGl0bGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQ8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+QWN0aW9uPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgICAgICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgPCEtLSBCYXNpYyBDYXJkIC0tPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmRzLXBhbmVsLW1lbnUtYnV0dG9uXCIgbWF0VG9vbHRpcD1cIlN0YW5kYXJkIENhcmQgTWVudVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3RhbmRhcmRDYXJkTWVudVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtdiBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtbWVudSBjbGFzcz1cInByaW1hcnktaWNvbi1idXR0b24tbWVudVwiICNzdGFuZGFyZENhcmRNZW51PVwibWF0TWVudVwiIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+T3B0aW9uMTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wdGlvbjI8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlRpdGxlPC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZDwvcD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5BY3Rpb248L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICBdXT5cbiAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VGFiYmVkIENhcmQ8L2gzPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZkcy1wYW5lbC1tZW51LWJ1dHRvblwiIG1hdFRvb2x0aXA9XCJTdGFuZGFyZCBDYXJkIE1lbnVcIiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3RhbmRhcmRDYXJkTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12IFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSBjbGFzcz1cInByaW1hcnktaWNvbi1idXR0b24tbWVudVwiICNzdGFuZGFyZENhcmRNZW51PVwibWF0TWVudVwiIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wdGlvbjE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5PcHRpb24yPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgZHluYW1pY0hlaWdodCBjb2xvcj1cImFjY2VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5PbmU8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPkZpcnN0IHRhYiBjb250ZW50PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+UGxhaWQgZWNobyBwYXJrIGtuYXVzZ2FhcmQgbm9ybWNvcmUgZnJhbnplbiBjcm9udXQuIFBpY2tsZWQgaHVtYmxlYnJhZyB0b2Z1IGhvb2RpZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtYW1pIHNhbHZpYSBmYXJtLXRvLXRhYmxlIHNjaGxpdHogdHJ5LWhhcmQgZm9vZCB0cnVjayBrbmF1c2dhYXJkIHBhYnN0LiBZdWNjaWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRsYW5kIGplYW4gc2hvcnRzLCBhdXRoZW50aWMgbWl4dGFwZSB3YWlzdGNvYXQgZ2VudHJpZnkgYmx1ZSBib3R0bGUuIEZpeGllXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraWNrc3RhcnRlciBjaHVyY2gta2V5IHNtYWxsIGJhdGNoIHNlaXRhbiwgc2hhYmJ5IGNoaWMgdmVnYW4gbGlzdGljbGUgYmVmb3JlIHRoZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbGQgb3V0LiBIYW1tb2NrIHJhdyBkZW5pbSBmbGFubmVsIHRvdXNsZWQgc2VpdGFuIHlvdSBwcm9iYWJseSBoYXZlbid0IGhlYXJkIG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtLiBUcnVzdCBmdW5kIG1hbiBidW4gcHVnLCBraWNrc3RhcnRlciBhcnRpc2FuIHNlbHZhZ2UgbGV0dGVycHJlc3MgY29ybmhvbGUgdG90ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFnIGJ1dGNoZXIgbG9jYXZvcmUuIEFmZm9nYXRvIHRyeS1oYXJkIGtpY2tzdGFydGVyIHNlaXRhbiwgRElZIHBpY2tsZWQgaGVsbGEgZ29kYXJkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3JrIGJlbGx5IGZvdXIgbG9rbyB1Z2guPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+VHdvPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5TZWNvbmQgdGFiIGNvbnRlbnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5IYXNodGFnIGRpc3RpbGxlcnkgc2thdGVib2FyZCBtYW4gYnVuIGdvY2h1amFuZywgc2FsdmlhIG1hbiBicmFpZCBhcnQgcGFydHkgbWVnZ2luZ3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaXJsb29tIGtpdHNjaCBmYXJtLXRvLXRhYmxlLiBGcmFuemVuIGJlYXJkIGZpbmdlcnN0YWNoZSBnZW50cmlmeSwgaGVpcmxvb21cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRsYW5kIGVubnVpIFhPWE8gbWljcm9kb3Npbmcga2l0c2NoIHBsYWlkLiBDaGljaGFycm9uZXMgYnVzaHdpY2sgY2hpYSwgYmFuaCBtaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJvbnkgdGF0dG9vZWQgaGFtbW9jayBidXRjaGVyIHNoYWJieSBjaGljIHRheGlkZXJteSBzZW1pb3RpY3MgbWFyZmEgcG9zdC1pcm9uaWMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbHVlIGJvdHRsZSBrZWZmaXllaCBmYXJtLXRvLXRhYmxlIGVubnVpLCBjaGFtYnJheSBwaXRjaGZvcmsgYXJ0IHBhcnR5IHBpbnRlcmVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJ0aXNhbiBwb3AtdXAuIEV0c3kgYmFuam8gbWFyZmEsIGJsdWUgYm90dGxlIGtvbWJ1Y2hhIGNydWNpZml4IFhPWE8gdG91c2xlZCBiZWFyZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbGRlIGRpc3J1cHQga2FsZSBjaGlwcyBiaWN5Y2xlIHJpZ2h0cyBza2F0ZWJvYXJkIG1hc3RlciBjbGVhbnNlIGhlbGxhIHNob3JlZGl0Y2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpdGF0aW9uIHJldHJvIHNoYWJieSBjaGljIHZpY2UgaGVpcmxvb20uIEV0c3kgbGlzdGljbGUgdmljZSBhY3R1YWxseSwgaVBob25lIGNoaWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvb2RpZSBmb3VyIGxva28uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5BY3Rpb248L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgICAgICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8IS0tIEJhc2ljIENhcmQgLS0+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJmZHMtcGFuZWwtbWVudS1idXR0b25cIiBtYXRUb29sdGlwPVwiU3RhbmRhcmQgQ2FyZCBNZW51XCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdGFuZGFyZENhcmRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12IFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwicHJpbWFyeS1pY29uLWJ1dHRvbi1tZW51XCIgI3N0YW5kYXJkQ2FyZE1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5PcHRpb24xPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+T3B0aW9uMjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBkeW5hbWljSGVpZ2h0IGNvbG9yPVwiYWNjZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+T25lPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+Rmlyc3QgdGFiIGNvbnRlbnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+UGxhaWQgZWNobyBwYXJrIGtuYXVzZ2FhcmQgbm9ybWNvcmUgZnJhbnplbiBjcm9udXQuIFBpY2tsZWQgaHVtYmxlYnJhZyB0b2Z1IGhvb2RpZSwgdW1hbWkgc2FsdmlhIGZhcm0tdG8tdGFibGUgc2NobGl0eiB0cnktaGFyZCBmb29kIHRydWNrIGtuYXVzZ2FhcmQgcGFic3QuIFl1Y2NpZSBwb3J0bGFuZCBqZWFuIHNob3J0cywgYXV0aGVudGljIG1peHRhcGUgd2Fpc3Rjb2F0IGdlbnRyaWZ5IGJsdWUgYm90dGxlLiBGaXhpZSBraWNrc3RhcnRlciBjaHVyY2gta2V5IHNtYWxsIGJhdGNoIHNlaXRhbiwgc2hhYmJ5IGNoaWMgdmVnYW4gbGlzdGljbGUgYmVmb3JlIHRoZXkgc29sZCBvdXQuIEhhbW1vY2sgcmF3IGRlbmltIGZsYW5uZWwgdG91c2xlZCBzZWl0YW4geW91IHByb2JhYmx5IGhhdmVuJ3QgaGVhcmQgb2YgdGhlbS4gVHJ1c3QgZnVuZCBtYW4gYnVuIHB1Zywga2lja3N0YXJ0ZXIgYXJ0aXNhbiBzZWx2YWdlIGxldHRlcnByZXNzIGNvcm5ob2xlIHRvdGUgYmFnIGJ1dGNoZXIgbG9jYXZvcmUuIEFmZm9nYXRvIHRyeS1oYXJkIGtpY2tzdGFydGVyIHNlaXRhbiwgRElZIHBpY2tsZWQgaGVsbGEgZ29kYXJkIHBvcmsgYmVsbHkgZm91ciBsb2tvIHVnaC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5Ud288L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5TZWNvbmQgdGFiIGNvbnRlbnQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SGFzaHRhZyBkaXN0aWxsZXJ5IHNrYXRlYm9hcmQgbWFuIGJ1biBnb2NodWphbmcsIHNhbHZpYSBtYW4gYnJhaWQgYXJ0IHBhcnR5IG1lZ2dpbmdzIGhlaXJsb29tIGtpdHNjaCBmYXJtLXRvLXRhYmxlLiBGcmFuemVuIGJlYXJkIGZpbmdlcnN0YWNoZSBnZW50cmlmeSwgaGVpcmxvb20gcG9ydGxhbmQgZW5udWkgWE9YTyBtaWNyb2Rvc2luZyBraXRzY2ggcGxhaWQuIENoaWNoYXJyb25lcyBidXNod2ljayBjaGlhLCBiYW5oIG1pIGlyb255IHRhdHRvb2VkIGhhbW1vY2sgYnV0Y2hlciBzaGFiYnkgY2hpYyB0YXhpZGVybXkgc2VtaW90aWNzIG1hcmZhIHBvc3QtaXJvbmljLiBCbHVlIGJvdHRsZSBrZWZmaXllaCBmYXJtLXRvLXRhYmxlIGVubnVpLCBjaGFtYnJheSBwaXRjaGZvcmsgYXJ0IHBhcnR5IHBpbnRlcmVzdCBhcnRpc2FuIHBvcC11cC4gRXRzeSBiYW5qbyBtYXJmYSwgYmx1ZSBib3R0bGUga29tYnVjaGEgY3J1Y2lmaXggWE9YTyB0b3VzbGVkIGJlYXJkLiBUaWxkZSBkaXNydXB0IGthbGUgY2hpcHMgYmljeWNsZSByaWdodHMgc2thdGVib2FyZCBtYXN0ZXIgY2xlYW5zZSBoZWxsYSBzaG9yZWRpdGNoLCBtZWRpdGF0aW9uIHJldHJvIHNoYWJieSBjaGljIHZpY2UgaGVpcmxvb20uIEV0c3kgbGlzdGljbGUgdmljZSBhY3R1YWxseSwgaVBob25lIGNoaWEgaG9vZGllIGZvdXIgbG9rby48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+QWN0aW9uPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgXV0+XG4gICAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiU2VsZWN0XCI+U2VsZWN0IDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlNlbGVjdFwiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBjb2xvcj1cImFjY2VudFwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiIHBsYWNlaG9sZGVyPVwiRmF2b3JpdGUgZm9vZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVcIiBuYW1lPVwiZm9vZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmb29kIG9mIGZvb2RzXCIgW3ZhbHVlXT1cImZvb2QudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmb29kLnZpZXdWYWx1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtbWFyZ2luPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmbGV4PiBTZWxlY3RlZCBmb29kIHZhbHVlOiB7e3NlbGVjdGVkVmFsdWV9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8Zm9ybT5cbiAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBjb2xvcj1cImFjY2VudFwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiIHBsYWNlaG9sZGVyPVwiRmF2b3JpdGUgZm9vZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCIgbmFtZT1cImZvb2RcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZvb2Qgb2YgZm9vZHNcIiBbdmFsdWVdPVwiZm9vZC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyB7Zm9vZC52aWV3VmFsdWV9IH1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtbWFyZ2luPlxuICAgICAgICAgICAgICAgIDxkaXYgZmxleD4gU2VsZWN0ZWQgZm9vZCB2YWx1ZTogeyB7c2VsZWN0ZWRWYWx1ZX0gfSA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiamF2YXNjcmlwdFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICcnO1xuXG4gICAgICAgIHRoaXMuZm9vZHMgPSBbXG4gICAgICAgICAgICB7IHZhbHVlOiAnc3RlYWstMCcsIHZpZXdWYWx1ZTogJ1N0ZWFrJyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ3BpenphLTEnLCB2aWV3VmFsdWU6ICdQaXp6YScgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6ICd0YWNvcy0yJywgdmlld1ZhbHVlOiAnVGFjb3MnIH0sXG4gICAgICAgIF07XG4gICAgICAgIF1dPlxuICAgICAgPC9wcmU+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInBhZC1ib3R0b20tc21cIiBpZD1cIk1lbnVzXCI+TWVudXMgKGRyb3Bkb3ducykgPG1hdC1pY29uIGNsYXNzPVwibGluay10by1jb21wb25lbnRcIiByb3V0ZXJMaW5rPVwiL1wiIGZyYWdtZW50PVwiTWVudXNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gUmVmcmVzaCA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBTZXR0aW5ncyA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+IFNpZ24gT3V0IDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjb2xvcj1cImZkcy1yZWd1bGFyXCIgbWF0LXJhaXNlZC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFib3ZlTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICBBYm92ZTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgeVBvc2l0aW9uPVwiYWJvdmVcIiAjYWJvdmVNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFJlZnJlc2ggPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gU2V0dGluZ3MgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gSGVscCA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPiBTaWduIE91dCA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcmVndWxhclwiIG1hdC1yYWlzZWQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJpY29uc01lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgSWNvbnMgaW4gTWVudTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI2ljb25zTWVudT1cIm1hdE1lbnVcIiBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRpYWxwYWQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UmVkaWFsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnZvaWNlbWFpbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DaGVjayB2b2ljZW1haWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bm90aWZpY2F0aW9uc19vZmY8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RGlzYWJsZSBhbGVydHM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInByaW1hcnlCdXR0b25Ecm9wZG93bk1lbnVcIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgRkRTIFByaW1hcnk8aSBjbGFzcz1cImZhIGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwiZmRzLXByaW1hcnktZHJvcGRvd24tYnV0dG9uLW1lbnVcIiAjcHJpbWFyeUJ1dHRvbkRyb3Bkb3duTWVudT1cIm1hdE1lbnVcIiBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+T3B0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5PcHRpb24gMjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicG9zWE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgQmVmb3JlPGkgY2xhc3M9XCJmYSBmYS1jYXJldC1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIiAjcG9zWE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gUmVmcmVzaCA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBTZXR0aW5ncyA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+IFNpZ24gT3V0IDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gUmVmcmVzaCA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT4gU2V0dGluZ3MgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IEhlbHAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+IFNpZ24gT3V0IDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8YnV0dG9uIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWJvdmVNZW51XCI+XG4gICAgICAgICAgICBBYm92ZTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSB5UG9zaXRpb249XCJhYm92ZVwiICNhYm92ZU1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFJlZnJlc2ggPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFNldHRpbmdzIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPiBTaWduIE91dCA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPGJ1dHRvbiBjb2xvcj1cImZkcy1yZWd1bGFyXCIgbWF0LXJhaXNlZC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImljb25zTWVudVwiPlxuICAgICAgICAgICAgSWNvbnMgaW4gTWVudTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSAjaWNvbnNNZW51PVwibWF0TWVudVwiIFtvdmVybGFwVHJpZ2dlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kaWFscGFkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5SZWRpYWw8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+dm9pY2VtYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5DaGVjayB2b2ljZW1haWw8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+bm90aWZpY2F0aW9uc19vZmY8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPkRpc2FibGUgYWxlcnRzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDxidXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJwcmltYXJ5QnV0dG9uRHJvcGRvd25NZW51XCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICBGRFMgUHJpbWFyeTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSBjbGFzcz1cImZkcy1wcmltYXJ5LWRyb3Bkb3duLWJ1dHRvbi1tZW51XCIgI3ByaW1hcnlCdXR0b25Ecm9wZG93bk1lbnU9XCJtYXRNZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgPHNwYW4+T3B0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICA8c3Bhbj5PcHRpb24gMjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8YnV0dG9uIGNvbG9yPVwiZmRzLXJlZ3VsYXJcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwicG9zWE1lbnVcIj5cbiAgICAgICAgICAgIEJlZm9yZTxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIiAjcG9zWE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFJlZnJlc2ggPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+IFNldHRpbmdzIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPiBIZWxwIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPiBTaWduIE91dCA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiRGlhbG9nXCI+RGlhbG9nIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIkRpYWxvZ1wiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJvcGVuRGlhbG9nKClcIj5TaG93IHNpbXBsZSBkaWFsb2c8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgICA8IVtDREFUQVtcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiPlNob3cgc2ltcGxlIGRpYWxvZzwvYnV0dG9uPlxuICAgICAgXV0+XG4gICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiamF2YXNjcmlwdFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHZhciBuZ0NvcmUgPSByZXF1aXJlKCdAYW5ndWxhci9jb3JlJyk7XG4gICAgICAgIGZ1bmN0aW9uIERpYWxvZ0NvbXBvbmVudCgpIHt9O1xuXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudC5wcm90b3R5cGUgPSB7XG4gICAgICAgICAgICBjb25zdHJ1Y3RvcjogRGlhbG9nQ29tcG9uZW50XG4gICAgICAgIH07XG5cbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LmFubm90YXRpb25zID0gW1xuICAgICAgICAgICAgbmV3IG5nQ29yZS5Db21wb25lbnQoe1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAnSGVsbG8gRGlhbG9nJ1xuICAgICAgICB9KV07XG5cbiAgICAgICAgLi4uXG5cbiAgICAgICAgY29uc3RydWN0b3IoTWF0RGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZyA9IE1hdERpYWxvZztcbiAgICAgICAgfVxuXG4gICAgICAgIC4uLlxuXG4gICAgICAgIG9wZW5EaWFsb2c6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNTAlJywgLy8gY2FuIGJlIHB4IG9yICVcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc2MCUnLCAvLyBjYW4gYmUgcHggb3IgJVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAuLi5cblxuICAgICAgICBdXT5cbiAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCIgaWQ9XCJTaW1wbGVEaWFsb2dzXCI+U2ltcGxlIERpYWxvZ3MgPG1hdC1pY29uIGNsYXNzPVwibGluay10by1jb21wb25lbnRcIiByb3V0ZXJMaW5rPVwiL1wiIGZyYWdtZW50PVwiU2ltcGxlRGlhbG9nc1wiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtbGVmdC1zbVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiAoY2xpY2spPVwib3BlbkNvbmZpcm0oKVwiIGNsYXNzPVwidGV4dC11cHBlclwiPk9wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgIENvbmZpcm1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkNvbmZpcm0oKVwiIGNsYXNzPVwidGV4dC11cHBlclwiPk9wZW4gQ29uZmlybTwvYnV0dG9uPlxuICAgICAgICBdXT5cbiAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgIDxwPkphdmFzY3JpcHQ6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICAuLi5cblxuICAgICAgICBjb25zdHJ1Y3RvcihUZERpYWxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IFRkRGlhbG9nU2VydmljZVxuICAgICAgICB9XG5cbiAgICAgICAgLi4uXG5cbiAgICAgICAgb3BlbkNvbmZpcm06IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuQ29uZmlybSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnVGhpcyBpcyBob3cgc2ltcGxlIGl0IGlzIHRvIGNyZWF0ZSBhIGNvbmZpcm0gd2l0aCB0aGlzIHdyYXBwZXIgc2VydmljZS4gRG8geW91IGFncmVlPycsXG4gICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOiAnRGlzYWdyZWUnLFxuICAgICAgICAgICAgICAgIGFjY2VwdEJ1dHRvbjogJ0FncmVlJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIC4uLlxuICAgICAgICBdXT5cbiAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCIgaWQ9XCJTbmFja0JhcnNcIj5TbmFjayBCYXJzIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlNuYWNrQmFyc1wiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJzaG93U3VjY2Vzc1NuYWNrQmFyKClcIj5TdWNjZXNzIFNuYWNrIEJhcjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJzaG93V2FyblNuYWNrQmFyKClcIj5XYXJuaW5nIFNuYWNrIEJhcjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJzaG93RXJyb3JTbmFja0JhcigpXCI+RXJyb3IgU25hY2sgQmFyPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dSZWd1bGFyU25hY2tCYXIoKVwiPlJlZ3VsYXIgU25hY2sgQmFyPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJzaG93U3VjY2Vzc1NuYWNrQmFyKClcIj5TdWNjZXNzIFNuYWNrIEJhcjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZmRzLXByaW1hcnlcIiAoY2xpY2spPVwic2hvd1dhcm5TbmFja0JhcigpXCI+V2FybmluZyBTbmFjayBCYXI8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dFcnJvclNuYWNrQmFyKClcIj5FcnJvciBTbmFjayBCYXI8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImZkcy1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dSZWd1bGFyU25hY2tCYXIoKVwiPlJlZ3VsYXIgU25hY2sgQmFyPC9idXR0b24+XG4gICAgICBdXT5cbiAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICA8cD5KYXZhc2NyaXB0OjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJqYXZhc2NyaXB0XCI+XG4gICAgICA8IVtDREFUQVtcbiAgICAgICAgLi4uXG5cbiAgICAgICAgY29uc3RydWN0b3IoRmRzU25hY2tCYXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZSA9IEZkc1NuYWNrQmFyU2VydmljZTtcbiAgICAgICAgfSxcblxuICAgICAgICAuLi5cblxuICAgICAgICAvKiogUG9zc2libGUgdmFsdWVzIGZvciBob3Jpem9udGFsUG9zaXRpb24gb24gTWF0U25hY2tCYXJDb25maWcgYXJlICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnIHwgJ2xlZnQnIHwgJ3JpZ2h0Jy4gKi9cbiAgICAgICAgLyoqIFBvc3NpYmxlIHZhbHVlcyBmb3IgdmVydGljYWxQb3NpdGlvbiBvbiBNYXRTbmFja0JhckNvbmZpZyBhcmUgJ3RvcCcgfCAnYm90dG9tJy4gKi9cbiAgICAgICAgLyoqIFBvc3NpYmxlIHZhbHVlcyBmb3IgaWNvbiBvbiBNYXRTbmFja0JhckNvbmZpZyBhcmUgYW55IGF2YWlsYWJsZSBpY29ucyBsb2FkZWQgb24gdGhlIHBhZ2UuICovXG5cbiAgICAgICAgc2hvd1N1Y2Nlc3NTbmFja0JhcjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBzbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW5Db2FzdGVyKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdTb21lIGhlbHAgdGV4dCByZWdhcmRpbmcgdGhlIHN1Y2Nlc3NmdWwgZXZlbnQuJyxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsUG9zaXRpb246ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWNoZWNrLWNpcmNsZS1vJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMxRUI0NzUnLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICBzaG93V2FyblNuYWNrQmFyOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIHNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbkNvYXN0ZXIoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnV2FybmluZycsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NvbWUgaGVscCB0ZXh0IHJlZ2FyZGluZyB0aGUgd2FybmluZy4nLFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb246ICd0b3AnLFxuICAgICAgICAgICAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2xlZnQnLFxuICAgICAgICAgICAgICAgIGljb246ICdmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjRTk4QTQwJyxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgc2hvd0Vycm9yU25hY2tCYXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuQ29hc3Rlcih7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NvbWUgaGVscCB0ZXh0IHJlZ2FyZGluZyB0aGUgY3JpdGljYWwgZXJyb3IuIFRoaXMgY29hc3RlciB3aWxsIHN0YXkgb3BlbiB1bnRpbCBjbG9zZWQgd2l0aCB0aGUgYHhgIG9yIGlmIGFub3RoZXIgY29hc3RlciBpcyBjcmVhdGVkLicsXG4gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgICAgICAgICAgIGljb246ICdmYSBmYS10aW1lcy1jaXJjbGUtbycsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjRUY2MTYyJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgc2hvd1JlZ3VsYXJTbmFja0JhcjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBzbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW5Db2FzdGVyKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1JlZ3VsYXInLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdTb21ldGhpbmcgaW50ZXJlc3RpbmcuJyxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsUG9zaXRpb246ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyM4MDg3OTMnLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICAuLi5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiRXhwYW5zaW9uUGFuZWxzXCI+RXhwYW5zaW9uIFBhbmVscyA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJFeHBhbnNpb25QYW5lbHNcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8cD5FeHBhbmQvQ29sbGFwc2UgRXZlbnQgZm9yIEV4cGFuc2lvbiAxOiB7e2V4cGFuZENvbGxhcHNlRXhwYW5zaW9uMU1zZ319PC9wPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidG9nZ2xlRGlzYWJsZWQoKVwiIGNsYXNzPVwidGV4dC11cHBlclwiPlRvZ2dsZSBkaXNhYmxlXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuc2lvbjEoKVwiIGNsYXNzPVwidGV4dC11cHBlclwiPlRvZ2dsZSBmaXJzdFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGxheW91dC1ndC14cz1cInJvd1wiIGxheW91dC1hbGlnbi1ndC14cz1cImNlbnRlciBzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZsZXgtZ3QteHM9XCI5MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkLWV4cGFuc2lvbi1wYW5lbCBsYWJlbD1cIkdvb2dsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmxhYmVsPVwiMTYwMCBBbXBoaXRoZWF0cmUgUGt3eSwgTW91bnRhaW4gVmlldywgQ0EgOTQwNDMsIFVTQVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRdPVwiZXhwYW5zaW9uMVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmRlZCk9XCJleHBhbmRFeHBhbnNpb24xRXZlbnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsYXBzZWQpPVwiY29sbGFwc2VFeHBhbnNpb24xRXZlbnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZC1leHBhbnNpb24tc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhcj5waW5fZHJvcDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIG1hdC1saW5lPkdvb2dsZTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IG1hdC1saW5lPkhlYWRxdWFydGVyczwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0LWxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2MDAgQW1waGl0aGVhdHJlIFBrd3lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5Nb3VudGFpbiBWaWV3LCBDQSA5NDA0MywgVVNBXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQtZXhwYW5zaW9uLXN1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibWF0LXBhZGRpbmdcIiBsYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJDb21wYW55IChkaXNhYmxlZClcIiBkaXNhYmxlZCB2YWx1ZT1cIkdvb2dsZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiIGZsZXg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIiByb3dzPVwiNFwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbGF5b3V0PVwicm93XCIgbGF5b3V0LW1hcmdpbiBsYXlvdXQtYWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cInRleHQtdXBwZXJcIj5TYXZlPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxwPkhUTUw6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8dGQtZXhwYW5zaW9uLXBhbmVsIGxhYmVsPVwiR29vZ2xlXCIgc3VibGFiZWw9XCIxNjAwIEFtcGhpdGhlYXRyZSBQa3d5LCBNb3VudGFpbiBWaWV3LCBDQSA5NDA0MywgVVNBXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXhwYW5kXT1cImV4cGFuc2lvbjFcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoZXhwYW5kZWQpPVwiZXhwYW5kRXhwYW5zaW9uMUV2ZW50KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsYXBzZWQpPVwiY29sbGFwc2VFeHBhbnNpb24xRXZlbnQoKVwiPlxuICAgICAgICAgICAgPHRkLWV4cGFuc2lvbi1zdW1tYXJ5PlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0LWxpc3QtYXZhdGFyPnBpbl9kcm9wPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBtYXQtbGluZT5Hb29nbGU8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0IG1hdC1saW5lPkhlYWRxdWFydGVyczwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBtYXQtbGluZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjAwIEFtcGhpdGhlYXRyZSBQa3d5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5Nb3VudGFpbiBWaWV3LCBDQSA5NDA0MywgVVNBXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICA8L21hdC1saXN0PlxuICAgICAgICAgICAgPC90ZC1leHBhbnNpb24tc3VtbWFyeT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtcGFkZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibWF0LXBhZGRpbmdcIiBsYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBmbGV4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQ29tcGFueSAoZGlzYWJsZWQpXCIgZGlzYWJsZWQgdmFsdWU9XCJHb29nbGVcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCIgZmxleD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkRlc2NyaXB0aW9uXCIgcm93cz1cIjRcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiIGxheW91dC1tYXJnaW4gbGF5b3V0LWFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJ0ZXh0LXVwcGVyXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwidGV4dC11cHBlclwiPlNhdmU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkLWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICA8cD5KYXZhc2NyaXB0OjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJqYXZhc2NyaXB0XCI+XG4gICAgICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VFeHBhbnNpb24xTXNnID0gJ05vIGV4cGFuZGVkL2NvbGxhcHNlZCBkZXRlY3RlZCB5ZXQnO1xuICAgICAgICB0aGlzLmV4cGFuc2lvbjEgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIC4uLlxuXG4gICAgICAgIHRvZ2dsZUV4cGFuc2lvbjE6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuc2lvbjEgPSAhdGhpcy5leHBhbnNpb24xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIHRvZ2dsZURpc2FibGVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICF0aGlzLmRpc2FibGVkO1xuICAgICAgICB9LFxuXG4gICAgICAgIGV4cGFuZEV4cGFuc2lvbjFFdmVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VFeHBhbnNpb24xTXNnID0gJ0V4cGFuZCBldmVudCBlbWl0dGVkLic7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY29sbGFwc2VFeHBhbnNpb24xRXZlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZENvbGxhcHNlRXhwYW5zaW9uMU1zZyA9ICdDb2xsYXBzZSBldmVudCBlbWl0dGVkLic7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLi4uXG4gICAgICAgICAgICBdXT5cbiAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiUHJvZ3Jlc3NcIj5Qcm9ncmVzcyA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJQcm9ncmVzc1wiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGxheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmxleD1cIjQ4XCIgY2xhc3M9XCJwYWQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Qcm9ncmVzcyBCYXJzPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPGg0PkRldGVybWluYXRlPC9oND5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImRldGVybWluYXRlXCIgdmFsdWU9XCI0MFwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgPGg0PkluZGV0ZXJtaW5hdGU8L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgPGg0PkJ1ZmZlcjwvaDQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJidWZmZXJcIiB2YWx1ZT1cIjE1XCIgYnVmZmVyVmFsdWU9XCIxNVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgPGg0PlF1ZXJ5PC9oND5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+Q29sb3JzPC9oND5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBjb2xvcj1cInByaW1hcnlcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJ3YXJuXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImh0bWxcIj5cbiAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8IS0tIERldGVybWluYXRlLS0+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIHZhbHVlPVwiNDBcIj48L21hdC1wcm9ncmVzcy1iYXI+XG5cbiAgICAgICAgPCEtLSBJbmRldGVybWluYXRlLS0+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgICAgIDwhLS0gQnVmZmVyLS0+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJidWZmZXJcIiB2YWx1ZT1cIjE1XCIgYnVmZmVyVmFsdWU9XCIxNVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuICAgICAgICA8IS0tIFF1ZXJ5LS0+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuICAgICAgICA8IS0tIENvbG9ycy0tPlxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGNvbG9yPVwicHJpbWFyeVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGNvbG9yPVwiYWNjZW50XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJ3YXJuXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZsZXg9XCI0OFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2dyZXNzIGNpcmNsZXMtLT5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Qcm9ncmVzcyBTcGlubmVyPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBsYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkRldGVybWluYXRlPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgbW9kZT1cImRldGVybWluYXRlXCIgdmFsdWU9XCI2NlwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PmluZGV0ZXJtaW5hdGU8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlNwaW5uZXI8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkNvbG9yczwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGxheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGNvbG9yPVwicHJpbWFyeVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGNvbG9yPVwid2FyblwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+VXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDwhLS0gRGV0ZXJtaW5hdGUgLS0+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBtb2RlPVwiZGV0ZXJtaW5hdGVcIiB2YWx1ZT1cIjY2XCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPCEtLSBJbmRldGVybWluYXRlIC0tPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICA8IS0tIFNwaW5uZXIgLS0+XG4gICAgICAgIDxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPlxuICAgICAgICA8IS0tIENvbG9ycyAtLT5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBjb2xvcj1cIndhcm5cIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiU2lkZU5hdlwiPlNpZGUgTmF2IDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlNpZGVOYXZcIj5saW5rPC9tYXQtaWNvbj48L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8cD5UaGUgc2lkZSBuYXYgY2FuIGJlIG9wZW5lZCBhdCB0aGUgYHN0YXJ0YCBvciBgZW5kYCBvZiBhIGNvbnRhaW5lciBhbmQgY2FuIGJlIGRpc3BsYXllZCBpbiBgb3ZlcmAsXG4gICAgICAgICAgICAgICAgICAgIGBzaWRlYCwgb3IgYHB1c2hgIG1vZGUuIFlvdSBjYW4gYWxzbyBkZWZpbmUgaXRzIHdpZHRoLjwvcD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFRvb2x0aXA9XCJPcGVuIHNpZGUgbmF2XCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJmZHMtcHJpbWFyeVwiIChjbGljayk9XCJzaWRlbmF2LnRvZ2dsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIE9wZW5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8IS0tIEJhc2ljIFVzYWdlIC0tPlxuICAgICAgICA8bWF0LXNpZGVuYXYgI3NpZGVuYXYgbW9kZT1cIm92ZXJcIiBwb3NpdGlvbj1cImVuZFwiIG9wZW5lZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAuLi5cbiAgICAgICAgPC9tYXQtc2lkZW5hdj5cbiAgICAgICAgXV0+XG4gICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJwYWQtYm90dG9tLXNtXCIgaWQ9XCJTbGlkZVRvZ2dsZVwiPlNsaWRlIFRvZ2dsZSA8bWF0LWljb24gY2xhc3M9XCJsaW5rLXRvLWNvbXBvbmVudFwiIHJvdXRlckxpbms9XCIvXCIgZnJhZ21lbnQ9XCJTbGlkZVRvZ2dsZVwiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+QmFzaWMgVXNhZ2U8L2gzPlxuICAgICAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHN5c3RlbSBvZiBzeXN0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbY29sb3JdPVwic3lzdGVtLmNvbG9yXCIgWyhuZ01vZGVsKV09XCJzeXN0ZW0ub25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3N5c3RlbS5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgPCEtLSBCYXNpYyBVc2FnZSAtLT5cbiAgICAgICAgPG1hdC1saXN0PlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHN5c3RlbSBvZiBzeXN0ZW1zXCI+XG4gICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjb2xvcl09XCJzeXN0ZW0uY29sb3JcIiBbKG5nTW9kZWwpXT1cInN5c3RlbS5vblwiPlxuICAgICAgICAgICAgICAgIHsge3N5c3RlbS5uYW1lfSB9XG4gICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPC9tYXQtbGlzdD5cbiAgICAgICAgXV0+XG4gICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgIDxwPkphdmFzY3JpcHQ6PC9wPlxuICAgICAgICAgICAgICAgIDxwcmUgbGFuZz1cImphdmFzY3JpcHRcIj5cbiAgICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIHRoaXMuc3lzdGVtcyA9IFt7XG4gICAgICAgICAgICBuYW1lOiAnTGlnaHRzJyxcbiAgICAgICAgICAgIG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU6ICdTdXJyb3VuZCBTb3VuZCcsXG4gICAgICAgICAgICBvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiAnYWNjZW50JyxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogJ1QuVi4nLFxuICAgICAgICAgICAgb246IHRydWUsXG4gICAgICAgICAgICBjb2xvcjogJ3dhcm4nLFxuICAgICAgICB9LCBdO1xuICAgICAgICAgICAgXV0+XG4gICAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZSB3aXRoaW4gRm9ybXM8L2gzPlxuICAgICAgICAgICAgICAgIDxmb3JtPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjb2xvcj1cImFjY2VudFwiIFsobmdNb2RlbCldPVwiaG91c2UubG9ja0hvdXNlXCIgbmFtZT1cImxvY2tIb3VzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NrP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJob3VzZS5sb2NrSG91c2VcIiBjbGFzcz1cInBhZC1yaWdodC1zbVwiPmxvY2s8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkgYW0gZGlzYWJsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0PlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlVzYWdlPC9oMz5cbiAgICAgICAgICAgICAgICA8cD5IVE1MOjwvcD5cbiAgICAgICAgICAgICAgICA8cHJlIGxhbmc9XCJodG1sXCI+XG4gICAgICAgIDwhW0NEQVRBW1xuICAgICAgICA8IS0tIFVzYWdlIHdpdGhpbiBGb3JtcyAtLT5cbiAgICAgICAgPGZvcm0+XG4gICAgICAgICAgICA8bWF0LWxpc3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNvbG9yPVwiYWNjZW50XCIgWyhuZ01vZGVsKV09XCJob3VzZS5sb2NrSG91c2VcIiBuYW1lPVwibG9ja0hvdXNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBMb2NrP1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImhvdXNlLmxvY2tIb3VzZVwiIGNsYXNzPVwicGFkLXJpZ2h0LXNtXCI+bG9jazwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICAgICAgSSBhbSBkaXNhYmxlZC5cbiAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPC9tYXQtbGlzdD5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgICBdXT5cbiAgICAgICAgPC9wcmU+XG4gICAgICAgICAgICAgICAgPHA+SmF2YXNjcmlwdDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiamF2YXNjcmlwdFwiPlxuICAgICAgICA8IVtDREFUQVtcbiAgICAgICAgdGhpcy5ob3VzZSA9IHtcbiAgICAgICAgICAgIGxvY2tIb3VzZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgICAgICBdXT5cbiAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwicGFkLWJvdHRvbS1zbVwiIGlkPVwiU2xpZGVyXCI+U2xpZGVyIDxtYXQtaWNvbiBjbGFzcz1cImxpbmstdG8tY29tcG9uZW50XCIgcm91dGVyTGluaz1cIi9cIiBmcmFnbWVudD1cIlNsaWRlclwiPmxpbms8L21hdC1pY29uPjwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+SG9yaXpvbnRhbCBTbGlkZXI8L2gzPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGVyIG1pbj1cIjFcIiBtYXg9XCI1XCIgdGh1bWJMYWJlbCB0aWNrSW50ZXJ2YWw9XCIxXCIgdmFsdWU9XCIyXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtc2xpZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGVyIHN0ZXA9XCI1XCIgdGh1bWJMYWJlbCB0aWNrSW50ZXJ2YWw9XCI1XCIgdmFsdWU9XCIyMFwiIGNvbG9yPVwiYWNjZW50XCI+PC9tYXQtc2xpZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGVyIHRodW1iTGFiZWwgdGljay1pbnRlcnZhbD1cImF1dG9cIiB2YWx1ZT1cIjJcIiBjb2xvcj1cIndhcm5cIj48L21hdC1zbGlkZXI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxtYXQtc2xpZGVyIG1pbj1cIjFcIiBtYXg9XCI1XCIgdGh1bWJMYWJlbCB0aWNrSW50ZXJ2YWw9XCIxXCIgdmFsdWU9XCIyXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtc2xpZGVyPlxuICAgICAgICA8bWF0LXNsaWRlciBzdGVwPVwiNVwiIHRodW1iTGFiZWwgdGlja0ludGVydmFsPVwiNVwiIHZhbHVlPVwiMjBcIiBjb2xvcj1cImFjY2VudFwiPjwvbWF0LXNsaWRlcj5cbiAgICAgICAgPG1hdC1zbGlkZXIgdGh1bWJMYWJlbCB0aWNrLWludGVydmFsPVwiYXV0b1wiIHZhbHVlPVwiMlwiIGNvbG9yPVwid2FyblwiPjwvbWF0LXNsaWRlcj5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZC10aXRsZVwiPlZlcnRpY2FsIFNsaWRlcjwvaDM+XG4gICAgICAgICAgICAgICAgPG1hdC1zbGlkZXIgdmVydGljYWwgbWluPVwiMVwiIG1heD1cIjEwMFwiIHRodW1iTGFiZWwgdGlja0ludGVydmFsPVwiMTBcIiB2YWx1ZT1cIjJcIj48L21hdC1zbGlkZXI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxtYXQtc2xpZGVyIHZlcnRpY2FsIG1pbj1cIjFcIiBtYXg9XCIxMDBcIiB0aHVtYkxhYmVsIHRpY2tJbnRlcnZhbD1cIjEwXCIgdmFsdWU9XCIyXCI+PC9tYXQtc2xpZGVyPlxuICAgICAgICBdXT5cbiAgICAgIDwvcHJlPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1kLXRpdGxlXCI+SW52ZXJ0ZWQgU2xpZGVyPC9oMz5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlciBpbnZlcnQgbWluPVwiMVwiIG1heD1cIjEwMFwiIHRodW1iTGFiZWwgdGlja0ludGVydmFsPVwiMTBcIiB2YWx1ZT1cIjJcIj48L21hdC1zbGlkZXI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWQtdGl0bGVcIj5Vc2FnZTwvaDM+XG4gICAgICAgICAgICAgICAgPHA+SFRNTDo8L3A+XG4gICAgICAgICAgICAgICAgPHByZSBsYW5nPVwiaHRtbFwiPlxuICAgICAgPCFbQ0RBVEFbXG4gICAgICAgIDxtYXQtc2xpZGVyIGludmVydCBtaW49XCIxXCIgbWF4PVwiMTAwXCIgdGh1bWJMYWJlbCB0aWNrSW50ZXJ2YWw9XCIxMFwiIHZhbHVlPVwiMlwiPjwvbWF0LXNsaWRlcj5cbiAgICAgICAgXV0+XG4gICAgICA8L3ByZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICA8L2Rpdj5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuIjs="}]}