@co0ontty/wand 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,9 +3,9 @@ import { Buffer } from "node:buffer";
|
|
|
3
3
|
function decode(value) {
|
|
4
4
|
return Buffer.from(value, "base64").toString("utf8");
|
|
5
5
|
}
|
|
6
|
-
export const EMBEDDED_WEB_ASSET_VERSION = "
|
|
6
|
+
export const EMBEDDED_WEB_ASSET_VERSION = "047a65b8672e";
|
|
7
7
|
export const EMBEDDED_WEB_ASSETS = {
|
|
8
|
-
scriptsJs: decode("InVzZSBzdHJpY3QiOygoKT0+e3ZhciBybz0id2FuZC1sZWdhY3ktcHdhLWNsZWFudXAtdjEiLE9kPVsid2FuZC1zdGF0aWMtIiwid2FuZC1ydW50aW1lLSJdO2Z1bmN0aW9uIGRpKGUpe2lmKCFlKXJldHVybiExO3RyeXtjb25zdCB0PW5ldyBVUkwoZS5zY3JpcHRVUkwsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQub3JpZ2luPT09bG9jYXRpb24ub3JpZ2luJiZ0LnBhdGhuYW1lPT09Ii9zdy5qcyJ9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIFBkKGUpe3JldHVybiBkaShlLmluc3RhbGxpbmcpfHxkaShlLndhaXRpbmcpfHxkaShlLmFjdGl2ZSl9ZnVuY3Rpb24gcWQoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHJvKT09PSJkb25lIn1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gSGQoKXt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0ocm8sImRvbmUiKX1jYXRjaHt9fWFzeW5jIGZ1bmN0aW9uIF9kKCl7aWYoISgic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3IpKXJldHVybiEwO3RyeXtjb25zdCB0PShhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCkpLmZpbHRlcihQZCk7cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHQubWFwKG49Pm4udW5yZWdpc3RlcigpKSksITB9Y2F0Y2h7cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIE5kKCl7aWYoISgiY2FjaGVzImluIHdpbmRvdykpcmV0dXJuITA7dHJ5e2NvbnN0IHQ9KGF3YWl0IGNhY2hlcy5rZXlzKCkpLmZpbHRlcihuPT5PZC5zb21lKGk9Pm4uc3RhcnRzV2l0aChpKSkpO3JldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChuPT5jYWNoZXMuZGVsZXRlKG4pKSksITB9Y2F0Y2h7cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIGpkKCl7aWYocWQoKSlyZXR1cm47Y29uc3QgZT0ic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3ImJmRpKG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpLFt0LG5dPWF3YWl0IFByb21pc2UuYWxsKFtfZCgpLE5kKCldKTshdHx8IW58fChIZCgpLGUmJmxvY2F0aW9uLnJlbG9hZCgpKX1qZCgpO3ZhciBwaD0iJHtlc2NhcGVIdG1sKGNvbmZpZ1BhdGgpfSIsaGE9IndhbmQtY2hhdC1leHBhbmQtc3RhdGUtdjEiLGNpPVtmdW5jdGlvbigpe31dOyhmdW5jdGlvbigpe3RyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1scy1zY2hlbWEiKSxuPXQ9PW51bGw/MDpwYXJzZUludCh0LDEwKTtuPj0wfHwobj0wKTtmb3IodmFyIGk9bjtpPGNpLmxlbmd0aDtpKyspdHJ5e2NpW2ldKCl9Y2F0Y2h7fW48Y2kubGVuZ3RoJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1scy1zY2hlbWEiLFN0cmluZyhjaS5sZW5ndGgpKX1jYXRjaHt9fSkoKTtmdW5jdGlvbiBicihlLHQpe3RyeXt2YXIgbj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtyZXR1cm4gbj09PSJ0cnVlIj8hMDpuPT09ImZhbHNlIj8hMTp0fWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiB3ZShlLHQpe3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLFN0cmluZyghIXQpKX1jYXRjaHt9fXZhciByPXtzZWxlY3RlZElkOihmdW5jdGlvbigpe3RyeXt2YXIgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PWUuc2VhcmNoUGFyYW1zLmdldCgic2Vzc2lvbiIpO2lmKHQpcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iLHQpLGUuc2VhcmNoUGFyYW1zLmRlbGV0ZSgic2Vzc2lvbiIpLGhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3Rvcnkuc3RhdGUsIiIsZS50b1N0cmluZygpKSx0fWNhdGNoe310cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iKXx8bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19KSgpLHBvbGxUaW1lcjpudWxsLGNvbmZpZzpudWxsLHNlc3Npb25zOltdLHN1Z2dlc3Rpb25UaW1lcjpudWxsLHRlcm1pbmFsOm51bGwsdGVybWluYWxGaXRJblByb2dyZXNzOiExLHRlcm1pbmFsU2Vzc2lvbklkOm51bGwsdGVybWluYWxPdXRwdXQ6IiIsdGVybWluYWxPdXRwdXRNYXJrZXI6MCx0ZXJtaW5hbExpdmVTdHJlYW1TZXNzaW9uczp7fSxzeW5jT3V0cHV0QnVmZmVyOm51bGwsc3luY091dHB1dERlYWRsaW5lOjAsc3luY0ZyYW1pbmdSZXNpZHVlOiExLGxhc3RDaHVua0F0OjAsdGVybWluYWxIZWFsdGhUaW1lcjpudWxsLGxhc3RUZXJtaW5hbFJlc3luY0F0OjAsdGVybWluYWxBdXRvRm9sbG93OiEwLHRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw6MCx0ZXJtaW5hbFNjcm9sbElkbGVUaW1lcjpudWxsLHRlcm1pbmFsU2Nyb2xsVGhyZXNob2xkOjEyLHNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbTohMSx0ZXJtaW5hbFZpZXdwb3J0RWw6bnVsbCx0ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcjpudWxsLHRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI6bnVsbCx0ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXI6bnVsbCx0ZXJtaW5hbFRvdWNoU3RhcnRZOjAsdGVybWluYWxDb21wb3Npbmc6ITEscmVzaXplT2JzZXJ2ZXI6bnVsbCxyZXNpemVIYW5kbGVyOm51bGwscmVzaXplVGltZXI6bnVsbCxpbnB1dFF1ZXVlOlByb21pc2UucmVzb2x2ZSgpLHBlbmRpbmdNZXNzYWdlczpbXSxtZXNzYWdlUXVldWU6W10sY3Jvc3NTZXNzaW9uUXVldWU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNyb3NzLXNlc3Npb24tcXVldWUiKSx0PWU/SlNPTi5wYXJzZShlKTpbXTtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90OltdfWNhdGNoe3JldHVybltdfX0pKCksc3RydWN0dXJlZElucHV0UXVldWU6W10scXVldWVCYXJFeHBhbmRlZDohMSxxdWV1ZUJhckhvdmVySW5kZXg6bnVsbCxxdWV1ZUJhckRyYWc6bnVsbCxxdWV1ZUJhclByb21vdGluZzohMSxkcmFmdHM6e30saXNTeW5jaW5nSW5wdXRCb3g6ITEsbG9naW5QZW5kaW5nOiExLGxvZ2luQ2hlY2tlZDohMSxib290c3RyYXBwaW5nOiEwLHNlc3Npb25zRHJhd2VyT3Blbjpicigid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxzaWRlYmFyUGlubmVkOmJyKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMCksc2lkZWJhckNvbGxhcHNlZDpicigid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpLG1vZGFsT3BlbjohMSxwcmVzZXRWYWx1ZToiIixjd2RWYWx1ZToiIixtb2RlVmFsdWU6Im1hbmFnZWQiLGNoYXRNb2RlOiJtYW5hZ2VkIixjaGF0TW9kZWxzOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIil8fCIiO3JldHVybntjbGF1ZGU6bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbC1jbGF1ZGUiKXx8ZSxjb2RleDpsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsLWNvZGV4Iil8fCIiLG9wZW5jb2RlOmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtb3BlbmNvZGUiKXx8IiJ9fWNhdGNoe3JldHVybntjbGF1ZGU6IiIsY29kZXg6IiIsb3BlbmNvZGU6IiJ9fX0pKCksY2hhdE1vZGVsOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbCIpfHwiIn1jYXRjaHtyZXR1cm4iIn19KSgpLGNoYXRUaGlua2luZzooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtdGhpbmtpbmctZWZmb3J0Iil8fCJvZmYiO3JldHVybiBlPT09Im9mZiJ8fGU9PT0ic3RhbmRhcmQifHxlPT09ImRlZXAifHxlPT09Im1heCJ8fC9eY29kZXg6W2EtejAtOV1bYS16MC05Xy1dezAsMzF9JC8udGVzdChlKT9lOiJvZmYifWNhdGNoe3JldHVybiJvZmYifX0pKCksYXZhaWxhYmxlTW9kZWxzOltdLGF2YWlsYWJsZUNvZGV4TW9kZWxzOltdLGF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzOltdLG1vZGVsc1JlZnJlc2hpbmc6ITEsc2Vzc2lvbkNyZWF0ZUtpbmQ6InN0cnVjdHVyZWQiLHNlc3Npb25DcmVhdGVXb3JrdHJlZTohMSxzZXNzaW9uVG9vbDoiY2xhdWRlIixhY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkOm51bGwsd29ya3RyZWVNZXJnZUNoZWNrUmVzdWx0Om51bGwsd29ya3RyZWVNZXJnZUxvYWRpbmc6ITEsd29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc6ITEsd29ya3RyZWVNZXJnZUVycm9yOiIiLHByZWZlcnJlZENvbW1hbmQ6ImNsYXVkZSIsc3RydWN0dXJlZFJ1bm5lcjoiY2xhdWRlLWNsaS1wcmludCIsbGFzdFJlc2l6ZTp7Y29sczowLHJvd3M6MH0saXNPbmxpbmU6bmF2aWdhdG9yLm9uTGluZSx3czpudWxsLHdzQ29ubmVjdGVkOiExLGxhc3RXc01lc3NhZ2VBdDowLHdzSGVhcnRiZWF0Q2hlY2tUaW1lcjpudWxsLF91cGRhdGVCdWJibGVTaG93bjohMSxub3RpZmljYXRpb25IaXN0b3J5Ont9LGRlbGF5ZWROb3RpZmljYXRpb25UaW1lcjpudWxsLG5vdGlmU291bmQ6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLW5vdGlmLXNvdW5kIik7cmV0dXJuIGU9PT1udWxsPyEwOmU9PT0idHJ1ZSJ9Y2F0Y2h7cmV0dXJuITB9fSkoKSxub3RpZlZvbHVtZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIik7cmV0dXJuIGU9PT1udWxsPzgwOk1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHBhcnNlSW50KGUsMTApfHw4MCkpfWNhdGNoe3JldHVybiA4MH19KSgpLG5vdGlmQnViYmxlOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiKTtyZXR1cm4gZT09PW51bGw/ITA6ZT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19KSgpLHRvb2xDb250ZW50Q2FjaGU6e30sbGFzdFNlcUJ5U2Vzc2lvbjp7fSxjdXJyZW50VmlldzoidGVybWluYWwiLHRlcm1pbmFsU2NhbGU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXRlcm1pbmFsLXNjYWxlIik7cmV0dXJuIGU/cGFyc2VGbG9hdChlKToxfWNhdGNoe3JldHVybiAxfX0pKCksdGVybWluYWxCYXNlRm9udFNpemU6MTMsa2V5Ym9hcmRQb3B1cE9wZW46ITEsZmlsZVBhbmVsT3BlbjooZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWZpbGUtcGFuZWwtb3BlbiIpPT09InRydWUifWNhdGNoe3JldHVybiExfX0pKCksdG9wYmFyTW9yZU9wZW46ITEsZ2l0U3RhdHVzOm51bGwsZ2l0U3RhdHVzU2Vzc2lvbklkOm51bGwsZ2l0U3RhdHVzTG9hZGluZzohMSxnaXRTdGF0dXNJbmZsaWdodDpudWxsLGdpdFN0YXR1c0xhc3RGZXRjaEF0OjAscXVpY2tDb21taXRPcGVuOiExLHF1aWNrQ29tbWl0U3VibWl0dGluZzohMSxxdWlja0NvbW1pdEdlbmVyYXRpbmc6ITEscXVpY2tDb21taXRFcnJvcjoiIixxdWlja0NvbW1pdEZvcm06e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0scXVpY2tDb21taXRQdXNoaW5nOiExLHF1aWNrQ29tbWl0UHVzaEVycm9yOiIiLHF1aWNrQ29tbWl0UmVzdWx0Om51bGwscXVpY2tDb21taXREcmFnQWN0aW9uOiJjb21taXQiLHF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50OiExLGNoYXRTdGlja1RvQm90dG9tOiEwLGNoYXRBdXRvRm9sZEVuYWJsZWQ6ITEsY2hhdEF1dG9Gb2xkU25hcHNob3Q6bnVsbCxjaGF0VW5yZWFkQ291bnQ6MCxjaGF0VW5yZWFkU3RhcnRJbmRleDotMSxjaGF0U2Nyb2xsVGhyZXNob2xkOjE2MCxjaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw6ITEsY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsOjAsY2hhdFNjcm9sbEVsZW1lbnQ6bnVsbCxjaGF0U2Nyb2xsSGFuZGxlcjpudWxsLGNoYXRTY3JvbGxXaGVlbEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcjpudWxsLGNoYXRUb3VjaFN0YXJ0WTowLGNoYXRJbml0aWFsUmVuZGVyRG9uZTohMSxsYXN0Rm9yZWdyb3VuZFN5bmNBdDowLGZvcmVncm91bmRTeW5jVGltZXI6bnVsbCx3c1JlY29ubmVjdEF0dGVtcHRzOjAsd3NSZWNvbm5lY3RUaW1lcjpudWxsLGN1cnJlbnRNZXNzYWdlczpbXSxsYXN0UmVuZGVyZWRIYXNoOjAsbGFzdFJlbmRlcmVkTXNnQ291bnQ6MCxsYXN0UmVuZGVyZWRFbXB0eTpudWxsLHJlbmRlclBlbmRpbmc6ITEsY2hhdFBhZ2VTaXplOjIwLGNoYXRSZW5kZXJlZENvdW50OjIwLGN1cnJlbnRUYXNrOm51bGwsdGVybWluYWxJbnRlcmFjdGl2ZTohMSxtaW5pS2V5Ym9hcmRWaXNpYmxlOiExLG1vZGlmaWVyczp7Y3RybDohMSxhbHQ6ITEsc2hpZnQ6ITF9LGpveXN0aWNrUG9zOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1iYWxsLXBvcyIpO2lmKCFlKXJldHVybiBudWxsO3ZhciB0PUpTT04ucGFyc2UoZSk7cmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0Ij90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSkoKSxqb3lzdGlja1Bpbm5lZE9wZW46ITEsam95c3RpY2tSb290RWw6bnVsbCxqb3lzdGlja1BhbmVsRWw6bnVsbCxqb3lzdGlja0JhY2tkcm9wRWw6bnVsbCxqb3lzdGlja0JhbGxFbDpudWxsLGpveXN0aWNrUG9pbnRlcklkOm51bGwsam95c3RpY2tHZXN0dXJlOm51bGwsam95c3RpY2tQcmVzc1N0YXJ0Om51bGwsam95c3RpY2tMb25nUHJlc3NUaW1lcjpudWxsLGpveXN0aWNrTW92ZUhhbmRsZXI6bnVsbCxqb3lzdGlja1VwSGFuZGxlcjpudWxsLGpveXN0aWNrUmVzaXplSGFuZGxlcjpudWxsLGZpbGVTZWFyY2hRdWVyeToiIixmaWxlRXhwbG9yZXJMb2FkaW5nOiExLGFsbEZpbGVzOltdLGZpbGVFeHBsb3JlckN3ZDoiIixmaWxlRXhwbG9yZXJUcnVuY2F0ZWQ6ITEsZmlsZUV4cGxvcmVyVG90YWw6MCxjbGF1ZGVIaXN0b3J5OltdLGNsYXVkZUhpc3RvcnlMb2FkZWQ6ITEsY2xhdWRlSGlzdG9yeUV4cGFuZGVkOiExLGNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnM6e30sYXJjaGl2ZWRFeHBhbmRlZDohMSxzZXNzaW9uc01hbmFnZU1vZGU6ITEsc2VsZWN0ZWRTZXNzaW9uSWRzOnt9LHNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkczp7fSxjb2RleEhpc3Rvcnk6W10sY29kZXhIaXN0b3J5TG9hZGVkOiExLGNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyczp7fSxzZWxlY3RlZENvZGV4SGlzdG9yeUlkczp7fSxhc2tVc2VyU2VsZWN0aW9uczp7fSxxdWV1ZUVwb2NoOjAscGVuZGluZ0F0dGFjaG1lbnRzOltdLHdvcmtpbmdEaXI6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIik7cmV0dXJuIGV8fCIifWNhdGNoe3JldHVybiIifX0pKCl9LHlhPSJcdTRFMkRcdTY1ODciLGZpPXtcdTRFMkRcdTY1ODc6eyJzdWJhZ2VudC50YWciOiJcdTVCNTBcdTRFRTNcdTc0MDYiLCJzdWJhZ2VudC5oYW5kb2ZmIjoie3BhcmVudH0gXHU4QkE5IHtzdWJ9IFx1NUUyRVx1NUZEOSIsInN1YmFnZW50LmhhbmRvZmYud2l0aF9kZXNjIjoie3BhcmVudH0gXHU4QkE5IHtzdWJ9IFx1NUUyRVx1NUZEOVx1RkYxQSIsInN1YmFnZW50LmNvbnRpbnVlZCI6Ilx1N0VFN1x1N0VFRFx1OEY5M1x1NTFGQSIsInN1YmFnZW50LnRhc2suZG9uZSI6Ilx1NEVGQlx1NTJBMVx1NUI4Q1x1NjIxMCIsInN1YmFnZW50LnRhc2suZmFpbGVkIjoiXHU0RUZCXHU1MkExXHU1OTMxXHU4RDI1Iiwic3ViYWdlbnQucnVubmluZyI6Ilx1OEZEMFx1ODg0Q1x1NEUyRCIsInN1YmFnZW50Lm5vX291dHB1dCI6Ilx1RkYwOFx1NjVFMFx1OEY5M1x1NTFGQVx1RkYwOSIsInN1YmFnZW50LmhlbHBlcl9mYWxsYmFja19wcmVmaXgiOiJcdTUzNEZcdTRGNUNcdTczMkJceEI3Iiwic3ViYWdlbnQudGl0bGVfYXJpYSI6Ilx1NzBCOVx1NTFGQlx1NUM1NVx1NUYwMCAvIFx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIsInN1YmFnZW50LnRhZ190aXRsZSI6Ilx1NUI1MFx1NEVFM1x1NzQwNiAvIHN1YmFnZW50IiwidWkuZXhwYW5kIjoiXHU1QzU1XHU1RjAwIiwidWkuY29sbGFwc2UiOiJcdTY1MzZcdThENzciLCJ1aS5leHBhbmRfcGFuZWxfYXJpYSI6Ilx1NUM1NVx1NUYwMFx1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIsInVpLmNvbGxhcHNlX3BhbmVsX2FyaWEiOiJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJoaXN0b3J5LmV4cGFuZCI6Ilx1NUM1NVx1NUYwMFx1NTM4Nlx1NTNGMlx1NUJGOVx1OEJERCIsImhpc3RvcnkuY29sbGFwc2UiOiJcdTY1MzZcdThENzdcdTUzODZcdTUzRjJcdTVCRjlcdThCREQiLCJoaXN0b3J5LnJvdW5kcyI6IntufSBcdThGNkVcdTVCRjlcdThCREQiLCJoaXN0b3J5LnRvb2xzIjoie259IFx1NkIyMVx1NURFNVx1NTE3N1x1OEMwM1x1NzUyOCIsImhpc3RvcnkuYWdlbnRzIjoie259IFx1NEUyQVx1NUI1MFx1NEVFM1x1NzQwNiIsImhpc3RvcnkuZXJyb3JzIjoie259IFx1NEUyQVx1NTkzMVx1OEQyNSIsInN0b3AuY29uZmlybS50aXRsZSI6Ilx1NTA1Q1x1NkI2Mlx1NEVGQlx1NTJBMSIsInN0b3AuY29uZmlybS5tZXNzYWdlIjoiXHU3ODZFXHU1QjlBXHU4OTgxXHU1MDVDXHU2QjYyXHU1RjUzXHU1MjREXHU2QjYzXHU1NzI4XHU4RkQwXHU4ODRDXHU3Njg0XHU0RUZCXHU1MkExXHU1NDE3XHVGRjFGIiwic3RvcC5jb25maXJtLm9rIjoiXHU1MDVDXHU2QjYyIiwic3RvcC5jb25maXJtLmNhbmNlbCI6Ilx1NTNENlx1NkQ4OCJ9LEVuZ2xpc2g6eyJzdWJhZ2VudC50YWciOiJTdWJhZ2VudCIsInN1YmFnZW50LmhhbmRvZmYiOiJ7cGFyZW50fSBhc2tlZCB7c3VifSBmb3IgaGVscCIsInN1YmFnZW50LmhhbmRvZmYud2l0aF9kZXNjIjoie3BhcmVudH0gYXNrZWQge3N1Yn0gZm9yIGhlbHAgd2l0aDogIiwic3ViYWdlbnQuY29udGludWVkIjoiY29udGludWVkIiwic3ViYWdlbnQudGFzay5kb25lIjoiVGFzayBjb21wbGV0ZSIsInN1YmFnZW50LnRhc2suZmFpbGVkIjoiVGFzayBmYWlsZWQiLCJzdWJhZ2VudC5ydW5uaW5nIjoiUnVubmluZyIsInN1YmFnZW50Lm5vX291dHB1dCI6IihubyBvdXRwdXQpIiwic3ViYWdlbnQuaGVscGVyX2ZhbGxiYWNrX3ByZWZpeCI6IkhlbHBlclx4QjciLCJzdWJhZ2VudC50aXRsZV9hcmlhIjoiQ2xpY2sgdG8gZXhwYW5kIC8gY29sbGFwc2Ugc3ViYWdlbnQgb3V0cHV0Iiwic3ViYWdlbnQudGFnX3RpdGxlIjoiU3ViYWdlbnQiLCJ1aS5leHBhbmQiOiJFeHBhbmQiLCJ1aS5jb2xsYXBzZSI6IkNvbGxhcHNlIiwidWkuZXhwYW5kX3BhbmVsX2FyaWEiOiJFeHBhbmQgc3ViYWdlbnQgb3V0cHV0IiwidWkuY29sbGFwc2VfcGFuZWxfYXJpYSI6IkNvbGxhcHNlIHN1YmFnZW50IG91dHB1dCIsImhpc3RvcnkuZXhwYW5kIjoiU2hvdyBlYXJsaWVyIGNvbnZlcnNhdGlvbiIsImhpc3RvcnkuY29sbGFwc2UiOiJIaWRlIGVhcmxpZXIgY29udmVyc2F0aW9uIiwiaGlzdG9yeS5yb3VuZHMiOiJ7bn0gcm91bmRzIiwiaGlzdG9yeS50b29scyI6IntufSB0b29sIGNhbGxzIiwiaGlzdG9yeS5hZ2VudHMiOiJ7bn0gc3ViYWdlbnRzIiwiaGlzdG9yeS5lcnJvcnMiOiJ7bn0gZmFpbGVkIiwic3RvcC5jb25maXJtLnRpdGxlIjoiU3RvcCB0YXNrIiwic3RvcC5jb25maXJtLm1lc3NhZ2UiOiJTdG9wIHRoZSB0YXNrIHRoYXQncyBjdXJyZW50bHkgcnVubmluZz8iLCJzdG9wLmNvbmZpcm0ub2siOiJTdG9wIiwic3RvcC5jb25maXJtLmNhbmNlbCI6IkNhbmNlbCJ9fTtmdW5jdGlvbiBpbygpe3ZhciBlPXIuY29uZmlnJiZ0eXBlb2Ygci5jb25maWcubGFuZ3VhZ2U9PSJzdHJpbmciP3IuY29uZmlnLmxhbmd1YWdlLnRyaW0oKToiIjtpZighZSlyZXR1cm4geWE7aWYoZmlbZV0pcmV0dXJuIGU7dmFyIHQ9ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09ImVuZ2xpc2gifHx0PT09ImVuInx8dC5pbmRleE9mKCJlbmdsaXNoIik9PT0wfHx0LmluZGV4T2YoIlx1ODJGMSIpPT09MD8iRW5nbGlzaCI6dD09PSJcdTRFMkRcdTY1ODcifHx0PT09InpoInx8dC5pbmRleE9mKCJ6aCIpPT09MHx8dC5pbmRleE9mKCJcdTRFMkQiKT09PTB8fHQuaW5kZXhPZigiY2hpbmVzZSIpPT09MD8iXHU0RTJEXHU2NTg3IjoiRW5nbGlzaCJ9ZnVuY3Rpb24gQmUoZSx0KXt2YXIgbj1pbygpLGk9Zmlbbl18fGZpW3lhXSxhPWkmJmUgaW4gaT9pW2VdOm51bGw7aWYoYT09bnVsbCl7dmFyIHU9ZmlbeWFdO2E9dSYmZSBpbiB1P3VbZV06ZX1pZih0JiZ0eXBlb2YgYT09InN0cmluZyIpZm9yKHZhciBvIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbykmJihhPWEuc3BsaXQoInsiK28rIn0iKS5qb2luKHRbb10pKTtyZXR1cm4gYX12YXIgUmQ9e3NoaWVsZDonPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPicsc2hpZWxkQ2hlY2s6JzxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48cG9seWxpbmUgcG9pbnRzPSI5IDEyIDExIDE0IDE1IDEwIi8+Jyxsb2NrOic8cmVjdCB4PSI1IiB5PSIxMCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik04IDEwVjdhNCA0IDAgMCAxIDggMHYzIi8+PHBhdGggZD0iTTEyIDE0djMiLz4nLGNlcnRpZmljYXRlOic8cGF0aCBkPSJNNiAzaDEydjE0SDZ6Ii8+PHBhdGggZD0iTTkgN2g2Ii8+PHBhdGggZD0iTTkgMTFoNCIvPjxwYXRoIGQ9Im0xMCAxNy0xIDQgMy0xIDMgMS0xLTQiLz4nLGNwdTonPHJlY3QgeD0iNyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMiIvPjxwYXRoIGQ9Ik05IDF2MyIvPjxwYXRoIGQ9Ik0xNSAxdjMiLz48cGF0aCBkPSJNOSAyMHYzIi8+PHBhdGggZD0iTTE1IDIwdjMiLz48cGF0aCBkPSJNMjAgOWgzIi8+PHBhdGggZD0iTTIwIDE1aDMiLz48cGF0aCBkPSJNMSA5aDMiLz48cGF0aCBkPSJNMSAxNWgzIi8+PHJlY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiByeD0iMSIvPicsYnJhaW46JzxwYXRoIGQ9Ik05LjUgNC41YTMgMyAwIDAgMC00LjcgMy4xIDMuMyAzLjMgMCAwIDAgLjMgNi4xQTMgMyAwIDAgMCA4IDE5aDEuNVY0LjV6Ii8+PHBhdGggZD0iTTE0LjUgNC41YTMgMyAwIDAgMSA0LjcgMy4xIDMuMyAzLjMgMCAwIDEtLjMgNi4xQTMgMyAwIDAgMSAxNiAxOWgtMS41VjQuNXoiLz48cGF0aCBkPSJNOS41IDhINy44Ii8+PHBhdGggZD0iTTE0LjUgOGgxLjciLz48cGF0aCBkPSJNOS41IDEzSDcuNiIvPjxwYXRoIGQ9Ik0xNC41IDEzaDEuOSIvPicsa2V5Ym9hcmQ6JzxyZWN0IHg9IjIiIHk9IjYiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMiIgcng9IjIiLz48bGluZSB4MT0iNiIgeTE9IjEwIiB4Mj0iNiIgeTI9IjEwIi8+PGxpbmUgeDE9IjEwIiB5MT0iMTAiIHgyPSIxMCIgeTI9IjEwIi8+PGxpbmUgeDE9IjE0IiB5MT0iMTAiIHgyPSIxNCIgeTI9IjEwIi8+PGxpbmUgeDE9IjE4IiB5MT0iMTAiIHgyPSIxOCIgeTI9IjEwIi8+PGxpbmUgeDE9IjYiIHkxPSIxNCIgeDI9IjYiIHkyPSIxNCIvPjxsaW5lIHgxPSIxOCIgeTE9IjE0IiB4Mj0iMTgiIHkyPSIxNCIvPjxsaW5lIHgxPSI5IiB5MT0iMTQiIHgyPSIxNSIgeTI9IjE0Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCA3IDkgMTIgNCAxNyIvPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMjAiIHkyPSIxNyIvPicsY2hhdDonPHBhdGggZD0iTTIxIDEyYTggOCAwIDAgMS0xMi45IDYuM0wzIDIwbDEuNy01LjFBOCA4IDAgMSAxIDIxIDEyeiIvPicsZm9sZGVyOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+Jyx0cmFzaDonPHBvbHlsaW5lIHBvaW50cz0iMyA2IDUgNiAyMSA2Ii8+PHBhdGggZD0iTTE5IDZsLTEgMTNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJMNSA2Ii8+PHBhdGggZD0iTTEwIDExdjYiLz48cGF0aCBkPSJNMTQgMTF2NiIvPjxwYXRoIGQ9Ik05IDZWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyIi8+JyxjaGV2cm9uRG93bjonPHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz4nLGJlbGw6JzxwYXRoIGQ9Ik0xOCAxNnYtNWE2IDYgMCAxIDAtMTIgMHY1bC0yIDJoMTZ6Ii8+PHBhdGggZD0iTTEwIDIxYTIgMiAwIDAgMCA0IDAiLz4nLG11c2ljOic8cGF0aCBkPSJNOSAxOFY1bDEyLTJ2MTMiLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE2IiByPSIzIi8+Jyx2aWJyYXRlOic8cmVjdCB4PSI5IiB5PSI0IiB3aWR0aD0iNiIgaGVpZ2h0PSIxNiIgcng9IjEiLz48cGF0aCBkPSJNNSA4djgiLz48cGF0aCBkPSJNMyAxMHY0Ii8+PHBhdGggZD0iTTE5IDh2OCIvPjxwYXRoIGQ9Ik0yMSAxMHY0Ii8+JyxnbG9iZTonPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxsaW5lIHgxPSIzIiB5MT0iMTIiIHgyPSIyMSIgeTI9IjEyIi8+PHBhdGggZD0iTTEyIDNhMTQgMTQgMCAwIDEgMCAxOCIvPjxwYXRoIGQ9Ik0xMiAzYTE0IDE0IDAgMCAwIDAgMTgiLz4nLHNtYXJ0cGhvbmU6JzxyZWN0IHg9IjYiIHk9IjIiIHdpZHRoPSIxMiIgaGVpZ2h0PSIyMCIgcng9IjIuNSIvPjxsaW5lIHgxPSIxMSIgeTE9IjE4IiB4Mj0iMTMiIHkyPSIxOCIvPicsZGVza3RvcDonPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxsaW5lIHgxPSI4IiB5MT0iMjAiIHgyPSIxNiIgeTI9IjIwIi8+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjIwIi8+JyxsaW5rOic8cGF0aCBkPSJNMTAgMTRhNC41IDQuNSAwIDAgMCA2LjM2IDBsMy0zYTQuNSA0LjUgMCAxIDAtNi4zNi02LjM2bC0xLjQyIDEuNDEiLz48cGF0aCBkPSJNMTQgMTBhNC41IDQuNSAwIDAgMC02LjM2IDBsLTMgM2E0LjUgNC41IDAgMSAwIDYuMzYgNi4zNmwxLjQyLTEuNDEiLz4nLHBhbGV0dGU6JzxjaXJjbGUgY3g9IjEzLjUiIGN5PSI2LjUiIHI9IjEiLz48Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iMSIvPjxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iMSIvPjxjaXJjbGUgY3g9IjYuNSIgY3k9IjEyLjUiIHI9IjEiLz48cGF0aCBkPSJNMTIgM2E5IDkgMCAxIDAgMCAxOCAxLjUgMS41IDAgMCAwIDEuMS0yLjUgMS41IDEuNSAwIDAgMSAxLjEtMi41aDIuM0E0LjUgNC41IDAgMCAwIDIxIDExLjVDMjEgNi44IDE2Ljk3IDMgMTIgM3oiLz4nLHBsYXk6Jzxwb2x5Z29uIHBvaW50cz0iNiA0IDIwIDEyIDYgMjAgNiA0Ii8+Jyx3cmVuY2g6JzxwYXRoIGQ9Ik0xNC43IDYuM2E0IDQgMCAxIDEgNCA0bC05IDktMy41IDEgMS0zLjUgNy41LTcuNXoiLz4nLHBhdzonPGNpcmNsZSBjeD0iNy41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjYuOCIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxNi41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjEzLjMiIHI9IjEuOCIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNNy4yIDE2LjNjLjUtMi45IDIuMy00LjggNC44LTQuOHM0LjMgMS45IDQuOCA0LjhjLjMgMS44LS45IDMuMi0yLjYgMi42LS44LS4zLTEuNC0uNi0yLjItLjZzLTEuNC4zLTIuMi42Yy0xLjcuNi0yLjktLjgtMi42LTIuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyIDIuMTIgMCAwIDEgMyAzTDcgMTlsLTQgMSAxLTR6Ii8+JyxzaWduYWw6JzxwYXRoIGQ9Ik0yIDEyYTE1IDE1IDAgMCAxIDIwIDAiLz48cGF0aCBkPSJNNSAxNmExMCAxMCAwIDAgMSAxNCAwIi8+PHBhdGggZD0iTTkgMjBhNCA0IDAgMCAxIDYgMCIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMjAiIHI9IjAuNSIgZmlsbD0iY3VycmVudENvbG9yIi8+JyxmaWxlOic8cGF0aCBkPSJNMTQgM0g2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTQgMyAxNCA5IDIwIDkiLz4nLHNpZ21hOic8cG9seWxpbmUgcG9pbnRzPSIxOCA0IDYgNCAxMyAxMiA2IDIwIDE4IDIwIi8+Jyx4Oic8cGF0aCBkPSJNMTggNiA2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPicscGx1czonPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPicsbWljOic8cmVjdCB4PSI5IiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgcng9IjMiLz48cGF0aCBkPSJNNSAxMWE3IDcgMCAwIDAgMTQgMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE4IiB4Mj0iMTIiIHkyPSIyMSIvPjxsaW5lIHgxPSI5IiB5MT0iMjEiIHgyPSIxNSIgeTI9IjIxIi8+JyxwYXBlcmNsaXA6JzxwYXRoIGQ9Ik0yMS40NCAxMS4wNSAxMi4yNSAyMC4yNGE2IDYgMCAwIDEtOC40OS04LjQ5bDguODQtOC44NGE0IDQgMCAxIDEgNS42NiA1LjY2TDkuNDEgMTcuNDFhMiAyIDAgMSAxLTIuODMtMi44M2w4Ljg0LTguODMiLz4nfTtmdW5jdGlvbiBWKGUsdCl7dmFyIG49UmRbZV07aWYoIW4pcmV0dXJuIiI7dD10fHx7fTt2YXIgaT10LnNpemV8fDE0LGE9dC5zdHJva2VXaWR0aHx8MS44LHU9dC5jbHM/JyBjbGFzcz0iJyt0LmNscysnIic6IiIsbz10LmZpbGx8fCJub25lIjtyZXR1cm4iPHN2ZyIrdSsnIHdpZHRoPSInK2krJyIgaGVpZ2h0PSInK2krJyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSInK28rJyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iJythKyciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPicrbisiPC9zdmc+In1mdW5jdGlvbiBhbyhlKXtpZighZXx8IUFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxuPTA7bjxlLmNvbnRlbnQubGVuZ3RoO24rKyl7dmFyIGk9ZS5jb250ZW50W25dO2lmKGkpe2lmKHR5cGVvZiBpLnRleHQ9PSJzdHJpbmciJiYodCs9aS50ZXh0Lmxlbmd0aCksdHlwZW9mIGkudGhpbmtpbmc9PSJzdHJpbmciJiYodCs9aS50aGlua2luZy5sZW5ndGgpLHR5cGVvZiBpLmNvbnRlbnQ9PSJzdHJpbmciKXQrPWkuY29udGVudC5sZW5ndGg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGkuY29udGVudCkpZm9yKHZhciBhPTA7YTxpLmNvbnRlbnQubGVuZ3RoO2ErKyl7dmFyIHU9aS5jb250ZW50W2FdO3UmJnR5cGVvZiB1LnRleHQ9PSJzdHJpbmciJiYodCs9dS50ZXh0Lmxlbmd0aCl9aWYoaS5pbnB1dCl0cnl7dCs9SlNPTi5zdHJpbmdpZnkoaS5pbnB1dCkubGVuZ3RofWNhdGNoe319fXJldHVybiB0fWZ1bmN0aW9uIHVvKGUsdCl7cmV0dXJuIGU/dD9hbyh0KT49YW8oZSk/dDpPYmplY3QuYXNzaWduKHt9LGUse3VzYWdlOnQudXNhZ2V8fGUudXNhZ2V9KTplOnR9ZnVuY3Rpb24gV2QoZSx0KXtyZXR1cm4gZT8ucm9sZT09PSJhc3Npc3RhbnQiJiZ0Py5yb2xlPT09ImFzc2lzdGFudCI/dW8oZSx0KTp0fHxlfWZ1bmN0aW9uIHpkKGUsdCxuLGkpe3ZhciBhPW58fDAsdT10eXBlb2YgaT09Im51bWJlciI/aTpNYXRoLm1heChhK3QubGVuZ3RoLHQubGVuZ3RoKSxvPWUmJkFycmF5LmlzQXJyYXkoZS5tZXNzYWdlcyk/ZS5tZXNzYWdlczpbXSxzPWUmJnR5cGVvZiBlLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiP2UubWVzc2FnZU9mZnNldDowLGw9ZSYmdHlwZW9mIGUubWVzc2FnZVRvdGFsPT0ibnVtYmVyIj9lLm1lc3NhZ2VUb3RhbDpzK28ubGVuZ3RoO2lmKHQubGVuZ3RoPT09MCYmby5sZW5ndGg+MCYmdT09PTApcmV0dXJue21lc3NhZ2VzOm8sbWVzc2FnZU9mZnNldDpzLG1lc3NhZ2VUb3RhbDpsfTtpZihvLmxlbmd0aD4wJiZ1PGwpcmV0dXJue21lc3NhZ2VzOm8sbWVzc2FnZU9mZnNldDpzLG1lc3NhZ2VUb3RhbDpsfTtpZihvLmxlbmd0aD09PTApcmV0dXJue21lc3NhZ2VzOnQsbWVzc2FnZU9mZnNldDphLG1lc3NhZ2VUb3RhbDp1fTt2YXIgZD1zK28ubGVuZ3RoLGY9YSt0Lmxlbmd0aDtpZihhPmR8fHM+ZilyZXR1cm57bWVzc2FnZXM6dCxtZXNzYWdlT2Zmc2V0OmEsbWVzc2FnZVRvdGFsOnV9O2Zvcih2YXIgYz1NYXRoLm1pbihzLGEpLHY9TWF0aC5tYXgoZCxmKSxoPVtdLG09YzttPHY7bSsrKXt2YXIgZz1tPj1zJiZtPGQ/b1ttLXNdOnZvaWQgMCx5PW0+PWEmJm08Zj90W20tYV06dm9pZCAwO2gucHVzaChXZChnLHkpKX1yZXR1cm57bWVzc2FnZXM6aCxtZXNzYWdlT2Zmc2V0OmMsbWVzc2FnZVRvdGFsOk1hdGgubWF4KGwsdSxjK2gubGVuZ3RoKX19ZnVuY3Rpb24gbW4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKTtpZighZSlyZXR1cm4gci5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLG51bGw7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO3JldHVybiB0PyhyLmNoYXRTY3JvbGxFbGVtZW50PXQsdCk6KHIuY2hhdFNjcm9sbEVsZW1lbnQ9bnVsbCxudWxsKX1mdW5jdGlvbiBiYShlKXt2YXIgdD1lfHxtbigpO3JldHVybiB0P01hdGguYWJzKHQuc2Nyb2xsVG9wKTxyLmNoYXRTY3JvbGxUaHJlc2hvbGQ6ITB9ZnVuY3Rpb24gdmgoZSl7ci5jaGF0U3RpY2tUb0JvdHRvbT0hIWUsci5jaGF0U3RpY2tUb0JvdHRvbSYmcW4oe3JlbW92ZURpdmlkZXI6ITB9KSxHZSgpfWZ1bmN0aW9uIHFuKGUpe2U9ZXx8e307dmFyIHQ9ci5jaGF0VW5yZWFkQ291bnQ+MHx8ci5jaGF0VW5yZWFkU3RhcnRJbmRleD49MDtpZihyLmNoYXRVbnJlYWRDb3VudD0wLHIuY2hhdFVucmVhZFN0YXJ0SW5kZXg9LTEsZS5yZW1vdmVEaXZpZGVyIT09ITEpe3ZhciBuPW1uKCk7aWYobil7dmFyIGk9bi5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlciIpO2kmJmkucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpfX10JiZHZSgpfWZ1bmN0aW9uIEVhKGUpe2lmKGV8fChlPW1uKCkpLCEhZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlciIpO2lmKHIuY2hhdFVucmVhZFN0YXJ0SW5kZXg8MHx8ci5jaGF0VW5yZWFkQ291bnQ8PTApe3QmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO3JldHVybn1mb3IodmFyIG49ci5jaGF0VW5yZWFkU3RhcnRJbmRleCxpPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZSIpLGE9bnVsbCx1PTA7dTxpLmxlbmd0aDt1Kyspe3ZhciBvPWlbdV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO2lmKG8hPT1udWxsKXt2YXIgcz1wYXJzZUludChvLDEwKTtpZighaXNOYU4ocykmJnM8bil7YT1pW3VdO2JyZWFrfX19dmFyIGw9ci5jaGF0VW5yZWFkQ291bnQrIiBcdTY3NjFcdTY1QjBcdTZEODhcdTYwNkYiO3R8fCh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQuY2xhc3NOYW1lPSJjaGF0LXVucmVhZC1kaXZpZGVyIix0LnNldEF0dHJpYnV0ZSgicm9sZSIsInNlcGFyYXRvciIpLHQuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1saW5lIj48L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWRpdmlkZXItbGFiZWwiPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1saW5lIj48L3NwYW4+JyksdC5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbCIpLnRleHRDb250ZW50PWwsYT8odC5uZXh0U2libGluZyE9PWF8fHQucGFyZW50Tm9kZSE9PWUpJiZlLmluc2VydEJlZm9yZSh0LGEpOih0LnBhcmVudE5vZGUhPT1lfHx0Lm5leHRTaWJsaW5nIT09bnVsbCkmJmUuYXBwZW5kQ2hpbGQodCl9fWZ1bmN0aW9uIEdlKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtdW5yZWFkLWJ1YmJsZSIpO2lmKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PXIuc2VsZWN0ZWRJZH0pLG49IWJhKCksaT0hIXQmJnIuY3VycmVudFZpZXc9PT0iY2hhdCImJm47ZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIixpKSxlLmNsYXNzTGlzdC50b2dnbGUoImhhcy11bnJlYWQiLHIuY2hhdFVucmVhZENvdW50PjApO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudCIpO2EmJihyLmNoYXRVbnJlYWRDb3VudD4wPyhhLnRleHRDb250ZW50PXIuY2hhdFVucmVhZENvdW50Pjk5PyI5OSsiOlN0cmluZyhyLmNoYXRVbnJlYWRDb3VudCksYS5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpOihhLnRleHRDb250ZW50PSIiLGEuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpKSk7dmFyIHU9ci5jaGF0VW5yZWFkQ291bnQ+MD9yLmNoYXRVbnJlYWRDb3VudCsiIFx1Njc2MVx1NjVCMFx1NkQ4OFx1NjA2Rlx1RkYwQ1x1NzBCOVx1NTFGQlx1NjdFNVx1NzcwQiI6Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHUpLGUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtb3V0cHV0Iik7byYmby5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtanVtcC1idG4iLGkpfX1mdW5jdGlvbiBwaSgpe0ZhKCl9ZnVuY3Rpb24gRmEoZSl7dmFyIHQ9ZXx8bW4oKTtpZih0KXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXBpbi1zcGFjZXIiKTtuJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX19ZnVuY3Rpb24gb28oZSl7dmFyIHQ9bW4oKTtpZighKCF0fHwhdC5pc0Nvbm5lY3RlZCkpe3BpKCksRmEodCksci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITA7dmFyIG49ZnVuY3Rpb24oKXtyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMSxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksR2UoKX07aWYoZSYmdHlwZW9mIHQuc2Nyb2xsVG89PSJmdW5jdGlvbiIpe3Quc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOiJzbW9vdGgifSksc2V0VGltZW91dChuLDI2MCk7cmV0dXJufXQuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4pfX1mdW5jdGlvbiBzbygpe3ZhciBlPW1uKCk7cGkoKSxlJiZGYShlKSxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksZSYmZS5pc0Nvbm5lY3RlZCYmKHIuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwLHIuY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPURhdGUubm93KCkrMTgwLGUuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSksR2UoKX1mdW5jdGlvbiBFcigpe3ZhciBlPW1uKCk7aWYoIWV8fCFlLmlzQ29ubmVjdGVkKXJldHVybjtpZihyLmNoYXRTY3JvbGxFbGVtZW50PT09ZSYmci5jaGF0U2Nyb2xsSGFuZGxlcil7R2UoKTtyZXR1cm59ci5jaGF0U2Nyb2xsRWxlbWVudCYmKHIuY2hhdFNjcm9sbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLmNoYXRTY3JvbGxIYW5kbGVyKSxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIuY2hhdFNjcm9sbFdoZWVsSGFuZGxlciksci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIpLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyKSksci5jaGF0U2Nyb2xsRWxlbWVudD1lO2Z1bmN0aW9uIHQoKXtwaSgpLHIuY2hhdFN0aWNrVG9Cb3R0b209ITEsZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKSYmV2UoITApLEdlKCl9ci5jaGF0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKGUuaXNDb25uZWN0ZWQpe2lmKHIuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsfHxEYXRlLm5vdygpPHIuY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsKXtHZSgpO3JldHVybn12YXIgbj1iYShlKTtpZihuKXBpKCksci5jaGF0U3RpY2tUb0JvdHRvbT0hMCxxbih7cmVtb3ZlRGl2aWRlcjohMH0pO2Vsc2V7dCgpO3JldHVybn1HZSgpfX0sci5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyPWZ1bmN0aW9uKG4pe3IuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsfHxuLmRlbHRhWTwwJiZ0KCl9LHIuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKG4peyFuLnRvdWNoZXN8fG4udG91Y2hlcy5sZW5ndGg9PT0wfHwoci5jaGF0VG91Y2hTdGFydFk9bi50b3VjaGVzWzBdLmNsaWVudFkpfSxyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyPWZ1bmN0aW9uKG4pe2lmKCFyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbCYmISghbi50b3VjaGVzfHxuLnRvdWNoZXMubGVuZ3RoPT09MCkpe3ZhciBpPW4udG91Y2hlc1swXS5jbGllbnRZLXIuY2hhdFRvdWNoU3RhcnRZO2k+NCYmdCgpfX0sZS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHIuY2hhdFNjcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHIuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyLHtwYXNzaXZlOiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIse3Bhc3NpdmU6ITB9KSxHZSgpfWZ1bmN0aW9uIGxvKCl7aWYoci5jaGF0UmVuZGVyZWRDb3VudDxyLmN1cnJlbnRNZXNzYWdlcy5sZW5ndGgpe3IuY2hhdFJlbmRlcmVkQ291bnQrPXIuY2hhdFBhZ2VTaXplLFdlKCEwKTtyZXR1cm59dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7ZSYmdHlwZW9mIGUubWVzc2FnZU9mZnNldD09Im51bWJlciImJmUubWVzc2FnZU9mZnNldD4wJiZ1ZygpfXZhciBGcj1udWxsO2Z1bmN0aW9uIFZkKCl7RnImJihGci5kaXNjb25uZWN0KCksRnI9bnVsbCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtbG9hZC1tb3JlLXNlbnRpbmVsIik7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1sb2FkLW1vcmUtYnRuIik7dCYmKHQub25jbGljaz1mdW5jdGlvbigpe2xvKCl9KTt2YXIgbj0hISh3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwb2ludGVyOiBjb2Fyc2UpIikubWF0Y2hlcyksaT13aW5kb3cuaW5uZXJXaWR0aDw9NzY4O258fGl8fHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHdpbmRvdy5fX3dhbmRJb3NOYXRpdmV8fHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlcj4idSJ8fChGcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oYSl7Zm9yKHZhciB1PTA7dTxhLmxlbmd0aDt1KyspaWYoYVt1XS5pc0ludGVyc2VjdGluZyl7bG8oKTticmVha319LHtyb290Om1uKCkscm9vdE1hcmdpbjoiMjAwcHgifSksRnIub2JzZXJ2ZShlKSl9fWZ1bmN0aW9uIEVlKCl7dHJ5e3Iuc2VsZWN0ZWRJZD9sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1zZWxlY3RlZC1zZXNzaW9uIixyLnNlbGVjdGVkSWQpOmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iKX1jYXRjaHt9fWZ1bmN0aW9uIENhKGUpe3JldHVybiBlJiZBcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXM6ci5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZX1mdW5jdGlvbiBVZCgpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PXIuc2VsZWN0ZWRJZH0pO3JldHVybiBDYShlKX1mdW5jdGlvbiB2aShlKXt2YXIgdD1DYShlKTtyLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPUFycmF5LmlzQXJyYXkodCk/dC5zbGljZSgpOltdfWZ1bmN0aW9uIGNvKGUsdCl7cmV0dXJuISEoZSYmQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpJiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihuKXtyZXR1cm4gbiYmdHlwZW9mIG49PSJvYmplY3QiJiZuW3RdfSkpfWZ1bmN0aW9uIEtkKGUpe3JldHVybiEhKGUmJmUucm9sZT09PSJ1c2VyIiYmY28oZSwiX19xdWV1ZWQiKSl9ZnVuY3Rpb24gSmQoZSl7cmV0dXJuISEoZSYmZS5yb2xlPT09ImFzc2lzdGFudCImJmNvKGUsIl9fcHJvY2Vzc2luZyIpKX1mdW5jdGlvbiBDcihlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm5bXTtmb3IodmFyIHQ9ITEsbj1bXSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBhPWVbaV07aWYoS2QoYSl8fEpkKGEpKXt0PSEwO2NvbnRpbnVlfW4ucHVzaChhKX1yZXR1cm4gdD9uOmV9ZnVuY3Rpb24gR2QoZSx0KXtpZighZXx8IUFycmF5LmlzQXJyYXkoZS5tZXNzYWdlcykpcmV0dXJuIGU7dmFyIG49ZS5zZXNzaW9uS2luZHx8dCYmdC5zZXNzaW9uS2luZDtpZihuIT09InN0cnVjdHVyZWQiKXJldHVybiBlO3ZhciBpPUNyKGUubWVzc2FnZXMpO3JldHVybiBpPT09ZS5tZXNzYWdlcz9lOk9iamVjdC5hc3NpZ24oe30sZSx7bWVzc2FnZXM6aX0pfWZ1bmN0aW9uIGZvKCl7dHJ5e3ZhciBlPVVkKCk7aWYoIXIuc2VsZWN0ZWRJZHx8ZS5sZW5ndGg9PT0wKXJldHVybjtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIixKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkOnIuc2VsZWN0ZWRJZCxpdGVtczplfSkpfWNhdGNoe319ZnVuY3Rpb24gcG8oZSl7dHJ5e3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKTtpZighdClyZXR1cm47dmFyIG49SlNPTi5wYXJzZSh0KTsoIWV8fCFufHxuLnNlc3Npb25JZD09PWUpJiZsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIil9Y2F0Y2h7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpfX1mdW5jdGlvbiB2bygpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKGUmJkFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcykpe3ZpKGUpLGZvKCk7cmV0dXJufXRyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIik7aWYoIXQpcmV0dXJuO3ZhciBuPUpTT04ucGFyc2UodCk7aWYoIW58fG4uc2Vzc2lvbklkIT09ci5zZWxlY3RlZElkfHwhQXJyYXkuaXNBcnJheShuLml0ZW1zKSlyZXR1cm47ci5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZT1uLml0ZW1zLnNsaWNlKDAsMTApfWNhdGNoe3Iuc3RydWN0dXJlZElucHV0UXVldWU9W119fWZ1bmN0aW9uIFF0KCl7dHJ5e2lmKHIuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPT09MCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpO3JldHVybn1sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1jcm9zcy1zZXNzaW9uLXF1ZXVlIixKU09OLnN0cmluZ2lmeShyLmNyb3NzU2Vzc2lvblF1ZXVlKSl9Y2F0Y2h7fX1mdW5jdGlvbiBnbigpe3JldHVybiByLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdEN3ZHx8Ii90bXAifWZ1bmN0aW9uIG1vKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKGhhKTtpZighZSlyZXR1cm57fTt2YXIgdD1KU09OLnBhcnNlKGUpO3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCI/dDp7fX1jYXRjaHtyZXR1cm57fX19ZnVuY3Rpb24gWWQoZSl7dHJ5e2lmKCFlfHxPYmplY3Qua2V5cyhlKS5sZW5ndGg9PT0wKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoYSk7cmV0dXJufWxvY2FsU3RvcmFnZS5zZXRJdGVtKGhhLEpTT04uc3RyaW5naWZ5KGUpKX1jYXRjaHt9fWZ1bmN0aW9uIFFkKCl7dmFyIGU9ci5zZWxlY3RlZElkO2lmKCFlKXJldHVybnt9O3ZhciB0PW1vKCksbj10W2VdO3JldHVybiBuJiZ0eXBlb2Ygbj09Im9iamVjdCI/bjp7fX1mdW5jdGlvbiBDdChlKXtpZighZXx8IXIuc2VsZWN0ZWRJZClyZXR1cm4gbnVsbDt2YXIgdD1RZCgpO3JldHVybiB0eXBlb2YgdFtlXT09ImJvb2xlYW4iP3RbZV06bnVsbH1mdW5jdGlvbiBnbyhlLHQpe2lmKCEoIWV8fCFyLnNlbGVjdGVkSWQpKXt2YXIgbj1tbygpLGk9ci5zZWxlY3RlZElkLGE9bltpXTsoIWF8fHR5cGVvZiBhIT0ib2JqZWN0IikmJihhPXt9KSxhW2VdPSEhdCxuW2ldPWEsWWQobil9fWZ1bmN0aW9uIGhvKGUsdCl7cmV0dXJuIGU/ZS51dWlkPyJtc2c6IitlLnV1aWQ6ZS5pZD8ibXNnOiIrZS5pZDplLm1lc3NhZ2VJZD8ibXNnOiIrZS5tZXNzYWdlSWQ6ZS50dXJuSWQ/Im1zZzoiK2UudHVybklkOiJtc2c6IisodHlwZW9mIHQ9PSJudW1iZXIiP3Q6MCk6Im1zZzp1bmtub3duLSIrKHR5cGVvZiB0PT0ibnVtYmVyIj90OjApfWZ1bmN0aW9uIEx0KGUsdCl7Zm9yKHZhciBuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXTthPT1udWxsfHxhPT09IiJ8fG4ucHVzaChTdHJpbmcoYSkpfXJldHVybiBlKyI6IituLmpvaW4oIjoiKX1mdW5jdGlvbiB3YShlKXtyZXR1cm4hZXx8IWUuZGF0YXNldD8iIjplLmRhdGFzZXQuZXhwYW5kS2V5fHwiIn1mdW5jdGlvbiAkZChlLHQpe2lmKCFlKXJldHVybiExO3N3aXRjaCh0KXtjYXNlInRvb2wtY2FyZCI6Y2FzZSJkaWZmIjpyZXR1cm4hZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2Nhc2UidGhpbmtpbmciOnJldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiZXhwYW5kZWQiKSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZWQiKTtjYXNlImlubGluZS10b29sIjpyZXR1cm4gZS5jbGFzc0xpc3QuY29udGFpbnMoImlubGluZS10b29sLW9wZW4iKTtjYXNlInRlcm1pbmFsIjp7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7cmV0dXJuIG4/bi5zdHlsZS5kaXNwbGF5IT09Im5vbmUiOmUuZGF0YXNldC5leHBhbmRlZD09PSJ0cnVlIn1jYXNlInRvb2wtZ3JvdXAiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Nhc2Uic3ViYWdlbnQtcmVwbHkiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Nhc2Uic3ViYWdlbnQtcGFuZWwiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHlvKGUsdCxuKXtpZihlKXN3aXRjaCh0KXtjYXNlInRvb2wtY2FyZCI6Y2FzZSJkaWZmIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiLCFuKTticmVha31jYXNlInRoaW5raW5nIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiLCFuKSxlLmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIiwhIW4pO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1wcmV2aWV3Iik7aWYoaSl7dmFyIGE9ZS5kYXRhc2V0LnRoaW5raW5nfHwiIix1PWEuc2xpY2UoMCw1NykrKGEubGVuZ3RoPjYwPyJcdTIwMjYiOiIiKTtpLnRleHRDb250ZW50PW4/YTp1fXZhciBvPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1hY3Rpb24iKTtvJiYoby50ZXh0Q29udGVudD1uPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKTticmVha31jYXNlImlubGluZS10b29sIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpbmxpbmUtdG9vbC1vcGVuIiwhIW4pO3ZhciBzPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLWV4cGFuZGVkIik7cyYmKHMuc3R5bGUuZGlzcGxheT1uPyJibG9jayI6Im5vbmUiKTticmVha31jYXNlInRlcm1pbmFsIjp7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7bCYmKGwuc3R5bGUuZGlzcGxheT1uPyJibG9jayI6Im5vbmUiKSxlLmRhdGFzZXQuZXhwYW5kZWQ9bj8idHJ1ZSI6ImZhbHNlIjt2YXIgZD1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLXRvZ2dsZS1pY29uIik7ZCYmKGQudGV4dENvbnRlbnQ9bj8iXHUyNUJDIjoiXHUyNUI2Iik7YnJlYWt9Y2FzZSJ0b29sLWdyb3VwIjp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLG4/InRydWUiOiJmYWxzZSIpO3ZhciBmPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtYm9keSIpO2YmJihmLnN0eWxlLmRpc3BsYXk9bj8iYmxvY2siOiJub25lIik7dmFyIGM9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1jaGV2cm9uIik7YyYmKGMuc3R5bGUudHJhbnNmb3JtPW4/InJvdGF0ZSgxODBkZWcpIjoiIik7YnJlYWt9Y2FzZSJzdWJhZ2VudC1yZXBseSI6e2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKTt2YXIgdj1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1yZXBseS10b2dnbGUtbGFiZWwiKTt2JiYodi50ZXh0Q29udGVudD1uPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKTt2YXIgaD1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1yZXBseS10b2dnbGUiKTtoJiYoaC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLG4/InRydWUiOiJmYWxzZSIpLGguc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixuPyJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdTU2REVcdTU5MEQiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdTU2REVcdTU5MERcdTUxNjhcdTY1ODciKSk7YnJlYWt9Y2FzZSJzdWJhZ2VudC1wYW5lbCI6e2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKTtmb3IodmFyIG09ZS5xdWVyeVNlbGVjdG9yQWxsKCIuc3ViYWdlbnQtcGFuZWwtdG9nZ2xlIiksZz0wO2c8bS5sZW5ndGg7ZysrKXt2YXIgeT1tW2ddO3kuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKSx5LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsbj8iXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIjoiXHU1QzU1XHU1RjAwXHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIik7dmFyIEI9eS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtdG9nZ2xlLWxhYmVsIik7QiYmKEIudGV4dENvbnRlbnQ9bj8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIil9dmFyIEU9ZS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtYm9keSIpO0UmJihuP0Uuc2Nyb2xsVG9wPTA6RS5zY3JvbGxUb3A9RS5zY3JvbGxIZWlnaHQpO2JyZWFrfX19ZnVuY3Rpb24gJG4oZSx0KXt2YXIgbj13YShlKTtuJiZnbyhuLCRkKGUsdCkpfWZ1bmN0aW9uIEJhKGUpeyFlfHwhci5zZWxlY3RlZElkfHxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWV4cGFuZC1rZXldIikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj13YSh0KSxpPXQuZGF0YXNldC5leHBhbmRLaW5kfHwiIixhPUN0KG4pO2E9PT1udWxsfHwhaXx8eW8odCxpLGEpfSl9ZnVuY3Rpb24gTmUoKXtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg8PTc2OH1mdW5jdGlvbiBibygpe3JldHVybiEhci5zZXNzaW9uc0RyYXdlck9wZW4mJihOZSgpfHwhci5zaWRlYmFyUGlubmVkKX1mdW5jdGlvbiBEYShlKXtyLmZpbGVQYW5lbE9wZW49ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtZmlsZS1wYW5lbC1vcGVuIixTdHJpbmcoci5maWxlUGFuZWxPcGVuKSl9Y2F0Y2h7fXIuZmlsZVBhbmVsT3BlbiYmTmUoKSYmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpKSxobigpLHIuZmlsZVBhbmVsT3BlbiYmTXQoKX1mdW5jdGlvbiBtaSgpe0RhKCFyLmZpbGVQYW5lbE9wZW4pfWZ1bmN0aW9uIFhkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbCIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm1haW4tY29udGVudCIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtYmFja2Ryb3AiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHIuZmlsZVBhbmVsT3BlbiksdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJmaWxlLXBhbmVsLW9wZW4iLHIuZmlsZVBhbmVsT3BlbiksaSYmaS5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIixyLmZpbGVQYW5lbE9wZW4pLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixyLmZpbGVQYW5lbE9wZW4pfWZ1bmN0aW9uIGhuKCl7dGkoKSxYZCgpfWZ1bmN0aW9uIFpkKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLWN3ZCIpO2lmKHQpe3ZhciBuPWUmJmUuY3dkP2UuY3dkOmduKCk7dC50YWdOYW1lPT09IklOUFVUIj9kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dCYmKHQudmFsdWU9bixsaCh0KSk6dC50ZXh0Q29udGVudD1uLHQudGl0bGU9bjt2YXIgaT10LmNsb3Nlc3QoIi5maWxlLWV4cGxvcmVyLWhlYWRlciIpO2kmJmhyKGkpfX1mdW5jdGlvbiBFbygpe3IuZmlsZVBhbmVsT3BlbiYmRGEoITEpfWZ1bmN0aW9uIEZvKGUpe3ZhciB0PXIudGVybWluYWxTY2FsZStlO2lmKHQ9TWF0aC5tYXgoLjUsTWF0aC5taW4oMix0KSksdD1NYXRoLnJvdW5kKHQqNCkvNCx0IT09ci50ZXJtaW5hbFNjYWxlKXtyLnRlcm1pbmFsU2NhbGU9dDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiLFN0cmluZyh0KSl9Y2F0Y2h7fUNvKCksZWMoKX19ZnVuY3Rpb24gQ28oKXtpZighKCFyLnRlcm1pbmFsfHwhci50ZXJtaW5hbC5lbGVtZW50KSl7dmFyIGU9ci50ZXJtaW5hbEJhc2VGb250U2l6ZSpyLnRlcm1pbmFsU2NhbGUsdD1NYXRoLm1heCgxLE1hdGgucm91bmQoZSkpLG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKGUqMS41KSk7ci50ZXJtaW5hbC5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXRlcm0tZm9udC1zaXplIix0KyJweCIpLHIudGVybWluYWwuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS10ZXJtLXJvdy1oZWlnaHQiLG4rInB4IiksdHlwZW9mIHIudGVybWluYWwucmVtZWFzdXJlPT0iZnVuY3Rpb24iJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLnJlbWVhc3VyZSgpfSl9fWZ1bmN0aW9uIGVjKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLXNjYWxlLWxhYmVsLXRvcCIpO2UmJihlLnRleHRDb250ZW50PU1hdGgucm91bmQoci50ZXJtaW5hbFNjYWxlKjEwMCkrIiUiKX12YXIgdGM9eyJjaGV2cm9uLWxlZnQiOic8cGF0aCBkPSJNMTUgMThsLTYtNiA2LTYiLz4nLCJhcnJvdy11cCI6JzxwYXRoIGQ9Ik0xMiAxOVY1Ii8+PHBhdGggZD0iTTUgMTJsNy03IDcgNyIvPicscmVmcmVzaDonPHBhdGggZD0iTTIxIDEyYTkgOSAwIDEgMS0zLTYuNyIvPjxwYXRoIGQ9Ik0yMSA0djVoLTUiLz4nLGV5ZTonPHBhdGggZD0iTTEgMTJzNC03IDExLTcgMTEgNyAxMSA3LTQgNy0xMSA3UzEgMTIgMSAxMnoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+JywiZXllLW9mZiI6JzxwYXRoIGQ9Ik0xNy45NCAxNy45NEExMC45NCAxMC45NCAwIDAgMSAxMiAxOWMtNyAwLTExLTctMTEtN2ExOS44NiAxOS44NiAwIDAgMSA0LjIyLTUuMTgiLz48cGF0aCBkPSJNMSAxbDIyIDIyIi8+PHBhdGggZD0iTTkuOSA0LjI0QTEwLjk0IDEwLjk0IDAgMCAxIDEyIDRjNyAwIDExIDcgMTEgN2ExOS44MyAxOS44MyAwIDAgMS0zLjM2IDQuMjciLz48cGF0aCBkPSJNMTQuMTIgMTQuMTJhMyAzIDAgMSAxLTQuMjQtNC4yNCIvPicseDonPHBhdGggZD0iTTE4IDZMNiAxOCIvPjxwYXRoIGQ9Ik02IDZsMTIgMTIiLz4nLHNlYXJjaDonPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0yMSAyMWwtNC4zLTQuMyIvPicsY29weTonPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDE1VjVhMiAyIDAgMCAxIDItMmgxMCIvPicsY2xpcGJvYXJkOic8cmVjdCB4PSI4IiB5PSIzIiB3aWR0aD0iOCIgaGVpZ2h0PSI0IiByeD0iMSIvPjxwYXRoIGQ9Ik0xNiA1aDJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiIvPicsZG93bmxvYWQ6JzxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBhdGggZD0iTTcgMTBsNSA1IDUtNSIvPjxwYXRoIGQ9Ik0xMiAxNVYzIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNHoiLz4nLHNhdmU6JzxwYXRoIGQ9Ik0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyeiIvPjxwYXRoIGQ9Ik0xNyAyMXYtOEg3djgiLz48cGF0aCBkPSJNNyAzdjVoOCIvPicsInJvdGF0ZS1jY3ciOic8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgMy02LjciLz48cGF0aCBkPSJNMyA0djVoNSIvPicsIndyYXAtdGV4dCI6JzxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMyAxMmgxNWEzIDMgMCAxIDEgMCA2aC00Ii8+PHBhdGggZD0iTTE2IDE2bC0yIDIgMiAyIi8+PHBhdGggZD0iTTMgMThoNiIvPicsdHlwZTonPHBhdGggZD0iTTQgN1Y0aDE2djMiLz48cGF0aCBkPSJNOSAyMGg2Ii8+PHBhdGggZD0iTTEyIDR2MTYiLz4nLG1pbnVzOic8cGF0aCBkPSJNNSAxMmgxNCIvPicscGx1czonPHBhdGggZD0iTTEyIDV2MTQiLz48cGF0aCBkPSJNNSAxMmgxNCIvPicsInNlbmQtdG8taW5wdXQiOic8cGF0aCBkPSJNMjIgMkwxMSAxMyIvPjxwYXRoIGQ9Ik0yMiAybC03IDIwLTQtOS05LTR6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiLz48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiLz4nLCJmb2xkZXItb3BlbiI6JzxwYXRoIGQ9Ik02IDE0bDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIi8+JyxpbmZvOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIxMiIvPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMi4wMSIgeTI9IjgiLz4nfTtmdW5jdGlvbiBJZShlLHQpe3Q9dHx8e307dmFyIG49dGNbZV18fCIiLGk9dC5zaXplfHwxNixhPXQuY2xhc3NOYW1lPyIgIit0LmNsYXNzTmFtZToiIjtyZXR1cm4nPHN2ZyBjbGFzcz0id2FuZC1pY29uIHdhbmQtaWNvbi0nK2UrYSsnIiB3aWR0aD0iJytpKyciIGhlaWdodD0iJytpKyciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytuKyI8L3N2Zz4ifWZ1bmN0aW9uIG5jKGUpe3ZhciB0PWV8fGduKCk7cmV0dXJuIHQ/JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj48ZGl2IGNsYXNzPSJ0cmVlLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2Pic6JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NjcyQVx1OTE0RFx1N0Y2RVx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvZGl2Pid9dmFyIHJjPXtwbmc6Ilx1ezFGNUJDfVx1RkUwRiIsanBnOiJcdXsxRjVCQ31cdUZFMEYiLGpwZWc6Ilx1ezFGNUJDfVx1RkUwRiIsZ2lmOiJcdXsxRjVCQ31cdUZFMEYiLHdlYnA6Ilx1ezFGNUJDfVx1RkUwRiIsc3ZnOiJcdXsxRjVCQ31cdUZFMEYiLGF2aWY6Ilx1ezFGNUJDfVx1RkUwRiIsYm1wOiJcdXsxRjVCQ31cdUZFMEYiLGljbzoiXHV7MUY1QkN9XHVGRTBGIixoZWljOiJcdXsxRjVCQ31cdUZFMEYiLGhlaWY6Ilx1ezFGNUJDfVx1RkUwRiIscGRmOiJcdXsxRjRENX0iLGRvYzoiXHV7MUY0RDh9Iixkb2N4OiJcdXsxRjREOH0iLG9kdDoiXHV7MUY0RDh9Iix4bHM6Ilx1ezFGNENBfSIseGxzeDoiXHV7MUY0Q0F9Iixjc3Y6Ilx1ezFGNENBfSIsdHN2OiJcdXsxRjRDQX0iLHBwdDoiXHV7MUY0RDl9IixwcHR4OiJcdXsxRjREOX0iLG1wNDoiXHV7MUYzQUN9Iix3ZWJtOiJcdXsxRjNBQ30iLG1vdjoiXHV7MUYzQUN9Iixta3Y6Ilx1ezFGM0FDfSIsbTR2OiJcdXsxRjNBQ30iLG9ndjoiXHV7MUYzQUN9IixtcDM6Ilx1ezFGM0I1fSIsd2F2OiJcdXsxRjNCNX0iLG9nZzoiXHV7MUYzQjV9IixtNGE6Ilx1ezFGM0I1fSIsZmxhYzoiXHV7MUYzQjV9IixhYWM6Ilx1ezFGM0I1fSIsb3B1czoiXHV7MUYzQjV9Iix6aXA6Ilx1ezFGNEU2fSIsdGFyOiJcdXsxRjRFNn0iLGd6OiJcdXsxRjRFNn0iLHRnejoiXHV7MUY0RTZ9IixiejI6Ilx1ezFGNEU2fSIsIjd6IjoiXHV7MUY0RTZ9IixyYXI6Ilx1ezFGNEU2fSIseHo6Ilx1ezFGNEU2fSIsbWQ6Ilx1ezFGNEREfSIsbWFya2Rvd246Ilx1ezFGNEREfSIsbWR4OiJcdXsxRjRERH0iLHJzdDoiXHV7MUY0RER9Iix0eHQ6Ilx1ezFGNEREfSIsbG9nOiJcdXsxRjRERH0iLGh0bWw6Ilx1ezFGMzEwfSIsaHRtOiJcdXsxRjMxMH0iLHhtbDoiXHV7MUYzMTB9Iixjc3M6Ilx1ezFGM0E4fSIsc2NzczoiXHV7MUYzQTh9IixsZXNzOiJcdXsxRjNBOH0iLGpzb246Ilx1MjY5OVx1RkUwRiIsanNvbmM6Ilx1MjY5OVx1RkUwRiIseWFtbDoiXHUyNjk5XHVGRTBGIix5bWw6Ilx1MjY5OVx1RkUwRiIsdG9tbDoiXHUyNjk5XHVGRTBGIixpbmk6Ilx1MjY5OVx1RkUwRiIsY2ZnOiJcdTI2OTlcdUZFMEYiLGNvbmY6Ilx1MjY5OVx1RkUwRiIsZW52OiJcdTI2OTlcdUZFMEYiLGVkaXRvcmNvbmZpZzoiXHUyNjk5XHVGRTBGIix0czoiXHV7MUY0REN9Iix0c3g6Ilx1ezFGNERDfSIsanM6Ilx1ezFGNERDfSIsanN4OiJcdXsxRjREQ30iLG1qczoiXHV7MUY0REN9IixjanM6Ilx1ezFGNERDfSIscHk6Ilx1ezFGNERDfSIscmI6Ilx1ezFGNERDfSIsZ286Ilx1ezFGNERDfSIscnM6Ilx1ezFGNERDfSIsamF2YToiXHV7MUY0REN9IixjOiJcdXsxRjREQ30iLGNwcDoiXHV7MUY0REN9IixoOiJcdXsxRjREQ30iLGhwcDoiXHV7MUY0REN9IixjczoiXHV7MUY0REN9Iixzd2lmdDoiXHV7MUY0REN9IixrdDoiXHV7MUY0REN9IixzY2FsYToiXHV7MUY0REN9IixwaHA6Ilx1ezFGNERDfSIsc2g6Ilx1ezFGNERDfSIsYmFzaDoiXHV7MUY0REN9Iix6c2g6Ilx1ezFGNERDfSIsZmlzaDoiXHV7MUY0REN9IixsdWE6Ilx1ezFGNERDfSIsc3FsOiJcdXsxRjREQ30iLGdyYXBocWw6Ilx1ezFGNERDfSIscHJvdG86Ilx1ezFGNERDfSIsdnVlOiJcdXsxRjREQ30iLHN2ZWx0ZToiXHV7MUY0REN9IixkaWZmOiJcdXsxRjREQ30iLHBhdGNoOiJcdXsxRjREQ30iLHR0ZjoiXHV7MUY1MjR9IixvdGY6Ilx1ezFGNTI0fSIsd29mZjoiXHV7MUY1MjR9Iix3b2ZmMjoiXHV7MUY1MjR9Iixlb3Q6Ilx1ezFGNTI0fSJ9O2Z1bmN0aW9uIHdvKGUpe2lmKCFlKXJldHVybiJcdXsxRjRDNH0iO2lmKGUudHlwZT09PSJkaXIiKXJldHVybiJcdXsxRjRDMX0iO3ZhciB0PShlLm5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKHQ9PT0iZG9ja2VyZmlsZSIpcmV0dXJuIlx1ezFGNDMzfSI7aWYodD09PSJtYWtlZmlsZSIpcmV0dXJuIlx1ezFGNkUwfVx1RkUwRiI7aWYodD09PSJsaWNlbnNlIilyZXR1cm4iXHV7MUY0REN9IjtpZih0PT09InJlYWRtZSIpcmV0dXJuIlx1ezFGNEREfSI7dmFyIG49dC5sYXN0SW5kZXhPZigiLiIpO2lmKG48MHx8bj09PXQubGVuZ3RoLTEpcmV0dXJuIlx1ezFGNEM0fSI7dmFyIGk9dC5zbGljZShuKzEpO3JldHVybiByY1tpXXx8Ilx1ezFGNEM0fSJ9ZnVuY3Rpb24gWG4oZSl7aWYodHlwZW9mIGUhPSJudW1iZXIifHwhaXNGaW5pdGUoZSl8fGU8MClyZXR1cm4iIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjt2YXIgdD1lLzEwMjQ7aWYodDwxMDI0KXJldHVybih0Pj0xMD9NYXRoLnJvdW5kKHQpOnQudG9GaXhlZCgxKSkrIiBLQiI7dmFyIG49dC8xMDI0O2lmKG48MTAyNClyZXR1cm4obj49MTA/TWF0aC5yb3VuZChuKTpuLnRvRml4ZWQoMSkpKyIgTUIiO3ZhciBpPW4vMTAyNDtyZXR1cm4oaT49MTA/TWF0aC5yb3VuZChpKTppLnRvRml4ZWQoMSkpKyIgR0IifWZ1bmN0aW9uIGljKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUucGFyc2UoZSk7cmV0dXJuIGlzTmFOKHQpPyIiOm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKCl9ZnVuY3Rpb24gQm8oKXtpZihyLmZpbGVFeHBsb3JlckN3ZClyZXR1cm4gci5maWxlRXhwbG9yZXJDd2Q7aWYoci5zZWxlY3RlZElkKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZihlJiZlLmN3ZClyZXR1cm4gZS5jd2R9cmV0dXJuIGduKCl9ZnVuY3Rpb24gTXQoZSl7ZT1lfHx7fTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIGk9ZS5jd2R8fEJvKCk7aWYoIWkpe3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIGVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTY2M0VcdTc5M0FcdTc2ODRcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L2Rpdj4nO3JldHVybn1yLmZpbGVFeHBsb3JlckN3ZD1pLHIuZmlsZUV4cGxvcmVyTG9hZGluZz0hMCxyLmFsbEZpbGVzPVtdLHIuZmlsZUV4cGxvcmVyVHJ1bmNhdGVkPSExLHIuZmlsZUV4cGxvcmVyVG90YWw9MCx0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciI+PGRpdiBjbGFzcz0idHJlZS1sb2FkaW5nIiBzdHlsZT0icGFkZGluZzoxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTowLjgxMjVyZW07Ij5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj4nLG4mJihuLnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1uJiYobi52YWx1ZT1pKTpuLnRleHRDb250ZW50PWksbi50aXRsZT1pKTt2YXIgYT0iL2FwaS9kaXJlY3Rvcnk/cT0iK2VuY29kZVVSSUNvbXBvbmVudChpKSsiJmdpdFN0YXR1cz10cnVlIjtmZXRjaChhLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtpZighdS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeS4iKTtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe3IuZmlsZUV4cGxvcmVyTG9hZGluZz0hMTt2YXIgbyxzLGw7aWYoQXJyYXkuaXNBcnJheSh1KT8obz11LHM9ITEsbD11Lmxlbmd0aCk6KG89dSYmdS5pdGVtc3x8W10scz0hISh1JiZ1LnRydW5jYXRlZCksbD11JiZ1LnRvdGFsfHxvLmxlbmd0aCksIW98fG8ubGVuZ3RoPT09MCl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1N0E3QVx1NzZFRVx1NUY1NVx1NjIxNlx1NjVFMFx1NkNENVx1OEJCRlx1OTVFRVx1MzAwMjwvZGl2Pic7cmV0dXJufXIuYWxsRmlsZXM9byxyLmZpbGVFeHBsb3JlclRydW5jYXRlZD1zLHIuZmlsZUV4cGxvcmVyVG90YWw9bCxEbygpfSkuY2F0Y2goZnVuY3Rpb24oKXtyLmZpbGVFeHBsb3JlckxvYWRpbmc9ITEsdC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1NjhDMFx1NjdFNVx1OERFRlx1NUY4NFx1NjIxNlx1Njc0M1x1OTY1MFx1MzAwMjwvZGl2Pid9KX19ZnVuY3Rpb24gRG8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpO2lmKGUpe3ZhciB0PXIuZmlsZUV4cGxvcmVyQ3dkfHwiIjtpZih0KXt2YXIgbj1yLmZpbGVTZWFyY2hRdWVyeSxpPXIuYWxsRmlsZXN8fFtdLGE9aTtpZihuKXt2YXIgdT1uLnRvTG93ZXJDYXNlKCk7YT1pLmZpbHRlcihmdW5jdGlvbihsKXtyZXR1cm4gbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih1KSE9PS0xfSl9aWYoYS5sZW5ndGg9PT0wKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+Jysobj8iXHU2Q0ExXHU2NzA5XHU2MjdFXHU1MjMwXHU1MzM5XHU5MTREXHU3Njg0XHU2NTg3XHU0RUY2IjoiXHU3QTdBXHU3NkVFXHU1RjU1IikrIjwvZGl2PiI7cmV0dXJufXZhciBvPSIiO2lmKCFuJiZyLmZpbGVFeHBsb3JlclRydW5jYXRlZCl7dmFyIHM9aS5sZW5ndGg7bz0nPGRpdiBjbGFzcz0idHJlZS10cnVuY2F0ZWQiIHRpdGxlPSJcdTU0MEVcdTdBRUZcdTYzMDlcdTVCNTdcdTZCQ0RcdTVFOEZcdTY3MDBcdTU5MUFcdThGRDRcdTU2REUgJytzKycgXHU5ODc5Ij5cdTY2M0VcdTc5M0FcdTUyNEQgJytzKyIgXHU5ODc5IC8gXHU1MTcxICIrci5maWxlRXhwbG9yZXJUb3RhbCsiIFx1OTg3OTwvZGl2PiJ9ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj4nK2EubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBrbyhsKX0pLmpvaW4oIiIpKyI8L2Rpdj4iK28sQW8oKX19fWZ1bmN0aW9uIGtvKGUsdCl7dD10fHwwO3ZhciBuPXAoZS5uYW1lKSxpPWUudHlwZT09PSJkaXIiLGE9d28oZSksdT1pPyJcdTI1QjgiOiIiLG89aT8iIjoiIGVtcHR5IixzPWUuZ2l0U3RhdHVzLGw9YWMocyksZD0iIjtyZXR1cm4haSYmdHlwZW9mIGUuc2l6ZT09Im51bWJlciImJihkPSc8c3BhbiBjbGFzcz0idHJlZS1tZXRhIiB0aXRsZT0iXHU1OTI3XHU1QzBGXHVGRjFBJytwKFhuKGUuc2l6ZSkpKyhlLm10aW1lP2AKXHU0RkVFXHU2NTM5XHU2NUY2XHU5NUY0XHVGRjFBYCtwKGljKGUubXRpbWUpKToiIikrJyI+JytwKFhuKGUuc2l6ZSkpKyI8L3NwYW4+IiksJzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgZGF0YS1wYXRoPSInK3AoZS5wYXRoKSsnIiBkYXRhLXR5cGU9IicrcChlLnR5cGUpKyciIGRhdGEtbmFtZT0iJytwKGUubmFtZSkrJyIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJ0cmVlLXRvZ2dsZScrbysnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1pY29uIj4nK2ErJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1uYW1lIj4nK24rIjwvc3Bhbj4iK2QrKGw/JzxzcGFuIGNsYXNzPSJnaXQtc3RhdHVzLWJhZGdlICcrbC5jbGFzcysnIiB0aXRsZT0iJytsLnRpdGxlKyciPicrbC50ZXh0KyI8L3NwYW4+IjoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gYWMoZSl7cmV0dXJuIGU/ZS5zdGFnZWQ9PT0iYWRkZWQiP3t0ZXh0OiJBIixjbGFzczoiZ2l0LWFkZGVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU2NUIwXHU1ODlFXHVGRjA5In06ZS5zdGFnZWQ9PT0ibW9kaWZpZWQiP3t0ZXh0OiJNIixjbGFzczoiZ2l0LW1vZGlmaWVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU0RkVFXHU2NTM5XHVGRjA5In06ZS5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtZGVsZXRlZCIsdGl0bGU6Ilx1NURGMlx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUuc3RhZ2VkPT09InJlbmFtZWQiP3t0ZXh0OiJSIixjbGFzczoiZ2l0LXJlbmFtZWQiLHRpdGxlOiJcdTVERjJcdTY2ODJcdTVCNThcdUZGMDhcdTkxQ0RcdTU0N0RcdTU0MERcdUZGMDkifTplLnVuc3RhZ2VkPT09Im1vZGlmaWVkIj97dGV4dDoiTSIsY2xhc3M6ImdpdC11bnN0YWdlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NEZFRVx1NjUzOVx1RkYwOSJ9OmUudW5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtdW5zdGFnZWQtZGVsZXRlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUudW50cmFja2VkP3t0ZXh0OiI/IixjbGFzczoiZ2l0LXVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9Om51bGw6bnVsbH1mdW5jdGlvbiBBbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXRyZWUiKTtpZihlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi50cmVlLWl0ZW1bZGF0YS10eXBlPSdkaXInXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7dWMoaSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbVtkYXRhLXR5cGU9J2ZpbGUnXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZnVuY3Rpb24oKXtoaShpLmRhdGFzZXQucGF0aCl9O2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGEpfSk7dmFyIHQ9bnVsbCxuPSExO2UucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLHhvKGEuY2xpZW50WCxhLmNsaWVudFksaSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe249ITEsdD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bj0hMDt2YXIgdT1hLnRvdWNoZXMmJmEudG91Y2hlc1swXTt4byh1P3UuY2xpZW50WDowLHU/dS5jbGllbnRZOjAsaSl9LDUwMCl9LHtwYXNzaXZlOiEwfSksaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KX0pfX1mdW5jdGlvbiB1YyhlKXt2YXIgdD1lLmRhdGFzZXQucGF0aCxuPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtdG9nZ2xlIiksaT1lLm5leHRFbGVtZW50U2libGluZztpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygidHJlZS1jaGlsZHJlbiIpKXt2YXIgYT1pLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO2kuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsIWEpO3ZhciB1PWUucXVlcnlTZWxlY3RvcigiLnRyZWUtaWNvbiIpO3UmJih1LnRleHRDb250ZW50PWE/Ilx1ezFGNEMxfSI6Ilx1ezFGNEMyfSIpO3JldHVybn1uJiZuLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoIi50cmVlLWljb24iKTtvJiYoby50ZXh0Q29udGVudD0iXHV7MUY0QzJ9Iik7dmFyIHM9Ii9hcGkvZGlyZWN0b3J5P3E9IitlbmNvZGVVUklDb21wb25lbnQodCkrIiZnaXRTdGF0dXM9dHJ1ZSI7ZmV0Y2gocyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwuanNvbigpfSkudGhlbihmdW5jdGlvbihsKXt2YXIgZDtBcnJheS5pc0FycmF5KGwpP2Q9bDpkPWwmJmwuaXRlbXN8fFtdO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuY2xhc3NOYW1lPSJ0cmVlLWNoaWxkcmVuIG9wZW4iLCFkfHxkLmxlbmd0aD09PTA/Zi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpkZWZhdWx0OyI+PHNwYW4gY2xhc3M9InRyZWUtdG9nZ2xlIGVtcHR5Ij5cdTI1Qjg8L3NwYW4+PHNwYW4gY2xhc3M9InRyZWUtbmFtZSI+XHVGRjA4XHU3QTdBXHU3NkVFXHU1RjU1XHVGRjA5PC9zcGFuPjwvZGl2Pic6Zi5pbm5lckhUTUw9ZC5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGtvKGMpfSkuam9pbigiIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShmLGUubmV4dFNpYmxpbmcpLEFvKCl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIG9jKCl7dmFyIGU9Qm8oKTtpZihlKXt2YXIgdD1lLnJlcGxhY2UoL1wvKyQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIiKTt0fHwodD0iLyIpLHQhPT1lJiZNdCh7Y3dkOnR9KX19ZnVuY3Rpb24ga2EoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCF0KXJldHVybiExO3ZhciBuPXQudmFsdWV8fCIiLGk9biYmIW4uZW5kc1dpdGgoIiAiKSYmIW4uZW5kc1dpdGgoYApgKT8iICI6IiI7dC52YWx1ZT1uK2krZSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSk7dHJ5e3QuZm9jdXMoKSx0LnNldFNlbGVjdGlvblJhbmdlKHQudmFsdWUubGVuZ3RoLHQudmFsdWUubGVuZ3RoKX1jYXRjaHt9cmV0dXJuITB9ZnVuY3Rpb24gZ2koZSl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQpcmV0dXJuIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKX0pO3JldHVybiBQcm9taXNlLnJlc29sdmUodCgpKTtmdW5jdGlvbiB0KCl7dHJ5e3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7bi52YWx1ZT1lLG4uc3R5bGUucG9zaXRpb249ImZpeGVkIixuLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksbi5zZWxlY3QoKTt2YXIgaT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG4pLGl9Y2F0Y2h7cmV0dXJuITF9fX1mdW5jdGlvbiB3dChlKXtpZih0eXBlb2Ygd2luZG93LnNob3dUb2FzdD09ImZ1bmN0aW9uIil7d2luZG93LnNob3dUb2FzdChlKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9IndhbmQtbWluaS10b2FzdCIsdC50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LmFkZCgic2hvdyIpfSwxMCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnJlbW92ZSgpfSwyMjApfSwxNjAwKX1mdW5jdGlvbiBabigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWNvbnRleHQtbWVudSIpO2UmJmUucmVtb3ZlKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFpuLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFpuLCEwKX1mdW5jdGlvbiB4byhlLHQsbil7Wm4oKTt2YXIgaT1uLmRhdGFzZXQucGF0aHx8IiIsYT1uLmRhdGFzZXQudHlwZXx8ImZpbGUiLHU9ci5maWxlRXhwbG9yZXJDd2R8fCIiLG89aTt1JiZpLmluZGV4T2YodSk9PT0wJiYobz1pLnNsaWNlKHUubGVuZ3RoKS5yZXBsYWNlKC9eXC8rLywiIil8fCIuIik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5pZD0iZmlsZS1jb250ZXh0LW1lbnUiLHMuY2xhc3NOYW1lPSJmaWxlLWNvbnRleHQtbWVudSI7dmFyIGw9W107YT09PSJmaWxlIj9sLnB1c2goe2xhYmVsOiJcdTYyNTNcdTVGMDBcdTk4ODRcdTg5QzgiLGljb246Ilx1ezFGNDQxfSIscnVuOmZ1bmN0aW9uKCl7aGkoaSl9fSk6bC5wdXNoKHtsYWJlbDoiXHU4RkRCXHU1MTY1XHU2QjY0XHU3NkVFXHU1RjU1IixpY29uOiJcdXsxRjRDMn0iLHJ1bjpmdW5jdGlvbigpe010KHtjd2Q6aX0pfX0pLGwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NUI4Q1x1NjU3NFx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtnaShpKS50aGVuKGZ1bmN0aW9uKCl7d3QoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSksbyYmbyE9PWkmJmwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtnaShvKS50aGVuKGZ1bmN0aW9uKCl7d3QoIlx1NURGMlx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIpfSl9fSksbC5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU4REVGXHU1Rjg0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOiJcdTI3MEZcdUZFMEYiLHJ1bjpmdW5jdGlvbigpe2thKGkpJiZ3dCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksYT09PSJmaWxlIiYmbC5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2IixpY29uOiJcdTJCMDciLHJ1bjpmdW5jdGlvbigpe3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTttLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpLG0ucmVsPSJub29wZW5lciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtKSxtLmNsaWNrKCksbS5yZW1vdmUoKX19KSxzLmlubmVySFRNTD1sLm1hcChmdW5jdGlvbihtLGcpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImZpbGUtY29udGV4dC1tZW51LWl0ZW0iIGRhdGEtaWR4PSInK2crJyI+PHNwYW4gY2xhc3M9ImN0eC1pY29uIj4nK20uaWNvbisnPC9zcGFuPjxzcGFuIGNsYXNzPSJjdHgtbGFiZWwiPicrcChtLmxhYmVsKSsiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpO3ZhciBkPXdpbmRvdy5pbm5lcldpZHRoLGY9d2luZG93LmlubmVySGVpZ2h0LGM9cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PU1hdGgubWluKGUsZC1jLndpZHRoLTgpLGg9TWF0aC5taW4odCxmLWMuaGVpZ2h0LTgpO3Muc3R5bGUubGVmdD1NYXRoLm1heCg4LHYpKyJweCIscy5zdHlsZS50b3A9TWF0aC5tYXgoOCxoKSsicHgiLHMucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtY29udGV4dC1tZW51LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGcpe2cuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHk9cGFyc2VJbnQobS5kYXRhc2V0LmlkeCwxMCk7Wm4oKSxsW3ldJiZsW3ldLnJ1bigpfSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFpuLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLFpuLCEwKX0sMCl9dmFyIEg9bnVsbDtmdW5jdGlvbiBoaShlKXt2YXIgdD1IJiZILm92ZXJsYXk7aWYodCl7SC5wYXRoPWUsSC5lZGl0aW5nPSExLEguZGlydHk9ITE7dmFyIG89dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIik7byYmKG8uaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWljb24iPlx1ezFGNEM0fTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctbmFtZS1ibG9jayI+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtcm93Ij48c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWZpbGVuYW1lIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+JytFdCgiIiwiZmlsZS1wcmV2aWV3LXBhdGgiKSsiPC9kaXY+Iik7dmFyIHM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXIiKTtzJiYocy5pbm5lckhUTUw9IiIpO3ZhciBsPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1wYXRoIik7ZW8obCwiIik7dmFyIGQ9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtkJiYoZC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj4nKX1lbHNle3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1vdmVybGF5Iix0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW1vZGFsIiB0YWJpbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10aXRsZSI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1pY29uIj5cdXsxRjRDNH08L3NwYW4+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2siPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1uYW1lLXJvdyI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1maWxlbmFtZSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PicrRXQoIiIsImZpbGUtcHJldmlldy1wYXRoIikrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10b29sYmFyIj48L2Rpdj48YnV0dG9uIGNsYXNzPSJmaWxlLXByZXZpZXctY2xvc2UiIHRpdGxlPSJcdTUxNzNcdTk1RUQgKEVzYykiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+JytJZSgieCIse3NpemU6MTh9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWNsb3NlIiksaT1mdW5jdGlvbigpe2lmKEgmJkguZGlydHkmJnR5cGVvZiB5bj09ImZ1bmN0aW9uIil7eW4oe3R5cGU6Indhcm5pbmciLHRpdGxlOiJcdTY1M0VcdTVGMDNcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTRGRUVcdTY1MzlcdUZGMUYiLG1lc3NhZ2U6Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTE3M1x1OTVFRFx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiIsYnV0dG9uczpbe2xhYmVsOiJcdTdFRTdcdTdFRURcdTdGMTZcdThGOTEiLHZhbHVlOiExLGtpbmQ6Imdob3N0In0se2xhYmVsOiJcdTY1M0VcdTVGMDNcdTRGRUVcdTY1MzkiLHZhbHVlOiEwLGtpbmQ6ImRhbmdlciIsYXV0b2ZvY3VzOiEwfV0sY2FuY2VsVmFsdWU6ITF9KS50aGVuKGZ1bmN0aW9uKGMpe2MmJmEoKX0pO3JldHVybn1hKCl9LGE9ZnVuY3Rpb24oKXt0LnJlbW92ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpLEg9bnVsbH07bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYyl7Yy50YXJnZXQ9PT10JiZpKCl9KTt2YXIgdT1mdW5jdGlvbihjKXtpZigoYy5rZXk9PT0icyJ8fGMua2V5PT09IlMiKSYmKGMuY3RybEtleXx8Yy5tZXRhS2V5KSYmSCYmSC5lZGl0aW5nKXtjLnByZXZlbnREZWZhdWx0KCksT28oKTtyZXR1cm59aWYoYy5rZXk9PT0iRXNjYXBlIil7aWYoSCYmSC5lZGl0aW5nKXtjLnByZXZlbnREZWZhdWx0KCksTW8oKTtyZXR1cm59aSgpO3JldHVybn1IJiYoYy50YXJnZXQmJihjLnRhcmdldC50YWdOYW1lPT09IklOUFVUInx8Yy50YXJnZXQudGFnTmFtZT09PSJURVhUQVJFQSIpfHxILmVkaXRpbmd8fChjLmtleT09PSJBcnJvd0xlZnQiPyhjLnByZXZlbnREZWZhdWx0KCksU28oLTEpKTpjLmtleT09PSJBcnJvd1JpZ2h0IiYmKGMucHJldmVudERlZmF1bHQoKSxTbygxKSkpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSksSD17b3ZlcmxheTp0LGNsb3NlOmkscGF0aDplLGRhdGE6bnVsbCxlZGl0aW5nOiExLGRpcnR5OiExfX12YXIgZj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctcGF0aCIpO2VvKGYsZSksZmV0Y2goIi9hcGkvZmlsZS1wcmV2aWV3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQoZSkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBjLmpzb24oKS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybntvazpjLm9rLHN0YXR1czpjLnN0YXR1cyxkYXRhOnZ9fSl9KS50aGVuKGZ1bmN0aW9uKGMpe3ZhciB2PXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7aWYoIWMub2t8fGMuZGF0YSYmYy5kYXRhLmVycm9yKXt2YXIgaD1jLmRhdGEmJmMuZGF0YS5lcnJvcnx8Ilx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSI7Yy5zdGF0dXM9PT00MTMmJmMuZGF0YSYmYy5kYXRhLnNpemUmJihoKz0iXHVGRjA4XHU2NTg3XHU0RUY2XHU1OTI3XHU1QzBGXHVGRjFBIitYbihjLmRhdGEuc2l6ZSkrIlx1RkYwOSIpLHYuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctZXJyb3IiPjxzcGFuIGNsYXNzPSJwcmV2aWV3LWVycm9yLWljb24iPlx1MjZBMDwvc3Bhbj48c3Bhbj4nK3AoaCkrIjwvc3Bhbj48L2Rpdj4iLGMuc3RhdHVzPT09NDEzJiZBYSh0LHtraW5kOiJiaW5hcnkiLHBhdGg6ZSxuYW1lOmUuc3BsaXQoIi8iKS5wb3AoKXx8ZSxleHQ6IiIsc2l6ZTpjLmRhdGEmJmMuZGF0YS5zaXplfHwwfSk7cmV0dXJufUguZGF0YT1jLmRhdGEsSW8odCxjLmRhdGEpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgYz10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO2MuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctZXJyb3IiPjxzcGFuIGNsYXNzPSJwcmV2aWV3LWVycm9yLWljb24iPlx1MjZBMDwvc3Bhbj48c3Bhbj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTU5MzFcdThEMjU8L3NwYW4+PC9kaXY+J30pfWZ1bmN0aW9uIFNvKGUpe2lmKEgpe3ZhciB0PShyLmFsbEZpbGVzfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiBzLnR5cGU9PT0iZmlsZSJ9KTtpZih0Lmxlbmd0aCl7Zm9yKHZhciBuPUgucGF0aCxpPS0xLGE9MDthPHQubGVuZ3RoO2ErKylpZih0W2FdLnBhdGg9PT1uKXtpPWE7YnJlYWt9aWYoIShpPDApKXt2YXIgdT0oaStlK3QubGVuZ3RoKSV0Lmxlbmd0aCxvPXRbdV0ucGF0aDtvJiZvIT09biYmaGkobyl9fX19ZnVuY3Rpb24gSW8oZSx0KXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctZmlsZW5hbWUiKTtuJiYobi50ZXh0Q29udGVudD10Lm5hbWUpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1pY29uIik7aSYmKGkudGV4dENvbnRlbnQ9d28oe25hbWU6dC5uYW1lLHR5cGU6ImZpbGUifSkpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10aXRsZSIpLHU9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWxhbmciKTt1JiZ1LnJlbW92ZSgpO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtvLmNsYXNzTmFtZT0iZmlsZS1wcmV2aWV3LWxhbmciO3ZhciBzPXtpbWFnZToiXHU1NkZFXHU3MjQ3IixwZGY6IlBERiIsdmlkZW86Ilx1ODlDNlx1OTg5MSIsYXVkaW86Ilx1OTdGM1x1OTg5MSIsYmluYXJ5OiJcdTRFOENcdThGREJcdTUyMzYifTt0LmtpbmQ9PT0idGV4dCI/by50ZXh0Q29udGVudD10Lmxhbmd8fCh0LmV4dHx8IiIpLnJlcGxhY2UoIi4iLCIiKXx8InRleHQiOm8udGV4dENvbnRlbnQ9c1t0LmtpbmRdfHwodC5leHR8fCIiKS5yZXBsYWNlKCIuIiwiIil8fHQua2luZCxhJiZhLmFwcGVuZENoaWxkKG8pLEFhKGUsdCk7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtsLmlubmVySFRNTD0iIixsLmNsYXNzTGlzdC5yZW1vdmUoImtpbmQtdGV4dCIsImtpbmQtaW1hZ2UiLCJraW5kLXBkZiIsImtpbmQtdmlkZW8iLCJraW5kLWF1ZGlvIiwia2luZC1iaW5hcnkiKSxsLmNsYXNzTGlzdC5hZGQoImtpbmQtIisodC5raW5kfHwidGV4dCIpKSx0LmtpbmQ9PT0iaW1hZ2UiP2xjKGwsdCk6dC5raW5kPT09InBkZiI/ZGMobCx0KTp0LmtpbmQ9PT0idmlkZW8iP2NjKGwsdCk6dC5raW5kPT09ImF1ZGlvIj9mYyhsLHQpOnQua2luZD09PSJiaW5hcnkiP3BjKGwsdCk6dC5sYW5nPT09Im1hcmtkb3duInx8L1wuKG1kfG1hcmtkb3dufG1keCkkL2kudGVzdCh0Lm5hbWV8fCIiKT9sLmlubmVySFRNTD0nPGRpdiBjbGFzcz0ibWFya2Rvd24tcHJldmlldyI+JytoYyh0LmNvbnRlbnR8fCIiKSsiPC9kaXY+IjpzYyhsLHQpfWZ1bmN0aW9uIHNjKGUsdCl7dmFyIG49cW8odC5jb250ZW50fHwiIix0LmxhbmcpLGk9bi5zcGxpdChgCmApLGE9aS5tYXAoZnVuY3Rpb24odSxvKXtyZXR1cm4gbysxfSk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy13cmFwcGVyIj48ZGl2IGNsYXNzPSJjb2RlLXByZXZpZXctbGluZXMiPicrYS5qb2luKGAKYCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy1jb250ZW50Ij48cHJlPicraS5qb2luKGAKYCkrIjwvcHJlPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gbGMoZSx0KXt2YXIgbj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImltYWdlLXByZXZpZXctd3JhcHBlciI+PGltZyBjbGFzcz0iaW1hZ2UtcHJldmlldy1pbWciIHNyYz0iJytuKyciIGFsdD0iJytwKHQubmFtZSkrJyIgLz48L2Rpdj4nO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmltYWdlLXByZXZpZXctaW1nIik7aWYoaSl7dmFyIGE9ITE7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXthPSFhLGkuY2xhc3NMaXN0LnRvZ2dsZSgiem9vbWVkIixhKX0pfX1mdW5jdGlvbiBkYyhlLHQpe3ZhciBuPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGlmcmFtZSBjbGFzcz0icGRmLXByZXZpZXctZnJhbWUiIHNyYz0iJytuKyciIHRpdGxlPSInK3AodC5uYW1lKSsnIj48L2lmcmFtZT4nfWZ1bmN0aW9uIGNjKGUsdCl7dmFyIG49Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LXdyYXBwZXIiPjx2aWRlbyBjbGFzcz0ibWVkaWEtcHJldmlldy12aWRlbyIgY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHNyYz0iJytuKyciPlx1NjBBOFx1NzY4NFx1NkQ0Rlx1ODlDOFx1NTY2OFx1NEUwRFx1NjUyRlx1NjMwMSB2aWRlbyBcdTY4MDdcdTdCN0VcdTMwMDI8L3ZpZGVvPjxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctbWV0YSI+JytwKFhuKHQuc2l6ZSkpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGZjKGUsdCl7dmFyIG49Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LXdyYXBwZXIgYXVkaW8iPjxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctaWNvbiI+XHV7MUYzQjV9PC9kaXY+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1uYW1lIj4nK3AodC5uYW1lKSsnPC9kaXY+PGF1ZGlvIGNsYXNzPSJtZWRpYS1wcmV2aWV3LWF1ZGlvIiBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3JjPSInK24rJyI+XHU2MEE4XHU3Njg0XHU2RDRGXHU4OUM4XHU1NjY4XHU0RTBEXHU2NTJGXHU2MzAxIGF1ZGlvIFx1NjgwN1x1N0I3RVx1MzAwMjwvYXVkaW8+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1tZXRhIj4nK3AoWG4odC5zaXplKSkrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gcGMoZSx0KXt2YXIgbj0iL2FwaS9maWxlLXJhdz9kb3dubG9hZD0xJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctY2FyZCI+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctaWNvbiI+XHV7MUY0RTZ9PC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctbmFtZSI+JytwKHQubmFtZSkrJzwvZGl2PjxkaXYgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LW1ldGEiPjxzcGFuPicrcCgodC5leHR8fCIiKS5yZXBsYWNlKC9eXC4vLCIiKXx8Ilx1NjcyQVx1NzdFNVx1NjgzQ1x1NUYwRiIpKyI8L3NwYW4+PHNwYW4+XHhCNzwvc3Bhbj48c3Bhbj4iK3AoWG4odC5zaXplKSkrIjwvc3Bhbj48L2Rpdj4iK0V0KHQucGF0aCwiYmluYXJ5LXByZXZpZXctcGF0aCIpKyc8ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1hY3Rpb25zIj48YSBjbGFzcz0iYmluYXJ5LXByZXZpZXctYnRuIiBocmVmPSInK24rJyIgZG93bmxvYWQ9IicrcCh0Lm5hbWUpKyciPlx1NEUwQlx1OEY3RFx1NjU4N1x1NEVGNjwvYT48YnV0dG9uIGNsYXNzPSJiaW5hcnktcHJldmlldy1idG4iIHR5cGU9ImJ1dHRvbiIgZGF0YS1hY3Rpb249InZpZXctY2F0Ij5cdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdTY3RTVcdTc3MEI8L2J1dHRvbj48L2Rpdj48L2Rpdj4nLFd0KGUpO3ZhciBpPWUucXVlcnlTZWxlY3RvcignW2RhdGEtYWN0aW9uPSJ2aWV3LWNhdCJdJyk7aSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtrYSgnY2F0IC0tICInK3QucGF0aCsnIicpJiZ3dCgiXHU1NDdEXHU0RUU0XHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9KX1mdW5jdGlvbiBBYShlLHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10b29sYmFyIik7aWYobil7aWYobi5pbm5lckhUTUw9IiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJlZGl0aW5nIiksSCYmSC5lZGl0aW5nKXtuLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKSx3cihlLHQpO3JldHVybn12YXIgaT1bXTt0LmtpbmQ9PT0idGV4dCImJmkucHVzaCh7bGFiZWw6Ilx1N0YxNlx1OEY5MVx1NjU4N1x1NEVGNiAoRSkiLGljb246SWUoImVkaXQiKSxwcmltYXJ5OiEwLGFjdGlvbjpmdW5jdGlvbigpe3ZjKCl9fSksaS5wdXNoKHtsYWJlbDoiXHU1OTBEXHU1MjM2XHU4REVGXHU1Rjg0IixpY29uOkllKCJjbGlwYm9hcmQiKSxhY3Rpb246ZnVuY3Rpb24oKXtnaSh0LnBhdGgpLnRoZW4oZnVuY3Rpb24oKXt3dCgiXHU1REYyXHU1OTBEXHU1MjM2XHU4REVGXHU1Rjg0Iil9KX19KSxpLnB1c2goe2xhYmVsOiJcdTdDOThcdThEMzRcdTUyMzBcdThGOTNcdTUxNjVcdTY4NDYiLGljb246SWUoInNlbmQtdG8taW5wdXQiKSxhY3Rpb246ZnVuY3Rpb24oKXtrYSh0LnBhdGgpJiZ3dCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksaS5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEIixpY29uOkllKCJkb3dubG9hZCIpLGFjdGlvbjpmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCksYS5kb3dubG9hZD10Lm5hbWV8fCIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSksYS5jbGljaygpLGEucmVtb3ZlKCl9fSksdC5raW5kPT09InRleHQiJiYoaS5wdXNoKHtsYWJlbDoiXHU1OTBEXHU1MjM2XHU1MTY4XHU5MEU4XHU1MTg1XHU1QkI5IixpY29uOkllKCJjb3B5IiksYWN0aW9uOmZ1bmN0aW9uKCl7Z2kodC5jb250ZW50fHwiIikudGhlbihmdW5jdGlvbigpe3d0KCJcdTVERjJcdTU5MERcdTUyMzZcdTUxODVcdTVCQjkiKX0pfX0pLGkucHVzaCh7bGFiZWw6Ilx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjM2Mlx1ODg0QyIsaWNvbjpJZSgid3JhcC10ZXh0IiksdG9nZ2xlQ2xhc3M6InRvb2xiYXItYWN0aXZlIixnZXRJbml0aWFsOmZ1bmN0aW9uKCl7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIik7cmV0dXJuIGEmJmEuY2xhc3NMaXN0LmNvbnRhaW5zKCJ3cmFwIil9LGFjdGlvbjpmdW5jdGlvbihhKXt2YXIgdT1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctY29udGVudCBwcmUiKTt1JiYodS5jbGFzc0xpc3QudG9nZ2xlKCJ3cmFwIiksYS5jbGFzc0xpc3QudG9nZ2xlKCJ0b29sYmFyLWFjdGl2ZSIsdS5jbGFzc0xpc3QuY29udGFpbnMoIndyYXAiKSkpfX0pLGkucHVzaCh7a2luZDoiZ3JvdXAiLGNsYXNzTmFtZToidG9vbGJhci1ncm91cC1mb250c2l6ZSIsY2hpbGRyZW46W3tsYWJlbDoiXHU3RjI5XHU1QzBGXHU1QjU3XHU1M0Y3IixpY29uOkllKCJtaW51cyIpLGFjdGlvbjpmdW5jdGlvbigpe1BvKGUsLTEpfX0se2tpbmQ6ImxhYmVsIixpY29uOkllKCJ0eXBlIiksbGFiZWw6Ilx1NUI1N1x1NTNGNyJ9LHtsYWJlbDoiXHU2NTNFXHU1OTI3XHU1QjU3XHU1M0Y3IixpY29uOkllKCJwbHVzIiksYWN0aW9uOmZ1bmN0aW9uKCl7UG8oZSwxKX19XX0pKSxUbyhuLGksZSl9fWZ1bmN0aW9uIFRvKGUsdCxuKXt0LmZvckVhY2goZnVuY3Rpb24oaSl7aWYoaS5raW5kPT09Imdyb3VwIil7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9ImZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIisoaS5jbGFzc05hbWU/IiAiK2kuY2xhc3NOYW1lOiIiKSxpLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24odSl7aWYodS5raW5kPT09ImxhYmVsIil7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO28uY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1ncm91cGxhYmVsIixvLnRpdGxlPXUubGFiZWx8fCIiLG8uaW5uZXJIVE1MPXUuaWNvbnx8IiIsYS5hcHBlbmRDaGlsZChvKTtyZXR1cm59YS5hcHBlbmRDaGlsZChMbyh1KSl9KSxlLmFwcGVuZENoaWxkKGEpO3JldHVybn1lLmFwcGVuZENoaWxkKExvKGkpKX0pfWZ1bmN0aW9uIExvKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO3JldHVybiB0LnR5cGU9ImJ1dHRvbiIsdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy10b29sYmFyLWJ0biIsZS5wcmltYXJ5JiZ0LmNsYXNzTGlzdC5hZGQoInByaW1hcnkiKSxlLmRhbmdlciYmdC5jbGFzc0xpc3QuYWRkKCJkYW5nZXIiKSx0LnRpdGxlPWUubGFiZWwsdC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUubGFiZWwpLHQuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0idG9vbGJhci1pY29uIj4nKyhlLmljb258fCIiKSsiPC9zcGFuPiIrKGUudGV4dD8nPHNwYW4gY2xhc3M9InRvb2xiYXItdGV4dCI+JytwKGUudGV4dCkrIjwvc3Bhbj4iOiIiKSxlLmdldEluaXRpYWwmJmUuZ2V0SW5pdGlhbCgpJiZ0LmNsYXNzTGlzdC5hZGQoInRvb2xiYXItYWN0aXZlIiksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obil7bi5zdG9wUHJvcGFnYXRpb24oKSx0eXBlb2YgZS5hY3Rpb249PSJmdW5jdGlvbiImJmUuYWN0aW9uKHQpfSksdH1mdW5jdGlvbiB3cihlLHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10b29sYmFyIik7aWYobil7bi5pbm5lckhUTUw9IiI7dmFyIGk9SCYmSC5zYXZpbmcsYT1be2xhYmVsOiJcdTRGRERcdTVCNTggKEN0cmwrUykiLGljb246SWUoInNhdmUiKSx0ZXh0OiJcdTRGRERcdTVCNTgiLHByaW1hcnk6ITAsYWN0aW9uOmZ1bmN0aW9uKCl7T28oKX19LHtsYWJlbDoiXHU2NEE0XHU5NTAwXHU2NTM5XHU1MkE4IixpY29uOkllKCJyb3RhdGUtY2N3IiksYWN0aW9uOmZ1bmN0aW9uKCl7bWMoKX19LHtsYWJlbDoiXHU5MDAwXHU1MUZBXHU3RjE2XHU4RjkxIChFc2MpIixpY29uOkllKCJ4IiksYWN0aW9uOmZ1bmN0aW9uKCl7TW8oKX19XTtUbyhuLGEsZSksaSYmbi5xdWVyeVNlbGVjdG9yQWxsKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuIikuZm9yRWFjaChmdW5jdGlvbih1KXt1LmRpc2FibGVkPSEwfSl9fWZ1bmN0aW9uIHZjKCl7aWYoISghSHx8IUguZGF0YSkpe3ZhciBlPUguZGF0YTtpZihlLmtpbmQ9PT0idGV4dCIpe0guZWRpdGluZz0hMCxILmRpcnR5PSExLEgub3JpZ2luYWxDb250ZW50PWUuY29udGVudHx8IiI7dmFyIHQ9SC5vdmVybGF5LG49dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtpZihuKXtuLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKSxuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29kZS1lZGl0b3Itd3JhcHBlciI+PHRleHRhcmVhIGNsYXNzPSJjb2RlLWVkaXRvci10ZXh0YXJlYSIgc3BlbGxjaGVjaz0iZmFsc2UiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiB3cmFwPSJvZmYiPjwvdGV4dGFyZWE+PC9kaXY+Jzt2YXIgaT1uLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO2kmJihpLnZhbHVlPWUuY29udGVudHx8IiIsaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXt2YXIgYT1pLnZhbHVlIT09KEgub3JpZ2luYWxDb250ZW50fHwiIik7YSE9PUguZGlydHkmJihILmRpcnR5PWEsQnIoKSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGEpe2lmKGEua2V5PT09IlRhYiIpe2EucHJldmVudERlZmF1bHQoKTt2YXIgdT1pLnNlbGVjdGlvblN0YXJ0LG89aS5zZWxlY3Rpb25FbmQscz0iICAiO2kudmFsdWU9aS52YWx1ZS5zbGljZSgwLHUpK3MraS52YWx1ZS5zbGljZShvKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXUrcy5sZW5ndGgsaS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSl9fSksc2V0VGltZW91dChmdW5jdGlvbigpe2kuZm9jdXMoKSxpLnNldFNlbGVjdGlvblJhbmdlKDAsMCksaS5zY3JvbGxUb3A9MH0sMzApKSxBYSh0LGUpLEJyKCl9fX19ZnVuY3Rpb24gTW8oKXtpZighKCFIfHwhSC5lZGl0aW5nKSl7dmFyIGU9ZnVuY3Rpb24oKXtILmVkaXRpbmc9ITEsSC5kaXJ0eT0hMTt2YXIgdD1ILm92ZXJsYXksbj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO24mJm4uY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLElvKHQsSC5kYXRhKSxCcigpfTtpZihILmRpcnR5JiZ0eXBlb2YgeW49PSJmdW5jdGlvbiIpe3luKHt0eXBlOiJ3YXJuaW5nIix0aXRsZToiXHU2NTNFXHU1RjAzXHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU0RkVFXHU2NTM5XHVGRjFGIixtZXNzYWdlOiJcdTVGNTNcdTUyNERcdTY1ODdcdTRFRjZcdTY3MDlcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTY1MzlcdTUyQThcdUZGMENcdTkwMDBcdTUxRkFcdTdGMTZcdThGOTFcdTU0MEVcdTRGMUFcdTRFMjJcdTU5MzFcdTMwMDIiLGJ1dHRvbnM6W3tsYWJlbDoiXHU3RUU3XHU3RUVEXHU3RjE2XHU4RjkxIix2YWx1ZTohMSxraW5kOiJnaG9zdCJ9LHtsYWJlbDoiXHU2NTNFXHU1RjAzXHU0RkVFXHU2NTM5Iix2YWx1ZTohMCxraW5kOiJkYW5nZXIiLGF1dG9mb2N1czohMH1dLGNhbmNlbFZhbHVlOiExfSkudGhlbihmdW5jdGlvbih0KXt0JiZlKCl9KTtyZXR1cm59ZSgpfX1mdW5jdGlvbiBtYygpe2lmKCEoIUh8fCFILmVkaXRpbmcpKXt2YXIgZT1ILm92ZXJsYXksdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO3QmJih0LnZhbHVlPUgub3JpZ2luYWxDb250ZW50fHwiIixILmRpcnR5PSExLEJyKCksdC5mb2N1cygpKX19ZnVuY3Rpb24gT28oKXtpZighKCFIfHwhSC5lZGl0aW5nKSYmIUguc2F2aW5nKXt2YXIgZT1ILm92ZXJsYXksdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO2lmKHQpe3ZhciBuPXQudmFsdWU7aWYobj09PShILm9yaWdpbmFsQ29udGVudHx8IiIpKXt3dCgiXHU2Q0ExXHU2NzA5XHU2NTM5XHU1MkE4Iik7cmV0dXJufUguc2F2aW5nPSEwLHdyKGUsSC5kYXRhKSxmZXRjaCgiL2FwaS9maWxlLXdyaXRlIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDpILnBhdGgsY29udGVudDpufSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybntvazppLm9rLHN0YXR1czppLnN0YXR1cyxkYXRhOmF9fSl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKEguc2F2aW5nPSExLCFpLm9rfHxpLmRhdGEmJmkuZGF0YS5lcnJvcil7dmFyIGE9aS5kYXRhJiZpLmRhdGEuZXJyb3J8fCJcdTRGRERcdTVCNThcdTU5MzFcdThEMjUgKCIraS5zdGF0dXMrIikiO3d0KGEpLHdyKGUsSC5kYXRhKTtyZXR1cm59aWYoSC5kYXRhLmNvbnRlbnQ9bixILmRhdGEuc2l6ZT1pLmRhdGEmJmkuZGF0YS5zaXplfHxuLmxlbmd0aCxILm9yaWdpbmFsQ29udGVudD1uLEguZGlydHk9ITEsd3QoIlx1NURGMlx1NEZERFx1NUI1OCIpLEJyKCksd3IoZSxILmRhdGEpLHR5cGVvZiBNdD09ImZ1bmN0aW9uIil0cnl7TXQoKX1jYXRjaHt9fSkuY2F0Y2goZnVuY3Rpb24oaSl7SC5zYXZpbmc9ITEsd3QoIlx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1RkYxQSIrKGkmJmkubWVzc2FnZT9pLm1lc3NhZ2U6Ilx1N0Y1MVx1N0VEQ1x1OTUxOVx1OEJFRiIpKSx3cihlLEguZGF0YSl9KX19fWZ1bmN0aW9uIEJyKCl7aWYoSCl7dmFyIGU9SC5vdmVybGF5O2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1uYW1lLXJvdyIpO2lmKHQpe3ZhciBuPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1kaXJ0eSIpO2lmKEguZGlydHkpe2lmKCFuKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7aS5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1kaXJ0eSIsaS50aXRsZT0iXHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU0RkVFXHU2NTM5IixpLnRleHRDb250ZW50PSJcdTI1Q0YgXHU2NzJBXHU0RkREXHU1QjU4Iix0LmFwcGVuZENoaWxkKGkpfX1lbHNlIG4mJm4ucmVtb3ZlKCl9fX19ZnVuY3Rpb24gUG8oZSx0KXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctY29udGVudCBwcmUiKSxpPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtcHJldmlldy1saW5lcyIpO2lmKG4pe3ZhciBhPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShuKS5mb250U2l6ZSl8fDEzLHU9TWF0aC5tYXgoMTAsTWF0aC5taW4oMjIsYSt0KSk7bi5zdHlsZS5mb250U2l6ZT11KyJweCIsaSYmKGkuc3R5bGUuZm9udFNpemU9dSsicHgiKX19ZnVuY3Rpb24gcW8oZSx0KXt2YXIgbj1lLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKSxpPWdjKCk7aWYoIWkpcmV0dXJuIG47dmFyIGE9W107Zm9yKHZhciB1IGluIGkpe3ZhciBvPWlbdV07byYmby5wYXR0ZXJuJiZhLnB1c2goe3BhdHRlcm46by5wYXR0ZXJuLGNsczpvLmNscyxwcmlvcml0eTpvLnByaW9yaXR5fHw1fSl9YS5zb3J0KGZ1bmN0aW9uKGQsZil7cmV0dXJuIGYucHJpb3JpdHktZC5wcmlvcml0eX0pO3ZhciBzPWEubWFwKGZ1bmN0aW9uKGQpe3JldHVybiIoIitkLnBhdHRlcm4uc291cmNlKyIpIn0pLGw9bmV3IFJlZ0V4cChzLmpvaW4oInwiKSwiZ20iKTtyZXR1cm4gbi5yZXBsYWNlKGwsZnVuY3Rpb24oZCl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBjPWFbZl0sdj1uZXcgUmVnRXhwKCJeIitjLnBhdHRlcm4uc291cmNlKyIkIiwiZ20iKTtpZih2LnRlc3QoZCkpcmV0dXJuJzxzcGFuIGNsYXNzPSInK2MuY2xzKyciPicrZCsiPC9zcGFuPiJ9cmV0dXJuIGR9KX1mdW5jdGlvbiBnYygpe3JldHVybntjb21tZW50OntwYXR0ZXJuOi9cL1wvLip8I1teXG5dKi95LGNsczoic3ludGF4LWNvbW1lbnQiLHByaW9yaXR5OjF9LHN0cmluZzp7cGF0dGVybjovIig/OlteIlxcXXxcXC4pKiJ8Jyg/OlteJ1xcXXxcXC4pKid8YCg/OlteYFxcXXxcXC4pKmAveSxjbHM6InN5bnRheC1zdHJpbmciLHByaW9yaXR5OjJ9LGtleXdvcmQ6e3BhdHRlcm46L1xiKD86YXN5bmN8YXdhaXR8YnJlYWt8Y2FzZXxjYXRjaHxjbGFzc3xjb25zdHxjb250aW51ZXxkZWJ1Z2dlcnxkZWNsYXJlfGRlZmF1bHR8ZGVsZXRlfGRvfGVsc2V8ZW51bXxleHBvcnR8ZXh0ZW5kc3xmaW5hbGx5fGZvcnxmcm9tfGZ1bmN0aW9ufGdldHxpZnxpbXBsZW1lbnRzfGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bW9kdWxlfG5hbWVzcGFjZXxuZXd8bnVsbHxvZnxvdmVycmlkZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmVhZG9ubHl8cmV0dXJufHNldHxzdGF0aWN8c3VwZXJ8c3dpdGNofHRoaXN8dGhyb3d8dHJ5fHR5cGV8dHlwZW9mfHVuZGVmaW5lZHx2YXJ8dm9pZHx3aGlsZXx5aWVsZHxhYnN0cmFjdHxhc3xiYXNlfGJvb2x8Ynl0ZXxjaGFyfGRlY2ltYWx8ZG91YmxlfGV2ZW50fGV4cGxpY2l0fGV4dGVybnxmYWxzZXxmaXhlZHxmbG9hdHxmb3JlYWNofGdvdG98aW1wbGljaXR8aW58aW50fGludGVybmFsfGlzfGxvY2t8bG9uZ3xvYmplY3R8b3BlcmF0b3J8b3V0fHBhcmFtc3xwYXJ0aWFsfHJlYWRvbmx5fHJlZnxzYnl0ZXxzZWFsZWR8c2hvcnR8c2l6ZW9mfHN0YWNrYWxsb2N8c3RyaW5nfHN0cnVjdHxzd2l0Y2h8dGhyb3d8dHJ1ZXx0cnl8dWludHx1bG9uZ3x1bmNoZWNrZWR8dW5zYWZlfHVzaG9ydHx1c2luZ3x2aXJ0dWFsfHZvbGF0aWxlfHdoZXJlfHdoaWxlfHdpdGh8eWllbGR8ZGVmfGVsaWZ8ZWxzZXxleGNlcHR8ZXhlY3xmaW5hbGx5fGZvcnxmcm9tfGdsb2JhbHxpZnxpbXBvcnR8bGFtYmRhfG5vbmxvY2FsfG5vdHxvcnxwYXNzfHByaW50fHJhaXNlfHJldHVybnx0cnl8d2hpbGV8d2l0aHx5aWVsZHxUcnVlfEZhbHNlfE5vbmV8YW5kfGlufGlzfGxhbWJkYXxub3R8b3J8Zm58cHVifHVzZXxtb2R8aW1wbHx0cmFpdHxzdHJ1Y3R8ZW51bXxtYXRjaHxsb29wfHdoaWxlfGZvcnxpZnxlbHNlfHJldHVybnxzZWxmfHN1cGVyfGNyYXRlfHdoZXJlfGFzeW5jfGF3YWl0fG1vdmV8cmVmfG11dHxzdGF0aWN8Y29uc3R8dW5zYWZlfGV4dGVybnx1c2V8YXN8aW1wbHxzdHJ1Y3R8ZW51bXx0eXBlfGZufGxldHxsb29wfGlmfGVsc2V8bWF0Y2h8cmV0dXJufHNlbGZ8U2VsZnxtb2R8cHVifGNyYXRlfG1hY3JvfGRlcml2ZXx3aGVyZXxhc3luY3xhd2FpdHxkeW58c2VsZnxwYWNrYWdlfGZ1bmN8Z298cmV0dXJufGRlZmVyfGdvfGlmfGVsc2V8c3dpdGNofGNhc2V8ZGVmYXVsdHxmb3J8cmFuZ2V8c2VsZWN0fGJyZWFrfGNvbnRpbnVlfGZhbGx0aHJvdWdofGNvbnN0fHN0cnVjdHxlbnVtfHR5cGV8aW50ZXJmYWNlfG1hcHxjaGFufHZhcnxuaWx8dHJ1ZXxmYWxzZXxpb3RhfGxlbnxjYXB8YXBwZW5kfG1ha2V8bmV3fHBhbmljfHJlY292ZXJ8c2VsZWN0fGVsc2V8aWZ8ZWxpZnxlbmR8Zm9yfGZ1bmN0aW9ufGlmfGlufGxvY2FsfG5pbHxub3R8b3J8cmVwZWF0fHJldHVybnx0aGVufHRydWV8dW50aWx8d2hpbGV8ZW5kfGFuZHxiZWdpbnxkb3xlbmR8ZmFsc2V8Zm9yfGZ1bmN0aW9ufGlmfGlufGxvY2FsfG5pbHxub3R8b3J8cmVwZWF0fHJldHVybnx0aGVufHRydWV8dW50aWx8d2hpbGUpXGIveSxjbHM6InN5bnRheC1rZXl3b3JkIixwcmlvcml0eTozfSxudW1iZXI6e3BhdHRlcm46L1xiKD86MHhbXGRhLWZBLUZdK3wwYlswMV0rfDBvWzAtN10rfFxkK1wuP1xkKig/OmVbKy1dP1xkKyk/KVxiL3ksY2xzOiJzeW50YXgtbnVtYmVyIixwcmlvcml0eToyfSxmdW5jdGlvbjp7cGF0dGVybjovXGJbQS1aXVthLXpBLVowLTldKlthLXpdXHcqKD89XHMqXCgpL3ksY2xzOiJzeW50YXgtZnVuY3Rpb24iLHByaW9yaXR5OjR9LHR5cGU6e3BhdHRlcm46L1xiKD86c3RyaW5nfG51bWJlcnxib29sZWFufHZvaWR8YW55fHVua25vd258bmV2ZXJ8b2JqZWN0fHN5bWJvbHxiaWdpbnR8QXJyYXl8T2JqZWN0fFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbnxNYXB8U2V0fFdlYWtNYXB8V2Vha1NldHxQcm9taXNlfEVycm9yfFR5cGV8SW50ZXJmYWNlfEVudW18Q2xhc3N8U3RydWN0fEltcGx8VHJhaXR8Zm58Zm5jfGZ1bmN8ZnVuY3Rpb258ZGVmfHByb2N8ZnVufHB1YnxzdGF0aWN8Y29uc3R8bGV0fHZhcnxpbnR8ZmxvYXR8ZG91YmxlfGJvb2x8Y2hhcnxieXRlfHN0cmluZ3x1OHx1MTZ8dTMyfHU2NHxpOHxpMTZ8aTMyfGk2NHxmMzJ8ZjY0fHVzaXplfGlzaXplfHN0cnxWZWN8SGFzaE1hcHxPcHRpb258UmVzdWx0fEJveHxSY3xBcmN8Q2VsbHxSZWZDZWxsKVxiL3ksY2xzOiJzeW50YXgtdHlwZSIscHJpb3JpdHk6NH0sb3BlcmF0b3I6e3BhdHRlcm46L1srXC0qLyU9PD4hJnxefj86XSt8XC5cLlwuPy95LGNsczoic3ludGF4LW9wZXJhdG9yIixwcmlvcml0eTo1fSxwdW5jdHVhdGlvbjp7cGF0dGVybjovW3t9W1xdKCk7LFwuXS95LGNsczoic3ludGF4LXB1bmN0dWF0aW9uIixwcmlvcml0eTo2fX19ZnVuY3Rpb24gaGMoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9cChlKTt0PXQucmVwbGFjZSgvYGBgKFx3KilcbihbXHNcU10qPylgYGAvZyxmdW5jdGlvbihpLGEsdSl7dmFyIG89cW8odS50cmltKCksYSkscz1vLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpO3JldHVybic8cHJlPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS0nK2ErJyI+JytzKyI8L2NvZGU+PC9wcmU+In0pLHQ9dC5yZXBsYWNlKC9gKFteYF0rKWAvZyxmdW5jdGlvbihpLGEpe3JldHVybiI8Y29kZT4iK2EucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IikrIjwvY29kZT4ifSksdD10LnJlcGxhY2UoL14jIyMjIyNccysoLiopJC9nbSwiPGg2PiQxPC9oNj4iKSx0PXQucmVwbGFjZSgvXiMjIyMjXHMrKC4qKSQvZ20sIjxoNT4kMTwvaDU+IiksdD10LnJlcGxhY2UoL14jIyMjXHMrKC4qKSQvZ20sIjxoND4kMTwvaDQ+IiksdD10LnJlcGxhY2UoL14jIyNccysoLiopJC9nbSwiPGgzPiQxPC9oMz4iKSx0PXQucmVwbGFjZSgvXiMjXHMrKC4qKSQvZ20sIjxoMj4kMTwvaDI+IiksdD10LnJlcGxhY2UoL14jXHMrKC4qKSQvZ20sIjxoMT4kMTwvaDE+IiksdD10LnJlcGxhY2UoL1wqXCpcKiguKz8pXCpcKlwqL2csIjxzdHJvbmc+PGVtPiQxPC9lbT48L3N0cm9uZz4iKSx0PXQucmVwbGFjZSgvXCpcKiguKz8pXCpcKi9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqKC4rPylcKi9nLCI8ZW0+JDE8L2VtPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfX18oXFMoPzpbXlxuXSo/XFMpPylfX18oPyFcdykvZywiJDE8c3Ryb25nPjxlbT4kMjwvZW0+PC9zdHJvbmc+IiksdD10LnJlcGxhY2UoLyhefFteXHddKV9fKFxTKD86W15cbl0qP1xTKT8pX18oPyFcdykvZywiJDE8c3Ryb25nPiQyPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoLyhefFteXHddKV8oXFMoPzpbXlxuX10qP1xTKT8pXyg/IVx3KS9nLCIkMTxlbT4kMjwvZW0+IiksdD10LnJlcGxhY2UoL35+KC4rPyl+fi9nLCI8ZGVsPiQxPC9kZWw+IiksdD10LnJlcGxhY2UoL1xbKFteXF1dKylcXVwoKFteKV0rKVwpL2csJzxhIGhyZWY9IiQyIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JDE8L2E+JyksdD10LnJlcGxhY2UoLyFcWyhbXlxdXSopXF1cKChbXildKylcKS9nLCc8aW1nIHNyYz0iJDIiIGFsdD0iJDEiPicpLHQ9dC5yZXBsYWNlKC9eJmd0O1xzKyguKikkL2dtLCI8YmxvY2txdW90ZT4kMTwvYmxvY2txdW90ZT4iKSx0PXQucmVwbGFjZSgvXi0tLSskL2dtLCI8aHI+IiksdD10LnJlcGxhY2UoL15cKlwqXCorJC9nbSwiPGhyPiIpLHQ9dC5yZXBsYWNlKC9eW1wtXCpdXHMrKC4qKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoLyg8bGk+Lio8XC9saT5cbj8pKy9nLCI8dWw+JCY8L3VsPiIpLHQ9dC5yZXBsYWNlKC9eXGQrXC5ccysoLiopJC9nbSwiPGxpPiQxPC9saT4iKSx0PUhsKHQpO3ZhciBuPXQuc3BsaXQoL1xuezIsfS8pO3JldHVybiB0PW4ubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpPWkudHJpbSgpLGk/L148KGhbMS02XXx1bHxvbHxsaXxibG9ja3F1b3RlfHByZXx0YWJsZXxocnxkaXYpLy50ZXN0KGkpP2k6IjxwPiIraS5yZXBsYWNlKC9cbi9nLCI8YnI+IikrIjwvcD4iOiIifSkuam9pbihgCmApLHR9ZnVuY3Rpb24gSG8oKXtpZighci5zZWxlY3RlZElkfHwhci5naXRTdGF0dXN8fCFyLmdpdFN0YXR1cy5pc0dpdHx8ci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQpcmV0dXJuIiI7dmFyIGU9ci5naXRTdGF0dXMuYnJhbmNofHwiPyIsdD1yLmdpdFN0YXR1cy5tb2RpZmllZENvdW50fHwwLG49ZSsodD8iICBceEI3ICAiK3QrIiBcdTRFMkFcdTY1ODdcdTRFRjZcdTVGODVcdTYzRDBcdTRFQTQiOiIgIFx4QjcgIFx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCIpO3JldHVybic8YnV0dG9uIGlkPSJ0b3BiYXItZ2l0LWJhZGdlIiBjbGFzcz0idG9wYmFyLWdpdC1iYWRnZSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iJytwKG4pKyciIGFyaWEtbGFiZWw9Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNCI+PHN2ZyBjbGFzcz0idG9wYmFyLWdpdC1pY29uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjIiLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjkiIHI9IjIiLz48cGF0aCBkPSJNNiA4djgiLz48cGF0aCBkPSJNMTggMTF2MWEzIDMgMCAwIDEtMyAzSDkiLz48L3N2Zz48c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1icmFuY2giPicrcChlKSsiPC9zcGFuPiIrKHQ+MD8nPHNwYW4gY2xhc3M9InRvcGJhci1naXQtY291bnQiPlx4QjcnK3QrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1jbGVhbiIgYXJpYS1oaWRkZW49InRydWUiPlx1MjcxMzwvc3Bhbj4nKSsiPC9idXR0b24+In1mdW5jdGlvbiB4YSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LXNsb3QiKTtpZihlKXtlLmlubmVySFRNTD1IbygpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpLF9vKCl9KX19ZnVuY3Rpb24geWMoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9ci50b3BiYXJNb3JlT3BlbixuPSEhZS5jbGF1ZGVTZXNzaW9uSWQsaT0hIWUuY3dkLGE9ZS53b3JrdHJlZUVuYWJsZWQmJmUud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgsdT1lLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIiYmZS53b3JrdHJlZU1lcmdlSW5mbyYmZS53b3JrdHJlZU1lcmdlSW5mby5jbGVhbnVwRG9uZT09PSExLG89ZS5zdGF0dXM9PT0icnVubmluZyJ8fGUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnaW5nIixzPWEmJmUud29ya3RyZWVNZXJnZVN0YXR1cyE9PSJtZXJnZWQiLGw9dSxkPW58fGl8fCEwLGY9c3x8bHx8ITAsYz0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiLz48L3N2Zz4nLHY9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3LjUgMTlhNC41IDQuNSAwIDEgMC0xLjUtOC43NEE2IDYgMCAxIDAgNiAxNGgxMS41eiIvPjwvc3ZnPicsaD0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4nLG09Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGxpbmUgeDE9IjQiIHkxPSI5IiB4Mj0iMjAiIHkyPSI5Ii8+PGxpbmUgeDE9IjQiIHkxPSIxNSIgeDI9IjIwIiB5Mj0iMTUiLz48bGluZSB4MT0iMTAiIHkxPSIzIiB4Mj0iOCIgeTI9IjIxIi8+PGxpbmUgeDE9IjE2IiB5MT0iMyIgeDI9IjE0IiB5Mj0iMjEiLz48L3N2Zz4nLGc9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgN2gxMCIvPjxwYXRoIGQ9Ik03IDEyaDEwIi8+PHBhdGggZD0iTTcgMTdoMTAiLz48cGF0aCBkPSJNNSA3bC0yIDIgMiAyIi8+PHBhdGggZD0iTTE5IDE1bDIgMi0yIDIiLz48L3N2Zz4nLHk9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+JyxCPSIiO2lmKG4pe3ZhciBFPWUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTU5MERcdTUyMzYgQ29kZXggdGhyZWFkIElEIjplLnByb3ZpZGVyPT09Im9wZW5jb2RlIj8iXHU1OTBEXHU1MjM2IE9wZW5Db2RlIHNlc3Npb24gSUQiOiJcdTU5MERcdTUyMzYgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCI7Qis9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK3YrIjxzcGFuPiIrRSsiPC9zcGFuPjwvYnV0dG9uPiJ9aSYmKEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1jd2QiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicraCsiPHNwYW4+XHU1OTBEXHU1MjM2XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPiIpLEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK20rIjxzcGFuPlx1NTkwRFx1NTIzNlx1NEYxQVx1OEJERCBJRDwvc3Bhbj48L2J1dHRvbj4iO3ZhciBDPSIiO3M/Qys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1tZXJnZSIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSInKyhvPyIgZGlzYWJsZWQiOiIiKSsiPiIrZysiPHNwYW4+XHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUyMDI2PC9zcGFuPjwvYnV0dG9uPiI6bCYmKEMrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtY2xlYW51cCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+JytnKyI8c3Bhbj5cdTkxQ0RcdThCRDUgd29ya3RyZWUgXHU2RTA1XHU3NDA2PC9zcGFuPjwvYnV0dG9uPiIpLEMrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIHRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyIiBkYXRhLWFjdGlvbj0iZGVsZXRlLXNlc3Npb24iIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicreSsiPHNwYW4+XHU1MjIwXHU5NjY0XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREPC9zcGFuPjwvYnV0dG9uPiI7dmFyIEQ9ZCYmZj8nPGRpdiBjbGFzcz0idG9wYmFyLW1vcmUtZGl2aWRlciIgcm9sZT0ic2VwYXJhdG9yIj48L2Rpdj4nOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b3BiYXItbW9yZS13cmFwIj48YnV0dG9uIGlkPSJ0b3BiYXItbW9yZS1idXR0b24iIGNsYXNzPSJ0b3BiYXItYnRuIHNxdWFyZScrKHQ/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyIgYXJpYS1oYXNwb3B1cD0ibWVudSIgYXJpYS1leHBhbmRlZD0iJysodD8idHJ1ZSI6ImZhbHNlIikrJyIgdGl0bGU9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMSIvPjwvc3ZnPjwvYnV0dG9uPjxkaXYgaWQ9InRvcGJhci1tb3JlLW1lbnUiIGNsYXNzPSJ0b3BiYXItbW9yZS1tZW51JysodD8iIjoiIGhpZGRlbiIpKyciIHJvbGU9Im1lbnUiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCI+JytCK0QrQysiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBIbihlLHQpe2lmKCFlKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7dmFyIG49dCYmdC5mb3JjZSxpPURhdGUubm93KCk7aWYoIW4mJnIuZ2l0U3RhdHVzU2Vzc2lvbklkPT09ZSYmci5naXRTdGF0dXMmJmktci5naXRTdGF0dXNMYXN0RmV0Y2hBdDwxZTMpcmV0dXJuIFByb21pc2UucmVzb2x2ZShyLmdpdFN0YXR1cyk7aWYoci5naXRTdGF0dXNJbmZsaWdodCYmci5naXRTdGF0dXNJbmZsaWdodC5zZXNzaW9uSWQ9PT1lKXJldHVybiByLmdpdFN0YXR1c0luZmxpZ2h0LnByb21pc2U7ci5naXRTdGF0dXNMb2FkaW5nPSEwO3ZhciBhPWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvZ2l0LXN0YXR1cyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lm9rP3UuanNvbigpOntpc0dpdDohMX19KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiByLmdpdFN0YXR1cz11fHx7aXNHaXQ6ITF9LHIuZ2l0U3RhdHVzU2Vzc2lvbklkPWUsci5naXRTdGF0dXNMYXN0RmV0Y2hBdD1EYXRlLm5vdygpLHhhKCksdX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2l0U3RhdHVzPXtpc0dpdDohMX0sci5naXRTdGF0dXNTZXNzaW9uSWQ9ZSxyLmdpdFN0YXR1c0xhc3RGZXRjaEF0PURhdGUubm93KCkseGEoKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3IuZ2l0U3RhdHVzTG9hZGluZz0hMSxyLmdpdFN0YXR1c0luZmxpZ2h0JiZyLmdpdFN0YXR1c0luZmxpZ2h0LnNlc3Npb25JZD09PWUmJihyLmdpdFN0YXR1c0luZmxpZ2h0PW51bGwpfSk7cmV0dXJuIHIuZ2l0U3RhdHVzSW5mbGlnaHQ9e3Nlc3Npb25JZDplLHByb21pc2U6YX0sYX12YXIgX249bnVsbCxObj1udWxsLG1oPW51bGw7ZnVuY3Rpb24gYmMoZSl7cmV0dXJuIGU9PT0iY29tbWl0LXRhZyJ8fGU9PT0iY29tbWl0LXRhZy1wdXNoInx8ZT09PSJjb21taXQtcHVzaCI/ZToiY29tbWl0In1mdW5jdGlvbiBFYyhlKXtyZXR1cm4gZT1iYyhlKSxlPT09ImNvbW1pdC10YWctcHVzaCI/e2FjdGlvbjplLGxhYmVsOiJDb21taXQgKyBUYWcgKyBQdXNoIix2ZXJiOiJcdTYzRDBcdTRFQTRcdTMwMDFcdTYyNTMgVGFnIFx1NUU3Nlx1NjNBOFx1OTAwMSIsd2l0aFRhZzohMCxwdXNoOiEwLHRvbmU6ImFsbCJ9OmU9PT0iY29tbWl0LXRhZyI/e2FjdGlvbjplLGxhYmVsOiJDb21taXQgKyBUYWciLHZlcmI6Ilx1NjNEMFx1NEVBNFx1NUU3Nlx1NjI1MyBUYWciLHdpdGhUYWc6ITAscHVzaDohMSx0b25lOiJ0YWcifTplPT09ImNvbW1pdC1wdXNoIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFB1c2giLHZlcmI6Ilx1NjNEMFx1NEVBNFx1NUU3Nlx1NjNBOFx1OTAwMSIsd2l0aFRhZzohMSxwdXNoOiEwLHRvbmU6InB1c2gifTp7YWN0aW9uOiJjb21taXQiLGxhYmVsOiJDb21taXQiLHZlcmI6Ilx1NEVDNVx1NjNEMFx1NEVBNCIsd2l0aFRhZzohMSxwdXNoOiExLHRvbmU6ImNvbW1pdCJ9fWZ1bmN0aW9uIF9vKCl7aWYoci5zZWxlY3RlZElkKXtyLnF1aWNrQ29tbWl0T3Blbj0hMCxyLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMSxyLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9ITEsci5xdWlja0NvbW1pdEVycm9yPSIiLHIucXVpY2tDb21taXRGb3JtPXtjdXN0b21NZXNzYWdlOiIiLHRhZzoiIix0YWdFZGl0ZWQ6ITF9LHIucXVpY2tDb21taXRQdXNoaW5nPSExLHIucXVpY2tDb21taXRQdXNoRXJyb3I9IiIsci5xdWlja0NvbW1pdFJlc3VsdD1udWxsLHIucXVpY2tDb21taXREcmFnQWN0aW9uPSJjb21taXQiLHByKCksQW4oKSx2cigpLE90KCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tb2RhbCIpO2UmJihlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHIubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsY2EoZSkpLF9uJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixfbiksX249ZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmci5xdWlja0NvbW1pdE9wZW4mJiFyLnF1aWNrQ29tbWl0U3VibWl0dGluZyYmIXIucXVpY2tDb21taXRQdXNoaW5nJiZlcigpfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfbiksSG4oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pLnRoZW4oZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0T3BlbiYmT3QoKX0pfX1mdW5jdGlvbiBlcigpe3IucXVpY2tDb21taXRPcGVuPSExLHIucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLHIucXVpY2tDb21taXRFcnJvcj0iIixyLnF1aWNrQ29tbWl0UmVzdWx0PW51bGwsci5xdWlja0NvbW1pdERyYWdBY3Rpb249ImNvbW1pdCI7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tb2RhbCIpO2UmJmUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci5mb2N1c1RyYXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsci5mb2N1c1RyYXBIYW5kbGVyKSxyLmZvY3VzVHJhcEhhbmRsZXI9bnVsbCksX24mJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixfbiksX249bnVsbCksTm4mJihObigpLE5uPW51bGwpLHIubGFzdEZvY3VzZWRFbGVtZW50JiZ0eXBlb2Ygci5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXM9PSJmdW5jdGlvbiImJnIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzKCl9ZnVuY3Rpb24gT3QoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7aWYoZSl7Tm4mJihObigpLE5uPW51bGwpO3ZhciB0PVJvKCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmlubmVySFRNTD10O3ZhciBpPW4ucXVlcnlTZWxlY3RvcigiI3F1aWNrLWNvbW1pdC1tb2RhbCIpO2kmJihlLmlubmVySFRNTD1pLmlubmVySFRNTCxObygpKX19ZnVuY3Rpb24gTm8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWNsb3NlLWJ0biIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGVyKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWNhbmNlbC1idG4iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlcik7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1haS1idG4iKTtuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixCYyk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1pLnZhbHVlfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihvKXsoby5tZXRhS2V5fHxvLmN0cmxLZXkpJiZvLmtleT09PSJFbnRlciImJihvLnByZXZlbnREZWZhdWx0KCksdHIoImNvbW1pdCIpKX0pKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LXRhZyIpO2EmJihhLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe3IucXVpY2tDb21taXRGb3JtLnRhZz1hLnZhbHVlLHIucXVpY2tDb21taXRGb3JtLnRhZ0VkaXRlZD0hMH0pLGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24obyl7by5rZXk9PT0iRW50ZXIiJiYoby5wcmV2ZW50RGVmYXVsdCgpLHRyKCJjb21taXQtdGFnIikpfSkpO3ZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtcHVzaC1hZnRlci1idG4iKTt1JiZ1LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBvPXIucXVpY2tDb21taXRSZXN1bHR8fHt9O0RjKHtwdXNoQ29tbWl0czohMCxwdXNoVGFnczohIW8udGFnTmFtZSxjbG9zZU9uU3VjY2VzczohMH0pfSksd2MoKX1mdW5jdGlvbiBGYyhlKXt2YXIgdD0hIShlJiZlLnRhZyksbj0hIShlJiZlLnB1c2gpO3JldHVybiB0JiZuPyJjb21taXQtdGFnLXB1c2giOnQ/ImNvbW1pdC10YWciOm4/ImNvbW1pdC1wdXNoIjoiY29tbWl0In12YXIgQ2M9NTgseWk9MTA7ZnVuY3Rpb24gam8oZSl7cmV0dXJuIGU9PT0idGFnIj97YWN0aW9uOiJjb21taXQtdGFnIixzdWI6ITF9OmU9PT0icHVzaCI/e2FjdGlvbjoiY29tbWl0LXB1c2giLHN1YjohMX06ZT09PSJzdWIiP3thY3Rpb246ImNvbW1pdCIsc3ViOiEwfTp7YWN0aW9uOiJjb21taXQiLHN1YjohMX19ZnVuY3Rpb24gd2MoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1maWVsZCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stc3RhZ2UiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxYy1kb2NrLWxhdW5jaCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stY2x1c3RlciIpO2lmKCFlfHwhdHx8IW58fCFpKXJldHVybjt2YXIgYT1bImNvbW1pdCIsInRhZyIsInB1c2giXSx1PXt9O2lmKGEuZm9yRWFjaChmdW5jdGlvbihrKXt1W2tdPWUucXVlcnlTZWxlY3RvcignW2RhdGEtY2hpcD0iJytrKyciXScpfSksIXUuY29tbWl0fHwhdS50YWd8fCF1LnB1c2gpcmV0dXJuO3Uuc3ViPWUucXVlcnlTZWxlY3RvcignW2RhdGEtY2hpcD0ic3ViIl0nKTt2YXIgbz0hIXUuc3ViLHM9bz9hLmNvbmNhdChbInN1YiJdKTphO2Z1bmN0aW9uIGwoayl7cmV0dXJuIHVba10/dVtrXS5vZmZzZXRXaWR0aDo5MH1mdW5jdGlvbiBkKCl7cmV0dXJuIHUuY29tbWl0P3UuY29tbWl0Lm9mZnNldEhlaWdodDozOH1mdW5jdGlvbiBmKCl7cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNzIwcHgpIikubWF0Y2hlc31mdW5jdGlvbiBjKCl7dmFyIGs9ZS5jbGllbnRXaWR0aCxJPWUuY2xpZW50SGVpZ2h0LFQ9ZCgpLFk9bCgiY29tbWl0Iiksaj1sKCJ0YWciKSxHPWwoInB1c2giKTtpZihmKCkmJm8pe3ZhciBNPU1hdGgubWF4KDgsSSouMi1ULzIpLHRlPU1hdGgubWluKEktVC04LEkqLjctVC8yKSxuZT1mdW5jdGlvbih1ZSl7cmV0dXJuIE1hdGgubWF4KDgsayouMjctdWUvMil9LE89ZnVuY3Rpb24odWUpe3JldHVybiBNYXRoLm1pbihrLXVlLTgsayouNzMtdWUvMil9O3JldHVybntjb21taXQ6e3g6bmUoWSkseTpNfSx0YWc6e3g6TyhqKSx5Ok19LHB1c2g6e3g6bmUoRykseTp0ZX0sc3ViOnt4Ok8obCgic3ViIikpLHk6dGV9fX12YXIgUD1mKCksXz1QP01hdGgubWF4KDgsSSouMTgtVC8yKTpNYXRoLm1heCg4LEkqLjEyKSxRPVA/TWF0aC5taW4oSS1ULTgsSSouNzItVC8yKTpNYXRoLm1pbihJLVQtOCxJKi44OC1UKSwkPVA/LjI0Oi4yOCxpZT1QPy43NjouNzIsZ2U9e2NvbW1pdDp7eDpNYXRoLm1heCg4LChrLVkpLzIpLHk6X30sdGFnOnt4Ok1hdGgubWF4KDgsayokLWovMikseTpRfSxwdXNoOnt4Ok1hdGgubWluKGstRy04LGsqaWUtRy8yKSx5OlF9fTtpZihvKXt2YXIgYWU9bCgic3ViIik7Z2Uuc3ViPXt4Ok1hdGgubWluKGstYWUtOCxrKi45NC1hZS8yKSx5Ok1hdGgubWF4KDgsTWF0aC5taW4oSS1ULTgsKEktVCkvMikpfX1yZXR1cm4gZ2V9dmFyIHY9e307ZnVuY3Rpb24gaChrLEksVCl7dVtrXSYmKHVba10uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitJLnRvRml4ZWQoMSkrInB4LCIrVC50b0ZpeGVkKDEpKyJweCkiKX1mdW5jdGlvbiBtKGspe3Y9YygpLHMuZm9yRWFjaChmdW5jdGlvbihJKXt1W0ldLmNsYXNzTGlzdC50b2dnbGUoInFjLWNoaXAtLWFuaW0iLCEhayksaChJLHZbSV0ueCx2W0ldLnkpfSl9bSghMSk7dmFyIGc9bnVsbDtmdW5jdGlvbiB5KGssSSxUKXt2YXIgWT1kKCksaj0yNCxHPXMuZmlsdGVyKGZ1bmN0aW9uKF8pe3JldHVybiBrLmluZGV4T2YoXyk+PTB9KSxNPUcucmVkdWNlKGZ1bmN0aW9uKF8sUSl7cmV0dXJuIE1hdGgubWF4KF8sbChRKSl9LDApLHRlPU0rTWF0aC5tYXgoMCxHLmxlbmd0aC0xKSpqLG5lPWUuY2xpZW50SGVpZ2h0LE89SS10ZS8yLFA9TWF0aC5tYXgoMixNYXRoLm1pbihuZS1ZLTIsVC1ZLzIpKTtyZXR1cm4gRy5mb3JFYWNoKGZ1bmN0aW9uKF8pe2goXyxPLFApLE8rPWp9KSx7eDpJLXRlLzItNyx5OlAtNyx3OnRlKzE0LGg6WSsxNH19ZnVuY3Rpb24gQihrKXtpLmNsYXNzTGlzdC5hZGQoImlzLWFjdGl2ZSIpLGkuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitrLngudG9GaXhlZCgxKSsicHgsIitrLnkudG9GaXhlZCgxKSsicHgpIixpLnN0eWxlLndpZHRoPWsudy50b0ZpeGVkKDEpKyJweCIsaS5zdHlsZS5oZWlnaHQ9ay5oLnRvRml4ZWQoMSkrInB4In1mdW5jdGlvbiBFKCl7aS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1hY3RpdmUiKX1mdW5jdGlvbiBDKGspe3JldHVybiBGYyh7Y29tbWl0OiEwLHRhZzprLmluZGV4T2YoInRhZyIpPj0wLHB1c2g6ay5pbmRleE9mKCJwdXNoIik+PTB9KX1mdW5jdGlvbiBEKGspe3JldHVybiBrLmluZGV4T2YoInN1YiIpPj0wfWZ1bmN0aW9uIEYoayl7dmFyIEk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stbGF1bmNoLWxhYmVsIik7SSYmKEkudGV4dENvbnRlbnQ9ayl9ZnVuY3Rpb24gTChrLEkpe3ZhciBUPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGs+PVQubGVmdCYmazw9VC5yaWdodCYmST49VC50b3AmJkk8PVQuYm90dG9tfWZ1bmN0aW9uIFMoayl7cmV0dXJuIGZ1bmN0aW9uKEkpe2lmKCEodVtrXS5kaXNhYmxlZHx8YmkoKSkpe2c9e2FuY2hvcjprLHBvaW50ZXJJZDpJLnBvaW50ZXJJZCxzdGFydFg6SS5jbGllbnRYLHN0YXJ0WTpJLmNsaWVudFksbW92ZWQ6ITEsbWVtYmVyczpba119LHMuZm9yRWFjaChmdW5jdGlvbihUKXt1W1RdLmNsYXNzTGlzdC5yZW1vdmUoInFjLWNoaXAtLWFuaW0iKX0pLHVba10uY2xhc3NMaXN0LmFkZCgiaXMtZ3JhYmJpbmciKTt0cnl7dVtrXS5zZXRQb2ludGVyQ2FwdHVyZShJLnBvaW50ZXJJZCl9Y2F0Y2h7fXQuY2xhc3NMaXN0LmFkZCgiaXMtZHJhZ2dpbmciKSxJLnByZXZlbnREZWZhdWx0KCl9fX1mdW5jdGlvbiBOKGspe2lmKCEoIWd8fGcucG9pbnRlcklkIT09ay5wb2ludGVySWQpKXsoTWF0aC5hYnMoay5jbGllbnRYLWcuc3RhcnRYKT4zfHxNYXRoLmFicyhrLmNsaWVudFktZy5zdGFydFkpPjMpJiYoZy5tb3ZlZD0hMCk7dmFyIEk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxUPWsuY2xpZW50WC1JLmxlZnQsWT1rLmNsaWVudFktSS50b3A7aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKFApe2lmKCEoZy5tZW1iZXJzLmluZGV4T2YoUCk+PTApKXt2YXIgXz12W1BdLngrbChQKS8yLFE9dltQXS55K2QoKS8yLCQ9VC1fLGllPVktUTtNYXRoLnNxcnQoJCokK2llKmllKTxDYyYmKGcubWVtYmVycy5wdXNoKFApLHVbUF0uY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHVbUF0uY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9fSksbyYmZy5tZW1iZXJzLmluZGV4T2YoInN1YiIpPDApe3ZhciBqPXYuc3ViLngteWksRz12LnN1Yi55LXlpLE09di5zdWIueCtsKCJzdWIiKSt5aSx0ZT12LnN1Yi55K2QoKSt5aTtUPj1qJiZUPD1NJiZZPj1HJiZZPD10ZSYmKGcubWVtYmVycy5wdXNoKCJzdWIiKSx1LnN1Yi5jbGFzc0xpc3QucmVtb3ZlKCJxYy1jaGlwLS1hbmltIiksdS5zdWIuY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9dmFyIG5lPXkoZy5tZW1iZXJzLFQsWSksTz1MKGsuY2xpZW50WCxrLmNsaWVudFkpO3Quc2V0QXR0cmlidXRlKCJkYXRhLWhvdCIsTz8iMSI6IjAiKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iLEMoZy5tZW1iZXJzKSksZy5tZW1iZXJzLmxlbmd0aD4xP0IobmUpOkUoKSxGKE8/Ilx1Njc3RVx1NjI0Qlx1NjI2N1x1ODg0QyI6Ilx1NjNEMFx1NEVBNCIpfX1mdW5jdGlvbiBKKGssSSl7aWYoISghZ3x8Zy5wb2ludGVySWQhPT1rLnBvaW50ZXJJZCkpe3ZhciBUPWc7Zz1udWxsLHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtZHJhZ2dpbmciKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1ob3QiLCIwIiksRigiXHU2M0QwXHU0RUE0IiksRSgpLHMuZm9yRWFjaChmdW5jdGlvbihqKXt1W2pdLmNsYXNzTGlzdC5yZW1vdmUoImlzLWdyYWJiaW5nIiwiaXMtYXR0YWNoZWQiKX0pO3RyeXt1W1QuYW5jaG9yXS5yZWxlYXNlUG9pbnRlckNhcHR1cmUoVC5wb2ludGVySWQpfWNhdGNoe31pZighSSYmIVQubW92ZWQpe3ZhciBZPWpvKFQuYW5jaG9yKTt0cihZLmFjdGlvbixZLnN1Yik7cmV0dXJufWlmKCFJJiZMKGsuY2xpZW50WCxrLmNsaWVudFkpKXt0cihDKFQubWVtYmVycyksRChULm1lbWJlcnMpKTtyZXR1cm59dC5zZXRBdHRyaWJ1dGUoImRhdGEtYWN0aW9uIiwiY29tbWl0IiksbSghMCl9fXZhciBXPWZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdE9wZW4mJiFnJiZtKCExKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsVykscy5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciBJPXVba107SS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsUyhrKSksSS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsTiksSS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLGZ1bmN0aW9uKFQpe0ooVCwhMSl9KSxJLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLGZ1bmN0aW9uKFQpe0ooVCwhMCl9KSxJLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKFQpe2lmKCEoSS5kaXNhYmxlZHx8YmkoKSkmJihULmtleT09PSJFbnRlciJ8fFQua2V5PT09IiAifHxULmtleT09PSJTcGFjZWJhciIpKXtULnByZXZlbnREZWZhdWx0KCk7dmFyIFk9am8oayk7dHIoWS5hY3Rpb24sWS5zdWIpfX0pfSksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtuLmRpc2FibGVkfHxiaSgpfHxnfHx0cigiY29tbWl0Iil9KSxObj1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFcpLGc9bnVsbH19ZnVuY3Rpb24gQmMoKXtpZighKCFyLnNlbGVjdGVkSWR8fHIucXVpY2tDb21taXRHZW5lcmF0aW5nKSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7ZSYmKHIucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9ZS52YWx1ZSk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC10YWciKTt0JiYoci5xdWlja0NvbW1pdEZvcm0udGFnPXQudmFsdWUpLHIucXVpY2tDb21taXRHZW5lcmF0aW5nPSEwLHIucXVpY2tDb21taXRFcnJvcj0iIixPdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuc2VsZWN0ZWRJZCkrIi9nZW5lcmF0ZS1jb21taXQtbWVzc2FnZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe30pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCkudGhlbihmdW5jdGlvbihpKXtyZXR1cm57b2s6bi5vayxkYXRhOml9fSl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKCFuLm9rKXRocm93IG5ldyBFcnJvcihuLmRhdGEmJm4uZGF0YS5lcnJvcnx8IkFJIFx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNVx1MzAwMiIpO3ZhciBpPW4uZGF0YXx8e30sYT10eXBlb2YgaS5tZXNzYWdlPT0ic3RyaW5nIj9pLm1lc3NhZ2U6IiIsdT10eXBlb2YgaS5zdWdnZXN0ZWRUYWc9PSJzdHJpbmciP2kuc3VnZ2VzdGVkVGFnLnRyaW0oKToiIixvPShyLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlfHwiIikudHJpbSgpOyFvJiZhJiYoci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1hKSx1JiYoci5xdWlja0NvbW1pdEZvcm0udGFnRWRpdGVkfHwoci5xdWlja0NvbW1pdEZvcm0udGFnPXUpLHIucXVpY2tDb21taXREcmFnQWN0aW9uPSJjb21taXQtdGFnIil9KS5jYXRjaChmdW5jdGlvbihuKXtyLnF1aWNrQ29tbWl0RXJyb3I9biYmbi5tZXNzYWdlfHwiQUkgXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1XHUzMDAyIn0pLmZpbmFsbHkoZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0R2VuZXJhdGluZz0hMSxyLnF1aWNrQ29tbWl0T3BlbiYmT3QoKX0pfX1mdW5jdGlvbiB0cihlLHQpe2lmKCEoIXIuc2VsZWN0ZWRJZHx8ci5xdWlja0NvbW1pdFN1Ym1pdHRpbmcpKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1lc3NhZ2UiKTtuJiYoci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1uLnZhbHVlKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LXRhZyIpO2kmJihyLnF1aWNrQ29tbWl0Rm9ybS50YWc9aS52YWx1ZSk7dmFyIGE9ci5xdWlja0NvbW1pdEZvcm18fHt9LHU9RWMoZXx8ci5xdWlja0NvbW1pdERyYWdBY3Rpb258fCJjb21taXQiKSxvPXUud2l0aFRhZyxzPW8/KGEudGFnfHwiIikudHJpbSgpOiIiLGw9KGEuY3VzdG9tTWVzc2FnZXx8IiIpLnRyaW0oKSxkPSFsLGY9e2JyYW5jaDooci5naXRTdGF0dXN8fHt9KS5icmFuY2h8fCIiLGNvbW1pdEhhc2g6KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdCYmKHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zaG9ydEhhc2g/KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zaG9ydEhhc2g6KHIuZ2l0U3RhdHVzfHx7fSkuaGVhZD8oci5naXRTdGF0dXN8fHt9KS5oZWFkLnN1YnN0cmluZygwLDcpOiIiLGNvbW1pdFN1YmplY3Q6KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdCYmKHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zdWJqZWN0PyhyLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc3ViamVjdDoiIix0YWc6KHIuZ2l0U3RhdHVzfHx7fSkubGF0ZXN0VGFnfHwiIn0sYz17YXV0b01lc3NhZ2U6ZCxjdXN0b21NZXNzYWdlOmQ/IiI6bCx0YWc6cyxhdXRvVGFnOiEhKG8mJiFzKSxwdXNoOiEhdS5wdXNoLHN1Ym1vZHVsZTohIXR9O3IucXVpY2tDb21taXRTdWJtaXR0aW5nPSEwLHIucXVpY2tDb21taXRTdWJtb2R1bGVJbnRlbnQ9ISF0LHIucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz1kfHxjLmF1dG9UYWcsci5xdWlja0NvbW1pdEVycm9yPSIiLHIucXVpY2tDb21taXRQdXNoRXJyb3I9IiIsci5xdWlja0NvbW1pdFJlc3VsdD1udWxsLHIucXVpY2tDb21taXREcmFnQWN0aW9uPXUuYWN0aW9uLE90KCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL3F1aWNrLWNvbW1pdCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoYyl9KS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybiB2Lmpzb24oKS50aGVuKGZ1bmN0aW9uKGgpe3JldHVybntvazp2Lm9rLGRhdGE6aH19KX0pLnRoZW4oZnVuY3Rpb24odil7aWYoIXYub2spdGhyb3cgbmV3IEVycm9yKHYuZGF0YSYmdi5kYXRhLmVycm9yfHwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIik7dmFyIGg9di5kYXRhfHx7fSxtPWguY29tbWl0JiZoLmNvbW1pdC5oYXNoP2guY29tbWl0Lmhhc2guc3Vic3RyaW5nKDAsNyk6IiIsZz1oLnRhZyYmaC50YWcubmFtZT9oLnRhZy5uYW1lOiIiLHk9QXJyYXkuaXNBcnJheShoLnN1Ym1vZHVsZUNvbW1pdHMpP2guc3VibW9kdWxlQ29tbWl0czpbXSxCPXkubGVuZ3RoPjA/Ilx1NURGMlx1NTE0OFx1NjNEMFx1NEVBNCAiK3kubGVuZ3RoKyIgXHU0RTJBIHN1Ym1vZHVsZVx1RkYwOCIreS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIEMucGF0aH0pLmpvaW4oIlx1MzAwMSIpKyJcdUZGMDlcdUZGMEMiOiIiLEU9QisiXHU1REYyXHU2M0QwXHU0RUE0IisobT8iICIrbToiIikrKGc/Ilx1RkYwQ1x1NURGMlx1NjI1MyBUYWcgIitnOiIiKTtyLnF1aWNrQ29tbWl0UmVzdWx0PXthY3Rpb246dS5hY3Rpb24saW5jbHVkZVN1Ym1vZHVsZTohIXQscHVzaGVkOiEhaC5wdXNoZWQscHVzaEVycm9yOmgucHVzaEVycm9yfHwiIixjb21taXRIYXNoOm0sY29tbWl0TWVzc2FnZTpoLmNvbW1pdCYmaC5jb21taXQubWVzc2FnZT9oLmNvbW1pdC5tZXNzYWdlOmwsdGFnTmFtZTpnLG9sZFRhZzpmLnRhZyxvbGRDb21taXRIYXNoOmYuY29tbWl0SGFzaCxvbGRDb21taXRTdWJqZWN0OmYuY29tbWl0U3ViamVjdCxzdWJtb2R1bGVDb3VudDp5Lmxlbmd0aH0sdS5wdXNoJiYhaC5wdXNoRXJyb3I/KHR5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KEUrIlx1RkYwQ1x1NURGMlx1NjNBOFx1OTAwMVx1MzAwMiIsInN1Y2Nlc3MiKSxlcigpKToodHlwZW9mIHg9PSJmdW5jdGlvbiImJngoRSsoaC5wdXNoRXJyb3I/Ilx1RkYxQnB1c2ggXHU1OTMxXHU4RDI1XHVGRjFBIitoLnB1c2hFcnJvcjoiXHUzMDAyIiksaC5wdXNoRXJyb3I/ImVycm9yIjoic3VjY2VzcyIpLHIuc2VsZWN0ZWRJZCYmSG4oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pLnRoZW4oZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0T3BlbiYmT3QoKX0pKX0pLmNhdGNoKGZ1bmN0aW9uKHYpe3IucXVpY2tDb21taXRFcnJvcj12JiZ2Lm1lc3NhZ2V8fCJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTRcdTU5MzFcdThEMjVcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe3IucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLHIucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz0hMSxyLnF1aWNrQ29tbWl0T3BlbiYmT3QoKX0pfX1mdW5jdGlvbiBEYyhlKXtpZighKCFyLnNlbGVjdGVkSWR8fHIucXVpY2tDb21taXRQdXNoaW5nKSl7dmFyIHQ9ISEoZSYmZS5wdXNoQ29tbWl0cyksbj0hIShlJiZlLnB1c2hUYWdzKSxpPSEhKGUmJmUuY2xvc2VPblN1Y2Nlc3MpO2lmKCEoIXQmJiFuKSl7dmFyIGE9ci5xdWlja0NvbW1pdFJlc3VsdHx8e30sdT0hIWEuaW5jbHVkZVN1Ym1vZHVsZTtyLnF1aWNrQ29tbWl0UHVzaGluZz0hMCxyLnF1aWNrQ29tbWl0UHVzaEVycm9yPSIiLE90KCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL2dpdC9wdXNoIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cHVzaENvbW1pdHM6dCxwdXNoVGFnczpuLHN1Ym1vZHVsZTp1LHRhZzphLnRhZ05hbWV8fCIifSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybntvazpvLm9rLGRhdGE6c319KX0pLnRoZW4oZnVuY3Rpb24obyl7dmFyIHM9by5kYXRhfHx7fTtpZighby5vayl0aHJvdyBuZXcgRXJyb3IocyYmcy5lcnJvcnx8Ilx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIpO2lmKHMuZXJyb3Ipe3IucXVpY2tDb21taXRQdXNoRXJyb3I9cy5lcnJvcix0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeCgiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHVGRjFBIitzLmVycm9yLCJlcnJvciIpO3JldHVybn12YXIgbD1bXTtzLnB1c2hlZENvbW1pdHMmJmwucHVzaCgiY29tbWl0cyIpLHMucHVzaGVkVGFncyYmbC5wdXNoKCJ0YWdzIik7dmFyIGQ9bC5sZW5ndGg/bC5qb2luKCIgXHU1NDhDICIpOiJcdUZGMDhcdTY1RTBcdTUxODVcdTVCQjlcdUZGMDkiO3R5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KCJcdTVERjJcdTYzQThcdTkwMDEgIitkLCJzdWNjZXNzIiksci5xdWlja0NvbW1pdFJlc3VsdCYmKHIucXVpY2tDb21taXRSZXN1bHQucHVzaGVkPSEwKSxpPyhlcigpLHIuc2VsZWN0ZWRJZCYmSG4oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pKTpyLnNlbGVjdGVkSWQmJkhuKHIuc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KS50aGVuKGZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdE9wZW4mJk90KCl9KX0pLmNhdGNoKGZ1bmN0aW9uKG8pe3IucXVpY2tDb21taXRQdXNoRXJyb3I9byYmby5tZXNzYWdlfHwiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIix0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeChyLnF1aWNrQ29tbWl0UHVzaEVycm9yLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe3IucXVpY2tDb21taXRQdXNoaW5nPSExLHIucXVpY2tDb21taXRPcGVuJiZPdCgpfSl9fX1mdW5jdGlvbiBrYyhlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZih0PT09Ij8/IilyZXR1cm57bGV0dGVyOiJVIixjbHM6InVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9O2lmKHQ9PT0iISEiKXJldHVybntsZXR0ZXI6IkkiLGNsczoiaWdub3JlZCIsdGl0bGU6Ilx1NURGMlx1NUZGRFx1NzU2NSJ9O2Zvcih2YXIgbj0iIixpPTA7aTxlLmxlbmd0aDtpKyspaWYoZVtpXSYmZVtpXSE9PSIuIiYmZVtpXSE9PSIgIil7bj1lW2ldO2JyZWFrfW49KG58fHRbMF18fCI/IikudG9VcHBlckNhc2UoKTt2YXIgYT17QTp7Y2xzOiJhZGQiLHRpdGxlOiJcdTY1QjBcdTU4OUUifSxNOntjbHM6Im1vZCIsdGl0bGU6Ilx1NEZFRVx1NjUzOSJ9LEQ6e2NsczoiZGVsIix0aXRsZToiXHU1MjIwXHU5NjY0In0sUjp7Y2xzOiJyZW4iLHRpdGxlOiJcdTkxQ0RcdTU0N0RcdTU0MEQifSxDOntjbHM6InJlbiIsdGl0bGU6Ilx1NTkwRFx1NTIzNiJ9LFQ6e2NsczoibW9kIix0aXRsZToiXHU3QzdCXHU1NzhCXHU1M0Q4XHU2NkY0In0sVTp7Y2xzOiJkZWwiLHRpdGxlOiJcdTUxQjJcdTdBODEifX0sdT1hW25dfHx7Y2xzOiJvdGhlciIsdGl0bGU6Ilx1NURGMlx1NjZGNFx1NjUzOSJ9O3JldHVybntsZXR0ZXI6bixjbHM6dS5jbHMsdGl0bGU6dS50aXRsZX19ZnVuY3Rpb24gZ2goZSl7dmFyIHQ9ZS5tYXAoZnVuY3Rpb24obil7dmFyIGk9a2Mobi5zdGF0dXN8fCIiKSxhPW4ucGF0aHx8IiIsdT1hLmxhc3RJbmRleE9mKCIvIiksbz11Pj0wP2Euc2xpY2UoMCx1KzEpOiIiLHM9dT49MD9hLnNsaWNlKHUrMSk6YSxsPSIiO2lmKG4uaXNTdWJtb2R1bGUpe3ZhciBkPW4uc3VibW9kdWxlU3RhdGV8fHt9LGY9W107ZC5jb21taXRDaGFuZ2VkJiZmLnB1c2goIlx1NjVCMFx1NjMwN1x1OTQ4OCIpLGQuaGFzVHJhY2tlZENoYW5nZXMmJmYucHVzaCgiZGlydHkiKSxkLmhhc1VudHJhY2tlZCYmZi5wdXNoKCJcdTY3MkFcdThEREZcdThFMkEiKTt2YXIgYz1mLmxlbmd0aD8ic3VibW9kdWxlIFx4QjcgIitmLmpvaW4oIiAvICIpOiJzdWJtb2R1bGUiO2w9JzxzcGFuIGNsYXNzPSJxYy1zdWJtb2R1bGUtYmFkZ2UiPicrcChjKSsiPC9zcGFuPiJ9cmV0dXJuJzxkaXYgY2xhc3M9InFjLWZpbGUtcm93IiB0aXRsZT0iJytwKGEpKyciPjxzcGFuIGNsYXNzPSJxYy1maWxlLWJhZGdlIHFjLWJhZGdlLScraS5jbHMrJyIgdGl0bGU9IicrcChpLnRpdGxlKSsnIj4nK3AoaS5sZXR0ZXIpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InFjLWZpbGUtcGF0aCI+Jysobz8nPHNwYW4gY2xhc3M9InFjLWZpbGUtZGlyIj4nK3AobykrIjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9InFjLWZpbGUtbmFtZSI+JytwKHMpKyI8L3NwYW4+PC9zcGFuPiIrbCsiPC9kaXY+In0pLmpvaW4oIiIpO3JldHVybiB0fHwnPGRpdiBjbGFzcz0icWMtZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTNFRlx1NjNEMFx1NEVBNFx1NzY4NFx1NjUzOVx1NTJBOFx1MzAwMjwvZGl2Pid9ZnVuY3Rpb24gYmkoKXtyZXR1cm4gci5xdWlja0NvbW1pdFN1Ym1pdHRpbmd8fHIucXVpY2tDb21taXRQdXNoaW5nfWZ1bmN0aW9uIEVpKGUsdCxuLGkpe3JldHVybic8ZGl2IGNsYXNzPSJxYy1wYWlyJysoaT8iICIraToiIikrJyI+PGRpdiBjbGFzcz0icWMtcGFpci1sYWJlbCI+JytwKGUpKyc8L2Rpdj48ZGl2IGNsYXNzPSJxYy1wYWlyLWZsb3ciPjxkaXYgY2xhc3M9InFjLXBhaXItdmFsdWUgcWMtcGFpci12YWx1ZS0tZnJvbSI+Jyt0Kyc8L2Rpdj48ZGl2IGNsYXNzPSJxYy1wYWlyLWFycm93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci12YWx1ZSBxYy1wYWlyLXZhbHVlLS10byI+JytuKyI8L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEFjKCl7dmFyIGU9ci5naXRTdGF0dXN8fHt9O2lmKGUuaGFzU3VibW9kdWxlPT09ITApcmV0dXJuITA7Zm9yKHZhciB0PWUuZmlsZXN8fFtdLG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dJiZ0W25dLmlzU3VibW9kdWxlPT09ITApcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24geGMoZSl7dmFyIHQ9IWV8fGJpKCksbj1BYygpO2lmKHIucXVpY2tDb21taXRTdWJtaXR0aW5nKXt2YXIgaT1yLnF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50PyJcdUZGMDhcdTU0MkIgc3VibW9kdWxlXHVGRjA5IjoiIixhPShyLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc/IkFJIFx1NzUxRlx1NjIxMCArIFx1NjNEMFx1NEVBNFx1NEUyRFx1MjAyNiI6Ilx1NjI2N1x1ODg0Q1x1NEUyRFx1MjAyNiIpK2k7cmV0dXJuJzxkaXYgY2xhc3M9InFjLWRvY2std3JhcCI+PGRpdiBjbGFzcz0icWMtZG9jay1idXN5IiByb2xlPSJzdGF0dXMiPjxzcGFuIGNsYXNzPSJxYy1kb2NrLWJ1c3ktZG90Ij48L3NwYW4+JytwKGEpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIHUocyxsLGQpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InFjLWNoaXAgcWMtY2hpcC0tJytzKyciIGRhdGEtY2hpcD0iJytzKyciJysoZD8nIHRpdGxlPSInK3AoZCkrJyInOiIiKSsodD8iIGRpc2FibGVkIjoiIikrJz48c3BhbiBjbGFzcz0icWMtY2hpcC1kb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InFjLWNoaXAtbGFiZWwiPicrbCsiPC9zcGFuPjwvYnV0dG9uPiJ9dmFyIG89dD9lPyIiOiJcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzBcdUZGMENcdTY1RTBcdTUzRUZcdTYzRDBcdTRFQTQiOiJcdTYyRDZcdTUyQThcdTc4QzFcdTU0MzhcdTdFQzRcdTU0MDggXHhCNyBcdTRFMjJcdThGREJcdTYzRDBcdTRFQTRcdTUzM0FcdTYyNjdcdTg4NEMgXHhCNyBcdTUzNTVcdTUxRkJcdTc2RjRcdTYzQTVcdTYyNjdcdTg4NENcdThCRTVcdTk4NzkiKyhuPyIgXHhCNyBTdWIgXHU3NDAzXHU1M0VGXHU5MDA5XHVGRjBDXHU3RUIzXHU1MTY1XHU1NDBFXHU5MDEyXHU1RjUyXHU1OTA0XHU3NDA2IHN1Ym1vZHVsZSI6IiIpO3JldHVybic8ZGl2IGNsYXNzPSJxYy1kb2NrLXdyYXAgcWMtZG9jay13cmFwLS1tYWduZXRpYyInKyh0PycgZGF0YS1kaXNhYmxlZD0iMSInOiIiKSsnPjxkaXYgaWQ9InFjLWRvY2stc3RhZ2UiIGNsYXNzPSJxYy1kb2NrLXN0YWdlIiBkYXRhLWFjdGlvbj0iY29tbWl0IiBkYXRhLWhvdD0iMCI+PGRpdiBpZD0icWMtZG9jay1maWVsZCIgY2xhc3M9InFjLWRvY2stZmllbGQiPjxkaXYgaWQ9InFjLWRvY2stY2x1c3RlciIgY2xhc3M9InFjLWRvY2stY2x1c3RlciIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PicrdSgiY29tbWl0IiwiQ29tbWl0IikrdSgidGFnIiwiVGFnIikrdSgicHVzaCIsIlB1c2giKSsobj91KCJzdWIiLCJTdWIiLCJcdTYzRDBcdTRFQTRcdTcyMzZcdTRFRDNcdTVFOTNcdTVFNzZcdTkwMTJcdTVGNTJcdThGREJcdTUxNjUgc3VibW9kdWxlXHVGRjA4Y29tbWl0IC8gdGFnIC8gXHU1MjA2XHU1MjJCXHU2M0E4XHU5MDAxXHVGRjA5Iik6IiIpKyc8L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9InFjLWRvY2stbGF1bmNoIiBjbGFzcz0icWMtZG9jay1sYXVuY2giJysodD8iIGRpc2FibGVkIjoiIikrJyBhcmlhLWxhYmVsPSJcdTYyNjdcdTg4NENcdTYzRDBcdTRFQTQiPjxzcGFuIGNsYXNzPSJxYy1kb2NrLWxhdW5jaC1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNSAxMmgxMk0xMyA2bDYgNi02IDYiLz48L3N2Zz48L3NwYW4+PHNwYW4gaWQ9InFjLWRvY2stbGF1bmNoLWxhYmVsIiBjbGFzcz0icWMtZG9jay1sYXVuY2gtbGFiZWwiPlx1NjNEMFx1NEVBNDwvc3Bhbj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJxYy1kb2NrLWhpbnQiPicrcChvKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBTYygpe3ZhciBlPXIucXVpY2tDb21taXRSZXN1bHQ7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9ZS5vbGRDb21taXRIYXNoPyI8Y29kZT4iK3AoZS5vbGRDb21taXRIYXNoKSsiPC9jb2RlPiIrKGUub2xkQ29tbWl0U3ViamVjdD8iPHNwYW4+IitwKGUub2xkQ29tbWl0U3ViamVjdCkrIjwvc3Bhbj4iOiIiKTonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTA8L3NwYW4+JyxuPWUuY29tbWl0SGFzaD8iPGNvZGU+IitwKGUuY29tbWl0SGFzaCkrIjwvY29kZT48c3Bhbj4iK3AoZS5jb21taXRNZXNzYWdlfHwiIikrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMDwvc3Bhbj4nLGk9ZS5vbGRUYWc/Ijxjb2RlPiIrcChlLm9sZFRhZykrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCB0YWc8L3NwYW4+JyxhPWUudGFnTmFtZT8iPGNvZGU+IitwKGUudGFnTmFtZSkrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjcyQVx1NjI1MyB0YWc8L3NwYW4+Jyx1PWUucHVzaGVkPyc8c3BhbiBjbGFzcz0icWMtcmVzdWx0LXB1c2hlZCI+XHU1REYyXHU2M0E4XHU5MDAxPC9zcGFuPic6JzxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1wdXNoLWFmdGVyLWJ0biIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiInKyhyLnF1aWNrQ29tbWl0UHVzaGluZz8iIGRpc2FibGVkIjoiIikrIj4iKyhyLnF1aWNrQ29tbWl0UHVzaGluZz8iXHU2M0E4XHU5MDAxXHU0RTJELi4uIjoiUHVzaCAmIENsb3NlIikrIjwvYnV0dG9uPiI7cmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJxYy1yZXN1bHQtcGFuZWwiPicrRWkoIkNvbW1pdCIsdCxuLCIiKStFaSgiVGFnIixpLGEsInFjLXBhaXItLXRhZyIpKyhlLnB1c2hFcnJvcnx8ci5xdWlja0NvbW1pdFB1c2hFcnJvcj8nPHAgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPicrcChlLnB1c2hFcnJvcnx8ci5xdWlja0NvbW1pdFB1c2hFcnJvcikrIjwvcD4iOiIiKSsnPGRpdiBjbGFzcz0icWMtcmVzdWx0LWFjdGlvbnMiPjxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1jYW5jZWwtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1MTczXHU5NUVEPC9idXR0b24+Jyt1KyI8L2Rpdj48L3NlY3Rpb24+In1mdW5jdGlvbiBSbygpe3ZhciBlPXIuZ2l0U3RhdHVzfHx7fSx0PXIucXVpY2tDb21taXRGb3JtfHx7Y3VzdG9tTWVzc2FnZToiIix0YWc6IiIsdGFnRWRpdGVkOiExfSxuPShlLm1vZGlmaWVkQ291bnR8fDApPjAsaT1yLnF1aWNrQ29tbWl0R2VuZXJhdGluZyxhPWUubGFzdENvbW1pdHx8e30sdT1hLnNob3J0SGFzaD8iPGNvZGU+IitwKGEuc2hvcnRIYXNoKSsiPC9jb2RlPjxzcGFuPiIrcChhLnN1YmplY3R8fCIiKSsiPC9zcGFuPiI6ZS5oZWFkPyI8Y29kZT4iK3AoZS5oZWFkLnN1YnN0cmluZygwLDcpKSsiPC9jb2RlPiI6JzxzcGFuIGNsYXNzPSJxYy1tdXRlZCI+XHU2NUUwIGNvbW1pdDwvc3Bhbj4nLG89ZS5sYXRlc3RUYWc/Ijxjb2RlPiIrcChlLmxhdGVzdFRhZykrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCB0YWc8L3NwYW4+JyxzPSc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InF1aWNrLWNvbW1pdC10YWciIGNsYXNzPSJmaWVsZC1pbnB1dCBxYy10YWctZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTc1NTlcdTdBN0FcdTUyMTkgQUkgXHU3NTFGXHU2MjEwIiB2YWx1ZT0iJytwKHQudGFnfHwiIikrJyInKyhyLnF1aWNrQ29tbWl0U3VibWl0dGluZz8iIGRpc2FibGVkIjoiIikrIj4iLGw9Jzx0ZXh0YXJlYSBpZD0icXVpY2stY29tbWl0LW1lc3NhZ2UiIGNsYXNzPSJmaWVsZC1pbnB1dCBxYy1tZXNzYWdlLWlucHV0IiByb3dzPSIzIiBwbGFjZWhvbGRlcj0iTmV3IGNvbW1pdCBtZXNzYWdlIiAnKyhyLnF1aWNrQ29tbWl0U3VibWl0dGluZz8iZGlzYWJsZWQiOiIiKSsiPiIrcCh0LmN1c3RvbU1lc3NhZ2V8fCIiKSsiPC90ZXh0YXJlYT4iLGQ9W107ZC5wdXNoKGUuYnJhbmNofHwiKG5vIGJyYW5jaCkiKSxkLnB1c2gobj8oZS5tb2RpZmllZENvdW50fHwwKSsiIFx1NEUyQVx1NjUzOVx1NTJBOCI6Ilx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCIpLHR5cGVvZiBlLmFoZWFkPT0ibnVtYmVyIiYmZS5haGVhZD4wJiZkLnB1c2goIlx1MjE5MSIrZS5haGVhZCksdHlwZW9mIGUuYmVoaW5kPT0ibnVtYmVyIiYmZS5iZWhpbmQ+MCYmZC5wdXNoKCJcdTIxOTMiK2UuYmVoaW5kKTt2YXIgZj1yLnF1aWNrQ29tbWl0UmVzdWx0PyIiOic8c2VjdGlvbiBjbGFzcz0icWMtcmVsZWFzZS1wYW5lbCI+PGRpdiBjbGFzcz0icWMtbWVzc2FnZS1oZWFkZXIiPjxzcGFuIGNsYXNzPSJxYy1zZWN0aW9uLXRpdGxlIj5OZXc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJxdWljay1jb21taXQtYWktYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gcWMtYWktYnRuIicrKGk/IiBkaXNhYmxlZCI6IiIpKycgdGl0bGU9IkFJIFx1NzUxRlx1NjIxMCBjb21taXQgbWVzc2FnZSBcdTRFMEUgdGFnIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMS41bDEuNCAzLjZMMTMgNi41IDkuNCA3LjkgOCAxMS41IDYuNiA3LjkgMyA2LjVsMy42LTEuNEw4IDEuNXpNMTIuNSAxMC41bC43IDEuOCAxLjguNy0xLjguNy0uNyAxLjgtLjctMS44LTEuOC0uNyAxLjgtLjcuNy0xLjh6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz48c3Bhbj4nKyhpPyJcdTc1MUZcdTYyMTBcdTRFMkQuLi4iOiJBSSIpKyI8L3NwYW4+PC9idXR0b24+PC9kaXY+IitFaSgiQ29tbWl0Iix1LGwsInFjLXBhaXItLWNvbW1pdCIpK0VpKCJUYWciLG8scywicWMtcGFpci0tdGFnIikrKHIucXVpY2tDb21taXRFcnJvcj8nPHAgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPicrcChyLnF1aWNrQ29tbWl0RXJyb3IpKyI8L3A+IjoiIikreGMobikrJzxkaXYgY2xhc3M9InFjLW1vZGFsLWFjdGlvbnMiPjxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1jYW5jZWwtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1M0Q2XHU2RDg4PC9idXR0b24+PC9kaXY+PC9zZWN0aW9uPicsYz1TYygpO3JldHVybic8c2VjdGlvbiBpZD0icXVpY2stY29tbWl0LW1vZGFsIiBjbGFzcz0ibW9kYWwtYmFja2Ryb3AnKyhyLnF1aWNrQ29tbWl0T3Blbj8iIjoiIGhpZGRlbiIpKyciPjxkaXYgY2xhc3M9Im1vZGFsIHF1aWNrLWNvbW1pdC1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWNvbW1pdC10aXRsZSI+PGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj48ZGl2PjxoMiBpZD0icXVpY2stY29tbWl0LXRpdGxlIiBjbGFzcz0ibW9kYWwtdGl0bGUiPlx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNDwvaDI+PHAgY2xhc3M9Im1vZGFsLXN1YnRpdGxlIj4nK3AoZC5qb2luKCIgXHhCNyAiKSkrJzwvcD48L2Rpdj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2xvc2UtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+JytmK2MrIjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4ifWZ1bmN0aW9uIEljKCl7cmV0dXJuJzxzZWN0aW9uIGlkPSJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgd29ya3RyZWUtbWVyZ2UtbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTU0MDhcdTVFNzYgV29ya3RyZWU8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+XHU2OEMwXHU2N0U1XHU1RjUzXHU1MjREXHU0RUZCXHU1MkExXHU1MjA2XHU2NTJGXHU1RTc2XHU1RkVCXHU2Mzc3XHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLXdvcmt0cmVlLW1lcmdlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPjxkaXYgaWQ9Indvcmt0cmVlLW1lcmdlLWNvbnRlbnQiIGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1jb250ZW50Ij48L2Rpdj48cCBpZD0id29ya3RyZWUtbWVyZ2UtZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiI+PC9wPjxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLWFjdGlvbnMiPjxidXR0b24gaWQ9Indvcmt0cmVlLW1lcmdlLWNhbmNlbC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSI+XHU1M0Q2XHU2RDg4PC9idXR0b24+PGJ1dHRvbiBpZD0id29ya3RyZWUtbWVyZ2UtY29uZmlybS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlx1Nzg2RVx1OEJBNFx1NTQwOFx1NUU3Nlx1NUU3Nlx1NkUwNVx1NzQwNjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4nfWZ1bmN0aW9uIFRjKCl7cmV0dXJuJzxzZWN0aW9uIGlkPSJzZXR0aW5ncy1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgc2V0dGluZ3MtbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciBzZXR0aW5ncy1tb2RhbC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGFsLXRpdGxlLWdyb3VwIj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdThCQkVcdTdGNkU8L2gyPjxwIGNsYXNzPSJzZXR0aW5ncy1tb2RhbC1zdWJ0aXRsZSI+XHU4QzAzXHU2NTc0XHU1RTk0XHU3NTI4XHU5MTREXHU3RjZFXHUzMDAxXHU5MDFBXHU3N0U1XHUzMDAxXHU1Qjg5XHU1MTY4XHU1NDhDXHU2NjNFXHU3OTNBXHU1MDRGXHU1OTdEPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLXNldHRpbmdzLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkgc2V0dGluZ3MtbW9kYWwtYm9keSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbGF5b3V0Ij48YXNpZGUgY2xhc3M9InNldHRpbmdzLXNpZGViYXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLXNpZGViYXItaGVhZGVyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLXRpdGxlIj5cdTUwNEZcdTU5N0RcdThCQkVcdTdGNkU8L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLWhpbnQiPlx1NURFNlx1NEZBN1x1NTIwN1x1NjM2Mlx1NTIwNlx1NTMzQVx1RkYwQ1x1NTNGM1x1NEZBN1x1NjdFNVx1NzcwQlx1OEJFNlx1N0VDNlx1OEJGNFx1NjYwRVx1NEUwRVx1OTAwOVx1OTg3OVx1MzAwMjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRhYnMiIHJvbGU9InRhYmxpc3QiIGFyaWEtbGFiZWw9Ilx1OEJCRVx1N0Y2RVx1NTIwNlx1N0VDNCIgYXJpYS1vcmllbnRhdGlvbj0idmVydGljYWwiPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiBhY3RpdmUiIGRhdGEtdGFiPSJhYm91dCIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItYWJvdXQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1MTczXHU0RThFPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU3MjQ4XHU2NzJDXHUzMDAxXHU2NkY0XHU2NUIwXHU0RTBFXHU4RkRFXHU2M0E1XHU2NUI5XHU1RjBGPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9ImdlbmVyYWwiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1nZW5lcmFsIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NkEyMVx1NTc4Qlx1MzAwMVx1NkEyMVx1NUYwRlx1NEUwRVx1OEZEMFx1ODg0Q1x1NzNBRlx1NTg4Mzwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJub3RpZmljYXRpb25zIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItbm90aWZpY2F0aW9ucyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTkwMUFcdTc3RTU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTYzRDBcdTc5M0FcdTk3RjNcdTRFMEVcdTZENEZcdTg5QzhcdTU2NjhcdTkwMUFcdTc3RTU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0ic2VjdXJpdHkiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1zZWN1cml0eSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTVCODlcdTUxNjg8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTVCQzZcdTc4MDFcdTRFMEVcdThCQzFcdTRFNjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0icHJlc2V0cyIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLXByZXNldHMiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU2N0U1XHU3NzBCXHU1REYyXHU2NzA5XHU5ODg0XHU4QkJFPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9ImRpc3BsYXkiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1kaXNwbGF5Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NjYzRVx1NzkzQTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NTM2MVx1NzI0N1x1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1ODg0Q1x1NEUzQTwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2FzaWRlPjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRlbnQiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIGFjdGl2ZSIgaWQ9InNldHRpbmdzLXRhYi1hYm91dCIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU1MTczXHU0RThFIFdhbmQ8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTY3RTVcdTc3MEJcdTcyNDhcdTY3MkNcdTRGRTFcdTYwNkZcdTMwMDFcdTY2RjRcdTY1QjBcdTcyQjZcdTYwMDFcdTU0OEMgQW5kcm9pZCBBcHAgXHU4RkRFXHU2M0E1XHU2NUI5XHU1RjBGXHUzMDAyPC9wPjwvZGl2PjxwIGlkPSJzZXR0aW5ncy1hYm91dC1hY2Nlc3Mtbm90ZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj5cdTVGNTNcdTUyNERcdTY2MkYgQXBwIFx1OEZERVx1NjNBNVx1NEYxQVx1OEJERFx1RkYwQ1x1NEVDNVx1NUM1NVx1NzkzQVx1NzI0OFx1NjcyQ1x1NEUwRVx1NUJBMlx1NjIzN1x1N0FFRlx1NEUwQlx1OEY3RFx1NEZFMVx1NjA2Rlx1MzAwMlx1NjZGNFx1NjVCMFx1N0JBMVx1NzQwNlx1NTQ4Q1x1OEZERVx1NjNBNVx1NzgwMVx1NEVDNVx1NUJGOVx1N0JBMVx1NzQwNlx1NTQ1OFx1NUYwMFx1NjUzRVx1MzAwMjwvcD48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1pbmZvIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1MzA1XHU1NDBEPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLXBrZy1uYW1lIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtdmVyc2lvbiI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+Tm9kZS5qcyBcdTg5ODFcdTZDNDI8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3Mtbm9kZS1yZXEiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NEVEM1x1NUU5M1x1NTczMFx1NTc0MDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1yZXBvLXVybCI+PGEgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPi08L2E+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIiBpZD0id2ViLXVwZGF0ZS1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVigiZ2xvYmUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5XZWIgXHU3QUVGPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OEJCRlx1OTVFRVx1NzY4NFx1NjcwRFx1NTJBMVx1NzI0OFx1NjcyQzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzAwXHU2NUIwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrLXVwZGF0ZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iPlx1NjhDMFx1NjdFNVx1NjZGNFx1NjVCMDwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZG8tdXBkYXRlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20gaGlkZGVuIj5cdTY2RjRcdTY1QjBcdTUyMzBcdTY3MDBcdTY1QjBcdTcyNDg8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImRvLXJlc3RhcnQtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbSBoaWRkZW4iPlx1OTFDRFx1NTQyRlx1NzUxRlx1NjU0ODwvYnV0dG9uPjwvZGl2PjxwIGlkPSJ1cGRhdGUtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPkJldGEgXHU5MDFBXHU5MDUzPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NkY0XHU2NUIwXHU1MjMwIG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1RkYwOHRhZyArIGNvbW1pdCBcdTVDM0VcdTY4MDdcdUZGMDlcdUZGMENcdTVDMURcdTlDOUNcdTY1QjBcdTUyOUZcdTgwRkRcdUZGMENcdTUzRUZcdTgwRkRcdTRFMERcdTdBMzNcdTVCOUFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImJldGEtY2hhbm5lbC10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OFx1NjcyQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NEUwQlx1OEY3RFx1NUI4OVx1ODhDNVx1NUU3Nlx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiIgaWQ9InByb3ZpZGVyLWNsaS11cGRhdGUtc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1YoInRlcm1pbmFsIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU1RjAwXHU1M0QxIENMSTwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5DbGF1ZGUgQ29kZVx1MzAwMUNvZGV4IFx1NEUwRSBPcGVuQ29kZSBcdTc2ODRcdTY3MERcdTUyQTFcdTdBRUZcdTcyNDhcdTY3MkM8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPkNsYXVkZSBDb2RlPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InByb3ZpZGVyLWNsaS1zdGF0dXMtY2xhdWRlIj5cdTY4QzBcdTZENEJcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPkNvZGV4PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InByb3ZpZGVyLWNsaS1zdGF0dXMtY29kZXgiPlx1NjhDMFx1NkQ0Qlx1NEUyRFx1MjAyNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+T3BlbkNvZGU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0icHJvdmlkZXItY2xpLXN0YXR1cy1vcGVuY29kZSI+XHU2OEMwXHU2RDRCXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrLXByb3ZpZGVyLWNsaS11cGRhdGVzIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIj5cdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjA8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9InVwZGF0ZS1wcm92aWRlci1jbGlzIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iPlx1NUZFQlx1OTAxRlx1NjZGNFx1NjVCMDwvYnV0dG9uPjwvZGl2PjxwIGlkPSJwcm92aWRlci1jbGktdXBkYXRlLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjAgQ0xJPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NzBEXHU1MkExXHU3QUVGXHU2QkNGIDMwIFx1NTIwNlx1OTQ5Rlx1NjhDMFx1NjdFNVx1NEUwMFx1NkIyMVx1RkYwQ1x1NUU3Nlx1OEMwM1x1NzUyOFx1NTQwNCBDTEkgXHU1Qjk4XHU2NUI5IHVwZGF0ZXIgXHU2NkY0XHU2NUIwXHU1MjMwXHU2NzAwXHU2NUIwXHU3MjQ4XHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIGhpZGRlbiIgaWQ9ImFuZHJvaWQtYXBrLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytWKCJzbWFydHBob25lIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+QW5kcm9pZCBBcHA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU1MzlGXHU3NTFGXHU1QkEyXHU2MjM3XHU3QUVGXHU3MjQ4XHU2NzJDXHU0RTBFIEFQSyBcdTRFMEJcdThGN0Q8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hcGstY3VycmVudC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NUY1M1x1NTI0RFx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1hbmRyb2lkLWFway1jdXJyZW50Ij4tPC9zcGFuPjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXBrLWdpdGh1Yi1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstZ2l0aHViIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWdpdGh1Yi1hcGstYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGhpZGRlbiIgdHlwZT0iYnV0dG9uIj5cdTRFMEJcdThGN0Q8L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJhbmRyb2lkLWFway1sb2NhbC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstbG9jYWwiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtbG9jYWwtYXBrLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hdXRvLXVwZGF0ZS1yb3ciIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93IGhpZGRlbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiIGlkPSJhbmRyb2lkLWF1dG8tdXBkYXRlLWhpbnQiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OCBBUEsgXHU2NUY2XHU4MUVBXHU1MkE4XHU2MkM5XHU4RDc3XHU0RTBCXHU4RjdEXHVGRjBDXHU1Qjg5XHU4OEM1XHU0RUNEXHU5NzAwXHU1NzI4XHU3Q0ZCXHU3RURGXHU0RTJEXHU3ODZFXHU4QkE0XHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1hcGstdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxwIGlkPSJhbmRyb2lkLWFway1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiBoaWRkZW4iIGlkPSJtYWNvcy1kbWctc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1YoImRlc2t0b3AiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5tYWNPUyBBcHA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU1MzlGXHU3NTFGXHU1QkEyXHU2MjM3XHU3QUVGXHU3MjQ4XHU2NzJDXHU0RTBFIERNRyBcdTRFMEJcdThGN0Q8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWN1cnJlbnQtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWN1cnJlbnQiPi08L3NwYW4+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWdpdGh1Yi1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWdpdGh1YiI+LTwvc3Bhbj48YnV0dG9uIGlkPSJkb3dubG9hZC1naXRodWItZG1nLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWxvY2FsLXJvdyIgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyBzZXR0aW5ncy1hYm91dC1yb3ctYWN0aW9uIGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTY3MkNcdTU3MzBcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIHNldHRpbmdzLXZhbHVlLWZsZXgiIGlkPSJzZXR0aW5ncy1tYWNvcy1kbWctbG9jYWwiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtbG9jYWwtZG1nLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0ibWFjb3MtYXV0by11cGRhdGUtcm93IiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjA8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIiBpZD0ibWFjb3MtYXV0by11cGRhdGUtaGludCI+XHU2OEMwXHU2RDRCXHU1MjMwXHU2NUIwXHU3MjQ4IERNRyBcdTVDMDZcdTgxRUFcdTUyQThcdTRFMEJcdThGN0RcdTVFNzZcdTYzMDJcdThGN0RcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PHAgaWQ9Im1hY29zLWRtZy1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiIgaWQ9ImFuZHJvaWQtY29ubmVjdC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVigibGluayIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPkFwcCBcdThGREVcdTYzQTVcdTc4MDE8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU3Qzk4XHU4RDM0XHU1MjMwIEFuZHJvaWQgQXBwIFx1NTM3M1x1NTNFRlx1ODFFQVx1NTJBOFx1OEZERVx1NjNBNVx1RkYwQ1x1NjVFMFx1OTcwMFx1NUJDNlx1NzgwMVx1RkYxQlx1NjUzOVx1NUJDNlx1NzgwMVx1NTQwRVx1NTkzMVx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXVybC1ib3giPjxjb2RlIGlkPSJhbmRyb2lkLWNvbm5lY3QtY29kZSIgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtdXJsLXRleHQiPi08L2NvZGU+PGJ1dHRvbiBpZD0iY29weS1jb25uZWN0LWNvZGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU5MERcdTUyMzZcdThGREVcdTYzQTVcdTc4MDEiPlx1NTkwRFx1NTIzNjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItYm94Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLXdyYXAiIGlkPSJhbmRyb2lkLWNvbm5lY3QtcXItd3JhcCIgdGl0bGU9Ilx1NzBCOVx1NTFGQlx1NjUzRVx1NTkyNyI+PGNhbnZhcyBpZD0iYW5kcm9pZC1jb25uZWN0LXFyIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCI+PC9jYW52YXM+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC1xci1lbXB0eSIgaWQ9ImFuZHJvaWQtY29ubmVjdC1xci1lbXB0eSI+XHU3NTFGXHU2MjEwXHU0RTJEXHUyMDI2PC9kaXY+PC9kaXY+PHAgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItaGludCI+XHU3NTI4IFdhbmQgQXBwIFx1NjI2Qlx1NEUwMFx1NjI2Qlx1RkYwQ1x1NTM3M1x1NTNFRlx1NEUwMFx1OTUyRVx1NTg2Qlx1NTE2NVx1NjcwRFx1NTJBMVx1NTY2OFx1NTczMFx1NTc0MFx1NEUwRVx1OEZERVx1NjNBNVx1NzgwMVx1MzAwMjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1ub3RpZmljYXRpb25zIiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTkwMUFcdTc3RTU8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdThCQkVcdTdGNkVcdTYzRDBcdTc5M0FcdTk3RjNcdTMwMDFcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTU0OENcdTZENEZcdTg5QzhcdTU2NjhcdTkwMUFcdTc3RTVcdTc2ODRcdTg4NENcdTRFM0FcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytWKCJiZWxsIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU5MDFBXHU3N0U1XHU1MDRGXHU1OTdEPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NjNEMFx1NzkzQVx1OTdGM1x1NEUwRVx1NUU5NFx1NzUyOFx1NTE4NVx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLW5vdGlmLXNvdW5kIj5cdTY0QURcdTY1M0VcdTYzRDBcdTc5M0FcdTk3RjM8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU5MUNEXHU4OTgxXHU5MDFBXHU3N0U1XHVGRjA4XHU3MjQ4XHU2NzJDXHU2NkY0XHU2NUIwXHUzMDAxXHU2NzQzXHU5NjUwXHU3QjQ5XHU1Rjg1XHU3QjQ5XHVGRjA5XHU2NUY2XHU2NEFEXHU2NTNFXHU2N0Q0XHU1NDhDXHU2M0QwXHU3OTNBXHU5N0YzXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1ub3RpZi1zb3VuZCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yYW5nZS1yb3ciIGlkPSJub3RpZi12b2x1bWUtZmllbGQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UtbGFiZWwiIGZvcj0iY2ZnLW5vdGlmLXZvbHVtZSI+XHU5N0YzXHU5MUNGPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1ub3RpZi12b2x1bWUiIHR5cGU9InJhbmdlIiBtaW49IjAiIG1heD0iMTAwIiBzdGVwPSI1IiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UiIC8+PHNwYW4gaWQ9ImNmZy1ub3RpZi12b2x1bWUtdmFsIiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UtdmFsdWUiPjgwJTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLW5vdGlmLWJ1YmJsZSI+XHU1RTk0XHU3NTI4XHU1MTg1XHU5MDFBXHU3N0U1XHU2QzE0XHU2Q0UxPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NTcyOFx1OTg3NVx1OTc2Mlx1OTg3Nlx1OTBFOFx1NUYzOVx1NTFGQVx1NkQ2RVx1NTJBOFx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctbm90aWYtYnViYmxlIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im5hdGl2ZS1zb3VuZC1zZWN0aW9uIiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24gaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVigibXVzaWMiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5cdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTk0QzNcdTU4RjA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU5MDA5XHU2MkU5IEFuZHJvaWQgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU0RjdGXHU3NTI4XHU3Njg0XHU5NEMzXHU1OEYwPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXJvdy13aXRoLWFjdGlvbiI+PHNlbGVjdCBpZD0ibmF0aXZlLXNvdW5kLXNlbGVjdCIgY2xhc3M9ImZpZWxkLWlucHV0IGZpZWxkLXNlbGVjdCI+PC9zZWxlY3Q+PGJ1dHRvbiBpZD0ibmF0aXZlLXNvdW5kLXByZXZpZXciIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYnRuLXdpdGgtaWNvbiIgdHlwZT0iYnV0dG9uIj4nK1YoInBsYXkiLHtzaXplOjExLHN0cm9rZVdpZHRoOjEuOCxmaWxsOiJjdXJyZW50Q29sb3IifSkrJzxzcGFuPlx1OEJENVx1NTQyQzwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJuYXRpdmUtaGFwdGljLXNlY3Rpb24iIGNsYXNzPSJzZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytWKCJ2aWJyYXRlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4PC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NjMwOVx1OTRBRVx1NjRDRFx1NEY1Q1x1NTQ4Q1x1NEVGQlx1NTJBMVx1NUI4Q1x1NjIxMFx1NjVGNlx1NjNEMFx1NEY5Qlx1NjMyRlx1NTJBOFx1NTNDRFx1OTk4ODwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLWhhcHRpYy1lbmFibGVkIj5cdTU0MkZcdTc1MjhcdTg5RTZcdTYxMUZcdTUzQ0RcdTk5ODg8L2xhYmVsPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1oYXB0aWMtZW5hYmxlZCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1YoImdsb2JlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1PC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1Njc2NVx1ODFFQVx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NEUyRFx1NUZDM1x1NzY4NFx1NUYzOVx1N0E5NzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2Mzg4XHU2NzQzXHU3MkI2XHU2MDAxPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9Im5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXN0YXR1cyI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXJlcXVlc3QtYnRuIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU2Mzg4XHU2NzQzXHU5MDFBXHU3N0U1PC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXJlc2V0LWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIGhpZGRlbiIgdHlwZT0iYnV0dG9uIj5cdTkxQ0RcdTY1QjBcdTYzODhcdTY3NDM8L2J1dHRvbj48YnV0dG9uIGlkPSJub3RpZmljYXRpb24tdGVzdC1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1PC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+MTAgXHU3OUQyXHU1NDBFXHU1M0QxXHU5MDAxPC9idXR0b24+PC9kaXY+PHAgaWQ9Im5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLWdlbmVyYWwiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1OTE0RFx1N0Y2RVx1NjcwRFx1NTJBMVx1OEZERVx1NjNBNVx1MzAwMVx1OUVEOFx1OEJBNFx1NkEyMVx1NTc4Qlx1MzAwMVx1NjI2N1x1ODg0Q1x1NjVCOVx1NUYwRlx1NTQ4Q1x1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1ob3N0Ij5cdTc2RDFcdTU0MkNcdTU3MzBcdTU3NDAgKGhvc3QpPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1ob3N0IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIxMjcuMC4wLjEiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXBvcnQiPlx1N0FFRlx1NTNFMyAocG9ydCk8L2xhYmVsPjxpbnB1dCBpZD0iY2ZnLXBvcnQiIHR5cGU9Im51bWJlciIgY2xhc3M9ImZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iODQ0MyIgbWluPSIxIiBtYXg9IjY1NTM1IiAvPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48bGFiZWwgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSIgZm9yPSJjZmctaHR0cHMiPlx1NTQyRlx1NzUyOCBIVFRQUzwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTRGN0ZcdTc1MjhcdTgxRUFcdTdCN0VcdTU0MERcdThCQzFcdTRFNjZcdTUyQTBcdTVCQzZcdTZENEZcdTg5QzhcdTU2NjhcdTUyMzBcdTY3MERcdTUyQTFcdTc2ODRcdThGREVcdTYzQTVcdUZGMENob3N0IFx1NEUzQVx1OTc1RSAxMjcuMC4wLjEgXHU2NUY2XHU1RUZBXHU4QkFFXHU1RjAwXHU1NDJGXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1odHRwcyIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1tb2RlIj5cdTlFRDhcdThCQTRcdTYyNjdcdTg4NENcdTZBMjFcdTVGMEY8L2xhYmVsPjxzZWxlY3QgaWQ9ImNmZy1tb2RlIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9ImRlZmF1bHQiPmRlZmF1bHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhc3Npc3QiPmFzc2lzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFnZW50Ij5hZ2VudDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFnZW50LW1heCI+YWdlbnQtbWF4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0by1lZGl0Ij5hdXRvLWVkaXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmdWxsLWFjY2VzcyI+ZnVsbC1hY2Nlc3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJuYXRpdmUiPm5hdGl2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1hbmFnZWQiPm1hbmFnZWQ8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctbGFuZ3VhZ2UiPlx1NTZERVx1NTkwRFx1OEJFRFx1OEEwMDwvbGFiZWw+PHNlbGVjdCBpZD0iY2ZnLWxhbmd1YWdlIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9IiI+XHU4MUVBXHU1MkE4XHVGRjA4XHU0RTBEXHU2MzA3XHU1QjlBXHVGRjA5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHU0RTJEXHU2NTg3Ij5cdTRFMkRcdTY1ODc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJFbmdsaXNoIj5FbmdsaXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHU2NUU1XHU2NzJDXHU4QTlFIj5cdTY1RTVcdTY3MkNcdThBOUU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJcdUQ1NUNcdUFENkRcdUM1QjQiPlx1RDU1Q1x1QUQ2RFx1QzVCNDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkVzcGFceEYxb2wiPkVzcGFceEYxb2w8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJGcmFuXHhFN2FpcyI+RnJhblx4RTdhaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEZXV0c2NoIj5EZXV0c2NoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHUwNDIwXHUwNDQzXHUwNDQxXHUwNDQxXHUwNDNBXHUwNDM4XHUwNDM5Ij5cdTA0MjBcdTA0NDNcdTA0NDFcdTA0NDFcdTA0M0FcdTA0MzhcdTA0Mzk8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2Rpdj48cCBjbGFzcz0iZmllbGQtaGludCIgc3R5bGU9Im1hcmdpbi10b3A6LTRweDsiPlx1OEJCRVx1N0Y2RVx1NTZERVx1NTkwRFx1OEJFRFx1OEEwMFx1NTQwRVx1RkYwQ0NsYXVkZSBcdTVDMDZcdTVDM0RcdTkxQ0ZcdTRGN0ZcdTc1MjhcdTYzMDdcdTVCOUFcdThCRURcdThBMDBcdTU2REVcdTU5MERcdTMwMDI8L3A+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXN0cnVjdHVyZWQtcnVubmVyIj5cdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCREQgUnVubmVyPC9sYWJlbD48c2VsZWN0IGlkPSJjZmctc3RydWN0dXJlZC1ydW5uZXIiIGNsYXNzPSJmaWVsZC1pbnB1dCI+PG9wdGlvbiB2YWx1ZT0ic2RrIj5TREtcdUZGMDhAYW50aHJvcGljLWFpL2NsYXVkZS1hZ2VudC1zZGtcdUZGMENcdTlFRDhcdThCQTRcdUZGMDk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjbGkiPkNMSVx1RkYwOHNwYXduIGNsYXVkZSAtcFx1RkYwOTwvb3B0aW9uPjwvc2VsZWN0PjxwIGNsYXNzPSJmaWVsZC1oaW50IiBzdHlsZT0ibWFyZ2luLXRvcDo0cHg7Ij5TREsgXHU2QTIxXHU1RjBGXHU0RjdGXHU3NTI4XHU1Qjk4XHU2NUI5IEFnZW50IFNESyBcdTY2RkZcdTRFRTMgQ0xJIHN1YnByb2Nlc3NcdUZGMENcdTYzQTVcdTUzRTNcdTY2RjRcdTY1NzRcdTZEMDFcdUZGMENcdTUyOUZcdTgwRkRcdTdCNDlcdTRFRjdcdTMwMDJcdTRGRERcdTVCNThcdTU0MEVcdTVCRjlcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTdBQ0JcdTUzNzNcdTc1MUZcdTY1NDhcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1pbmhlcml0LWVudiI+XHU3RUU3XHU2MjdGXHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NTQyRlx1NTJBOCBQVFkgLyBcdTdFRDNcdTY3ODRcdTUzMTZcdTVCNTBcdThGREJcdTdBMEJcdTY1RjZcdUZGMENcdTYyOEFcdTVGNTNcdTUyNERcdTY3MERcdTUyQTFcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0ZcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXggLyBvcGVuY29kZVx1MzAwMlx1NTE3M1x1OTVFRFx1NTQwRVx1NUI1MFx1OEZEQlx1N0EwQlx1NEVDNVx1ODNCN1x1NUY5N1x1NjcwMFx1NUMwRlx1NTNFRlx1NzUyOFx1NzNBRlx1NTg4M1x1RkYwOFBBVEgvSE9NRS9TSEVMTC9MQU5HL1RFUk0gXHU3QjQ5XHVGRjA5XHVGRjBDXHU1M0VGXHU3NTI4XHU0RThFXHU5Njk0XHU3OUJCIEFQSSBrZXkgXHU3QjQ5XHU2NTRGXHU2MTFGXHU1MUVEXHU2MzZFXHUzMDAyPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1hc2lkZSI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJjZmctdmlldy1lbnYtYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU1QjlFXHU5NjQ1XHU0RjFBXHU2Q0U4XHU1MTY1XHU1MjMwXHU1QjUwXHU4RkRCXHU3QTBCXHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGIj5cdTY3RTVcdTc3MEI8L2J1dHRvbj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaW5oZXJpdC1lbnYiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PHNlY3Rpb24gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQiIGFyaWEtbGFiZWxsZWRieT0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaGVhZGluZyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVigiY3B1Iix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxkaXY+PGg0IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1jYXJkLXRpdGxlIiBpZD0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSI+XHU5RUQ4XHU4QkE0XHU2QTIxXHU1NzhCPC9oND48cCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1kZXNjIj5cdTRFQ0VcdTVERjJcdTY4QzBcdTZENEJcdTUyMTdcdTg4NjhcdTRFMkRcdTkwMDlcdTYyRTlcdUZGMENcdTYyMTZcdTc2RjRcdTYzQTVcdThGOTNcdTUxNjVcdTgxRUFcdTVCOUFcdTRFNDlcdTZBMjFcdTU3OEJcdTU0MERcdTc5RjAgLyBJRFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2giIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gc2V0dGluZ3MtbW9kZWwtcmVmcmVzaCIgdGl0bGU9Ilx1OTFDRFx1NjVCMFx1NjhDMFx1NkQ0QiBDbGF1ZGVcdTMwMDFDb2RleCBcdTRFMEUgT3BlbkNvZGUgXHU2QTIxXHU1NzhCIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMjAgMTFhOC4xIDguMSAwIDAgMC0xNS41LTJNNCA0djVoNSIvPjxwYXRoIGQ9Ik00IDEzYTguMSA4LjEgMCAwIDAgMTUuNSAyTTIwIDIwdi01aC01Ii8+PC9zdmc+PHNwYW4+XHU1MjM3XHU2NUIwXHU1MjE3XHU4ODY4PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWdyaWQiPjxkaXYgY2xhc3M9ImZpZWxkIHNldHRpbmdzLW1vZGVsLWZpZWxkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1sYWJlbC1yb3ciPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWRlZmF1bHQtbW9kZWwiPkNsYXVkZTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5DbGF1ZGUgQ29kZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveCIgZGF0YS1wcm92aWRlcj0iY2xhdWRlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgQ2xhdWRlIENvZGUgXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgQ2xhdWRlIFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0ibTcgMTAgNSA1IDUtNSIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLWxpc3Rib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveC1tZW51IGhpZGRlbiIgcm9sZT0ibGlzdGJveCIgYXJpYS1sYWJlbD0iQ2xhdWRlIFx1NkEyMVx1NTc4QiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyIgZGF0YS1tb2RlbC1zdGF0dXM9ImNsYXVkZSI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NEYxQVx1NTM5Rlx1NjgzN1x1NEYyMFx1N0VEOSA8Y29kZT4tLW1vZGVsPC9jb2RlPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIj5Db2RleDwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5Db2RleCBDTEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3giIGRhdGEtcHJvdmlkZXI9ImNvZGV4Ij48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgQ29kZXggXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgQ29kZXggXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJtNyAxMCA1IDUgNS01Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBpZD0iY2ZnLWRlZmF1bHQtY29kZXgtbW9kZWwtbGlzdGJveCIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW1lbnUgaGlkZGVuIiByb2xlPSJsaXN0Ym94IiBhcmlhLWxhYmVsPSJDb2RleCBcdTZBMjFcdTU3OEIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1zdGF0dXMiIGRhdGEtbW9kZWwtc3RhdHVzPSJjb2RleCI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NzU1OVx1N0E3QVx1NTIxOVx1NEUwRFx1NEYyMFx1NkEyMVx1NTc4Qlx1NTNDMlx1NjU3MDwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIj5PcGVuQ29kZTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5PcGVuQ29kZSBDTEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3giIGRhdGEtcHJvdmlkZXI9Im9wZW5jb2RlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgT3BlbkNvZGUgXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgT3BlbkNvZGUgXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJtNyAxMCA1IDUgNS01Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBpZD0iY2ZnLWRlZmF1bHQtb3BlbmNvZGUtbW9kZWwtbGlzdGJveCIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW1lbnUgaGlkZGVuIiByb2xlPSJsaXN0Ym94IiBhcmlhLWxhYmVsPSJPcGVuQ29kZSBcdTZBMjFcdTU3OEIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1zdGF0dXMiIGRhdGEtbW9kZWwtc3RhdHVzPSJvcGVuY29kZSI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NjgzQ1x1NUYwRlx1NEUzQSBwcm92aWRlci9tb2RlbDwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48cCBjbGFzcz0iZmllbGQtaGludCBzZXR0aW5ncy1tb2RlbC12ZXJzaW9uIiBpZD0iY2ZnLWRlZmF1bHQtbW9kZWwtdmVyc2lvbiI+XHU2QTIxXHU1NzhCXHU1NDBEXHU3OUYwXHU0RUM1XHU1NzI4XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU2NUY2XHU0RjVDXHU0RTNBXHU5RUQ4XHU4QkE0XHU1MDNDXHVGRjFCXHU4RkQwXHU4ODRDXHU0RTJEXHU3Njg0XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHU0RUNEXHU1M0VGXHU1MzU1XHU3MkVDXHU1MjA3XHU2MzYyXHUzMDAyPC9wPjwvc2VjdGlvbj48c2VjdGlvbiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZCIgYXJpYS1sYWJlbGxlZGJ5PSJzZXR0aW5ncy1jb21taXQtbW9kZWwtY2FyZC10aXRsZSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaGVhZGluZyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVigiZWRpdCIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48ZGl2PjxoNCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSIgaWQ9InNldHRpbmdzLWNvbW1pdC1tb2RlbC1jYXJkLXRpdGxlIj5Db21taXQgXHU3NTFGXHU2MjEwPC9oND48cCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1kZXNjIj5cdTYzMDdcdTVCOUFcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTRcdTc1MUZcdTYyMTAgbWVzc2FnZSBcdTRFMEUgdGFnIFx1NjVGNlx1NEY3Rlx1NzUyOFx1NzY4NCBDTEkgXHU1NDhDXHU2QTIxXHU1NzhCXHUzMDAyPC9wPjwvZGl2PjwvZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iY2ZnLWNvbW1pdC1tb2RlbC1yZWZyZXNoIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIHNldHRpbmdzLW1vZGVsLXJlZnJlc2giIHRpdGxlPSJcdTkxQ0RcdTY1QjBcdTY4QzBcdTZENEJcdTYyNDBcdTkwMDkgQ0xJIFx1NzY4NFx1NkEyMVx1NTc4QiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIwIDExYTguMSA4LjEgMCAwIDAtMTUuNS0yTTQgNHY1aDUiLz48cGF0aCBkPSJNNCAxM2E4LjEgOC4xIDAgMCAwIDE1LjUgMk0yMCAyMHYtNWgtNSIvPjwvc3ZnPjxzcGFuPlx1NTIzN1x1NjVCMFx1NTIxN1x1ODg2ODwvc3Bhbj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1ncmlkIj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1jb21taXQtY2xpIj5DTEk8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1wcm92aWRlciI+XHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0PC9zcGFuPjwvZGl2PjxzZWxlY3QgaWQ9ImNmZy1jb21taXQtY2xpIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9ImNsYXVkZSI+Q2xhdWRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29kZXgiPkNvZGV4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ib3BlbmNvZGUiPk9wZW5Db2RlPC9vcHRpb24+PC9zZWxlY3Q+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyI+XHU3NTFGXHU2MjEwIGNvbW1pdCBtZXNzYWdlIFx1NEUwRSB0YWc8L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQgc2V0dGluZ3MtbW9kZWwtZmllbGQiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWxhYmVsLXJvdyI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctY29tbWl0LW1vZGVsIj5cdTZBMjFcdTU3OEI8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1wcm92aWRlciIgaWQ9ImNmZy1jb21taXQtbW9kZWwtcHJvdmlkZXIiPkNsYXVkZSBDb2RlPC9zcGFuPjwvZGl2PjxkaXYgaWQ9ImNmZy1jb21taXQtbW9kZWwtY29tYm9ib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveCIgZGF0YS1wcm92aWRlcj0iY2xhdWRlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1jb21taXQtbW9kZWwiIGNsYXNzPSJmaWVsZC1pbnB1dCBtb2RlbC1jb21ib2JveC1pbnB1dCIgdHlwZT0idGV4dCIgcm9sZT0iY29tYm9ib3giIGFyaWEtYXV0b2NvbXBsZXRlPSJsaXN0IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY2ZnLWNvbW1pdC1tb2RlbC1saXN0Ym94IiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im5vbmUiIGF1dG9jb3JyZWN0PSJvZmYiIHNwZWxsY2hlY2s9ImZhbHNlIiBwbGFjZWhvbGRlcj0iXHU4RERGXHU5NjhGIENsYXVkZSBDb2RlIFx1OUVEOFx1OEJBNCIgLz48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LXRvZ2dsZSIgYXJpYS1sYWJlbD0iXHU1QzU1XHU1RjAwIGNvbW1pdCBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Im03IDEwIDUgNSA1LTUiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjZmctY29tbWl0LW1vZGVsLWxpc3Rib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveC1tZW51IGhpZGRlbiIgcm9sZT0ibGlzdGJveCIgYXJpYS1sYWJlbD0iQ29tbWl0IFx1NkEyMVx1NTc4QiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyIgZGF0YS1tb2RlbC1zdGF0dXM+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NTIxN1x1ODg2OFx1Njc2NVx1ODFFQVx1ODFFQVx1NTJBOFx1NjhDMFx1NkQ0Qjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWN3ZCI+XHU5RUQ4XHU4QkE0XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1jd2QiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ii9ob21lL3VzZXIiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXNoZWxsIj5TaGVsbDwvbGFiZWw+PGlucHV0IGlkPSJjZmctc2hlbGwiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ii9iaW4vYmFzaCIgLz48L2Rpdj4nKyh0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiI/JzxkaXYgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLWJsb2NrIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVigicGFsZXR0ZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1NUU5NFx1NzUyOFx1NTZGRVx1NjgwNzwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTkwMDlcdTYyRTkgQXBwIFx1NTQyRlx1NTJBOFx1NTY2OFx1NTZGRVx1NjgwN1x1RkYwQ1x1OEZENFx1NTZERVx1Njg0Q1x1OTc2Mlx1NTQwRVx1NzUxRlx1NjU0ODwvcD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJhcHAtaWNvbi1waWNrZXIiIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1waWNrZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tb3B0aW9uIiBkYXRhLWljb249InNob3J0aGFpciI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLXByZXZpZXciPicrR2kudXNlcisnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1sYWJlbCI+XHU4RDVCXHU1MzVBXHU4NjRFXHU1OTlFPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tb3B0aW9uIiBkYXRhLWljb249ImdhcmZpZWxkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tcHJldmlldyI+JytHaS5hc3Npc3RhbnQrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tbGFiZWwiPlx1NTJFNFx1NTJCM1x1NTIxRFx1NEU4Qzwvc3Bhbj48L2J1dHRvbj48L2Rpdj48cCBpZD0iYXBwLWljb24tbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+JzoiIikrJzxkaXYgY2xhc3M9InNldHRpbmdzLWFjdGlvbnMgc2V0dGluZ3MtYWN0aW9ucy1zdGlja3kiPjxidXR0b24gaWQ9InNhdmUtY29uZmlnLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPlx1NEZERFx1NUI1OFx1OTE0RFx1N0Y2RTwvYnV0dG9uPjwvZGl2PjxwIGlkPSJjb25maWctbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIHNldHRpbmdzLXN0YXR1cy1tZXNzYWdlIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItc2VjdXJpdHkiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NUI4OVx1NTE2ODwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1N0JBMVx1NzQwNlx1NzY3Qlx1NUY1NVx1NUJDNlx1NzgwMVx1NEUwRSBTU0wgXHU4QkMxXHU0RTY2XHVGRjBDXHU2NTRGXHU2MTFGXHU1M0Q4XHU2NkY0XHU4QkY3XHU3ODZFXHU4QkE0XHU1NDBFXHU1MThEXHU0RkREXHU1QjU4XHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQiPjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtaGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVigibG9jayIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5cdTRGRUVcdTY1MzlcdTVCQzZcdTc4MDE8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiPlx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYxQlx1NEZERFx1NUI1OFx1NTQwRVx1NEUwQlx1NkIyMVx1NzY3Qlx1NUY1NVx1NzUxRlx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48Zm9ybSBpZD0iY2hhbmdlLXBhc3N3b3JkLWZvcm0iIGF1dG9jb21wbGV0ZT0ib24iIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiIHZhbHVlPSJ3YW5kIiB0YWJpbmRleD0iLTEiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lIiByZWFkb25seSAvPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9Im5ldy1wYXNzd29yZCI+XHU2NUIwXHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9Im5ldy1wYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NjVCMFx1NUJDNlx1NzgwMVx1RkYwOFx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYwOSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY29uZmlybS1wYXNzd29yZCI+XHU3ODZFXHU4QkE0XHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9ImNvbmZpcm0tcGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTUxOERcdTZCMjFcdThGOTNcdTUxNjVcdTY1QjBcdTVCQzZcdTc4MDEiIGF1dG9jb21wbGV0ZT0ibmV3LXBhc3N3b3JkIiAvPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ic2F2ZS1wYXNzd29yZC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCI+XHU0RkREXHU1QjU4XHU1QkM2XHU3ODAxPC9idXR0b24+PC9kaXY+PHAgaWQ9InNldHRpbmdzLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48cCBpZD0ic2V0dGluZ3Mtc3VjY2VzcyIgY2xhc3M9ImhpbnQgc2V0dGluZ3Mtc3VjY2Vzcy1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK1YoImNlcnRpZmljYXRlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtaGVhZC10ZXh0Ij48aDMgY2xhc3M9InNldHRpbmdzLWNhcmQtdGl0bGUiPlNTTCBcdThCQzFcdTRFNjY8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiIGlkPSJjZXJ0LXN0YXR1cyI+XHU1MkEwXHU4RjdEXHU0RTJELi4uPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNlcnQta2V5LWZpbGUiPlx1NzlDMVx1OTRBNVx1NjU4N1x1NEVGNiAoLmtleSk8L2xhYmVsPjxkaXYgY2xhc3M9ImZpbGUtcGlja2VyIj48aW5wdXQgaWQ9ImNlcnQta2V5LWZpbGUiIHR5cGU9ImZpbGUiIGNsYXNzPSJmaWxlLXBpY2tlci1pbnB1dCIgYWNjZXB0PSIua2V5LC5wZW0iIC8+PGxhYmVsIGZvcj0iY2VydC1rZXktZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLXRyaWdnZXIiPjxzdmcgY2xhc3M9ImZpbGUtcGlja2VyLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIxLjQ0IDExLjA1bC05LjE5IDkuMTlhNiA2IDAgMCAxLTguNDktOC40OWw5LjE5LTkuMTlhNCA0IDAgMCAxIDUuNjYgNS42NmwtOS4yIDkuMTlhMiAyIDAgMCAxLTIuODMtMi44M2w4LjQ5LTguNDgiPjwvcGF0aD48L3N2Zz48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbGFiZWwiPlx1OTAwOVx1NjJFOVx1NzlDMVx1OTRBNTwvc3Bhbj48L2xhYmVsPjxzcGFuIGNsYXNzPSJmaWxlLXBpY2tlci1uYW1lIiBkYXRhLWRlZmF1bHQ9Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNiI+XHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNlcnQtY2VydC1maWxlIj5cdThCQzFcdTRFNjZcdTY1ODdcdTRFRjYgKC5jcnQvLnBlbSk8L2xhYmVsPjxkaXYgY2xhc3M9ImZpbGUtcGlja2VyIj48aW5wdXQgaWQ9ImNlcnQtY2VydC1maWxlIiB0eXBlPSJmaWxlIiBjbGFzcz0iZmlsZS1waWNrZXItaW5wdXQiIGFjY2VwdD0iLmNydCwucGVtLC5jZXJ0IiAvPjxsYWJlbCBmb3I9ImNlcnQtY2VydC1maWxlIiBjbGFzcz0iZmlsZS1waWNrZXItdHJpZ2dlciI+PHN2ZyBjbGFzcz0iZmlsZS1waWNrZXItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMTQgMiAxNCA4IDIwIDgiPjwvcG9seWxpbmU+PC9zdmc+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLWxhYmVsIj5cdTkwMDlcdTYyRTlcdThCQzFcdTRFNjY8L3NwYW4+PC9sYWJlbD48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbmFtZSIgZGF0YS1kZWZhdWx0PSJcdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjYiPlx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWFjdGlvbnMiPjxidXR0b24gaWQ9InVwbG9hZC1jZXJ0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+XHU0RTBBXHU0RjIwXHU4QkMxXHU0RTY2PC9idXR0b24+PC9kaXY+PHAgaWQ9ImNlcnQtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItcHJlc2V0cyIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFPC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU1RjUzXHU1MjREXHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFXHU0RUNFIGNvbmZpZy5qc29uIFx1OEJGQlx1NTNENlx1RkYwQ1x1NTNFRlx1NTcyOFx1OEZEOVx1OTFDQ1x1NUZFQlx1OTAxRlx1NjdFNVx1NzcwQlx1NURGMlx1NjcwOVx1OTE0RFx1N0Y2RVx1MzAwMjwvcD48L2Rpdj48ZGl2IGlkPSJwcmVzZXRzLWxpc3QiIGNsYXNzPSJwcmVzZXRzLWxpc3QiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLWRpc3BsYXkiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NjYzRVx1NzkzQTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1NjNBN1x1NTIzNlx1ODA0QVx1NTkyOVx1ODlDNlx1NTZGRVx1OTFDQ1x1NEUwRFx1NTQwQ1x1NTM2MVx1NzI0N1x1N0M3Qlx1NTc4Qlx1NzY4NFx1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1NzJCNlx1NjAwMVx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXRpdGxlIj5cdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDE8L2Rpdj48cCBjbGFzcz0iaGludCBzZXR0aW5ncy1pbmxpbmUtaGludCI+XHU4QkJFXHU3RjZFXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU4OUM2XHU1NkZFXHU0RTJEXHU1NDA0XHU3QzdCXHU1MzYxXHU3MjQ3XHU3Njg0XHU5RUQ4XHU4QkE0XHU1QzU1XHU1RjAwL1x1NjI5OFx1NTNFMFx1NzJCNlx1NjAwMVx1MzAwMlx1NjI0Qlx1NTJBOFx1NjRDRFx1NEY1Q1x1NzY4NFx1NUM1NVx1NUYwMFx1NzJCNlx1NjAwMVx1NEYxOFx1NTE0OFx1NEU4RVx1NkI2NFx1OUVEOFx1OEJBNFx1OEJCRVx1N0Y2RVx1MzAwMjwvcD48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1saXN0Ij48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLWVkaXQiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTdGMTZcdThGOTFcdTUzNjFcdTcyNDcgKEVkaXQvV3JpdGUpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtZWRpdCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU2NTg3XHU0RUY2XHU3RjE2XHU4RjkxXHU1NDhDXHU1MTk5XHU1MTY1XHU2NENEXHU0RjVDXHU3Njg0IGRpZmYgXHU4OUM2XHU1NkZFPC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLWlubGluZSI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NTE4NVx1ODA1NFx1NURFNVx1NTE3NyAoUmVhZC9HbG9iL0dyZXApPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtaW5saW5lIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdTY1ODdcdTRFRjZcdThCRkJcdTUzRDZcdTMwMDFcdTY0MUNcdTdEMjJcdTdCNDlcdTVERTVcdTUxNzdcdTc2ODRcdTdFRDNcdTY3OUM8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdGVybWluYWwiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTdFQzhcdTdBRUZcdThGOTNcdTUxRkEgKEJhc2gpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdGVybWluYWwiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPlx1NTQ3RFx1NEVFNFx1ODg0Q1x1NjI2N1x1ODg0Q1x1N0VEM1x1Njc5QzwvZGl2PjwvbGFiZWw+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC10aGlua2luZyI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NjAxRFx1ODAwM1x1OEZDN1x1N0EwQiAoVGhpbmtpbmcpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdGhpbmtpbmciIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPkNsYXVkZSBcdTc2ODRcdTYwMURcdTgwMDNcdThGQzdcdTdBMEJcdTU3NTc8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdG9vbGdyb3VwIj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU1REU1XHU1MTc3XHU3RUM0PC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdG9vbGdyb3VwIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdThGREVcdTdFRURcdTU0MENcdTdDN0JcdTVERTVcdTUxNzdcdThDMDNcdTc1MjhcdTc2ODRcdTYyOThcdTUzRTBcdTdFQzQ8L2Rpdj48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFjdGlvbnMgc2V0dGluZ3MtYWN0aW9ucy1zdGlja3kiPjxidXR0b24gaWQ9InNhdmUtZGlzcGxheS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTRGRERcdTVCNThcdTY2M0VcdTc5M0FcdThCQkVcdTdGNkU8L2J1dHRvbj48L2Rpdj48cCBpZD0iZGlzcGxheS1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4gc2V0dGluZ3Mtc3RhdHVzLW1lc3NhZ2UiPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J31mdW5jdGlvbiBoaChlKXt2YXIgdD1RZSgpO3JldHVybiBlLnNlbGVjdGVkSWQ/IiI6JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdCIgaWQ9ImZvbGRlci1waWNrZXItY29udGFpbmVyIj48ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93Ij48c3BhbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1jb21wYWN0LWljb24iPicrVigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdC1pbnB1dCIgdmFsdWU9IicrcCh0KSsnIiBwbGFjZWhvbGRlcj0iXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1IiBhdXRvY29tcGxldGU9Im9mZiIgLz48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImZvbGRlci1waWNrZXItdG9nZ2xlIiBjbGFzcz0iZm9sZGVyLXBpY2tlci10b2dnbGUiIHRpdGxlPSJcdTkwMDlcdTYyRTlcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OTAwOVx1NjJFOVx1NzZFRVx1NUY1NSI+JytWKCJjaGV2cm9uRG93biIse3NpemU6MTEsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stcm93Ij48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biIgZGF0YS1wYXRoPSIvdG1wIj5cdTRFMzRcdTY1RjY8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biIgZGF0YS1wYXRoPSIvIj5cdTY4MzlcdTc2RUVcdTVGNTU8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLXZhbGlkYXRpb24iIGNsYXNzPSJmb2xkZXItcGlja2VyLXZhbGlkYXRpb24iPjwvZGl2PjwvZGl2Pid9ZnVuY3Rpb24geWgoZSl7dmFyIHQ9UWUoKSxuPXQ7aWYoZS5zZWxlY3RlZElkKXt2YXIgaT1lLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1lLnNlbGVjdGVkSWR9KTtuPWkmJmkuY3dkP2kuY3dkOnR9cmV0dXJuJzxkaXYgY2xhc3M9IndvcmtpbmctZGlyLWluZGljYXRvciIgaWQ9IndvcmtpbmctZGlyLWluZGljYXRvciIgdGl0bGU9IicrcChuKSsnIiBkYXRhLXBhdGg9IicrcChuKSsnIj48c3BhbiBjbGFzcz0id29ya2luZy1kaXItaW5kaWNhdG9yLWljb24iPicrVigiZm9sZGVyIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjd9KSsiPC9zcGFuPiIrRXQobiwid29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGgiLCcgaWQ9IndvcmtpbmctZGlyLWluZGljYXRvci1wYXRoIicpKyI8L2Rpdj4ifWZ1bmN0aW9uIFdvKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUubm93KCksbj1uZXcgRGF0ZShlKS5nZXRUaW1lKCksaT1NYXRoLm1heCgwLHQtbiksYT1NYXRoLmZsb29yKGkvMWUzKTtpZihhPDYwKXJldHVybiJcdTUyMUFcdTUyMUEiO3ZhciB1PU1hdGguZmxvb3IoYS82MCk7aWYodTw2MClyZXR1cm4gdSsiXHU1MjA2XHU5NDlGXHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHUvNjApO2lmKG88MjQpcmV0dXJuIG8rIlx1NUMwRlx1NjVGNlx1NTI0RCI7dmFyIHM9TWF0aC5mbG9vcihvLzI0KTtyZXR1cm4gczwzMD9zKyJcdTU5MjlcdTUyNEQiOk1hdGguZmxvb3Iocy8zMCkrIlx1NEUyQVx1NjcwOFx1NTI0RCJ9ZnVuY3Rpb24gem8oZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5ub3coKSxuPW5ldyBEYXRlKGUpLmdldFRpbWUoKSxpPU1hdGgubWF4KDAsdC1uKSxhPU1hdGguZmxvb3IoaS8xZTMpLHU9TWF0aC5mbG9vcihhLzYwKSxvPU1hdGguZmxvb3IodS82MCk7cmV0dXJuIG8+MD9vKyJoIisodSU2MD4wP3UlNjArIm0iOiIiKTp1PjA/dSsibSI6YSsicyJ9ZnVuY3Rpb24gRHIoZSl7aWYoIWUpcmV0dXJuIiI7aWYoZS5wZXJtaXNzaW9uQmxvY2tlZClyZXR1cm4iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZihzZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KXJldHVybiJcdTYwMURcdTgwMDNcdTRFMkQiO3ZhciB0PXtpZGxlOiJcdTdBN0FcdTk1RjIiLHN0b3BwZWQ6Ilx1NURGMlx1NTA1Q1x1NkI2MiIscnVubmluZzoiXHU4RkQwXHU4ODRDXHU0RTJEIixleGl0ZWQ6Ilx1NURGMlx1OTAwMFx1NTFGQSIsZmFpbGVkOiJcdTVERjJcdTU5MzFcdThEMjUifTtyZXR1cm4gdFtlLnN0YXR1c118fGUuc3RhdHVzfWZ1bmN0aW9uIFZvKGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/InBlcm1pc3Npb24tYmxvY2tlZCI6c2UoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodD8icnVubmluZyI6ZS5zdGF0dXN8fCIiOiIifWZ1bmN0aW9uIExjKGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/Ilx1N0I0OVx1NUY4NVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyI6ZS5zdGF0dXMhPT0icnVubmluZyI/IiI6ZS5pZD09PXIuc2VsZWN0ZWRJZCYmci5jdXJyZW50VGFzayYmci5jdXJyZW50VGFzay50aXRsZT9yLmN1cnJlbnRUYXNrLnRpdGxlOmUuY3VycmVudFRhc2tUaXRsZT9lLmN1cnJlbnRUYXNrVGl0bGU6IiI6IiJ9ZnVuY3Rpb24gTWMoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgaT10W25dO2lmKCEoIWl8fGkucm9sZSE9PSJ1c2VyIikpe3ZhciBhPWkuY29udGVudDtpZih0eXBlb2YgYT09InN0cmluZyIpe3ZhciB1PWEudHJpbSgpO2lmKHUpcmV0dXJuIHU7Y29udGludWV9aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTtpZighKCFzfHxzLnR5cGUhPT0idGV4dCJ8fCFzLnRleHQpJiYhcy5fX3F1ZXVlZCl7dmFyIGw9U3RyaW5nKHMudGV4dCkudHJpbSgpO2lmKGwpcmV0dXJuIGx9fX19cmV0dXJuIiJ9ZnVuY3Rpb24gT2MoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgaT10W25dO2lmKGkucm9sZT09PSJhc3Npc3RhbnQiKXtmb3IodmFyIGE9aS5jb250ZW50fHxbXSx1PTA7dTxhLmxlbmd0aDt1KyspaWYoYVt1XS50eXBlPT09InRleHQiJiZhW3VdLnRleHQmJmFbdV0udGV4dC50cmltKCkpe3ZhciBvPWFbdV0udGV4dC50cmltKCk7bz1vLnJlcGxhY2UoL14jK1xzKy9nbSwiIikucmVwbGFjZSgvXCpcKi9nLCIiKS5yZXBsYWNlKC9gL2csIiIpO3ZhciBzPW8uc3BsaXQoYApgKVswXS50cmltKCk7cmV0dXJuIHMuc2xpY2UoMCwxMDApfX19cmV0dXJuIiJ9ZnVuY3Rpb24gUGMoZSx0KXt2YXIgbj1lLmlkPT09ci5zZWxlY3RlZElkPyIgYWN0aXZlIjoiIixpPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlJiZyLnNlbGVjdGVkU2Vzc2lvbklkc1tlLmlkXT8iIHNlbGVjdGVkIjoiIixhPURyKGUpLHU9Vm8oZSksbz0iIixzPVpvKCJzZXNzaW9ucyIsZS5pZCwiXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREICIrZS5jb21tYW5kKTtpZigoZS5wcm92aWRlcj09PSJjbGF1ZGUifHxlLnByb3ZpZGVyPT09ImNvZGV4IikmJmUuY2xhdWRlU2Vzc2lvbklkJiZlLnN0YXR1cyE9PSJydW5uaW5nIiYmIXIuc2Vzc2lvbnNNYW5hZ2VNb2RlJiYhc2UoZSkpe3ZhciBsPWUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTYwNjJcdTU5MEQgQ29kZXggXHU0RjFBXHU4QkREIjoiXHU2MDYyXHU1OTBEIENsYXVkZSBcdTRGMUFcdThCREQiO289JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biIgZGF0YS1hY3Rpb249InJlc3VtZSIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSInK2wrJyIgdGl0bGU9IicrbCsnIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xIDR2Nmg2Ii8+PHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMTA1LjY0LTExLjM2TDMgMTAiLz48L3N2Zz48L2J1dHRvbj4nfXZhciBkPSFyLnNlc3Npb25zTWFuYWdlTW9kZSYmZS53b3JrdHJlZUVuYWJsZWQmJmUud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgsZj1lLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIiYmZS53b3JrdHJlZU1lcmdlSW5mbyYmZS53b3JrdHJlZU1lcmdlSW5mby5jbGVhbnVwRG9uZT09PSExLGM9ZS5zdGF0dXM9PT0icnVubmluZyJ8fGUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnaW5nIix2PWY/Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSI6Ilx1NTQwOFx1NUU3Nlx1NTIzMFx1NEUzQlx1NTIwNlx1NjUyRiIsaD1kJiZlLndvcmt0cmVlTWVyZ2VTdGF0dXMhPT0ibWVyZ2VkIj8nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIG1lcmdlLWJ0biIgZGF0YS1hY3Rpb249Indvcmt0cmVlLW1lcmdlIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IicrcCh2KSsnIiB0aXRsZT0iJytwKHYpKyciJysoYz8iIGRpc2FibGVkIjoiIikrJz48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDdoMTAiLz48cGF0aCBkPSJNNyAxMmgxMCIvPjxwYXRoIGQ9Ik03IDE3aDEwIi8+PHBhdGggZD0iTTUgN2wtMiAyIDIgMiIvPjxwYXRoIGQ9Ik0xOSAxNWwyIDItMiAyIi8+PC9zdmc+PC9idXR0b24+JzpmPyc8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gbWVyZ2UtYnRuIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtY2xlYW51cCIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiIHRpdGxlPSJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JzoiIixtPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gZGVsZXRlLWJ0biIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZXNzaW9uIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERCIgdGl0bGU9Ilx1NTIyMFx1OTY2NFx1NkI2NFx1NEYxQVx1OEJERCI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA2aDE4Ii8+PHBhdGggZD0iTTggNlY0YTIgMiAwIDAxMi0yaDRhMiAyIDAgMDEyIDJ2MiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDE0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMkw1IDYiLz48L3N2Zz48L2J1dHRvbj4nLGc9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLWFjdGlvbnMiPicrbytoK20rIjwvc3Bhbj4iLHk9ZS50aXRsZXx8ZS5zdW1tYXJ5Pyc8ZGl2IGNsYXNzPSJzZXNzaW9uLXRpdGxlIj4nK3AoZS50aXRsZXx8ZS5zdW1tYXJ5KSsiPC9kaXY+IjonPGRpdiBjbGFzcz0ic2Vzc2lvbi1jb21tYW5kIj4nK3AoZS5yZXN1bWVkRnJvbVNlc3Npb25JZD9lLmNvbW1hbmQucmVwbGFjZSgvXHMrLS1yZXN1bWVccytcUysvLCIiKS5yZXBsYWNlKC9ccytyZXN1bWVccytbMC05YS1mLV0rLywiIik6ZS5jb21tYW5kKSsiPC9kaXY+IixCPUxjKGUpLEU9IiI7ZS5zdGF0dXM9PT0icnVubmluZyImJkImJihFPSc8ZGl2IGNsYXNzPSJzZXNzaW9uLWFjdGl2aXR5Ij4nK3AoQikrIjwvZGl2PiIpO3ZhciBDPWUuZGVzY3JpcHRpb24/JzxkaXYgY2xhc3M9InNlc3Npb24tZGVzY3JpcHRpb24iPicrcChlLmRlc2NyaXB0aW9uKSsiPC9kaXY+IjoiIixEPSIiO2Uuc3RhdHVzPT09InJ1bm5pbmciP0Q9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSJcdTVERjJcdThGRDBcdTg4NEMgJytwKHpvKGUuc3RhcnRlZEF0KSkrJyI+JytwKHpvKGUuc3RhcnRlZEF0KSkrIjwvc3Bhbj4iOmUuZW5kZWRBdD9EPSc8c3BhbiBjbGFzcz0ic2Vzc2lvbi10aW1lIiB0aXRsZT0iJytwKG5ldyBEYXRlKGUuZW5kZWRBdCkudG9Mb2NhbGVTdHJpbmcoKSkrJyI+JytwKFdvKGUuZW5kZWRBdCkpKyI8L3NwYW4+IjplLnN0YXJ0ZWRBdCYmKEQ9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSInK3AobmV3IERhdGUoZS5zdGFydGVkQXQpLnRvTG9jYWxlU3RyaW5nKCkpKyciPicrcChXbyhlLnN0YXJ0ZWRBdCkpKyI8L3NwYW4+Iik7dmFyIEY9VW8oZSksTD1lLmF1dG9SZWNvdmVyZWQ/JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXJlY292ZXJ5LWhpbnQiPlx1ODFFQVx1NTJBOFx1NjA2Mlx1NTkwRDwvc3Bhbj4nOiIiLFM9ci5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxkaXYgY2xhc3M9InNlc3Npb24tc3dpcGUtYmciIGFyaWEtaGlkZGVuPSJ0cnVlIj48YnV0dG9uIGNsYXNzPSJzZXNzaW9uLXN3aXBlLWRlbGV0ZSIgZGF0YS1hY3Rpb249InN3aXBlLWRlbGV0ZS1zZXNzaW9uIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjxzcGFuPlx1NTIyMFx1OTY2NDwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nO3JldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0nK24raSsnIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj4nK1MrJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tcm93Ij4nK3MrJzxkaXYgY2xhc3M9InNlc3Npb24tbWFpbiI+PGRpdiBjbGFzcz0ic2Vzc2lvbi10aXRsZS1yb3ciPicreStEKyI8L2Rpdj4iK0MrRSsnPGRpdiBjbGFzcz0ic2Vzc2lvbi1tZXRhIj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1zdGF0dXMgJyt1KyciPicrcChhKSsiPC9zcGFuPiIrRitMKyI8L2Rpdj48L2Rpdj4iK2crIjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gcWMoZSl7aWYoIWV8fCFlLndvcmt0cmVlTWVyZ2VTdGF0dXMpcmV0dXJuIiI7dmFyIHQ9e3JlYWR5OiJcdTUzRUZcdTU0MDhcdTVFNzYiLGNoZWNraW5nOiJcdTY4QzBcdTY3RTVcdTRFMkQiLG1lcmdpbmc6Ilx1NTQwOFx1NUU3Nlx1NEUyRCIsbWVyZ2VkOmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMT8iXHU1REYyXHU1NDA4XHU1RTc2XHU1Rjg1XHU2RTA1XHU3NDA2IjoiXHU1REYyXHU1NDA4XHU1RTc2IixmYWlsZWQ6Ilx1NTQwOFx1NUU3Nlx1NTkzMVx1OEQyNSJ9O3JldHVybiB0W2Uud29ya3RyZWVNZXJnZVN0YXR1c118fCIifWZ1bmN0aW9uIEhjKGUpe3ZhciB0PXFjKGUpO3JldHVybiB0Pyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1raW5kLWJhZGdlIHdvcmt0cmVlLW1lcmdlICcrcChlLndvcmt0cmVlTWVyZ2VTdGF0dXN8fCIiKSsnIj4nK3AodCkrIjwvc3Bhbj4iOiIifWZ1bmN0aW9uIFVvKGUpe2lmKCFlfHwhZS53b3JrdHJlZUVuYWJsZWQpcmV0dXJuIiI7dmFyIHQ9W107ZS53b3JrdHJlZSYmZS53b3JrdHJlZS5icmFuY2gmJnQucHVzaCgiV29ya3RyZWU6ICIrZS53b3JrdHJlZS5icmFuY2gpLGUud29ya3RyZWUmJmUud29ya3RyZWUucGF0aCYmdC5wdXNoKCJQYXRoOiAiK2Uud29ya3RyZWUucGF0aCk7dmFyIG49dC5sZW5ndGg+MD8nIHRpdGxlPSInK3AodC5qb2luKGAKYCkpKyciJzoiIjtyZXR1cm4nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSB3b3JrdHJlZSInK24rIj5Xb3JrdHJlZTwvc3Bhbj4iK0hjKGUpfWZ1bmN0aW9uIGJoKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PXNlKGUpPyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1raW5kLWJhZGdlIHN0cnVjdHVyZWQiPlN0cnVjdHVyZWQ8L3NwYW4+JzonPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSBwdHkiPlBUWTwvc3Bhbj4nO3JldHVybiB0K1VvKGUpfWZ1bmN0aW9uIF9jKGUpe3ZhciB0PVt7aWQ6Im1hbmFnZWQiLGxhYmVsOiJcdTYyNThcdTdCQTEiLGRlc2M6Ilx1NTE2OFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NEVGQlx1NTJBMSJ9LHtpZDoiZnVsbC1hY2Nlc3MiLGxhYmVsOiJcdTUxNjhcdTY3NDNcdTk2NTAiLGRlc2M6Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MCJ9LHtpZDoiYXV0by1lZGl0IixsYWJlbDoiXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIixkZXNjOiJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTRGRUVcdTY1MzkifSx7aWQ6ImRlZmF1bHQiLGxhYmVsOiJcdTY4MDdcdTUxQzYiLGRlc2M6Ilx1OTAxMFx1NkI2NVx1Nzg2RVx1OEJBNFx1NjRDRFx1NEY1QyJ9LHtpZDoibmF0aXZlIixsYWJlbDoiXHU1MzlGXHU3NTFGIixkZXNjOiJcdTUzOUZcdTc1MUZcdTdFRDNcdTY3ODRcdTUzMTZcdThGOTNcdTUxRkEifV07cmV0dXJuIHQubWFwKGZ1bmN0aW9uKG4pe3ZhciBpPW4uaWQ9PT1lPyIgYWN0aXZlIjoiIjtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJtb2RlLWNhcmQnK2krJyIgZGF0YS1tb2RlPSInK24uaWQrJyI+PHNwYW4gY2xhc3M9Im1vZGUtY2FyZC1sYWJlbCI+JytuLmxhYmVsKyc8L3NwYW4+PHNwYW4gY2xhc3M9Im1vZGUtY2FyZC1kZXNjIj4nK24uZGVzYysiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKX1mdW5jdGlvbiBOYyhlKXt2YXIgdD1be2lkOiJjbGF1ZGUiLGxhYmVsOiJDbGF1ZGUiLGRlc2M6Ilx1NUI4Q1x1NjU3NCBDbGF1ZGUgXHU0RjFBXHU4QkREXHU4MEZEXHU1MjlCIn0se2lkOiJjb2RleCIsbGFiZWw6IkNvZGV4IixkZXNjOiJcdTdFRDNcdTY3ODRcdTUzMTYgSlNPTkwgXHU2MjE2IFBUWSBcdTRGMUFcdThCREQifSx7aWQ6Im9wZW5jb2RlIixsYWJlbDoiT3BlbkNvZGUiLGRlc2M6Ilx1NTkxQVx1NkEyMVx1NTc4Qlx1N0VEM1x1Njc4NFx1NTMxNlx1NjIxNiBQVFkgXHU0RjFBXHU4QkREIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihuKXt2YXIgaT1uLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHByb3ZpZGVyLWNhcmQnK2krJyIgZGF0YS1wcm92aWRlcj0iJytuLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrbi5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytuLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gamMoZSl7dmFyIHQ9W3tpZDoic3RydWN0dXJlZCIsbGFiZWw6Ilx1N0VEM1x1Njc4NFx1NTMxNiIsZGVzYzoiXHU2NjdBXHU4MEZEXHU1QkY5XHU4QkREXHU2QTIxXHU1RjBGIn0se2lkOiJwdHkiLGxhYmVsOiJQVFkiLGRlc2M6Ilx1NEVBNFx1NEU5Mlx1NUYwRlx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERCJ9XTtyZXR1cm4gdC5tYXAoZnVuY3Rpb24obil7dmFyIGk9bi5pZD09PWU/IiBhY3RpdmUiOiIiLGE9IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHNlc3Npb24ta2luZC1jYXJkJytpK2ErJyIgZGF0YS1zZXNzaW9uLWtpbmQ9Iicrbi5pZCsnIj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWxhYmVsIj4nK24ubGFiZWwrJzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWRlc2MiPicrbi5kZXNjKyI8L3NwYW4+PC9idXR0b24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIEVoKGUpe3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZSIgZm9yPSJzZXNzaW9uLXdvcmt0cmVlLXRvZ2dsZSIgdGl0bGU9Ilx1NEUzQVx1OEJFNVx1NEYxQVx1OEJERFx1NTIxQlx1NUVGQVx1NzJFQ1x1N0FDQlx1NzY4NCBnaXQgd29ya3RyZWUgXHU1MjA2XHU2NTJGIj48c3ZnIGNsYXNzPSJzZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTgiIHI9IjIuMiIvPjxwYXRoIGQ9Ik02IDguMnYzLjRhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWOC4yIi8+PHBhdGggZD0iTTEyIDEzLjZ2Mi4yIi8+PC9zdmc+PHNwYW4gY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZS1sYWJlbCI+V29ya3RyZWUgXHU2QTIxXHU1RjBGPC9zcGFuPjxpbnB1dCBpZD0ic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSInKyhlPyIgY2hlY2tlZCI6IiIpKycgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gS28oZSl7dmFyIHQ9ci5zZXNzaW9uVG9vbHx8ImNsYXVkZSI7cmV0dXJuIGU9PT0ic3RydWN0dXJlZCI/dD09PSJjb2RleCI/IkNvZGV4IEpTT05MIFx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6dD09PSJvcGVuY29kZSI/Ik9wZW5Db2RlIEpTT04gXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU3NTRDXHU5NzYyXHVGRjBDXHU2NTJGXHU2MzAxXHU3RUVEXHU4MDRBXHUzMDAxXHU2MDFEXHU4MDAzXHU4RkM3XHU3QTBCXHU1NDhDXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU1QzU1XHU3OTNBXHUzMDAyIjoiXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU3NTRDXHU5NzYyXHVGRjBDXHU2NTJGXHU2MzAxXHU1OTFBXHU4RjZFXHU1QkY5XHU4QkREXHUzMDAxXHU2RDQxXHU1RjBGXHU4RjkzXHU1MUZBXHU1NDhDXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU1QzU1XHU3OTNBXHUzMDAyIjp0PT09ImNvZGV4Ij8iQ29kZXggUFRZIFx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERFx1RkYxQnRlcm1pbmFsIFx1NjYyRlx1NTM5Rlx1NTlDQlx1OEY5M1x1NTFGQVx1RkYwQ2NoYXQgXHU2NjJGXHU4OUUzXHU2NzkwXHU1NDBFXHU3Njg0XHU5NjA1XHU4QkZCXHU4OUM2XHU1NkZFXHUzMDAyIjp0PT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgVFVJIFx1NzY4NFx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHUzMDAyIjoiXHU1MzlGXHU1OUNCIFBUWSBcdTdFQzhcdTdBRUZcdTRGMUFcdThCRERcdUZGMENcdTY1MkZcdTYzMDFcdTYzMDFcdTdFRURcdTRFQTRcdTRFOTJcdTMwMDFcdTdFQzhcdTdBRUZcdTg5QzZcdTU2RkVcdTU0OENcdTY3NDNcdTk2NTBcdTZENDFcdTMwMDIifWZ1bmN0aW9uIFJjKCl7dmFyIGU9JGUoKSx0PWR0KGUsci5tb2RlVmFsdWV8fHIuY2hhdE1vZGV8fCJkZWZhdWx0Iiksbj1yLnNlc3Npb25DcmVhdGVLaW5kfHwic3RydWN0dXJlZCIsaT1yLnNlc3Npb25DcmVhdGVXb3JrdHJlZT09PSEwO3JldHVybic8c2VjdGlvbiBpZD0ic2Vzc2lvbi1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgc2Vzc2lvbi1tb2RhbCI+PGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj48ZGl2PjxoMiBjbGFzcz0ibW9kYWwtdGl0bGUiPlx1NjVCMFx1NUJGOVx1OEJERDwvaDI+PHAgY2xhc3M9Im1vZGFsLXN1YnRpdGxlIj5cdTU0MkZcdTUyQTggQ2xhdWRlXHUzMDAxQ29kZXggXHU2MjE2IE9wZW5Db2RlIFx1NEYxQVx1OEJERFx1RkYwQ1x1OTAwOVx1NjJFOSBwcm92aWRlclx1MzAwMVx1NEYxQVx1OEJERFx1N0M3Qlx1NTc4Qlx1MzAwMVx1NkEyMVx1NUYwRlx1NTQ4Q1x1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS1tb2RhbC1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCI+UHJvdmlkZXI8L2xhYmVsPjxkaXYgaWQ9InByb3ZpZGVyLWNhcmRzIiBjbGFzcz0ibW9kZS1jYXJkcyI+JytOYyhlKSsnPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiPlx1NEYxQVx1OEJERFx1N0M3Qlx1NTc4QjwvbGFiZWw+PGRpdiBpZD0ic2Vzc2lvbi1raW5kLWNhcmRzIiBjbGFzcz0ibW9kZS1jYXJkcyI+JytqYyhuKSsnPC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtaGludCBzZXNzaW9uLWtpbmQtaGludC1yb3ciPjxzcGFuIGlkPSJzZXNzaW9uLWtpbmQtZGVzY3JpcHRpb24iPicrcChLbyhuKSkrJzwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjd2QiPlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvbGFiZWw+PGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtd3JhcCI+PGlucHV0IGlkPSJjd2QiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgYXV0b2NvbXBsZXRlPSJvZmYiIHBsYWNlaG9sZGVyPSInK3AoUWUoKSkrJyIgLz48ZGl2IGlkPSJjd2Qtc3VnZ2VzdGlvbnMiIGNsYXNzPSJzdWdnZXN0aW9ucyBoaWRkZW4iPjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTUyMUJcdTVFRkFcdTUyNERcdTUxNDhcdTc4NkVcdThCQTRcdTc2RUVcdTVGNTVcdUZGMUJcdTc1NTlcdTdBN0FcdTUyMTlcdTRGN0ZcdTc1MjhcdTRFMEFcdTY1QjlcdTc2RUVcdTVGNTVcdUZGMENcdTY1MkZcdTYzMDFcdThERUZcdTVGODRcdTgxRUFcdTUyQThcdTg4NjVcdTUxNjhcdTMwMDI8L3A+PGRpdiBpZD0icmVjZW50LXBhdGhzLWJ1YmJsZXMiIGNsYXNzPSJyZWNlbnQtcGF0aHMtYnViYmxlcyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiPlx1NkEyMVx1NUYwRjwvbGFiZWw+PGRpdiBpZD0ibW9kZS1jYXJkcyIgY2xhc3M9Im1vZGUtY2FyZHMiPicrX2ModCkrJzwvZGl2PjxwIGlkPSJtb2RlLWRlc2NyaXB0aW9uIiBjbGFzcz0iZmllbGQtaGludCI+JytwKFJsKGUsdCkpKyc8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj48YnV0dG9uIGlkPSJydW4tYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREPC9idXR0b24+PHAgaWQ9Im1vZGFsLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J312YXIgU2E9IndhbmQtbm9uLXdhbmQtc2Vzc2lvbnMtZXhwYW5kZWQiLElhPSJ3YW5kLWF1dG9tYXRpb24tc2Vzc2lvbnMtZXhwYW5kZWQiO2Z1bmN0aW9uIFdjKGUpe3JldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiYXV0b21hdGlvbi1zZXNzaW9uLWdyb3VwIik/SWE6ZS5jbGFzc0xpc3QuY29udGFpbnMoIm5vbi13YW5kLXNlc3Npb24tZ3JvdXAiKT9TYToiIn1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b2dnbGUiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCF0LmNsYXNzTGlzdCkpe3ZhciBuPVdjKHQpO2lmKG4pe2lmKHIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXt0Lm9wZW58fCh0Lm9wZW49ITApO3JldHVybn13ZShuLHQub3Blbil9fX0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtpZighKCF0fHx0eXBlb2YgdC5jbG9zZXN0IT0iZnVuY3Rpb24iKSl7aWYodC5jbG9zZXN0KCIubm9uLXdhbmQtc2Vzc2lvbi1ncm91cC5tYW5hZ2UtbW9kZSA+IHN1bW1hcnksIC5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGUgPiBzdW1tYXJ5Iikpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59dmFyIG49dC5jbG9zZXN0KCJbZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cF0iKTtpZihuKXt2YXIgaT1uLmRhdGFzZXQuZXhwYW5kU2Vzc2lvbkdyb3VwLGE9aT09PSJhdXRvbWF0aW9uIj9JYTppPT09Im5vbi13YW5kIj9TYToiIjtpZihhKXt3ZShhLCEwKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1jb2xsYXBzZS1idG4iKTt1JiZ1LmNsaWNrKCl9fX19KTtmdW5jdGlvbiB6YyhlKXt2YXIgdD1TdHJpbmcoZSYmZS5zZXNzaW9uU291cmNlfHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PSJhdXRvbWF0aW9uInx8dD09PSJzdGFydHVwIn1mdW5jdGlvbiBUYShlKXtyZXR1cm4gZS5zb3J0KGZ1bmN0aW9uKHQsbil7cmV0dXJuIG4udC10LnR9KX1mdW5jdGlvbiBMYSgpe3ZhciBlPVtdLHQ9W10sbj1bXTtyZXR1cm4gci5zZXNzaW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBhPWkuc3RhcnRlZEF0P25ldyBEYXRlKGkuc3RhcnRlZEF0KS5nZXRUaW1lKCk6MCx1PXtraW5kOiJzZXNzaW9uIixyZWY6aSx0OmlzRmluaXRlKGEpP2E6MH07KHpjKGkpP3Q6ZSkucHVzaCh1KX0pLHIuY2xhdWRlSGlzdG9yeUxvYWRlZCYma3IoKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBhPWkudGltZXN0YW1wP25ldyBEYXRlKGkudGltZXN0YW1wKS5nZXRUaW1lKCk6TnVtYmVyKGkubXRpbWVNcyl8fDA7aXNGaW5pdGUoYSl8fChhPU51bWJlcihpLm10aW1lTXMpfHwwKSxuLnB1c2goe2tpbmQ6Imhpc3RvcnkiLHJlZjppLHQ6YX0pfSksci5jb2RleEhpc3RvcnlMb2FkZWQmJlBhKCkuZm9yRWFjaChmdW5jdGlvbihpKXt2YXIgYT1pLnRpbWVzdGFtcD9uZXcgRGF0ZShpLnRpbWVzdGFtcCkuZ2V0VGltZSgpOk51bWJlcihpLm10aW1lTXMpfHwwO24ucHVzaCh7a2luZDoiY29kZXgiLHJlZjppLHQ6aXNGaW5pdGUoYSk/YTowfSl9KSx7d2FuZDpUYShlKSxhdXRvbWF0aW9uOlRhKHQpLG5vbldhbmQ6VGEobil9fWZ1bmN0aW9uIEZoKCl7dmFyIGU9TGEoKTtyZXR1cm4gZS53YW5kLmNvbmNhdChlLmF1dG9tYXRpb24sZS5ub25XYW5kKX1mdW5jdGlvbiBWYygpe3ZhciBlPVtdO2UucHVzaChKbygpKTt2YXIgdD1MYSgpO3JldHVybiB0LndhbmQubGVuZ3RoK3QuYXV0b21hdGlvbi5sZW5ndGgrdC5ub25XYW5kLmxlbmd0aD09PTA/Sm8oKSsnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU4RkQ4XHU2Q0ExXHU2NzA5XHU0RjFBXHU4QkREXHU4QkIwXHU1RjU1PC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2Pic6KHQud2FuZC5sZW5ndGg+MCYmZS5wdXNoKE9hKHQud2FuZCkpLHQuYXV0b21hdGlvbi5sZW5ndGg+MCYmZS5wdXNoKEdjKHQuYXV0b21hdGlvbikpLHQubm9uV2FuZC5sZW5ndGg+MCYmZS5wdXNoKEpjKHQubm9uV2FuZCkpLGUuam9pbigiIikpfWZ1bmN0aW9uIFVjKCl7cmV0dXJuISFyLnNpZGViYXJQaW5uZWQmJiEhci5zaWRlYmFyQ29sbGFwc2VkfWZ1bmN0aW9uIEtjKCl7dmFyIGU9TGEoKSx0PWUud2FuZC5tYXAoZnVuY3Rpb24obCxkKXt2YXIgZj1kKzEsYz1sLnJlZix2PWMuaWQ9PT1yLnNlbGVjdGVkSWQ/IiBhY3RpdmUiOiIiLGg9Yy50aXRsZXx8Yy5kZXNjcmlwdGlvbnx8Yy5zdW1tYXJ5fHxjLmNvbW1hbmR8fCJcdTRGMUFcdThCREQgIitmO3JldHVybic8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlJyt2KyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1jb2xsYXBzZWQtc2Vzc2lvbi1pZD0iJytwKGMuaWQpKyciIHRpdGxlPSInK3AoaCkrJyI+JytmKyI8L2J1dHRvbj4ifSkuam9pbigiIiksbj1lLmF1dG9tYXRpb24ubGVuZ3RoLGk9ZS5hdXRvbWF0aW9uLnNvbWUoZnVuY3Rpb24obCl7cmV0dXJuIGwucmVmLmlkPT09ci5zZWxlY3RlZElkfSksYT1uPjA/JzxidXR0b24gY2xhc3M9InNpZGViYXItY29sbGFwc2VkLXRpbGUgYXV0b21hdGlvbi1jb3VudC10aWxlJysoaT8iIGFjdGl2ZS1ncm91cCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0iYXV0b21hdGlvbiIgdGl0bGU9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK24rJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiIGFyaWEtbGFiZWw9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK24rJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJub24td2FuZC1jb3VudC1iYWRnZSI+Jysobj45OT8iOTkrIjpuKSsiPC9zcGFuPjwvYnV0dG9uPiI6IiIsdT1lLm5vbldhbmQubGVuZ3RoLG89dT4wPyc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIG5vbi13YW5kLWNvdW50LXRpbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0ibm9uLXdhbmQiIHRpdGxlPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJyt1KycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJyt1KycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0zIDEyYTkgOSAwIDEwOS05IDkuNzUgOS43NSAwIDAwLTYuNzQgMi43NEwzIDgiLz48cGF0aCBkPSJNMyAzdjVoNSIvPjxwYXRoIGQ9Ik0xMiA3djVsMyAyIi8+PC9zdmc+PHNwYW4gY2xhc3M9Im5vbi13YW5kLWNvdW50LWJhZGdlIj4nKyh1Pjk5PyI5OSsiOnUpKyI8L3NwYW4+PC9idXR0b24+IjoiIixzPSc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIGFkZCIgdHlwZT0iYnV0dG9uIiBkYXRhLWNvbGxhcHNlZC1uZXctc2Vzc2lvbj0iMSIgdGl0bGU9Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCIgYXJpYS1sYWJlbD0iXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48L3N2Zz48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlcyI+Jyt0K2ErbytzKyI8L2Rpdj4ifWZ1bmN0aW9uIE1hKCl7cmV0dXJuIFVjKCk/S2MoKTpWYygpfWZ1bmN0aW9uIEpvKCl7aWYoIXIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1iYXIiPjxzcGFuIGNsYXNzPSJzaWRlYmFyLWludHJvIj5XYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi14cyBzZXNzaW9uLW1hbmFnZS10b2dnbGUiIGRhdGEtYWN0aW9uPSJ0b2dnbGUtbWFuYWdlLW1vZGUiIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOSAxMWwzIDNMMjIgNCIvPjxwYXRoIGQ9Ik0yMSAxMnY3YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMSIvPjwvc3ZnPjxzcGFuPlx1N0JBMVx1NzQwNjwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nO3ZhciBlPUdvKCkubGVuZ3RoLHQ9WW8oKS5sZW5ndGgsbj1RbygpLmxlbmd0aCxpPWUrdCtuLGE9aT4wLHU9UWMoKSxvPXU+MCYmaT49dSxzPW8/Ilx1NTNENlx1NkQ4OFx1NTE2OFx1OTAwOSI6Ilx1NTE2OFx1OTAwOSIsbD1vPyJjbGVhci1zZWxlY3Rpb24iOiJzZWxlY3QtYWxsLXZpc2libGUiLGQ9dT09PTA/IiBkaXNhYmxlZCI6IiIsZj0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtZXhpdCIgZGF0YS1hY3Rpb249InRvZ2dsZS1tYW5hZ2UtbW9kZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj4nLGM9YT8nPHNwYW4gY2xhc3M9InNlc3Npb24tbWFuYWdlLWNvdW50Ij4nK2krJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbCI+XHU1REYyXHU5MDA5XHU2MkU5PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIj5cdTkwMDlcdTYyRTlcdTg5ODFcdTdCQTFcdTc0MDZcdTc2ODRcdTk4NzlcdTc2RUU8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSI+JytmKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5Ij4nK2MrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWFuYWdlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiBkYXRhLWFjdGlvbj0iJytsKyciIHR5cGU9ImJ1dHRvbiInK2QrIj4iK3MrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIGJ0bi14cyIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZWxlY3RlZCIgdHlwZT0iYnV0dG9uIicrKGE/IiI6IiBkaXNhYmxlZCIpKyI+XHU1MjIwXHU5NjY0IisoYT8iICIraToiIikrIjwvYnV0dG9uPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gT2EoZSx0KXt2YXIgbj0nPHNlY3Rpb24gY2xhc3M9InNlc3Npb24tZ3JvdXAnKyh0PyIgIit0OiIiKSsnIj4nO3JldHVybiBuKz1lLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5raW5kPT09InNlc3Npb24iP1BjKGkucmVmLCJzZXNzaW9ucyIpOmVmKGkucmVmLGkua2luZCl9KS5qb2luKCIiKSxuKz0iPC9zZWN0aW9uPiIsbn1mdW5jdGlvbiBKYyhlKXt2YXIgdD1yLnNlc3Npb25zTWFuYWdlTW9kZXx8YnIoU2EsITEpO3JldHVybic8ZGV0YWlscyBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1ncm91cCcrKHIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIgbWFuYWdlLW1vZGUiOiIiKSsnIicrKHQ/IiBvcGVuIjoiIikrJz48c3VtbWFyeSBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iQ2xhdWRlIFx1NEUwRSBDb2RleCBcdTc2ODRcdTY3MkNcdTY3M0FcdTUzOUZcdTc1MUZcdTRGMUFcdThCRERcdUZGMENcdTRFMERcdTUzQzJcdTRFMEUgV2FuZCBcdTRGMUFcdThCRERcdTYzOTJcdTVFOEYiPjxzcGFuIGNsYXNzPSJub24td2FuZC1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJhOSA5IDAgMTA5LTkgOS43NSA5Ljc1IDAgMDAtNi43NCAyLjc0TDMgOCIvPjxwYXRoIGQ9Ik0zIDN2NWg1Ii8+PHBhdGggZD0iTTEyIDd2NWwzIDIiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tdGl0bGUiPlx1OTc1RSBXYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48c3BhbiBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tY2hldnJvbiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9zdW1tYXJ5PicrT2EoZSwibm9uLXdhbmQtc2Vzc2lvbi1saXN0IikrIjwvZGV0YWlscz4ifWZ1bmN0aW9uIEdjKGUpe3ZhciB0PXIuc2Vzc2lvbnNNYW5hZ2VNb2RlfHxicihJYSwhMSk7cmV0dXJuJzxkZXRhaWxzIGNsYXNzPSJhdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAnKyhyLnNlc3Npb25zTWFuYWdlTW9kZT8iIG1hbmFnZS1tb2RlIjoiIikrJyInKyh0PyIgb3BlbiI6IiIpKyc+PHN1bW1hcnkgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iXHU3NTMxXHU4MUVBXHU1MkE4XHU1MzE2XHU2MjE2XHU1NDJGXHU1MkE4XHU0RUZCXHU1MkExXHU1MjFCXHU1RUZBXHVGRjBDXHU0RTBEXHU1M0MyXHU0RTBFXHU2NjZFXHU5MDFBIFdhbmQgXHU0RjFBXHU4QkREXHU2MzkyXHU1RThGIj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLXRpdGxlIj5cdTgxRUFcdTUyQThcdTUzMTY8L3NwYW4+PHNwYW4gY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz48L3N2Zz48L3N1bW1hcnk+JytPYShlLCJhdXRvbWF0aW9uLXNlc3Npb24tbGlzdCIpKyI8L2RldGFpbHM+In1mdW5jdGlvbiBrcigpe3ZhciBlPW5ldyBTZXQ7cmV0dXJuIHIuc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNsYXVkZVNlc3Npb25JZCYmZS5hZGQodC5jbGF1ZGVTZXNzaW9uSWQpfSksci5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5oYXNDb252ZXJzYXRpb24mJiF0Lm1hbmFnZWRCeVdhbmQmJiFlLmhhcyh0LmNsYXVkZVNlc3Npb25JZCl9KX1mdW5jdGlvbiBHbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkU2Vzc2lvbklkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhci5zZWxlY3RlZFNlc3Npb25JZHNbZV19KX1mdW5jdGlvbiBZbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhci5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV19KX1mdW5jdGlvbiBRbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuISFyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzW2VdfSl9ZnVuY3Rpb24gRmkoKXtyLnNlbGVjdGVkU2Vzc2lvbklkcz17fSxyLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz17fSxyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzPXt9fWZ1bmN0aW9uIFljKGUpe3Iuc2Vzc2lvbnNNYW5hZ2VNb2RlPXR5cGVvZiBlPT0iYm9vbGVhbiI/ZTohci5zZXNzaW9uc01hbmFnZU1vZGUsci5zZXNzaW9uc01hbmFnZU1vZGUmJighci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHwhci5jb2RleEhpc3RvcnlMb2FkZWQpJiZDaSgpLnRoZW4ocGUpLHIuc2Vzc2lvbnNNYW5hZ2VNb2RlfHwoRmkoKSxWcigpKSxwZSgpfWZ1bmN0aW9uICRvKCl7cmV0dXJuIHIuc2Vzc2lvbnMuc2xpY2UoKX1mdW5jdGlvbiBRYygpe3JldHVybiAkbygpLmxlbmd0aCtrcigpLmxlbmd0aCtQYSgpLmxlbmd0aH1mdW5jdGlvbiBYbygpe2lmKCFyLmNsYXVkZUhpc3RvcnlMb2FkZWR8fCFyLmNvZGV4SGlzdG9yeUxvYWRlZCl7Q2koKS50aGVuKFhvKTtyZXR1cm59dmFyIGU9e307JG8oKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2VbaS5pZF09ITB9KTt2YXIgdD17fTtrcigpLmZvckVhY2goZnVuY3Rpb24oaSl7dFtpLmNsYXVkZVNlc3Npb25JZF09ITB9KTt2YXIgbj17fTtQYSgpLmZvckVhY2goZnVuY3Rpb24oaSl7bltpLmNsYXVkZVNlc3Npb25JZF09ITB9KSxyLnNlbGVjdGVkU2Vzc2lvbklkcz1lLHIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzPXQsci5zZWxlY3RlZENvZGV4SGlzdG9yeUlkcz1uLHBlKCl9ZnVuY3Rpb24gJGMoKXtGaSgpLHBlKCl9ZnVuY3Rpb24gQXIoZSx0KXtpZighKCFyLnNlc3Npb25zTWFuYWdlTW9kZXx8IXQpKXt2YXIgbj1lPT09Imhpc3RvcnkiP3Iuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOmU9PT0iY29kZXgiP3Iuc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM6ci5zZWxlY3RlZFNlc3Npb25JZHM7blt0XT9kZWxldGUgblt0XTpuW3RdPSEwLHBlKCl9fWZ1bmN0aW9uIFpvKGUsdCxuKXtpZighci5zZXNzaW9uc01hbmFnZU1vZGUpcmV0dXJuIiI7dmFyIGk9ZT09PSJoaXN0b3J5Ij8hIXIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzW3RdOmU9PT0iY29kZXgiPyEhci5zZWxlY3RlZENvZGV4SGlzdG9yeUlkc1t0XTohIXIuc2VsZWN0ZWRTZXNzaW9uSWRzW3RdO3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24tbWFuYWdlLWNoZWNrIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYWN0aW9uPSJ0b2dnbGUtc2VsZWN0aW9uIiBkYXRhLWtpbmQ9IicrcChlKSsnIiBkYXRhLWlkPSInK3AodCkrJyInKyhpPyIgY2hlY2tlZCI6IiIpKycgYXJpYS1sYWJlbD0iJytwKG4pKyciPjxzcGFuPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gam4oZSx0KXtyZXR1cm4gUWEoZSxPYmplY3QuYXNzaWduKHt0eXBlOiJkYW5nZXIiLGRhbmdlcjohMCxva0xhYmVsOiJcdTUyMjBcdTk2NjQifSx0fHx7fSkpfWZ1bmN0aW9uIFhjKCl7dmFyIGU9R28oKSx0PVlvKCksbj1RbygpLGk9ci5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIGUuaW5kZXhPZih1LmlkKSE9PS0xfSkubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LmNsYXVkZVNlc3Npb25JZH0pLmZpbHRlcihCb29sZWFuKSxhPWUubGVuZ3RoK3QubGVuZ3RoK24ubGVuZ3RoO2EmJmpuKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDkgIithKyIgXHU5ODc5XHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NjI0MFx1OTAwOSAiK2ErIiBcdTk4NzkifSkudGhlbihmdW5jdGlvbih1KXtpZih1KXt2YXIgbz1bXTtlLmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvc2Vzc2lvbnMvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkczplfSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pKSx0Lmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2xhdWRlU2Vzc2lvbklkczp0fSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pKSxuLmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS9iYXRjaC1kZWxldGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjbGF1ZGVTZXNzaW9uSWRzOm59KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkpLFByb21pc2UuYWxsKG8pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHIuc2VsZWN0ZWRJZCkhPT0tMSYmKHIuc2VsZWN0ZWRJZD1udWxsLEVlKCkpLHIuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiB0LmluZGV4T2Yocy5jbGF1ZGVTZXNzaW9uSWQpPT09LTEmJmkuaW5kZXhPZihzLmNsYXVkZVNlc3Npb25JZCk9PT0tMX0pLHIuY29kZXhIaXN0b3J5PXIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihzKXtyZXR1cm4gbi5pbmRleE9mKHMuY2xhdWRlU2Vzc2lvbklkKT09PS0xJiZpLmluZGV4T2Yocy5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxGaSgpLF90KCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtPZShzLCJcdTY1RTBcdTZDRDVcdTYyNzlcdTkxQ0ZcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDlcdTk4NzlcdTc2RUVcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIFpjKCl7dmFyIGU9RGF0ZS5ub3coKS04NjRlNSx0PWtyKCkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiFuLnRpbWVzdGFtcHx8bmV3IERhdGUobi50aW1lc3RhbXApLmdldFRpbWUoKTw9ZX0pO2lmKHQubGVuZ3RoKXJldHVybiBqbigiXHU3ODZFXHU4QkE0XHU2RTA1XHU3QTdBXHU1RjUzXHU1MjREXHU2NjNFXHU3OTNBXHU3Njg0ICIrdC5sZW5ndGgrIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0EgQ2xhdWRlIFx1NTM4Nlx1NTNGMiIsb2tMYWJlbDoiXHU2RTA1XHU3QTdBIn0pLnRoZW4oZnVuY3Rpb24obil7aWYobil7dmFyIGk9dC5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkfSk7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1oaXN0b3J5L2JhdGNoLWRlbGV0ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2NsYXVkZVNlc3Npb25JZHM6aX0pfSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEmJmEuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGEuZXJyb3IpO3IuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiBpLmluZGV4T2YodS5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxGaSgpLHBlKCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtPZShhLCJcdTY1RTBcdTZDRDVcdTZFMDVcdTdBN0FcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIGVmKGUsdCl7dmFyIG49dD09PSJjb2RleCIsaT1uPyJyZXN1bWUtY29kZXgtaGlzdG9yeSI6InJlc3VtZS1oaXN0b3J5IixhPW4/ImRlbGV0ZS1jb2RleC1oaXN0b3J5IjoiZGVsZXRlLWhpc3RvcnkiLHU9bj9yLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzOnIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzLG89ZS5jbGF1ZGVTZXNzaW9uSWQuc2xpY2UoMCw4KSxzPWUuZmlyc3RVc2VyTWVzc2FnZXx8IihcdTdBN0FcdTRGMUFcdThCREQpIixsPXRmKGUudGltZXN0YW1wKSxkPVpvKHQsZS5jbGF1ZGVTZXNzaW9uSWQsIlx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCAiK3MpLGY9ci5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBkZWxldGUtYnRuIiBkYXRhLWFjdGlvbj0iJythKyciIGRhdGEtY2xhdWRlLXNlc3Npb24taWQ9IicrZS5jbGF1ZGVTZXNzaW9uSWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiIHRpdGxlPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JyxjPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4iIGRhdGEtYWN0aW9uPSInK2krJyIgZGF0YS1jbGF1ZGUtc2Vzc2lvbi1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLWN3ZD0iJytwKGUuY3dkKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERCIgdGl0bGU9IicrKG4/Ilx1NjA2Mlx1NTkwRFx1NkI2NCBDb2RleCBcdTRGMUFcdThCREQiOiJcdTYwNjJcdTU5MERcdTZCNjQgQ2xhdWRlIFx1NEYxQVx1OEJERCIpKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEgNHY2aDYiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxMDUuNjQtMTEuMzZMMyAxMCIvPjwvc3ZnPjwvYnV0dG9uPic7cmV0dXJuJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbSBub24td2FuZC1zZXNzaW9uJysoci5zZXNzaW9uc01hbmFnZU1vZGUmJnVbZS5jbGF1ZGVTZXNzaW9uSWRdPyIgc2VsZWN0ZWQiOiIiKSsnIiBkYXRhLWNsYXVkZS1oaXN0b3J5LWlkPSInK2UuY2xhdWRlU2Vzc2lvbklkKyciIGRhdGEtcHJvdmlkZXI9IicrKG4/ImNvZGV4IjoiY2xhdWRlIikrJyIgZGF0YS1jd2Q9IicrcChlLmN3ZCkrJyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtLWNvbnRlbnQiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1yb3ciPicrZCsnPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYWluIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWNvbW1hbmQgY2xhdWRlLWhpc3RvcnktcHJldmlldyI+JytwKHMpKyc8L2Rpdj48ZGl2IGNsYXNzPSJzZXNzaW9uLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXNzaW9uLWlkIiB0aXRsZT0iJytwKGUuY2xhdWRlU2Vzc2lvbklkKSsnIj4nK3AobykrIjwvc3Bhbj48c3Bhbj4iK3AobCkrJzwvc3Bhbj48L2Rpdj48L2Rpdj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb25zIj4nK2MrZisiPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gdGYoZSl7aWYoIWUpcmV0dXJuIiI7dHJ5e3ZhciB0PW5ldyBEYXRlKGUpLG49bmV3IERhdGUsaT1uLXQsYT1NYXRoLmZsb29yKGkvNmU0KTtpZihhPDEpcmV0dXJuIlx1NTIxQVx1NTIxQSI7aWYoYTw2MClyZXR1cm4gYSsiIFx1NTIwNlx1OTQ5Rlx1NTI0RCI7dmFyIHU9TWF0aC5mbG9vcihhLzYwKTtpZih1PDI0KXJldHVybiB1KyIgXHU1QzBGXHU2NUY2XHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHUvMjQpO3JldHVybiBvPDMwP28rIiBcdTU5MjlcdTUyNEQiOnQudG9Mb2NhbGVEYXRlU3RyaW5nKCl9Y2F0Y2h7cmV0dXJuIiJ9fWZ1bmN0aW9uIGVzKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1oaXN0b3J5Iix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6W119KS50aGVuKGZ1bmN0aW9uKGUpe3IuY2xhdWRlSGlzdG9yeT1lfHxbXSxyLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITAscGUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ci5jbGF1ZGVIaXN0b3J5TG9hZGVkPSEwLHIuY2xhdWRlSGlzdG9yeT1bXSxwZSgpfSl9dmFyIHhyPW51bGw7ZnVuY3Rpb24gQ2koKXt2YXIgZT1uZigpOyFyLmNsYXVkZUhpc3RvcnlMb2FkZWQmJiF4ciYmKHhyPWVzKCkudGhlbihmdW5jdGlvbigpe3hyPW51bGx9LGZ1bmN0aW9uKCl7eHI9bnVsbH0pKTt2YXIgdD14cnx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJuIFByb21pc2UuYWxsKFt0LGVdKS50aGVuKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gdHMoKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9rP2UuanNvbigpOltdfSkudGhlbihmdW5jdGlvbihlKXtyLmNvZGV4SGlzdG9yeT1lfHxbXSxyLmNvZGV4SGlzdG9yeUxvYWRlZD0hMCxwZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtyLmNvZGV4SGlzdG9yeUxvYWRlZD0hMCxyLmNvZGV4SGlzdG9yeT1bXSxwZSgpfSl9dmFyIG5yPW51bGw7ZnVuY3Rpb24gbmYoKXtyZXR1cm4gci5jb2RleEhpc3RvcnlMb2FkZWQ/UHJvbWlzZS5yZXNvbHZlKCk6bnJ8fChucj10cygpLnRoZW4oZnVuY3Rpb24oKXtucj1udWxsfSxmdW5jdGlvbigpe25yPW51bGx9KSxucil9ZnVuY3Rpb24gUGEoKXt2YXIgZT1uZXcgU2V0O3JldHVybiByLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jbGF1ZGVTZXNzaW9uSWQmJmUuYWRkKHQuY2xhdWRlU2Vzc2lvbklkKX0pLHIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5oYXNDb252ZXJzYXRpb24mJiF0Lm1hbmFnZWRCeVdhbmQmJiFlLmhhcyh0LmNsYXVkZVNlc3Npb25JZCl9KX1mdW5jdGlvbiBucygpe3NzKCksIXdpKCkmJihyLnBvbGxUaW1lcj1zZXRJbnRlcnZhbChfdCwxNjAwKSl9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2Vzc2lvbi10aW1lIik7ZS5sZW5ndGg+MCYmUnUoKX0sM2U0KTtmdW5jdGlvbiBxYSgpe3Iud3NSZWNvbm5lY3RUaW1lciYmKGNsZWFyVGltZW91dChyLndzUmVjb25uZWN0VGltZXIpLHIud3NSZWNvbm5lY3RUaW1lcj1udWxsKX12YXIgcmY9MWU0LGFmPTRlNDtmdW5jdGlvbiB1Zigpe3JzKCksci53c0hlYXJ0YmVhdENoZWNrVGltZXI9c2V0SW50ZXJ2YWwoaXMscmYpfWZ1bmN0aW9uIHJzKCl7ci53c0hlYXJ0YmVhdENoZWNrVGltZXImJihjbGVhckludGVydmFsKHIud3NIZWFydGJlYXRDaGVja1RpbWVyKSxyLndzSGVhcnRiZWF0Q2hlY2tUaW1lcj1udWxsKX1mdW5jdGlvbiBpcygpe2lmKCEoIXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKSYmci5sYXN0V3NNZXNzYWdlQXQpe3ZhciBlPURhdGUubm93KCktci5sYXN0V3NNZXNzYWdlQXQ7ZT5hZiYmSGEoImhlYXJ0YmVhdC1zdGFsZS0iK01hdGgucm91bmQoZS8xZTMpKyJzIil9fWZ1bmN0aW9uIEhhKGUpe2lmKHFhKCksci53cyl7dmFyIHQ9ci53czt0cnl7dC5vbmNsb3NlPW51bGx9Y2F0Y2h7fXRyeXt0Lm9uZXJyb3I9bnVsbH1jYXRjaHt9dHJ5e3Qub25tZXNzYWdlPW51bGx9Y2F0Y2h7fXRyeXt0LmNsb3NlKCl9Y2F0Y2h7fXIud3M9bnVsbH1yLndzQ29ubmVjdGVkPSExLHIud3NSZWNvbm5lY3RBdHRlbXB0cz0wLHdpKGUpfWZ1bmN0aW9uIGFzKCl7aWYoIXIud3NSZWNvbm5lY3RUaW1lciYmIWRvY3VtZW50LmhpZGRlbil7dmFyIGU9ci53c1JlY29ubmVjdEF0dGVtcHRzfHwwLHQ9WzUwMCwxZTMsMmUzLDRlMyw4ZTNdLG49dFtlPHQubGVuZ3RoP2U6dC5sZW5ndGgtMV07ci53c1JlY29ubmVjdEF0dGVtcHRzPWUrMSxyLndzUmVjb25uZWN0VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3Iud3NSZWNvbm5lY3RUaW1lcj1udWxsLHIuY29uZmlnJiYhci53cyYmIWRvY3VtZW50LmhpZGRlbiYmd2koImJhY2tvZmYiKX0sbil9fWZ1bmN0aW9uIHdpKGUpe2lmKCF3aW5kb3cuV2ViU29ja2V0KXJldHVybiExO2lmKHIud3Mpe3RyeXtyLndzLmNsb3NlKCl9Y2F0Y2h7fXIud3M9bnVsbH12YXIgdD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiIsbj10KyIvLyIrd2luZG93LmxvY2F0aW9uLmhvc3QrIi93cyI7dHJ5e3ZhciBpPW5ldyBXZWJTb2NrZXQobik7cmV0dXJuIGkub25vcGVuPWZ1bmN0aW9uKCl7ci53cz1pLHIud3NDb25uZWN0ZWQ9ITAsci5sYXN0V3NNZXNzYWdlQXQ9RGF0ZS5ub3coKSxyLndzUmVjb25uZWN0QXR0ZW1wdHM9MCxxYSgpLHIubGFzdFNlcUJ5U2Vzc2lvbj17fSx1ZigpLEduKHIuc2VsZWN0ZWRJZCksU3YoKSxPcigid3MtcmVjb25uZWN0Iil9LGkub25tZXNzYWdlPWZ1bmN0aW9uKGEpe3IubGFzdFdzTWVzc2FnZUF0PURhdGUubm93KCk7dHJ5e3ZhciB1PUpTT04ucGFyc2UoYS5kYXRhKTtpZih1JiZ1LnR5cGU9PT0icGluZyIpe2lmKHIud3MmJnIud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOKXRyeXtyLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InBvbmciLHQ6dS50fSkpfWNhdGNoe31yZXR1cm59aWYodSYmdS50eXBlPT09InJlc3luY19yZXF1aXJlZCImJnUuc2Vzc2lvbklkKXtpZihyLndzJiZyLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil0cnl7ci53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJyZXN5bmMiLHNlc3Npb25JZDp1LnNlc3Npb25JZH0pKX1jYXRjaHt9ci5sYXN0U2VxQnlTZXNzaW9ufHwoci5sYXN0U2VxQnlTZXNzaW9uPXt9KSxyLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPTA7cmV0dXJufWlmKHUmJih1LnR5cGU9PT0iaW5pdCJ8fHUudHlwZT09PSJvdXRwdXQiKSYmdS5zZXNzaW9uSWQmJnR5cGVvZiB1LnNlcT09Im51bWJlciIpe3IubGFzdFNlcUJ5U2Vzc2lvbnx8KHIubGFzdFNlcUJ5U2Vzc2lvbj17fSk7dmFyIG89ci5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXXx8MDtpZih1LnR5cGU9PT0iaW5pdCIpci5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT11LnNlcTtlbHNlIGlmKHUuc2VxPT09bysxKXIubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09dS5zZXE7ZWxzZSBpZih1LnNlcT5vKzEmJm8+MCl7aWYoci53cyYmci53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4pdHJ5e3Iud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToicmVzeW5jIixzZXNzaW9uSWQ6dS5zZXNzaW9uSWR9KSl9Y2F0Y2h7fXIubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09MDtyZXR1cm59ZWxzZXtpZih1LnNlcTxvKXJldHVybjtyLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPXUuc2VxfX1vZih1KX1jYXRjaHt9fSxpLm9uY2xvc2U9ZnVuY3Rpb24oKXtyLndzPW51bGwsci53c0Nvbm5lY3RlZD0hMSxycygpLGFzKCl9LGkub25lcnJvcj1mdW5jdGlvbigpe2kuY2xvc2UoKX0sITB9Y2F0Y2h7cmV0dXJuIGFzKCksITF9fWZ1bmN0aW9uIG9mKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2Uib3V0cHV0IjppZihlLmRhdGEmJmUuc2Vzc2lvbklkJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJpc1Jlc3BvbmRpbmciKSYmKHIuX2xhc3RJc1Jlc3BvbmRpbmd8fChyLl9sYXN0SXNSZXNwb25kaW5nPXt9KSxyLl9sYXN0SXNSZXNwb25kaW5nW2Uuc2Vzc2lvbklkXT0hIWUuZGF0YS5pc1Jlc3BvbmRpbmcpLGUuZGF0YSYmZS5zZXNzaW9uSWQpe3ZhciB0PSEhZS5kYXRhLmluY3JlbWVudGFsLG49e2lkOmUuc2Vzc2lvbklkfSxpPSExO2lmKCF0JiZlLmRhdGEub3V0cHV0IT09dm9pZCAwJiYobi5vdXRwdXQ9ZS5kYXRhLm91dHB1dCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKG4ucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJihuLnF1ZXVlZE1lc3NhZ2VzPWUuZGF0YS5xdWV1ZWRNZXNzYWdlc3x8W10sci5xdWV1ZUVwb2NoKyspLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihuLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEuc2Vzc2lvbktpbmQmJihuLnNlc3Npb25LaW5kPWUuZGF0YS5zZXNzaW9uS2luZCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwidGl0bGUiKSYmKG4udGl0bGU9ZS5kYXRhLnRpdGxlLGk9ITApLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsImRlc2NyaXB0aW9uIikmJihuLmRlc2NyaXB0aW9uPWUuZGF0YS5kZXNjcmlwdGlvbixpPSEwKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJzdW1tYXJ5IikmJihuLnN1bW1hcnk9ZS5kYXRhLnN1bW1hcnkpLGUuZGF0YS5tZXNzYWdlcyluLm1lc3NhZ2VzPWUuZGF0YS5tZXNzYWdlcyx0eXBlb2YgZS5kYXRhLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiJiYobi5tZXNzYWdlT2Zmc2V0PWUuZGF0YS5tZXNzYWdlT2Zmc2V0KSx0eXBlb2YgZS5kYXRhLm1lc3NhZ2VUb3RhbD09Im51bWJlciImJihuLm1lc3NhZ2VUb3RhbD1lLmRhdGEubWVzc2FnZVRvdGFsKTtlbHNlIGlmKHQmJmUuZGF0YS5sYXN0TWVzc2FnZSl7dmFyIGE9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFApe3JldHVybiBQLmlkPT09ZS5zZXNzaW9uSWR9KTtpZihhKXt2YXIgdT1BcnJheS5pc0FycmF5KGEubWVzc2FnZXMpP2EubWVzc2FnZXMuc2xpY2UoKTpbXSxvPWUuZGF0YS5tZXNzYWdlQ291bnR8fDAscz10eXBlb2YgYS5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj9hLm1lc3NhZ2VPZmZzZXQ6MCxsPXUubGVuZ3RoPjA/dVt1Lmxlbmd0aC0xXTpudWxsLGQ9ZS5kYXRhLmxhc3RNZXNzYWdlO2wmJmQucm9sZSYmbC5yb2xlPT09ZC5yb2xlP3VbdS5sZW5ndGgtMV09dW8obCxkKTpzK3UubGVuZ3RoPG8mJnUucHVzaChkKSxuLm1lc3NhZ2VzPXUsbz4wJiYobi5tZXNzYWdlVG90YWw9byl9fXZhciBmPXQmJmUuZGF0YS5jaHVuayYmIWUuZGF0YS5sYXN0TWVzc2FnZSYmIW4ubWVzc2FnZXMmJm4ub3V0cHV0PT09dm9pZCAwJiYhZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZSYmIWUuZGF0YS5zZXNzaW9uS2luZDtpZihmKXtpZihlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQhPT12b2lkIDApe3ZhciBjPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihQKXtyZXR1cm4gUC5pZD09PWUuc2Vzc2lvbklkfSk7YyYmISFjLnBlcm1pc3Npb25CbG9ja2VkIT0hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCYmKGVlKG4pLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiYkdCgpKX19ZWxzZSBpZigobi5vdXRwdXQhPT12b2lkIDB8fG4ubWVzc2FnZXN8fHR8fGUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCE9PXZvaWQgMHx8bi50aXRsZXx8bi5kZXNjcmlwdGlvbikmJihlZShuKSxpJiZSdSgpLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkKSl7dmFyIHY9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFApe3JldHVybiBQLmlkPT09ZS5zZXNzaW9uSWR9KXx8bjtyLmN1cnJlbnRNZXNzYWdlcz1SZSh2LFplKHYsdi5vdXRwdXQsITEpKSwkdCgpLHYuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUuZGF0YS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIj9TcigpOl9hKCl9fWUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiZyLnRlcm1pbmFsJiZlLmRhdGEmJihlLmRhdGEuY2h1bmsmJmx2KGUuc2Vzc2lvbklkKT8oci5sYXN0Q2h1bmtBdD1EYXRlLm5vdygpLHIudGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbZS5zZXNzaW9uSWRdPSEwLGFyKHIudGVybWluYWwsZS5kYXRhLmNodW5rKSxyLnRlcm1pbmFsU2Vzc2lvbklkPWUuc2Vzc2lvbklkLGUuZGF0YS5vdXRwdXQ/KHIudGVybWluYWxPdXRwdXQ9RHMoU3UoZS5kYXRhLm91dHB1dCkpLHIudGVybWluYWxPdXRwdXRNYXJrZXI9MCk6ci50ZXJtaW5hbE91dHB1dD1Ecygoci50ZXJtaW5hbE91dHB1dHx8IiIpK1N1KGUuZGF0YS5jaHVuaykpLHl0KCJvdXRwdXQiKSxsdCgpKTohZS5kYXRhLmluY3JlbWVudGFsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJvdXRwdXQiKSYmU2koZS5zZXNzaW9uSWQsZS5kYXRhLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCJ9KSk7YnJlYWs7Y2FzZSJzdGFydGVkIjpubigpO2JyZWFrO2Nhc2UiZW5kZWQiOnt2YXIgaD1lLmRhdGEmJmUuZGF0YS5zdGF0dXM/ZS5kYXRhLnN0YXR1czoiZXhpdGVkIixtPWUuZGF0YSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKT8hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZDohMSxnPXtpZDplLnNlc3Npb25JZCxzdGF0dXM6aCxwZXJtaXNzaW9uQmxvY2tlZDptfTtlLmRhdGEmJmUuZGF0YS5tZXNzYWdlcyYmKGcubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzLHR5cGVvZiBlLmRhdGEubWVzc2FnZU9mZnNldD09Im51bWJlciImJihnLm1lc3NhZ2VPZmZzZXQ9ZS5kYXRhLm1lc3NhZ2VPZmZzZXQpLHR5cGVvZiBlLmRhdGEubWVzc2FnZVRvdGFsPT0ibnVtYmVyIiYmKGcubWVzc2FnZVRvdGFsPWUuZGF0YS5tZXNzYWdlVG90YWwpKSxlLmRhdGEmJmUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihnLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEmJmUuZGF0YS5xdWV1ZWRNZXNzYWdlcyYmKGcucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzKSxlZShnKSxlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxfYSghMCkpO3ZhciB5PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihQKXtyZXR1cm4gUC5pZD09PWUuc2Vzc2lvbklkfSksQj1lLmRhdGEmJmUuZGF0YS5leGl0Q29kZSxFPUIhPW51bGwmJkIhPT0wLEM9eSYmeS5zdW1tYXJ5fHwiIixEPXk/T2MoeSk6IiIsRj1FPyJcdTRFRkJcdTUyQTFcdTVGMDJcdTVFMzhcdTdFRDNcdTY3NUYiOiJcdTRFRkJcdTUyQTFcdTVERjJcdTVCOENcdTYyMTAiLEw9IiI7Qz8oTD1DLEQmJiFFJiYoTCs9YApgK0QpKTpMPXkmJnkuY29tbWFuZHx8ZS5zZXNzaW9uSWQsb3IoRT8iZXJyb3IiOiJzdWNjZXNzIiksRnAoZS5zZXNzaW9uSWQsRixMKSxMcyhlLnNlc3Npb25JZCksWmEoKSwoZS5zZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWR8fGRvY3VtZW50LmhpZGRlbikmJiRhKHt0aXRsZTpGLGJvZHk6TCx0eXBlOkU/Indhcm5pbmciOiJzdWNjZXNzIixpY29uOkU/IiEiOiJcdTI3MTMiLGR1cmF0aW9uOjZlMyxhY3Rpb25MYWJlbDoiXHU2N0U1XHU3NzBCIixhY3Rpb246ZnVuY3Rpb24oKXtOdChlLnNlc3Npb25JZCl9fSksci5tZXNzYWdlUXVldWU9W10sci5wZW5kaW5nTWVzc2FnZXM9W107dmFyIFM9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFApe3JldHVybiBQLmlkPT09ZS5zZXNzaW9uSWR9KSxOPWUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkP3Iuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihQKXtyZXR1cm4gUC5pZD09PXIuc2VsZWN0ZWRJZH0pOm51bGwsSj0hIShTJiZTLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxOJiZOLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiKTtKJiZlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZD8oWXMoKSxwbyhlLnNlc3Npb25JZCkpOkp8fChyLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPVtdLHBvKHIuc2VsZWN0ZWRJZCksRm4oKSksZS5zZXNzaW9uSWQ9PT1yLnNlbGVjdGVkSWQmJihKfHxLbighMSksci5jdXJyZW50VGFzaz1udWxsLCR0KCkpLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiZlaSgpLG5uKCkudGhlbihmdW5jdGlvbigpe1BpKCl9KSxlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKEp8fGtuKGUuc2Vzc2lvbklkKSk7YnJlYWt9Y2FzZSJpbml0IjppZihlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmZS5kYXRhKXtyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCksZWUoZS5kYXRhKTt2YXIgVz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oUCl7cmV0dXJuIFAuaWQ9PT1lLnNlc3Npb25JZH0pO3IuY3VycmVudE1lc3NhZ2VzPVJlKFd8fGUuZGF0YSxaZShXfHxlLmRhdGEsZS5kYXRhLm91dHB1dCwhMSkpLFNyKCEwKSwkdCgpLHVzKCk7dmFyIGs9ZS5kYXRhLm91dHB1dHx8IiIsST1yLnRlcm1pbmFsU2Vzc2lvbklkPT09ZS5zZXNzaW9uSWQsVD1yLnRlcm1pbmFsT3V0cHV0fHwiIixZPUkmJlQubGVuZ3RoPjAmJmsubGVuZ3RoPj1ULmxlbmd0aCYmay5zdGFydHNXaXRoKFQpO2NmKGssZS5zZXNzaW9uSWQsWT8iYXBwZW5kIjoicmVwbGFjZSIpLE9yKCJpbml0Iil9YnJlYWs7Y2FzZSJ1c2FnZSI6YnJlYWs7Y2FzZSJ0YXNrIjplLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKHIuY3VycmVudFRhc2s9ZS5kYXRhfHxudWxsLCR0KCkpLGJwKGUuc2Vzc2lvbklkLGUuZGF0YXx8bnVsbCksZXUoZS5zZXNzaW9uSWQpLFJ1KCk7YnJlYWs7Y2FzZSJzdGF0dXMiOmlmKGUuc2Vzc2lvbklkJiZlLmRhdGEpe3ZhciBqPXtpZDplLnNlc3Npb25JZH07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwic3RhdHVzIikmJihqLnN0YXR1cz1lLmRhdGEuc3RhdHVzKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJleGl0Q29kZSIpJiYoai5leGl0Q29kZT1lLmRhdGEuZXhpdENvZGUpLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUpai5zdHJ1Y3R1cmVkU3RhdGU9ZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZTtlbHNlIGlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInN0YXR1cyIpKXt2YXIgYT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oXyl7cmV0dXJuIF8uaWQ9PT1lLnNlc3Npb25JZH0pO2EmJmEuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCImJihqLnN0cnVjdHVyZWRTdGF0ZT1PYmplY3QuYXNzaWduKHt9LGEuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ZS5kYXRhLnN0YXR1cz09PSJydW5uaW5nIn0pKX1pZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJxdWV1ZWRNZXNzYWdlcyIpJiYoai5xdWV1ZWRNZXNzYWdlcz1lLmRhdGEucXVldWVkTWVzc2FnZXN8fFtdLHIucXVldWVFcG9jaCsrKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJwZXJtaXNzaW9uQmxvY2tlZCIpJiYoai5wZXJtaXNzaW9uQmxvY2tlZD0hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCksZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0KXtqLnBlbmRpbmdFc2NhbGF0aW9uPXtzY29wZTplLmRhdGEucGVybWlzc2lvblJlcXVlc3Quc2NvcGUsdGFyZ2V0OmUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC50YXJnZXQscmVhc29uOmUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5wcm9tcHR9O3ZhciBHPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihQKXtyZXR1cm4gUC5pZD09PWUuc2Vzc2lvbklkfSksTT1HJiYoRy5zdW1tYXJ5fHxHLmNvbW1hbmQpfHxlLnNlc3Npb25JZCx0ZT1lLmRhdGEucGVybWlzc2lvblJlcXVlc3QucHJvbXB0fHwiXHU5NzAwXHU4OTgxXHU2NzQzXHU5NjUwXHU1QkExXHU2Mjc5IixuZT1lLmRhdGEucGVybWlzc2lvblJlcXVlc3QudGFyZ2V0LE89TTtuZT9PKz1gCmArdGUrIiBceEI3ICIrbmU6Tys9YApgK3RlLG9yKCJtZWRpdW0iKSxFcChlLnNlc3Npb25JZCxPKSxlLnNlc3Npb25JZCE9PXIuc2VsZWN0ZWRJZCYmJGEoe3RpdGxlOiJcdTk3MDBcdTg5ODFcdTRGNjBcdTc2ODRcdTYzODhcdTY3NDMiLGJvZHk6Tyx0eXBlOiJ3YXJuaW5nIixpY29uOiIhIixkdXJhdGlvbjowLGFjdGlvbkxhYmVsOiJcdTUzQkJcdTU5MDRcdTc0MDYiLGFjdGlvbjpmdW5jdGlvbigpe050KGUuc2Vzc2lvbklkKX19KX1lLmRhdGEucGVybWlzc2lvbkJsb2NrZWQ9PT0hMSYmKGoucGVuZGluZ0VzY2FsYXRpb249bnVsbCksZS5kYXRhLmFwcHJvdmFsU3RhdHMmJihqLmFwcHJvdmFsU3RhdHM9ZS5kYXRhLmFwcHJvdmFsU3RhdHMpLGVlKGopLGV1KGUuc2Vzc2lvbklkKSxaYSgpLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiYoJHQoKSxlLmRhdGEuYXBwcm92YWxTdGF0cyYmdXMoKSxqLnN0cnVjdHVyZWRTdGF0ZSYmKGouc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0fHwoVW4oIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpLFlzKCkpLF9hKCkpKX1icmVhaztjYXNlIm5vdGlmaWNhdGlvbiI6ZS5kYXRhJiYoZS5kYXRhLmtpbmQ9PT0idXBkYXRlIj9JcyhlLmRhdGEuY3VycmVudHx8Ii0iLGUuZGF0YS5sYXRlc3R8fCItIik6ZS5kYXRhLmtpbmQ9PT0iYXV0by11cGRhdGUtc3RhcnQiP0FwKGUuZGF0YS5jdXJyZW50fHwiLSIsZS5kYXRhLmxhdGVzdHx8Ii0iLGUuZGF0YS5wcmV2aW91c0luc3RhbmNlSWR8fG51bGwpOmUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXJlc3RhcnQiP0VuKGUuZGF0YS5wcmV2aW91c0luc3RhbmNlSWR8fG51bGwsZS5kYXRhLmxhdGVzdHx8bnVsbCk6ZS5kYXRhLmtpbmQ9PT0icmVzdGFydCImJkVuKCkpO2JyZWFrfX1mdW5jdGlvbiAkdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50LXRhc2siKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiKTtpZihlKXt2YXIgaT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odil7cmV0dXJuIHYuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpJiZpLnByb3ZpZGVyPT09ImNvZGV4IiYmKHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSk7dmFyIGE9aSYmaS5wZW5kaW5nRXNjYWxhdGlvbj9pLnBlbmRpbmdFc2NhbGF0aW9uOm51bGwsdT1pJiZpLnByb3ZpZGVyIT09ImNvZGV4Ij9hfHxpLnBlcm1pc3Npb25CbG9ja2VkOiExO2lmKHUpe3ZhciBvPWkmJmkuYXV0b0FwcHJvdmVQZXJtaXNzaW9ucztpZihuKWlmKG8pbi50ZXh0Q29udGVudD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU0RTJELi4uIjtlbHNlIGlmKGEpe3ZhciBzPWEucmVhc29ufHwiXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIixsPWEudGFyZ2V0PyIgXHhCNyAiK2EudGFyZ2V0OiIiO24udGV4dENvbnRlbnQ9cytsfWVsc2Ugbi50ZXh0Q29udGVudD0iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZih0KXt0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2QmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIW8pLGYmJmYuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIW8pfWUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpO3JldHVybn1lLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGM9ci5jdXJyZW50VGFzaztjJiZjLnRpdGxlPyhlLnRleHRDb250ZW50PWMudGl0bGUsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIHVzKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmFsLXN0YXRzIik7aWYoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSksbj10JiZ0LmFwcHJvdmFsU3RhdHM7aWYoIW58fG4udG90YWw9PT0wKXtlLmNsYXNzTmFtZT0iYXBwcm92YWwtc3RhdHMgaGlkZGVuIixlLmlubmVySFRNTD0iIjtyZXR1cm59ZS5jbGFzc05hbWU9ImFwcHJvdmFsLXN0YXRzIixlLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWRpdmlkZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIGlkPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgdGl0bGU9Ilx1NjcyQ1x1NkIyMVx1NEYxQVx1OEJERFx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMSI+PHN2ZyBjbGFzcz0iYXBwcm92YWwtc3RhdHMtaWNvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy10b3RhbCI+JytuLnRvdGFsKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCIgaWQ9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMTwvc3Bhbj4nKyhuLmNvbW1hbmQ+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1YoInRlcm1pbmFsIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQ3RFx1NEVFNFx1NjI2N1x1ODg0Qzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK24uY29tbWFuZCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsobi5maWxlPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytWKCJlZGl0Iix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NjU4N1x1NEVGNlx1NTE5OVx1NTE2NTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK24uZmlsZSsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsobi50b29sPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytWKCJ3cmVuY2giLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1MTc2XHU0RUQ2XHU1REU1XHU1MTc3PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrbi50b29sKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93IGFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1YoInNpZ21hIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQwOFx1OEJBMTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK24udG90YWwrIjwvc3Bhbj48L3NwYW4+PC9zcGFuPiI7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuYXBwcm92YWwtc3RhdHMtYmFkZ2UiKTtpJiYoaS5jbGFzc0xpc3QucmVtb3ZlKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpLGkub2Zmc2V0V2lkdGgsaS5jbGFzc0xpc3QuYWRkKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpKX19ZnVuY3Rpb24gc2YoKXtpZihvcigibGlnaHQiKSwhIXIuc2VsZWN0ZWRJZCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW55LXBlcm1pc3Npb24tYnRuIik7ZSYmKGUuZGlzYWJsZWQ9ITApLHQmJih0LmRpc2FibGVkPSEwKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChyLnNlbGVjdGVkSWQpKyIvYXBwcm92ZS1wZXJtaXNzaW9uIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3Ipe3gobi5lcnJvciwiZXJyb3IiKTtyZXR1cm59ZWUobiksJHQoKX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3gobiYmbi5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU2Mjc5XHU1MUM2XHU2Mzg4XHU2NzQzXHUzMDAyIiwiZXJyb3IiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlJiYoZS5kaXNhYmxlZD0hMSksdCYmKHQuZGlzYWJsZWQ9ITEpfSl9fWZ1bmN0aW9uIGxmKCl7aWYob3IoImxpZ2h0IiksISFyLnNlbGVjdGVkSWQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2UmJihlLmRpc2FibGVkPSEwKSx0JiYodC5kaXNhYmxlZD0hMCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL2RlbnktcGVybWlzc2lvbiIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtpZihuJiZuLmVycm9yKXt4KG4uZXJyb3IsImVycm9yIik7cmV0dXJufWVlKG4pLCR0KCl9KS5jYXRjaChmdW5jdGlvbihuKXt4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjJEMlx1N0VERFx1NjM4OFx1Njc0M1x1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZSYmKGUuZGlzYWJsZWQ9ITEpLHQmJih0LmRpc2FibGVkPSExKX0pfX1mdW5jdGlvbiBkZigpe2lmKHIuc2VsZWN0ZWRJZCl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG4pe3JldHVybiBuLmlkPT09ci5zZWxlY3RlZElkfSk7aWYoZSYmZS5wcm92aWRlcj09PSJjb2RleCIpe3goIkNvZGV4IFx1NEYxQVx1OEJERFx1NTZGQVx1NUI5QVx1NEVFNSBmdWxsLWFjY2VzcyBQVFkgXHU1NDJGXHU1MkE4XHVGRjBDXHU0RTBEXHU2NTJGXHU2MzAxXHU1MjA3XHU2MzYyXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpO3QmJih0LnN0eWxlLm9wYWNpdHk9IjAuNSIpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuc2VsZWN0ZWRJZCkrIi90b2dnbGUtYXV0by1hcHByb3ZlIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3Ipe3gobi5lcnJvciwiZXJyb3IiKTtyZXR1cm59ZWUobiksb3MoKTt2YXIgaT1uLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7eChpPyJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTVGMDBcdTU0MkYiOiJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQiLCJpbmZvIil9KS5jYXRjaChmdW5jdGlvbihuKXt4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dCYmKHQuc3R5bGUub3BhY2l0eT0iIil9KX19ZnVuY3Rpb24gb3MoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpLHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSk7aWYoZWQodCkpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybn1pZihlKXt2YXIgbj0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciIsaT10JiZ0LmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7aT8oZS5jbGFzc05hbWU9bisiIGFjdGl2ZSIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4IFx1MjAxNCBcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiLGUuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjhcdUZGMENcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiKSxlLmlubmVySFRNTD1WKCJzaGllbGRDaGVjayIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU4MUVBXHU1MkE4PC9zcGFuPicpOihlLmNsYXNzTmFtZT1uLGUudGl0bGU9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRCBcdTIwMTQgXHU3MEI5XHU1MUZCXHU1RjAwXHU1NDJGIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRFx1RkYwQ1x1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiIpLGUuaW5uZXJIVE1MPVYoInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPicpfX1mdW5jdGlvbiBjZihlLHQsbil7cmV0dXJuIHIudGVybWluYWw/U2kodHx8ci5zZWxlY3RlZElkLGUse21vZGU6bnx8ImFwcGVuZCJ9KTohMX1mdW5jdGlvbiBzcygpe3IucG9sbFRpbWVyJiYoY2xlYXJJbnRlcnZhbChyLnBvbGxUaW1lciksci5wb2xsVGltZXI9bnVsbCl9ZnVuY3Rpb24gQ2goZSl7ci5jdXJyZW50Vmlldz1lfHwidGVybWluYWwiLHIuY3VycmVudFZpZXchPT0idGVybWluYWwiJiYoS24oITEpLHJsKCkpLG9hKCksZHUoKTt2YXIgdD1xdCgpO3QmJihyLmN1cnJlbnRNZXNzYWdlcz1SZSh0LFplKHQsdC5vdXRwdXQsITApKSksbHQoKSxyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmKFB0KCEwKSxyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLnJlbWVhc3VyZSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ci50ZXJtaW5hbCYmci50ZXJtaW5hbC5yZW1lYXN1cmUoKX0pKX1mdW5jdGlvbiBTcihlKXtyLnJlbmRlclBlbmRpbmcmJiFlfHwoci5yZW5kZXJQZW5kaW5nPSEwLGU/KFZpKCEwKSxyLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1ZpKCExKSxyLnJlbmRlclBlbmRpbmc9ITF9KSl9ci5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBfYShlKXtpZighKHIuY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKHIuY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQoci5jaGF0UmVuZGVyVGltZXIpLGUpe3IuY2hhdFJlbmRlclRpbWVyPW51bGwsU3IoKTtyZXR1cm59dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSksbj10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPW4/d3M6QnM7ci5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3IuY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIGE9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09ci5zZWxlY3RlZElkfSk7YSYmKHIuY3VycmVudE1lc3NhZ2VzPVJlKGEsWmUoYSxhLm91dHB1dCwhMCkpKSxTcigpfSxpKX19dmFyIE5hPTAsQmk9MCxscz0wLElyPTA7ZnVuY3Rpb24gamEoKXtyZXR1cm4gd2luZG93Ll9fd2FuZElvc05hdGl2ZT09PSEwfWZ1bmN0aW9uIGRzKGUpe2xzPU1hdGgubWF4KGxzLERhdGUubm93KCkrKGV8fDE4MDApKX1mdW5jdGlvbiBjcyhlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O0RpKG4pJiZuIT09dHx8ZHMoZSl9LDMwKX1mdW5jdGlvbiBmZihlKXtyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUmJmUuaGVpZ2h0fHwwLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCxkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodHx8MCl9ZnVuY3Rpb24gcGYoZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZSYmZS53aWR0aHx8MCx0JiZ0LmNsaWVudFdpZHRofHwwKSxpPWZmKGUpO3JldHVybiFOYXx8TWF0aC5hYnMobi1OYSk+OD8oTmE9bixCaT1pKTppPkJpJiYoQmk9aSksTWF0aC5tYXgoMSxNYXRoLnJvdW5kKEJpfHxpfHwxKSl9ZnVuY3Rpb24gdmYoZSx0LG4saSl7cmV0dXJuIGV8fCFqYSgpPyExOnQ+MHx8aT5uKzF9ZnVuY3Rpb24gcnIoZSl7dmFyIHQ9d2luZG93LnZpc3VhbFZpZXdwb3J0O2lmKHQpe3ZhciBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZihuLmNsYXNzTGlzdC50b2dnbGUoImlzLWtleWJvYXJkLW9wZW4iLCEhZSksd2luZG93Ll9fd2FuZEltZU5hdGl2ZSl7bi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtdG9wIiwiMHB4Iiksbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtaGVpZ2h0IixNYXRoLnJvdW5kKHQuaGVpZ2h0KSsicHgiKTtyZXR1cm59dmFyIGk9cGYodCksYT1NYXRoLm1heCgwLE1hdGgucm91bmQodC5vZmZzZXRUb3B8fDApKSx1PU1hdGgubWF4KDEsTWF0aC5yb3VuZCh0LmhlaWdodCkpOyghZSYmamEoKXx8dmYoZSxhLHUsaSkpJiYoYT0wLHU9TWF0aC5tYXgodSxpKSksbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtdG9wIixhKyJweCIpLG4uc3R5bGUuc2V0UHJvcGVydHkoIi0tYXBwLXZpZXdwb3J0LWhlaWdodCIsdSsicHgiKSwoZXx8KHdpbmRvdy5zY3JvbGxZfHwwKT4wKSYmZ3UoKX19ZnVuY3Rpb24gRGkoZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS50YWdOYW1lO2lmKHQ9PT0iVEVYVEFSRUEifHx0PT09IlNFTEVDVCIpcmV0dXJuITA7aWYodD09PSJJTlBVVCIpe3ZhciBuPShlLmdldEF0dHJpYnV0ZSgidHlwZSIpfHwidGV4dCIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIS9eKGJ1dHRvbnxjaGVja2JveHxjb2xvcnxmaWxlfGhpZGRlbnxpbWFnZXxyYWRpb3xyYW5nZXxyZXNldHxzdWJtaXQpJC9pLnRlc3Qobil9cmV0dXJuISFlLmlzQ29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIG1mKCl7aWYoISgidmlzdWFsVmlld3BvcnQiaW4gd2luZG93KXx8d2luZG93Ll9fd2FuZFZpZXdwb3J0SGFuZGxlcnNCb3VuZClyZXR1cm47d2luZG93Ll9fd2FuZFZpZXdwb3J0SGFuZGxlcnNCb3VuZD0hMDt2YXIgZT13aW5kb3cudmlzdWFsVmlld3BvcnQsdD1lLmhlaWdodCxuPSExLGk9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZS53aWR0aHx8MCksYT1NYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApLHU9W107ZnVuY3Rpb24gbygpe3JldHVybiBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApfWZ1bmN0aW9uIHMoKXt2YXIgbT1NYXRoLm1heCh3aW5kb3cuaW5uZXJXaWR0aHx8MCxlLndpZHRofHwwKSxnPW8oKTtpZihNYXRoLmFicyhtLWkpPjgpe2k9bSxhPWc7cmV0dXJufWc+YSYmKGE9Zyl9ZnVuY3Rpb24gbChtLGcpe3ZhciB5PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsQj15PT09bXx8RGkoeSksRT1hLWUuaGVpZ2h0LEM9YS0od2luZG93LmlubmVySGVpZ2h0fHxlLmhlaWdodHx8MCksRD1EYXRlLm5vdygpPElyO3JldHVybiBEPyEhKEImJihFPjEyMHx8Qz4xMjApKTohIShnPjgwfHxCJiYoRT4xMjB8fEM+MTIwKXx8biYmKEU+ODB8fGc+MzIpKX1mdW5jdGlvbiBkKCl7dS5mb3JFYWNoKGZ1bmN0aW9uKG0pe2NsZWFyVGltZW91dChtKX0pLHU9WzYwLDE4MCwzNjAsNjIwLDkwMF0ubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cnIobil9LG0pfSl9ZnVuY3Rpb24gZigpe1swLDUwLDEyMCwyMjAsMzYwLDU2MF0uZm9yRWFjaChmdW5jdGlvbihtKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YygpO3ZhciBnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtnJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZyYmemkoZyl9LG0pfSl9ZnVuY3Rpb24gYygpe2lmKGUpe3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxnPXdpbmRvdy5pbm5lckhlaWdodC1lLmhlaWdodC1lLm9mZnNldFRvcDtzKCk7dmFyIHk9bChtLGcpLEI9TWF0aC5hYnMoZS5oZWlnaHQtdCk+ODtpZihycih5KSx5JiYoIW58fEIpJiZKdihlLG0pJiZ6aShtKSwhbiYmeSl7dmFyIEU9ci50ZXJtaW5hbEF1dG9Gb2xsb3d8fFVhKCk7WWUoImtleWJvYXJkLW9wZW4iLHtmb3JjZVJlcGxheTohMH0pLHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtycighMCl9LDIyMCksZCgpLEUmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLnRlcm1pbmFsJiZ5dCgiZm9yY2UiKX0sMjIwKX1pZihuJiYheSl7dmFyIEM9ISF3aW5kb3cuX193YW5kSW1lTmF0aXZlO0N8fChkcygyMjAwKSxJcj1EYXRlLm5vdygpKzEyMDAscnIoITEpLGd1KCkpLGQoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Q3x8KHJyKCExKSxndSgpKSxZZSgia2V5Ym9hcmQtY2xvc2UiLHtmb3JjZVJlcGxheTohMH0pLHl0KCJrZXlib2FyZCIpfSwyMDApfUImJm49PT15JiZZZSgidmlld3BvcnQiKSxuPXksdD1lLmhlaWdodH19dmFyIHY9bnVsbDtmdW5jdGlvbiBoKCl7diE9PW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHYpLHY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dj1udWxsLGMoKX0pfWUuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixoKSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZnVuY3Rpb24oKXtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJihoKCksc2V0VGltZW91dChoLDI0MCksc2V0VGltZW91dChoLDcyMCkpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbihtKXttJiZtLnBlcnNpc3RlZCYmKGgoKSxzZXRUaW1lb3V0KGgsMjQwKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsZnVuY3Rpb24obSl7IW18fCFtLnRhcmdldHx8RGkobS50YXJnZXQpJiYoY3MoMTYwMCxtLnRhcmdldCksamEoKSYmKElyPU1hdGgubWF4KElyLERhdGUubm93KCkrMTIwMCkpLHNldFRpbWVvdXQoaCw4MCksc2V0VGltZW91dChoLDQyMCkpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZnVuY3Rpb24obSl7IW18fCFtLnRhcmdldHx8IURpKG0udGFyZ2V0KXx8ZigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtaW9zLWltZS1zdGF0ZSIsZnVuY3Rpb24obSl7dmFyIGc9bSYmbS5kZXRhaWwmJm0uZGV0YWlsLnN0YXRlO2c9PT0iaGlkZGVuIiYmKElyPURhdGUubm93KCkrOTAwKSxmKCksZCgpfSksYygpfWZ1bmN0aW9uIGdmKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1yZXNpemUtaGFuZGxlIix0LmlubmVySFRNTD0iJiM4OTQyOyIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgbj0hMSxpPTAsYT0wO3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih1KXtuPSEwLGk9dS5jbGllbnRZLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Im5zLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIix1LnByZXZlbnREZWZhdWx0KCl9KSxyLnJlc2l6ZU1vdXNlTW92ZT1mdW5jdGlvbih1KXtpZihuKXt2YXIgbz11LmNsaWVudFktaSxzPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK28sd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PXMrInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLFB0KCl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHIucmVzaXplTW91c2VNb3ZlKSxyLnJlc2l6ZU1vdXNlVXA9ZnVuY3Rpb24oKXtuJiYobj0hMSxkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9IiIsUHQoKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHIucmVzaXplTW91c2VVcCksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbih1KXtuPSEwLGk9dS50b3VjaGVzWzBdLmNsaWVudFksYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCx1LnByZXZlbnREZWZhdWx0KCl9LHtwYXNzaXZlOiExfSksci5yZXNpemVUb3VjaE1vdmU9ZnVuY3Rpb24odSl7aWYobil7dmFyIG89dS50b3VjaGVzWzBdLmNsaWVudFktaSxzPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK28sd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PXMrInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLFB0KCksdS5wcmV2ZW50RGVmYXVsdCgpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLnJlc2l6ZVRvdWNoTW92ZSx7cGFzc2l2ZTohMX0pLHIucmVzaXplVG91Y2hFbmQ9ZnVuY3Rpb24oKXtuJiYobj0hMSxQdCgpKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHIucmVzaXplVG91Y2hFbmQpfX1mdW5jdGlvbiBmcygpe3JldHVybiEhcXQoKX1mdW5jdGlvbiBSYShlKXt2YXIgdD1NYXRoLm1heChDbix3aW5kb3cuaW5uZXJXaWR0aC1IaS1Dbiksbj1NYXRoLm1heChDbix3aW5kb3cuaW5uZXJIZWlnaHQtSGktQ24pO3JldHVybntyaWdodDpNYXRoLm1pbihNYXRoLm1heChDbixlLnJpZ2h0KSx0KSxib3R0b206TWF0aC5taW4oTWF0aC5tYXgoQ24sZS5ib3R0b20pLG4pfX1mdW5jdGlvbiBwcygpe2lmKHIuam95c3RpY2tCYWxsRWwpe3ZhciBlPVJhKHIuam95c3RpY2tQb3N8fHtyaWdodDoxOCxib3R0b206OTZ9KTtyLmpveXN0aWNrQmFsbEVsLnN0eWxlLnJpZ2h0PWUucmlnaHQrInB4IixyLmpveXN0aWNrQmFsbEVsLnN0eWxlLmJvdHRvbT1lLmJvdHRvbSsicHgifX1mdW5jdGlvbiBoZihlLHQpe3ZhciBuPVJhKHtyaWdodDplLGJvdHRvbTp0fSk7ci5qb3lzdGlja1Bvcz1uO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1iYWxsLXBvcyIsSlNPTi5zdHJpbmdpZnkobikpfWNhdGNoe319ZnVuY3Rpb24geWYoKXtmdW5jdGlvbiBlKHUsbyxzKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ3anAta2V5Jysocz8iICIrczoiIikrJyIgZGF0YS1rZXk9IicrdSsnIj4nK28rIjwvYnV0dG9uPiJ9dmFyIHQ9JzxkaXYgY2xhc3M9IndqcC1kcGFkIj48ZGl2IGNsYXNzPSJ3anAtZHBhZC1yb3ciPicrZSgidXAiLCJcdTIxOTEiLCJ3anAtZGlyIikrJzwvZGl2PjxkaXYgY2xhc3M9IndqcC1kcGFkLXJvdyI+JytlKCJsZWZ0IiwiXHUyMTkwIiwid2pwLWRpciIpK2UoImRvd24iLCJcdTIxOTMiLCJ3anAtZGlyIikrZSgicmlnaHQiLCJcdTIxOTIiLCJ3anAtZGlyIikrIjwvZGl2PjwvZGl2PiIsbj0iIixpO2ZvcihpPTA7aTxzdS5sZW5ndGg7aSsrKW4rPWUoc3VbaV0ua2V5LHN1W2ldLmxhYmVsLCIiKTt2YXIgYT0nPGRpdiBjbGFzcz0id2pwLWhlYWRlciI+PHNwYW4gY2xhc3M9IndqcC10aXRsZSI+JytWKCJwYXciLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuNixjbHM6IndqcC10aXRsZS1pY29uIn0pKyc8c3Bhbj5cdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0Y8L3NwYW4+PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0id2pwLWNsb3NlIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiPicrVigieCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pKyI8L2J1dHRvbj48L2Rpdj4iK3QrJzxkaXYgY2xhc3M9IndqcC1ncmlkIHdqcC1mbmtleXMiPicrbisiPC9kaXY+IjtyZXR1cm4gYX1mdW5jdGlvbiBiZigpe2lmKCFyLmpveXN0aWNrUm9vdEVsKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1yb290IixbInBvaW50ZXJkb3duIiwicG9pbnRlcnVwIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIiwiY2xpY2siXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2UuYWRkRXZlbnRMaXN0ZW5lcihhLHZzLCEwKX0pO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ3YW5kLWpveXN0aWNrLWJhY2tkcm9wIixlLmFwcGVuZENoaWxkKHQpO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO24uY2xhc3NOYW1lPSJ3YW5kLWpveXN0aWNrLXBhbmVsIixuLmlubmVySFRNTD15ZigpLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEFmKSxlLmFwcGVuZENoaWxkKG4pO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ3YW5kLWpveXN0aWNrLWJhbGwiLGkuc2V0QXR0cmlidXRlKCJyb2xlIiwiYnV0dG9uIiksaS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJXYW5kIFx1OTA2NVx1NjNBN1x1OTc2Mlx1Njc3RiIpLGkuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NzBCOVx1NTFGQlx1NjI1M1x1NUYwMFx1OTA2NVx1NjNBN1x1OTc2Mlx1Njc3Rlx1RkYwQ1x1NjJENlx1NTJBOFx1NTNFRlx1NzlGQlx1NTJBOFx1NEY0RFx1N0Y2RSIpLGkuaW5uZXJIVE1MPVYoInBhdyIse3NpemU6MjUsc3Ryb2tlV2lkdGg6MS42LGNsczoid2FuZC1qb3lzdGljay1sb2dvIn0pLGUuYXBwZW5kQ2hpbGQoaSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxyLmpveXN0aWNrUm9vdEVsPWUsci5qb3lzdGlja0JhY2tkcm9wRWw9dCxyLmpveXN0aWNrUGFuZWxFbD1uLHIuam95c3RpY2tCYWxsRWw9aSxwcygpLGkuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEVmKSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLGZ1bmN0aW9uKGEpe3Iuam95c3RpY2tQaW5uZWRPcGVuJiZyLmpveXN0aWNrR2VzdHVyZT09bnVsbCYmKGEucHJldmVudERlZmF1bHQoKSxUcigpKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpfSksci5qb3lzdGlja1Jlc2l6ZUhhbmRsZXI9ZnVuY3Rpb24oKXtwcygpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixyLmpveXN0aWNrUmVzaXplSGFuZGxlciksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixyLmpveXN0aWNrUmVzaXplSGFuZGxlcikseXMoKX19ZnVuY3Rpb24gdnMoKXtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLW5hdGl2ZS1pbnB1dCIpKXt2YXIgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKGUmJnR5cGVvZiBlLmJsdXI9PSJmdW5jdGlvbiIpdHJ5e2UuYmx1cigpfWNhdGNoe31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZih0JiZ0eXBlb2YgdC5ibHVyPT0iZnVuY3Rpb24iKXRyeXt0LmJsdXIoKX1jYXRjaHt9fSwwKX19ZnVuY3Rpb24gRWYoZSl7aWYoZnMoKSYmISgoZS5wb2ludGVyVHlwZT09PSJtb3VzZSJ8fGUucG9pbnRlclR5cGU9PT0icGVuIikmJmUuYnV0dG9uIT09MCkmJnIuam95c3RpY2tQb2ludGVySWQ9PT1udWxsKXt2cygpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciB0PWUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiI7ci5qb3lzdGlja1BvaW50ZXJJZD1lLnBvaW50ZXJJZCxyLmpveXN0aWNrUHJlc3NTdGFydD17eDplLmNsaWVudFgseTplLmNsaWVudFksdDpEYXRlLm5vdygpfSxyLmpveXN0aWNrR2VzdHVyZT0icGVuZGluZyI7dHJ5e3Iuam95c3RpY2tCYWxsRWwuc2V0UG9pbnRlckNhcHR1cmUoZS5wb2ludGVySWQpfWNhdGNoe310fHwoci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmpveXN0aWNrR2VzdHVyZT09PSJwZW5kaW5nIiYmbXMoKX0sZnYpKSxyLmpveXN0aWNrTW92ZUhhbmRsZXI9RmYsci5qb3lzdGlja1VwSGFuZGxlcj1DZixkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsci5qb3lzdGlja01vdmVIYW5kbGVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHIuam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHIuam95c3RpY2tVcEhhbmRsZXIpfX1mdW5jdGlvbiBtcygpe3Iuam95c3RpY2tHZXN0dXJlPSJtb3ZlIixyLmpveXN0aWNrUGlubmVkT3BlbiYmVHIoKSxyLmpveXN0aWNrQmFsbEVsJiZyLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksci5qb3lzdGlja0JhY2tkcm9wRWwmJnIuam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpfWZ1bmN0aW9uIGdzKGUsdCl7aWYoci5qb3lzdGlja0JhbGxFbCl7dmFyIG49UmEoe3JpZ2h0OndpbmRvdy5pbm5lcldpZHRoLWUtSGkvMixib3R0b206d2luZG93LmlubmVySGVpZ2h0LXQtSGkvMn0pO3Iuam95c3RpY2tCYWxsRWwuc3R5bGUucmlnaHQ9bi5yaWdodCsicHgiLHIuam95c3RpY2tCYWxsRWwuc3R5bGUuYm90dG9tPW4uYm90dG9tKyJweCJ9fWZ1bmN0aW9uIEZmKGUpe2lmKCEoZS5wb2ludGVySWQhPT1yLmpveXN0aWNrUG9pbnRlcklkfHwhci5qb3lzdGlja0JhbGxFbCkpe2lmKGUucHJldmVudERlZmF1bHQoKSxyLmpveXN0aWNrR2VzdHVyZT09PSJtb3ZlIil7Z3MoZS5jbGllbnRYLGUuY2xpZW50WSk7cmV0dXJufWlmKHIuam95c3RpY2tHZXN0dXJlPT09InBlbmRpbmciKXt2YXIgdD1lLmNsaWVudFgtci5qb3lzdGlja1ByZXNzU3RhcnQueCxuPWUuY2xpZW50WS1yLmpveXN0aWNrUHJlc3NTdGFydC55O01hdGguc3FydCh0KnQrbipuKTw9cHZ8fChlLnBvaW50ZXJUeXBlPT09Im1vdXNlInx8ZS5wb2ludGVyVHlwZT09PSJwZW4iPyhtcygpLGdzKGUuY2xpZW50WCxlLmNsaWVudFkpKTooci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyJiYoY2xlYXJUaW1lb3V0KHIuam95c3RpY2tMb25nUHJlc3NUaW1lciksci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPW51bGwpLHIuam95c3RpY2tHZXN0dXJlPSJjYW5jZWxsZWQiKSl9fX1mdW5jdGlvbiBDZihlKXtpZihlLnBvaW50ZXJJZD09PXIuam95c3RpY2tQb2ludGVySWQpe3Iuam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLHIuam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKTt2YXIgdD1yLmpveXN0aWNrR2VzdHVyZTtpZih0PT09InBlbmRpbmciKXt2YXIgbj1lLmNsaWVudFgtci5qb3lzdGlja1ByZXNzU3RhcnQueCxpPWUuY2xpZW50WS1yLmpveXN0aWNrUHJlc3NTdGFydC55O01hdGguc3FydChuKm4raSppKTw9dnYmJkRmKCl9ZWxzZSBpZih0PT09Im1vdmUiKXt2YXIgYT1yLmpveXN0aWNrQmFsbEVsP3Iuam95c3RpY2tCYWxsRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6bnVsbDthJiZoZih3aW5kb3cuaW5uZXJXaWR0aC1hLnJpZ2h0LHdpbmRvdy5pbm5lckhlaWdodC1hLmJvdHRvbSl9aHMoKX19ZnVuY3Rpb24gaHMoKXtpZihyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQoci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksci5qb3lzdGlja0JhbGxFbCYmci5qb3lzdGlja1BvaW50ZXJJZCE9PW51bGwpdHJ5e3Iuam95c3RpY2tCYWxsRWwucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHIuam95c3RpY2tQb2ludGVySWQpfWNhdGNoe31yLmpveXN0aWNrTW92ZUhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsci5qb3lzdGlja01vdmVIYW5kbGVyKSxyLmpveXN0aWNrTW92ZUhhbmRsZXI9bnVsbCksci5qb3lzdGlja1VwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsci5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsci5qb3lzdGlja1VwSGFuZGxlciksci5qb3lzdGlja1VwSGFuZGxlcj1udWxsKSxyLmpveXN0aWNrQmFsbEVsJiZyLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksci5qb3lzdGlja0JhY2tkcm9wRWwmJiFyLmpveXN0aWNrUGlubmVkT3BlbiYmci5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksci5qb3lzdGlja1BvaW50ZXJJZD1udWxsLHIuam95c3RpY2tHZXN0dXJlPW51bGwsci5qb3lzdGlja1ByZXNzU3RhcnQ9bnVsbH1mdW5jdGlvbiB3ZihlKXtpZihlPT09ImN0cmwifHxlPT09ImFsdCJ8fGU9PT0ic2hpZnQiKXtyLm1vZGlmaWVyc1tlXT0hci5tb2RpZmllcnNbZV0sTHIoKTtyZXR1cm59dmFyIHQ9cXQoKTtpZih0JiZzZSh0KSl7KGU9PT0iY3RybF9jInx8ZT09PSJlc2NhcGUiKSYmQmYodCxlKSxOaSgpLExyKCk7cmV0dXJufXZhciBuPWlsKGUse2N0cmw6ci5tb2RpZmllcnMuY3RybCxhbHQ6ci5tb2RpZmllcnMuYWx0LHNoaWZ0OnIubW9kaWZpZXJzLnNoaWZ0fSk7biYmbmwobixlKSxOaSgpLExyKCksQnYoKX1mdW5jdGlvbiBCZihlLHQpeyFlfHwhZS5pZHx8ZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2UuaWQrIi9tZXNzYWdlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OiIiLGludGVycnVwdDohMCxwcmVzZXJ2ZVF1ZXVlOiEwfSl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLm9rP24uanNvbigpOm4uanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKGkpe3Rocm93IG5ldyBFcnJvcihpJiZpLmVycm9yfHwiXHU0RTJEXHU2NUFEXHU1OTMxXHU4RDI1IChrZXk9Iit0KyIpIil9KX0pLnRoZW4oZnVuY3Rpb24obil7aWYobiYmbi5pZCYmKGVlKG4pLG4uaWQ9PT1yLnNlbGVjdGVkSWQpKXt2YXIgaT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1uLmlkfSl8fG47ci5jdXJyZW50TWVzc2FnZXM9UmUoaSxaZShpLG4ub3V0cHV0LCExKSksU3IoITApLHR5cGVvZiBpdD09ImZ1bmN0aW9uIiYmaXQoKX19KS5jYXRjaChmdW5jdGlvbihuKXtuJiZuLm1lc3NhZ2UmJmNvbnNvbGUuZGVidWcoIlt3YW5kXSBqb3lzdGljayBpbnRlcnJ1cHQgbm8tb3A6IixuLm1lc3NhZ2UpfSl9ZnVuY3Rpb24gRGYoKXtyLmpveXN0aWNrUGlubmVkT3Blbj9UcigpOmtmKCl9ZnVuY3Rpb24ga2YoKXtpZighKCFyLmpveXN0aWNrUGFuZWxFbHx8IXIuam95c3RpY2tCYWxsRWwpKXtyLmpveXN0aWNrUGlubmVkT3Blbj0hMDt2YXIgZT1yLmpveXN0aWNrQmFsbEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3Iuam95c3RpY2tQYW5lbEVsLnN0eWxlLnJpZ2h0PU1hdGgubWF4KENuLHdpbmRvdy5pbm5lcldpZHRoLWUucmlnaHQpKyJweCIsci5qb3lzdGlja1BhbmVsRWwuc3R5bGUuYm90dG9tPU1hdGgubWF4KENuLHdpbmRvdy5pbm5lckhlaWdodC1lLnRvcCsxMCkrInB4IixyLmpveXN0aWNrUGFuZWxFbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSxyLmpveXN0aWNrQmFsbEVsLmNsYXNzTGlzdC5hZGQoInBhbmVsLW9wZW4iKSxyLmpveXN0aWNrQmFja2Ryb3BFbCYmci5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksTHIoKX19ZnVuY3Rpb24gVHIoKXtyLmpveXN0aWNrUGlubmVkT3Blbj0hMSxyLmpveXN0aWNrUGFuZWxFbCYmci5qb3lzdGlja1BhbmVsRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksci5qb3lzdGlja0JhbGxFbCYmci5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QucmVtb3ZlKCJwYW5lbC1vcGVuIiksci5qb3lzdGlja0JhY2tkcm9wRWwmJnIuam95c3RpY2tHZXN0dXJlPT1udWxsJiZyLmpveXN0aWNrQmFja2Ryb3BFbC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKX1mdW5jdGlvbiBMcigpe3Iuam95c3RpY2tQYW5lbEVsJiZbImN0cmwiLCJhbHQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PXIuam95c3RpY2tQYW5lbEVsLnF1ZXJ5U2VsZWN0b3IoJy53anAtbW9kW2RhdGEta2V5PSInK2UrJyJdJyk7dCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhci5tb2RpZmllcnNbZV0pfSl9ZnVuY3Rpb24gQWYoZSl7dmFyIHQ9ZS50YXJnZXQmJmUudGFyZ2V0LmNsb3Nlc3Q/ZS50YXJnZXQuY2xvc2VzdCgiLndqcC1jbG9zZSIpOm51bGw7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksVHIoKTtyZXR1cm59dmFyIG49ZS50YXJnZXQmJmUudGFyZ2V0LmNsb3Nlc3Q/ZS50YXJnZXQuY2xvc2VzdCgiLndqcC1rZXkiKTpudWxsO2lmKG4pe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPW4uZ2V0QXR0cmlidXRlKCJkYXRhLWtleSIpO2kmJndmKGkpfX1mdW5jdGlvbiB5cygpe3ZhciBlPXIuam95c3RpY2tSb290RWw7aWYoZSl7dmFyIHQ9ZnMoKTtlLmNsYXNzTGlzdC50b2dnbGUoInZpc2libGUiLHQpLHR8fCgoci5qb3lzdGlja1BvaW50ZXJJZCE9PW51bGx8fHIuam95c3RpY2tHZXN0dXJlKSYmaHMoKSxyLmpveXN0aWNrUGlubmVkT3BlbiYmVHIoKSxyLmpveXN0aWNrQmFja2Ryb3BFbCYmci5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikpfX1mdW5jdGlvbiB4Zigpe3Iuam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLHIuam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKSxyLmpveXN0aWNrTW92ZUhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsci5qb3lzdGlja01vdmVIYW5kbGVyKSxyLmpveXN0aWNrTW92ZUhhbmRsZXI9bnVsbCksci5qb3lzdGlja1VwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsci5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsci5qb3lzdGlja1VwSGFuZGxlciksci5qb3lzdGlja1VwSGFuZGxlcj1udWxsKSxyLmpveXN0aWNrUmVzaXplSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHIuam95c3RpY2tSZXNpemVIYW5kbGVyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHIuam95c3RpY2tSZXNpemVIYW5kbGVyKSxyLmpveXN0aWNrUmVzaXplSGFuZGxlcj1udWxsKSxyLmpveXN0aWNrUm9vdEVsJiZyLmpveXN0aWNrUm9vdEVsLnBhcmVudE5vZGUmJnIuam95c3RpY2tSb290RWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyLmpveXN0aWNrUm9vdEVsKSxyLmpveXN0aWNrUm9vdEVsPW51bGwsci5qb3lzdGlja1BhbmVsRWw9bnVsbCxyLmpveXN0aWNrQmFja2Ryb3BFbD1udWxsLHIuam95c3RpY2tCYWxsRWw9bnVsbCxyLmpveXN0aWNrUG9pbnRlcklkPW51bGwsci5qb3lzdGlja0dlc3R1cmU9bnVsbCxyLmpveXN0aWNrUHJlc3NTdGFydD1udWxsLHIuam95c3RpY2tQaW5uZWRPcGVuPSExfWZ1bmN0aW9uIFNmKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PSFOZSgpO3IucmVzaXplSGFuZGxlcj1mdW5jdGlvbigpe1B0KCEwKTt2YXIgbj0hTmUoKTt0IT09biYmKHQ9biwhbiYmci5zaWRlYmFyUGlubmVkJiZyLnNlc3Npb25zRHJhd2VyT3Blbj8oci5zZXNzaW9uc0RyYXdlck9wZW49ITEsd2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksdGkoKSk6biYmci5zaWRlYmFyUGlubmVkJiYhci5zZXNzaW9uc0RyYXdlck9wZW4mJihyLnNlc3Npb25zRHJhd2VyT3Blbj0hMCx3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSx0aSgpKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHIucmVzaXplSGFuZGxlciksd2luZG93LnZpc3VhbFZpZXdwb3J0JiYoci52aXN1YWxWaWV3cG9ydEhhbmRsZXI9ZnVuY3Rpb24oKXtQdCghMCl9LHdpbmRvdy52aXN1YWxWaWV3cG9ydC5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHIudmlzdWFsVmlld3BvcnRIYW5kbGVyKSksci52aXNpYmlsaXR5SGFuZGxlcj1mdW5jdGlvbigpe2RvY3VtZW50LmhpZGRlbnx8WWUoInZpc2liaWxpdHkiLHtmb3JjZVJlcGxheTohMH0pfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixyLnZpc2liaWxpdHlIYW5kbGVyKSxyLm9yaWVudGF0aW9uSGFuZGxlcj1mdW5jdGlvbigpe1llKCJvcmllbnRhdGlvbiIse2ZvcmNlUmVwbGF5OiEwfSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsci5vcmllbnRhdGlvbkhhbmRsZXIpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1B0KCEwKX0pfX1mdW5jdGlvbiBJZigpe3IudGVybWluYWxIZWFsdGhUaW1lcnx8KHIudGVybWluYWxIZWFsdGhUaW1lcj1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKCEoIXIudGVybWluYWx8fHIuY3VycmVudFZpZXchPT0idGVybWluYWwifHxkb2N1bWVudC5oaWRkZW4pKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odSl7cmV0dXJuIHUuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZighKCFlfHxlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiKSl7WWUoImhlYWx0aCIpO3ZhciB0PURhdGUubm93KCksbj1yLmxhc3RDaHVua0F0PjAmJnQtci5sYXN0Q2h1bmtBdD4zMDAsaT10LXIubGFzdFRlcm1pbmFsUmVzeW5jQXQ+M2U0LGE9ci5sYXN0Q2h1bmtBdD5yLmxhc3RUZXJtaW5hbFJlc3luY0F0O2kmJmEmJihufHxlLnN0YXR1cyE9PSJydW5uaW5nIikmJnIudGVybWluYWxPdXRwdXQmJlJuKCl9fX0sNWUzKSl9ZnVuY3Rpb24gVGYoKXtyLnRlcm1pbmFsSGVhbHRoVGltZXImJihjbGVhckludGVydmFsKHIudGVybWluYWxIZWFsdGhUaW1lciksci50ZXJtaW5hbEhlYWx0aFRpbWVyPW51bGwpfWZ1bmN0aW9uIE1yKCl7VGYoKSxyLnJlc2l6ZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHIucmVzaXplVGltZXIpLHIucmVzaXplVGltZXI9bnVsbCksci5yZXNpemVPYnNlcnZlciYmKHIucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHIucmVzaXplT2JzZXJ2ZXI9bnVsbCksci5yZXNpemVIYW5kbGVyJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsci5yZXNpemVIYW5kbGVyKSxyLnJlc2l6ZUhhbmRsZXI9bnVsbCksci52aXN1YWxWaWV3cG9ydEhhbmRsZXImJndpbmRvdy52aXN1YWxWaWV3cG9ydCYmKHdpbmRvdy52aXN1YWxWaWV3cG9ydC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHIudmlzdWFsVmlld3BvcnRIYW5kbGVyKSxyLnZpc3VhbFZpZXdwb3J0SGFuZGxlcj1udWxsKSxyLnZpc2liaWxpdHlIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsci52aXNpYmlsaXR5SGFuZGxlciksci52aXNpYmlsaXR5SGFuZGxlcj1udWxsKSxyLm9yaWVudGF0aW9uSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsci5vcmllbnRhdGlvbkhhbmRsZXIpLHIub3JpZW50YXRpb25IYW5kbGVyPW51bGwpLFtbIm1vdXNlbW92ZSIsInJlc2l6ZU1vdXNlTW92ZSJdLFsibW91c2V1cCIsInJlc2l6ZU1vdXNlVXAiXSxbInRvdWNobW92ZSIsInJlc2l6ZVRvdWNoTW92ZSJdLFsidG91Y2hlbmQiLCJyZXNpemVUb3VjaEVuZCJdXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JbYVsxXV0mJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGFbMF0sclthWzFdXSksclthWzFdXT1udWxsKX0pLGlyKCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKHIudGVybWluYWxWaWV3cG9ydEVsJiYoci50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlciYmci50ZXJtaW5hbFZpZXdwb3J0RWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLnRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyKSxyLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXImJnIudGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyKSxyLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlciYmci50ZXJtaW5hbFZpZXdwb3J0RWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXIpKSxlJiYoci50ZXJtaW5hbFdoZWVsSGFuZGxlciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsci50ZXJtaW5hbFdoZWVsSGFuZGxlciksci50ZXJtaW5hbENsaWNrSGFuZGxlciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsci50ZXJtaW5hbENsaWNrSGFuZGxlcikpLHIudGVybWluYWxWaWV3cG9ydEVsPW51bGwsci50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcj1udWxsLHIudGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcj1udWxsLHIudGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyPW51bGwsci50ZXJtaW5hbFdoZWVsSGFuZGxlcj1udWxsLHIudGVybWluYWxDbGlja0hhbmRsZXI9bnVsbCxyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHIudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXIpLHIudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCksci50ZXJtaW5hbFNjcm9sbGJhckVsJiZyLnRlcm1pbmFsU2Nyb2xsYmFyRWwucGFyZW50Tm9kZSYmci50ZXJtaW5hbFNjcm9sbGJhckVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoci50ZXJtaW5hbFNjcm9sbGJhckVsKSxyLnRlcm1pbmFsU2Nyb2xsYmFyRWw9bnVsbCxyLnRlcm1pbmFsU2Nyb2xsYmFyVGh1bWJFbD1udWxsLHIudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxyLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMSxyLnRlcm1pbmFsJiYoci50ZXJtaW5hbC5kZXN0cm95KCksci50ZXJtaW5hbD1udWxsKSxlKWZvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi50ZXJtaW5hbC1zY3JvbGwtd3JhcCIpLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXTtpLnBhcmVudE5vZGU9PT1lJiZlLnJlbW92ZUNoaWxkKGkpfUdhKCksci5zeW5jT3V0cHV0QnVmZmVyPW51bGwsci5zeW5jT3V0cHV0RGVhZGxpbmU9MCxyLnN5bmNGcmFtaW5nUmVzaWR1ZT0hMSxyLnRlcm1pbmFsU2Vzc2lvbklkPW51bGwsci50ZXJtaW5hbE91dHB1dD0iIixyLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAsci50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsci5zaG93VGVybWluYWxKdW1wVG9Cb3R0b209ITEsbHQoKSxyLnNvZnRSZXN5bmNUaW1lciYmKGNsZWFyVGltZW91dChyLnNvZnRSZXN5bmNUaW1lciksci5zb2Z0UmVzeW5jVGltZXI9bnVsbCksci5fcmVzeW5jQ2h1bmtUYWlsVGltZXImJihjbGVhclRpbWVvdXQoci5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpLHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGwpLHIuX3Jlc3luY0NodW5rTGFzdEF0PTAsci5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD0wLHIuX3Jlc3luY1N0YXRzQ291bnQ9MCxyLl9yZXN5bmNMYXN0V2FybkF0PTAsci5fcmVzeW5jSW5Qcm9ncmVzcz0hMSxyLmxhc3RSZXNpemU9e2NvbHM6MCxyb3dzOjB9LHhmKCl9ZnVuY3Rpb24ga2koZSx0KXtpZihyLnNlbGVjdGVkSWQpe3ZhciBuPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKCEoIW58fG4uc3RhdHVzIT09InJ1bm5pbmciKSYmIXNlKG4pKXtlPjI1NiYmKGU9MjU2KSx0PjE2MCYmKHQ9MTYwKTt2YXIgaT17Y29sczplLHJvd3M6dH07KHIubGFzdFJlc2l6ZS5jb2xzIT09aS5jb2xzfHxyLmxhc3RSZXNpemUucm93cyE9PWkucm93cykmJihyLmxhc3RSZXNpemU9aSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3Iuc2VsZWN0ZWRJZCsiL3Jlc2l6ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoaSl9KS5jYXRjaChmdW5jdGlvbigpe30pKX19fWZ1bmN0aW9uIFllKGUsdCl7aWYoIXIudGVybWluYWwpcmV0dXJuITE7dmFyIG49dHx8e30saT1uLmZvcmNlUmVwbGF5PT09ITAsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoIWF8fGEub2Zmc2V0V2lkdGg9PT0wfHxhLm9mZnNldEhlaWdodD09PTApcmV0dXJuIE9yKGV8fCJmaXQtcmV0cnkiLHtmb3JjZVJlcGxheTppfSksITE7dmFyIHU9ci50ZXJtaW5hbEF1dG9Gb2xsb3d8fFVhKCksbz1yLnRlcm1pbmFsLmNvbHMscz1yLnRlcm1pbmFsLnJvd3M7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKHIudGVybWluYWwpe3R5cGVvZiByLnRlcm1pbmFsLnJlbWVhc3VyZT09ImZ1bmN0aW9uIiYmci50ZXJtaW5hbC5yZW1lYXN1cmUoKSxraShyLnRlcm1pbmFsLmNvbHMsci50ZXJtaW5hbC5yb3dzKTt2YXIgbD1yLnRlcm1pbmFsLmNvbHMhPT1vfHxyLnRlcm1pbmFsLnJvd3MhPT1zOyFsJiZpJiZyLnRlcm1pbmFsT3V0cHV0JiZSbih7c2tpcEZpdDohMH0pLHUmJnl0KCJmb3JjZSIpfX0pfSksITB9ZnVuY3Rpb24gT3IoZSx0KXtpZighci50ZXJtaW5hbClyZXR1cm47dmFyIG49dHx8e30saT1uLmZvcmNlUmVwbGF5IT09ITEsYT0wLHU9ODtmdW5jdGlvbiBvKCl7aWYoci50ZXJtaW5hbCl7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKHMmJnMub2Zmc2V0SGVpZ2h0LHMmJnMub2Zmc2V0V2lkdGg+MCYmcy5vZmZzZXRIZWlnaHQ+MCl7WWUoZSx7Zm9yY2VSZXBsYXk6aX0pO3JldHVybn0rK2E+PXV8fChhPD00P3JlcXVlc3RBbmltYXRpb25GcmFtZShvKTpzZXRUaW1lb3V0KG8sMzIpKX19bygpfWZ1bmN0aW9uIFB0KGUpe3IucmVzaXplVGltZXImJihjbGVhclRpbWVvdXQoci5yZXNpemVUaW1lciksci5yZXNpemVUaW1lcj1udWxsKTt2YXIgdD1lPzA6MTAwO3IucmVzaXplVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3IucmVzaXplVGltZXI9bnVsbCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoTGYpfSx0KX1mdW5jdGlvbiBMZigpe2lmKHIudGVybWluYWwpe3ZhciBlPXIudGVybWluYWxBdXRvRm9sbG93fHxVYSgpO2UmJnl0KCJmb3JjZSIpLGtpKHIudGVybWluYWwuY29scyxyLnRlcm1pbmFsLnJvd3MpfX1mdW5jdGlvbiBYdChlKXtyLndvcmtpbmdEaXI9ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiLGUpfWNhdGNoe31NZihlKX1mdW5jdGlvbiBXYShlKXtmZXRjaCgiL2FwaS9yZWNlbnQtcGF0aHMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe2UodHx8W10pfSkuY2F0Y2goZnVuY3Rpb24oKXtlKFtdKX0pfWZ1bmN0aW9uIE1mKGUpe3JldHVybiBmZXRjaCgiL2FwaS9yZWNlbnQtcGF0aHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtwYXRoOmV9KX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gemEoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG4pe3JldHVybiBuLmlkPT09ZX0pO3QmJnQuc3RhdHVzIT09InJ1bm5pbmciJiYhc2UodCk/bGwoZSk6TnQoZSksanQoKX1mdW5jdGlvbiBPZihlKXt2YXIgdD1lLnRhcmdldDtpZighKCF0fHwhKHQgaW5zdGFuY2VvZiBFbGVtZW50KSkpe3ZhciBuPXQuY2xvc2VzdCgiLnNpZGViYXItY29sbGFwc2VkLXRpbGUiKTtpZihuJiZuIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKG4uZGF0YXNldC5jb2xsYXBzZWROZXdTZXNzaW9uKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx6dSgpO3JldHVybn1pZihuLmRhdGFzZXQuY29sbGFwc2VkU2Vzc2lvbklkKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx6YShuLmRhdGFzZXQuY29sbGFwc2VkU2Vzc2lvbklkKTtyZXR1cm59aWYobi5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGk9bi5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCxhPW4uZGF0YXNldC5jd2R8fCIiLHU9bi5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij9qaTpSaTt1KGksYSkudGhlbihmdW5jdGlvbihtKXttJiZtLmlkJiYoci5zZWxlY3RlZElkPW0uaWQsRWUoKSxyLmRyYWZ0c1ttLmlkXT0iIixubigpLnRoZW4oZnVuY3Rpb24oKXtOdChtLmlkKX0pKX0pO3JldHVybn19dmFyIG89dC5jbG9zZXN0KCIjY2xhdWRlLWhpc3RvcnktdG9nZ2xlIik7aWYobyl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWQ9IXIuY2xhdWRlSGlzdG9yeUV4cGFuZGVkLHIuY2xhdWRlSGlzdG9yeUV4cGFuZGVkJiYhci5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZDaSgpLHBlKCk7cmV0dXJufXZhciBzPXQuY2xvc2VzdCgiW2RhdGEtYWN0aW9uXSIpO2lmKHMmJnMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkscy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtbWFuYWdlLW1vZGUiKVljKCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InNlbGVjdC1hbGwtdmlzaWJsZSIpWG8oKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iY2xlYXItc2VsZWN0aW9uIikkYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtc2VsZWN0ZWQiKVhjKCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1zZWxlY3Rpb24iKUFyKHMuZGF0YXNldC5raW5kLHMuZGF0YXNldC5pZCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InN3aXBlLWRlbGV0ZS1zZXNzaW9uIiYmcy5kYXRhc2V0LnNlc3Npb25JZClwdShzLmRhdGFzZXQuc2Vzc2lvbklkKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLXNlc3Npb24iJiZzLmRhdGFzZXQuc2Vzc2lvbklkKShmdW5jdGlvbihtKXtqbigiXHU3ODZFXHU4QkE0XHU1MjIwXHU5NjY0XHU4RkQ5XHU0RTJBXHU0RjFBXHU4QkREXHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERCJ9KS50aGVuKGZ1bmN0aW9uKGcpe2cmJnB1KG0pfSl9KShzLmRhdGFzZXQuc2Vzc2lvbklkKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWhpc3RvcnkiJiZzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKShmdW5jdGlvbihtLGcpe2puKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdThGRDlcdTY3NjEgQ2xhdWRlIFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbih5KXt5JiZhbChtLGcpfSl9KShzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkLHMuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLWhpc3RvcnktZGlyZWN0b3J5IiYmcy5kYXRhc2V0LmN3ZCl7dmFyIGw9cy5kYXRhc2V0LmN3ZDtyLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnNbbF09IXIuY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlyc1tsXSxwZSgpfWVsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtaGlzdG9yeS1kaXJlY3RvcnkiJiZzLmRhdGFzZXQuY3dkKShmdW5jdGlvbihtLGcpe3ZhciB5PUx2KG0pLEI9a3IoKS5maWx0ZXIoZnVuY3Rpb24oRSl7cmV0dXJuIEUuY3dkPT09bX0pLmxlbmd0aDtqbigiXHU3ODZFXHU4QkE0XHU2RTA1XHU3QTdBXHU2QjY0XHU3NkVFXHU1RjU1XHU0RTBCXHU3Njg0ICIrQisiIFx1Njc2MSBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU1NDE3XHVGRjFGIix7dGl0bGU6Ilx1NkUwNVx1N0E3QVx1NzZFRVx1NUY1NVx1NTM4Nlx1NTNGMiIsb2tMYWJlbDoiXHU2RTA1XHU3QTdBIn0pLnRoZW4oZnVuY3Rpb24oRSl7RSYmKHVsKHksITApLFR2KG0sZyx5KSl9KX0pKHMuZGF0YXNldC5jd2Qscyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImNsZWFyLWFsbC1oaXN0b3J5IilaYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtYXJjaGl2ZWQtZ3JvdXAiKXIuYXJjaGl2ZWRFeHBhbmRlZD0hci5hcmNoaXZlZEV4cGFuZGVkLHBlKCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZSImJnMuZGF0YXNldC5zZXNzaW9uSWQpUHYocyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZS1oaXN0b3J5IiYmcy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZClfdihzKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0icmVzdW1lLWNvZGV4LWhpc3RvcnkiJiZzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKXF2KHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtY29kZXgtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpSHYocyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1jb2RleC1oaXN0b3J5LWRpcmVjdG9yeSImJnMuZGF0YXNldC5jd2Qpe3ZhciBkPXMuZGF0YXNldC5jd2Q7ci5jb2RleEhpc3RvcnlFeHBhbmRlZERpcnNbZF09IXIuY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzW2RdLHBlKCl9ZWxzZSBzLmRhdGFzZXQuYWN0aW9uPT09Indvcmt0cmVlLW1lcmdlIiYmcy5kYXRhc2V0LnNlc3Npb25JZD9jZChzLmRhdGFzZXQuc2Vzc2lvbklkKTpzLmRhdGFzZXQuYWN0aW9uPT09Indvcmt0cmVlLWNsZWFudXAiJiZzLmRhdGFzZXQuc2Vzc2lvbklkJiZmZChzLmRhdGFzZXQuc2Vzc2lvbklkKTtyZXR1cm59dmFyIGY9dC5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aWYoZil7aWYoci5zZXNzaW9uc01hbmFnZU1vZGUpe2YuZGF0YXNldC5zZXNzaW9uSWQ/QXIoInNlc3Npb25zIixmLmRhdGFzZXQuc2Vzc2lvbklkKTpmLmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkJiZBcihmLmRhdGFzZXQucHJvdmlkZXI9PT0iY29kZXgiPyJjb2RleCI6Imhpc3RvcnkiLGYuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpO3JldHVybn1pZihmLmNsYXNzTGlzdC5jb250YWlucygic3dpcGVkIikpe1ZyKCk7cmV0dXJufWlmKG9sKXJldHVybjtpZihmLmRhdGFzZXQuc2Vzc2lvbklkKXphKGYuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYoZi5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCl7dmFyIGM9Zi5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCx2PWYuZGF0YXNldC5jd2QsaD1mLmRhdGFzZXQucHJvdmlkZXI9PT0iY29kZXgiP2ppOlJpO2goYyx2KS50aGVuKGZ1bmN0aW9uKG0pe20mJm0uaWQmJihyLnNlbGVjdGVkSWQ9bS5pZCxFZSgpLHIuZHJhZnRzW20uaWRdPSIiLG5uKCkudGhlbihmdW5jdGlvbigpe050KG0uaWQpLGp0KCl9KSl9KX19fX1mdW5jdGlvbiBQZihlKXtpZighKGUua2V5IT09IkVudGVyIiYmZS5rZXkhPT0iICIpKXt2YXIgdD1lLnRhcmdldC5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aWYodCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXt0LmRhdGFzZXQuc2Vzc2lvbklkP0FyKCJzZXNzaW9ucyIsdC5kYXRhc2V0LnNlc3Npb25JZCk6dC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmQXIodC5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij8iY29kZXgiOiJoaXN0b3J5Iix0LmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkKTtyZXR1cm59aWYodC5kYXRhc2V0LnNlc3Npb25JZCl6YSh0LmRhdGFzZXQuc2Vzc2lvbklkKTtlbHNlIGlmKHQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpe3ZhciBuPXQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQsaT10LmRhdGFzZXQuY3dkLGE9dC5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij9qaTpSaTthKG4saSkudGhlbihmdW5jdGlvbih1KXt1JiZ1LmlkJiYoci5zZWxlY3RlZElkPXUuaWQsRWUoKSxyLmRyYWZ0c1t1LmlkXT0iIixubigpLnRoZW4oZnVuY3Rpb24oKXtOdCh1LmlkKSxqdCgpfSkpfSl9fX19ZnVuY3Rpb24gVmEoZSx0KXt2YXIgbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZihuKXt2YXIgaT1uW2VdO2lmKCFpKXt4KCJcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTZDQTFcdTY3MDlcdTUzRUZcdTU5MERcdTUyMzZcdTc2ODRcdTUxODVcdTVCQjlcdTMwMDIiLCJlcnJvciIpO3JldHVybn1haShTdHJpbmcoaSksbnVsbCxmdW5jdGlvbigpe3godHx8Ilx1NURGMlx1NTkwRFx1NTIzNiIsImluZm8iKX0pfX1mdW5jdGlvbiBCdCgpe3JldHVybiFyLnRlcm1pbmFsfHwhci50ZXJtaW5hbC5lbGVtZW50P251bGw6KHIudGVybWluYWxWaWV3cG9ydEVsPXIudGVybWluYWwuZWxlbWVudCxyLnRlcm1pbmFsVmlld3BvcnRFbCl9ZnVuY3Rpb24gaXIoKXtyLnRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHIudGVybWluYWxTY3JvbGxJZGxlVGltZXIpLHIudGVybWluYWxTY3JvbGxJZGxlVGltZXI9bnVsbCl9ZnVuY3Rpb24gbHQoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtanVtcC1ib3R0b20iKSx0PSEhci5zZWxlY3RlZElkJiZyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmIXIudGVybWluYWxBdXRvRm9sbG93JiYhYnMoKTtyLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT10LGUmJmUuY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsdCk7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO24mJm4uY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWp1bXAtYnRuIix0KX1mdW5jdGlvbiBVYSgpe3ZhciBlPUJ0KCk7aWYoIWUpcmV0dXJuITA7dmFyIHQ9ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQtZS5zY3JvbGxUb3A7cmV0dXJuIHQ8PXIudGVybWluYWxTY3JvbGxUaHJlc2hvbGR9ZnVuY3Rpb24gYnMoKXt2YXIgZT1CdCgpO2lmKCFlKXJldHVybiEwO3ZhciB0PWUuc2Nyb2xsSGVpZ2h0LWUuY2xpZW50SGVpZ2h0LWUuc2Nyb2xsVG9wO3JldHVybiB0PD0yfWZ1bmN0aW9uIEVzKGUpe2lmKHIudGVybWluYWwpe3ZhciB0PUJ0KCk7aWYodCl7dmFyIG49ZT81MDA6MTIwO3IudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD1NYXRoLm1heChyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwsRGF0ZS5ub3coKStuKSxlP3Quc2Nyb2xsVG8oe3RvcDp0LnNjcm9sbEhlaWdodCxiZWhhdmlvcjoic21vb3RoIn0pOnQuc2Nyb2xsVG9wPXQuc2Nyb2xsSGVpZ2h0fX19ZnVuY3Rpb24gS2EoKXtyLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMSxpcigpLHIudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD0wLHIudGVybWluYWwmJiJfc2hvdWxkU2Nyb2xsVG9Cb3R0b20iaW4gci50ZXJtaW5hbCYmKHIudGVybWluYWwuX3Nob3VsZFNjcm9sbFRvQm90dG9tPSExKSxsdCgpfWZ1bmN0aW9uIHl0KGUpe2lmKHIudGVybWluYWwpe3ZhciB0PWU9PT0iZm9yY2UiO2lmKHQpe3IudGVybWluYWxBdXRvRm9sbG93PSEwLGlyKCksRXMoITEpLGx0KCk7cmV0dXJufWlmKCFyLnRlcm1pbmFsQXV0b0ZvbGxvdyl7bHQoKTtyZXR1cm59RXMoITEpLGx0KCl9fWZ1bmN0aW9uIHFmKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXIiO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO24uY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXItdHJhY2siO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWIiLG4uYXBwZW5kQ2hpbGQoaSksdC5hcHBlbmRDaGlsZChuKSxlLmFwcGVuZENoaWxkKHQpLHIudGVybWluYWxTY3JvbGxiYXJFbD10LHIudGVybWluYWxTY3JvbGxiYXJUaHVtYkVsPWksci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1udWxsLHIudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxyLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMTtmdW5jdGlvbiBhKCl7ci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmKGNsZWFyVGltZW91dChyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwpLHQuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfWZ1bmN0aW9uIHUoKXtyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmd8fChyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiZjbGVhclRpbWVvdXQoci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciksci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1udWxsLHIudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8dC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9LDE1MDApKX1mdW5jdGlvbiBvKCl7ci50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITE7dmFyIGc9QnQoKTtpZihnKXt2YXIgeT1nLnNjcm9sbEhlaWdodCxCPWcuY2xpZW50SGVpZ2h0O2lmKHk8PUIpe3QuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpO3JldHVybn12YXIgRT1uLmNsaWVudEhlaWdodCxDPU1hdGgubWF4KDI4LEIveSpFKSxEPXktQixGPWcuc2Nyb2xsVG9wL0QsTD1GKihFLUMpO2kuc3R5bGUuaGVpZ2h0PUMrInB4IixpLnN0eWxlLnRvcD1MKyJweCJ9fWZ1bmN0aW9uIHMoKXtyLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZ3x8KHIudGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShvKSl9dmFyIGw9QnQoKTtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZnVuY3Rpb24oKXthKCkscygpLHUoKX0se3Bhc3NpdmU6ITB9KSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZnVuY3Rpb24oZyl7aWYoZy50YXJnZXQhPT1pKXtnLnByZXZlbnREZWZhdWx0KCk7dmFyIHk9QnQoKTtpZih5KXt2YXIgQj1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEU9KGcuY2xpZW50WS1CLnRvcCkvQi5oZWlnaHQsQz15LnNjcm9sbEhlaWdodC15LmNsaWVudEhlaWdodDt5LnNjcm9sbFRvcD1FKkN9fX0pO3ZhciBkPTAsZj0wO2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbihnKXtnLnByZXZlbnREZWZhdWx0KCksZy5zdG9wUHJvcGFnYXRpb24oKSxyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITAsaS5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLGQ9Zy5jbGllbnRZO3ZhciB5PUJ0KCk7Zj15P3kuc2Nyb2xsVG9wOjAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixjKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix2KX0pO2Z1bmN0aW9uIGMoZyl7Zy5wcmV2ZW50RGVmYXVsdCgpO3ZhciB5PUJ0KCk7aWYoeSl7dmFyIEI9bi5jbGllbnRIZWlnaHQsRT15LnNjcm9sbEhlaWdodCxDPXkuY2xpZW50SGVpZ2h0LEQ9RS1DO2lmKCEoRDw9MCkpe3ZhciBGPU1hdGgubWF4KDI4LEMvRSpCKSxMPUItRjtpZighKEw8PTApKXt2YXIgUz1nLmNsaWVudFktZCxOPVMvTCpEO3kuc2Nyb2xsVG9wPWYrTn19fX1mdW5jdGlvbiB2KCl7ci50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHYpLHUoKX1pLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGcpe2lmKGcudG91Y2hlcy5sZW5ndGg9PT0xKXtnLnN0b3BQcm9wYWdhdGlvbigpLHIudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMCxpLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksZD1nLnRvdWNoZXNbMF0uY2xpZW50WTt2YXIgeT1CdCgpO2Y9eT95LnNjcm9sbFRvcDowLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsaCx7cGFzc2l2ZTohMX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixtKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsbSl9fSx7cGFzc2l2ZTohMX0pO2Z1bmN0aW9uIGgoZyl7aWYoZy50b3VjaGVzLmxlbmd0aD09PTEpe2cucHJldmVudERlZmF1bHQoKTt2YXIgeT1CdCgpO2lmKHkpe3ZhciBCPW4uY2xpZW50SGVpZ2h0LEU9eS5zY3JvbGxIZWlnaHQsQz15LmNsaWVudEhlaWdodCxEPUUtQztpZighKEQ8PTApKXt2YXIgRj1NYXRoLm1heCgyOCxDL0UqQiksTD1CLUY7aWYoIShMPD0wKSl7dmFyIFM9Zy50b3VjaGVzWzBdLmNsaWVudFktZCxOPVMvTCpEO3kuc2Nyb2xsVG9wPWYrTn19fX19ZnVuY3Rpb24gbSgpe3IudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLG0pLHUoKX10LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7YSgpfSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe3IudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8dSgpfSkscygpfWZ1bmN0aW9uIEhmKGUpe3JldHVybiBlPDQzNTI/ITE6ZT49NDM1MiYmZTw9NDQ0N3x8ZT49OTAwMSYmZTw9OTAwMnx8ZT49MTE5MDQmJmU8PTEyMzUwfHxlPj0xMjM1MyYmZTw9MTMzMTF8fGU+PTEzMzEyJiZlPD0xOTkwM3x8ZT49MTk5NjgmJmU8PTQwOTU5fHxlPj00MDk2MCYmZTw9NDIxOTF8fGU+PTQ0MDMyJiZlPD01NTIwM3x8ZT49NjM3NDQmJmU8PTY0MjU1fHxlPj02NTA3MiYmZTw9NjUxMDN8fGU+PTY1MjgwJiZlPD02NTM3Nnx8ZT49NjU1MDQmJmU8PTY1NTEwfHxlPj0xMjY5NzYmJmU8PTEyOTUzNXx8ZT49MTMxMDcyJiZlPD0xOTY2MDV8fGU+PTE5NjYwOCYmZTw9MjYyMTQxfXZhciBGcz0iXHUyMDYwIjtmdW5jdGlvbiBDcygpe3JldHVybnttb2RlOiJub3JtYWwifX1mdW5jdGlvbiBfZihlKXtyZXR1cm4hL1teXHgwMC1ceDdmXS8udGVzdChlKSYmZS5pbmRleE9mKCJceDFCIik9PT0tMX1mdW5jdGlvbiBOZihlLHQpe2lmKCFlKXJldHVybiIiO3ZhciBuPVN0cmluZyhlKTtpZih0Lm1vZGU9PT0ibm9ybWFsIiYmX2YobikpcmV0dXJuIG47Zm9yKHZhciBpPSIiLGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIHU9bi5jaGFyQ29kZUF0KGEpLG89dSxzPTE7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZhKzE8bi5sZW5ndGgpe3ZhciBsPW4uY2hhckNvZGVBdChhKzEpO2w+PTU2MzIwJiZsPD01NzM0MyYmKG89KHUtNTUyOTYpKjEwMjQrKGwtNTYzMjApKzY1NTM2LHM9Mil9dmFyIGQ9cz09PTI/bi5zdWJzdHIoYSwyKTpuLmNoYXJBdChhKTtzd2l0Y2godC5tb2RlKXtjYXNlIm5vcm1hbCI6bz09PTI3Pyh0Lm1vZGU9ImVzYyIsaSs9ZCk6bz09PTE1NT8odC5tb2RlPSJjc2kiLGkrPWQpOm89PT0xNTd8fG89PT0xNDR8fG89PT0xNTh8fG89PT0xNTk/KHQubW9kZT0ic3RyaW5nIixpKz1kKTooaSs9ZCxIZihvKSYmKGkrPUZzKSk7YnJlYWs7Y2FzZSJlc2MiOmkrPWQsbz09PTkxP3QubW9kZT0iY3NpIjpvPT09OTN8fG89PT04MHx8bz09PTg4fHxvPT09OTR8fG89PT05NT90Lm1vZGU9InN0cmluZyI6dC5tb2RlPSJub3JtYWwiO2JyZWFrO2Nhc2UiY3NpIjppKz1kLG8+PTY0JiZvPD0xMjYmJih0Lm1vZGU9Im5vcm1hbCIpO2JyZWFrO2Nhc2Uic3RyaW5nIjppKz1kLG89PT03fHxvPT09MTU2P3QubW9kZT0ibm9ybWFsIjpvPT09MjcmJih0Lm1vZGU9InN0cmluZy1lc2MiKTticmVhaztjYXNlInN0cmluZy1lc2MiOmkrPWQsbz09PTkyP3QubW9kZT0ibm9ybWFsIjp0Lm1vZGU9InN0cmluZyI7YnJlYWt9YSs9cy0xfXJldHVybiBpfXZhciBBaT0iXHgxQls/MjAyNmgiLEphPSJceDFCWz8yMDI2bCIsamY9MjAwLFJmPTI1NioxMDI0O2Z1bmN0aW9uIFdmKGUpe2lmKCFlfHxyLnN5bmNPdXRwdXRCdWZmZXI9PT1udWxsJiZlLmluZGV4T2YoQWkpPT09LTEpcmV0dXJuIGU7Zm9yKHZhciB0PSIiLG49MDtuPGUubGVuZ3RoOylpZihyLnN5bmNPdXRwdXRCdWZmZXIhPT1udWxsKXt2YXIgaT1lLmluZGV4T2YoSmEsbik7aWYoaT09PS0xKXJldHVybiByLnN5bmNPdXRwdXRCdWZmZXIrPWUuc2xpY2UobiksKHIuc3luY091dHB1dEJ1ZmZlci5sZW5ndGg+UmZ8fERhdGUubm93KCk+ci5zeW5jT3V0cHV0RGVhZGxpbmUpJiYodCs9ci5zeW5jT3V0cHV0QnVmZmVyLHIuc3luY091dHB1dEJ1ZmZlcj1udWxsLHIuc3luY0ZyYW1pbmdSZXNpZHVlPSEwKSx0O3Iuc3luY091dHB1dEJ1ZmZlcis9ZS5zbGljZShuLGkrSmEubGVuZ3RoKSx0Kz1yLnN5bmNPdXRwdXRCdWZmZXIsci5zeW5jT3V0cHV0QnVmZmVyPW51bGwsbj1pK0phLmxlbmd0aH1lbHNle3ZhciBhPWUuaW5kZXhPZihBaSxuKTtpZihhPT09LTEpcmV0dXJuIHQrPWUuc2xpY2UobiksdDt0Kz1lLnNsaWNlKG4sYSksci5zeW5jT3V0cHV0QnVmZmVyPUFpLHIuc3luY091dHB1dERlYWRsaW5lPURhdGUubm93KCkramYsbj1hK0FpLmxlbmd0aH1yZXR1cm4gdH1mdW5jdGlvbiB3aCgpe2lmKHIuc3luY091dHB1dEJ1ZmZlciE9PW51bGwpe3ZhciBlPXIuc3luY091dHB1dEJ1ZmZlcjtyZXR1cm4gci5zeW5jT3V0cHV0QnVmZmVyPW51bGwsZX1yZXR1cm4iIn1mdW5jdGlvbiBhcihlLHQpe2lmKCEoIWV8fHQ9PW51bGwpKXtyLndpZGVQYXJzZXJTdGF0ZXx8KHIud2lkZVBhcnNlclN0YXRlPUNzKCkpO3ZhciBuPU5mKHQsci53aWRlUGFyc2VyU3RhdGUpLGk9V2YobiksYT1yLnRlcm1pbmFsQXV0b0ZvbGxvdyE9PSExOyJfc2hvdWxkU2Nyb2xsVG9Cb3R0b20iaW4gZSYmKGUuX3Nob3VsZFNjcm9sbFRvQm90dG9tPWEpLGkmJmUud3JpdGUoaSksIl9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBlJiYoZS5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209YSksYSYmKHIudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbD1NYXRoLm1heChyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwsRGF0ZS5ub3coKSsxMjApKSxYZih0KX19ZnVuY3Rpb24gR2EoKXtyLndpZGVQYXJzZXJTdGF0ZT1DcygpfWZ1bmN0aW9uIHpmKCl7dHlwZW9mIGRvY3VtZW50PiJ1Inx8ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZnVuY3Rpb24oZSl7dmFyIHQ9d2luZG93LmdldFNlbGVjdGlvbiYmd2luZG93LmdldFNlbGVjdGlvbigpO2lmKCEoIXR8fHQuaXNDb2xsYXBzZWQpKXt2YXIgbj10LmFuY2hvck5vZGUsaT1uJiZuLm5vZGVUeXBlPT09Mz9uLnBhcmVudE5vZGU6bixhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZighKCFhfHwhaXx8IWEuY29udGFpbnMoaSkpKXt2YXIgdT10LnRvU3RyaW5nKCksbz11LnNwbGl0KGAKYCkubWFwKGZ1bmN0aW9uKHMpe3JldHVybiBzLnNwbGl0KEZzKS5qb2luKCIiKS5yZXBsYWNlKC9bIFx0XSskLywiIil9KS5qb2luKGAKYCk7byE9PXUmJmUuY2xpcGJvYXJkRGF0YSYmKGUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCJ0ZXh0L3BsYWluIixvKSxlLnByZXZlbnREZWZhdWx0KCkpfX19KX16ZigpO3ZhciB3cz0xNTAsQnM9MzAsVmY9MTYwKjEwMjQsVWY9MTkyKjEwMjQ7ZnVuY3Rpb24gRHMoZSl7aWYoIWV8fGUubGVuZ3RoPD1VZilyZXR1cm4gZTt2YXIgdD1lLmxlbmd0aCxuPWZ1bmN0aW9uKEYpe2lmKCEodHlwZW9mIHI+InUifHwhcikpe3ZhciBMPXIudGVybWluYWxPdXRwdXRNYXJrZXJ8MDtpZighKEw8PTApKXt2YXIgUz10LUY7ci50ZXJtaW5hbE91dHB1dE1hcmtlcj1MPlM/TC1TOjB9fX0saT1lLmxlbmd0aC1WZjtpZihpPjAmJmk8ZS5sZW5ndGgpe3ZhciBhPWUuY2hhckNvZGVBdChpKTthPj01NjMyMCYmYTw9NTczNDMmJmkrK31mb3IodmFyIHU9NDA5NixvPU1hdGgubWluKGkrdSxlLmxlbmd0aCkscz1pO3M8bztzKyspaWYoZS5jaGFyQ29kZUF0KHMpPT09MTApe3ZhciBsPWUuc2xpY2UocysxKTtyZXR1cm4gbihsLmxlbmd0aCksbH1mb3IodmFyIGQ9TWF0aC5tYXgoMCxpLTI1NiksZj0tMSxjPWktMTtjPj1kO2MtLSl7dmFyIHY9ZS5jaGFyQ29kZUF0KGMpO2lmKHY9PT0yNyl7Zj1jO2JyZWFrfWlmKHY9PT03fHx2Pj02NCYmdjw9MTI2KWJyZWFrfWlmKGYhPT0tMSl7Zm9yKHZhciBoPSExLG09ZisxO208aTttKyspe3ZhciBnPWUuY2hhckNvZGVBdChtKTtpZihnPT09Nyl7aD0hMDticmVha31pZihnPj02NCYmZzw9MTI2KXtoPSEwO2JyZWFrfX1pZighaClmb3IodmFyIHk9TWF0aC5taW4oaSsyNTYsZS5sZW5ndGgpLEI9aTtCPHk7QisrKXt2YXIgRT1lLmNoYXJDb2RlQXQoQik7aWYoRT09PTd8fEU+PTY0JiZFPD0xMjYpe3ZhciBDPWUuc2xpY2UoQisxKTtyZXR1cm4gbihDLmxlbmd0aCksQ319fXZhciBEPWUuc2xpY2UoaSk7cmV0dXJuIG4oRC5sZW5ndGgpLER9ZnVuY3Rpb24geGkoKXtpZihyLnRlcm1pbmFsKXtpZih0eXBlb2Ygci50ZXJtaW5hbC5yZXNldD09ImZ1bmN0aW9uIil7ci50ZXJtaW5hbC5yZXNldCgpLEdhKCksci5zeW5jT3V0cHV0QnVmZmVyPW51bGwsci5zeW5jT3V0cHV0RGVhZGxpbmU9MDtyZXR1cm59dHlwZW9mIHIudGVybWluYWwud3JpdGU9PSJmdW5jdGlvbiImJnIudGVybWluYWwud3JpdGUoIlx4MUJjIiksR2EoKSxyLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxyLnN5bmNPdXRwdXREZWFkbGluZT0wfX1yLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0PTAsci5fcmVzeW5jU3RhdHNDb3VudD0wLHIuX3Jlc3luY0xhc3RXYXJuQXQ9MDt2YXIgS2Y9NWUzLEpmPTEyLEdmPTNlNDtyLl9yZXN5bmNJblByb2dyZXNzPSExO2Z1bmN0aW9uIFJuKGUpe2lmKCFyLnRlcm1pbmFsfHwhci50ZXJtaW5hbE91dHB1dClyZXR1cm4hMTt2YXIgdD1lfHx7fSxuPXIudGVybWluYWxPdXRwdXRNYXJrZXJ8MDtuPDAmJihuPTApLG4+ci50ZXJtaW5hbE91dHB1dC5sZW5ndGgmJihuPXIudGVybWluYWxPdXRwdXQubGVuZ3RoKTt2YXIgaT1uPjA/ci50ZXJtaW5hbE91dHB1dC5zbGljZShuKTpyLnRlcm1pbmFsT3V0cHV0LGE9aS5sZW5ndGgsdT10eXBlb2YgcGVyZm9ybWFuY2U8InUiJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6RGF0ZS5ub3coKTtyLl9yZXN5bmNJblByb2dyZXNzPSEwO3RyeXt4aSgpLGFyKHIudGVybWluYWwsaSl9ZmluYWxseXtyLl9yZXN5bmNJblByb2dyZXNzPSExfXIubGFzdFRlcm1pbmFsUmVzeW5jQXQ9RGF0ZS5ub3coKSx5dCgib3V0cHV0IiksdC5za2lwRml0fHxZZSgicmVmcmVzaCIpO3ZhciBvPURhdGUubm93KCk7aWYoby1yLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0PktmKXIuX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9byxyLl9yZXN5bmNTdGF0c0NvdW50PTE7ZWxzZSBpZihyLl9yZXN5bmNTdGF0c0NvdW50Kyssci5fcmVzeW5jU3RhdHNDb3VudD5KZiYmby1yLl9yZXN5bmNMYXN0V2FybkF0PkdmKXtyLl9yZXN5bmNMYXN0V2FybkF0PW87dmFyIHM9dHlwZW9mIHBlcmZvcm1hbmNlPCJ1IiYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOkRhdGUubm93KCk7Y29uc29sZS53YXJuKCJbd2FuZF0gc29mdFJlc3luY1Rlcm1pbmFsIGhpZ2ggZnJlcXVlbmN5IiwiY291bnQ9IityLl9yZXN5bmNTdGF0c0NvdW50KyIvIitNYXRoLnJvdW5kKChvLXIuX3Jlc3luY1N0YXRzV2luZG93U3RhcnQpLzEwMCkvMTArInMiLCJidWZMZW49IithLCJsYXN0UmVwbGF5TXM9IitNYXRoLnJvdW5kKHMtdSkpfXJldHVybiEwfWZ1bmN0aW9uIFlmKGUpe3Iuc29mdFJlc3luY1RpbWVyJiZjbGVhclRpbWVvdXQoci5zb2Z0UmVzeW5jVGltZXIpLHIuc29mdFJlc3luY1RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLnNvZnRSZXN5bmNUaW1lcj1udWxsLFJuKCl9LHR5cGVvZiBlPT0ibnVtYmVyIj9lOjE1MCl9dmFyIFFmPS9ceDFiXFtcZCooPzo7XGQqKT9bQUJDRGZISktdLyxrcz0xNTAwLCRmPTgwMDtyLl9yZXN5bmNDaHVua0xhc3RBdD0wLHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGw7ZnVuY3Rpb24gWGYoZSl7aWYoIXIuX3Jlc3luY0luUHJvZ3Jlc3MmJnIuc3luY0ZyYW1pbmdSZXNpZHVlJiYoci5zeW5jRnJhbWluZ1Jlc2lkdWU9ITEsISghZXx8dHlwZW9mIGUhPSJzdHJpbmciKSYmZS5pbmRleE9mKCJceDFCWyIpIT09LTEmJlFmLnRlc3QoZSkpKXt2YXIgdD1EYXRlLm5vdygpLG49dC1yLl9yZXN5bmNDaHVua0xhc3RBdDtpZihuPj1rcyl7ci5fcmVzeW5jQ2h1bmtUYWlsVGltZXImJihjbGVhclRpbWVvdXQoci5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpLHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGwpLHIuX3Jlc3luY0NodW5rTGFzdEF0PXQsUm4oKTtyZXR1cm59aWYoIXIuX3Jlc3luY0NodW5rVGFpbFRpbWVyKXt2YXIgaT1NYXRoLm1heCgkZixrcy1uKTtyLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbCxyLl9yZXN5bmNDaHVua0xhc3RBdD1EYXRlLm5vdygpLFJuKCl9LGkpfX19ZnVuY3Rpb24gU2koZSx0LG4pe2lmKCFyLnRlcm1pbmFsKXJldHVybiExO3ZhciBpPVN1KHR8fCIiKSxhPWV8fG51bGwsdT1ufHx7fSxvPXUubW9kZXx8ImFwcGVuZCIscz11LnNjcm9sbCE9PSExLGw9ci50ZXJtaW5hbFNlc3Npb25JZCE9PWEsZD1yLnRlcm1pbmFsT3V0cHV0fHwiIixmPSEhKGEmJnIudGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbYV0pLGM9ITE7aWYoaT09PWQmJiFsKXJldHVybiBzJiZ5dCgib3V0cHV0IiksbHQoKSwhMTtpZihsJiYoeGkoKSxkPSIiLHIudGVybWluYWxPdXRwdXQ9IiIsci50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLHIudGVybWluYWxBdXRvRm9sbG93PSEwLGlyKCksbHQoKSksbz09PSJyZXBsYWNlIilpIT09ZCYmKHhpKCksaSYmYXIoci50ZXJtaW5hbCxpKSxjPSEwKTtlbHNle2lmKGkubGVuZ3RoPGQubGVuZ3RoJiYhbClyZXR1cm4hMTtpZihmJiYhbCYmbyE9PSJyZXBsYWNlIiYmZCYmIWkuc3RhcnRzV2l0aChkKSlyZXR1cm4hMTtpZihpLnN0YXJ0c1dpdGgoZCkpe3ZhciB2PWkuc2xpY2UoZC5sZW5ndGgpO3YmJihhcihyLnRlcm1pbmFsLHYpLGM9ITApfWVsc2V7aWYoZCYmZC5zdGFydHNXaXRoKGkpKXJldHVybiExO3hpKCksaSYmYXIoci50ZXJtaW5hbCxpKSxjPSEwfX1yZXR1cm4gci50ZXJtaW5hbFNlc3Npb25JZD1hLHIudGVybWluYWxPdXRwdXQ9aSxyLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAscyYmKGN8fGx8fG89PT0icmVwbGFjZSIpP3l0KGx8fG89PT0icmVwbGFjZSI/ImZvcmNlIjoib3V0cHV0Iik6bHQoKSxsJiZraShyLnRlcm1pbmFsLmNvbHMsci50ZXJtaW5hbC5yb3dzKSxjfHxsfWZ1bmN0aW9uIHVyKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCEoIWV8fHIudGVybWluYWx8fHIudGVybWluYWxJbml0aWFsaXppbmcpKXtpZih0eXBlb2YgV1Rlcm1MaWI+InUifHwhV1Rlcm1MaWIuV1Rlcm0pe3IudGVybWluYWxJbml0UmV0cmllc3x8KHIudGVybWluYWxJbml0UmV0cmllcz0wKSxyLnRlcm1pbmFsSW5pdFJldHJpZXM8MTAmJihyLnRlcm1pbmFsSW5pdFJldHJpZXMrKyxzZXRUaW1lb3V0KHVyLDIwMCkpO3JldHVybn1yLnRlcm1pbmFsSW5pdFJldHJpZXM9MCxyLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSEwLHIuc2VsZWN0ZWRJZCYmKGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSk7Zm9yKHZhciB0PWUucXVlcnlTZWxlY3RvckFsbCgiLnRlcm1pbmFsLXNjcm9sbC13cmFwIiksbj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10W25dO2kucGFyZW50Tm9kZT09PWUmJmUucmVtb3ZlQ2hpbGQoaSl9dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbC13cmFwIixlLmFwcGVuZENoaWxkKGEpO3ZhciB1PW5ldyBXVGVybUxpYi5XVGVybShhLHtjb2xzOjEyMCxyb3dzOjM2LGF1dG9SZXNpemU6ITAsY3Vyc29yQmxpbms6ITEsb25EYXRhOmZ1bmN0aW9uKCl7fSxvblJlc2l6ZTpmdW5jdGlvbihzLGwpe2tpKHMsbCksci50ZXJtaW5hbCYmci50ZXJtaW5hbE91dHB1dCYmUm4oe3NraXBGaXQ6ITB9KX19KSxvPWRvY3VtZW50LmZvbnRzJiZ0eXBlb2YgZG9jdW1lbnQuZm9udHMucmVhZHk9PSJvYmplY3QiP1Byb21pc2UucmFjZShbZG9jdW1lbnQuZm9udHMucmVhZHksbmV3IFByb21pc2UoZnVuY3Rpb24ocyl7c2V0VGltZW91dChzLDgwMCl9KV0pOlByb21pc2UucmVzb2x2ZSgpO28udGhlbihmdW5jdGlvbigpe3JldHVybiB1LmluaXQoKX0pLnRoZW4oZnVuY3Rpb24oKXtpZihyLnRlcm1pbmFsPXUsci50ZXJtaW5hbEluaXRpYWxpemluZz0hMSxDbygpLGEuaXNDb25uZWN0ZWQmJihhLm9mZnNldEhlaWdodCx0eXBlb2YgdS5yZW1lYXN1cmU9PSJmdW5jdGlvbiIpKXRyeXt1LnJlbWVhc3VyZSgpfWNhdGNoe31yLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMCxpcigpO3ZhciBzPUJ0KCk7aWYocyYmKHIudGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXI9ZnVuY3Rpb24oKXtpZihEYXRlLm5vdygpPHIudGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCl7bHQoKTtyZXR1cm59aWYoYnMoKSl7ci50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsaXIoKSxsdCgpO3JldHVybn1LYSgpfSxyLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcj1mdW5jdGlvbihkKXtkLnRvdWNoZXMmJmQudG91Y2hlcy5sZW5ndGg9PT0xJiYoci50ZXJtaW5hbFRvdWNoU3RhcnRZPWQudG91Y2hlc1swXS5jbGllbnRZKX0sci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyPWZ1bmN0aW9uKGQpeyFkLnRvdWNoZXN8fGQudG91Y2hlcy5sZW5ndGghPT0xfHx0eXBlb2Ygci50ZXJtaW5hbFRvdWNoU3RhcnRZPT0ibnVtYmVyIiYmZC50b3VjaGVzWzBdLmNsaWVudFktci50ZXJtaW5hbFRvdWNoU3RhcnRZPjQmJkthKCl9LHMuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLnRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyLHtwYXNzaXZlOiEwfSkscy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixyLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcix7cGFzc2l2ZTohMH0pLHMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXIse3Bhc3NpdmU6ITB9KSksci50ZXJtaW5hbFdoZWVsSGFuZGxlcj1mdW5jdGlvbihkKXtkLmRlbHRhWTwwJiZLYSgpLGQuc3RvcFByb3BhZ2F0aW9uKCl9LGUuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIudGVybWluYWxXaGVlbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxxZihlKSxyLnNlbGVjdGVkSWQpe3ZhciBsPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZC5pZD09PXIuc2VsZWN0ZWRJZH0pO2wmJlNpKGwuaWQsbC5vdXRwdXR8fCIiLHttb2RlOiJhcHBlbmQiLHNjcm9sbDohMX0pfWVsc2UgYXIodSxgXHU3MEI5XHU1MUZCXHU0RTBBXHU2NUI5XHUzMDBDXHU2NUIwXHU1QkY5XHU4QkREXHUzMDBEXHU1RjAwXHU1OUNCXHU0RjYwXHU3Njg0XHU3QjJDXHU0RTAwXHU2QjIxXHU1QkY5XHU4QkREXHUzMDAyXHIKYCk7ci50ZXJtaW5hbENsaWNrSGFuZGxlcj1mdW5jdGlvbihkKXtfaSgpfHxIdChkKX0sZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsci50ZXJtaW5hbENsaWNrSGFuZGxlciksbHQoKSxnZigpLGJmKCksU2YoKSxJZigpLFllKCJtb3VudCIse2ZvcmNlUmVwbGF5OiEwfSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpJiZbMTIwLDM1MCw3MDBdLmZvckVhY2goZnVuY3Rpb24oZCl7c2V0VGltZW91dChmdW5jdGlvbigpe3IudGVybWluYWwmJlllKCJlbWJlZC1zZXR0bGUiKX0sZCl9KX0pLmNhdGNoKGZ1bmN0aW9uKHMpe3IudGVybWluYWxJbml0aWFsaXppbmc9ITEsY29uc29sZS5lcnJvcigiW3dhbmRdIHd0ZXJtIGluaXQgZmFpbGVkOiIscyl9KX19ZnVuY3Rpb24gWmYoZSx0KXtpZighKCFyLnNlbGVjdGVkSWR8fCFlKSl7dmFyIG49ci5zZWxlY3RlZElkKyI6IitlO2lmKHIudG9vbENvbnRlbnRDYWNoZVtuXSl7dChudWxsLHIudG9vbENvbnRlbnRDYWNoZVtuXSk7cmV0dXJufWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuc2VsZWN0ZWRJZCkrIi90b29sLWNvbnRlbnQvIitlbmNvZGVVUklDb21wb25lbnQoZSkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aS5lcnJvcj90KGkuZXJyb3IsbnVsbCk6KHIudG9vbENvbnRlbnRDYWNoZVtuXT1pLHQobnVsbCxpKSl9KS5jYXRjaChmdW5jdGlvbigpe3QoIlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSIsbnVsbCl9KX19ZnVuY3Rpb24gV24oZSl7cmV0dXJuISEoci5jb25maWcmJnIuY29uZmlnLmNhcmREZWZhdWx0cyYmci5jb25maWcuY2FyZERlZmF1bHRzW2VdKX1mdW5jdGlvbiBZYShlLHQsbixpKXtpZighKCFlfHxlLmRhdGFzZXQudHJ1bmNhdGVkIT09InRydWUifHxlLmRhdGFzZXQubG9hZGVkPT09InRydWUiKSl7dmFyIGE9ZS5kYXRhc2V0LnRvb2xVc2VJZDthJiYodCYmKHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ0b29sLWNvbnRlbnQtbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+JyksZS5kYXRhc2V0LmxvYWRlZD0ibG9hZGluZyIsWmYoYSxmdW5jdGlvbih1LG8pe2lmKHUpe3QmJih0LmlubmVySFRNTD1pfHwnPGRpdiBjbGFzcz0idG9vbC1jb250ZW50LWVycm9yIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj4nKSxlLmRhdGFzZXQubG9hZGVkPSIiO3JldHVybn1lLmRhdGFzZXQudHJ1bmNhdGVkPSJmYWxzZSIsZS5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7dmFyIHM9dHlwZW9mIG8uY29udGVudD09InN0cmluZyI/by5jb250ZW50OkpTT04uc3RyaW5naWZ5KG8uY29udGVudCk7bihzLG8pfSkpfX13aW5kb3cuX190Y1RvZ2dsZT1mdW5jdGlvbihlLHQpe3ZhciBuPXQuY2xvc2VzdCgiLnRvb2wtdXNlLWNhcmQiKXx8dC5jbG9zZXN0KCIuaW5saW5lLWRpZmYiKTtpZihuKXt2YXIgaT1uLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7bi5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiKTt2YXIgYT1pO3Quc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixhPyJ0cnVlIjoiZmFsc2UiKTt2YXIgdT1uLnF1ZXJ5U2VsZWN0b3IoIi50b29sLXVzZS1ib2R5LCAuZGlmZi1ib2R5Iik7dSYmdS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIixhPyJmYWxzZSI6InRydWUiKTt2YXIgbz1uLmRhdGFzZXQuZXhwYW5kS2luZHx8InRvb2wtY2FyZCI7aWYoJG4obixvKSxpKXt2YXIgcz1uLnF1ZXJ5U2VsZWN0b3IoIi50b29sLXVzZS1yZXN1bHQiKTtZYShuLHMsZnVuY3Rpb24obCl7cyYmKHMuaW5uZXJIVE1MPSc8cHJlIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtY29udGVudCI+JytwKGwpKyI8L3ByZT4iKX0sYDxkaXYgY2xhc3M9InRvb2wtY29udGVudC1lcnJvciIgb25jbGljaz0iX190Y1RvZ2dsZShudWxsLCB0aGlzLmNsb3Nlc3QoJy50b29sLXVzZS1jYXJkLC5pbmxpbmUtZGlmZicpLnF1ZXJ5U2VsZWN0b3IoJy50b29sLXVzZS1oZWFkZXIsLmRpZmYtaGVhZGVyJykpIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj5gKX19ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0sd2luZG93Ll9fdGhpbmtpbmdUb2dnbGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2lmKHQpe2UuY2xhc3NMaXN0LnJlbW92ZSgiY29sbGFwc2VkIiksZS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1wcmV2aWV3IikudGV4dENvbnRlbnQ9ZS5kYXRhc2V0LnRoaW5raW5nfHwiIjt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtYWN0aW9uIik7biYmKG4udGV4dENvbnRlbnQ9Ilx1NjUzNlx1OEQ3NyIpfWVsc2V7ZS5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpLGUuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIik7dmFyIGk9KGUuZGF0YXNldC50aGlua2luZ3x8IiIpLnNsaWNlKDAsNTcpKygoZS5kYXRhc2V0LnRoaW5raW5nfHwiIikubGVuZ3RoPjYwPyJcdTIwMjYiOiIiKTtlLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpLnRleHRDb250ZW50PWk7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO24mJihuLnRleHRDb250ZW50PSJcdTVDNTVcdTVGMDAiKX0kbihlLCJ0aGlua2luZyIpfSx3aW5kb3cuX19zdWJhZ2VudFJlcGx5VG9nZ2xlPWZ1bmN0aW9uKGUsdCl7ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKTt2YXIgbj10JiZ0LmNsb3Nlc3Q/dC5jbG9zZXN0KCIuc3ViYWdlbnQtcmVwbHkiKTpudWxsO2lmKG4pe3ZhciBpPW4uZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7eW8obiwic3ViYWdlbnQtcmVwbHkiLCFpKSwkbihuLCJzdWJhZ2VudC1yZXBseSIpfX0sd2luZG93Ll9fc3ViYWdlbnRQYW5lbFRvZ2dsZT1mdW5jdGlvbihlLHQpe2UmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSk7dmFyIG49dCYmdC5jbG9zZXN0P3QuY2xvc2VzdCgiLnN1YmFnZW50LXBhbmVsIik6bnVsbDtuJiZuLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsInRydWUiKX07ZnVuY3Rpb24gZXAoZSl7aWYoZSlmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCcuc3ViYWdlbnQtcGFuZWxbZGF0YS1mb2xsb3ctdGFpbD0idHJ1ZSJdJyksbj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10W25dLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1wYW5lbC1ib2R5Iik7aSYmKGkuc2Nyb2xsVG9wPWkuc2Nyb2xsSGVpZ2h0KX19d2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3PWZ1bmN0aW9uKGUpe2UmJmhpKGUpfSx3aW5kb3cuX19pbmxpbmVUb29sVG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0LnRvZ2dsZSgiaW5saW5lLXRvb2wtb3BlbiIpLG49ZS5xdWVyeVNlbGVjdG9yKCIuaW5saW5lLXRvb2wtZXhwYW5kZWQiKTtuJiYobi5zdHlsZS5kaXNwbGF5PXQ/ImJsb2NrIjoibm9uZSIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLXN0YXR1cyIpO2kmJihlLmRhdGFzZXQuc3RhdHVzPT09ImVycm9yIj9pLnRleHRDb250ZW50PSJcdTI3MTciOmUuZGF0YXNldC5zdGF0dXM9PT0iZG9uZSImJihpLnRleHRDb250ZW50PSJcdTI3MTMiKSksdCYmWWEoZSxuLGZ1bmN0aW9uKGEpe2UuZGF0YXNldC5yZXN1bHQ9YSxuJiYobi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdCI+JytQbChhLCIiKSsiPC9kaXY+Iil9KSwkbihlLCJpbmxpbmUtdG9vbCIpfSx3aW5kb3cuX190ZXJtaW5hbEV4cGFuZD1mdW5jdGlvbihlKXt2YXIgdD1lLmNsb3Nlc3QoIi5pbmxpbmUtdGVybWluYWwiKTtpZih0KXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtpZihuKXt2YXIgaT1uLnN0eWxlLmRpc3BsYXk9PT0ibm9uZSI7bi5zdHlsZS5kaXNwbGF5PWk/ImJsb2NrIjoibm9uZSIsdC5kYXRhc2V0LmV4cGFuZGVkPWk/InRydWUiOiJmYWxzZSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGk/InRydWUiOiJmYWxzZSIpLG4uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsaT8iZmFsc2UiOiJ0cnVlIik7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS10b2dnbGUtaWNvbiIpO2lmKGEmJihhLnRleHRDb250ZW50PWk/Ilx1MjVCQyI6Ilx1MjVCNiIpLCRuKHQsInRlcm1pbmFsIiksaSl7dmFyIHU9bi5xdWVyeVNlbGVjdG9yKCIudGVybS1vdXRwdXQiKTtZYSh0LHUsZnVuY3Rpb24obyl7aWYodSl7Zm9yKHZhciBzPW8uc3BsaXQoYApgKSxsPSIiLGQ9MDtkPHMubGVuZ3RoO2QrKykhc1tkXSYmZD09PXMubGVuZ3RoLTF8fChsKz0nPGRpdiBjbGFzcz0idGVybS1saW5lIj4nK3Aoc1tkXSkrIjwvZGl2PiIpO3UuaW5uZXJIVE1MPWx9fSl9fX19O2Z1bmN0aW9uIEJoKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmciKTtpZih0KXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmctdGV4dCIpO2lmKG4pe3ZhciBpPWUuc3BsaXQoYApgKSxhPWkuc2xpY2UoLTMpO24udGV4dENvbnRlbnQ9YS5qb2luKGAKYCksbi5zY3JvbGxUb3A9bi5zY3JvbGxIZWlnaHR9fX13aW5kb3cuX19hc2tTZWxlY3Q9ZnVuY3Rpb24oZSx0LG4saSl7dmFyIGE9ci5hc2tVc2VyU2VsZWN0aW9uc1tlXTtpZihhfHwoYT17c3VibWl0dGVkOiExfSxyLmFza1VzZXJTZWxlY3Rpb25zW2VdPWEpLCFhLnN1Ym1pdHRlZCl7dmFyIHU9YVt0XXx8W107aWYoaSl7dmFyIG89dS5pbmRleE9mKG4pO289PT0tMT91LnB1c2gobik6dS5zcGxpY2UobywxKX1lbHNlIHU9dVswXT09PW4/W106W25dO2FbdF09dSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9fSx3aW5kb3cuX19hc2tSZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZih0KXt2YXIgbj1yLmFza1VzZXJTZWxlY3Rpb25zW2VdfHx7fTt0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1vcHRpb24iKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBzPXBhcnNlSW50KG8uZGF0YXNldC5xdWVzdGlvbkluZGV4LDEwKSxsPXBhcnNlSW50KG8uZGF0YXNldC5vcHRpb25JbmRleCwxMCksZD0obltzXXx8W10pLmluZGV4T2YobCkhPT0tMTtvLmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIixkKX0pO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmFzay11c2VyLXN1Ym1pdCIpO2lmKGkpe3ZhciBhPXQucXVlcnlTZWxlY3RvckFsbCgiLmFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiksdT0hMDthLmZvckVhY2goZnVuY3Rpb24obyxzKXsoIW5bc118fG5bc10ubGVuZ3RoPT09MCkmJih1PSExKX0pLGkuZGlzYWJsZWQ9IXV8fCEhbi5zdWJtaXR0ZWQsbi5zdWJtaXR0ZWQmJihpLnRleHRDb250ZW50PSJcdTVERjJcdTYzRDBcdTRFQTQuLi4iLGkuY2xhc3NMaXN0LmFkZCgiYXNrLXVzZXItc3VibWl0dGVkIikpfX19LHdpbmRvdy5fX2Fza1N1Ym1pdD1mdW5jdGlvbihlKXt2YXIgdD1yLmFza1VzZXJTZWxlY3Rpb25zW2VdO2lmKCEoIXR8fHQuc3VibWl0dGVkfHwhci5zZWxlY3RlZElkKSl7dmFyIG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZihuKXt2YXIgaT1uLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1xdWVzdGlvbi1ncm91cCIpLGE9W10sdT0hMDtpZihpLmZvckVhY2goZnVuY3Rpb24ocyxsKXt2YXIgZD10W2xdfHxbXTtpZihkLmxlbmd0aD09PTApe3U9ITE7cmV0dXJufXZhciBmPVtdO2QuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgdj1zLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW9wdGlvbi1pbmRleD0iJytjKyciXScpO3YmJmYucHVzaCh2LmRhdGFzZXQub3B0aW9uTGFiZWwpfSksYS5wdXNoKGYuam9pbigiLCAiKSl9KSwhIXUpe3Quc3VibWl0dGVkPSEwLHdpbmRvdy5fX2Fza1JlbmRlcihlKTt2YXIgbz1hLmpvaW4oYApgKTtmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3Iuc2VsZWN0ZWRJZCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6bytgCmAsdmlldzpyLmN1cnJlbnRWaWV3fSl9KS5jYXRjaChmdW5jdGlvbihzKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gRXJyb3Igc2VuZGluZyBhbnN3ZXI6IixzKSx0LnN1Ym1pdHRlZD0hMSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9KX19fX07ZnVuY3Rpb24gdHAoKXtpZighci5fX2dsb2JhbExpc3RlbmVyc0JvdW5kKXtyLl9fZ2xvYmFsTGlzdGVuZXJzQm91bmQ9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItb3ZlcmZsb3ctbWVudSIpO3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBuPXQudGFyZ2V0O2lmKCEoIW58fHR5cGVvZiBuLmNsb3Nlc3QhPSJmdW5jdGlvbiIpKXt2YXIgaT1uLmNsb3Nlc3QoIiNjaGVjay11cGRhdGUtYnV0dG9uLCAjZG8tdXBkYXRlLWJ1dHRvbiwgI2RvLXJlc3RhcnQtYnV0dG9uLCAjY2hlY2stcHJvdmlkZXItY2xpLXVwZGF0ZXMsICN1cGRhdGUtcHJvdmlkZXItY2xpcyIpOyFpfHxpLmRpc2FibGVkfHwodC5wcmV2ZW50RGVmYXVsdCgpLGkuaWQ9PT0iY2hlY2stdXBkYXRlLWJ1dHRvbiI/bWQoKTppLmlkPT09ImRvLXVwZGF0ZS1idXR0b24iP09nKCk6aS5pZD09PSJjaGVjay1wcm92aWRlci1jbGktdXBkYXRlcyI/aGQoITApOmkuaWQ9PT0idXBkYXRlLXByb3ZpZGVyLWNsaXMiP01nKCk6UGcoKSl9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1vdmVyZmxvdy1tZW51Iik7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9KTt2YXIgZT1mdW5jdGlvbigpe3IudG9wYmFyTW9yZU9wZW49ITE7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLW1lbnUiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKTt0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLG4mJihuLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLG4uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihyLnRvcGJhck1vcmVPcGVuKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpLGk9biYmbi5wYXJlbnRFbGVtZW50O2kmJiFpLmNvbnRhaW5zKHQudGFyZ2V0KSYmZSgpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpe3Qua2V5PT09IkVzY2FwZSImJnIudG9wYmFyTW9yZU9wZW4mJmUoKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihyLnBsdXNQb3BvdmVyT3Blbil7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtuJiZuLmNvbnRhaW5zKHQudGFyZ2V0KXx8aSYmaS5jb250YWlucyh0LnRhcmdldCl8fHNhKCl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmci5wbHVzUG9wb3Zlck9wZW4mJnNhKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIG49dC50YXJnZXQ7aWYoISghbnx8dHlwZW9mIG4uY2xvc2VzdCE9ImZ1bmN0aW9uIikpe3ZhciBpPW4uY2xvc2VzdCgiI2F1dG8tYXBwcm92ZS10b2dnbGUiKTtpJiYodC5wcmV2ZW50RGVmYXVsdCgpLGRmKCkpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZighdC50YXJnZXQuY2xvc2VzdCgiLmZvbGRlci1waWNrZXItY29udGFpbmVyIikpe3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWRyb3Bkb3duIik7biYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKHQpe3ZhciBuPXQudGFyZ2V0O2lmKCEoIW58fG4ubm9kZVR5cGUhPT0xKSYmISh0eXBlb2Ygbi5tYXRjaGVzIT0iZnVuY3Rpb24ifHwhbi5tYXRjaGVzKCJbZGF0YS1tb2RlLWNvbnRyb2xdIikpKXt2YXIgaT1uLmdldEF0dHJpYnV0ZSgiZGF0YS1tb2RlLWNvbnRyb2wiKSxhPW4udmFsdWU7aT09PSJtb2RlIj9yZyhhKTppPT09Im1vZGVsIj9uZyhhKTppPT09InRoaW5raW5nIiYmWG0oYSksbi5jbG9zZXN0JiZuLmNsb3Nlc3QoIiNjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSYmc2EoKX19KX19ZnVuY3Rpb24gbnAoKXt0cCgpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKTtpZihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixJdSk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWZvcm0iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpLEl1KCl9KTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iKTtuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfbCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9nZ2xlLXBhc3N3b3JkLWJ1dHRvbiIpO2EmJmkmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGI9aS50eXBlPT09InRleHQiO2kudHlwZT1iPyJwYXNzd29yZCI6InRleHQiLGEudGV4dENvbnRlbnQ9Yj8iXHU2NjNFXHU3OTNBIjoiXHU5NjkwXHU4NUNGIixhLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsYj8iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIjoiXHU5NjkwXHU4NUNGXHU1QkM2XHU3ODAxIiksYS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsYj8iZmFsc2UiOiJ0cnVlIiksaS5mb2N1cygpfSksaSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7Yi5rZXk9PT0iRW50ZXIiJiZJdSgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtpLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixpLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tZXJyb3IiKTtiJiZUaShiKX0pLGkuZm9jdXMoKSk7cmV0dXJufXZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7dSYmKHUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7Yi5rZXk9PT0iRW50ZXIiJiYhYi5zaGlmdEtleSYmKGIucHJldmVudERlZmF1bHQoKSxWcygpKX0pLHUuZm9jdXMoKSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtc2VuZC1idG4iKTtvJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1ZzKCl9KTt2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLWNsYXVkZSIpO3MmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7S3UoKX0pO3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLXRvb2wtY29kZXgiKTtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3Iuc2Vzc2lvblRvb2w9ImNvZGV4IixyLnByZWZlcnJlZENvbW1hbmQ9ImNvZGV4IixyLm1vZGVWYWx1ZT0iZnVsbC1hY2Nlc3MiLEt1KCl9KTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLW9wZW5jb2RlIik7ZCYmZC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtyLnNlc3Npb25Ub29sPSJvcGVuY29kZSIsci5wcmVmZXJyZWRDb21tYW5kPSJvcGVuY29kZSIsci5tb2RlVmFsdWU9Im1hbmFnZWQiLEt1KCl9KTt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLXN0cnVjdHVyZWQiKTtmJiZmLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2xkKCkudGhlbihmdW5jdGlvbigpe0h0KCEwKX0pLmNhdGNoKGZ1bmN0aW9uKGIpe3goYiYmYi5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfSksVmcoKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpO2MmJihjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixPZiksYy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixQZiksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHZnKSxjLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixtZyksTXYoYykpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHJuLCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixybik7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNhcmRzIik7diYmdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQuY2xvc2VzdCgiLnByb3ZpZGVyLWNhcmQiKTtpZighKCFBfHxBLmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSkpe3ZhciB6PUEuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7eiYmKHIuc2Vzc2lvblRvb2w9eixyLnByZWZlcnJlZENvbW1hbmQ9eixmcigpLGRhKHtkZWZhdWx0UHJvdmlkZXI6eixkZWZhdWx0TW9kZTpyLm1vZGVWYWx1ZX0pKX19KTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWNhcmRzIik7aCYmaC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQuY2xvc2VzdCgiLnNlc3Npb24ta2luZC1jYXJkIik7aWYoISghQXx8QS5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXt2YXIgej1BLmdldEF0dHJpYnV0ZSgiZGF0YS1zZXNzaW9uLWtpbmQiKTt6JiYoci5zZXNzaW9uQ3JlYXRlS2luZD16LGZyKCksZGEoe2RlZmF1bHRTZXNzaW9uS2luZDp6fSkpfX0pO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWNhcmRzIik7bSYmbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQuY2xvc2VzdCgiLm1vZGUtY2FyZCIpO2lmKEEpe3ZhciB6PUEuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKTt6JiYoci5tb2RlVmFsdWU9eixmcigpLGRhKHtkZWZhdWx0TW9kZTpyLm1vZGVWYWx1ZX0pKX19KTt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiKTtnJiZnLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtyLnNlc3Npb25DcmVhdGVXb3JrdHJlZT1nLmNoZWNrZWR9KTt2YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7eSYmKHkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci5jd2RWYWx1ZT15LnZhbHVlfSkseS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5jd2RWYWx1ZT15LnZhbHVlfSkseS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsd2QpLHkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHdkKSx5LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKCl7c2V0VGltZW91dChnciwxMjApfSkpO3ZhciBCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy10b2dnbGUtYnV0dG9uIik7QiYmQi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsc2cpO3ZhciBFPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiKTtFJiZFLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuaSk7dmFyIEM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLWRyYXdlci1idXR0b24iKTtDJiZDLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuaSk7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7RCYmRC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZ2cpO3ZhciBGPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXBpbi1idG4iKTtGJiZGLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoZyk7dmFyIEw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItbW9yZS1idG4iKSxTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW92ZXJmbG93LW1lbnUiKTtMJiZTJiZMLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBBPSFTLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO1MuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsQSksQSYmYmcoUyl9KTt2YXIgTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1ob21lLWJ0biIpO04mJk4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5zZWxlY3RlZElkPW51bGwsRWUoKSxEdCgpLGp0KCksWnQoKX0pO3ZhciBKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXJlZnJlc2gtYnRuIik7SiYmSi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9KTt2YXIgVz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nb3V0LWJ1dHRvbiIpO1cmJlcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE5sKTt2YXIgaz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3dpdGNoLXNlcnZlci1idXR0b24iKTtrJiZrLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfbCk7dmFyIEk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhY2stdG8tbmF0aXZlLWJ1dHRvbiIpO0kmJkkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHptKTt2YXIgVD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYnV0dG9uIik7VCYmVC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsd2cpO3ZhciBZPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9zZS1zZXR0aW5ncy1idXR0b24iKTtZJiZZLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix2cik7dmFyIGo9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLW1vZGFsIik7aiYmai5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7Yi50YXJnZXQuaWQ9PT0ic2V0dGluZ3MtbW9kYWwiJiZ2cigpfSk7dmFyIEc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNhdmUtcGFzc3dvcmQtYnV0dG9uIik7RyYmRy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsQmcpO2Zvcih2YXIgTT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIiksdGU9MDt0ZTxNLmxlbmd0aDt0ZSsrKU1bdGVdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXt2YXIgQT1iLmN1cnJlbnRUYXJnZXR8fHRoaXMsej1BJiZBLmdldEF0dHJpYnV0ZT9BLmdldEF0dHJpYnV0ZSgiZGF0YS10YWIiKTpudWxsO3omJlV1KHopfSk7dmFyIG5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLWNvbmZpZy1idXR0b24iKTtuZSYmbmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLElnKSx0ZygpO3ZhciBPPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbC1yZWZyZXNoIik7TyYmTy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbmQpO3ZhciBQPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY29tbWl0LW1vZGVsLXJlZnJlc2giKTtQJiZQLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuZCk7dmFyIF89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtY2xpIik7XyYmXy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7YWEoITApfSk7dmFyIFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy12aWV3LWVudi1idG4iKTtRJiZRLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlZyk7dmFyICQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNhdmUtZGlzcGxheS1idXR0b24iKTskJiYkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixUZyk7dmFyIGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAtaWNvbi1waWNrZXIiKTtpZihpZSlmb3IodmFyIGdlPWllLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24iKSxhZT0wO2FlPGdlLmxlbmd0aDthZSsrKWdlW2FlXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYj10aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1pY29uIik7aWYoISghYnx8dHlwZW9mIFdhbmROYXRpdmU+InUifHx0eXBlb2YgV2FuZE5hdGl2ZS5zZXRBcHBJY29uIT0iZnVuY3Rpb24iKSl0cnl7V2FuZE5hdGl2ZS5zZXRBcHBJY29uKGIpLHlkKGIpO3ZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAtaWNvbi1tZXNzYWdlIik7QSYmKEEudGV4dENvbnRlbnQ9Ilx1NTZGRVx1NjgwN1x1NURGMlx1NTIwN1x1NjM2Mlx1RkYwQ1x1OEZENFx1NTZERVx1Njg0Q1x1OTc2Mlx1NTQwRVx1NzUxRlx1NjU0OCIsQS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLEEuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksc2V0VGltZW91dChmdW5jdGlvbigpe0EuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9LDNlMykpfWNhdGNoe319KTt2YXIgdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwbG9hZC1jZXJ0LWJ1dHRvbiIpO3VlJiZ1ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTGcpO2Zvcih2YXIgemU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtcGlja2VyLWlucHV0IiksVGU9MDtUZTx6ZS5sZW5ndGg7VGUrKykoZnVuY3Rpb24oYil7Yi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIEE9Yi5jbG9zZXN0KCIuZmlsZS1waWNrZXIiKTtpZihBKXt2YXIgej1BLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXBpY2tlci1uYW1lIik7eiYmKGIuZmlsZXMmJmIuZmlsZXNbMF0/KHoudGV4dENvbnRlbnQ9Yi5maWxlc1swXS5uYW1lLEEuY2xhc3NMaXN0LmFkZCgiZmlsZS1waWNrZXItaGFzLWZpbGUiKSk6KHoudGV4dENvbnRlbnQ9ei5nZXRBdHRyaWJ1dGUoImRhdGEtZGVmYXVsdCIpfHwiXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2IixBLmNsYXNzTGlzdC5yZW1vdmUoImZpbGUtcGlja2VyLWhhcy1maWxlIikpKX19KX0pKHplW1RlXSk7dmFyIEZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7RmUmJkZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtmYSgid2ViIixGZS5jaGVja2VkKX0pO3ZhciBMZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO0xlJiZMZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ZmEoImFwayIsTGUuY2hlY2tlZCl9KTt2YXIgYXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiKTthdCYmYXQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe2ZhKCJkbWciLGF0LmNoZWNrZWQpfSk7dmFyIERlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIik7RGUmJkRlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtmYSgiY2xpIixEZS5jaGVja2VkKX0pO3ZhciBYPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZXRhLWNoYW5uZWwtdG9nZ2xlIik7WCYmWC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7X2coWC5jaGVja2VkPyJiZXRhIjoic3RhYmxlIil9KTt2YXIgaGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHktY29ubmVjdC1jb2RlLWJ1dHRvbiIpO2hlJiZoZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LWNvZGUiKTtiJiZhaShiLnRleHRDb250ZW50LGhlKX0pO3ZhciBmZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXNvdW5kIik7ZmUmJihmZS5jaGVja2VkPXIubm90aWZTb3VuZCxmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5ub3RpZlNvdW5kPWZlLmNoZWNrZWQ7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLW5vdGlmLXNvdW5kIixTdHJpbmcoci5ub3RpZlNvdW5kKSl9Y2F0Y2h7fXIubm90aWZTb3VuZCYmT2koKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWYtdm9sdW1lLWZpZWxkIik7YiYmKGIuc3R5bGUuZGlzcGxheT1yLm5vdGlmU291bmQ/IiI6Im5vbmUiKX0pKTt2YXIgb2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUiKSxxPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbm90aWYtdm9sdW1lLXZhbCIpLHllPWZ1bmN0aW9uKGIpe2lmKGIpe3ZhciBBPU51bWJlcihiLm1pbnx8MCksej1OdW1iZXIoYi5tYXh8fDEwMCksYmU9TnVtYmVyKGIudmFsdWV8fDApLEZ0PXo+QT9NYXRoLm1heCgwLE1hdGgubWluKDEwMCwoYmUtQSkvKHotQSkqMTAwKSk6MDtiLnN0eWxlLnNldFByb3BlcnR5KCItLXJhbmdlLWZpbGwiLEZ0KyIlIil9fTtpZihvZSl7b2UudmFsdWU9U3RyaW5nKHIubm90aWZWb2x1bWUpLHEmJihxLnRleHRDb250ZW50PXIubm90aWZWb2x1bWUrIiUiKSx5ZShvZSk7dmFyIHB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZi12b2x1bWUtZmllbGQiKTtwdCYmKHB0LnN0eWxlLmRpc3BsYXk9ci5ub3RpZlNvdW5kPyIiOiJub25lIik7dmFyIHp0PW51bGw7b2UuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci5ub3RpZlZvbHVtZT1wYXJzZUludChvZS52YWx1ZSwxMCkscSYmKHEudGV4dENvbnRlbnQ9ci5ub3RpZlZvbHVtZSsiJSIpLHllKG9lKTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIixTdHJpbmcoci5ub3RpZlZvbHVtZSkpfWNhdGNoe31pZihqZSYmdHlwZW9mIFdhbmROYXRpdmUuc2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblZvbHVtZShyLm5vdGlmVm9sdW1lKX1jYXRjaHt9fSksb2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe09pKCl9KX12YXIgVWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtVZSYmKFVlLmNoZWNrZWQ9ci5ub3RpZkJ1YmJsZSxVZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5ub3RpZkJ1YmJsZT1VZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiLFN0cmluZyhyLm5vdGlmQnViYmxlKSl9Y2F0Y2h7fX0pKTt2YXIgdXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpO3V0JiZ1dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtpZihqZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24oKXtTbigpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9fWVsc2UgdHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24oKXtTbigpfSl9KTt2YXIgVnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKTtWdCYmVnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE5nKTt2YXIgeHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWJ0biIpO3h0JiZ4dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRWQpO3ZhciB0dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIik7aWYodHQmJnR0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixqZyksU24oKSxqZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzPT0iZnVuY3Rpb24iKXt2YXIgTWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWN0aW9uIiksUGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKSxDZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLXNvdW5kLXByZXZpZXciKTtpZihNZSYmUGUpe01lLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXt2YXIgdz1KU09OLnBhcnNlKFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzKCkpLFN0PVdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uU291bmQoKTtQZS5pbm5lckhUTUw9IiI7Zm9yKHZhciBxZT0wO3FlPHcubGVuZ3RoO3FlKyspe3ZhciBudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTtudC52YWx1ZT13W3FlXS5pZCxudC50ZXh0Q29udGVudD13W3FlXS5uYW1lLHdbcWVdLmlkPT09U3QmJihudC5zZWxlY3RlZD0hMCksUGUuYXBwZW5kQ2hpbGQobnQpfVBlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5zZXROb3RpZmljYXRpb25Tb3VuZChQZS52YWx1ZSl9Y2F0Y2h7fX0pLENlJiZDZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5wcmV2aWV3U291bmQoUGUudmFsdWUpfWNhdGNoe319KX1jYXRjaHt9fX1pZihqZSYmdHlwZW9mIFdhbmROYXRpdmUuaXNIYXB0aWNFbmFibGVkPT0iZnVuY3Rpb24iKXt2YXIgYW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1oYXB0aWMtc2VjdGlvbiIpLHJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaGFwdGljLWVuYWJsZWQiKTtpZihhbiYmcmUpe2FuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXtyZS5jaGVja2VkPVdhbmROYXRpdmUuaXNIYXB0aWNFbmFibGVkKCl9Y2F0Y2h7fXJlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5zZXRIYXB0aWNFbmFibGVkKHJlLmNoZWNrZWQpfWNhdGNoe31yZS5jaGVja2VkJiZvcigibWVkaXVtIil9KX19dmFyIFV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbmV3LXNlc3Npb24tYnV0dG9uIik7VXQmJlV0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix6dSk7dmFyIEt0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcmF3ZXItbmV3LXNlc3Npb24tYnV0dG9uIik7S3QmJkt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix6dSk7dmFyIFNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9zZS1tb2RhbC1idXR0b24iKTtTZSYmU2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEFuKTt2YXIgcnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLXdvcmt0cmVlLW1lcmdlLWJ1dHRvbiIpO3J0JiZydC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscHIpO3ZhciBWZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY2FuY2VsLWJ1dHRvbiIpO1ZlJiZWZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscHIpO3ZhciBKdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY29uZmlybS1idXR0b24iKTtKdCYmSnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLENnKTt2YXIgdW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJ1bi1idXR0b24iKTt1biYmdW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFJnKTt2YXIgb249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKTtvbiYmb24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNmKTt2YXIgSW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlbnktcGVybWlzc2lvbi1idG4iKTtJbiYmSW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGxmKTt2YXIgSXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbmQtaW5wdXQtYnV0dG9uIik7SXQmJkl0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2p0KCksTnAoKX0pO3ZhciBzbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtzbiYmc24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1KTt2YXIgS2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtLZSYmS2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2IudGFyZ2V0LmlkPT09InNlc3Npb24tbW9kYWwiJiZBbigpLGIudGFyZ2V0LmlkPT09Indvcmt0cmVlLW1lcmdlLW1vZGFsIiYmcHIoKX0pO3ZhciBsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7bGUmJihmbChsZSksbGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsWWcpLGxlLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixyaCksbGUuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci50ZXJtaW5hbENvbXBvc2luZ3x8QmQobGUpfHwoS3YobGUpLGV0KGxlLnZhbHVlLCEwKSxwYShsZSkpfSksbGUuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsZnVuY3Rpb24oKXtyLnRlcm1pbmFsSW50ZXJhY3RpdmUmJihyLnRlcm1pbmFsQ29tcG9zaW5nPSEwKX0pLGxlLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIixmdW5jdGlvbigpe3IudGVybWluYWxDb21wb3NpbmcmJihyLnRlcm1pbmFsQ29tcG9zaW5nPSExLHIudGVybWluYWxJbnRlcmFjdGl2ZSYmQmQobGUpKX0pLGxlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe2p0KCksTnYoe3RhcmdldDpsZX0pfSksbGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsanYpKTt2YXIgbG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKSxIZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS11cGxvYWQtaW5wdXQiKSxkbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcG9zZXItcGx1cy1wb3BvdmVyIiksY249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsdXMtYXR0YWNoLWl0ZW0iKTtsbiYmZG4mJmxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnN0b3BQcm9wYWdhdGlvbigpLGRnKCl9KSxjbiYmSGUmJmNuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NhKCksSGUuY2xpY2soKX0pLEhlJiZIZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGI9SGUuZmlsZXM7aWYoYilmb3IodmFyIEE9MDtBPGIubGVuZ3RoO0ErKylKdShiW0FdKTtIZS52YWx1ZT0iIn0pO3ZhciBHdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtYnRuIik7R3QmJkd0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3J1KCl9KTt2YXIgZm49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLWNhbmNlbC1idG4iKTtmbiYmZm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cnUoITEpfSk7dmFyIG90PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIik7b3QmJihvdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSXApLG90LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixUcCksb3QuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixOcyksb3QuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsTnMpKTt2YXIgVHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb21wdC1vcHRpbWl6ZS1idG4iKTtUdCYmVHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7YWgoKX0pO3ZhciB2dD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTt2dCYmKHZ0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSx2dC5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLHZ0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksdnQuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSx2dC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSx2dC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTt2YXIgQT1iLmRhdGFUcmFuc2ZlciYmYi5kYXRhVHJhbnNmZXIuZmlsZXM7aWYoQSlmb3IodmFyIHo9MDt6PEEubGVuZ3RoO3orKylKdShBW3pdKX0pKTt2YXIgVT1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTtVLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYik7QSYmQS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsd3YpfSk7dmFyIFI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpO1ImJlIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG1pKTt2YXIgWj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zaWRlLXBhbmVsLWNsb3NlIik7WiYmWi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRW8pO3ZhciBkZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC1iYWNrZHJvcCIpO2RlJiZkZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRW8pO3ZhciBLPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZmlsZS1idXR0b24iKTtLJiZLLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixtaSk7dmFyIHZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItY3dkIik7dmUmJih2ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtyLmZpbGVQYW5lbE9wZW58fG1pKCl9KSx2ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihiKXsoYi5rZXk9PT0iRW50ZXIifHxiLmtleT09PSIgIikmJihiLnByZXZlbnREZWZhdWx0KCksci5maWxlUGFuZWxPcGVufHxtaSgpKX0pKTt2YXIgbWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLWJ1dHRvbiIpLHN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1tZW51Iik7bWUmJnN0JiYobWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2Iuc3RvcFByb3BhZ2F0aW9uKCksci50b3BiYXJNb3JlT3Blbj0hci50b3BiYXJNb3JlT3BlbixzdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFyLnRvcGJhck1vcmVPcGVuKSxtZS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHIudG9wYmFyTW9yZU9wZW4pLG1lLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsci50b3BiYXJNb3JlT3Blbj8idHJ1ZSI6ImZhbHNlIil9KSxzdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQmJmIudGFyZ2V0LmNsb3Nlc3Q/Yi50YXJnZXQuY2xvc2VzdCgiLnRvcGJhci1tb3JlLWl0ZW0iKTpudWxsO2lmKEEpe3ZhciB6PUEuZ2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIpO3N3aXRjaChyLnRvcGJhck1vcmVPcGVuPSExLHN0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLG1lLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLG1lLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIikseil7Y2FzZSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIjp2YXIgYmU9cXQoKSYmcXQoKS5wcm92aWRlcjtWYSgiY2xhdWRlU2Vzc2lvbklkIixiZT09PSJjb2RleCI/IkNvZGV4IHRocmVhZCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOmJlPT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgc2Vzc2lvbiBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2UiY29weS1jd2QiOlZhKCJjd2QiLCJcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTVERjJcdTU5MERcdTUyMzYiKTticmVhaztjYXNlImNvcHktc2Vzc2lvbi1pZCI6VmEoImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2Uid29ya3RyZWUtbWVyZ2UiOnIuc2VsZWN0ZWRJZCYmY2Qoci5zZWxlY3RlZElkKTticmVhaztjYXNlIndvcmt0cmVlLWNsZWFudXAiOnIuc2VsZWN0ZWRJZCYmZmQoci5zZWxlY3RlZElkKTticmVhaztjYXNlImRlbGV0ZS1zZXNzaW9uIjpyLnNlbGVjdGVkSWQmJihmdW5jdGlvbihGdCl7am4oIlx1Nzg2RVx1NUI5QVx1ODk4MVx1NTIyMFx1OTY2NFx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbihodCl7aHQmJnB1KEZ0KX0pfSkoci5zZWxlY3RlZElkKTticmVha319fSkpO3ZhciBtdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtZG93bi10b3AiKSxfZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtdXAtdG9wIik7bXQmJm10LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0ZvKC0uMjUpfSksX2UmJl9lLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0ZvKC4yNSl9KTt2YXIgSmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2UtcmVmcmVzaC1idG4iKTtKZSYmSmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2lmKGImJmIuc2hpZnRLZXkpe2xvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1SbigpLER0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxodSghMCl9KTt2YXIgVG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIik7VG4mJlRuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3l0KCJmb3JjZSIpfSk7dmFyIExuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtMbiYmTG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7b28oITApfSk7dmFyIGd0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLXJlZnJlc2giKTtndCYmZ3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7TXQoKX0pO3ZhciB5cj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci11cCIpO3lyJiZ5ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsb2MpO3ZhciBrZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTtpZihrZSYma2UudGFnTmFtZT09PSJJTlBVVCIpe3ZhciBNbj1rZS52YWx1ZSxZbj1mdW5jdGlvbihiKXt2YXIgQT0oYnx8IiIpLnRyaW0oKTtyZXR1cm4gQT8oQT1BLnJlcGxhY2UoL1wvezIsfS9nLCIvIiksQS5sZW5ndGg+MSYmKEE9QS5yZXBsYWNlKC9cLyskLywiIikpLEEpOiIifTtrZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXtNbj1rZS52YWx1ZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e2tlLnNlbGVjdCgpfWNhdGNoe319LDApfSksa2UuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7aWYoYi5rZXk9PT0iRW50ZXIiKXtiLnByZXZlbnREZWZhdWx0KCk7dmFyIEE9WW4oa2UudmFsdWUpO2lmKCFBKXJldHVybjtNbj1BLGtlLnZhbHVlPUEsTXQoe2N3ZDpBfSksa2UuYmx1cigpfWVsc2UgYi5rZXk9PT0iRXNjYXBlIiYmKGIucHJldmVudERlZmF1bHQoKSxrZS52YWx1ZT1NbixrZS5ibHVyKCkpfSksa2UuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZnVuY3Rpb24oKXt2YXIgYj1ZbihrZS52YWx1ZSk7aWYoIWIpe2tlLnZhbHVlPU1uO3JldHVybn1pZihiPT09TW4pe2tlLnZhbHVlPWI7cmV0dXJufU1uPWIsa2UudmFsdWU9YixNdCh7Y3dkOmJ9KX0pfXZhciBwbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtaW5wdXQiKSxRbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtY2xlYXIiKTtwbiYmcG4uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKGIpe3IuZmlsZVNlYXJjaFF1ZXJ5PWIudGFyZ2V0LnZhbHVlLnRyaW0oKSxRbiYmUW4uY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsci5maWxlU2VhcmNoUXVlcnkubGVuZ3RoPjApLERvKCl9KSxRbiYmUW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5maWxlU2VhcmNoUXVlcnk9IiIscG4mJihwbi52YWx1ZT0iIiksUW4uY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSk7dmFyIGNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0IiksQWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKSxzaT1udWxsLFl0PS0xLE9uPVtdO2Z1bmN0aW9uIERkKGIpe2NlJiZjZS5jbGFzc0xpc3QuYWRkKCJpbnZhbGlkIik7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIpO0EmJihBLnRleHRDb250ZW50PWIsQS5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGtkKCl7Y2UmJmNlLmNsYXNzTGlzdC5yZW1vdmUoImludmFsaWQiKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIik7YiYmKGIudGV4dENvbnRlbnQ9IiIsYi5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGRoKGIpe2lmKCFiLmxlbmd0aClyZXR1cm4iIjt2YXIgQT0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJmb2xkZXItcmVjZW50LXRpdGxlIj5cdTY3MDBcdThGRDFcdTRGN0ZcdTc1Mjg8L2Rpdj4nO3JldHVybiBiLmZvckVhY2goZnVuY3Rpb24oeil7dmFyIGJlPXoucGF0aHx8ejtBKz0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1pdGVtIiBkYXRhLXBhdGg9IicrcChiZSkrJyI+JytFdChiZSwiZm9sZGVyLXJlY2VudC1pdGVtLXBhdGgiKSsiPC9kaXY+In0pLEErPSI8L2Rpdj4iLEF9ZnVuY3Rpb24gY2goKXtBZSYmV2EoZnVuY3Rpb24oYil7dmFyIEE9ZGgoYik7QT8oQWUuaW5uZXJIVE1MPUEsQWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksV3QoQWUpLEFlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mb2xkZXItcmVjZW50LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKHope3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGJlPXRoaXMuZGF0YXNldC5wYXRoO2NlJiYoY2UudmFsdWU9YmUsWHQoYmUpLHZuKGJlKSl9KX0pKTpsaSgpfSl9dmFyIEFkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JraW5nLWRpci1pbmRpY2F0b3IiKTtBZCYmQWQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5zZWxlY3RlZElkPW51bGwsRWUoKSxyLmRyYWZ0cz17fSxadCgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci1pbnB1dCIpO2ImJmIuZm9jdXMoKX0sNTApfSk7dmFyIHRvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLXRvZ2dsZSIpLEFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWRyb3Bkb3duIik7dG8mJkFlJiZ0by5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtBZS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iKSx0by5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIil9KTt2YXIgbWE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmZvbGRlci1waWNrZXItY29tcGFjdCIpO2lmKG1hJiYobWEuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxtYS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxtYS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO3ZhciBBPWIuZGF0YVRyYW5zZmVyJiZiLmRhdGFUcmFuc2Zlci5pdGVtcztpZihBKWZvcih2YXIgej0wO3o8QS5sZW5ndGg7eisrKXt2YXIgYmU9QVt6XTtpZihiZS5raW5kPT09ImZpbGUiJiZiZS53ZWJraXRHZXRBc0VudHJ5KXt2YXIgRnQ9YmUud2Via2l0R2V0QXNFbnRyeSgpO2lmKEZ0JiZGdC5pc0RpcmVjdG9yeSYmY2Upe3ZhciBodD1GdC5mdWxsUGF0aDtjZS52YWx1ZT1odCxYdChodCksdm4oaHQpO2JyZWFrfX19fSkpLEFlJiZBZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQuY2xvc2VzdCgiLmZvbGRlci1waWNrZXItcXVpY2stYnRuIik7aWYoQSYmY2Upe3ZhciB6PUEuZGF0YXNldC5wYXRoO2NlLnZhbHVlPXosWHQoeiksdm4oeiksQWUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLXRvZ2dsZSIpO2JlJiZiZS5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9fSksY2Upe3ZhciBmaD1RZSgpO3ZuKGZoKSxjZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZhbHVlLnRyaW0oKTtiP3ZuKGIpOmNoKCl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQudmFsdWUudHJpbSgpO1l0PS0xLHNpJiZjbGVhclRpbWVvdXQoc2kpLHNpPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtBP3ZuKEEpOmxpKCl9LDE1MCl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihiKXtpZihiLmtleT09PSJFc2NhcGUiKWxpKCksdGhpcy5ibHVyKCk7ZWxzZSBpZihiLmtleT09PSJBcnJvd0Rvd24iKWIucHJldmVudERlZmF1bHQoKSxPbi5sZW5ndGg+MCYmKFl0PU1hdGgubWluKFl0KzEsT24ubGVuZ3RoLTEpLHhkKCkpO2Vsc2UgaWYoYi5rZXk9PT0iQXJyb3dVcCIpYi5wcmV2ZW50RGVmYXVsdCgpLFl0PjAmJihZdC0tLHhkKCkpO2Vsc2UgaWYoYi5rZXk9PT0iRW50ZXIiJiZZdD49MCl7Yi5wcmV2ZW50RGVmYXVsdCgpO3ZhciBBPU9uW1l0XTtpZihBKXt2YXIgej1BLmRhdGFzZXQucGF0aDtpZih6PT09Ii4uIil7dmFyIGJlPWNlLnZhbHVlLnRyaW0oKSxGdD1iZS5zdWJzdHJpbmcoMCxiZS5sYXN0SW5kZXhPZigiLyIpKTtGdCYmKGNlLnZhbHVlPUZ0fHwiLyIsWHQoY2UudmFsdWUpLHZuKEZ0fHwiLyIpKX1lbHNlIGNlLnZhbHVlPXosWHQoeiksbGkoKX19fSl9ZnVuY3Rpb24geGQoKXtPbi5mb3JFYWNoKGZ1bmN0aW9uKGIsQSl7Yi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLEE9PT1ZdCl9KX1mdW5jdGlvbiBZaChiKXt9ZnVuY3Rpb24gdm4oYil7QWUmJihBZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJELi4uPC9kaXY+JyxBZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxZdD0tMSxPbj1bXSxmZXRjaCgiL2FwaS9mb2xkZXJzP3E9IitlbmNvZGVVUklDb21wb25lbnQoYikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKEEpe3JldHVybiBBLmpzb24oKS50aGVuKGZ1bmN0aW9uKHope3JldHVybntvazpBLm9rLHN0YXR1czpBLnN0YXR1cyxkYXRhOnp9fSl9KS50aGVuKGZ1bmN0aW9uKEEpe3ZhciB6PUEuZGF0YTtpZighQS5va3x8ei5lcnJvcil7RGQoei5lcnJvcnx8Ilx1OERFRlx1NUY4NFx1NjVFMFx1NjU0OCIpLEFlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1lcnJvciI+JytwKHouZXJyb3J8fCJcdThERUZcdTVGODRcdTY1RTBcdTY1NDgiKSsiPC9kaXY+IjtyZXR1cm59a2QoKSx6LmN1cnJlbnRQYXRoO3ZhciBiZT16Lml0ZW1zfHxbXSxGdD16LmN1cnJlbnRQYXRofHxiO2lmKGJlLmxlbmd0aD09PTApe0FlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1sb2FkaW5nIj5cdTdBN0FcdTc2RUVcdTVGNTU8L2Rpdj4nO3JldHVybn1BZS5pbm5lckhUTUw9YmUubWFwKGZ1bmN0aW9uKGh0KXt2YXIgZ2E9aHQudHlwZT09PSJwYXJlbnQiPyJcdTIxQTlcdUZFMEYiOiJcdXsxRjRDMX0iLG5vPWh0LnR5cGU9PT0icGFyZW50Ij8iLi4gKFx1OEZENFx1NTZERVx1NEUwQVx1N0VBNykiOmh0Lm5hbWU7cmV0dXJuJzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItaXRlbSIgZGF0YS1wYXRoPSInK3AoaHQucGF0aCkrJyIgZGF0YS10eXBlPSInK2h0LnR5cGUrJyI+PHNwYW4gY2xhc3M9ImZvbGRlci1waWNrZXItaXRlbS1pY29uIj4nK2dhKyI8L3NwYW4+PHNwYW4+IitwKG5vKSsiPC9zcGFuPjwvZGl2PiJ9KS5qb2luKCIiKSxPbj1BcnJheS5mcm9tKEFlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mb2xkZXItcGlja2VyLWl0ZW0iKSksT24uZm9yRWFjaChmdW5jdGlvbihodCl7aHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGdhPXRoaXMuZGF0YXNldC5wYXRoLG5vPXRoaXMuZGF0YXNldC50eXBlO2lmKGNlKWlmKG5vPT09InBhcmVudCIpe3ZhciBMZD1jZS52YWx1ZS50cmltKCksTWQ9TGQuc3Vic3RyaW5nKDAsTGQubGFzdEluZGV4T2YoIi8iKSk7Y2UudmFsdWU9TWR8fCIvIixYdChjZS52YWx1ZSksdm4oTWR8fCIvIil9ZWxzZSBjZS52YWx1ZT1nYSxYdChnYSksa2QoKSxsaSgpfSl9KX0pLmNhdGNoKGZ1bmN0aW9uKEEpe0RkKCJcdTUyQTBcdThGN0RcdTU5MzFcdThEMjUiKSxBZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItZXJyb3IiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNTwvZGl2Pid9KSl9ZnVuY3Rpb24gbGkoKXtBZSYmQWUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksWXQ9LTEsT249W119dmFyIFBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLW1vZGFsIiksU2Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLWZvbGRlci1waWNrZXIiKTtmdW5jdGlvbiBRaCgpe2lmKFBuKXtQbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxjZSYmKGNlLnZhbHVlPVFlKCkpO3ZhciBiPVFlKCk7dm4oYil9fVNkJiZQbiYmU2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7UG4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9KSxQbiYmUG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2IudGFyZ2V0PT09UG4mJlBuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSk7dmFyIElkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7SWQmJklkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksX28oKX0pO3ZhciBUZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7VGQmJlRkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnRhcmdldC5pZD09PSJxdWljay1jb21taXQtbW9kYWwiJiYhci5xdWlja0NvbW1pdFN1Ym1pdHRpbmcmJmVyKCl9KSxObygpLHVyKCksR3YoKSxtZigpLFpwKCksaXQoKX1mdW5jdGlvbiBEdChlKXt2YXIgdD1lfHx7fTtyLmxhc3RSZW5kZXJlZEhhc2g9MCxyLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTAsci5sYXN0UmVuZGVyZWRFbXB0eT1udWxsLHIucmVuZGVyUGVuZGluZz0hMSxyLmNoYXRSZW5kZXJlZENvdW50PXIuY2hhdFBhZ2VTaXplLHIuYXNrVXNlclNlbGVjdGlvbnM9e30sci5jaGF0U2Nyb2xsRWxlbWVudCYmKHIuY2hhdFNjcm9sbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLmNoYXRTY3JvbGxIYW5kbGVyKSxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIuY2hhdFNjcm9sbFdoZWVsSGFuZGxlciksci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIpLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyKSksci5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLHIuY2hhdFNjcm9sbEhhbmRsZXI9bnVsbCxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXI9bnVsbCxyLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcj1udWxsLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXI9bnVsbCxyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMSx0LnByZXNlcnZlU3RpY2tTdGF0ZXx8KHIuY2hhdFN0aWNrVG9Cb3R0b209ITAsci5jaGF0VW5yZWFkQ291bnQ9MCxyLmNoYXRVbnJlYWRTdGFydEluZGV4PS0xLHIuY2hhdEluaXRpYWxSZW5kZXJEb25lPSExKX1mdW5jdGlvbiBRZSgpe3JldHVybiByLndvcmtpbmdEaXJ8fGduKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsZnVuY3Rpb24oKXtyLmlzT25saW5lPSEwLElpKCl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsZnVuY3Rpb24oKXtyLmlzT25saW5lPSExLElpKCl9KTtmdW5jdGlvbiBJaSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvZmZsaW5lLWJhbm5lciIpO2lmKCFyLmlzT25saW5lJiYhZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5pZD0ib2ZmbGluZS1iYW5uZXIiLHQuY2xhc3NOYW1lPSJvZmZsaW5lLWJhbm5lciIsdC50ZXh0Q29udGVudD0iWW91IGFyZSBvZmZsaW5lIC0gc29tZSBmZWF0dXJlcyBtYXkgYmUgbGltaXRlZCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KX1lbHNlIHIuaXNPbmxpbmUmJmUmJmUucmVtb3ZlKCl9ZnVuY3Rpb24gcnAoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwIik7ZSYmKGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJib290LWxvYWRpbmciPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy1jYXJkIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiPlx1NkI2M1x1NTcyOFx1OEZERVx1NjNBNSBXYW5kXHUyMDI2PC9kaXY+PC9kaXY+PC9kaXY+Jyl9ZnVuY3Rpb24gUHIoZSx0KXtpZihyLmNvbmZpZyYmIWRvY3VtZW50LmhpZGRlbil7dmFyIG49dCYmdC5pbW1lZGlhdGU9PT0hMCxpPURhdGUubm93KCk7IW4mJmktci5sYXN0Rm9yZWdyb3VuZFN5bmNBdDwxNTAwfHwoci5sYXN0Rm9yZWdyb3VuZFN5bmNBdD1pLHIuZm9yZWdyb3VuZFN5bmNUaW1lciYmKGNsZWFyVGltZW91dChyLmZvcmVncm91bmRTeW5jVGltZXIpLHIuZm9yZWdyb3VuZFN5bmNUaW1lcj1udWxsKSxpcChlLG4pKX19ZnVuY3Rpb24gaXAoZSx0KXtyZXR1cm4hci5jb25maWd8fGRvY3VtZW50LmhpZGRlbj9Qcm9taXNlLnJlc29sdmUoKTooaXMoKSx0P0hhKCJyZXN1bWUtZm9yY2UiKTooIXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOJiZyLndzLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuQ09OTkVDVElORykmJndpKCksci5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZlcygpLHIuY29kZXhIaXN0b3J5TG9hZGVkJiZ0cygpLG5uKHtza2lwU2VsZWN0ZWRPdXRwdXRSZWxvYWQ6ITB9KS5jYXRjaChmdW5jdGlvbihuKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gZm9yZWdyb3VuZCBzeW5jIGZhaWxlZDoiLGUsbil9KSl9ZnVuY3Rpb24gYXAoKXt3aW5kb3cuX193YW5kRm9yZWdyb3VuZFN5bmNCb3VuZHx8KHdpbmRvdy5fX3dhbmRGb3JlZ3JvdW5kU3luY0JvdW5kPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuaGlkZGVuP3FhKCk6KFByKCJ2aXNpYmlsaXR5IiksT3IoInZpc2liaWxpdHkiKSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7UHIoImZvY3VzIil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGZ1bmN0aW9uKCl7UHIoInBhZ2VzaG93Iil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzdW1lIixmdW5jdGlvbigpe1ByKCJyZXN1bWUiKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWFuZHJvaWQtcmVzdW1lIixmdW5jdGlvbigpe1ByKCJhbmRyb2lkLXJlc3VtZSIse2ltbWVkaWF0ZTohMH0pLE9yKCJhbmRyb2lkLXJlc3VtZSIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtaW1lLXN0YXRlIixmdW5jdGlvbihlKXt2YXIgdD1lJiZlLmRldGFpbCYmZS5kZXRhaWwuc3RhdGU7aWYodD09PSJzaG93biJ8fHQ9PT0iaGlkZGVuIil0cnl7WWUoIm5hdGl2ZS1pbWUtIit0LHtmb3JjZVJlcGxheTohMH0pLHl0KCJuYXRpdmUtaW1lIil9Y2F0Y2h7fX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWFuZHJvaWQtbmV0d29yayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5kZXRhaWwmJmUuZGV0YWlsLnN0YXRlO2lmKHQ9PT0ibG9zdCIpe3IuaXNPbmxpbmU9ITE7dHJ5e0lpKCl9Y2F0Y2h7fXJldHVybn1pZih0PT09ImF2YWlsYWJsZSJ8fHQ9PT0iY2hhbmdlZCJ8fHQ9PT0idmFsaWRhdGVkIil7ci5pc09ubGluZT0hMDt0cnl7SWkoKX1jYXRjaHt9SGEoImFuZHJvaWQtbmV0d29yay0iK3QpfX0pKX1mdW5jdGlvbiB1cCgpe2ZldGNoKCIvYXBpL3Nlc3Npb24tY2hlY2siLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5vaz9lLmpzb24oKTp7YXV0aGVkOiExfX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIWV8fCFlLmF1dGhlZD8oci5sb2dpbkNoZWNrZWQ9ITAsWnQoKSxudWxsKTpmZXRjaCgiL2FwaS9jb25maWciLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5vaz90Lmpzb24oKTooci5sb2dpbkNoZWNrZWQ9ITAsWnQoKSxudWxsKX0pfSkudGhlbihmdW5jdGlvbihlKXtlJiYoci5jb25maWc9ZSxyLmxvZ2luQ2hlY2tlZD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt0cnl7WnQoe3NraXBTaGVsbENocm9tZTohMH0pfWNhdGNoe31hcCgpLG5zKCksX3QoKSx0ZCgpLGdwKCksZS51cGRhdGVBdmFpbGFibGUmJmUubGF0ZXN0VmVyc2lvbiYmSXMoZS5jdXJyZW50VmVyc2lvbnx8Ii0iLGUubGF0ZXN0VmVyc2lvbiksem4mJnFnKCksYm4mJkhnKCksci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHxDaSgpfSw2MDApfSkpfSkuY2F0Y2goZnVuY3Rpb24oKXtpZihyLmxvZ2luQ2hlY2tlZD0hMCwhbmF2aWdhdG9yLm9uTGluZSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO2UmJihlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctY2FyZCI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiIHN0eWxlPSJmb250LXNpemU6MS4zZW07bWFyZ2luLWJvdHRvbToxMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4Ij4nK1YoInNpZ25hbCIse3NpemU6MjAsc3Ryb2tlV2lkdGg6MS44fSkrJzxzcGFuPlx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMFx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctdGV4dCIgc3R5bGU9Im9wYWNpdHk6MC43O2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NjIxNlx1Nzg2RVx1OEJBNCBXYW5kIFx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OEZEMFx1ODg0Q1x1MzAwMjwvZGl2PjxidXR0b24gb25jbGljaz0ibG9jYXRpb24ucmVsb2FkKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHg7cGFkZGluZzo4cHggMjRweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUwLDExOCw4NSwwLjMpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjgpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OTFDRFx1OEJENTwvYnV0dG9uPjwvZGl2PjwvZGl2PicpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGZ1bmN0aW9uKCl7bG9jYXRpb24ucmVsb2FkKCl9LHtvbmNlOiEwfSk7cmV0dXJufVp0KCl9KX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7aWYoIU5lKCkmJiFyLnNpZGViYXJQaW5uZWQmJiFyLnNpZGViYXJDb2xsYXBzZWQmJnIuc2Vzc2lvbnNEcmF3ZXJPcGVuKXt2YXIgdD1lLnRhcmdldDshdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCl8fHQuY2xvc2VzdCgiI3Nlc3Npb25zLWRyYXdlciIpfHx0LmNsb3Nlc3QoIiNzZXNzaW9ucy10b2dnbGUtYnV0dG9uIil8fHQuY2xvc2VzdCgiLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlIil8fHQuY2xvc2VzdCgiLnNpZGViYXItdGlsZS1idWJibGUiKXx8dC5jbG9zZXN0KCIubW9kYWwtYmFja2Ryb3AsIC5tb2RhbC1vdmVybGF5LCAubW9kYWwtY29udGFpbmVyLCBbcm9sZT0nZGlhbG9nJ10sIFtyb2xlPSdtZW51J10sIC50b3BiYXItbW9yZS1tZW51LCAuc2lkZWJhci1oZWFkZXItb3ZlcmZsb3csIC5mb2xkZXItcGlja2VyLWRyb3Bkb3duLCAucGF0aC1zdWdnZXN0aW9ucywgLnBlcm1pc3Npb24tcHJvbXB0LW92ZXJsYXksIC5yZXN0YXJ0LW92ZXJsYXkiKXx8bGcoKX19LCEwKSxycCgpLHVwKCk7ZnVuY3Rpb24gWnQoZSl7dmFyIHQ9ZSYmZS5za2lwU2hlbGxDaHJvbWUsbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwIiksaT1yLmNvbmZpZyE9PW51bGwsYT1yLm1vZGFsT3Blbix1PSFpfHwhIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZih1JiZNcigpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksci5zaWRlYmFyUGlubmVkJiYhci5zaWRlYmFyQ29sbGFwc2VkJiYhTmUoKSYmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsITApKSxuLmlubmVySFRNTD1pP2xwKCk6c3AoKSxEdCgpLG5wKCksdGkoKSxRaSgpLGRyKHF0KCkpLG9hKCksdHx8ZWkoKSxpJiZyLmZpbGVQYW5lbE9wZW4mJk10KCksZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm5vLXRyYW5zaXRpb24iKX0pLGEmJnIubW9kYWxPcGVuKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2lmKG8pe28uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZCIpO3MmJihzLnZhbHVlPXIuY3dkVmFsdWUpLGZyKCl9fWlmKGkmJnIuc2VsZWN0ZWRJZCYmci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQmJkhuKHIuc2VsZWN0ZWRJZCksaSl7dmFyIGw9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGQpe3JldHVybiBkLmlkPT09ci5zZWxlY3RlZElkfSk7JHUobCl9aHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1jd2QiKSksaHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLXBhdGgiKSksaHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmtpbmctZGlyLWluZGljYXRvci1wYXRoIikpLFd0KCl9ZnVuY3Rpb24gb3AoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uaWQ9PT1yLnNlbGVjdGVkSWR9KSx0PWUmJmUuYXBwcm92YWxTdGF0cztyZXR1cm4hdHx8dC50b3RhbD09PTA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cyBoaWRkZW4iIGlkPSJhcHByb3ZhbC1zdGF0cyI+PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cyIgaWQ9ImFwcHJvdmFsLXN0YXRzIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtZGl2aWRlciI+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgaWQ9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiB0aXRsZT0iXHU2NzJDXHU2QjIxXHU0RjFBXHU4QkREXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU3RURGXHU4QkExIj48c3ZnIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1pY29uIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ii8+PC9zdmc+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXRvdGFsIj4nK3QudG90YWwrJzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIiBpZD0iYXBwcm92YWwtc3RhdHMtcG9wdXAiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cC10aXRsZSI+XHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU3RURGXHU4QkExPC9zcGFuPicrKHQuY29tbWFuZD4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVigidGVybWluYWwiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDdEXHU0RUU0XHU2MjY3XHU4ODRDPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC5jb21tYW5kKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyh0LmZpbGU+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1YoImVkaXQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU2NTg3XHU0RUY2XHU1MTk5XHU1MTY1PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC5maWxlKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyh0LnRvb2w+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1YoIndyZW5jaCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTUxNzZcdTRFRDZcdTVERTVcdTUxNzc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LnRvb2wrIjwvc3Bhbj48L3NwYW4+IjoiIikrJzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3cgYXBwcm92YWwtc3RhdHMtcm93LXRvdGFsIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVigic2lnbWEiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDA4XHU4QkExPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC50b3RhbCsiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPiJ9ZnVuY3Rpb24gc3AoKXtyZXR1cm4gci5sb2dpbkNoZWNrZWQ/JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+PGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ibG9naW4tbG9nby10ZXh0Ij5XYW5kPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxvZ2luLXN1YnRpdGxlIj5cdTU3MjhcdTZENEZcdTg5QzhcdTU2NjhcdTRFMkRcdThGRDBcdTg4NENcdTY3MkNcdTY3M0FcdTdFQzhcdTdBRUY8L2Rpdj48L2Rpdj48Zm9ybSBpZD0ibG9naW4tZm9ybSIgY2xhc3M9ImxvZ2luLWJvZHkiIGF1dG9jb21wbGV0ZT0ib24iPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgYXV0b2NvbXBsZXRlPSJ1c2VybmFtZSIgdmFsdWU9IndhbmQiIHRhYmluZGV4PSItMSIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi05OTk5cHg7d2lkdGg6MXB4O2hlaWdodDoxcHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmUiIHJlYWRvbmx5IC8+PHAgY2xhc3M9ImxvZ2luLWhpbnQiPlx1OEY5M1x1NTE2NSBXYW5kIFx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMVx1NEVFNVx1OEZEQlx1NTE2NVx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjwvcD48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJwYXNzd29yZCI+XHU1QkM2XHU3ODAxPC9sYWJlbD48ZGl2IGNsYXNzPSJwYXNzd29yZC1maWVsZCI+PGlucHV0IGlkPSJwYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCBwYXNzd29yZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMSIgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIiBkYXRhLWVycm9yPSJmYWxzZSIgYXJpYS1kZXNjcmliZWRieT0icGFzc3dvcmQtaGludCBsb2dpbi1lcnJvciIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz48YnV0dG9uIGlkPSJ0b2dnbGUtcGFzc3dvcmQtYnV0dG9uIiB0eXBlPSJidXR0b24iIGNsYXNzPSJwYXNzd29yZC10b2dnbGUiIGFyaWEtbGFiZWw9Ilx1NjYzRVx1NzkzQVx1NUJDNlx1NzgwMSIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+XHU2NjNFXHU3OTNBPC9idXR0b24+PC9kaXY+PHAgaWQ9InBhc3N3b3JkLWhpbnQiIGNsYXNzPSJoaW50Ij5cdTRGN0ZcdTc1MjhcdTRGNjBcdTU3MjggV2FuZCBcdTRFMkRcdThCQkVcdTdGNkVcdTc2ODRcdThCQkZcdTk1RUVcdTVCQzZcdTc4MDFcdTMwMDI8L3A+PHAgaWQ9ImxvZ2luLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iIHJvbGU9ImFsZXJ0Ij48L3A+PC9kaXY+PGRpdiBpZD0ibG9naW4tY2VydC1oaW50IiBjbGFzcz0ibG9naW4tY2VydC1oaW50IGhpZGRlbiIgcm9sZT0iYWxlcnQiPjxkaXYgY2xhc3M9ImxvZ2luLWNlcnQtaGludC10aXRsZSI+XHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU0RkUxXHU0RUZCXHVGRjBDXHU3NjdCXHU1RjU1XHU2MDAxXHU2NUUwXHU2Q0Q1XHU0RkREXHU1QjU4PC9kaXY+PHAgY2xhc3M9ImxvZ2luLWNlcnQtaGludC1ib2R5Ij5cdTVCQzZcdTc4MDFcdTY2MkZcdTVCRjlcdTc2ODRcdUZGMENcdTRGNDZcdTVGNTNcdTUyNEQgSFRUUFMgXHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU2RDRGXHU4OUM4XHU1NjY4XHU0RkUxXHU0RUZCXHVGRjBDXHU2RDRGXHU4OUM4XHU1NjY4XHU1NkUwXHU2QjY0XHU2MkQyXHU3RUREXHU0RkREXHU1QjU4XHU3NjdCXHU1RjU1IENvb2tpZVx1RkYwQ1x1NjI0MFx1NEVFNVx1OEZEQlx1NEUwRFx1NEU4Nlx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjxici8+XHU4OUUzXHU1MUIzXHU1MjlFXHU2Q0Q1XHVGRjA4XHU0RUZCXHU5MDA5XHU1MTc2XHU0RTAwXHVGRjA5XHVGRjFBXHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFXHU2NzJDXHU2NzBEXHU1MkExXHVGRjFCXHU2MjE2XHU2MjhBXHU2NzJDXHU2NzBEXHU1MkExXHU4QkMxXHU0RTY2XHU4QkJFXHU0RTNBXHUzMDBDXHU1M0Q3XHU0RkUxXHU0RUZCXHUzMDBEXHVGRjA4XHU2M0E4XHU4MzUwIG1rY2VydFx1RkYwOVx1RkYxQlx1NjIxNlx1NTcyOFx1NjcyQ1x1NjczQVx1NUMwNlx1OEJFNVx1ODFFQVx1N0I3RVx1OEJDMVx1NEU2Nlx1OEJCRVx1NEUzQVx1NUI4Q1x1NTE2OFx1NEZFMVx1NEVGQlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMjwvcD48YSBpZD0ibG9naW4tY2VydC1odHRwLWxpbmsiIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayIgaHJlZj0iIyIgcmVsPSJub29wZW5lciI+XHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFPC9hPjwvZGl2PjxidXR0b24gaWQ9ImxvZ2luLWJ1dHRvbiIgdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwPC9idXR0b24+JysoVHUoKT8nPGJ1dHRvbiBpZD0ibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayBsb2dpbi1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mlx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2J1dHRvbj4nOiIiKSsiPC9mb3JtPjwvZGl2PjwvZGl2PiI6JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCBsb2dpbi1jYXJkLWxvYWRpbmciPjxkaXYgY2xhc3M9ImxvZ2luLWhlYWRlciI+PGRpdiBjbGFzcz0ibG9naW4tbG9nbyI+PGRpdiBjbGFzcz0ibG9naW4tbG9nby1pY29uIj5XPC9kaXY+PHNwYW4gY2xhc3M9ImxvZ2luLWxvZ28tdGV4dCI+V2FuZDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsb2dpbi1zdWJ0aXRsZSI+XHU2QjYzXHU1NzI4XHU2MDYyXHU1OTBEXHU3NjdCXHU1RjU1XHU3MkI2XHU2MDAxPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tYm9keSI+PGRpdiBjbGFzcz0ibG9naW4tc3RhdHVzIj48c3BhbiBjbGFzcz0ibG9naW4tc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48ZGl2PjxwIGNsYXNzPSJsb2dpbi1oaW50Ij5cdTZCNjNcdTU3MjhcdTY4QzBcdTY3RTVcdTY3MkNcdTU3MzBcdTc2N0JcdTVGNTVcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTdBMERcdTUwMTlcdTMwMDI8L3A+PHAgY2xhc3M9ImxvZ2luLW11dGVkIj5cdTU5ODJcdTY3OUNcdTRGNjBcdTUyMUFcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdUZGMENcdThGRDlcdTY2MkZcdTZCNjNcdTVFMzhcdTczQjBcdThDNjFcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+J31mdW5jdGlvbiBscCgpe3ZhciBlPSI8XC9zY3JpcHQ+Iix0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dD9scih0LmNvbW1hbmQpOiJcdTY3MkFcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQiLGk9dD90Lm1vZGUrIiB8ICIrdC5zdGF0dXM6Ilx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQiIsYT1yLnNlbGVjdGVkSWQmJnIuZHJhZnRzW3Iuc2VsZWN0ZWRJZF18fCIiLHU9ci5zZXNzaW9uc0RyYXdlck9wZW4/IiBvcGVuIjoiIixvPWJvKCk/IiBvcGVuIjoiIixzPVZtKCksbD1kdChzLHIuY2hhdE1vZGUpLGQ9TmUoKSxmPSEhci5zaWRlYmFyUGlubmVkJiYhIXIuc2lkZWJhckNvbGxhcHNlZCxjPWZ8fCFkJiYoISFyLnNpZGViYXJQaW5uZWR8fCEhci5zZXNzaW9uc0RyYXdlck9wZW4pLHY9Zj8iIHNpZGViYXItY29sbGFwc2VkIjoiIixoPWY/IiBjb2xsYXBzZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJhcHAtY29udGFpbmVyIj48ZGl2IGlkPSJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiIGNsYXNzPSJkcmF3ZXItYmFja2Ryb3AnK28rJyI+PC9kaXY+PGRpdiBjbGFzcz0ibWFpbi1sYXlvdXQnKyhyLnNlc3Npb25zRHJhd2VyT3Blbj8iIHNpZGViYXItb3BlbiI6IiIpKyhjPyIgc2lkZWJhci1waW5uZWQiOiIiKSt2KyciPjxhc2lkZSBpZD0ic2Vzc2lvbnMtZHJhd2VyIiBjbGFzcz0ic2lkZWJhcicrdSsoYz8iIHBpbm5lZCI6IiIpK2grJyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLW1haW4iPjxkaXYgY2xhc3M9InRvcGJhci1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ic2lkZWJhci10aXRsZSI+XHU0RjFBXHU4QkREPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLWNvdW50IiBpZD0ic2Vzc2lvbi1jb3VudCI+JytTdHJpbmcoci5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24obSl7dmFyIGc9U3RyaW5nKG0mJm0uc2Vzc2lvblNvdXJjZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGchPT0iYXV0b21hdGlvbiImJmchPT0ic3RhcnR1cCJ9KS5sZW5ndGgpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItYWN0aW9ucyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItbW9yZSI+PGJ1dHRvbiBpZD0ic2lkZWJhci1tb3JlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY2RjRcdTU5MUFcdTY0Q0RcdTRGNUMiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxLjUiLz48L3N2Zz48L2J1dHRvbj48ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlci1vdmVyZmxvdyIgaWQ9InNpZGViYXItb3ZlcmZsb3ctbWVudSI+PGJ1dHRvbiBjbGFzcz0ib3ZlcmZsb3ctaXRlbSIgaWQ9InNpZGViYXItaG9tZS1idG4iIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+PHBvbHlsaW5lIHBvaW50cz0iOSAyMiA5IDEyIDE1IDEyIDE1IDIyIi8+PC9zdmc+PHNwYW4+XHU1NkRFXHU1MjMwXHU5OTk2XHU5ODc1PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im92ZXJmbG93LWl0ZW0iIGlkPSJzaWRlYmFyLXJlZnJlc2gtYnRuIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iMjMgNCAyMyAxMCAxNyAxMCIvPjxwYXRoIGQ9Ik0yMC40OSAxNWE5IDkgMCAxIDEtMi4xMi05LjM2TDIzIDEwIi8+PC9zdmc+PHNwYW4+XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxidXR0b24gaWQ9InNpZGViYXItcGluLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItcGluLXRvZ2dsZScrKHIuc2lkZWJhclBpbm5lZD8iIHBpbm5lZCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9IicrKHIuc2lkZWJhclBpbm5lZD8iXHU1REYyXHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCXHVGRjA4XHU3MEI5XHU1MUZCXHU4OUUzXHU5NjY0XHU5NTAxXHU1QjlBXHVGRjA5IjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIikrJyIgYXJpYS1sYWJlbD0iJysoci5zaWRlYmFyUGlubmVkPyJcdTg5RTNcdTk2NjRcdTU2RkFcdTVCOUFcdTVFMzhcdTlBN0IiOiJcdTU2RkFcdTVCOUFcdTRGQTdcdTY4MEZcdTVFMzhcdTlBN0IiKSsnIiBhcmlhLXByZXNzZWQ9IicrKHIuc2lkZWJhclBpbm5lZD8idHJ1ZSI6ImZhbHNlIikrJyI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMiIgeTI9IjIyIi8+PHBhdGggZD0iTTUgMTdoMTR2LTEuNzZhMiAyIDAgMCAwLTEuMTEtMS43OWwtMS43OC0uOUEyIDIgMCAwIDEgMTUgMTAuNzZWNmgxYTIgMiAwIDAgMCAwLTRIOGEyIDIgMCAwIDAgMCA0aDF2NC43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjR6Ii8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2lkZWJhci1jb2xsYXBzZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZScrKGY/IiBjb2xsYXBzZWQiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSInKyhmPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIiBhcmlhLWxhYmVsPSInKyhmPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIj4nKyhmPyc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjEwIDYgMTYgMTIgMTAgMTgiLz48bGluZSB4MT0iMjAiIHkxPSI1IiB4Mj0iMjAiIHkyPSIxOSIvPjwvc3ZnPic6Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTQgNiA4IDEyIDE0IDE4Ii8+PGxpbmUgeDE9IjQiIHkxPSI1IiB4Mj0iNCIgeTI9IjE5Ii8+PC9zdmc+JykrJzwvYnV0dG9uPjxidXR0b24gaWQ9ImNsb3NlLWRyYXdlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIHNpZGViYXItY2xvc2UgZHJhd2VyLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTgzRENcdTUzNTUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWJvZHkiPjxkaXYgaWQ9InNlc3Npb25zLXBhbmVsIj48ZGl2IGNsYXNzPSJzZXNzaW9ucy1saXN0IiBpZD0ic2Vzc2lvbnMtbGlzdCI+JytNYSgpKyc8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWZvb3RlciI+PGJ1dHRvbiBpZD0iZHJhd2VyLW5ldy1zZXNzaW9uLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPjxzcGFuPis8L3NwYW4+IFx1NjVCMFx1NEYxQVx1OEJERDwvYnV0dG9uPjxkaXYgY2xhc3M9InNpZGViYXItZm9vdGVyLWFjdGlvbnMiPjxidXR0b24gaWQ9ImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtJysoci5maWxlUGFuZWxPcGVuPyIgYWN0aXZlIjoiIikrJyIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU2NTg3XHU0RUY2Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPjwvc3ZnPjxzcGFuPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJzZXR0aW5ncy1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU4QkJFXHU3RjZFIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDIuODNsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTQgMHYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44My0yLjgzbC4wNi0uMDZBMS42NSAxLjY1IDAgMCAwIDQuNjggMTVhMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMSAwLTRoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDIuODMtMi44M2wuMDYuMDZBMS42NSAxLjY1IDAgMCAwIDkgNC42OGExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDQgMHYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAyLjgzbC0uMDYuMDZBMS42NSAxLjY1IDAgMCAwIDE5LjQgOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAwIDRoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiIvPjwvc3ZnPjxzcGFuPlx1OEJCRVx1N0Y2RTwvc3Bhbj48L2J1dHRvbj4nKyhXbSgpPyc8YnV0dG9uIGlkPSJiYWNrLXRvLW5hdGl2ZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWJhY2stdG8tbmF0aXZlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REUgQXBwIFx1NTM5Rlx1NzUxRlx1NzU0Q1x1OTc2MiI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMCIgeT0iMyIgd2lkdGg9IjExIiBoZWlnaHQ9IjE4IiByeD0iMiIvPjxsaW5lIHgxPSIxNCIgeTE9IjE3IiB4Mj0iMTciIHkyPSIxNyIvPjxwb2x5bGluZSBwb2ludHM9IjcgOCAzIDEyIDcgMTYiLz48L3N2Zz48c3Bhbj5cdThGRDRcdTU2REVBcHA8L3NwYW4+PC9idXR0b24+JzoiIikrKFR1KCk/JzxidXR0b24gaWQ9InN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mjwvc3Bhbj48L2J1dHRvbj4nOiIiKSsnPGJ1dHRvbiBpZD0ibG9nb3V0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0IiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTYgMTcgMjEgMTIgMTYgNyIvPjxsaW5lIHgxPSIyMSIgeTE9IjEyIiB4Mj0iOSIgeTI9IjEyIi8+PC9zdmc+PHNwYW4+XHU5MDAwXHU1MUZBPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvYXNpZGU+PG1haW4gY2xhc3M9Im1haW4tY29udGVudCI+PGRpdiBjbGFzcz0ibWFpbi1oZWFkZXItcm93Ij48ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+PGJ1dHRvbiBpZD0ic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIgY2xhc3M9ImZsb2F0aW5nLXNpZGViYXItdG9nZ2xlJysoci5zZXNzaW9uc0RyYXdlck9wZW4/IiBhY3RpdmUiOiIiKSsnIiBhcmlhLWxhYmVsPSJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9ImhhbWJ1cmdlci1pY29uIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+PHNwYW4gY2xhc3M9InRvcGJhci1icmFuZCIgYXJpYS1oaWRkZW49InRydWUiPlc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLWNlbnRlciI+JysodD8nPHNwYW4gY2xhc3M9InRvcGJhci1zZXNzaW9uLXRpdGxlIiB0aXRsZT0iJytwKHQuZGVzY3JpcHRpb258fHQuY29tbWFuZHx8IiIpKyciPicrcCh0LnRpdGxlfHxscih0LmNvbW1hbmQpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy1waWxsICcrVm8odCkrJyIgdGl0bGU9IicrcChEcih0KSkrJyI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLWRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy10ZXh0Ij4nK3AoRHIodCkpKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JysodC5jd2Q/RXQodC5jd2QsInRvcGJhci1jd2QiLCcgaWQ9InRvcGJhci1jd2QiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiJyk6IiIpOic8c3BhbiBjbGFzcz0idG9wYmFyLXRhZ2xpbmUiPldhbmQgXHU2M0E3XHU1MjM2XHU1M0YwPC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JykrJzwvZGl2PjxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+PGJ1dHRvbiBpZD0idG9wYmFyLWZpbGUtYnV0dG9uIiBjbGFzcz0idG9wYmFyLWJ0biBzcXVhcmUnKyhyLmZpbGVQYW5lbE9wZW4/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjU4N1x1NEVGNiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNlx1RkYwOFx1NTNFRlx1NEZFRVx1NjUzOVx1OERFRlx1NUY4NFx1RkYwOSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48L2J1dHRvbj48c3BhbiBpZD0idG9wYmFyLWdpdC1zbG90IiBjbGFzcz0idG9wYmFyLWdpdC1zbG90Ij4nK0hvKCkrIjwvc3Bhbj4iKyh0P3ljKHQpOiIiKSsnPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZS1wYW5lbC1iYWNrZHJvcCIgY2xhc3M9ImZpbGUtcGFuZWwtYmFja2Ryb3AnKyhyLmZpbGVQYW5lbE9wZW4/IiBvcGVuIjoiIikrJyI+PC9kaXY+PGRpdiBpZD0iZmlsZS1zaWRlLXBhbmVsIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsJysoci5maWxlUGFuZWxPcGVuPyIgb3BlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cCI+PHNwYW4gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uIj4nK0llKCJmb2xkZXItb3BlbiIse3NpemU6MTZ9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtdGl0bGUiPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIiBpZD0iZmlsZS1leHBsb3Jlci1yZWZyZXNoIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjAiIGFyaWEtbGFiZWw9Ilx1NTIzN1x1NjVCMFx1NjU4N1x1NEVGNlx1NTIxN1x1ODg2OCI+JytJZSgicmVmcmVzaCIse3NpemU6MTV9KSsnPC9idXR0b24+PGJ1dHRvbiBpZD0iZmlsZS1zaWRlLXBhbmVsLWNsb3NlIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb25idG4gY2xvc2UiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5NzYyXHU2NzdGIiB0aXRsZT0iXHU1MTczXHU5NUVEIj4nK0llKCJ4Iix7c2l6ZToxNn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3Jlci1oZWFkZXIiPjxidXR0b24gY2xhc3M9ImZpbGUtZXhwbG9yZXItdXAiIGlkPSJmaWxlLWV4cGxvcmVyLXVwIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REVcdTRFMEFcdTdFQTdcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NSI+JytJZSgiYXJyb3ctdXAiLHtzaXplOjE1fSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmlsZS1leHBsb3Jlci1wYXRoIiBpZD0iZmlsZS1leHBsb3Jlci1jd2QiIHZhbHVlPSInK3AodCYmdC5jd2Q/dC5jd2Q6Z24oKSkrJyIgdGl0bGU9IicrcCh0JiZ0LmN3ZD90LmN3ZDpnbigpKSsnIiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU1RTc2XHU1NkRFXHU4RjY2Li4uIiBzcGVsbGNoZWNrPSJmYWxzZSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1OERFRlx1NUY4NFx1RkYwQ1x1NTNFRlx1NzZGNFx1NjNBNVx1NEZFRVx1NjUzOVx1NTQwRVx1NTZERVx1OEY2NiIgLz48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNlYXJjaC1ib3giPjxzcGFuIGNsYXNzPSJmaWxlLXNlYXJjaC1pY29uIj4nK0llKCJzZWFyY2giLHtzaXplOjE0fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZpbGUtc2VhcmNoLWlucHV0IiBjbGFzcz0iZmlsZS1zZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTIwMjYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48YnV0dG9uIGNsYXNzPSJmaWxlLXNlYXJjaC1jbGVhciIgaWQ9ImZpbGUtc2VhcmNoLWNsZWFyIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1OTY2NFx1NjQxQ1x1N0QyMiIgdGl0bGU9Ilx1NkUwNVx1OTY2NCI+JytJZSgieCIse3NpemU6MTN9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciIgaWQ9ImZpbGUtZXhwbG9yZXIiPicrbmModCYmdC5jd2Q/dC5jd2Q6Z24oKSkrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im91dHB1dCIgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lcicrKHIuc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKycgYWN0aXZlIj48ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5IiBhcmlhLWxhYmVsPSJcdTdFQzhcdTdBRUZcdTdGMjlcdTY1M0VcdTYzQTdcdTRFRjYiPjxidXR0b24gaWQ9InRlcm1pbmFsLXNjYWxlLWRvd24tdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTdGMjlcdTVDMEYiPlx1MjIxMjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVsIHRlcm1pbmFsLXNjYWxlLWxhYmVsIiBpZD0idGVybWluYWwtc2NhbGUtbGFiZWwtdG9wIj4nK01hdGgucm91bmQoci50ZXJtaW5hbFNjYWxlKjEwMCkrJyU8L3NwYW4+PGJ1dHRvbiBpZD0idGVybWluYWwtc2NhbGUtdXAtdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY1M0VcdTU5MjciPis8L2J1dHRvbj48c3BhbiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1kaXZpZGVyIj48L3NwYW4+PGJ1dHRvbiBpZD0icGFnZS1yZWZyZXNoLWJ0biIgY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXktYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjIiPlx1MjFCQjwvYnV0dG9uPjwvZGl2PjxidXR0b24gaWQ9InRlcm1pbmFsLWp1bXAtYm90dG9tIiBjbGFzcz0idGVybWluYWwtanVtcC1ib3R0b20nKyhyLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT8iIHZpc2libGUiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTVFOTVcdTkwRTgiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NUU5NVx1OTBFOCI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMy41djlNMy41IDhsNC41IDQuNUwxMi41IDgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjaGF0LW91dHB1dCIgY2xhc3M9ImNoYXQtY29udGFpbmVyIGhpZGRlbiI+PGRpdiBpZD0iY2hhdC1mb2xkLWJhciIgY2xhc3M9ImNoYXQtZm9sZC1iYXIgaGlkZGVuIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9kaXY+PGJ1dHRvbiBpZD0iY2hhdC11bnJlYWQtYnViYmxlIiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTY3MDBcdTY1QjBcdTZEODhcdTYwNkYiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWJ1YmJsZS1pY29uIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAzLjV2OU0zLjUgOGw0LjUgNC41TDEyLjUgOCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlLWNvdW50IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImJsYW5rLWNoYXQiIGNsYXNzPSJibGFuay1jaGF0Jysoci5zZWxlY3RlZElkPyIgaGlkZGVuIjoiIikrJyI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1pbm5lciI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1sb2dvIj5XPC9kaXY+PGgyIGNsYXNzPSJibGFuay1jaGF0LXRpdGxlIj5XYW5kPC9oMj48cCBjbGFzcz0iYmxhbmstY2hhdC1zdWJ0aXRsZSI+XHU2NTJGXHU2MzAxXHU3RUM4XHU3QUVGIFBUWSBcdTRGMUFcdThCRERcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTYgY2hhdCBcdTRGMUFcdThCRERcdUZGMENcdTRFMjRcdTc5Q0RcdTZBMjFcdTVGMEZcdTUzRUZcdTVFNzZcdTVCNThcdTMwMDI8L3A+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC10b29scyI+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1jbGF1ZGUiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InRvb2wtaWNvbiI+JytWKCJ0ZXJtaW5hbCIse3NpemU6MTYsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj5cdTY1QjBcdTVFRkFcdTdFQzhcdTdBRUZcdTRGMUFcdThCREQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJibGFuay1jaGF0LXRvb2wtYnRuIiBpZD0id2VsY29tZS10b29sLWNvZGV4IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24gdG9vbC1pY29uLXRleHQiPlx1MjMxODwvc3Bhbj5cdTY1QjBcdTVFRkEgQ29kZXggXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1vcGVuY29kZSIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIHRvb2wtaWNvbi10ZXh0Ij5PQzwvc3Bhbj5cdTY1QjBcdTVFRkEgT3BlbkNvZGUgXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24iPicrVigiY2hhdCIse3NpemU6MTYsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj5cdTY1QjBcdTVFRkFcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCREQ8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC13cmFwIj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZCIgaWQ9ImJsYW5rLWNoYXQtY3dkIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiB0aXRsZT0iXHU3MEI5XHU1MUZCXHU1MjA3XHU2MzYyXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1Ij48c3BhbiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtaWNvbiI+JytWKCJmb2xkZXIiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOH0pKyI8L3NwYW4+IitFdChRZSgpLCJibGFuay1jaGF0LWN3ZC1wYXRoIiwnIGlkPSJibGFuay1jaGF0LWN3ZC1wYXRoIicpKyc8c3BhbiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtYXJyb3ciIGlkPSJibGFuay1jaGF0LWN3ZC1hcnJvdyI+JytWKCJjaGV2cm9uRG93biIse3NpemU6MTEsc3Ryb2tlV2lkdGg6Mn0pKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtZHJvcGRvd24gaGlkZGVuIiBpZD0iYmxhbmstY2hhdC1jd2QtZHJvcGRvd24iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImlucHV0LXBhbmVsJysoci5zZWxlY3RlZElkPyIiOiIgaGlkZGVuIikrJyI+PGRpdiBjbGFzcz0iY29tcG9zZXItdG9wLXJvdyI+PGRpdiBpZD0idG9kby1wcm9ncmVzcyIgY2xhc3M9InRvZG8tcHJvZ3Jlc3MgaGlkZGVuIj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWhlYWRlciIgaWQ9InRvZG8tcHJvZ3Jlc3MtdG9nZ2xlIj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGlkPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxlZnQiPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLXJpbmciIGlkPSJ0b2RvLXByb2dyZXNzLXJpbmciIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctdHJhY2siIGN4PSIxOCIgY3k9IjE4IiByPSIxNS41IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiLz48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctZmlsbCIgY3g9IjE4IiBjeT0iMTgiIHI9IjE1LjUiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiIGlkPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLXRhc2std3JhcCI+PHNwYW4gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtdGFzayIgaWQ9InRvZG8tcHJvZ3Jlc3MtdGFzayI+PC9zcGFuPjwvZGl2PjxzdmcgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+PC9zdmc+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1ib2R5IGhpZGRlbiIgaWQ9InRvZG8tcHJvZ3Jlc3MtYm9keSI+PHVsIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxpc3QiIGlkPSJ0b2RvLXByb2dyZXNzLWxpc3QiPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBpZD0icXVldWUtYmFyLWhvc3QiIGNsYXNzPSJxdWV1ZS1iYXItaG9zdCIgaGlkZGVuPjwvZGl2PjxkaXYgY2xhc3M9ImlucHV0LWNvbXBvc2VyJysoYT8iIGhhcy10ZXh0IjoiIikrJyI+PGRpdiBjbGFzcz0iY29tcG9zZXItc3RhdHVzLXJvdyIgaWQ9ImNvbXBvc2VyLXN0YXR1cy1yb3ciPicrWm0odCkrJzxzcGFuIGNsYXNzPSJwZXJtaXNzaW9uLWFjdGlvbnMgaGlkZGVuIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zIj48c3BhbiBjbGFzcz0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIj5cdTdCNDlcdTVGODVcdTYzODhcdTY3NDM8L3NwYW4+PGJ1dHRvbiBpZD0iYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIgY2xhc3M9ImJ0biBidG4tcGVybWlzc2lvbiBidG4tcGVybWlzc2lvbi1hcHByb3ZlIiB0eXBlPSJidXR0b24iPlx1NjI3OVx1NTFDNjwvYnV0dG9uPjxidXR0b24gaWQ9ImRlbnktcGVybWlzc2lvbi1idG4iIGNsYXNzPSJidG4gYnRuLXBlcm1pc3Npb24gYnRuLXBlcm1pc3Npb24tZGVueSIgdHlwZT0iYnV0dG9uIj5cdTYyRDJcdTdFREQ8L2J1dHRvbj48L3NwYW4+JytvcCgpKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1tYWluLXJvdyI+PGRpdiBjbGFzcz0iY29tcG9zZXItYWN0aW9ucy1sZWZ0Ij48YnV0dG9uIGlkPSJhdHRhY2gtYnRuIiBjbGFzcz0iYnRuLWNpcmNsZSBidG4tY2lyY2xlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2NkY0XHU1OTFBIiBhcmlhLWxhYmVsPSJcdTY2RjRcdTU5MUEiIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPicrVigicGx1cyIse3NpemU6MTgsc3Ryb2tlV2lkdGg6Mi4yfSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZS11cGxvYWQtaW5wdXQiIG11bHRpcGxlIHRhYmluZGV4PSItMSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlubGluZS1jb25maWciPicrWWwodCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlucHV0LXdyYXAiPjx0ZXh0YXJlYSBpZD0iaW5wdXQtYm94IiBjbGFzcz0iaW5wdXQtdGV4dGFyZWEiIHBsYWNlaG9sZGVyPSInK2psKHQsci50ZXJtaW5hbEludGVyYWN0aXZlKSsnIiByb3dzPSIxIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIGVudGVya2V5aGludD0ic2VuZCI+JytwKGEpKyc8L3RleHRhcmVhPjxidXR0b24gaWQ9InByb21wdC1vcHRpbWl6ZS1idG4iIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIgYXJpYS1sYWJlbD0iXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2Ij48c3ZnIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtaWNvbiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4yNSIvPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiLz48cGF0aCBkPSJNMTkgMTRsLjcgMS45TDIxLjYgMTdsLTEuOS43TDE5IDE5LjZsLS43LTEuOUwxNi40IDE3bDEuOS0uN3oiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjxwYXRoIGQ9Ik01IDRsLjUgMS40TDcgNmwtMS41LjZMNSA4bC0uNS0xLjRMMyA2bDEuNS0uNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJ2b2ljZS1pbnB1dC1tb2RlIGhpZGRlbiIgaWQ9InZvaWNlLWlucHV0LW1vZGUiPjxidXR0b24gaWQ9InZvaWNlLXJlY29yZC1idG4iIGNsYXNzPSJ2b2ljZS1yZWNvcmQtYnRuIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ2b2ljZS1yZWNvcmQtcHVsc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InZvaWNlLXJlY29yZC1sYWJlbCI+XHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERDwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJ2b2ljZS1jYW5jZWwtYnRuIiBjbGFzcz0idm9pY2UtY2FuY2VsLWJ0biIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU5MDAwXHU1MUZBXHU4QkVEXHU5N0YzXHU2QTIxXHU1RjBGIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdThCRURcdTk3RjNcdTZBMjFcdTVGMEYiPicrVigieCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLXJpZ2h0Ij48YnV0dG9uIGlkPSJzdG9wLWJ1dHRvbiIgY2xhc3M9ImJ0bi1jaXJjbGUgYnRuLWNpcmNsZS1zdG9wIGhpZGRlbiIgdGl0bGU9Ilx1NTA1Q1x1NkI2MiI+PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIi8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2VuZC1pbnB1dC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc2VuZCIgdGl0bGU9Ilx1NTNEMVx1OTAwMSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIyMiIgeTE9IjIiIHgyPSIxMSIgeTI9IjEzIi8+PHBvbHlnb24gcG9pbnRzPSIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXR0YWNobWVudC1wcmV2aWV3IiBjbGFzcz0iYXR0YWNobWVudC1wcmV2aWV3IGhpZGRlbiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItcGx1cy1wb3BvdmVyIGhpZGRlbiIgaWQ9ImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJmYWxzZSIgYXJpYS1sYWJlbD0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48YnV0dG9uIGNsYXNzPSJwbHVzLXBvcG92ZXItaXRlbSIgaWQ9InBsdXMtYXR0YWNoLWl0ZW0iIHR5cGU9ImJ1dHRvbiI+JytWKCJwYXBlcmNsaXAiLHtzaXplOjE0LHN0cm9rZVdpZHRoOjEuOCxjbHM6InBsdXMtcG9wb3Zlci1pY29uIn0pKyc8c3BhbiBjbGFzcz0icGx1cy1wb3BvdmVyLWxhYmVsIj5cdTRFMEFcdTRGMjBcdTk2NDRcdTRFRjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icGx1cy1wb3BvdmVyLWl0ZW0nKyhyLnRlcm1pbmFsSW50ZXJhY3RpdmU/IiBpcy1vbiI6IiIpKyciIGlkPSJ0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iJysoci50ZXJtaW5hbEludGVyYWN0aXZlPyJ0cnVlIjoiZmFsc2UiKSsnIj4nK1YoImtleWJvYXJkIix7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjgsY2xzOiJwbHVzLXBvcG92ZXItaWNvbiJ9KSsnPHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci1sYWJlbCI+XHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyPC9zcGFuPjxzcGFuIGNsYXNzPSJwbHVzLXBvcG92ZXItdG9nZ2xlLXN0YXRlIj4nKyhyLnRlcm1pbmFsSW50ZXJhY3RpdmU/Ilx1NUYwMCI6Ilx1NTE3MyIpKyc8L3NwYW4+PC9idXR0b24+PGRpdiBjbGFzcz0icGx1cy1wb3BvdmVyLXNlcCIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9InBsdXMtcG9wb3Zlci10cmlvLXdyYXAiPicrWWwodCkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIGhpZGRlbiIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIiBhcmlhLWxpdmU9InBvbGl0ZSI+PGRpdiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC10ZXh0IiBpZD0idm9pY2UtdHJhbnNjcmlwdC10ZXh0Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiPjxzcGFuIGNsYXNzPSJ2b2ljZS13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyI+XHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJ2b2ljZS1idWJibGUtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9kaXY+PHAgaWQ9ImFjdGlvbi1lcnJvciIgY2xhc3M9ImVycm9yLW1lc3NhZ2UgaGlkZGVuIj48L3A+PC9kaXY+PHNlY3Rpb24gaWQ9ImZvbGRlci1waWNrZXItbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIGZvbGRlci1waWNrZXItbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU5MDA5XHU2MkU5XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9oMj48YnV0dG9uIGlkPSJjbG9zZS1mb2xkZXItcGlja2VyIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1yb3ciPjxidXR0b24gY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stYnRuIGJ0bi13aXRoLWljb24iIGRhdGEtcGF0aD0iL3RtcCI+JytWKCJ0cmFzaCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzxzcGFuPlx1NEUzNFx1NjVGNlx1NzZFRVx1NUY1NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biBidG4td2l0aC1pY29uIiBkYXRhLXBhdGg9Ii8iPicrVigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPHNwYW4+XHU2ODM5XHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1icmVhZGNydW1iIiBjbGFzcz0iZm9sZGVyLWJyZWFkY3J1bWIiPjwvZGl2PjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXIiPjxzcGFuIGNsYXNzPSJmb2xkZXItcGlja2VyLWljb24iPicrVigiZm9sZGVyIix7c2l6ZToxNSxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItaW5wdXQiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTYyMTZcdTkwMDlcdTYyRTlcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTUuLi4iIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIgY2xhc3M9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPjwvbWFpbj48L2Rpdj48L2Rpdj4nK1JjKCkrSWMoKStUYygpK1JvKCl9ZnVuY3Rpb24gT2UoZSx0KXtpZihlKXtlLnRleHRDb250ZW50PXQsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtmb3IodmFyIG49ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO247KXtpZihuLnRhZ05hbWU9PT0iSU5QVVQiKXtuLnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsInRydWUiKTticmVha31uPW4ucHJldmlvdXNFbGVtZW50U2libGluZ319fWZ1bmN0aW9uIFRpKGUpe2lmKGUpe2UudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtmb3IodmFyIHQ9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3Q7KXtpZih0LnRhZ05hbWU9PT0iSU5QVVQiKXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsImZhbHNlIik7YnJlYWt9dD10LnByZXZpb3VzRWxlbWVudFNpYmxpbmd9fX1mdW5jdGlvbiB4KGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc05hbWU9InRvYXN0LW1lc3NhZ2UiKyh0PT09ImVycm9yIj8iIHRvYXN0LWVycm9yIjoiIiksdCE9PSJlcnJvciImJihuLnN0eWxlLmJhY2tncm91bmQ9InZhcigtLWFjY2VudCkiLG4uc3R5bGUuY29sb3I9IndoaXRlIiksbi50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksc2V0VGltZW91dChmdW5jdGlvbigpe24ucmVtb3ZlKCl9LHQ9PT0iZXJyb3IiPzRlMzoyMjAwKX12YXIgcXI9W10sZHA9MDtmdW5jdGlvbiBjcChlKXtzd2l0Y2goZSl7Y2FzZSJ3YXJuaW5nIjpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTAuMyAyLjkgMS44IDE3YTIgMiAwIDAgMCAxLjcgM2gxN2EyIDIgMCAwIDAgMS43LTNMMTMuNyAyLjlhMiAyIDAgMCAwLTMuNCAwWiIvPjxwYXRoIGQ9Ik0xMiA5djQiLz48cGF0aCBkPSJNMTIgMTdoLjAxIi8+PC9zdmc+JztjYXNlImRhbmdlciI6cmV0dXJuJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGg4djIiLz48cGF0aCBkPSJtMTkgNi0xIDE0SDZMNSA2Ii8+PHBhdGggZD0iTTEwIDExdjUiLz48cGF0aCBkPSJNMTQgMTF2NSIvPjwvc3ZnPic7Y2FzZSJzdWNjZXNzIjpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSIvPjwvc3ZnPic7Y2FzZSJxdWVzdGlvbiI6cmV0dXJuJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxwYXRoIGQ9Ik05LjcgOWEyLjUgMi41IDAgMSAxIDQuNSAxLjVjLS45LjgtMi4yIDEuMi0yLjIgMi41Ii8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPic7ZGVmYXVsdDpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PHBhdGggZD0iTTEyIDExdjUiLz48cGF0aCBkPSJNMTIgOGguMDEiLz48L3N2Zz4nfX1mdW5jdGlvbiB5bihlKXtlPWV8fHt9O3ZhciB0PWUuZGlzbWlzc2FibGUhPT0hMSxuPWUudHlwZXx8ImluZm8iLGk9Y3AobiksYT0hIWUuaW5wdXQ7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUpe3ZhciBvPSJ3YW5kLWRpYWxvZy0iKyArK2RwLHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1iYWNrZHJvcCIsbC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ciLGQuc2V0QXR0cmlidXRlKCJyb2xlIixhPyJkaWFsb2ciOiJhbGVydGRpYWxvZyIpLGQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1oZWFkZXIiO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pY29uICIrbixjLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksZS5pY29uP2MudGV4dENvbnRlbnQ9U3RyaW5nKGUuaWNvbik6Yy5pbm5lckhUTUw9aSxmLmFwcGVuZENoaWxkKGMpO3ZhciB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHYuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy10ZXh0d3JhcCIsZS50aXRsZSl7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aC5jbGFzc05hbWU9IndhbmQtZGlhbG9nLXRpdGxlIixoLmlkPW8rIi10aXRsZSIsaC50ZXh0Q29udGVudD1lLnRpdGxlLHYuYXBwZW5kQ2hpbGQoaCksZC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsaC5pZCl9aWYoZS5tZXNzYWdlKXt2YXIgbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctbWVzc2FnZSIsbS5pZD1vKyItbWVzc2FnZSIsbS50ZXh0Q29udGVudD1lLm1lc3NhZ2Usdi5hcHBlbmRDaGlsZChtKSxkLnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsbS5pZCl9ZS50aXRsZXx8ZC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG49PT0iZGFuZ2VyIj8iXHU3ODZFXHU4QkE0XHU2NENEXHU0RjVDIjoiXHU2M0QwXHU3OTNBIiksZi5hcHBlbmRDaGlsZCh2KSxkLmFwcGVuZENoaWxkKGYpO3ZhciBnPW51bGw7aWYoYSl7dmFyIHk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7eS5jbGFzc05hbWU9IndhbmQtZGlhbG9nLWJvZHkiLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxnLnR5cGU9InRleHQiLGcuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pbnB1dCIsZy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUuaW5wdXRMYWJlbHx8ZS50aXRsZXx8Ilx1OEY5M1x1NTE2NVx1NTE4NVx1NUJCOSIpLGcuYXV0b2NvbXBsZXRlPSJvZmYiLGcuc3BlbGxjaGVjaz0hMSxlLmlucHV0UGxhY2Vob2xkZXImJihnLnBsYWNlaG9sZGVyPWUuaW5wdXRQbGFjZWhvbGRlciksZS5pbnB1dFZhbHVlIT1udWxsJiYoZy52YWx1ZT1TdHJpbmcoZS5pbnB1dFZhbHVlKSkseS5hcHBlbmRDaGlsZChnKSxkLmFwcGVuZENoaWxkKHkpfXZhciBCPWUuYnV0dG9ucyYmZS5idXR0b25zLmxlbmd0aD9lLmJ1dHRvbnM6W3tsYWJlbDoiXHU1OTdEIix2YWx1ZTohMCxraW5kOiJwcmltYXJ5IixhdXRvZm9jdXM6ITB9XSxFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0UuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1mb290ZXIiO3ZhciBDPW51bGwsRD1udWxsO2Z1bmN0aW9uIEYoUyl7aWYoIWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJjbG9zaW5nIikpe2wuY2xhc3NMaXN0LmFkZCgiY2xvc2luZyIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEwsITApO3ZhciBOPXFyLmluZGV4T2YoRik7Tj49MCYmcXIuc3BsaWNlKE4sMSk7dmFyIEo9ITE7dHJ5e0o9ISEod2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXMpfWNhdGNoe31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCkscyYmZG9jdW1lbnQuY29udGFpbnMocykmJnR5cGVvZiBzLmZvY3VzPT0iZnVuY3Rpb24iKXRyeXtzLmZvY3VzKCl9Y2F0Y2h7fXUoUyl9LEp8fGRvY3VtZW50LmhpZGRlbj8wOjE0MCl9fUIuZm9yRWFjaChmdW5jdGlvbihTKXt2YXIgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKSxKPVMua2luZHx8InNlY29uZGFyeSI7Ti5jbGFzc05hbWU9ImJ0biBidG4tIitKLE4udHlwZT0iYnV0dG9uIixOLnRleHRDb250ZW50PVMubGFiZWwsTi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXthJiZTLmtpbmQ9PT0icHJpbWFyeSI/RihnP2cudmFsdWU6IiIpOkYoUy52YWx1ZSl9KSxDfHwoQz1OKSxTLmF1dG9mb2N1cyYmKEQ9TiksRS5hcHBlbmRDaGlsZChOKX0pLGQuYXBwZW5kQ2hpbGQoRSksbC5hcHBlbmRDaGlsZChkKSxsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihTKXtTLnRhcmdldD09PWwmJnQmJkYoZS5jYW5jZWxWYWx1ZSE9PXZvaWQgMD9lLmNhbmNlbFZhbHVlOmE/bnVsbDohMSl9KTtmdW5jdGlvbiBMKFMpe2lmKHFyW3FyLmxlbmd0aC0xXT09PUYpe2lmKFMua2V5PT09IkVzY2FwZSImJnQpe1MucHJldmVudERlZmF1bHQoKSxTLnN0b3BQcm9wYWdhdGlvbigpLEYoZS5jYW5jZWxWYWx1ZSE9PXZvaWQgMD9lLmNhbmNlbFZhbHVlOmE/bnVsbDohMSk7cmV0dXJufWlmKFMua2V5PT09IkVudGVyIil7Zm9yKHZhciBOPW51bGwsSj0wO0o8Qi5sZW5ndGg7SisrKWlmKEJbSl0ua2luZD09PSJwcmltYXJ5Iil7Tj1CW0pdO2JyZWFrfU58fChOPUJbQi5sZW5ndGgtMV0pLE4mJihTLnByZXZlbnREZWZhdWx0KCksUy5zdG9wUHJvcGFnYXRpb24oKSxhJiZOLmtpbmQ9PT0icHJpbWFyeSI/RihnP2cudmFsdWU6IiIpOkYoTi52YWx1ZSkpO3JldHVybn1pZihTLmtleT09PSJUYWIiKXt2YXIgVz1kLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScpO2lmKCFXLmxlbmd0aClyZXR1cm47dmFyIGs9V1swXSxJPVdbVy5sZW5ndGgtMV07Uy5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWs/KFMucHJldmVudERlZmF1bHQoKSxJLmZvY3VzKCkpOiFTLnNoaWZ0S2V5JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09SSYmKFMucHJldmVudERlZmF1bHQoKSxrLmZvY3VzKCkpfX19ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsTCwhMCkscXIucHVzaChGKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGwpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKGEmJmcpe2cuZm9jdXMoKTt0cnl7Zy5zZWxlY3QoKX1jYXRjaHt9fWVsc2UgRD9ELmZvY3VzKCk6QyYmQy5mb2N1cygpfSl9KX1mdW5jdGlvbiBBcyhlLHQpe3JldHVybiB0PXR8fHt9LHluKHt0aXRsZTp0LnRpdGxlfHwiXHU2M0QwXHU3OTNBIixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTp0LnR5cGV8fCJpbmZvIixidXR0b25zOlt7bGFiZWw6dC5va0xhYmVsfHwiXHU1OTdEIix2YWx1ZTp2b2lkIDAsa2luZDoicHJpbWFyeSIsYXV0b2ZvY3VzOiEwfV19KX1mdW5jdGlvbiBRYShlLHQpe3Q9dHx8e307dmFyIG49ISF0LmRhbmdlcnx8dC50eXBlPT09ImRhbmdlciI7cmV0dXJuIHluKHt0aXRsZTp0LnRpdGxlfHwobj8iXHU3ODZFXHU4QkE0XHU2NENEXHU0RjVDIjoiXHU4QkY3XHU3ODZFXHU4QkE0IiksbWVzc2FnZTp0eXBlb2YgZT09InN0cmluZyI/ZTpTdHJpbmcoZT8/IiIpLHR5cGU6dC50eXBlfHwobj8iZGFuZ2VyIjoicXVlc3Rpb24iKSxjYW5jZWxWYWx1ZTohMSxidXR0b25zOlt7bGFiZWw6dC5jYW5jZWxMYWJlbHx8Ilx1NTNENlx1NkQ4OCIsdmFsdWU6ITEsa2luZDoic2Vjb25kYXJ5In0se2xhYmVsOnQub2tMYWJlbHx8KG4/Ilx1NTIyMFx1OTY2NCI6Ilx1Nzg2RVx1NUI5QSIpLHZhbHVlOiEwLGtpbmQ6bj8iZGFuZ2VyIjoicHJpbWFyeSIsYXV0b2ZvY3VzOiFufV19KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpPT09ITB9KX1mdW5jdGlvbiBmcChlLHQsbil7cmV0dXJuIG49bnx8e30seW4oe3RpdGxlOm4udGl0bGV8fCJcdThCRjdcdThGOTNcdTUxNjUiLG1lc3NhZ2U6dHlwZW9mIGU9PSJzdHJpbmciP2U6U3RyaW5nKGU/PyIiKSx0eXBlOm4udHlwZXx8InF1ZXN0aW9uIixpbnB1dDohMCxpbnB1dFZhbHVlOnQ9PW51bGw/IiI6U3RyaW5nKHQpLGlucHV0UGxhY2Vob2xkZXI6bi5wbGFjZWhvbGRlcnx8IiIsY2FuY2VsVmFsdWU6bnVsbCxidXR0b25zOlt7bGFiZWw6bi5jYW5jZWxMYWJlbHx8Ilx1NTNENlx1NkQ4OCIsdmFsdWU6bnVsbCxraW5kOiJzZWNvbmRhcnkifSx7bGFiZWw6bi5va0xhYmVsfHwiXHU3ODZFXHU1QjlBIix2YWx1ZTp2b2lkIDAsa2luZDoicHJpbWFyeSJ9XX0pfXdpbmRvdy53YW5kQWxlcnQ9QXMsd2luZG93LndhbmRDb25maXJtPVFhLHdpbmRvdy53YW5kUHJvbXB0PWZwLHdpbmRvdy5vcGVuV2FuZERpYWxvZz15bjt2YXIgZW49W10seHM9MCxwcD02LHZwPTE2O2Z1bmN0aW9uICRhKGUpe2lmKChlLmFjdGlvbkxhYmVsfHxlLnBsYXlTb3VuZCkmJk1zKCksIXIubm90aWZCdWJibGUpcmV0dXJue2Rpc21pc3M6ZnVuY3Rpb24oKXt9fTt2YXIgdD0rK3hzLG49ZS50eXBlfHwiaW5mbyIsaT1lLmljb258fChuPT09Indhcm5pbmciPyIhIjpuPT09InN1Y2Nlc3MiPyJcdTI3MTMiOiJpIiksYT1lLmR1cmF0aW9uIT09dm9pZCAwP2UuZHVyYXRpb246OGUzLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dS5jbGFzc05hbWU9Im5vdGlmaWNhdGlvbi1idWJibGUiLHUuc2V0QXR0cmlidXRlKCJkYXRhLW5pZCIsU3RyaW5nKHQpKTt2YXIgbz0nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1oZWFkZXIiPjxzcGFuIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWljb24gJytuKyciPicraSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLXRpdGxlIj4nK3AoZS50aXRsZSkrJzwvc3Bhbj48YnV0dG9uIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWNsb3NlIiB0aXRsZT0iXHU1MTczXHU5NUVEIj5ceEQ3PC9idXR0b24+PC9kaXY+JyxzPWUuYm9keT8nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1ib2R5Ij4nK3AoZS5ib2R5KS5yZXBsYWNlKC9cbi9nLCI8YnI+IikrIjwvZGl2PiI6IiIsbD1lLmFjdGlvbkxhYmVsPyc8ZGl2IGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InByaW1hcnkiPicrcChlLmFjdGlvbkxhYmVsKSsiPC9idXR0b24+PC9kaXY+IjoiIjt1LmlubmVySFRNTD1vK3MrbCxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHUpO3ZhciBkPXtpZDp0LGVsOnV9O2VuLnB1c2goZCksWGEoKTt2YXIgZj11LnF1ZXJ5U2VsZWN0b3IoIi5ub3RpZmljYXRpb24tYnViYmxlLWNsb3NlIik7aWYoZiYmKGYub25jbGljaz1mdW5jdGlvbigpe0hyKHQpfSksZS5hY3Rpb25MYWJlbCYmZS5hY3Rpb24pe3ZhciBjPXUucXVlcnlTZWxlY3RvcigiLm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24iKTtjJiYoYy5vbmNsaWNrPWZ1bmN0aW9uKCl7ZS5hY3Rpb24oKSxIcih0KX0pfXZhciB2PW51bGw7cmV0dXJuIGE+MCYmKHY9c2V0VGltZW91dChmdW5jdGlvbigpe0hyKHQpfSxhKSkse2Rpc21pc3M6ZnVuY3Rpb24oKXtIcih0KX19fWZ1bmN0aW9uIEhyKGUpe2Zvcih2YXIgdD0tMSxuPTA7bjxlbi5sZW5ndGg7bisrKWlmKGVuW25dLmlkPT09ZSl7dD1uO2JyZWFrfWlmKHQhPT0tMSl7dmFyIGk9ZW5bdF07aS5lbC5jbGFzc0xpc3QuYWRkKCJzbGlkZS1vdXQiKSxlbi5zcGxpY2UodCwxKSxYYSgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmVsLnBhcmVudE5vZGUmJmkuZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpLmVsKX0sMzAwKX19ZnVuY3Rpb24gWGEoKXtmb3IodmFyIGU9dnAsdD0wO3Q8ZW4ubGVuZ3RoO3QrKyllblt0XS5lbC5zdHlsZS50b3A9ZSsicHgiLGUrPWVuW3RdLmVsLm9mZnNldEhlaWdodCtwcH10cnl7X3M9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2FuZFBsYXRmb3JtXC9tYWNPUy8pLHR1PXdpbmRvdy53ZWJraXQmJndpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzJiZ3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy53YW5kTmF0aXZlfHxudWxsLF9zJiZ0dSYmdHlwZW9mIHdpbmRvdy5XYW5kTmF0aXZlPiJ1IiYmKHdpbmRvdy5XYW5kTmF0aXZlPXtkb3dubG9hZFVwZGF0ZTpmdW5jdGlvbihlLHQsbil7dHJ5e3R1LnBvc3RNZXNzYWdlKHt0eXBlOiJkb3dubG9hZFVwZGF0ZSIsdXJsOlN0cmluZyhlfHwiIiksZmlsZU5hbWU6U3RyaW5nKHR8fCJ3YW5kLXVwZGF0ZS5kbWciKSxzb3VyY2U6U3RyaW5nKG58fCJsb2NhbCIpfSl9Y2F0Y2h7fX19KX1jYXRjaHt9dmFyIGplPXR5cGVvZiBXYW5kTmF0aXZlPCJ1IiYmdHlwZW9mIFdhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbj09ImZ1bmN0aW9uIixfcj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XYW5kQXBwXC8oW15cc10rKS8pLFNzPS9XYW5kUGxhdGZvcm1cL21hY09TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG1wPSEhX3ImJiFTcyx6bj1fciYmbXA/X3JbMV06bnVsbCxibj1fciYmU3M/X3JbMV06bnVsbDtmdW5jdGlvbiBvcihlKXtpZighKCFqZXx8dHlwZW9mIFdhbmROYXRpdmUudmlicmF0ZSE9ImZ1bmN0aW9uIikpdHJ5e1dhbmROYXRpdmUudmlicmF0ZShlfHwibGlnaHQiKX1jYXRjaHt9fWZ1bmN0aW9uIFphKCl7aWYoamUpe3ZhciBlPXIuc2Vzc2lvbnMuc29tZShmdW5jdGlvbih0KXtyZXR1cm4hdC5hcmNoaXZlZCYmKHQuc3RhdHVzPT09InJ1bm5pbmcifHx0LnN0YXR1cz09PSJ0aGlua2luZyJ8fHQuc3RhdHVzPT09ImluaXRpYWxpemluZyIpfSk7aWYodHlwZW9mIFdhbmROYXRpdmUuc2V0S2VlcFNjcmVlbk9uPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldEtlZXBTY3JlZW5PbihlKX1jYXRjaHt9aWYoZSl7aWYodHlwZW9mIFdhbmROYXRpdmUuc3RhcnRLZWVwQWxpdmU9PSJmdW5jdGlvbiIpdHJ5e1dhbmROYXRpdmUuc3RhcnRLZWVwQWxpdmUoKX1jYXRjaHt9fWVsc2UgaWYodHlwZW9mIFdhbmROYXRpdmUuc3RvcEtlZXBBbGl2ZT09ImZ1bmN0aW9uIil0cnl7V2FuZE5hdGl2ZS5zdG9wS2VlcEFsaXZlKCl9Y2F0Y2h7fX19ZnVuY3Rpb24gTGkoKXtpZihqZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0UGVybWlzc2lvbj09ImZ1bmN0aW9uIil0cnl7cmV0dXJuIFdhbmROYXRpdmUuZ2V0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBncCgpe2lmKGplKXt2YXIgZT1MaSgpO2lmKGU9PT0iZGVmYXVsdCJ8fGU9PT0iZGVuaWVkIil0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59dHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09ImRlZmF1bHQiJiZOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKX1mdW5jdGlvbiBocChlKXt2YXIgdD1lfHx7fTtyZXR1cm4hKHQub25seVdoZW5IaWRkZW4mJiFkb2N1bWVudC5oaWRkZW58fHQuc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZCYmdC5za2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiYhZG9jdW1lbnQuaGlkZGVuKX1mdW5jdGlvbiB5cChlLHQpe2lmKCFlfHwhdHx8dDw9MClyZXR1cm4hMTt2YXIgbj1yLm5vdGlmaWNhdGlvbkhpc3RvcnlbZV18fDAsaT1EYXRlLm5vdygpO3JldHVybiBpLW48dD8hMDooci5ub3RpZmljYXRpb25IaXN0b3J5W2VdPWksITEpfWZ1bmN0aW9uIE1pKGUsdCxuKXt2YXIgaT1ufHx7fSxhPWkudGFnfHwiIjtpZihocChpKSYmIXlwKGEsaS5taW5JbnRlcnZhbE1zfHwwKSl7aWYoamUpe3ZhciB1PUxpKCk7aWYodSE9PSJncmFudGVkIilyZXR1cm47dHJ5e3ZhciBvPWE7aS5raW5kJiYobz1pLmtpbmQrKGE/IjoiK2E6IiIpKSxXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb24oZXx8IldhbmQiLHR8fCIiLG98fCIiKX1jYXRjaHt9cmV0dXJufWlmKCEodHlwZW9mIE5vdGlmaWNhdGlvbj4idSJ8fE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIT09ImdyYW50ZWQiKSYmZG9jdW1lbnQuaGlkZGVuKXRyeXt2YXIgcz1uZXcgTm90aWZpY2F0aW9uKGUse2JvZHk6dHx8IiIsaWNvbjppLmljb258fCIvZmF2aWNvbi5pY28iLHRhZzphfHx2b2lkIDB9KTtzLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cuZm9jdXMoKSxzLmNsb3NlKCksaS5vbkNsaWNrJiZpLm9uQ2xpY2soKX0sc2V0VGltZW91dChmdW5jdGlvbigpe3MuY2xvc2UoKX0sMWU0KX1jYXRjaHt9fX1mdW5jdGlvbiBicChlLHQpe2lmKCEoIXR8fCF0LnRpdGxlKSl7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZX0pO2lmKG4pe3ZhciBpPW4uc3VtbWFyeXx8bi5jb21tYW5kfHxlO01pKCJcdTRFRkJcdTUyQTFcdThGREJcdTg4NENcdTRFMkQiLGkrYApgK3QudGl0bGUse2tpbmQ6InRhc2siLHRhZzoid2FuZC10YXNrLSIrZSsiLSIrdC50aXRsZSxtaW5JbnRlcnZhbE1zOjllNCxvbmx5V2hlbkhpZGRlbjohMCxza2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkOmUsb25DbGljazpmdW5jdGlvbigpe2UhPT1yLnNlbGVjdGVkSWQmJk50KGUpfX0pfX19ZnVuY3Rpb24gSXMoZSx0KXtEcChlfHwiLSIsdHx8Ii0iKSxNaSgiV2FuZCBcdTUzRDFcdTczQjBcdTY1QjBcdTcyNDhcdTY3MkMiLCJcdTVGNTNcdTUyNEQgIisoZXx8Ii0iKSsiIFx1MjE5MiBcdTY3MDBcdTY1QjAgIisodHx8Ii0iKSx7a2luZDoidXBkYXRlIix0YWc6IndhbmQtdXBkYXRlIixtaW5JbnRlcnZhbE1zOjNlNX0pfWZ1bmN0aW9uIEVwKGUsdCl7TWkoIlx1OTcwMFx1ODk4MVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyIsdCx7a2luZDoicGVybWlzc2lvbiIsdGFnOiJ3YW5kLXBlcm0tIitlLG1pbkludGVydmFsTXM6NmU0LG9ubHlXaGVuSGlkZGVuOiEwLHNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQ6ZSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZSE9PXIuc2VsZWN0ZWRJZCYmTnQoZSl9fSl9ZnVuY3Rpb24gRnAoZSx0LG4pe01pKHQsbix7a2luZDoidGFzay1lbmRlZCIsdGFnOiJ3YW5kLWVuZGVkLSIrZSxtaW5JbnRlcnZhbE1zOjFlNCxvbkNsaWNrOmZ1bmN0aW9uKCl7ZSE9PXIuc2VsZWN0ZWRJZCYmTnQoZSl9fSl9dmFyIFZuPXt9LENwPTMwO2Z1bmN0aW9uIFRzKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PVN0cmluZyhlKS5yZXBsYWNlKC9eIytccysvZ20sIiIpLnJlcGxhY2UoL1wqXCovZywiIikucmVwbGFjZSgvYC9nLCIiKS50cmltKCksbj10LnNwbGl0KGAKYClbMF0udHJpbSgpO3JldHVybiBuLmxlbmd0aD4xMDAmJihuPW4uc2xpY2UoMCwxMDApKyJcdTIwMjYiKSxufWZ1bmN0aW9uIGV1KGUpeyFqZXx8dHlwZW9mIFdhbmROYXRpdmUudXBkYXRlU2Vzc2lvblByb2dyZXNzIT0iZnVuY3Rpb24ifHxlJiYoVm5bZV0mJmNsZWFyVGltZW91dChWbltlXSksVm5bZV09c2V0VGltZW91dChmdW5jdGlvbigpe2RlbGV0ZSBWbltlXSx3cChlKX0sQ3ApKX1mdW5jdGlvbiB3cChlKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRil7cmV0dXJuIEYuaWQ9PT1lfSk7aWYodCl7dmFyIG49dC5zdW1tYXJ5fHx0LmNvbW1hbmR8fGUsaT10LnN0YXR1c3x8InJ1bm5pbmciO2lmKGk9PT0iaWRsZSJ8fGk9PT0iYXJjaGl2ZWQifHxpPT09ImV4aXRlZCIpe0xzKGUpO3JldHVybn1mb3IodmFyIGE9bnVsbCx1PSIiLG89IiIscz1bXSxsPXQubWVzc2FnZXN8fFtdLGQ9bC5sZW5ndGgtMTtkPj0wO2QtLSl7dmFyIGY9bFtkXTtpZighKCFmLmNvbnRlbnR8fCFBcnJheS5pc0FycmF5KGYuY29udGVudCkpKXtpZighbyYmZi5yb2xlPT09ImFzc2lzdGFudCIpZm9yKHZhciBjPWYuY29udGVudC5sZW5ndGgtMTtjPj0wO2MtLSl7dmFyIHY9Zi5jb250ZW50W2NdO2lmKHYmJnYudHlwZT09PSJ0ZXh0IiYmdi50ZXh0JiZ2LnRleHQudHJpbSgpKXtvPVRzKHYudGV4dCk7YnJlYWt9fWlmKGYucm9sZT09PSJ1c2VyIil7dmFyIGg9Zi5jb250ZW50LnNvbWUoZnVuY3Rpb24oRil7cmV0dXJuIEYmJkYuX19xdWV1ZWR9KTtpZighaClmb3IodmFyIG09MDttPGYuY29udGVudC5sZW5ndGg7bSsrKXt2YXIgZz1mLmNvbnRlbnRbbV07aWYoZyYmZy50eXBlPT09InRleHQiJiZnLnRleHQmJmcudGV4dC50cmltKCkpe3ZhciB5PVRzKGcudGV4dCk7dXx8KHU9eSkscy5sZW5ndGg8NCYmcy5wdXNoKHkpO2JyZWFrfX19aWYoIWEpZm9yKHZhciBCPWYuY29udGVudC5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEU9Zi5jb250ZW50W0JdO2lmKEUmJkUudHlwZT09PSJ0b29sX3VzZSImJkUubmFtZT09PSJUb2RvV3JpdGUiJiZFLmlucHV0JiZFLmlucHV0LnRvZG9zKXthPUUuaW5wdXQudG9kb3M7YnJlYWt9fWlmKGEmJnMubGVuZ3RoPj00JiZvKWJyZWFrfX1zLnJldmVyc2UoKTt2YXIgQz0iIjtlPT09ci5zZWxlY3RlZElkJiZyLmN1cnJlbnRUYXNrJiZyLmN1cnJlbnRUYXNrLnRpdGxlJiYoQz1yLmN1cnJlbnRUYXNrLnRpdGxlKTt2YXIgRD17c2Vzc2lvbkxhYmVsOm4sc3RhdHVzOmksY3VycmVudFRhc2s6QyxsYXRlc3RVc2VyVGV4dDp1LGxhdGVzdEFzc2lzdGFudFRleHQ6byx0b2RvczphfHxbXSxyZWNlbnRVc2VyVGV4dHM6c307dHJ5e1dhbmROYXRpdmUudXBkYXRlU2Vzc2lvblByb2dyZXNzKGUsSlNPTi5zdHJpbmdpZnkoRCkpfWNhdGNoe319fWZ1bmN0aW9uIExzKGUpe2lmKCEoIWplfHx0eXBlb2YgV2FuZE5hdGl2ZS5jbGVhclNlc3Npb25Qcm9ncmVzcyE9ImZ1bmN0aW9uIikpe1ZuW2VdJiYoY2xlYXJUaW1lb3V0KFZuW2VdKSxkZWxldGUgVm5bZV0pO3RyeXtXYW5kTmF0aXZlLmNsZWFyU2Vzc2lvblByb2dyZXNzKGUpfWNhdGNoe319fXdpbmRvdy5oYW5kbGVOYXRpdmVCYWNrPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLW1vZGFsIik7aWYoZSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSlyZXR1cm4gdnIoKSwhMDt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2lmKHQmJiF0LmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpcmV0dXJuIEFuKCksITA7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7cmV0dXJuIG4mJiFuLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIik/KHByKCksITApOnIuZmlsZVBhbmVsT3BlbiYmTmUoKT8oRGEoITEpLCEwKTpyLnNlc3Npb25zRHJhd2VyT3BlbiYmTmUoKT8obmkoKSwhMCk6TmUoKSYmci5zZWxlY3RlZElkPyhyLnNlbGVjdGVkSWQ9bnVsbCxFZSgpLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsITApLFp0KCksITApOiExfTtmdW5jdGlvbiBNcygpe3Iubm90aWZTb3VuZCYmT2koKX1mdW5jdGlvbiBCcCgpe3JldHVybiBPaSgpfWZ1bmN0aW9uIE9pKCl7dHJ5e2xldCBhPWZ1bmN0aW9uKHUsbyxzKXt2YXIgbD1uLmNyZWF0ZU9zY2lsbGF0b3IoKSxkPW4uY3JlYXRlR2FpbigpO2wudHlwZT0ic2luZSIsbC5mcmVxdWVuY3kudmFsdWU9dSxkLmdhaW4uc2V0VmFsdWVBdFRpbWUoMCxuLmN1cnJlbnRUaW1lK28pLGQuZ2Fpbi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSguNSppLG4uY3VycmVudFRpbWUrbysuMDQpLGQuZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKC4wMDEsbi5jdXJyZW50VGltZStvK3MpLGwuY29ubmVjdChkKSxkLmNvbm5lY3Qobi5kZXN0aW5hdGlvbiksbC5zdGFydChuLmN1cnJlbnRUaW1lK28pLGwuc3RvcChuLmN1cnJlbnRUaW1lK28rcyl9O3ZhciBlPWEsdD13aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0O2lmKCF0KXJldHVybiExO3ZhciBuPW5ldyB0O24uc3RhdGU9PT0ic3VzcGVuZGVkIiYmbi5yZXN1bWUoKTt2YXIgaT0oci5ub3RpZlZvbHVtZXx8MCkvMTAwO3JldHVybiBhKDUyMywwLC4yNSksYSg2NTksLjEyLC4zKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5jbG9zZSgpfSw2MDApLCEwfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBEcChlLHQpe2lmKHIuX3VwZGF0ZUJ1YmJsZVNob3duKXJldHVybjtyLl91cGRhdGVCdWJibGVTaG93bj0hMCxNcygpO3ZhciBuPSsreHMsaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0ibm90aWZpY2F0aW9uLWJ1YmJsZSB1cGRhdGUtY2FyZCIsaS5zZXRBdHRyaWJ1dGUoImRhdGEtbmlkIixTdHJpbmcobikpLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1zaGluZSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWhlYWRlciI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMTlWNSIvPjxwYXRoIGQ9Ik01IDEybDctNyA3IDciLz48L3N2Zz48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1oZWFkaW5nIj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC10aXRsZSI+XHU1M0QxXHU3M0IwXHU2NUIwXHU3MjQ4XHU2NzJDPC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtc3VidGl0bGUiIGlkPSJ1cGRhdGUtY2FyZC1zdWJ0aXRsZSI+XHU3MEI5XHU1MUZCXHU0RTBCXHU2NUI5XHU2MzA5XHU5NEFFXHU0RTAwXHU5NTJFXHU2NkY0XHU2NUIwPC9kaXY+PC9kaXY+PGJ1dHRvbiBjbGFzcz0idXBkYXRlLWNhcmQtY2xvc2UiIHRpdGxlPSJcdTdBMERcdTU0MEVcdTYzRDBcdTkxOTIiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xOCA2TDYgMTgiLz48cGF0aCBkPSJNNiA2bDEyIDEyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtdmVyc2lvbiI+PHNwYW4gY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcCB1cGRhdGUtY2FyZC12ZXJzaW9uLWN1cnJlbnQiPnYnK3AoU3RyaW5nKGUpLnJlcGxhY2UoL152LywiIikpKyc8L3NwYW4+PHN2ZyBjbGFzcz0idXBkYXRlLWNhcmQtdmVyc2lvbi1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTUgMTJoMTQiLz48cGF0aCBkPSJNMTMgNWw3IDctNyA3Ii8+PC9zdmc+PHNwYW4gY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcCB1cGRhdGUtY2FyZC12ZXJzaW9uLWxhdGVzdCI+dicrcChTdHJpbmcodCkucmVwbGFjZSgvXnYvLCIiKSkrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcyIgaWQ9InVwZGF0ZS1jYXJkLXByb2dyZXNzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtcHJvZ3Jlc3MtdHJhY2siPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXByb2dyZXNzLWZpbGwiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXN0YXR1cyBoaWRkZW4iIGlkPSJ1cGRhdGUtY2FyZC1zdGF0dXMiPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InVwZGF0ZS1jYXJkLWFjdGlvbiB1cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeSIgaWQ9InVwZGF0ZS1idWJibGUtYWN0aW9uIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb24tbGFiZWwiPlx1N0FDQlx1NTM3M1x1NjZGNFx1NjVCMDwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSk7dmFyIGE9e2lkOm4sZWw6aX07ZW4ucHVzaChhKSxYYSgpO3ZhciB1PWkucXVlcnlTZWxlY3RvcigiLnVwZGF0ZS1jYXJkLWNsb3NlIik7dSYmKHUub25jbGljaz1mdW5jdGlvbigpe0hyKG4pLHIuX3VwZGF0ZUJ1YmJsZVNob3duPSExfSk7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWJ1YmJsZS1hY3Rpb24iKSxzPWkucXVlcnlTZWxlY3RvcigiLnVwZGF0ZS1jYXJkLWFjdGlvbi1sYWJlbCIpLGw9aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWNhcmQtc3VidGl0bGUiKSxkPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXN0YXR1cyIpLGY9aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWNhcmQtcHJvZ3Jlc3MiKTtmdW5jdGlvbiBjKG0sZyl7aWYoZCl7aWYoZC50ZXh0Q29udGVudD1tfHwiIixkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIsImVycm9yIiwic3VjY2VzcyIpLCFtKXtkLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3JldHVybn1nJiZkLmNsYXNzTGlzdC5hZGQoZyl9fWZ1bmN0aW9uIHYobSl7bCYmKGwudGV4dENvbnRlbnQ9bXx8IiIpfWZ1bmN0aW9uIGgobSl7ZiYmZi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhbSl9byYmKG8ub25jbGljaz1mdW5jdGlvbigpe28uZGlzYWJsZWQ9ITAsaS5jbGFzc0xpc3QuYWRkKCJpcy1idXN5IikscyYmKHMudGV4dENvbnRlbnQ9Ilx1NjZGNFx1NjVCMFx1NEUyRFx1MjAyNiIpLHYoIlx1NkI2M1x1NTcyOFx1NEUwQlx1OEY3RFx1NUU3Nlx1NUI4OVx1ODhDNVx1NjVCMFx1NzI0OFx1NjcyQ1x1MjAyNiIpLGgoITApLGMoIiIpLGZldGNoKCIvYXBpL3VwZGF0ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihtKXtyZXR1cm4gbS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG0pe2lmKG0uZXJyb3Ipe2goITEpLGkuY2xhc3NMaXN0LnJlbW92ZSgiaXMtYnVzeSIpLHYoIlx1NjZGNFx1NjVCMFx1NjcyQVx1NUI4Q1x1NjIxMCIpLGMobS5lcnJvciwiZXJyb3IiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTkxQ0RcdThCRDUiKTtyZXR1cm59aWYoaS5jbGFzc0xpc3QuYWRkKCJpcy1zdWNjZXNzIiksdigobS5tZXNzYWdlfHwiXHU2NkY0XHU2NUIwXHU1QjhDXHU2MjEwIikrIlx1RkYwQ1x1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MjAyNiIpLGMoIiIpLHMmJihzLnRleHRDb250ZW50PSJcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTIwMjYiKSxtLmRldGFjaGVkVXBkYXRlKXtFbigpO3JldHVybn1pZihtLnJlc3RhcnRSZXF1aXJlZD09PSExKXtoKCExKSxpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWJ1c3kiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTVERjJcdTVCOENcdTYyMTAiKTtyZXR1cm59a3AobyxzLGwsZCxmKX0pLmNhdGNoKGZ1bmN0aW9uKCl7aCghMSksaS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1idXN5IiksdigiXHU2NkY0XHU2NUIwXHU2NzJBXHU1QjhDXHU2MjEwIiksYygiXHU4QkY3XHU2OEMwXHU2N0U1XHU3RjUxXHU3RURDXHU4RkRFXHU2M0E1XHU1NDBFXHU5MUNEXHU4QkQ1IiwiZXJyb3IiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTkxQ0RcdThCRDUiKX0pfSl9ZnVuY3Rpb24ga3AoZSx0LG4saSxhKXtmZXRjaCgiL2FwaS9yZXN0YXJ0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oKXtFbigpfSkuY2F0Y2goZnVuY3Rpb24oKXtFbigpfSl9ZnVuY3Rpb24gT3MoZSx0KXtlJiYoZS5kaXNhYmxlZD0hMCxlLnRleHRDb250ZW50PSJcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTIwMjYiKSx0JiYodC50ZXh0Q29udGVudD0iXHU2NzBEXHU1MkExXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2Iix0LnN0eWxlLmNvbG9yPSJ2YXIoLS10ZXh0LXNlY29uZGFyeSkiKSxmZXRjaCgiL2FwaS9yZXN0YXJ0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oKXtFbigpfSkuY2F0Y2goZnVuY3Rpb24oKXtFbigpfSl9ZnVuY3Rpb24gUHMoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9lLnRyaW0oKS5yZXBsYWNlKC9edi8sIiIpLnNwbGl0KCIrIilbMF06IiJ9ZnVuY3Rpb24gcXMoZSx0LG4pe3QmJihlLmRhdGFzZXQucHJldmlvdXNJbnN0YW5jZUlkPXQpLG4mJihlLmRhdGFzZXQuZXhwZWN0ZWRWZXJzaW9uPW4pfWZ1bmN0aW9uIEhzKGUpe2lmKGUuZGF0YXNldC5yZXN0YXJ0UG9sbGluZyE9PSJ0cnVlIil7ZS5kYXRhc2V0LnJlc3RhcnRQb2xsaW5nPSJ0cnVlIjt2YXIgdD0wLG49MTgwLGk9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZih0KyssZmV0Y2goIi9hcGkvY29uZmlnIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odSl7aWYoIXUub2spdGhyb3cgbmV3IEVycm9yKCJzZXJ2ZXIgbm90IHJlYWR5Iik7cmV0dXJuIHUuanNvbigpfSkudGhlbihmdW5jdGlvbih1KXt2YXIgbz1lLmRhdGFzZXQucHJldmlvdXNJbnN0YW5jZUlkfHwiIixzPVBzKGUuZGF0YXNldC5leHBlY3RlZFZlcnNpb258fCIiKSxsPXR5cGVvZiB1LnNlcnZlckluc3RhbmNlSWQ9PSJzdHJpbmciP3Uuc2VydmVySW5zdGFuY2VJZDoiIixkPVBzKHUucGFja2FnZVZlcnNpb258fHUuY3VycmVudFZlcnNpb24pLGY9IW98fGwubGVuZ3RoPjAmJmwhPT1vLGM9IXN8fGQ9PT1zOyFmfHwhY3x8KGNsZWFySW50ZXJ2YWwoaSksbG9jYXRpb24ucmVsb2FkKCkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSx0Pj1uKXtjbGVhckludGVydmFsKGkpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnJlc3RhcnQtc3VidGl0bGUiKTthJiYoYS5pbm5lckhUTUw9J1x1OTFDRFx1NTQyRlx1OEQ4NVx1NjVGNlx1RkYwQ1x1OEJGNyA8YSBocmVmPSJqYXZhc2NyaXB0OmxvY2F0aW9uLnJlbG9hZCgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50KTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIj5cdTYyNEJcdTUyQThcdTUyMzdcdTY1QjA8L2E+IFx1OTg3NVx1OTc2Mlx1MzAwMicpfX0sMmUzKX19ZnVuY3Rpb24gRW4oZSx0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iik7bnx8KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pZD0icmVzdGFydC1vdmVybGF5IixuLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKSxxcyhuLGUsdCk7dmFyIGk9bi5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC10aXRsZSIpLGE9bi5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC1zdWJ0aXRsZSIpO2kmJihpLnRleHRDb250ZW50PXQ/Ilx1NkI2M1x1NTcyOFx1NUI4Q1x1NjIxMFx1NjZGNFx1NjVCMCI6Ilx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRiIpLGEmJihhLnRleHRDb250ZW50PXQ/Ilx1NUI4OVx1ODhDNVx1NUI4Q1x1NjIxMFx1NUU3Nlx1NTQyRlx1NTJBOFx1NjVCMFx1NzI0OFx1NjcyQ1x1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1MjAyNiI6Ilx1N0EwRFx1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1MjAyNiIpLEhzKG4pfWZ1bmN0aW9uIEFwKGUsdCxuKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iik7aXx8KGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksaS5pZD0icmVzdGFydC1vdmVybGF5IixpLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+XHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwXHU0RTJEPC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+JytwKGUpKyIgXHUyMTkyICIrcCh0KSsiPGJyPlx1NkI2M1x1NTcyOFx1NEUwQlx1OEY3RFx1NUU3Nlx1NUI4OVx1ODhDNVx1NjVCMFx1NzI0OFx1NjcyQ1x1RkYwQ1x1N0EwRFx1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1OTFDRFx1NTQyRlx1MjAyNjwvZGl2PjwvZGl2PiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSkscXMoaSxuLHQpLEhzKGkpfXZhciBfcyx0dSx4ZT17cmVjb3JkaW5nOiExLGNhbmNlbGluZzohMSx0cmFuc2NyaXB0OiIiLHN0YXJ0WTowfSx4cD02MDtmdW5jdGlvbiBTcChlKXt4ZS50cmFuc2NyaXB0PWV8fCIiO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXRleHQiKTt0JiYodC50ZXh0Q29udGVudD14ZS50cmFuc2NyaXB0KTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtuJiZuLmNsYXNzTGlzdC50b2dnbGUoImhhcy10ZXh0IiwhIXhlLnRyYW5zY3JpcHQpfWZ1bmN0aW9uIElwKGUpe2lmKGUpe2UucHJldmVudERlZmF1bHQoKSx4ZS5zdGFydFk9dHlwZW9mIGUuY2xpZW50WT09Im51bWJlciI/ZS5jbGllbnRZOjA7dHJ5e2UucG9pbnRlcklkIT09dm9pZCAwJiZlLnRhcmdldCYmZS50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUmJmUudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9fXhlLnJlY29yZGluZz0hMCx4ZS5jYW5jZWxpbmc9ITEseGUudHJhbnNjcmlwdD0iIjt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtcmVjb3JkLWJ0biIpO2lmKHQpe3QuY2xhc3NMaXN0LmFkZCgiaXMtcmVjb3JkaW5nIik7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIudm9pY2UtcmVjb3JkLWxhYmVsIik7biYmKG4udGV4dENvbnRlbnQ9Ilx1Njc3RVx1NUYwMCBcdTUzRDFcdTkwMDEiKX12YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtpJiZpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIsImlzLWNhbmNlbGluZyIsImhhcy10ZXh0IiksU3AoIiIpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIpO2EmJihhLnRleHRDb250ZW50PSJcdTdGNTFcdTk4NzVcdTdBRUZcdTY2ODJcdTRFMERcdTY1MkZcdTYzMDFcdThCRURcdTk3RjNcdThGOTNcdTUxNjVcdUZGMENcdThCRjdcdTRGN0ZcdTc1MjggQXBwIil9ZnVuY3Rpb24gVHAoZSl7aWYoISgheGUucmVjb3JkaW5nfHwhZSkpe3ZhciB0PXhlLnN0YXJ0WS0odHlwZW9mIGUuY2xpZW50WT09Im51bWJlciI/ZS5jbGllbnRZOnhlLnN0YXJ0WSksbj10PnhwO2lmKG4hPT14ZS5jYW5jZWxpbmcpe3hlLmNhbmNlbGluZz1uO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LWJ1YmJsZSIpO2kmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtY2FuY2VsaW5nIixuKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtcmVjb3JkLWJ0biIpLHU9YSYmYS5xdWVyeVNlbGVjdG9yKCIudm9pY2UtcmVjb3JkLWxhYmVsIik7dSYmKHUudGV4dENvbnRlbnQ9bj8iXHU2NzdFXHU1RjAwIFx1NTNENlx1NkQ4OCI6Ilx1Njc3RVx1NUYwMCBcdTUzRDFcdTkwMDEiKTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiKTtvJiYoby50ZXh0Q29udGVudD1uPyJcdTY3N0VcdTVGMDBcdTYyNEJcdTYzMDcgXHU1M0Q2XHU2RDg4IjoiXHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4Iil9fX1mdW5jdGlvbiBOcyhlKXtpZih4ZS5yZWNvcmRpbmcpe2UmJmUucHJldmVudERlZmF1bHQoKSx4ZS5yZWNvcmRpbmc9ITE7dmFyIHQ9IXhlLmNhbmNlbGluZyYmISF4ZS50cmFuc2NyaXB0LnRyaW0oKSxuPXhlLnRyYW5zY3JpcHQ7bnUoKSx0JiYoTHAobikscnUoITEpKX19ZnVuY3Rpb24gbnUoKXt4ZS5jYW5jZWxpbmc9ITE7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZihlKXtlLmNsYXNzTGlzdC5yZW1vdmUoImlzLXJlY29yZGluZyIpO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO3QmJih0LnRleHRDb250ZW50PSJcdTYzMDlcdTRGNEYgXHU4QkY0XHU4QkREIil9dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7biYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX1mdW5jdGlvbiBMcChlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZih0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYobil7dmFyIGk9bi52YWx1ZXx8IiIsYT1pP2kucmVwbGFjZSgvXHMrJC8sIiIpKyIgIit0OnQ7bi52YWx1ZT1hLGV0KGEsITApLGt0KG4pO3RyeXtuLnNldFNlbGVjdGlvblJhbmdlKGEubGVuZ3RoLGEubGVuZ3RoKX1jYXRjaHt9fX19ZnVuY3Rpb24gcnUoZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYodCl7dmFyIG49dHlwZW9mIGU9PSJib29sZWFuIj9lOiF0LmNsYXNzTGlzdC5jb250YWlucygidm9pY2UtbW9kZSIpO2lmKHQuY2xhc3NMaXN0LnRvZ2dsZSgidm9pY2UtbW9kZSIsbiksIW4pe3hlLnJlY29yZGluZz0hMSxudSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZihpJiYhci50ZXJtaW5hbEludGVyYWN0aXZlKXRyeXtpLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9Y2F0Y2h7fX19fWZ1bmN0aW9uIGt0KGUpe2lmKGUpe3ZhciB0PTM2LG49MTIwLGk9VXIoKTtpZighZS52YWx1ZXx8ZS52YWx1ZS50cmltKCk9PT0iIil7ZS5zdHlsZS5oZWlnaHQ9dCsicHgiLGUuc3R5bGUubWluSGVpZ2h0PXQrInB4IixlLnN0eWxlLm92ZXJmbG93WT1pPyJhdXRvIjoiaGlkZGVuIixlLnNjcm9sbFRvcD0wLHBhKGUpO3JldHVybn12YXIgYT1lLnN0eWxlLm92ZXJmbG93WTtlLnN0eWxlLm92ZXJmbG93WT0iaGlkZGVuIixlLnN0eWxlLmhlaWdodD10KyJweCI7dmFyIHU9ZS5zY3JvbGxIZWlnaHQsbz1NYXRoLm1heCh0LE1hdGgubWluKHUsbikpLHM9dT5uO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLm1pbkhlaWdodD10KyJweCIsZS5zdHlsZS5vdmVyZmxvd1k9c3x8aT8iYXV0byI6ImhpZGRlbiIscz96aShlKTplLnNjcm9sbFRvcD0wLHBhKGUpfX1mdW5jdGlvbiBNcCgpe2lmKCFyLnNlbGVjdGVkSWQpcmV0dXJuITE7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIHNlKGUpPyEhKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIn12YXIgTnI9ITE7ZnVuY3Rpb24ganMoZSl7cmV0dXJuIWV8fGUuYXJjaGl2ZWQ/ITE6c2UoZSk/ISEoZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KTplLnN0YXR1cz09PSJydW5uaW5nIn1mdW5jdGlvbiBpdSgpe3JldHVybiByLnNlc3Npb25zLnNvbWUoanMpfWZ1bmN0aW9uIE9wKCl7dmFyIGU9ci5zZXNzaW9ucy5maWx0ZXIoanMpO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDtpZihyLnNlbGVjdGVkSWQpe3ZhciB0PWUuZmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKHQpcmV0dXJuIHR9cmV0dXJuIGUuc29ydChmdW5jdGlvbihuLGkpe3JldHVybihEYXRlLnBhcnNlKGkuc3RhcnRlZEF0KXx8MCktKERhdGUucGFyc2Uobi5zdGFydGVkQXQpfHwwKX0pLGVbMF19ZnVuY3Rpb24gUnMoZSl7aWYoIWUpcmV0dXJuIiI7Zm9yKHZhciB0PUFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcyk/ZS5xdWV1ZWRNZXNzYWdlczpbXSxuPXQubGVuZ3RoLTE7bj49MDtuLS0pe3ZhciBpPXR5cGVvZiB0W25dPT0ic3RyaW5nIj90W25dLnRyaW0oKToiIjtpZihpKXJldHVybiBpfWZvcih2YXIgYT1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2UubWVzc2FnZXM6W10sdT1hLmxlbmd0aC0xO3U+PTA7dS0tKXt2YXIgbz1hW3VdO2lmKCEoIW98fG8ucm9sZSE9PSJ1c2VyInx8IUFycmF5LmlzQXJyYXkoby5jb250ZW50KSkpe3ZhciBzPW8uY29udGVudC5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGYmJmYudHlwZT09PSJ0ZXh0IiYmdHlwZW9mIGYudGV4dD09InN0cmluZyJ9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYudGV4dH0pO2lmKHMubGVuZ3RoKXJldHVybiBzLmpvaW4oYApgKS50cmltKCk7Zm9yKHZhciBsPTA7bDxvLmNvbnRlbnQubGVuZ3RoO2wrKyl7dmFyIGQ9by5jb250ZW50W2xdO2lmKGQmJmQudHlwZT09PSJ0b29sX3Jlc3VsdCImJnR5cGVvZiBkLmNvbnRlbnQ9PSJzdHJpbmciKXJldHVybiBkLmNvbnRlbnQudHJpbSgpfXJldHVybiIifX1yZXR1cm4iIn1mdW5jdGlvbiBQcChlLHQpe3ZhciBuPXR5cGVvZiB0PT0ic3RyaW5nIj90LnRyaW0oKToiIjtpZihuJiZScyhlKT09PW4pcmV0dXJuIHgoIlx1NEUwRVx1NEUwQVx1NEUwMFx1Njc2MVx1NkQ4OFx1NjA2Rlx1NzZGOFx1NTQwQ1x1RkYwQ1x1NURGMlx1NUZGRFx1NzU2NVx1RkYwQ1x1NEUwRFx1NEYxQVx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1MzAwMiIsIndhcm5pbmciKSxQcm9taXNlLnJlc29sdmUoKTt2YXIgaT10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCksYT1BcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXSx1PWEuc2xpY2UoKTt1LnB1c2godCksZWUoe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6dX0pLGUuaWQ9PT1yLnNlbGVjdGVkSWQmJml0KCk7dmFyIG89ZS50aXRsZXx8bHIoZS5jb21tYW5kKXx8Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCI7cmV0dXJuIHgoIlx1NURGMlx1NTJBMFx1NTE2NVx1MzAwQyIrbysiXHUzMDBEXHU3Njg0XHU2MzkyXHU5NjFGXHVGRjBDXHU1NkRFXHU1OTBEXHU3RUQzXHU2NzVGXHU1NDBFXHU4MUVBXHU1MkE4XHU1M0QxXHU5MDAxXHVGRjA4XHU1NDJCXHU0RTBBXHU0RTBCXHU2NTg3XHVGRjA5XHUzMDAyIiwiaW5mbyIpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIitlLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDp0LGlkZW1wb3RlbmN5S2V5Oml9KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMub2s/cy5qc29uKCk6cy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihsKXt0aHJvdyBuZXcgRXJyb3IobCYmbC5lcnJvcnx8Ilx1NjVFMFx1NkNENVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1MzAwMiIpfSl9KS50aGVuKGZ1bmN0aW9uKHMpe3MmJnMuaWQmJihlZShzKSxzLmlkPT09ci5zZWxlY3RlZElkJiZpdCgpKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe2VlKHtpZDplLmlkLHF1ZXVlZE1lc3NhZ2VzOmF9KSxlLmlkPT09ci5zZWxlY3RlZElkJiZpdCgpLHgocyYmcy5tZXNzYWdlfHwiXHU2MzkyXHU5NjFGXHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIFdzKGUpe3ZhciB0PU9wKCk7aWYodCYmc2UodCkpe1BwKHQsZSk7cmV0dXJufWlmKHIuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPj0xMCl7eCgiXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1REYyXHU2RUUxXHVGRjA4XHU2NzAwXHU1OTFBIDEwIFx1Njc2MVx1RkYwOVx1RkYwQ1x1OEJGN1x1N0I0OVx1NUY4NVx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NUI4Q1x1NjIxMFx1MzAwMiIsIndhcm5pbmciKTtyZXR1cm59dmFyIG49ImNzcS0iK0RhdGUubm93KCkrIi0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsOCk7ci5jcm9zc1Nlc3Npb25RdWV1ZS5wdXNoKHtpZDpuLHRleHQ6ZSxjd2Q6UWUoKSxtb2RlOnIuY2hhdE1vZGV8fCJtYW5hZ2VkIix0b29sOiRlKCkscXVldWVkQXQ6RGF0ZS5ub3coKX0pLFF0KCksQXQoKSx4KCJcdTVERjJcdTYzOTJcdTk2MUZcdUZGMENcdTVDMDZcdTU3MjhcdTdBN0FcdTk1RjJcdTU0MEVcdTgxRUFcdTUyQThcdTVGMDBcdTU5Q0JcdTY1QjBcdTRGMUFcdThCRERcdTMwMDIiLCJpbmZvIil9ZnVuY3Rpb24gcXAoZSl7TnJ8fChOcj0hMCxmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoZnQoe2NvbW1hbmQ6ZS50b29sLGN3ZDplLmN3ZCxtb2RlOmUubW9kZSxpbml0aWFsSW5wdXQ6ZS50ZXh0fSkpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBOcj0hMSx0LmVycm9yPyh4KHQuZXJyb3IsImVycm9yIiksci5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLFF0KCksQXQoKSxudWxsKTp3bih0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe05yPSExLHgodCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU2MzkyXHU5NjFGXHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSxyLmNyb3NzU2Vzc2lvblF1ZXVlLnVuc2hpZnQoZSksUXQoKSxBdCgpfSkpfWZ1bmN0aW9uIEhwKGUpe3ZhciB0PXIuY3Jvc3NTZXNzaW9uUXVldWUuZmluZEluZGV4KGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pO2lmKCEodDwwKSl7dmFyIG49ci5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwxKVswXTtRdCgpLEF0KCksZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGZ0KHtjb21tYW5kOm4udG9vbCxjd2Q6bi5jd2QsbW9kZTpuLm1vZGUsaW5pdGlhbElucHV0Om4udGV4dH0pKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcj8oeChpLmVycm9yLCJlcnJvciIpLHIuY3Jvc3NTZXNzaW9uUXVldWUuc3BsaWNlKHQsMCxuKSxRdCgpLEF0KCksbnVsbCk6d24oaSl9KS5jYXRjaChmdW5jdGlvbihpKXt4KGkmJmkubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksci5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLG4pLFF0KCksQXQoKX0pfX1mdW5jdGlvbiBfcChlKXt2YXIgdD1yLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PWV9KTt0PDB8fChyLmNyb3NzU2Vzc2lvblF1ZXVlLnNwbGljZSh0LDEpLFF0KCksQXQoKSxyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTAmJngoIlx1NjM5Mlx1OTYxRlx1NURGMlx1NkUwNVx1N0E3QVx1MzAwMiIsImluZm8iKSl9ZnVuY3Rpb24gUGkoKXtpZihyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aCE9PTAmJiFpdSgpJiYhTnIpe3ZhciBlPXIuY3Jvc3NTZXNzaW9uUXVldWUuc2hpZnQoKTtBdCgpLHFwKGUpfX1mdW5jdGlvbiB6cyhlKXt2YXIgdD1NYXRoLmZsb29yKChEYXRlLm5vdygpLWUpLzFlMyk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIG49TWF0aC5mbG9vcih0LzYwKTtyZXR1cm4gbjw2MD9uKyJtIjpNYXRoLmZsb29yKG4vNjApKyJoIn1mdW5jdGlvbiBBdCgpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jcm9zcy1zZXNzaW9uLXF1ZXVlIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKSxuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKSxpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKTtpZihyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2UmJmUucmVtb3ZlKCksUXQoKTtyZXR1cm59dmFyIHU9dCYmIXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxvPXU/dDphLHM9dT9ufHxpOm51bGw7aWYobyl7ZSYmZS5wYXJlbnROb2RlIT09byYmKGUucmVtb3ZlKCksZT1udWxsKSxlP3UmJnMmJmUubmV4dFNpYmxpbmchPT1zJiZvLmluc2VydEJlZm9yZShlLHMpOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY2xhc3NOYW1lPSJjcm9zcy1zZXNzaW9uLXF1ZXVlIixzP28uaW5zZXJ0QmVmb3JlKGUscyk6by5hcHBlbmRDaGlsZChlKSk7dmFyIGw9ci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGgsZD1yLmNyb3NzU2Vzc2lvblF1ZXVlLm1hcChmdW5jdGlvbihjLHYpe3ZhciBoPWMudGV4dC5sZW5ndGg+NjA/Yy50ZXh0LnNsaWNlKDAsNjApKyJcdTIwMjYiOmMudGV4dCxtPXpzKGMucXVldWVkQXQpO3JldHVybic8ZGl2IGNsYXNzPSJxdWV1ZS1pdGVtIiBkYXRhLXF1ZXVlLWlkPSInK3AoYy5pZCkrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tdGV4dCIgdGl0bGU9IicrcChjLnRleHQpKyciPicrcChoKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1pdGVtLWFnZSI+JyttKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1zZW5kLW5vdyIgZGF0YS1xdWV1ZS1pZD0iJytwKGMuaWQpKyciIHRpdGxlPSJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDEiIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1jYW5jZWwiIGRhdGEtcXVldWUtaWQ9IicrcChjLmlkKSsnIiB0aXRsZT0iXHU1M0Q2XHU2RDg4IiB0eXBlPSJidXR0b24iPlx4RDc8L2J1dHRvbj48L2Rpdj4nfSkuam9pbigiIiksZj1sPjE/JzxkaXYgY2xhc3M9InF1ZXVlLWhlYWRlciI+PHNwYW4gY2xhc3M9InF1ZXVlLWhlYWRlci1sYWJlbCI+XHU2MzkyXHU5NjFGICcrbCsnIFx1Njc2MTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJxdWV1ZS1oZWFkZXItY2xlYXIiIGlkPSJxdWV1ZS1jbGVhci1hbGwiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRiI+XHU2RTA1XHU3QTdBPC9idXR0b24+PC9kaXY+JzoiIjtlLmlubmVySFRNTD1mK2R9fXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYoci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnF1ZXVlLWl0ZW0tYWdlIik7ci5jcm9zc1Nlc3Npb25RdWV1ZS5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7ZVtuXSYmKGVbbl0udGV4dENvbnRlbnQ9enModC5xdWV1ZWRBdCkpfSksUGkoKX19LDVlMyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQuY2xvc2VzdCgiI3F1ZXVlLWNsZWFyLWFsbCIpKXtlLnByZXZlbnREZWZhdWx0KCksci5jcm9zc1Nlc3Npb25RdWV1ZT1bXSxRdCgpLEF0KCkseCgiXHU2MzkyXHU5NjFGXHU1REYyXHU2RTA1XHU3QTdBXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgbj10LmNsb3Nlc3QoIi5xdWV1ZS1pdGVtLXNlbmQtbm93Iik7aWYobil7ZS5wcmV2ZW50RGVmYXVsdCgpLEhwKG4uZGF0YXNldC5xdWV1ZUlkKTtyZXR1cm59dmFyIGk9dC5jbG9zZXN0KCIucXVldWUtaXRlbS1jYW5jZWwiKTtpZihpKXtlLnByZXZlbnREZWZhdWx0KCksX3AoaS5kYXRhc2V0LnF1ZXVlSWQpO3JldHVybn19KTtmdW5jdGlvbiBWcygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0IiksdD1lP2UudmFsdWUudHJpbSgpOiIiO2lmKHQpe2lmKGl1KCkpe2UudmFsdWU9IiIsV3ModCk7cmV0dXJufXZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIik7biYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLnZhbHVlPSIiLGUucGxhY2Vob2xkZXI9Ilx1NkI2M1x1NTcyOFx1NTQyRlx1NTJBOFx1MjAyNiIsZS5kaXNhYmxlZD0hMDt2YXIgaT1yLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1RZSgpLHU9JGUoKTtmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoZnQoe2NvbW1hbmQ6dSxwcm92aWRlcjp1LGN3ZDphLG1vZGU6aSxpbml0aWFsSW5wdXQ6dH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtpZihvLmVycm9yKXt4KG8uZXJyb3IsImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExO3JldHVybn1yLnNlbGVjdGVkSWQ9by5pZCxFZSgpLHIuZHJhZnRzW28uaWRdPSIiLER0KCksZWUobykscGUoKSxqcihvLmlkKSxHbihvLmlkKSxrbihvLmlkKS50aGVuKGZ1bmN0aW9uKCl7ZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExLEh0KCEwKX0pfSkuY2F0Y2goZnVuY3Rpb24obyl7eChvJiZvLm1lc3NhZ2V8fCh1PT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIE5wKGUpe2U9ZXx8e307dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtaW5wdXQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPXQmJnQudmFsdWUudHJpbSgpP3QudmFsdWUudHJpbSgpOm4/bi52YWx1ZS50cmltKCk6IiI7aWYoci5zZWxlY3RlZElkKXtpJiZVcyhlKTtyZXR1cm59aWYoaSYmaXUoKSl7biYmKG4udmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSxwYShuKSxXcyhpKTtyZXR1cm59dmFyIGE9ci5jaGF0TW9kZXx8Im1hbmFnZWQiLHU9UWUoKSxvPSRlKCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGZ0KHtjb21tYW5kOm8scHJvdmlkZXI6byxjd2Q6dSxtb2RlOmEsaW5pdGlhbElucHV0Oml8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5lcnJvcj8oeChzLmVycm9yLCJlcnJvciIpLG51bGwpOihyLnNlbGVjdGVkSWQ9cy5pZCxFZSgpLHIuZHJhZnRzW3MuaWRdPSIiLER0KCksbiYmKG4udmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSxlZShzKSxwZSgpLGpyKHMuaWQpLEduKHMuaWQpLGtuKHMuaWQpKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe3gocyYmcy5tZXNzYWdlfHwobz09PSJjb2RleCI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDb2RleCBcdTRGMUFcdThCRERcdTMwMDIiOiJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ2xhdWRlIFx1NEYxQVx1OEJERFx1MzAwMiIpLCJlcnJvciIpfSl9ZnVuY3Rpb24ganIoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiB2LmlkPT09ZX0pLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIiksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtdGl0bGUiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1pbmZvIiksbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdW1tYXJ5LXZhbHVlIiksZD1zZSh0KTtuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixkKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGQ/ci5jdXJyZW50Vmlldz0iY2hhdCI6ci5jdXJyZW50Vmlldz0idGVybWluYWwiO3ZhciBmPXQ/bHIodC5jb21tYW5kKToiV2FuZCIsYz10P0RyKHQpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiO28mJihvLnRleHRDb250ZW50PWYpLHMmJihzLnRleHRDb250ZW50PWMpLGwmJihsLnRleHRDb250ZW50PWYpLGR8fHIudGVybWluYWx8fHVyKCksb2EoKSxIdCghMCksZHx8WWUoInZpZXctc3dpdGNoIix7Zm9yY2VSZXBsYXk6ITB9KX1mdW5jdGlvbiBVcyhlKXtlPWV8fHt9O3ZhciB0PSEhZS5pbnRlcnJ1cHQsbj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLWVtYmVkLXRlcm1pbmFsIik7aWYoci50ZXJtaW5hbEludGVyYWN0aXZlJiYhbilyZXR1cm4geCgiXHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyXHU2QTIxXHU1RjBGXHU1RjAwXHU1NDJGXHU2NUY2XHVGRjBDXHU4QkY3XHU3NkY0XHU2M0E1XHU1NzI4XHU3RUM4XHU3QUVGXHU0RTJEXHU4RjkzXHU1MTY1XHUzMDAyIiwiaW5mbyIpLFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxhPWk/aS52YWx1ZToiIix1PXF0KCksbz1yLnBlbmRpbmdBdHRhY2htZW50cy5sZW5ndGg+MDtpZihhfHxvKXt2YXIgcz1vJiZyLnNlbGVjdGVkSWQ/dGgoci5zZWxlY3RlZElkKS5jYXRjaChmdW5jdGlvbihsKXt4KCJcdTk2NDRcdTRFRjZcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjU6ICIrKGwmJmwubWVzc2FnZXx8bCksImVycm9yIik7dmFyIGQ9bCBpbnN0YW5jZW9mIEVycm9yP2w6bmV3IEVycm9yKFN0cmluZyhsKSk7dGhyb3cgZC5fX3dhbmRUb2FzdGVkPSEwLGR9KTpQcm9taXNlLnJlc29sdmUoW10pO3JldHVybiBzLnRoZW4oZnVuY3Rpb24obCl7dmFyIGQ9bmgobCksZj1kKyhhfHwobC5sZW5ndGg/Ilx1OEJGN1x1NjdFNVx1NzcwQlx1OTY0NFx1NEVGNlx1MzAwMiI6IiIpKTtsLmxlbmd0aCYmZWgoKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO2lmKGMmJmMuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksc2UodSkpcmV0dXJuIGpwKGYsaSx1LHtpbnRlcnJ1cHQ6dH0pO3ZhciB2PW52KHUsZiksaD0hci53c0Nvbm5lY3RlZDtyZXR1cm4gaD8odXYodiksaSYmKGkudmFsdWU9IiIsa3QoaSkpLGV0KCIiKSxQcm9taXNlLnJlc29sdmUoKSk6dHYodSkudGhlbihmdW5jdGlvbihtKXtpZighbSlyZXR1cm4gbnVsbDt2YXIgZz1yLmN1cnJlbnRWaWV3O2lmKG0mJm0ucHJvdmlkZXI9PT0iY29kZXgiJiZyLnNlbGVjdGVkSWQhPT1tLmlkKXRocm93IG5ldyBFcnJvcigiQ29kZXggc2Vzc2lvbiBjaGFuZ2VkIGJlZm9yZSBpbnB1dCBzZW5kLiIpO3JldHVybiBzbygpLHJ2KHYsImVudGVyX3RleHQiLDMwLGcpLnRoZW4oZnVuY3Rpb24oKXtpJiZpLnZhbHVlPT09YSYmKGkudmFsdWU9IiIsa3QoaSkpLGV0KCIiKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7dGhyb3cgeChRcyhtKSwiZXJyb3IiKSxtJiYobS5fX3dhbmRUb2FzdGVkPSEwKSxtfSl9KS5jYXRjaChmdW5jdGlvbihsKXt0aHJvdyBsJiZsLl9fd2FuZFRvYXN0ZWR8fHgoUXMobCksImVycm9yIiksbH0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX12YXIgS3M9e30sSnM9MzUwO2Z1bmN0aW9uIGpwKGUsdCxuLGkpe2k9aXx8e307dmFyIGE9ISFpLmludGVycnVwdDtpZighci5zZWxlY3RlZElkfHwhZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIW4pcmV0dXJuIHgoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9ISEobi5zdHJ1Y3R1cmVkU3RhdGUmJm4uc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZuLnN0YXR1cz09PSJydW5uaW5nIik7aWYodSYmIWEmJlJzKG4pPT09ZS50cmltKCkpcmV0dXJuIHQmJih0LnZhbHVlPSIiLGt0KHQpKSxldCgiIikseCgiXHU0RTBFXHU0RTBBXHU0RTAwXHU2NzYxXHU2RDg4XHU2MDZGXHU3NkY4XHU1NDBDXHVGRjBDXHU1REYyXHU1RkZEXHU3NTY1XHVGRjBDXHU0RTBEXHU0RjFBXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHUzMDAyIiwid2FybmluZyIpLFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxQcm9taXNlLnJlc29sdmUoKTt2YXIgbz1EYXRlLm5vdygpLHM9S3Nbbi5pZF18fDA7aWYoby1zPEpzKXJldHVybiBjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RTdHJ1Y3R1cmVkSW5wdXQ6IGR1cGxpY2F0ZSBzdWJtaXQgKHdpdGhpbiAiK0pzKyJtcykgaWdub3JlZCBmb3Igc2Vzc2lvbiIsbi5pZCksUHJvbWlzZS5yZXNvbHZlKCk7S3Nbbi5pZF09bzt2YXIgbD11JiZhLGQ9dSYmIWEsZj1DcihBcnJheS5pc0FycmF5KG4ubWVzc2FnZXMpP24ubWVzc2FnZXMuc2xpY2UoKTpbXSksYztpZihkKXt2YXIgdj1BcnJheS5pc0FycmF5KG4ucXVldWVkTWVzc2FnZXMpP24ucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTt2LnB1c2goZSksYz17aWQ6bi5pZCxxdWV1ZWRNZXNzYWdlczp2fSxlZShjKTt2YXIgaD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRSl7cmV0dXJuIEUuaWQ9PT1uLmlkfSl8fG47ci5jdXJyZW50TWVzc2FnZXM9UmUoaCxaZShoLGgub3V0cHV0LCExKSksVW4oIlx1NURGMlx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1MjAyNiIpLFdlKCEwKSxGbigpLHgodi5sZW5ndGg+MT8iXHU1REYyXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHVGRjA4XHU1MTcxICIrdi5sZW5ndGgrIiBcdTY3NjFcdTdCNDlcdTVGODVcdUZGMDkiOiJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdUZGMENcdTdCNDlcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdTVCOENcdTYyMTBcdTRGMUFcdTgxRUFcdTUyQThcdTUzRDFcdTkwMDFcdTMwMDIiLCJpbmZvIil9ZWxzZXt2YXIgbT17cm9sZToidXNlciIsY29udGVudDpbe3R5cGU6InRleHQiLHRleHQ6ZX1dfTtmLnB1c2gobSk7dmFyIGc9T2JqZWN0LmFzc2lnbih7fSxuLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OiEwfSk7ZWUoe2lkOm4uaWQsc3RhdHVzOiJydW5uaW5nIixtZXNzYWdlczpmLHN0cnVjdHVyZWRTdGF0ZTpnfSksci5jdXJyZW50TWVzc2FnZXM9UmUoT2JqZWN0LmFzc2lnbih7fSxuLHtzdGF0dXM6InJ1bm5pbmciLG1lc3NhZ2VzOmYsc3RydWN0dXJlZFN0YXRlOmd9KSxmKSxVbihsPyJcdTVERjJcdTRFMkRcdTY1QURcdUZGMENcdTZCNjNcdTU3MjhcdTU5MDRcdTc0MDZcdTY1QjBcdTZEODhcdTYwNkZcdTIwMjYiOiJcdTYwMURcdTgwMDNcdTRFMkRcdTIwMjYiKSxzbygpLFdlKCEwKSxsJiZ4KCJcdTVERjJcdTRFMkRcdTY1QURcdTRFMEFcdTRFMDBcdTY3NjFcdTU2REVcdTU5MERcdUZGMENcdTZCNjNcdTU3MjhcdTU5MDRcdTc0MDZcdTY1QjBcdTZEODhcdTYwNkZcdTIwMjYiLCJpbmZvIil9dCYmKHQudmFsdWU9IiIsa3QodCkpLGV0KCIiKTt2YXIgeT1yLnF1ZXVlRXBvY2gsQj10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCk7cmV0dXJuIGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIituLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDplLGludGVycnVwdDpsfHx2b2lkIDAsaWRlbXBvdGVuY3lLZXk6Qn0pfSkudGhlbihmdW5jdGlvbihFKXtyZXR1cm4gRS5vaz9FLmpzb24oKTpFLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKEMpe3ZhciBEPW5ldyBFcnJvcihDJiZDLmVycm9yfHwiXHU2NUUwXHU2Q0Q1XHU1M0QxXHU5MDAxXHU3RUQzXHU2Nzg0XHU1MzE2XHU2RDg4XHU2MDZGXHUzMDAyIik7dGhyb3cgRC5lcnJvckNvZGU9QyYmQy5lcnJvckNvZGUsRC5odHRwU3RhdHVzPUUuc3RhdHVzLER9KX0pLnRoZW4oZnVuY3Rpb24oRSl7aWYoRSYmRS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoRS5lcnJvcik7aWYoRSYmRS5pZCYmKHIucXVldWVFcG9jaD55JiZFLnF1ZXVlZE1lc3NhZ2VzJiZkZWxldGUgRS5xdWV1ZWRNZXNzYWdlcyxlZShFKSxFLmlkPT09ci5zZWxlY3RlZElkKSl7dmFyIEM9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEQpe3JldHVybiBELmlkPT09RS5pZH0pfHxFO3IuY3VycmVudE1lc3NhZ2VzPVJlKEMsWmUoQyxFLm91dHB1dCwhMSkpLFdlKCEwKSxGbigpfX0pLmNhdGNoKGZ1bmN0aW9uKEUpe2lmKEUmJkUuZXJyb3JDb2RlPT09ImR1cGxpY2F0ZV9pZGVtcG90ZW5jeV9rZXkiKXt4KEUubWVzc2FnZXx8Ilx1NjhDMFx1NkQ0Qlx1NTIzMFx1OTFDRFx1NTkwRFx1NTNEMVx1OTAwMVx1RkYwQ1x1NURGMlx1NjJFNlx1NjIyQVx1MzAwMiIsIndhcm5pbmciKSxVbigiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIik7cmV0dXJufWlmKGQpe3ZhciBDPUFycmF5LmlzQXJyYXkobi5xdWV1ZWRNZXNzYWdlcyk/bi5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKGVlKHtpZDpuLmlkLHF1ZXVlZE1lc3NhZ2VzOkN9KSxuLmlkPT09ci5zZWxlY3RlZElkKXt2YXIgRD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWQ9PT1uLmlkfSl8fG47ci5jdXJyZW50TWVzc2FnZXM9UmUoRCxaZShELEQub3V0cHV0LCExKSksV2UoITApLEZuKCl9fWVsc2V7dmFyIEY9Zi5zbGljZSgwLC0xKTtlZSh7aWQ6bi5pZCxzdGF0dXM6bi5zdGF0dXMsbWVzc2FnZXM6RixzdHJ1Y3R1cmVkU3RhdGU6T2JqZWN0LmFzc2lnbih7fSxuLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OiExfSl9KSxuLmlkPT09ci5zZWxlY3RlZElkJiYoci5jdXJyZW50TWVzc2FnZXM9UmUoT2JqZWN0LmFzc2lnbih7fSxuLHttZXNzYWdlczpGLHN0cnVjdHVyZWRTdGF0ZTpPYmplY3QuYXNzaWduKHt9LG4uc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITF9KX0pLEYpLFdlKCEwKSl9dmFyIEw9RSYmRS5tZXNzYWdlfHwiIixTPUw9PT0iRmFpbGVkIHRvIGZldGNoInx8TD09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fEw9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KEwpO1N8fHgoRSYmRS5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1M0QxXHU5MDAxXHU3RUQzXHU2Nzg0XHU1MzE2XHU2RDg4XHU2MDZGXHUzMDAyIiwiZXJyb3IiKSxVbigiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIil9KX1mdW5jdGlvbiBVbihlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtaGludCIpO3QmJih0LnRleHRDb250ZW50PWUpfWZ1bmN0aW9uIEZuKCl7aXQoKX12YXIgUnA9MTAsR3M9MjY7ZnVuY3Rpb24gV3AoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXJldHVybiIiO3ZhciB0PWUucmVwbGFjZSgvXHMrL2csIiAiKS50cmltKCk7cmV0dXJuIHQubGVuZ3RoPD1Hcz90OnQuc2xpY2UoMCxHcykrIlx1MjAyNiJ9ZnVuY3Rpb24genAoKXtyZXR1cm4hIXIucXVldWVCYXJFeHBhbmRlZH1mdW5jdGlvbiBWcChlKXtpZighIXIucXVldWVCYXJFeHBhbmRlZCE9ISFlKXtyLnF1ZXVlQmFyRXhwYW5kZWQ9ISFlO3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5xdWV1ZS1iYXIiKTt0JiZ0LmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIiwhIWUpfX1mdW5jdGlvbiBVcChlLHQsbil7dmFyIGk9ZS5sZW5ndGgsYT0icXVldWUtYmFyIjtuJiYoYSs9IiBxdWV1ZS1iYXItY2FwYWNpdHkiKSx0JiYoYSs9IiBxdWV1ZS1iYXItaW5mbGlnaHQiKTtmb3IodmFyIHU9dD8iXHU0RTJEXHU2NUFEXHU1RjUzXHU1MjREXHU1NkRFXHU1OTBEXHVGRjBDXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxIjoiXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxIixvPSIiLHM9MDtzPGk7cysrKXt2YXIgbD1lW3NdPT1udWxsPyIiOlN0cmluZyhlW3NdKSxkPVdwKGwpLGY9bCsiXHVGRjA4XHU2MzA5XHU0RjRGXHU1M0VGXHU2MkQ2XHU1MkE4XHU4QzAzXHU1RThGXHVGRjA5IjtvKz0nPGxpIGNsYXNzPSJxdWV1ZS1iYXItaXRlbSIgZGF0YS1pbmRleD0iJytzKyciIGRhdGEtYWN0aW9uPSJkcmFnIiB0aXRsZT0iJytwKGYpKyciPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1pbmRleCIgYXJpYS1oaWRkZW49InRydWUiPicrKHMrMSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0icXVldWUtYmFyLWl0ZW0tdGV4dCI+JytwKGQpKyc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlIiBkYXRhLWFjdGlvbj0icHJvbW90ZS1pdGVtIiB0aXRsZT0iJytwKHUpKyciIGFyaWEtbGFiZWw9Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1N0IyQyAnKyhzKzEpKycgXHU2NzYxIj48c3ZnIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTMgMiBMNCAxNCBMMTEgMTQgTDEwIDIyIEwyMCA5IEwxMyA5IFoiLz48L3N2Zz48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF1ZXVlLWJhci1pdGVtLWRlbGV0ZSIgZGF0YS1hY3Rpb249ImRlbGV0ZSIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU3QjJDICcrKHMrMSkrJyBcdTY3NjFcdTYzOTJcdTk2MUZcdTZEODhcdTYwNkYiIHRpdGxlPSJcdTUyMjBcdTk2NjQiPjxzdmcgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSIxOCIgeTI9IjYiLz48L3N2Zz48L2J1dHRvbj48L2xpPid9dmFyIGM9IiI7cmV0dXJuIGk+PTImJihjPSc8ZGl2IGNsYXNzPSJxdWV1ZS1iYXItaGVhZCI+PHNwYW4gY2xhc3M9InF1ZXVlLWJhci1oZWFkLWNvdW50Ij4nK2krJyBcdTY3NjFcdTYzOTJcdTk2MUY8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItY2xlYXItYWxsIiBkYXRhLWFjdGlvbj0iY2xlYXItYWxsIiB0aXRsZT0iXHU2RTA1XHU3QTdBXHU1MTY4XHU5MEU4XHU2MzkyXHU5NjFGIiBhcmlhLWxhYmVsPSJcdTZFMDVcdTdBN0FcdTUxNjhcdTkwRTggJytpKycgXHU2NzYxXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGIj5cdTZFMDVcdTdBN0E8L2J1dHRvbj48L2Rpdj4nKSwnPGRpdiBjbGFzcz0iJythKyciIGRhdGEtcXVldWUtYmFyPSIxIiB0aXRsZT0iXHU2MzkyXHU5NjFGICcraSsnIFx1Njc2MVx1RkYwOFx1NjMwOVx1NEY0Rlx1NkMxNFx1NkNFMVx1NTNFRlx1OEMwM1x1NUU4Rlx1RkYwOSI+JytjKyc8b2wgY2xhc3M9InF1ZXVlLWJhci1saXN0IiBkYXRhLXF1ZXVlLWxpc3Q9IjEiPicrbysiPC9vbD48L2Rpdj4ifWZ1bmN0aW9uIGl0KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ci5zZWxlY3RlZElkfSksbj10JiZ0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGk9bj9DYSh0KTpbXTtpZihpPUFycmF5LmlzQXJyYXkoaSk/aTpbXSwhbnx8aS5sZW5ndGg9PT0wKXtlLmhpZGRlbj0hMCxlLmlubmVySFRNTD0iIixyLnF1ZXVlQmFyRXhwYW5kZWQ9ITE7cmV0dXJufWlmKCFyLnF1ZXVlQmFyRHJhZyl7ZS5oaWRkZW49ITE7dmFyIGE9ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIiksdT1pLmxlbmd0aD49UnA7ZS5pbm5lckhUTUw9VXAoaSxhLHUpfX19ZnVuY3Rpb24gcWkoZSx0KXtlZSh7aWQ6ZS5pZCxxdWV1ZWRNZXNzYWdlczp0fSk7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZS5pZH0pfHxlO3IuY3VycmVudE1lc3NhZ2VzPVJlKG4sWmUobixuLm91dHB1dCwhMSkpLFdlKCEwKSxpdCgpfWZ1bmN0aW9uIEtwKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKHQpe3ZhciBuPUFycmF5LmlzQXJyYXkodC5xdWV1ZWRNZXNzYWdlcyk/dC5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKCEoZTwwfHxlPj1uLmxlbmd0aCkpe3ZhciBpPW4uc2xpY2UoKSxhPW4uc2xpY2UoMCxlKS5jb25jYXQobi5zbGljZShlKzEpKTtlZSh7aWQ6dC5pZCxxdWV1ZWRNZXNzYWdlczphfSk7dmFyIHU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09dC5pZH0pfHx0O3IuY3VycmVudE1lc3NhZ2VzPVJlKHUsWmUodSx1Lm91dHB1dCwhMSkpLFdlKCEwKSxpdCgpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIit0LmlkKyIvcXVldWVkLyIrZSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG8pe2lmKCFvLm9rKXJldHVybiBvLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihzKXt0aHJvdyBuZXcgRXJyb3IocyYmcy5lcnJvcnx8Ilx1NTIyMFx1OTY2NFx1NTkzMVx1OEQyNSIpfSl9KS5jYXRjaChmdW5jdGlvbihvKXtxaSh0LGkpLHgobyYmby5tZXNzYWdlfHwiXHU1MjIwXHU5NjY0XHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19ZnVuY3Rpb24gSnAoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZihlKXt2YXIgdD1BcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZih0Lmxlbmd0aCE9PTApe3IucXVldWVCYXJFeHBhbmRlZD0hMSxlZSh7aWQ6ZS5pZCxxdWV1ZWRNZXNzYWdlczpbXX0pO3ZhciBuPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWUuaWR9KXx8ZTtyLmN1cnJlbnRNZXNzYWdlcz1SZShuLFplKG4sbi5vdXRwdXQsITEpKSxXZSghMCksaXQoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrZS5pZCsiL3F1ZXVlZCIse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtpZighaS5vaylyZXR1cm4gaS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEmJmEuZXJyb3J8fCJcdTZFMDVcdTdBN0FcdTU5MzFcdThEMjUiKX0pO3goIlx1NURGMlx1NkUwNVx1N0E3QSAiK3QubGVuZ3RoKyIgXHU2NzYxXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHUzMDAyIiwiaW5mbyIpfSkuY2F0Y2goZnVuY3Rpb24oaSl7cWkoZSx0KSx4KGkmJmkubWVzc2FnZXx8Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIEdwKGUpe2lmKCFyLnF1ZXVlQmFyUHJvbW90aW5nKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obCl7cmV0dXJuIGwuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgbj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49bi5sZW5ndGgpKXt2YXIgaT1uW2VdLGE9bi5zbGljZSgwLGUpLmNvbmNhdChuLnNsaWNlKGUrMSkpLHU9bi5zbGljZSgpLG89ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIik7ci5xdWV1ZUJhclByb21vdGluZz0hMCxhLmxlbmd0aD09PTAmJihyLnF1ZXVlQmFyRXhwYW5kZWQ9ITEpLGVlKHtpZDp0LmlkLHF1ZXVlZE1lc3NhZ2VzOmF9KTt2YXIgcz10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCk7eChvPyJcdTVERjJcdThCRjdcdTZDNDJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTMwMDIiOiJcdTVERjJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTZEODhcdTYwNkZcdTMwMDIiLCJpbmZvIiksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3QuaWQrIi9xdWV1ZWQvIitlKyIvcHJvbW90ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2V4cGVjdGVkVGV4dDppLGlkZW1wb3RlbmN5S2V5OnN9KX0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwub2s/bC5qc29uKCk6bC5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oZCl7dGhyb3cgbmV3IEVycm9yKGQmJmQuZXJyb3J8fCJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihsKXtpZihsJiZsLmlkJiYoZWUobCksbC5pZD09PXIuc2VsZWN0ZWRJZCkpe3ZhciBkPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWwuaWR9KXx8bDtyLmN1cnJlbnRNZXNzYWdlcz1SZShkLFplKGQsbC5vdXRwdXQsITEpKSxXZSghMCksaXQoKX1yLnF1ZXVlQmFyUHJvbW90aW5nPSExfSkuY2F0Y2goZnVuY3Rpb24obCl7ci5xdWV1ZUJhclByb21vdGluZz0hMSxxaSh0LHUpLHgobCYmbC5tZXNzYWdlfHwiXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19fWZ1bmN0aW9uIFlwKGUsdCl7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09ci5zZWxlY3RlZElkfSk7aWYobil7dmFyIGk9QXJyYXkuaXNBcnJheShuLnF1ZXVlZE1lc3NhZ2VzKT9uLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYoIShpLmxlbmd0aDw9MSkmJnQpe3ZhciBhPXQucGFyZW50RWxlbWVudDtpZihhKXt2YXIgdT1OdW1iZXIodC5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSksbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLmNoaWxkcmVuKSxzPW8ubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksbD0zO3MubGVuZ3RoPj0yJiYobD1NYXRoLm1heCgwLHNbMV0udG9wLXNbMF0udG9wLXNbMF0uaGVpZ2h0KSksZS5wcmV2ZW50RGVmYXVsdCgpO3RyeXt0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9aWYobmF2aWdhdG9yJiZuYXZpZ2F0b3IudmlicmF0ZSl0cnl7bmF2aWdhdG9yLnZpYnJhdGUoOCl9Y2F0Y2h7fXIucXVldWVCYXJEcmFnPXtwb2ludGVySWQ6ZS5wb2ludGVySWQsaGFuZGxlRWw6dCxpdGVtRWw6dCxsaXN0RWw6YSxzaWJsaW5nczpvLHJlY3RzOnMsb3JpZ0luZGV4OnUsdGFyZ2V0SW5kZXg6dSxzdGFydFk6ZS5jbGllbnRZLGdhcDpsLHF1ZXVlU25hcHNob3Q6aX0sdC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLG8uZm9yRWFjaChmdW5jdGlvbihjKXtjIT09dCYmYy5jbGFzc0xpc3QuYWRkKCJxdWV1ZS1iYXItaXRlbS1zbGlkaW5nIil9KTt2YXIgZD1mdW5jdGlvbihjKXskcChjKX0sZj1mdW5jdGlvbihjKXtYcChjKX07ci5xdWV1ZUJhckRyYWcubW92ZUhhbmRsZXI9ZCxyLnF1ZXVlQmFyRHJhZy51cEhhbmRsZXI9Zix0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsZiksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixmKX19fX1mdW5jdGlvbiBRcChlLHQsbixpKXtmb3IodmFyIGE9bi5sZW5ndGgsdT1bXSxvPTA7bzxhO28rKyl1LnB1c2gobyk7dS5zcGxpY2UoZSwxKSx1LnNwbGljZSh0LDAsZSk7Zm9yKHZhciBzPW5bMF0udG9wLGw9blswXS50b3AsZD0xO2Q8YTtkKyspbltkXS50b3A8bCYmKGw9bltkXS50b3ApO2Zvcih2YXIgZj17fSxjPWwsdj0wO3Y8YTt2Kyspe3ZhciBoPXVbdl07ZltoXT1jLGMrPW5baF0uaGVpZ2h0K2l9cmV0dXJuIGZ9ZnVuY3Rpb24gJHAoZSl7dmFyIHQ9ci5xdWV1ZUJhckRyYWc7aWYoISghdHx8ZS5wb2ludGVySWQhPT10LnBvaW50ZXJJZCkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbj1lLmNsaWVudFktdC5zdGFydFk7dC5pdGVtRWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKCIrbisicHgpIjtmb3IodmFyIGk9dC5yZWN0c1t0Lm9yaWdJbmRleF0udG9wK3QucmVjdHNbdC5vcmlnSW5kZXhdLmhlaWdodC8yK24sYT10Lm9yaWdJbmRleCx1PTA7dTx0LnJlY3RzLmxlbmd0aDt1KyspaWYodSE9PXQub3JpZ0luZGV4KXt2YXIgbz10LnJlY3RzW3VdLnRvcCt0LnJlY3RzW3VdLmhlaWdodC8yO3U8dC5vcmlnSW5kZXgmJmk8bz9hPU1hdGgubWluKGEsdSk6dT50Lm9yaWdJbmRleCYmaT5vJiYoYT1NYXRoLm1heChhLHUpKX1pZihhIT09dC50YXJnZXRJbmRleCl7dC50YXJnZXRJbmRleD1hO3ZhciBzPVFwKHQub3JpZ0luZGV4LGEsdC5yZWN0cyx0LmdhcCk7dC5zaWJsaW5ncy5mb3JFYWNoKGZ1bmN0aW9uKGwsZCl7aWYoZCE9PXQub3JpZ0luZGV4KXt2YXIgZj1zW2RdLXQucmVjdHNbZF0udG9wO2wuc3R5bGUudHJhbnNmb3JtPWY/InRyYW5zbGF0ZVkoIitmKyJweCkiOiIifX0pfX19ZnVuY3Rpb24gWHAoZSl7dmFyIHQ9ci5xdWV1ZUJhckRyYWc7aWYoISghdHx8ZSYmZS5wb2ludGVySWQhPT10LnBvaW50ZXJJZCkpe3RyeXt0LmhhbmRsZUVsLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh0LnBvaW50ZXJJZCl9Y2F0Y2h7fXQuaGFuZGxlRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHQubW92ZUhhbmRsZXIpLHQuaGFuZGxlRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0LnVwSGFuZGxlciksdC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix0LnVwSGFuZGxlcik7dmFyIG49dC5vcmlnSW5kZXgsaT10LnRhcmdldEluZGV4LGE9dC5xdWV1ZVNuYXBzaG90O2lmKHQuc2libGluZ3MuZm9yRWFjaChmdW5jdGlvbihkKXtkLnN0eWxlLnRyYW5zZm9ybT0iIixkLmNsYXNzTGlzdC5yZW1vdmUoInF1ZXVlLWJhci1pdGVtLXNsaWRpbmciKX0pLHQuaXRlbUVsLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksci5xdWV1ZUJhckRyYWc9bnVsbCxuPT09aSl7aXQoKTtyZXR1cm59Zm9yKHZhciB1PVtdLG89MDtvPGEubGVuZ3RoO28rKyl1LnB1c2gobyk7dS5zcGxpY2UobiwxKSx1LnNwbGljZShpLDAsbik7dmFyIHM9dS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGFbZF19KSxsPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZC5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKCFsKXtpdCgpO3JldHVybn1lZSh7aWQ6bC5pZCxxdWV1ZWRNZXNzYWdlczpzfSksaXQoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrbC5pZCsiL3F1ZXVlZCIse21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtvcmRlcjp1fSl9KS50aGVuKGZ1bmN0aW9uKGQpe2lmKCFkLm9rKXJldHVybiBkLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihmKXt0aHJvdyBuZXcgRXJyb3IoZiYmZi5lcnJvcnx8Ilx1NjM5Mlx1NUU4Rlx1NTkzMVx1OEQyNSIpfSl9KS5jYXRjaChmdW5jdGlvbihkKXtxaShsLGEpLHgoZCYmZC5tZXNzYWdlfHwiXHU4QzAzXHU2NTc0XHU2MzkyXHU5NjFGXHU5ODdBXHU1RThGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX1mdW5jdGlvbiBacCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWV1ZS1iYXItaG9zdCIpOyFlfHxlLl9fcXVldWVEZWxlZ2F0ZWR8fChlLl9fcXVldWVEZWxlZ2F0ZWQ9ITAsZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIG49dC50YXJnZXQsaT1uJiZuLmNsb3Nlc3Q/bi5jbG9zZXN0KCJbZGF0YS1hY3Rpb25dIik6bnVsbDtpZihpJiZlLmNvbnRhaW5zKGkpKXt2YXIgYT1pLmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtpZihhPT09ImRyYWciKXJldHVybjtpZih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxhPT09InByb21vdGUtaXRlbSIpe3ZhciB1PWkuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik7dSYmR3AoTnVtYmVyKHUuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKX1lbHNlIGlmKGE9PT0iZGVsZXRlIil7dmFyIG89aS5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTtvJiZLcChOdW1iZXIoby5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkpfWVsc2UgYT09PSJjbGVhci1hbGwiJiZKcCgpO3JldHVybn19KSxlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixmdW5jdGlvbih0KXtpZighKHQuYnV0dG9uIT09dm9pZCAwJiZ0LmJ1dHRvbiE9PTApKXt2YXIgbj10LnRhcmdldDtpZighKG4mJm4uY2xvc2VzdCYmbi5jbG9zZXN0KCdbZGF0YS1hY3Rpb249ImRlbGV0ZSJdLCBbZGF0YS1hY3Rpb249InByb21vdGUtaXRlbSJdLCBbZGF0YS1hY3Rpb249ImNsZWFyLWFsbCJdLCBbZGF0YS1hY3Rpb249ImV4cGFuZCJdJykpKXt2YXIgaT1uJiZuLmNsb3Nlc3Q/bi5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTpudWxsO2kmJllwKHQsaSl9fX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmenAoKSYmKHQuc3RvcFByb3BhZ2F0aW9uKCksVnAoITEpKX0pKX1mdW5jdGlvbiBSZShlLHQpe3ZhciBuPUFycmF5LmlzQXJyYXkodCk/Q3IodCk6W10saT1BcnJheS5pc0FycmF5KG4pP24uc2xpY2UoKTpbXTtpZighZXx8ZS5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIilyZXR1cm4gaTtpZihlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpe3ZhciBhPWlbaS5sZW5ndGgtMV07KCFhfHxhLnJvbGUhPT0iYXNzaXN0YW50IikmJmkucHVzaCh7cm9sZToiYXNzaXN0YW50Iixjb250ZW50Olt7dHlwZToidGV4dCIsdGV4dDoiIixfX3Byb2Nlc3Npbmc6ITB9XX0pfXJldHVybiBpfWZ1bmN0aW9uIFlzKCl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7dmkoZSksRm4oKX1mdW5jdGlvbiBRcyhlKXt2YXIgdD1xdCgpLG49dCYmdC5wcm92aWRlcj09PSJjb2RleCI7cmV0dXJuIGUmJihlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9SVU5OSU5HInx8ZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT19QVFkiKT9uPyJDb2RleCBcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUZcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU1NzI4XHU0RjYwXHU0RTBCXHU2QjIxXHU1M0QxXHU5MDAxXHU2RDg4XHU2MDZGXHU2NUY2XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHUzMDAyIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGXHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTU3MjhcdTRGNjBcdTRFMEJcdTZCMjFcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdTY1RjZcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTMwMDIiOmUmJmUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX0ZPVU5EIj8iXHU0RjFBXHU4QkREXHU0RTBEXHU1QjU4XHU1NzI4XHVGRjBDXHU4QkY3XHU5MUNEXHU2NUIwXHU5MDA5XHU2MkU5XHU2MjE2XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHUzMDAyIjplJiZlLm1lc3NhZ2V8fChuPyJDb2RleCBcdTRGMUFcdThCRERcdTY2ODJcdTRFMERcdTUzRUZcdTc1MjhcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU4MUVBXHU1MkE4XHU1QzFEXHU4QkQ1XHU2MDYyXHU1OTBEXHUzMDAyIjoiXHU0RjFBXHU4QkREXHU2NjgyXHU0RTBEXHU1M0VGXHU3NTI4XHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTgxRUFcdTUyQThcdTVDMURcdThCRDVcdTYwNjJcdTU5MERcdTMwMDIiKX1mdW5jdGlvbiAkcyhlKXt2YXIgdD1uZXcgRXJyb3IoZSYmZS5lcnJvcnx8Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1Rlx1MzAwMiIpO3JldHVybiBlJiZ0eXBlb2YgZT09Im9iamVjdCImJih0LmVycm9yQ29kZT1lLmVycm9yQ29kZXx8bnVsbCx0LnNlc3Npb25JZD1lLnNlc3Npb25JZHx8ci5zZWxlY3RlZElkfHxudWxsLHQuc2Vzc2lvblN0YXR1cz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwic2Vzc2lvblN0YXR1cyIpP2Uuc2Vzc2lvblN0YXR1czpudWxsKSx0fWZ1bmN0aW9uIFhzKGUpe3JldHVybiBlJiYoZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfUlVOTklORyJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9fUFRZInx8ZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfRk9VTkQiKX1mdW5jdGlvbiBldihlLHQpe2UmJmVlKHtpZDplLHN0YXR1czp0fHwiZXhpdGVkIn0pfWZ1bmN0aW9uIERoKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKXx8ZS5tZXNzYWdlcy5sZW5ndGg8MilyZXR1cm4hMTt2YXIgdD1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJ1c2VyIiYmQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpJiZpLmNvbnRlbnQuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS50eXBlPT09InRleHQiJiZ0eXBlb2YgYS50ZXh0PT0ic3RyaW5nIiYmYS50ZXh0LnRyaW0oKS5sZW5ndGg+MH0pfSksbj1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGkuY29udGVudCkmJmkuY29udGVudC5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnR5cGU9PT0idGV4dCImJnR5cGVvZiBhLnRleHQ9PSJzdHJpbmciJiZhLnRleHQudHJpbSgpLmxlbmd0aD4wfSl9KTtyZXR1cm4gdCYmbn1mdW5jdGlvbiBhdShlKXtyZXR1cm4hIShlJiYhc2UoZSkmJihlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5zdGF0dXMhPT0icnVubmluZyImJmUuY2xhdWRlU2Vzc2lvbklkKX1mdW5jdGlvbiB0dihlLHQpe2lmKCFlKXJldHVybiB4KCJcdTRGMUFcdThCRERcdTRFMERcdTVCNThcdTU3MjhcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTkwMDlcdTYyRTlcdTYyMTZcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihlLnN0YXR1cz09PSJydW5uaW5nIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO2lmKCFhdShlKSl7dmFyIG49ZSYmZS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IjoiQ2xhdWRlIjtyZXR1cm4geCgiXHU4QkU1XHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU2MDYyXHU1OTBEXHU3Njg0ICIrbisiIFx1NTM4Nlx1NTNGMlx1NEUwQVx1NEUwQlx1NjU4N1x1RkYwQ1x1OEJGN1x1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXJldHVybiBzbChlLmlkLHQpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/KGVlKGkpLHBlKCksR24oaS5pZCksa24oaS5pZCkudGhlbihmdW5jdGlvbigpe3JldHVybiBIdCghMCksaX0pKTpudWxsfSl9ZnVuY3Rpb24gbnYoZSx0KXtyZXR1cm5bdCwiXHIiXX1mdW5jdGlvbiBydihlLHQsbixpKXt2YXIgYT1BcnJheS5pc0FycmF5KGUpP2UuZmlsdGVyKGZ1bmN0aW9uKG8pe3JldHVybiEhb30pOltdO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9dHlwZW9mIG49PSJudW1iZXIiP246MDtyZXR1cm4gYS5yZWR1Y2UoZnVuY3Rpb24obyxzLGwpe3JldHVybiBvLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbD4wJiZ1PjA/bmV3IFByb21pc2UoZnVuY3Rpb24oZCl7c2V0VGltZW91dChkLHUpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBidChzLGw9PT1hLmxlbmd0aC0xP3Q6dm9pZCAwLGkpfSk6YnQocyxsPT09YS5sZW5ndGgtMT90OnZvaWQgMCxpKX0pfSxQcm9taXNlLnJlc29sdmUoKSl9dmFyIGl2PTVlMyxhdj0xMDA7ZnVuY3Rpb24gdXUoZSl7ZSYmKHIucGVuZGluZ01lc3NhZ2VzLmxlbmd0aD49YXYmJnIucGVuZGluZ01lc3NhZ2VzLnNoaWZ0KCksci5wZW5kaW5nTWVzc2FnZXMucHVzaCh7aW5wdXQ6ZSxhdDpEYXRlLm5vdygpfSkpfWZ1bmN0aW9uIHV2KGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZSk/ZS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuISFufSk6W107dC5mb3JFYWNoKGZ1bmN0aW9uKG4pe3V1KG4pfSl9ZnVuY3Rpb24gb3YoZSl7aWYoISh0eXBlb2YgZSE9InN0cmluZyJ8fCFlKSl7dmFyIHQ9ZS5yZXBsYWNlKC9ceDFiXFsyMDB+L2csIiIpLnJlcGxhY2UoL1x4MWJcWzIwMX4vZywiIik7Lyg/Ol58XG4pXHMqXC9jbGVhclxzKig/OlxyfFxufCQpLy50ZXN0KHQpJiZ0eXBlb2YgcjwidSImJnImJihyLnRlcm1pbmFsT3V0cHV0TWFya2VyPShyLnRlcm1pbmFsT3V0cHV0JiZyLnRlcm1pbmFsT3V0cHV0Lmxlbmd0aCl8MCl9fWZ1bmN0aW9uIGJ0KGUsdCxuKXtyZXR1cm4hZXx8IXIuc2VsZWN0ZWRJZD9Qcm9taXNlLnJlc29sdmUoKToob3YoZSksci5tZXNzYWdlUXVldWUucHVzaChlKSxyLmlucHV0UXVldWU9ci5pbnB1dFF1ZXVlLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gc3YoZSx0LG4pLmZpbmFsbHkoZnVuY3Rpb24oKXt2YXIgaT1yLm1lc3NhZ2VRdWV1ZS5pbmRleE9mKGUpO2k+LTEmJnIubWVzc2FnZVF1ZXVlLnNwbGljZShpLDEpfSl9KSxyLmlucHV0UXVldWUpfWZ1bmN0aW9uIHN2KGUsdCxuKXtpZighci5zZWxlY3RlZElkKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgaT1yLnNlbGVjdGVkSWQsYT1ufHxyLmN1cnJlbnRWaWV3O3JldHVybiBNcCgpP3Iud3NDb25uZWN0ZWQ/ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitpKyIvaW5wdXQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDplLHZpZXc6YSxzaG9ydGN1dEtleTp0fHx2b2lkIDB9KX0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHUub2s/dS5qc29uKCk6dS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihvKXt2YXIgcz0kcyhvKTt0aHJvdyBzLmh0dHBTdGF0dXM9dS5zdGF0dXMsY29uc29sZS5lcnJvcigiW3dhbmRdIHBvc3RJbnB1dDogcmVxdWVzdCBmYWlsZWQiLHtzdGF0dXM6dS5zdGF0dXMsZXJyb3JDb2RlOnMuZXJyb3JDb2RlLG1lc3NhZ2U6cy5tZXNzYWdlLHNlc3Npb25JZDppfSksWHMocykmJmV2KGkscy5zZXNzaW9uU3RhdHVzfHwiZXhpdGVkIiksc30pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdSYmdS5pZCYmKGVlKHUpLHUuaWQ9PT1yLnNlbGVjdGVkSWQmJih1Lm1lc3NhZ2VzJiZ1Lm1lc3NhZ2VzLmxlbmd0aD4wJiYoci5jdXJyZW50TWVzc2FnZXM9dS5tZXNzYWdlcyksV2UoITApKSksdX0pOih1dShlKSxjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RJbnB1dDogV2ViU29ja2V0IGRpc2Nvbm5lY3RlZCwgcXVldWVkIG1lc3NhZ2UiLHtzZXNzaW9uSWQ6ci5zZWxlY3RlZElkLGlucHV0TGVuZ3RoOmUubGVuZ3RofSksUHJvbWlzZS5yZXNvbHZlKCkpOnIud3NDb25uZWN0ZWQ/KGNvbnNvbGUud2FybigiW3dhbmRdIHBvc3RJbnB1dDogc2Vzc2lvbiBub3QgcnVubmluZywgc2tpcHBpbmcgc2VuZCIse3Nlc3Npb25JZDpyLnNlbGVjdGVkSWR9KSx4KCJcdTRGMUFcdThCRERcdTY3MkFcdThGRDBcdTg4NENcdUZGMENcdTZCNjNcdTU3MjhcdTdCNDlcdTVGODVcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCkpOih1dShlKSxjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RJbnB1dDogc2Vzc2lvbiBub3QgcnVubmluZywgcXVldWVkIGZvciByZWNvbm5lY3QiLHtzZXNzaW9uSWQ6ci5zZWxlY3RlZElkLGlucHV0TGVuZ3RoOmUubGVuZ3RofSksUHJvbWlzZS5yZXNvbHZlKCkpfWZ1bmN0aW9uIGtoKGUpe3JldHVybiBidChlKX1mdW5jdGlvbiBxdCgpe3JldHVybiByLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWQ9PT1yLnNlbGVjdGVkSWR9KXx8bnVsbH1mdW5jdGlvbiBBaChlKXtyZXR1cm4gZSYmZS5wcm92aWRlcj09PSJjb2RleCI/YApgOiJcciJ9ZnVuY3Rpb24gb3UoKXtyZXR1cm4hIXIuc2VsZWN0ZWRJZCYmci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCJ9ZnVuY3Rpb24gbHYoZSl7cmV0dXJuISghci50ZXJtaW5hbHx8IWV8fGUhPT1yLnNlbGVjdGVkSWR8fHIudGVybWluYWxTZXNzaW9uSWQmJnIudGVybWluYWxTZXNzaW9uSWQhPT1lKX1mdW5jdGlvbiBacyhlKXtpZighci50ZXJtaW5hbEludGVyYWN0aXZlfHwhb3UoKXx8ZS5kZWZhdWx0UHJldmVudGVkfHxlLmlzQ29tcG9zaW5nKXJldHVybiExO3ZhciB0PWUudGFyZ2V0O3JldHVybiB0PyEoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpJiZ0LmNsb3Nlc3QmJnQuY2xvc2VzdCgiI2lucHV0LWJveCIpfHx0LmNsb3Nlc3QmJnQuY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8Z3YodCkpOiEwfXZhciBkdj17RXNjOiJlc2NhcGUiLEFycm93VXA6InVwIixBcnJvd0Rvd246ImRvd24iLEFycm93TGVmdDoibGVmdCIsQXJyb3dSaWdodDoicmlnaHQiLEVudGVyOiJlbnRlciIsVGFiOiJ0YWIiLEJhY2tzcGFjZToiYmFja3NwYWNlIixIb21lOiJob21lIixFbmQ6ImVuZCIsUGFnZVVwOiJwYWdldXAiLFBhZ2VEb3duOiJwYWdlZG93biIsRGVsZXRlOiJkZWxldGUiLEluc2VydDoiaW5zZXJ0IiwiICI6InNwYWNlIn0sY3Y9e3NwYWNlOiIgIix0YWI6IgkiLHNoaWZ0X3RhYjoiXHgxQltaIixiYWNrc3BhY2U6Ilx4N0YiLGhvbWU6Ilx4MUJbSCIsZW5kOiJceDFCW0YiLHBhZ2V1cDoiXHgxQls1fiIscGFnZWRvd246Ilx4MUJbNn4iLGRlbGV0ZToiXHgxQlszfiIsaW5zZXJ0OiJceDFCWzJ+In0sZWw9eyIgIjowLCJbIjoyNywiXFwiOjI4LCJdIjoyOSwiXiI6MzAsXzozMX0sZnY9NDAwLHB2PTEwLHZ2PTgsSGk9NTQsQ249OCxzdT1be2tleToiZW50ZXIiLGxhYmVsOiJFbnRlciJ9LHtrZXk6ImN0cmxfYyIsbGFiZWw6IkN0cmwrQyJ9LHtrZXk6ImVzY2FwZSIsbGFiZWw6IkVzYyJ9LHtrZXk6InNoaWZ0X3RhYiIsbGFiZWw6IlNoaWZ0K1RhYiJ9XSxtdj1uZXcgU2V0KFsibWluaS1rZXlib2FyZC1mYWIiLCJtaW5pLWtleWJvYXJkLXRvZ2dsZSIsInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZSJdKTtmdW5jdGlvbiBndihlKXtyZXR1cm4hIShlJiZtdi5oYXMoZS5pZCkpfXZhciBodj1uZXcgU2V0KFsiY3RybCIsImFsdCIsInNoaWZ0Il0pO2Z1bmN0aW9uIHRsKGUpe3JldHVybiBodi5oYXMoZSl9ZnVuY3Rpb24geXYoZSl7cmV0dXJuIGN2W2VdfHwiIn1mdW5jdGlvbiBidihlKXt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ+PSJhIiYmdDw9InoiP1N0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZUF0KDApLTk2KTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZWwsdCk/U3RyaW5nLmZyb21DaGFyQ29kZShlbFt0XSk6IiJ9ZnVuY3Rpb24gRXYoZSl7cmV0dXJuIGR2W2Uua2V5XXx8ZS5rZXl9ZnVuY3Rpb24gRnYoZSx0KXtyZXR1cm57Y3RybDplLmN0cmxLZXksYWx0OmUuYWx0S2V5LHNoaWZ0OmUuc2hpZnRLZXkmJih0Lmxlbmd0aD09PTF8fHQ9PT0idGFiIiksbWV0YTplLm1ldGFLZXl9fWZ1bmN0aW9uIG5sKGUsdCl7ZSYmYnQoZSx0KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIEN2KCl7bWwoKX1mdW5jdGlvbiBsdShlKXtyLmtleWJvYXJkUG9wdXBPcGVuPSExLGUhPT0hMSYmTmkoKSxEdigpfWZ1bmN0aW9uIHd2KCl7b3UoKSYmS24oIXIudGVybWluYWxJbnRlcmFjdGl2ZSl9ZnVuY3Rpb24gS24oZSl7dmFyIHQ9ISFlJiZvdSgpO3IudGVybWluYWxJbnRlcmFjdGl2ZSE9PXQmJihyLnRlcm1pbmFsSW50ZXJhY3RpdmU9dCx0PyhrdigpLGx1KCExKSxDdigpLHgoIlx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mlx1NkEyMVx1NUYwRlx1NURGMlx1NUYwMFx1NTQyRiIsImluZm8iKSk6KEF2KCksTmkoKSksUnIoKSl9ZnVuY3Rpb24gZHUoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uaWQ9PT1yLnNlbGVjdGVkSWR9KSx0PSFlfHxlLnN0YXR1cyE9PSJydW5uaW5nInx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCI7aWYodCYmci50ZXJtaW5hbEludGVyYWN0aXZlKXtLbighMSk7cmV0dXJufSghZXx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpJiZyLmtleWJvYXJkUG9wdXBPcGVuJiYoci5rZXlib2FyZFBvcHVwT3Blbj0hMSksUnIoKX1mdW5jdGlvbiBScigpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih5KXtyZXR1cm4geS5pZD09PXIuc2VsZWN0ZWRJZH0pLHQ9c2UoZSksbj1lJiZlLnByb3ZpZGVyPT09ImNvZGV4IixpPXQ/ISEoZSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KTohIWUmJmUuc3RhdHVzPT09InJ1bm5pbmciLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLHU9WyJ0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wIl07dS5mb3JFYWNoKGZ1bmN0aW9uKHkpe3ZhciBCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHkpO2lmKEIpe0IuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixyLnRlcm1pbmFsSW50ZXJhY3RpdmUpLEIuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtb24iLHIudGVybWluYWxJbnRlcmFjdGl2ZSksQi5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLHR8fHIuY3VycmVudFZpZXchPT0idGVybWluYWwifHwhZSksQi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsci50ZXJtaW5hbEludGVyYWN0aXZlPyJ0cnVlIjoiZmFsc2UiKTt2YXIgRT1CLnF1ZXJ5U2VsZWN0b3IoIi5wbHVzLXBvcG92ZXItdG9nZ2xlLXN0YXRlIik7RSYmKEUudGV4dENvbnRlbnQ9ci50ZXJtaW5hbEludGVyYWN0aXZlPyJcdTVGMDAiOiJcdTUxNzMiKX19KTt2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtaGludCIpO28mJihvLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsdD8hMDpyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiksIXQmJmUmJihvLnRleHRDb250ZW50PW4/IkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IGNoYXQgXHU0RTNBXHU4OUUzXHU2NzkwXHU4OUM2XHU1NkZFXHVGRjBDdGVybWluYWwgXHU0RTNBXHU1MzlGXHU1OUNCXHU4RjkzXHU1MUZBIjoiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIikpO3ZhciBzPSF0JiYhaSYmYXUoZSk7YSYmKGEucGxhY2Vob2xkZXI9amwoZSxyLnRlcm1pbmFsSW50ZXJhY3RpdmUpLGEuZGlzYWJsZWQ9IXQmJiEhZSYmIWkmJiFzLGEuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIixhLmRpc2FibGVkPyJ0cnVlIjoiZmFsc2UiKSxhLnJlYWRPbmx5PSExLGEuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtdGVybWluYWwtcGFzc3Rocm91Z2giLCEhci50ZXJtaW5hbEludGVyYWN0aXZlJiYhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpKSk7dmFyIGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7bCYmci50ZXJtaW5hbEludGVyYWN0aXZlJiZsLmNsYXNzTGlzdC5jb250YWlucygidm9pY2UtbW9kZSIpJiYobC5jbGFzc0xpc3QucmVtb3ZlKCJ2b2ljZS1tb2RlIikseGUucmVjb3JkaW5nPSExLG51KCkpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZW5kLWlucHV0LWJ1dHRvbiIpLGY9dCYmaTtkJiYoZC5kaXNhYmxlZD0hdCYmISFlJiYhaSYmIXMsZC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0P2Y/Ilx1NjM5Mlx1OTYxRlx1NTNEMVx1OTAwMVx1RkYwOFx1NUY1M1x1NTI0RFx1NTZERVx1NTkwRFx1N0VEM1x1Njc1Rlx1NTQwRVx1NTkwNFx1NzQwNlx1RkYwOSI6Ilx1NTNEMVx1OTAwMSI6bj9pPyJcdTUzRDFcdTkwMDFcdTdFRDkgQ29kZXgiOiJDb2RleCBcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiOiFlfHxpfHxzPyJcdTUzRDFcdTkwMDEiOiJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiKSxkLmNsYXNzTGlzdC50b2dnbGUoInF1ZXVlLW1vZGUiLGYpKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtpZihjKXt2YXIgdj1RdShlKTtjLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIXYuYWN0aXZlKX12YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtpZihoKXt2YXIgbT1RdShlKTtoLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIW0uYWN0aXZlKX12YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7ZyYmZy5jbGFzc0xpc3QudG9nZ2xlKCJpbnRlcmFjdGl2ZSIsIXQmJnIudGVybWluYWxJbnRlcmFjdGl2ZSkseXMoKX1mdW5jdGlvbiBfaSgpe3ZhciBlPXdpbmRvdy5nZXRTZWxlY3Rpb24mJndpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighZXx8ZS5pc0NvbGxhcHNlZClyZXR1cm4hMTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoIXQpcmV0dXJuITE7dmFyIG49ZS5hbmNob3JOb2RlO3JldHVybiBuJiZuLm5vZGVUeXBlPT09MyYmKG49bi5wYXJlbnROb2RlKSwhIShuJiZ0LmNvbnRhaW5zKG4pKX1mdW5jdGlvbiBjdShlKXtpZihacyhlKSYmIWUubWV0YUtleSl7dmFyIHQ9RXYoZSk7aWYodCl7dmFyIG49RnYoZSx0KTtpZighdGwodCkmJiEobi5jdHJsJiZ0Lmxlbmd0aD09PTEmJnQudG9Mb3dlckNhc2UoKT09PSJjIiYmX2koKSkpe3ZhciBpPWlsKHQsbik7aSYmKGUucHJldmVudERlZmF1bHQoKSxubChpLHQpKX19fX1mdW5jdGlvbiBCdigpe3IudGVybWluYWwmJllmKDUwMCl9ZnVuY3Rpb24gRHYoKXtMcigpfWZ1bmN0aW9uIHhoKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCEoci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCJ8fCFyLnNlbGVjdGVkSWQpJiYoci5rZXlib2FyZFBvcHVwT3Blbj0hci5rZXlib2FyZFBvcHVwT3BlbixScigpKX1mdW5jdGlvbiBybCgpe3Iua2V5Ym9hcmRQb3B1cE9wZW49ITEsUnIoKX1mdW5jdGlvbiBrdigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGN1LCEwKX1mdW5jdGlvbiBBdigpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGN1LCEwKX1mdW5jdGlvbiBpbChlLHQpe3ZhciBuPXR8fHtjdHJsOiExLGFsdDohMSxzaGlmdDohMX07aWYodGwoZSkpcmV0dXJuIiI7aWYoZT09PSJ0YWIiJiZuLnNoaWZ0KXJldHVybiJceDFCW1oiO3ZhciBpPXl2KGUpO2lmKGkpcmV0dXJuIGk7aWYoZS5pbmRleE9mKCJjdHJsXyIpPT09MClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSktOTYpO3ZhciBhPVdyKGUpO2lmKGEpcmV0dXJuIGE7aWYoIWUpcmV0dXJuIiI7dmFyIHU9ZS5sZW5ndGg9PT0xP2U6IiI7cmV0dXJuIHU/KG4uc2hpZnQmJih1PXUudG9VcHBlckNhc2UoKSksbi5jdHJsP2J2KHUpOm4uYWx0PyJceDFCIit1OnUpOiIifWZ1bmN0aW9uIE5pKCl7ci5tb2RpZmllcnMuY3RybD0hMSxyLm1vZGlmaWVycy5hbHQ9ITEsci5tb2RpZmllcnMuc2hpZnQ9ITEseHYoKX1mdW5jdGlvbiB4digpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaW5pLWtleWJvYXJkIik7ZSYmWyJjdHJsIiwiYWx0Iiwic2hpZnQiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcignW2RhdGEta2V5PSInK3QrJyJdJyk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhci5tb2RpZmllcnNbdF0pfSl9ZnVuY3Rpb24gV3IoZSl7c3dpdGNoKGUpe2Nhc2UieWVzIjpyZXR1cm4ieVxyIjtjYXNlIm5vIjpyZXR1cm4iblxyIjtjYXNlInVwIjpyZXR1cm4iXHgxQltBIjtjYXNlImRvd24iOnJldHVybiJceDFCW0IiO2Nhc2UibGVmdCI6cmV0dXJuIlx4MUJbRCI7Y2FzZSJyaWdodCI6cmV0dXJuIlx4MUJbQyI7Y2FzZSJlbnRlciI6cmV0dXJuIlxyIjtjYXNlImN0cmxfYyI6cmV0dXJuIgMiO2Nhc2UiY3RybF9kIjpyZXR1cm4iBCI7Y2FzZSJjdHJsX2wiOnJldHVybiJcZiI7Y2FzZSJjdHJsX3UiOnJldHVybiIVIjtjYXNlImN0cmxfayI6cmV0dXJuIlx2IjtjYXNlImN0cmxfdyI6cmV0dXJuIhciO2Nhc2UiY3RybF96IjpyZXR1cm4iGiI7Y2FzZSJlc2NhcGUiOnJldHVybiJceDFCIjtkZWZhdWx0OnJldHVybiIifX1mdW5jdGlvbiBTdigpe2lmKHIucGVuZGluZ01lc3NhZ2VzLmxlbmd0aCE9PTApe3ZhciBlPXF0KCk7aWYoc2UoZSkpe3IucGVuZGluZ01lc3NhZ2VzPVtdO3JldHVybn12YXIgdD1EYXRlLm5vdygpLG49W10saT0wO3IucGVuZGluZ01lc3NhZ2VzLmZvckVhY2goZnVuY3Rpb24odSl7aWYodHlwZW9mIHU9PSJzdHJpbmciKXtuLnB1c2godSk7cmV0dXJufWlmKCEoIXV8fHR5cGVvZiB1LmlucHV0IT0ic3RyaW5nIikpe2lmKHQtKHUuYXR8fDApPml2KXtpKys7cmV0dXJufW4ucHVzaCh1LmlucHV0KX19KSxyLnBlbmRpbmdNZXNzYWdlcz1bXSxpPjAmJmNvbnNvbGUubG9nKCJbd2FuZF0gZmx1c2hQZW5kaW5nTWVzc2FnZXM6IGRyb3BwZWQgIitpKyIgc3RhbGUgaW5wdXQocykiKTt2YXIgYT1Qcm9taXNlLnJlc29sdmUoKTtuLmZvckVhY2goZnVuY3Rpb24odSl7YT1hLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gSXYodSkuY2F0Y2goZnVuY3Rpb24oKXt9KX0pfSl9fWZ1bmN0aW9uIEl2KGUpe2lmKCFlfHwhci5zZWxlY3RlZElkKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgdD1yLnNlbGVjdGVkSWQ7cmV0dXJuIGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrdCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6ZSx2aWV3OnIuY3VycmVudFZpZXd9KX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4ub2s/bi5qc29uKCk6bi5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihpKXt2YXIgYT0kcyhpKTtpZihhLmh0dHBTdGF0dXM9bi5zdGF0dXMsWHMoYSkpcmV0dXJuIGNvbnNvbGUubG9nKCJbd2FuZF0gc2VuZElucHV0RGlyZWN0OiBzZXNzaW9uIHVuYXZhaWxhYmxlLCBkcm9wcGluZyIse3Nlc3Npb25JZDp0LGVycm9yQ29kZTphLmVycm9yQ29kZX0pLG51bGw7dGhyb3cgYX0pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5pZCYmKGVlKG4pLG4uaWQ9PT1yLnNlbGVjdGVkSWQmJihuLm1lc3NhZ2VzJiZuLm1lc3NhZ2VzLmxlbmd0aD4wJiYoci5jdXJyZW50TWVzc2FnZXM9bi5tZXNzYWdlcyksV2UoITApKSksbn0pfWZ1bmN0aW9uIGZ1KCl7aWYoci5zZWxlY3RlZElkKXt2YXIgZT1yLnNlbGVjdGVkSWQ7UWEoQmUoInN0b3AuY29uZmlybS5tZXNzYWdlIikse3RpdGxlOkJlKCJzdG9wLmNvbmZpcm0udGl0bGUiKSxkYW5nZXI6ITAsb2tMYWJlbDpCZSgic3RvcC5jb25maXJtLm9rIiksY2FuY2VsTGFiZWw6QmUoInN0b3AuY29uZmlybS5jYW5jZWwiKX0pLnRoZW4oZnVuY3Rpb24odCl7dCYmci5zZWxlY3RlZElkPT09ZSYmZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlKyIvc3RvcCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oX3QpfSl9fWZ1bmN0aW9uIHB1KGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZXNzaW9uLWl0ZW1bZGF0YS1zZXNzaW9uLWlkPSInK2UrJyJdJyksbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1lfSksaT1uJiZuLmNsYXVkZVNlc3Npb25JZDt0JiZ0LmNsYXNzTGlzdC5hZGQoImRlbGV0aW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2ZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSYmYS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoYS5lcnJvcik7cmV0dXJuIHIuc2VsZWN0ZWRJZD09PWUmJihyLnNlbGVjdGVkSWQ9bnVsbCxFZSgpKSxpJiYoci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuY2xhdWRlU2Vzc2lvbklkIT09aX0pLHIuY29kZXhIaXN0b3J5PXIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5jbGF1ZGVTZXNzaW9uSWQhPT1pfSkpLF90KCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiZGVsZXRpbmciKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7T2UoYSwiXHU2NUUwXHU2Q0Q1XHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREXHUzMDAyIil9KX0sMjUwKX1mdW5jdGlvbiBhbChlLHQpe3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvIitlbmNvZGVVUklDb21wb25lbnQoZSkse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3IpdGhyb3cgbmV3IEVycm9yKG4uZXJyb3IpO3IuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLmNsYXVkZVNlc3Npb25JZCE9PWV9KSxkZWxldGUgci5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV0scGUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJkZWxldGluZyIpO3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtPZShuLCJcdTY1RTBcdTZDRDVcdTUyMjBcdTk2NjRcdTRGMUFcdThCRERcdTMwMDIiKX0pfSwyNTApfWZ1bmN0aW9uIFNoKGUsdCl7YWwoZSx0KX1mdW5jdGlvbiBUdihlLHQsbil7ZSYmZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3Rvcnk/Y3dkPSIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpJiZpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtyLmNsYXVkZUhpc3Rvcnk9ci5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jd2QhPT1lfSkscGUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dWwobiwhMSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFjdGlvbi1lcnJvciIpO09lKGksIlx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNlx1OEJFNVx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIpfSl9ZnVuY3Rpb24gdWwoZSx0KXtlLmZvckVhY2goZnVuY3Rpb24obil7bi5jbGFzc0xpc3QudG9nZ2xlKCJkZWxldGluZyIsdCl9KX1mdW5jdGlvbiBMdihlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNsYXVkZS1oaXN0b3J5LWl0ZW1bZGF0YS1jd2Q9Iicrd2luZG93LkNTUy5lc2NhcGUoU3RyaW5nKGUpKSsnIl0nKSl9dmFyIG9sPW51bGwsenI9bnVsbDtmdW5jdGlvbiBWcigpe2lmKHpyKXt6ci5jbGFzc0xpc3QucmVtb3ZlKCJzd2lwZWQiKTt2YXIgZT16ci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1pdGVtLWNvbnRlbnQiKTtlJiYoZS5zdHlsZS50cmFuc2Zvcm09IiIpLHpyPW51bGx9fWZ1bmN0aW9uIE12KGUpe29sPW51bGwsenI9bnVsbH1mdW5jdGlvbiBPdihlLHQsbil7KGU9PT0iY2xhdWRlInx8ZT09PSJjb2RleCJ8fGU9PT0ib3BlbmNvZGUiKSYmKHIucHJlZmVycmVkQ29tbWFuZD1lLHIuY2hhdE1vZGU9ZHQoZSxyLmNoYXRNb2RlKSk7dmFyIGk9ZT09PSJjbGF1ZGUifHxlPT09ImNvZGV4Inx8ZT09PSJvcGVuY29kZSI/UXIoZSk6IiI7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShmdCh7Y29tbWFuZDplLHByb3ZpZGVyOmU9PT0iY2xhdWRlInx8ZT09PSJjb2RleCJ8fGU9PT0ib3BlbmNvZGUiP2U6dm9pZCAwLGN3ZDp0fHwiIixtb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIsbW9kZWw6aXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0OnIuY2hhdFRoaW5raW5nfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXJyb3I/KG4mJk9lKG4sYS5lcnJvciksbnVsbCk6KHIuc2VsZWN0ZWRJZD1hLmlkLEVlKCksci5kcmFmdHNbYS5pZF09IiIsYSl9KX12YXIgdnU9ITE7ZnVuY3Rpb24gc2woZSx0KXtyZXR1cm4hZXx8dnU/UHJvbWlzZS5yZXNvbHZlKG51bGwpOih2dT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoZnQoe21vZGU6ci5jaGF0TW9kZXx8ci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5lcnJvcj8odD9PZSh0LG4uZXJyb3IpOngobi5lcnJvciwiZXJyb3IiKSxudWxsKTooci5zZWxlY3RlZElkPW4uaWQsRWUoKSxyLmRyYWZ0c1tuLmlkXT0iIixuKX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3ZhciBpPW4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiI7cmV0dXJuIHQ/T2UodCxpKTp4KGksImVycm9yIiksbnVsbH0pLmZpbmFsbHkoZnVuY3Rpb24oKXt2dT0hMX0pKX1mdW5jdGlvbiBJaChlLHQpe3JldHVybiBlP2ZldGNoKCIvYXBpL2NsYXVkZS1zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoZnQoe21vZGU6ci5jaGF0TW9kZXx8ci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5lcnJvcj8odD9PZSh0LG4uZXJyb3IpOngobi5lcnJvciwiZXJyb3IiKSxudWxsKTooci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLHIuc2VsZWN0ZWRJZD1uLmlkLEVlKCksci5kcmFmdHNbbi5pZF09IiIsbil9KS5jYXRjaChmdW5jdGlvbihuKXt2YXIgaT1uJiZuLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYzMDkgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCBcdTYwNjJcdTU5MERcdTRGMUFcdThCRERcdTMwMDIiO3JldHVybiB0P09lKHQsaSk6eChpLCJlcnJvciIpLG51bGx9KTpQcm9taXNlLnJlc29sdmUobnVsbCl9ZnVuY3Rpb24gd24oZSl7cmV0dXJuIWV8fCFlLmlkP1Byb21pc2UucmVzb2x2ZSgpOihyLnNlbGVjdGVkSWQ9ZS5pZCxFZSgpLHIuY3VycmVudE1lc3NhZ2VzPVtdLE1yKCksRHQoKSxqcihlLmlkKSxlZShlKSxwZSgpLEduKGUuaWQpLGtuKGUuaWQpLnRoZW4oZnVuY3Rpb24oKXtIdCghMCl9KSl9ZnVuY3Rpb24gbGwoZSl7cmV0dXJuIHNsKGUpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuY2xhdWRlU2Vzc2lvbklkJiYodC5wcm92aWRlcj09PSJjb2RleCI/ci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNsYXVkZVNlc3Npb25JZCE9PXQuY2xhdWRlU2Vzc2lvbklkfSk6ci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG4uY2xhdWRlU2Vzc2lvbklkIT09dC5jbGF1ZGVTZXNzaW9uSWR9KSksd24odCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0fSkpOm51bGx9KX1mdW5jdGlvbiBUaChlLHQsbil7cmV0dXJuIE92KGUsdCxuKS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpP3duKGkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaX0pOm51bGx9KX1mdW5jdGlvbiBMaChlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS1pbnB1dCIpO2lmKHQpe3QucGxhY2Vob2xkZXI9Ilx1NkI2M1x1NTcyOFx1NjAxRFx1ODAwM1x1MjAyNiIsdC5kaXNhYmxlZD0hMDt2YXIgbj1yLmNoYXRNb2RlfHwibWFuYWdlZCIsaT1RZSgpLGE9JGUoKSx1PVFyKGEpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShmdCh7Y29tbWFuZDphLGN3ZDppLG1vZGU6bixpbml0aWFsSW5wdXQ6ZSxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6ci5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5lcnJvcj8oeChvLmVycm9yLCJlcnJvciIpLHQucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsdC5kaXNhYmxlZD0hMSxudWxsKTp3bihvKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe3gobyYmby5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSx0LnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLHQuZGlzYWJsZWQ9ITF9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dC5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIix0LmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIE1oKGUsdCxuKXt2YXIgaT1yLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1RZSgpLHU9JGUoKSxvPVFyKHUpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShmdCh7Y29tbWFuZDp1LGN3ZDphLG1vZGU6aSxpbml0aWFsSW5wdXQ6ZXx8dm9pZCAwLG1vZGVsOm98fHZvaWQgMCx0aGlua2luZ0VmZm9ydDpyLmNoYXRUaGlua2luZ3x8dm9pZCAwfSkpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmVycm9yPyh4KHMuZXJyb3IsImVycm9yIiksbnVsbCk6KHQmJih0LnZhbHVlPSIiKSxuJiYobi52YWx1ZT0iIiksd24ocykpfSkuY2F0Y2goZnVuY3Rpb24ocyl7eChzJiZzLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9ZnVuY3Rpb24gUHYoZSl7ZS5kaXNhYmxlZD0hMCxsbChlLmRhdGFzZXQuc2Vzc2lvbklkKS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pfWZ1bmN0aW9uIHF2KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQsbj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLGppKHQsbikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYoci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXVkZVNlc3Npb25JZCE9PXR9KSxyLnNlbGVjdGVkSWQ9aS5pZCxFZSgpLHIuZHJhZnRzW2kuaWRdPSIiLHduKGkpLnRoZW4oZnVuY3Rpb24oKXtqdCgpfSkpfSkuZmluYWxseShmdW5jdGlvbigpe2UuZGlzYWJsZWQ9ITF9KSl9ZnVuY3Rpb24gamkoZSx0KXtyZXR1cm4gZmV0Y2goIi9hcGkvY29kZXgtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGZ0KHttb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yPyh4KG4uZXJyb3IsImVycm9yIiksbnVsbCk6bn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiB4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIEh2KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQ7dCYmam4oIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NFx1OEZEOVx1Njc2MSBDb2RleCBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24obil7aWYobil7dmFyIGk9ZS5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aSYmKGkuc3R5bGUub3BhY2l0eT0iMC41IiksZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS8iK2VuY29kZVVSSUNvbXBvbmVudCh0KSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7YSYmYS5vaz8oci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiB1LmNsYXVkZVNlc3Npb25JZCE9PXR9KSxwZSgpKTppJiYoaS5zdHlsZS5vcGFjaXR5PSIxIil9KS5jYXRjaChmdW5jdGlvbigpe2kmJihpLnN0eWxlLm9wYWNpdHk9IjEiKX0pfX0pfWZ1bmN0aW9uIF92KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQsbj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLFJpKHQsbikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYoci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLHIuc2VsZWN0ZWRJZD1pLmlkLEVlKCksci5kcmFmdHNbaS5pZF09IiIsd24oaSkudGhlbihmdW5jdGlvbigpe2p0KCl9KSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pKX1mdW5jdGlvbiBSaShlLHQpe3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGZ0KHttb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yPyh4KG4uZXJyb3IsImVycm9yIiksbnVsbCk6bn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiB4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIFVyKCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIEh0KGUpe2lmKCFyLnRlcm1pbmFsSW50ZXJhY3RpdmUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshdHx8IXIuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQmJihlJiZVcigpfHxtdSh0KSl9fWZ1bmN0aW9uIE9oKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtlJiYoZS5zY3JvbGxUb3A9MCl9ZnVuY3Rpb24gZGwoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlJiZlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWtleWJvYXJkLW9mZnNldCIpfWZ1bmN0aW9uIGNsKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1rZXlib2FyZC1vZmZzZXQiKX1mdW5jdGlvbiBXaShlKXtpZihlKXt2YXIgdD1lLnNlbGVjdGlvblN0YXJ0LG49ZS5zZWxlY3Rpb25FbmQ7emkoZSksdHlwZW9mIHQ9PSJudW1iZXIiJiZ0eXBlb2Ygbj09Im51bWJlciImJmUuc2V0U2VsZWN0aW9uUmFuZ2UodCxuKX19ZnVuY3Rpb24gZmwoZSl7IWV8fGUuZGF0YXNldC50b3VjaFNjcm9sbEJvdW5kPT09InRydWUifHwoZS5kYXRhc2V0LnRvdWNoU2Nyb2xsQm91bmQ9InRydWUiLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oKXtlLnNjcm9sbEhlaWdodDw9ZS5jbGllbnRIZWlnaHQrMXx8KGUuc2Nyb2xsVG9wPD0wP2Uuc2Nyb2xsVG9wPTE6ZS5zY3JvbGxUb3ArZS5jbGllbnRIZWlnaHQ+PWUuc2Nyb2xsSGVpZ2h0JiYoZS5zY3JvbGxUb3A9TWF0aC5tYXgoMSxlLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC0xKSkpfSx7cGFzc2l2ZTohMH0pKX1mdW5jdGlvbiBwbChlKXtlJiYoa3QoZSksV2koZSkpfWZ1bmN0aW9uIE52KGUpe3ZhciB0PWUmJmUudGFyZ2V0P2UudGFyZ2V0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt0JiYoZGwoKSxwbCh0KSl9ZnVuY3Rpb24ganYoZSl7dmFyIHQ9ZSYmZS50YXJnZXQ/ZS50YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2NsKCksY3MoMjIwMCx0KTt2YXIgbj1bODAsMjAwLDM4MCw2MjAsOTAwXTtuLmZvckVhY2goZnVuY3Rpb24oaSxhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cnIoITEpLGE9PT0xJiZVcigpJiYoWWUoImtleWJvYXJkLWJsdXIiLHtmb3JjZVJlcGxheTohMH0pLHl0KCJrZXlib2FyZCIpKX0saSl9KX1mdW5jdGlvbiBSdihlKXtlJiYoZS5zZXRTZWxlY3Rpb25SYW5nZShlLnZhbHVlLmxlbmd0aCxlLnZhbHVlLmxlbmd0aCksV2koZSkpfWZ1bmN0aW9uIG11KGUpe2UmJihlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksUnYoZSkpfWZ1bmN0aW9uIFd2KGUpe2ZsKGUpLHBsKGUpfWZ1bmN0aW9uIHp2KGUpe211KGUpfWZ1bmN0aW9uIFBoKGUpe2RsKCksV2koZSl9ZnVuY3Rpb24gVnYoKXtjbCgpfWZ1bmN0aW9uIFV2KGUpe1dpKGUpfWZ1bmN0aW9uIHFoKGUpe3p2KGUpfWZ1bmN0aW9uIEt2KGUpe1d2KGUpfWZ1bmN0aW9uIEhoKCl7VnYoKX1mdW5jdGlvbiBfaChlKXtVdihlKX1mdW5jdGlvbiBKdihlLHQpe2lmKCFlfHwhdHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpcmV0dXJuITE7dmFyIG49d2luZG93LmlubmVySGVpZ2h0LWUuaGVpZ2h0LWUub2Zmc2V0VG9wO2lmKG48PTUwKXJldHVybiExO3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkuYm90dG9tPmUuaGVpZ2h0LTEyfWZ1bmN0aW9uIHppKGUpe2lmKGUpe3ZhciB0PWUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KzE7aWYoIXQpe2Uuc2Nyb2xsVG9wPTA7cmV0dXJufWUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0fX1mdW5jdGlvbiB2bCgpe2lmKHIudGVybWluYWxJbnRlcmFjdGl2ZSl7bWwoKTtyZXR1cm59aWYoIVVyKCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshZXx8IXIuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWV8fG11KGUpfX1mdW5jdGlvbiBtbCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtlJiYoZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLGUuZm9jdXMoKSxyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLmZvY3VzJiZyLnRlcm1pbmFsLmZvY3VzKCkpfWZ1bmN0aW9uIEd2KCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKCJ2aXJ0dWFsS2V5Ym9hcmQiaW4gbmF2aWdhdG9yKXt2YXIgbj1uYXZpZ2F0b3IudmlydHVhbEtleWJvYXJkO24uYWRkRXZlbnRMaXN0ZW5lcigiZ2VvbWV0cnljaGFuZ2UiLGZ1bmN0aW9uKCl7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGluZy1ib3R0b20iKX0pfXZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZsKCl9KSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXt2YXIgdT1hLnRhcmdldDt1LnRhZ05hbWUhPT0iQSImJnUudGFnTmFtZSE9PSJCVVRUT04iJiYhdS5jbG9zZXN0KCJidXR0b24iKSYmIXUuY2xvc2VzdCgiW2RhdGEtdG9vbC10b2dnbGVdIikmJnZsKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7aWYoVXIoKSl7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCEoIXV8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT11KSl7dmFyIG89YS50YXJnZXQ7IW98fHR5cGVvZiBvLmNsb3Nlc3QhPSJmdW5jdGlvbiJ8fG8uY2xvc2VzdCgiLmlucHV0LXBhbmVsIil8fG8uY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8by5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC1mYWIiKXx8by5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC10b2dnbGUiKXx8by5jbG9zZXN0KCIjdGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIil8fG8uY2xvc2VzdCgiLndhbmQtam95c3RpY2stcm9vdCIpfHx1LmJsdXIoKX19fSwhMCl9ZnVuY3Rpb24gZ3UoKXt0cnl7d2luZG93LnNjcm9sbFRvKDAsMCl9Y2F0Y2h7fWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQmJihkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD0wKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPTApLGRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD0wKX1mdW5jdGlvbiBXZShlKXtyLnJlbmRlclBlbmRpbmcmJiFlfHwoci5yZW5kZXJQZW5kaW5nPSEwLGU/KFZpKCEwKSxyLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1ZpKCExKSxyLnJlbmRlclBlbmRpbmc9ITF9KSl9ci5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBodShlKXtpZighKHIuY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKHIuY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQoci5jaGF0UmVuZGVyVGltZXIpLGUpe3IuY2hhdFJlbmRlclRpbWVyPW51bGwsV2UoKTtyZXR1cm59dHJ5e3dpbmRvdy5fX3NjaGVkdWxlQ2hhdFJlbmRlcj1mdW5jdGlvbigpe2h1KCEwKX19Y2F0Y2h7fXZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dCYmdC5zdGF0dXM9PT0icnVubmluZyImJnQuc2Vzc2lvbktpbmQhPT0ic3RydWN0dXJlZCIsaT1uP3dzOkJzO3IuY2hhdFJlbmRlclRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmNoYXRSZW5kZXJUaW1lcj1udWxsO3ZhciBhPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih1KXtyZXR1cm4gdS5pZD09PXIuc2VsZWN0ZWRJZH0pO2EmJihyLmN1cnJlbnRNZXNzYWdlcz1SZShhLFplKGEsYS5vdXRwdXQsITApKSksV2UoKX0saSl9fWZ1bmN0aW9uIFl2KGUsdCl7aWYoIWV8fCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuW107ZnVuY3Rpb24gbihCKXtyZXR1cm4gQi5yZXBsYWNlKC9ceDFCKD86W0AtWlxcLV9dfFxbWzAtP10qWyAtL10qW0Atfl0pL2csIiIpfWZvcih2YXIgaT1uKGUpLGE9W10sdT1bXSxvPTA7bzx0Lmxlbmd0aDtvKyspaWYodFtvXS5yb2xlPT09InVzZXIiKXt2YXIgcz0iIixsPXRbb10uY29udGVudDtpZih0eXBlb2YgbD09InN0cmluZyIpcz1sO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShsKSl7Zm9yKHZhciBkPTA7ZDxsLmxlbmd0aDtkKyspaWYobFtkXS50eXBlPT09InRleHQiKXtzPWxbZF0udGV4dDticmVha319cyYmdS5wdXNoKHt0ZXh0OnMsaW5kZXg6b30pfWZvcih2YXIgZj0wLG89MDtvPHUubGVuZ3RoO28rKyl7dmFyIGM9dVtvXSx2PWkuaW5kZXhPZigiXHUyNzZGICIrYy50ZXh0LGYpO2lmKHY9PT0tMSYmKHY9aS5pbmRleE9mKGAKXHUyNzZGIGArYy50ZXh0LGYpLHYhPT0tMSYmKHYrPTEpKSx2PmYpe2Zvcih2YXIgaD1pLnN1YnN0cmluZyhmLHYpLG09aC5zcGxpdChgCmApLGc9W10sZD0wO2Q8bS5sZW5ndGg7ZCsrKXt2YXIgeT1tW2RdLnRyaW0oKTsheXx8eS5zdGFydHNXaXRoKCJcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAiKXx8eT09PSJcdTI3NkYifHx5PT09Ij8ifHx5PT09IiJ8fHkuaW5jbHVkZXMoIkNsYXVkZSBDb2RlIHYiKXx8eS5pbmNsdWRlcygiT3B1cyIpJiZ5LmluY2x1ZGVzKCJ3aXRoIil8fHkuaW5jbHVkZXMoIlNvbm5ldCIpJiZ5LmluY2x1ZGVzKCJ3aXRoIil8fHkuaW5jbHVkZXMoIkFQSSBVc2FnZSIpfHx5LmluY2x1ZGVzKCJCaWxsaW5nIil8fHkuaW5jbHVkZXMoImZvciBzaG9ydGN1dHMiKXx8eS5pbmNsdWRlcygiL2VmZm9ydCIpfHx5Lm1hdGNoKC9eW+KWuOKWkOKWneKWmOKWl+KWluKWiOKWjOKWjeKWjuKWj+KWlOKWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWiF0vKXx8eS5tYXRjaCgvXlvilrjilpDilp3ilpjilpfilpbilojilozilo3ilo7ilo/ilpTiloHiloLiloPiloTiloXilobilofilojilohdezMsfS8pfHx5Lmxlbmd0aD4zJiZnLnB1c2goeSl9Zy5sZW5ndGg+MCYmYS5wdXNoKHtiZWZvcmVNZXNzYWdlOmMuaW5kZXgsY29udGVudDpnLmpvaW4oYApgKX0pfWY9ditjLnRleHQubGVuZ3RoKzJ9cmV0dXJuIGF9ZnVuY3Rpb24geXUoZSl7aWYoIWUpcmV0dXJuIG51bGw7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO3JldHVybiB0fHwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0LmNsYXNzTmFtZT0iY2hhdC1tZXNzYWdlcyIsZS5hcHBlbmRDaGlsZCh0KSx0KX1mdW5jdGlvbiBnbChlLHQpe3ZhciBuPXl1KGUpO3JldHVybiBuPyhuLmlubmVySFRNTD10LFd0KG4pLEVyKCksR2UoKSxuKTpudWxsfWZ1bmN0aW9uIFZpKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2lmKCF0KXJldHVybjt2YXIgbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oWCl7cmV0dXJuIFguaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZighbil7ci5sYXN0UmVuZGVyZWRFbXB0eSE9PSJub25lIiYmKGdsKHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NjcyQVx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERDwvc3Ryb25nPjxicj5cdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0JcdTRGNjBcdTc2ODRcdTdCMkNcdTRFMDBcdTZCMjFcdTVCRjlcdThCRERcdTMwMDI8L2Rpdj4nKSxyLmxhc3RSZW5kZXJlZEVtcHR5PSJub25lIixyLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTApO3JldHVybn12YXIgaT1yLmN1cnJlbnRNZXNzYWdlcyxhPXdtKGkpO2lmKEZ1PUJtKGkpLGkubGVuZ3RoPT09MCl7aWYoci5sYXN0UmVuZGVyZWRFbXB0eSE9PSJlbXB0eSIpe3ZhciB1PSIiO3NlKG4pJiYodT0nPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtdHJpby13cmFwIj48ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS10cmlvLWhpbnQiPlx1OUVEOFx1OEJBNFx1NEYxQVx1NjMwOVx1NEVFNVx1NEUwQlx1OEJCRVx1N0Y2RVx1NTNEMVx1OTAwMVx1RkYwQ1x1NTNFRlx1NzBCOVx1NTFGQlx1OEMwM1x1NjU3NFx1RkYxQTwvZGl2PicrSm0obix7a2luZDoiZHJvcGRvd24ifSkrIjwvZGl2PiIpLGdsKHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NUJGOVx1OEJERFx1NURGMlx1NUYwMFx1NTlDQjwvc3Ryb25nPjxicj5cdTU3MjhcdTRFMEJcdTY1QjlcdThGOTNcdTUxNjVcdTY4NDZcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdUZGMENDbGF1ZGUgXHU0RjFBXHU4MUVBXHU1MkE4XHU1NkRFXHU1OTBEXHUzMDAyPC9kaXY+Jyt1KSxyLmxhc3RSZW5kZXJlZEVtcHR5PSJlbXB0eSIsci5sYXN0UmVuZGVyZWRNc2dDb3VudD0wfVh1KG51bGwsbiksRXUoW10pO3JldHVybn12YXIgbz1pLmxlbmd0aDtvPnIuY2hhdFJlbmRlcmVkQ291bnQmJihyLmNoYXRSZW5kZXJlZENvdW50PW8pO3ZhciBzPU1hdGgubWF4KDAsby1yLmNoYXRSZW5kZXJlZENvdW50KSxsPXM+MD9pLnNsaWNlKHMpOmksZD10eXBlb2Ygbi5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIiYmbi5tZXNzYWdlT2Zmc2V0PjAsZj1zPjB8fGQsYz1sLmxlbmd0aCx2PW4ub3V0cHV0P24ub3V0cHV0Lmxlbmd0aDowO2lmKG4ubWVzc2FnZXMmJm4ubWVzc2FnZXMubGVuZ3RoPjApe2Zvcih2YXIgaD0wLG09MCxnPTA7ZzxuLm1lc3NhZ2VzLmxlbmd0aDtnKyspe3ZhciB5PW4ubWVzc2FnZXNbZ10uY29udGVudDtpZih5KWlmKEFycmF5LmlzQXJyYXkoeSkpe2grPXkubGVuZ3RoO2Zvcih2YXIgQj0wO0I8eS5sZW5ndGg7QisrKXt2YXIgRT15W0JdO0UudGV4dCYmKG0rPUUudGV4dC5sZW5ndGgpLEUudGhpbmtpbmcmJihtKz1FLnRoaW5raW5nLmxlbmd0aCksRS5jb250ZW50JiYobSs9RS5jb250ZW50Lmxlbmd0aCksRS5pZCYmKG0rPUUuaWQubGVuZ3RoKSxFLnRvb2xfdXNlX2lkJiYobSs9RS50b29sX3VzZV9pZC5sZW5ndGgpLEUuZGVzY3JpcHRpb24mJihtKz1FLmRlc2NyaXB0aW9uLmxlbmd0aCksRS5pbnB1dCYmKG0rPUpTT04uc3RyaW5naWZ5KEUuaW5wdXQpLmxlbmd0aCl9aWYobi5tZXNzYWdlc1tnXS51c2FnZSl7dmFyIEM9bi5tZXNzYWdlc1tnXS51c2FnZTttKz0oQy5pbnB1dFRva2Vuc3x8MCkrKEMub3V0cHV0VG9rZW5zfHwwKSsoQy5jYWNoZVJlYWRJbnB1dFRva2Vuc3x8MCkrKEMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwKSsoQy5yZWFzb25pbmdPdXRwdXRUb2tlbnN8fDApK01hdGgucm91bmQoKEMudG90YWxDb3N0VXNkfHwwKSoxZTYpKyhDLmVzdGltYXRlZD09PSEwPzE6MCl9fWVsc2UgaCs9MSxtPVN0cmluZyh5KS5sZW5ndGh9dj1jKjFlNStoKjFlMyttfXZhciBEPWV8fGMhPT1yLmxhc3RSZW5kZXJlZE1zZ0NvdW50O2lmKCFEJiZjPT09ci5sYXN0UmVuZGVyZWRNc2dDb3VudCYmdj09PXIubGFzdFJlbmRlcmVkSGFzaCl7dmFyIEY9dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO0YmJlh1KEYsbiksRXUoaSk7cmV0dXJufXZhciBMPXIubGFzdFJlbmRlcmVkSGFzaCxTPXIubGFzdFJlbmRlcmVkTXNnQ291bnQ7aWYoci5sYXN0UmVuZGVyZWRNc2dDb3VudD1jLHIubGFzdFJlbmRlcmVkSGFzaD12LEY9eXUodCksIUYpcmV0dXJuO3ZhciBOPWJhKEYpLEo9IXIuY2hhdEluaXRpYWxSZW5kZXJEb25lLFc9Ri5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIikubGVuZ3RoLGs9RHx8Vz09PTB8fGMhPT1XO2Z1bmN0aW9uIEkoKXtmb3IodmFyIFg9WXYobi5vdXRwdXQsbCksaGU9IiIsZmU9bC5zbGljZSgpLnJldmVyc2UoKSxvZT1sLmxlbmd0aCxxPTA7cTxmZS5sZW5ndGg7cSsrKXtmb3IodmFyIHllPWZlW3FdLHB0PW9lLTEtcSx6dD1wdCtzLFVlPW51bGwsdXQ9MDt1dDxYLmxlbmd0aDt1dCsrKWlmKFhbdXRdLmJlZm9yZU1lc3NhZ2U9PT1wdCl7VWU9WFt1dF07YnJlYWt9VWUmJihoZSs9JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBzeXN0ZW0taW5mbyI+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8tY2FyZCI+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8taGVhZGVyIj5cdTIxMzlcdUZFMEYgXHU3Q0ZCXHU3RURGXHU0RkUxXHU2MDZGPC9kaXY+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8tY29udGVudCI+JytwKFVlLmNvbnRlbnQpKyI8L2Rpdj48L2Rpdj48L2Rpdj4iKSxoZSs9d3UoeWUsVFt6dF18fG51bGwsenQsYSl9aWYoZil7dmFyIFZ0PXM+MD8iXHU1MkEwXHU4RjdEXHU2NkY0XHU2NUU5XHU3Njg0ICIrTWF0aC5taW4oci5jaGF0UGFnZVNpemUscykrIiBcdTY3NjFcdTZEODhcdTYwNkYiOiJcdTUyQTBcdThGN0RcdTY2RjRcdTY1RTlcdTc2ODRcdTZEODhcdTYwNkYiO2hlKz0nPGRpdiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUiIGlkPSJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCI+PGJ1dHRvbiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUtYnRuIiB0eXBlPSJidXR0b24iPicrVnQrIjwvYnV0dG9uPjwvZGl2PiJ9dmFyIHh0PS0xLHR0PTA7aWYoVz4wJiYhTilmb3IodmFyIE1lPUYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFBlPUYucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLENlPTA7Q2U8UGUubGVuZ3RoO0NlKyspe3ZhciB3PVBlW0NlXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih3LmJvdHRvbT49TWUpe3ZhciBTdD1QZVtDZV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO1N0IT1udWxsJiYoeHQ9cGFyc2VJbnQoU3QsMTApLHR0PXcudG9wLU1lKTticmVha319aWYoRi5pbm5lckhUTUw9aGUsKGZ1bmN0aW9uKCl7Zm9yKHZhciBVdD1GLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSxLdD1VdC5sZW5ndGgsU2U9MDtTZTxLdDtTZSsrKVV0W1NlXS5zZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4IixTdHJpbmcocytLdC0xLVNlKSl9KSgpLFd0KEYpLFM9PT0wJiYhci5jaGF0SW5pdGlhbFJlbmRlckRvbmUpRi5zY3JvbGxUb3A9MCxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksci5jaGF0SW5pdGlhbFJlbmRlckRvbmU9ITA7ZWxzZSBpZihTPT09MCYmci5jaGF0U3RpY2tUb0JvdHRvbSlGLnNjcm9sbFRvcD0wO2Vsc2UgaWYoTilGLnNjcm9sbFRvcD0wO2Vsc2UgaWYoeHQ+PTApe3ZhciBxZT1GLnF1ZXJ5U2VsZWN0b3IoJy5jaGF0LW1lc3NhZ2VbZGF0YS1tc2ctaW5kZXg9IicreHQrJyJdJyk7aWYocWUpe3ZhciBudD1GLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxhbj1xZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyZT1hbi50b3AtbnQtdHQ7TWF0aC5hYnMocmUpPi41JiYoci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsRi5zY3JvbGxUb3ArPXJlLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3IuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpfX1obChGKSxFcigpLEJhKEYpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe0VhKEYpLEdlKCksVmQoKX0pfXZhciBUPXt9O2lmKChmdW5jdGlvbigpe2Zvcih2YXIgWD17aW5wdXRUb2tlbnM6MCxvdXRwdXRUb2tlbnM6MCxjYWNoZVJlYWRJbnB1dFRva2VuczowLGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczowLHJlYXNvbmluZ091dHB1dFRva2VuczowLHRvdGFsQ29zdFVzZDowLGVzdGltYXRlZDohMX0saGU9ITEsZmU9LTEsb2U9MDtvZTxpLmxlbmd0aDtvZSsrKXt2YXIgcT1pW29lXTtpZihxLnJvbGU9PT0idXNlciIpZmU+PTAmJmhlJiYoVFtmZV09WCksWD17aW5wdXRUb2tlbnM6MCxvdXRwdXRUb2tlbnM6MCxjYWNoZVJlYWRJbnB1dFRva2VuczowLGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczowLHJlYXNvbmluZ091dHB1dFRva2VuczowLHRvdGFsQ29zdFVzZDowLGVzdGltYXRlZDohMX0saGU9ITEsZmU9LTE7ZWxzZSBpZihxLnJvbGU9PT0iYXNzaXN0YW50IiYmcS51c2FnZSl7dmFyIHllPXEudXNhZ2U7aGU9ITAsWC5pbnB1dFRva2Vucys9eWUuaW5wdXRUb2tlbnN8fDAsWC5vdXRwdXRUb2tlbnMrPXllLm91dHB1dFRva2Vuc3x8MCxYLmNhY2hlUmVhZElucHV0VG9rZW5zKz15ZS5jYWNoZVJlYWRJbnB1dFRva2Vuc3x8MCxYLmNhY2hlQ3JlYXRpb25JbnB1dFRva2Vucys9eWUuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwLFgucmVhc29uaW5nT3V0cHV0VG9rZW5zKz15ZS5yZWFzb25pbmdPdXRwdXRUb2tlbnN8fDAsWC50b3RhbENvc3RVc2QrPXllLnRvdGFsQ29zdFVzZHx8MCxYLmVzdGltYXRlZD1YLmVzdGltYXRlZHx8eWUuZXN0aW1hdGVkPT09ITAsZmU9b2V9ZWxzZSBxLnJvbGU9PT0iYXNzaXN0YW50IiYmKGZlPW9lKX1mZT49MCYmaGUmJihUW2ZlXT1YKX0pKCksaylJKCk7ZWxzZSBpZihjPlcpe3ZhciBZPWwuc2xpY2UoVyk7WS5yZXZlcnNlKCk7Zm9yKHZhciBqPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxHPVtdLE09W10sdGU9cytXLG5lPTA7bmU8WS5sZW5ndGg7bmUrKyl7dmFyIE89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksUD1zK1crKFkubGVuZ3RoLTEtbmUpO08uaW5uZXJIVE1MPXd1KFlbbmVdLFRbUF18fG51bGwsUCxhKTt2YXIgXz1PLmZpcnN0RWxlbWVudENoaWxkO18mJihfLmNsYXNzTGlzdC5hZGQoImFuaW1hdGUtaW4iKSxfLnNldEF0dHJpYnV0ZSgiZGF0YS1tc2ctaW5kZXgiLFN0cmluZyhQKSksRy5wdXNoKF8pLE0ucHVzaChQKSxqLmFwcGVuZENoaWxkKF8pKX1GLmluc2VydEJlZm9yZShqLEYuZmlyc3RDaGlsZCksRXIoKSxobChGKSxCYShGKSxOP3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe0YuaXNDb25uZWN0ZWQmJk1hdGguYWJzKEYuc2Nyb2xsVG9wKT4xJiYoci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsRi5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMX0pKSxxbih7cmVtb3ZlRGl2aWRlcjohMH0pLEdlKCl9KTooci5jaGF0VW5yZWFkU3RhcnRJbmRleDwwJiYoci5jaGF0VW5yZWFkU3RhcnRJbmRleD10ZSksci5jaGF0VW5yZWFkQ291bnQrPUcubGVuZ3RoLEVhKEYpLEdlKCkpfWVsc2UgaWYoYz09PVcmJnYhPT1MKXtmb3IodmFyIFE9QXJyYXkuZnJvbShGLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSksJD1sLnNsaWNlKCkucmV2ZXJzZSgpLGllPSExLGdlPU1hdGgubWluKDQsJC5sZW5ndGgsUS5sZW5ndGgpLGFlPTA7YWU8Z2U7YWUrKyl7dmFyIHVlPVFbYWVdLHplPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFRlPXMrJC5sZW5ndGgtMS1hZTt6ZS5pbm5lckhUTUw9d3UoJFthZV0sVFtUZV18fG51bGwsVGUsYSk7dmFyIEZlPXplLmZpcnN0RWxlbWVudENoaWxkO2lmKEZlKXtpZih1ZS5pbm5lckhUTUwhPT1GZS5pbm5lckhUTUx8fHVlLmNsYXNzTmFtZSE9PUZlLmNsYXNzTmFtZSlGLnJlcGxhY2VDaGlsZChGZSx1ZSksWHYoRmUpLGllPSEwO2Vsc2UgaWYoYWU+MClicmVha319aWYoIWllJiYkLmxlbmd0aD5nZSYmSSgpLGllKXtFcigpLEJhKEYpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe04mJkYuaXNDb25uZWN0ZWQmJk1hdGguYWJzKEYuc2Nyb2xsVG9wKT4xJiYoci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsRi5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMX0pKSxFYShGKSxHZSgpfSk7dmFyIExlPUYucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZSIpLGF0PUYucXVlcnlTZWxlY3RvckFsbCgiLnRvb2wtdXNlLWNhcmQsIC5pbmxpbmUtZGlmZltkYXRhLWV4cGFuZC1rZXldIiksRGU9bnVsbDthdC5mb3JFYWNoKGZ1bmN0aW9uKFgpe3ZhciBoZT13YShYKTtDdChoZSk9PT1udWxsJiYoWC5jbGFzc0xpc3QuY29udGFpbnMoImFzay11c2VyIikmJiFYLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXItYW5zd2VyZWQiKXx8KExlJiZMZS5jb250YWlucyhYKT9EZT9YLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpOkRlPVg6WC5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZWQiKSkpfSl9fWVsc2UgYzxXJiZJKCk7ZXAoRiksQ20oRixuKSxnbSh0LEYsaSxKKSxYdShGLG4pLEV1KGkpfXZhciBidT0hMTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgbj10LmNsb3Nlc3QoIiN0b2RvLXByb2dyZXNzLXRvZ2dsZSIpO2lmKG4pe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLGJ1PSFidTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2kmJmEmJihidT8oaS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGEuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKSk6KGkuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSxhLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZGVkIikpKSxVaSgpfX19KTtmdW5jdGlvbiBVaSgpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGF0LW91dHB1dCAuY2hhdC1tZXNzYWdlcyIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2lmKCEoIWV8fCF0KSl7dmFyIG49ZSxpPSF0LmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIiksYT10LmNsYXNzTGlzdC5jb250YWlucygiZXhwYW5kZWQiKSx1PXQub2Zmc2V0SGVpZ2h0O2kmJmEmJnU+MD9uLnN0eWxlLnBhZGRpbmdCb3R0b209dSs4KyJweCI6bi5zdHlsZS5wYWRkaW5nQm90dG9tPSIifX1mdW5jdGlvbiBRdihlKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTt0eXBlb2YgaT09InN0cmluZyI/dC5wdXNoKGkpOmkmJnR5cGVvZiBpLnRleHQ9PSJzdHJpbmciJiZ0LnB1c2goaS50ZXh0KX1yZXR1cm4gdC5qb2luKCIiKX1yZXR1cm4iIn1mdW5jdGlvbiAkdihlLHQpe2Zvcih2YXIgbj17fSxpPXQ7aTxlLmxlbmd0aDtpKyspe3ZhciBhPWVbaV07aWYoISghYXx8IUFycmF5LmlzQXJyYXkoYS5jb250ZW50KSkpZm9yKHZhciB1PTA7dTxhLmNvbnRlbnQubGVuZ3RoO3UrKyl7dmFyIG89YS5jb250ZW50W3VdO28mJm8udHlwZT09PSJ0b29sX3Jlc3VsdCImJm8udG9vbF91c2VfaWQmJihuW28udG9vbF91c2VfaWRdPVF2KG8uY29udGVudCkpfX1mb3IodmFyIHM9e30sbD0wLGQ9MCxmPSExLGM9dDtjPGUubGVuZ3RoO2MrKyl7dmFyIHY9ZVtjXTtpZighKCF2fHwhQXJyYXkuaXNBcnJheSh2LmNvbnRlbnQpKSlmb3IodmFyIGg9MDtoPHYuY29udGVudC5sZW5ndGg7aCsrKXt2YXIgbT12LmNvbnRlbnRbaF07aWYoISghbXx8bS50eXBlIT09InRvb2xfdXNlIikpe3ZhciBnPW0uaW5wdXR8fHt9O2lmKG0ubmFtZT09PSJUYXNrQ3JlYXRlIil7Zj0hMCxkKys7dmFyIHk9blttLmlkXXx8IiIsQj15Lm1hdGNoKC8jKFxkKykvKSxFPUI/QlsxXTpTdHJpbmcoZCk7c1tFXT17aWQ6RSxjb250ZW50Omcuc3ViamVjdHx8IiIsYWN0aXZlRm9ybTpnLmFjdGl2ZUZvcm18fCIiLHN0YXR1czoicGVuZGluZyIsb3JkZXI6bCsrfX1lbHNlIGlmKG0ubmFtZT09PSJUYXNrVXBkYXRlIil7Zj0hMDt2YXIgQz1TdHJpbmcoZy50YXNrSWQpLEQ9c1tDXTtEfHwoRD17aWQ6Qyxjb250ZW50OiIiLGFjdGl2ZUZvcm06IiIsc3RhdHVzOiJwZW5kaW5nIixvcmRlcjpsKyt9LHNbQ109RCksZy5zdGF0dXMmJihELnN0YXR1cz1nLnN0YXR1cyksZy5zdWJqZWN0JiYoRC5jb250ZW50PWcuc3ViamVjdCksZy5hY3RpdmVGb3JtJiYoRC5hY3RpdmVGb3JtPWcuYWN0aXZlRm9ybSl9fX19aWYoIWYpcmV0dXJuIG51bGw7dmFyIEY9W107Zm9yKHZhciBMIGluIHMpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsTCkmJnNbTF0uc3RhdHVzIT09ImRlbGV0ZWQiJiZGLnB1c2goc1tMXSk7cmV0dXJuIEYuc29ydChmdW5jdGlvbihTLE4pe3JldHVybiBTLm9yZGVyLU4ub3JkZXJ9KSxGLmxlbmd0aD9GOm51bGx9ZnVuY3Rpb24gRXUoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aC0xO24+PTA7bi0tKWlmKGVbbl0mJmVbbl0ucm9sZT09PSJ1c2VyIil7dD1uKzE7YnJlYWt9Zm9yKHZhciBpPW51bGwsYT1lLmxlbmd0aC0xO2E+PXQ7YS0tKXt2YXIgdT1lW2FdO2lmKCEoIXUuY29udGVudHx8IUFycmF5LmlzQXJyYXkodS5jb250ZW50KSkpe2Zvcih2YXIgbz11LmNvbnRlbnQubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBzPXUuY29udGVudFtvXTtpZihzLnR5cGU9PT0idG9vbF91c2UiJiZzLm5hbWU9PT0iVG9kb1dyaXRlIiYmcy5pbnB1dCYmcy5pbnB1dC50b2Rvcyl7aT1zLmlucHV0LnRvZG9zO2JyZWFrfX1pZihpKWJyZWFrfX1pfHwoaT0kdihlLHQpKTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2lmKGwpe2lmKCFpfHxpLmxlbmd0aD09PTApe2wuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZCYmZC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxVaSgpO3JldHVybn1mb3IodmFyIGY9MCxjPTAsdj0iIixoPTA7aDxpLmxlbmd0aDtoKyspaVtoXS5zdGF0dXM9PT0iY29tcGxldGVkIiYmZisrLGlbaF0uc3RhdHVzPT09ImluX3Byb2dyZXNzIiYmKGMrKyx2fHwodj1pW2hdLmFjdGl2ZUZvcm18fGlbaF0uY29udGVudHx8IiIpKTt2YXIgbT1mPT09aS5sZW5ndGgsZz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oail7cmV0dXJuIGouaWQ9PT1yLnNlbGVjdGVkSWR9KSx5PSEhZyYmZy5zdGF0dXM9PT0icnVubmluZyI7aWYoIXl8fG0pe2wuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZCYmZC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxVaSgpO3JldHVybn1sLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGwuY2xhc3NMaXN0LnJlbW92ZSgiYWxsLWRvbmUiKSxkJiZkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiKTtCJiYoQi50ZXh0Q29udGVudD1mKyIvIitpLmxlbmd0aCk7dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtdGFzayIpO2lmKEUpe2lmKCF2KXtmb3IodmFyIEM9MDtDPGkubGVuZ3RoO0MrKylpZihpW0NdLnN0YXR1cz09PSJwZW5kaW5nIiYmKGlbQ10uYWN0aXZlRm9ybXx8aVtDXS5jb250ZW50KSl7dj1pW0NdLmFjdGl2ZUZvcm18fGlbQ10uY29udGVudDticmVha319RS50ZXh0Q29udGVudD12fHwiXHU1MUM2XHU1OTA3XHU0RTJEXHUyMDI2In12YXIgRD1pLmxlbmd0aD4wP2YvaS5sZW5ndGg6MCxGPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLXJpbmciKTtGJiZGLnN0eWxlLnNldFByb3BlcnR5KCItLXByb2dyZXNzIixELnRvRml4ZWQoMykpO3ZhciBMPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWZpbGwiKTtMJiZMLnN0eWxlLnNldFByb3BlcnR5KCItLXByb2dyZXNzIixELnRvRml4ZWQoMykpO3ZhciBTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWxpc3QiKTtpZihTKXtmb3IodmFyIE49IiIsSj0wO0o8aS5sZW5ndGg7SisrKXt2YXIgVz1pW0pdLGs9Vy5zdGF0dXN8fCJwZW5kaW5nIixJPWs9PT0iaW5fcHJvZ3Jlc3MiPyJhY3RpdmUiOms9PT0iY29tcGxldGVkIj8iZG9uZSI6IiIsVD1rPT09ImluX3Byb2dyZXNzIj8iYWN0aXZlIjprPT09ImNvbXBsZXRlZCI/ImRvbmUiOiJwZW5kaW5nIixZPWs9PT0iY29tcGxldGVkIj8iXHUyNzEzIjprPT09ImluX3Byb2dyZXNzIj8iXHUyMDNBIjoiXHUyNUNCIjtOKz0nPGxpIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWl0ZW0gJytJKyciPjxzcGFuIGNsYXNzPSJ0b2RvLWl0ZW0taWNvbiAnK1QrJyI+JytZKyI8L3NwYW4+PHNwYW4+IitwKFcuY29udGVudHx8IiIpKyI8L3NwYW4+PC9saT4ifVMuaW5uZXJIVE1MPU59ci5zZWxlY3RlZElkJiZldShyLnNlbGVjdGVkSWQpLFVpKCl9fWZ1bmN0aW9uIFh2KGUpe2UucXVlcnlTZWxlY3RvckFsbCgiLmNvZGUtY29weSIpLmZvckVhY2goZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgbj10LmNsb3Nlc3QoIi5jb2RlLWJsb2NrIiksaT1uP24ucXVlcnlTZWxlY3RvcigiY29kZSIpOm51bGw7aSYmYWkoaS50ZXh0Q29udGVudHx8IiIsbnVsbCxmdW5jdGlvbigpe3QudGV4dENvbnRlbnQ9IkNvcGllZCEiLHQuY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dChmdW5jdGlvbigpe3QudGV4dENvbnRlbnQ9IkNvcHkiLHQuY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIil9LDJlMyl9KX0pfSl9ZnVuY3Rpb24gaGwoZSl7ZS5xdWVyeVNlbGVjdG9yQWxsKCIuY29kZS1jb3B5IikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj10LmNsb25lTm9kZSghMCk7dC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuLHQpLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGk9bi5jbG9zZXN0KCIuY29kZS1ibG9jayIpLGE9aT9pLnF1ZXJ5U2VsZWN0b3IoImNvZGUiKTpudWxsO2EmJmFpKGEudGV4dENvbnRlbnR8fCIiLG51bGwsZnVuY3Rpb24oKXtuLnRleHRDb250ZW50PSJDb3BpZWQhIixuLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnRleHRDb250ZW50PSJDb3B5IixuLmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfSl9KX0pLFp2KGUpfXZhciBOaD17dGltZXI6bnVsbCxhY3RpdmVCdG46bnVsbH07ZnVuY3Rpb24gWnYoZSl7dmFyIHQ9d2luZG93Lm1hdGNoTWVkaWEoIihwb2ludGVyOiBjb2Fyc2UpIikubWF0Y2hlczt0JiZlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2UiKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKCFuLnF1ZXJ5U2VsZWN0b3IoIi5tc2ctY29weS1idG4iKSl7dmFyIGk9bi5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlLWJ1YmJsZSIpO2lmKGkpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2EuY2xhc3NOYW1lPSJtc2ctY29weS1idG4iLGEudGV4dENvbnRlbnQ9Ilx1NTkwRFx1NTIzNiIsYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odSl7dS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbz1pLmlubmVyVGV4dHx8aS50ZXh0Q29udGVudHx8IiI7YWkoby50cmltKCksbnVsbCxmdW5jdGlvbigpe2EudGV4dENvbnRlbnQ9Ilx1NURGMlx1NTkwRFx1NTIzNiIsYS5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50ZXh0Q29udGVudD0iXHU1OTBEXHU1MjM2IixhLmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpLGEuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSwxNTAwKX0pfSksbi5hcHBlbmRDaGlsZChhKX19fSl9KGZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93Lm1hdGNoTWVkaWEoIihwb2ludGVyOiBjb2Fyc2UpIikubWF0Y2hlcztpZih0KXt2YXIgbj1udWxsLGk9MDtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbihhKXt2YXIgdT1hLnRhcmdldC5jbG9zZXN0KCIuY2hhdC1tZXNzYWdlIik7aWYodSl7dmFyIG89dS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlLWJ1YmJsZSIpO28mJihpPWEudG91Y2hlc1swXS5jbGllbnRZLG49c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBzPXUucXVlcnlTZWxlY3RvcigiLm1zZy1jb3B5LWJ0biIpO3MmJihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubXNnLWNvcHktYnRuLnZpc2libGUiKS5mb3JFYWNoKGZ1bmN0aW9uKGwpe2wuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSkscy5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpfSw1MDApKX19LHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmdW5jdGlvbihhKXtuJiZNYXRoLmFicyhhLnRvdWNoZXNbMF0uY2xpZW50WS1pKT4xMCYmKGNsZWFyVGltZW91dChuKSxuPW51bGwpfSx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixmdW5jdGlvbigpe24mJihjbGVhclRpbWVvdXQobiksbj1udWxsKX0se3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7YS50YXJnZXQuY2xvc2VzdCgiLm1zZy1jb3B5LWJ0biIpfHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubXNnLWNvcHktYnRuLnZpc2libGUiKS5mb3JFYWNoKGZ1bmN0aW9uKHUpe3UuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSl9KX19KSgpO2Z1bmN0aW9uIGVtKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PVN0cmluZyhlKS50cmltKCk7cmV0dXJuIHQ/ISEodC5pbmRleE9mKCJcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAiKT09PTB8fHQ9PT0iXHUyNzZGInx8dD09PSJcdTIwM0EifHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdezIsfSQvLnRlc3QodCl8fC9eW+KWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWlOKWleKWj+KWkF0rJC8udGVzdCh0KXx8dC5pbmRleE9mKCJlc2MgdG8gaW50ZXJydXB0IikhPT0tMXx8dC5pbmRleE9mKCJDbGF1ZGUgQ29kZSB2IikhPT0tMXx8L15Tb25uZXRcYi8udGVzdCh0KXx8dC5pbmRleE9mKCJGYWlsZWQgdG8gaW5zdGFsbCBBbnRocm9waWMiKSE9PS0xfHx0LmluZGV4T2YoIkNsYXVkZSBDb2RlIGhhcyBzd2l0Y2hlZCIpIT09LTF8fHQuaW5kZXhPZigiPyBmb3Igc2hvcnRjdXRzIikhPT0tMXx8dC5pbmRleE9mKCJDbGF1ZGUgaXMgd2FpdGluZyIpIT09LTF8fHQuaW5kZXhPZigiW3dhbmRdIikhPT0tMXx8dC5pbmRleE9mKCIwOyIpPT09MHx8dC5pbmRleE9mKCI5OyIpPT09MHx8dC5pbmRleE9mKCJjdHJsK2ciKSE9PS0xfHx0LmluZGV4T2YoIi9lZmZvcnQiKSE9PS0xfHwvXlVzaW5nIC4qIGZvciAuKiBzZXNzaW9uLy50ZXN0KHQpfHx0LmluZGV4T2YoIlByZXNzICIpPT09MCYmdC5pbmRleE9mKCIgZm9yIikhPT0tMXx8dC5pbmRleE9mKCJ0eXBlICIpPT09MCYmdC5pbmRleE9mKCIgdG8gIikhPT0tMXx8dC5pbmRleE9mKCJhdXRvIG1vZGUgaXMgdW5hdmFpbGFibGUiKSE9PS0xfHwvTUNQIHNlcnZlci4qZmFpbGVkL2kudGVzdCh0KXx8dC5pbmRleE9mKCJHZXJtaW5hdGluZyIpIT09LTF8fHQuaW5kZXhPZigiRG9vZGxpbmciKSE9PS0xfHx0LmluZGV4T2YoIkJyZXdpbmciKSE9PS0xfHx0LmluZGV4T2YoIlBlcm1pc3Npb25zIikhPT0tMSYmdC5pbmRleE9mKCJtb2RlIikhPT0tMXx8dC5pbmRleE9mKCJcdTI1Q0YiKT09PTAmJnQuaW5kZXhPZigiXHhCNyIpIT09LTF8fHQuaW5kZXhPZigiWz4iKT09PTB8fHQuaW5kZXhPZigiWzwiKT09PTB8fHQuaW5kZXhPZigiQ2FwdHVyZWQgQ2xhdWRlIHNlc3Npb24gSUQiKSE9PS0xfHwvXj5fXHMqT3BlbkFJIENvZGV4XGIvLnRlc3QodCl8fC9eT3BlbkFJIENvZGV4XGIvaS50ZXN0KHQpfHwvXihtb2RlbHxkaXJlY3RvcnkpOlxzKy9pLnRlc3QodCl8fC9eKHRpcHxjb250ZXh0KTpccysvaS50ZXN0KHQpfHwvXndvcmsodHJlZXxzcGFjZSk6XHMrL2kudGVzdCh0KXx8L14oYXBwcm92YWxzP3xzYW5kYm94fHByb3ZpZGVyfHNlc3Npb24gaWQpOlxzKy9pLnRlc3QodCl8fC9eKHRoaW5raW5nfHdvcmtpbmcpKFwuXC5cLnzigKYpPyQvaS50ZXN0KHQpfHwvXlvigKLil6bCt11ccytXb3JraW5nXGIvaS50ZXN0KHQpfHwvXlvigKLil6bCt11ccysoUnVubmluZ3xQbGFubmluZ3xBcHBseWluZ3xSZWFkaW5nfFNlYXJjaGluZylcYi9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzKyhJbnNwZWN0aW5nfFJldmlld2luZ3xTdW1tYXJpemluZ3xFZGl0aW5nfFVwZGF0aW5nfFdyaXRpbmcpXGIvaS50ZXN0KHQpfHwvXlvigKLil6bCt11ccytDb21wbGV0ZWRcYi9pLnRlc3QodCl8fC9eKGN0cmx8ZW50ZXJ8dGFifHNoaWZ0fGVzY3xhbHQpXCsvaS50ZXN0KHQpfHwvXGIob3BlbnxjbG9zZXx0b2dnbGUpIChjaGF0fHRlcm1pbmFsKVxiL2kudGVzdCh0KXx8L1xiKGFwcHJvdmV8ZGVueSlcYi4qXGIocGVybWlzc2lvbnxhcHByb3ZhbClcYi9pLnRlc3QodCl8fC9eKHVzZXxwcmVzcykgLiogKHRvfGZvcikgLiovaS50ZXN0KHQpfHwvXig/OnRva2VufGNvbnRleHQgd2luZG93fHJlbWFpbmluZyBjb250ZXh0fGNvbnZlcnNhdGlvbik6XHMrL2kudGVzdCh0KXx8L14oPzpjd2R8cGF0aCk6XHMrXC8vaS50ZXN0KHQpfHwvXls8PuKUguKUhuKVjl0uKls8PuKUguKUhuKVjl0kLy50ZXN0KHQpJiZ0Lmxlbmd0aDw4KTohMX1mdW5jdGlvbiB0bShlKXtyZXR1cm4gU3RyaW5nKGV8fCIiKS5yZXBsYWNlKC9ceDFiXF1bXlx4MDddKihceDA3fFx4MWJcXCkvZywiIikucmVwbGFjZSgvXHgxYlxbKFxkKylDL2csZnVuY3Rpb24odCxuKXtyZXR1cm4iICIucmVwZWF0KE51bWJlcihuKXx8MSl9KS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltBQl0vZyxgCmApLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW3N1XS9nLCIiKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltIZkpLcl0vZyxgCmApLnJlcGxhY2UoL1x4MWJNL2csYApgKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltTVF0vZyxgCmApLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW2EtekEtWl0vZywiIikucmVwbGFjZSgvXHgxYls+PD1lUFheX10vZywiIikucmVwbGFjZSgvW1x1MDBhMFx1MjAwYi1cdTIwMGRcdWZlZmZdL2csIiAiKS5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwYlx4MGNceDBlLVx4MWZdL2csIiIpLnJlcGxhY2UoL1xyXG4/L2csYApgKS5yZXBsYWNlKC9bIFx0XStcbi9nLGAKYCkucmVwbGFjZSgvXG57Myx9L2csYAoKYCl9ZnVuY3Rpb24gbm0oZSx0KXt2YXIgbj1bXTtpZighZSlyZXR1cm4gbjt2YXIgaT1TdHJpbmcoZXx8IiIpLGE9YApgLHU9IlxyIixvPSJceDFCIjtpZigvXmNvZGV4XGIvLnRlc3QoU3RyaW5nKHR8fCIiKS50cmltKCkpKXtsZXQgS2U9ZnVuY3Rpb24oVSl7cmV0dXJuIFN0cmluZyhVfHwiIikucmVwbGFjZSgvXHgxYlxdW15ceDA3XSooXHgwN3xceDFiXFwpL2csIiIpLnJlcGxhY2UoL1x4MWJcWyhcZCspQy9nLGZ1bmN0aW9uKFIsWil7cmV0dXJuIiAiLnJlcGVhdChOdW1iZXIoWil8fDEpfSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbQUJdL2csYSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbc3VdL2csIiIpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0hmSktyXS9nLGEpLnJlcGxhY2UoL1x4MWJNL2csYSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbU1RdL2csYSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbYS16QS1aXS9nLCIiKS5yZXBsYWNlKC9ceDFiWz48PWVQWF5fXS9nLCIiKS5yZXBsYWNlKC9bXHUwMGEwXHUyMDBiLVx1MjAwZFx1ZmVmZl0vZywiICIpLnJlcGxhY2UoL1tceDAwLVx4MDhceDBiXHgwY1x4MGUtXHgxZl0vZywiIikucmVwbGFjZSgvWyBcdF0rXG4vZyxhKX0sbGU9ZnVuY3Rpb24oVSl7cmV0dXJuIFN0cmluZyhVfHwiIikucmVwbGFjZSgvXHMrL2csIiAiKS5yZXBsYWNlKC9bTV0rJC9nLCIiKS50cmltKCl9LGxuPWZ1bmN0aW9uKFUpe3JldHVybiBTdHJpbmcoVXx8IiIpLnJlcGxhY2UoL17igLpccyovLCIiKS5yZXBsYWNlKC9ePlxzKi8sIiIpLnRyaW0oKX0sSGU9ZnVuY3Rpb24oVSl7dmFyIFI9U3RyaW5nKFV8fCIiKS50cmltKCk7cmV0dXJuISEoIVJ8fGVtKFIpfHxFLnRlc3QoUil8fC9eW+KVreKVsOKUguKUjOKUlOKUkOKUmOKUnOKUpOKUrOKUtOKUvOKUgOKVkF0vLnRlc3QoUil8fC9eXFs+WzAtOTs/XSp1JC9pLnRlc3QoUil8fC9eTSskL2kudGVzdChSKXx8L14oPzpPcGVuQUkgQ29kZXh8Q29kZXgpXGIvaS50ZXN0KFIpfHwvXig/OnRva2Vucz98Y29udGV4dCB3aW5kb3d8cmVtYWluaW5nIGNvbnRleHR8YXBwcm92YWxzP3xzYW5kYm94fHByb3ZpZGVyfHNlc3Npb24gaWQpOlxzKi9pLnRlc3QoUil8fC9eKD86dGhpbmtpbmd8d29ya2luZylccyooPzpcLlwuXC584oCmKT8kL2kudGVzdChSKXx8L15b4oCi4pemwrddXHMrKD86dGhpbmtpbmd8d29ya2luZ3xydW5uaW5nfHBsYW5uaW5nfGFwcGx5aW5nfHJlYWRpbmd8c2VhcmNoaW5nfGluc3BlY3Rpbmd8cmV2aWV3aW5nfHN1bW1hcml6aW5nfGVkaXRpbmd8dXBkYXRpbmd8d3JpdGluZ3xjb21wbGV0ZWQpXGIvaS50ZXN0KFIpfHwvXig/Om1vZGVsfGRpcmVjdG9yeXx0aXB8Y29udGV4dHxjd2R8cGF0aCk6XHMrL2kudGVzdChSKSl9LGRuPWZ1bmN0aW9uKFUpe3ZhciBSPVN0cmluZyhVfHwiIikudHJpbSgpO2lmKCEvXuKAuig/OlxzfCQpLy50ZXN0KFIpfHxFLnRlc3QoUikpcmV0dXJuIG51bGw7dmFyIFo9bGUobG4oUikpO3JldHVybiFafHxIZShaKT9udWxsOlp9LGNuPWZ1bmN0aW9uKFUpe3ZhciBSPVN0cmluZyhVfHwiIikudHJpbSgpO2lmKCEvXlvigKLil6bCt+KPul0vLnRlc3QoUikpcmV0dXJuIG51bGw7dmFyIFo9Ui5yZXBsYWNlKC9eW+KAouKXpsK3XVxzKi8sIiIpLnJlcGxhY2UoL17ij7pccysvLCIiKS5yZXBsYWNlKC9e4pSCXHMqLywiIikudHJpbSgpO3JldHVybiFafHwvXlvigKLil6bCt+KPul0kLy50ZXN0KFopfHwoWj1aLnJlcGxhY2UoL1xzKlwoXGQrW3NtaF0/XHMq4oCiXHMqZXNjIHRvIGludGVycnVwdFwpW1xzXFNdKiQvaSwiIikucmVwbGFjZSgvKD86W2Etel17MSw2fSk/4oC6W1xzXFNdKiQvLCIiKS5yZXBsYWNlKC9cc3syLH1ncHQtXGRbXHNcU10qJC9pLCIiKS5yZXBsYWNlKC9cYig/Ok9wZW5BSSBDb2RleHxtb2RlbDp8ZGlyZWN0b3J5OnxUaXA6KVxiW1xzXFNdKiQvaSwiIiksWj1sZShaKSwhWnx8Wi5sZW5ndGg8Mnx8Qy50ZXN0KFopfHxIZShaKSk/bnVsbDpafSxHdD1mdW5jdGlvbihVKXt2YXIgUj1sZShVKTtyZXR1cm4hUnx8SGUoUil8fC9eW+KAouKXpsK34o+64oC6XS8udGVzdChSKXx8L15bXFtcXTw+MC05Oz9dK3U/JC9pLnRlc3QoUil8fC9eW+KVreKVsOKUguKUjOKUlOKUkOKUmOKUnOKUpOKUrOKUtOKUvOKUgOKVkF0vLnRlc3QoUil8fFIubGVuZ3RoPjUwMD9udWxsOlJ9LGZuPWZ1bmN0aW9uKFUsUil7aWYoVS5pbmRleE9mKFIpIT09MClyZXR1cm4hMTt2YXIgWj1VLnNsaWNlKFIubGVuZ3RoKTtyZXR1cm4vXlthLXpdezEsNH0kL2kudGVzdChaKX0sb3Q9ZnVuY3Rpb24oVSl7Zm9yKHZhciBSPVtdLFo9MDtaPFUubGVuZ3RoO1orKyl7dmFyIGRlPWxlKFVbWl0pO2lmKCEoIWRlfHxkZS5sZW5ndGg8Mnx8SGUoZGUpKSl7dmFyIEs9UltSLmxlbmd0aC0xXTtpZighSyl7Ui5wdXNoKGRlKTtjb250aW51ZX1pZihkZSE9PUspe2lmKGRlLmluZGV4T2YoSyk9PT0wKXtSW1IubGVuZ3RoLTFdPWRlO2NvbnRpbnVlfWlmKEsuaW5kZXhPZihkZSk9PT0wKXtmbihLLGRlKSYmKFJbUi5sZW5ndGgtMV09ZGUpO2NvbnRpbnVlfVIucHVzaChkZSl9fX1yZXR1cm4gUi5qb2luKGEpLnRyaW0oKX0sVHQ9ZnVuY3Rpb24oVSl7Zm9yKHZhciBSPTA7UjxVLmxlbmd0aDtSKyspe3ZhciBaPVN0cmluZyhVW1JdfHwiIikudHJpbSgpO2lmKFope3ZhciBkZT1kbihaKTtpZihkZSlyZXR1cm4gZGU7aWYoWj09PSJcdTIwM0EiKWZvcih2YXIgSz1SKzE7SzxVLmxlbmd0aDtLKyspe3ZhciB2ZT1sZShVW0tdKTtpZighKCF2ZXx8RS50ZXN0KHZlKXx8SGUodmUpKSlyZXR1cm4gdmV9fX1yZXR1cm4gbnVsbH0sdnQ9ZnVuY3Rpb24oVSl7Zm9yKHZhciBSPVtdLFo9ITEsZGU9MDtkZTxVLmxlbmd0aDtkZSsrKXt2YXIgSz1TdHJpbmcoVVtkZV18fCIiKS50cmltKCk7aWYoIUspe2lmKFopYnJlYWs7Y29udGludWV9dmFyIHZlPWNuKEspO2lmKHZlKXtSLnB1c2godmUpLFo9ITA7Y29udGludWV9aWYoWil7aWYoSz09PSJcdTIwM0EifHwvXuKAuig/OlxzfCQpLy50ZXN0KEspfHxFLnRlc3QoSyl8fEhlKEspKWJyZWFrO1IucHVzaChsZShLKSl9fXJldHVybiBSfTtmb3IodmFyIHM9S2UsbD1sZSxkPWxuLGY9SGUsYz1kbix2PWNuLGg9R3QsbT1mbixnPW90LHk9VHQsQj12dCxFPS9cYmdwdC1cZCsoPzpcLlxkKyk/KD86XHMrW2EtejAtOS4tXSspP1xzK8K3XHMrXGQrJVxzK2xlZnRccyvCt1xzKyg/OlwvfH5cLykuKy9pLEM9L14oPzp0aGlua2luZ3x3b3JraW5nfHJ1bm5pbmd8cGxhbm5pbmd8YXBwbHlpbmd8cmVhZGluZ3xzZWFyY2hpbmd8aW5zcGVjdGluZ3xyZXZpZXdpbmd8c3VtbWFyaXppbmd8ZWRpdGluZ3x1cGRhdGluZ3x3cml0aW5nfGNvbXBsZXRlZClcYi9pLEQ9W10sRj0wLEw9aS5yZXBsYWNlKC9cclxuPy9nLGEpLnNwbGl0KGEpLFM9MDtTPEwubGVuZ3RoO1MrKylmb3IodmFyIE49S2UoTFtTXSksSj1OLnNwbGl0KGEpLFc9MDtXPEoubGVuZ3RoO1crKyl7dmFyIGs9U3RyaW5nKEpbV118fCIiKS50cmltKCk7aWYoayl7dmFyIEk9ZG4oayk7aWYoSSl7RC5wdXNoKHtraW5kOiJ1c2VyIixvcmRlcjpGKyssdGV4dDpJfSk7Y29udGludWV9dmFyIFQ9Y24oayk7aWYoVCl7RC5wdXNoKHtraW5kOiJhc3Npc3RhbnQiLG9yZGVyOkYrKyx0ZXh0OlR9KTtjb250aW51ZX12YXIgWT1HdChrKTtZJiZELnB1c2goe2tpbmQ6ImVjaG8iLG9yZGVyOkYrKyx0ZXh0Oll9KX19Zm9yKHZhciBqPUQuZmlsdGVyKGZ1bmN0aW9uKFUsUixaKXt2YXIgZGU9WltSLTFdO3JldHVybiFkZXx8ZGUua2luZCE9PVUua2luZHx8ZGUudGV4dCE9PVUudGV4dH0pLEc9ai5maWx0ZXIoZnVuY3Rpb24oVSl7cmV0dXJuIFUua2luZD09PSJ1c2VyIn0pLE09ai5maWx0ZXIoZnVuY3Rpb24oVSl7cmV0dXJuIFUua2luZD09PSJhc3Npc3RhbnQifSksdGU9ai5maWx0ZXIoZnVuY3Rpb24oVSl7cmV0dXJuIFUua2luZD09PSJlY2hvIn0pLG5lPXRtKGkpLE89bmUuc3BsaXQoYSkubWFwKGZ1bmN0aW9uKFUpe3JldHVybiBTdHJpbmcoVXx8IiIpLnRyaW1FbmQoKX0pLFA9VHQoTyksXz1HLmxlbmd0aD9HW0cubGVuZ3RoLTFdOm51bGwsUT10ZS5tYXAoZnVuY3Rpb24oVSl7cmV0dXJuIFUudGV4dH0pLmZpbHRlcihmdW5jdGlvbihVKXtyZXR1cm4gVS5sZW5ndGg+PTN9KSwkPW51bGwsaWU9US5sZW5ndGgtMTtpZT49MDtpZS0tKWlmKFFbaWVdIT09UCl7JD1RW2llXTticmVha30hJCYmUS5sZW5ndGgmJigkPVFbUS5sZW5ndGgtMV0pO2Zvcih2YXIgZ2U9Xz9fLnRleHQ6JCxhZT1NLmZpbHRlcihmdW5jdGlvbihVKXtyZXR1cm4hX3x8VS5vcmRlcj5fLm9yZGVyfSkubWFwKGZ1bmN0aW9uKFUpe3JldHVybiBVLnRleHR9KSx1ZT1bXSx6ZT1uZS5tYXRjaCgvXlsgXHRdKlvigKLil6bCt+KPul1bIFx0XSooLispJC9nbSl8fFtdLFRlPTA7VGU8emUubGVuZ3RoO1RlKyspe3ZhciBGZT1sZSh6ZVtUZV0ucmVwbGFjZSgvXlsgXHRdKlvigKLil6bCt+KPul1bIFx0XSovLCIiKSk7RmUmJihDLnRlc3QoRmUpfHxFLnRlc3QoRmUpfHwvXGIoPzpPcGVuQUkgQ29kZXh8bW9kZWw6fGRpcmVjdG9yeTp8VGlwOnxlc2MgdG8gaW50ZXJydXB0KVxiL2kudGVzdChGZSl8fHVlLnB1c2goRmUpKX12YXIgTGU9b3QoYWUpfHxvdCh2dChPKSl8fCh1ZS5sZW5ndGg/dWVbdWUubGVuZ3RoLTFdOm51bGwpO3JldHVybiBnZSYmbi5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OmdlfSksTGUmJm4ucHVzaCh7cm9sZToiYXNzaXN0YW50Iixjb250ZW50OkxlfSksIW4ubGVuZ3RoJiZfP24ucHVzaCh7cm9sZToidXNlciIsY29udGVudDpfLnRleHR9KTohbi5sZW5ndGgmJiQmJm4ucHVzaCh7cm9sZToidXNlciIsY29udGVudDokfSksbn1mb3IodmFyIGF0PSJcMCIsRGU9IlxiIixYPSJcdiIsaGU9IlxmIixmZT0iDiIsb2U9Ih8iLHE9Ilx4QTAiLHllPSJceDA3IixwdD1uZXcgUmVnRXhwKG8rIlxcW1swLTk7P10qW2EtekEtWl18IitvKyJcXF1bXiIreWUrIl0qKCIreWUrInwiK28rIlxcXFxcXFxcKXwiK28rIls+PD1lUF9YXl18WyIrYXQrIi0iK0RlK1graGUrZmUrIi0iK29lKyJdfCIrcSsifCIrdSwiZyIpLHp0PWkucmVwbGFjZShwdCxmdW5jdGlvbihLZSl7cmV0dXJuIEtlPT09cT8iICI6S2U9PT11P2E6IiJ9KS5zcGxpdCh1KS5qb2luKGEpLFVlPXp0LnNwbGl0KGEpLm1hcChmdW5jdGlvbihLZSl7cmV0dXJuIEtlLnRyaW0oKX0pLmZpbHRlcihCb29sZWFuKSx1dD1bL3RoaW5raW5nIHdpdGggaGlnaCBlZmZvcnQvaSwvdGhpbmtpbmcgd2l0aCBtZWRpdW0gZWZmb3J0L2ksL3RoaW5raW5nIHdpdGggbG93IGVmZm9ydC9pLG5ldyBSZWdFeHAoInRob3VnaHQgZm9yIFswLTldK3MiLCJpIiksbmV3IFJlZ0V4cCgiU2F1dGVlZCBmb3IgWzAtOV0rbSIsImkiKSwvR2VybWluYXRpbmcvaSwvRG9vZGxpbmcvaSwvQnJld2luZy9pXSxWdD1udWxsLHh0PS0xLHR0PVtdLE1lPVtdLFBlPVtdLENlPTA7Q2U8VWUubGVuZ3RoO0NlKyspe3ZhciB3PVVlW0NlXSxTdD13LnJlcGxhY2UoL17ina9ccyovLCIiKTtpZihTdC5pbmRleE9mKCdUcnkiJyk9PT0wfHxTdC5pbmRleE9mKCdUcnkgIicpPT09MCl7dHQucHVzaChTdCk7Y29udGludWV9Zm9yKHZhciBxZT0hMSxudD0wO250PHV0Lmxlbmd0aDtudCsrKWlmKHV0W250XS50ZXN0KHcpKXtxZT0hMCxQZS5wdXNoKHcpO2JyZWFrfWlmKCFxZSYmdyYmdy5pbmRleE9mKCJcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAiKSE9PTAmJnchPT0iXHUyNzZGIiYmdy5pbmRleE9mKCJlc2MgdG8gaW50ZXJydXB0Iik9PT0tMSYmdy5pbmRleE9mKCJDbGF1ZGUgQ29kZSB2Iik9PT0tMSYmdy5pbmRleE9mKCJTb25uZXQiKT09PS0xJiZ3LmluZGV4T2YoIn4vIikhPT0wJiZ3LmluZGV4T2YoIlx1MjVDRiBoaWdoIik9PT0tMSYmdy5pbmRleE9mKCJGYWlsZWQgdG8gaW5zdGFsbCBBbnRocm9waWMgbWFya2V0cGxhY2UiKT09PS0xJiZ3LmluZGV4T2YoIkNsYXVkZSBDb2RlIGhhcyBzd2l0Y2hlZCBmcm9tIG5wbSB0byBuYXRpdmUgaW5zdGFsbGVyIik9PT0tMSYmdy5pbmRleE9mKCJGbHV0dGVyaW5nIik9PT0tMSYmdy5pbmRleE9mKCI/IGZvciBzaG9ydGN1dHMiKT09PS0xJiZ3LmluZGV4T2YoIjA7IikhPT0wJiZ3LmluZGV4T2YoIjk7IikhPT0wJiZ3LmluZGV4T2YoIkNsYXVkZSBpcyB3YWl0aW5nIik9PT0tMSYmISh3LmluZGV4T2YoIlx1MjcyMiIpIT09LTF8fHcuaW5kZXhPZigiXHUyNzMzIikhPT0tMXx8dy5pbmRleE9mKCJcdTI3MzYiKSE9PS0xfHx3LmluZGV4T2YoIlx1MjczQiIpIT09LTF8fHcuaW5kZXhPZigiXHUyNzNEIikhPT0tMSkmJiEody5pbmRleE9mKCJcdTI1OTAiKT09PTB8fHcuaW5kZXhPZigiXHUyNTlEIik9PT0wfHx3LmluZGV4T2YoIlx1MjU5OCIpPT09MCkmJiEoKHc9PT0ibHUifHx3PT09InVlInx8dz09PSJ0ciJ8fHc9PT0idGkifHx3PT09ImcifHx3PT09Im4ifHx3PT09ImlcdTIwMjYifHx3PT09Ilx1MjAyNiJ8fHc9PT0idXRzInx8dz09PSJsdCJ8fHc9PT0icmcifHx3PT09Ilx4QjciKSYmdy5sZW5ndGg8NCkmJiEody5pbmRleE9mKCJcdTI3M0RGIik9PT0wfHx3LmluZGV4T2YoIlx1MjczQkYiKT09PTApJiZ3LmluZGV4T2YoIm5wbSBXQVJOIik9PT0tMSYmdy5pbmRleE9mKCJucG0gbm90aWNlIik9PT0tMSYmISh3LmluZGV4T2YoImFkZGVkICIpIT09LTEmJncuaW5kZXhPZigiIHBhY2thZ2VzIikhPT0tMSkmJncuaW5kZXhPZigiYXVkaXRlZCAiKT09PS0xJiYhKHcuaW5kZXhPZigiZm91bmQgIikhPT0tMSYmdy5pbmRleE9mKCIgdnVsbmVyYWJpbGl0aWVzIikhPT0tMSkmJiEody5pbmRleE9mKCJVc2luZyAiKSE9PS0xJiZ3LmluZGV4T2YoIiBmb3IgIikhPT0tMSYmdy5pbmRleE9mKCJzZXNzaW9uIikhPT0tMSkmJncuaW5kZXhPZigiWW91IGNhbiB1c2UiKT09PS0xJiYhKHcuaW5kZXhPZigiUHJlc3MgIikhPT0tMSYmdy5pbmRleE9mKCIgZm9yIikhPT0tMSkmJiEody5pbmRleE9mKCJ0eXBlICIpPT09MCYmdy5pbmRleE9mKCIgdG8gIikhPT0tMSkmJncuaW5kZXhPZigiW3dhbmRdIikhPT0wJiZ3LmluZGV4T2YoIkNhcHR1cmVkIENsYXVkZSBzZXNzaW9uIElEIik9PT0tMSYmdy5pbmRleE9mKCJcdTIzRjUiKT09PS0xJiZ3LmluZGV4T2YoImFjY2VwdGVkaXQiKT09PS0xJiZ3LmluZGV4T2YoInNoaWZ0K3RhYiIpPT09LTEmJncuaW5kZXhPZigidGFidG9jeWNsZSIpPT09LTEmJncuaW5kZXhPZigiY3RybCtnIik9PT0tMSYmdy5pbmRleE9mKCIvZWZmb3J0Iik9PT0tMSYmISh3LmluZGV4T2YoIk9wdXMiKSE9PS0xJiZ3LmluZGV4T2YoIm1vZGVsIikhPT0tMSkmJncuaW5kZXhPZigiSGFpa3UiKT09PS0xJiZ3LmluZGV4T2YoInRvIGN5Y2xlIik9PT0tMSYmISh3LmluZGV4T2YoImhpZ2ggXHhCNyIpIT09LTF8fHcuaW5kZXhPZigiaGlnaFx4QjciKSE9PS0xKSYmISh3LmluZGV4T2YoIm1lZGl1bSBceEI3IikhPT0tMXx8dy5pbmRleE9mKCJtZWRpdW1ceEI3IikhPT0tMSkmJiEody5pbmRleE9mKCJsb3cgXHhCNyIpIT09LTF8fHcuaW5kZXhPZigibG93XHhCNyIpIT09LTEpKXtpZih3LmluZGV4T2YoIlx1MjVDRiIpPT09MCl7aWYodz13LnNsaWNlKDEpLnRyaW0oKSwhdyljb250aW51ZTtNZS5wdXNoKHcpO2NvbnRpbnVlfXcubGVuZ3RoPDMmJiEvXlthLXpBLVpdezN9JC8udGVzdCh3KXx8TWUucHVzaCh3KX19aWYoUGUubGVuZ3RoPjApe3ZhciBhbj1QZVtQZS5sZW5ndGgtMV0scmU9YW4ubWF0Y2gobmV3IFJlZ0V4cCgiZm9yIChbMC05XStbbXNdK3wgWzAtOV0rbSBbMC05XStzKSIsImkiKSksVXQ9cmU/Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwMyAiK3JlWzBdLnJlcGxhY2UoL2ZvciAvaSwiIik6Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwM1x1NEUyRC4uLiI7bi5wdXNoKHtyb2xlOiJ0aGlua2luZyIsY29udGVudDpVdCx0eXBlOiJkZWVwLXRob3VnaHQifSl9aWYodHQubGVuZ3RoPjApe3ZhciBLdD10dFt0dC5sZW5ndGgtMV0ucmVwbGFjZSgvXlRyeVxzKi8sIiIpLnRyaW0oKTtuLnB1c2goe3JvbGU6InByb21wdCIsY29udGVudDpLdCx0eXBlOiJzdWdnZXN0aW9uIn0pfWlmKCFNZS5sZW5ndGgpcmV0dXJuIG47Zm9yKHZhciBTZT1bXSxydD1udWxsLFZlPVtdLENlPTA7Q2U8TWUubGVuZ3RoO0NlKyspaWYodz1NZVtDZV0sdy5pbmRleE9mKCJcdTI3NkYiKT09PTApe3ZhciBKdD13LnJlcGxhY2UoL17ina9ccyovLCIiKS50cmltKCk7aWYoSnQuaW5kZXhPZignVHJ5IicpPT09MHx8SnQuaW5kZXhPZignVHJ5ICInKT09PTApY29udGludWU7cnQhPT1udWxsJiZWZS5sZW5ndGg+MCYmKFNlLnB1c2goe3VzZXI6cnQsYXNzaXN0YW50TGluZXM6VmV9KSxWZT1bXSksSnQ/cnQ9SnQ6KHJ0IT09bnVsbCYmVmUubGVuZ3RoPjAmJihTZS5wdXNoKHt1c2VyOnJ0LGFzc2lzdGFudExpbmVzOlZlfSksVmU9W10pLHJ0PW51bGwpfWVsc2UgcnQhPT1udWxsJiYody5pbmRleE9mKCJcdTIzRkEiKSE9PS0xJiYody5pbmRleE9mKCJIaSEiKSE9PS0xfHx3LmluZGV4T2YoIkhlbGxvIikhPT0tMXx8dy5pbmRleE9mKCJXaGF0IikhPT0tMXx8dy5pbmRleE9mKCJ3b3JraW5nIikhPT0tMSk/VmUucHVzaCh3KTp3LmluZGV4T2YoIlx1MjNGQSIpPT09MD9WZS5wdXNoKHcuc2xpY2UoMSkudHJpbSgpfHx3KTp3Lmxlbmd0aD49OCYmdy5pbmRleE9mKCJcdTI3MjIiKT09PS0xJiZ3LmluZGV4T2YoIlx1MjczMyIpPT09LTEmJncuaW5kZXhPZigiXHUyNzM2Iik9PT0tMSYmdy5pbmRleE9mKCJcdTI3M0IiKT09PS0xJiZ3LmluZGV4T2YoIlx1MjczRCIpPT09LTEmJncuaW5kZXhPZigiXHUyNTkwIikhPT0wJiZ3LmluZGV4T2YoIlx1MjU5RCIpIT09MCYmdy5pbmRleE9mKCJcdTI1OTgiKSE9PTAmJncuaW5kZXhPZigiZXNjdG9pbnRlcnJ1cHQiKT09PS0xJiZ3LmluZGV4T2YoIj9mb3IiKSE9PTAmJncuaW5kZXhPZigiPyBmb3IiKSE9PTAmJlZlLnB1c2godykpO2lmKHJ0IT09bnVsbCYmVmUubGVuZ3RoPjAmJlNlLnB1c2goe3VzZXI6cnQsYXNzaXN0YW50TGluZXM6VmV9KSxTZS5sZW5ndGg9PT0wKXtmb3IodmFyIHVuPSIiLG9uPS0xLENlPTA7Q2U8TWUubGVuZ3RoO0NlKyspaWYodz1NZVtDZV0sISh3LmluZGV4T2YoJ1RyeSInKT09PTB8fHcuaW5kZXhPZignVHJ5ICInKT09PTApJiZ3LmluZGV4T2YoIkZhaWxlZCB0byBpbnN0YWxsIik9PT0tMSYmdy5pbmRleE9mKCJjdHJsK2ciKT09PS0xJiZ3LmluZGV4T2YoIlx1MjVDRiAiKSE9PTAmJiEody5sZW5ndGg8Mnx8dy5sZW5ndGg+MTAwKSYmL15bYS16QS1aXS8udGVzdCh3KSl7dW49dy50cmltKCksb249Q2U7YnJlYWt9aWYodW4mJm9uPj0wKXt2YXIgSW49TWUuc2xpY2Uob24rMSkuZmlsdGVyKGZ1bmN0aW9uKEtlKXtyZXR1cm4gS2UubGVuZ3RoPj04fSk7SW4ubGVuZ3RoPjAmJlNlLnB1c2goe3VzZXI6dW4sYXNzaXN0YW50TGluZXM6SW59KX19Zm9yKHZhciBJdD0wO0l0PFNlLmxlbmd0aDtJdCsrKWlmKG4ucHVzaCh7cm9sZToidXNlciIsY29udGVudDpTZVtJdF0udXNlcn0pLFNlW0l0XS5hc3Npc3RhbnRMaW5lcy5sZW5ndGg+MCl7dmFyIHNuPV9tKFNlW0l0XS5hc3Npc3RhbnRMaW5lcy5qb2luKGEpKTtuLnB1c2goe3JvbGU6ImFzc2lzdGFudCIsY29udGVudDpzbn0pfXJldHVybiBufXZhciB5bD0idHJhbnNwYXJlbnQiO2Z1bmN0aW9uIEtpKGUsdCl7Zm9yKHZhciBuPXR8fDMsaT1lWzBdLmxlbmd0aCpuLGE9ZS5sZW5ndGgqbix1PSIiLG89MDtvPGUubGVuZ3RoO28rKylmb3IodmFyIHM9MDtzPGVbb10ubGVuZ3RoO3MrKyllW29dW3NdIT09eWwmJih1Kz0nPHJlY3QgeD0iJytzKm4rJyIgeT0iJytvKm4rJyIgd2lkdGg9IicrbisnIiBoZWlnaHQ9IicrbisnIiBmaWxsPSInK2Vbb11bc10rJyIvPicpO3JldHVybic8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwICcraSsiICIrYSsnIiBjbGFzcz0icGl4ZWwtYXZhdGFyLXN2ZyI+Jyt1KyI8L3N2Zz4ifWZ1bmN0aW9uIEppKGUpe3ZhciB0PXlsLG49ZS5iYXNlLGk9ZS5kYXJrLGE9ZS5saWdodHx8ZS5iYXNlLHU9ZS5hY2NlbnR8fCIjRkZGRkZGIixvPWUuZXllfHwiIzJEMkQyRCIscz1lLm1vdXRofHwiI0YyOEI5QSIsbD1lLm5vc2V8fGUuZGFyaztyZXR1cm5bW3QsaSx0LHQsdCx0LHQsdCxpLHRdLFtpLG4saSx0LHQsdCx0LGksbixpXSxbaSxuLG4sbixuLG4sbixuLG4saV0sW24sbix1LG8sbixuLHUsbyxuLG5dLFtuLG4sdSx1LG4sbix1LHUsbixuXSxbbixuLG4sbixzLHMsbixuLG4sbl0sW24sbCxuLGEsbixuLGEsbixsLG5dLFt0LG4sbixuLG4sbixuLG4sbix0XSxbdCx0LG4saSxuLG4saSxuLHQsdF0sW3QsdCx0LG4sdCx0LG4sdCx0LHRdXX12YXIgcm09e2Jhc2U6IiNGMDkyM0EiLGRhcms6IiNDNDZBMUEiLGxpZ2h0OiIjRjA5MjNBIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLG5vc2U6IiNFODdENUEifSxpbT17YmFzZToiIzlFQUFCOCIsZGFyazoiIzZCN0I4RCIsbGlnaHQ6IiNDNUNFRDgiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjN0VDODhCIixtb3V0aDoiI0YyOEI5QSJ9LGJsPVt7YmFzZToiIzVBOEZFMCIsZGFyazoiIzJFNUJCMyIsbGlnaHQ6IiM5Q0MwRjIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZENjZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzVBOEZFMCJ9LHtiYXNlOiIjQTA2RkUwIixkYXJrOiIjNkI0NUE4IixsaWdodDoiI0M4QTRGMiIsYWNjZW50OiIjRkZGRkZGIixleWU6IiNGRkUzNkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjQTA2RkUwIn0se2Jhc2U6IiM3QkI3NkIiLGRhcms6IiM0RjhBNDAiLGxpZ2h0OiIjQTlENDlDIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM3QkI3NkIifSx7YmFzZToiI0Q4NkE4OCIsZGFyazoiIzlDM0E1NyIsbGlnaHQ6IiNFOEE0QjUiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0ZGRkZGRiIscHJpbWFyeToiI0Q4NkE4OCJ9LHtiYXNlOiIjNUJCN0IwIixkYXJrOiIjMkU3ODczIixsaWdodDoiIzlDRDZEMiIsYWNjZW50OiIjRkZGRkZGIixleWU6IiNGRkQ2NkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjNUJCN0IwIn0se2Jhc2U6IiM0QTRBNjAiLGRhcms6IiMxRjFGMkUiLGxpZ2h0OiIjNkU2RTg0IixhY2NlbnQ6IiNGNUY1RjUiLGV5ZToiI0ZGRDY2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM0QTRBNjAifSx7YmFzZToiI0Q4QTg1QSIsZGFyazoiIzlDNzAyOCIsbGlnaHQ6IiNFQkM3OEEiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiI0Q4QTg1QSJ9XTtmdW5jdGlvbiBhbShlLHQpe2Zvcih2YXIgbj1TdHJpbmcoZXx8IiIpLGk9MCxhPTA7YTxuLmxlbmd0aDthKyspaT0oaTw8NSktaStuLmNoYXJDb2RlQXQoYSl8MDtyZXR1cm4gTWF0aC5hYnMoaSkldH12YXIgRWw9eyJnZW5lcmFsLXB1cnBvc2UiOiJcdTRFMDdcdTgwRkRcdTczMkIiLEV4cGxvcmU6Ilx1NEZBNlx1NjNBMlx1NzMyQiIsImNvZGUtZXhwbG9yZXIiOiJcdTRGQTZcdTYzQTJcdTczMkIiLCJjb2RlLXJldmlld2VyIjoiXHU1QkExXHU2N0U1XHU3MzJCIiwiY29kZS1hcmNoaXRlY3QiOiJcdTY3QjZcdTY3ODRcdTczMkIiLCJjb2RlLXNpbXBsaWZpZXIiOiJcdTdCODBcdTUzMTZcdTczMkIiLCJjb2RlLWd1aWRlIjoiXHU1NDExXHU1QkZDXHU3MzJCIixQbGFuOiJcdTdCNTZcdTUyMTJcdTczMkIiLCJmZWF0dXJlLWRldiI6Ilx1NUYwMFx1NTNEMVx1NzMyQiIsInByLXRlc3QtYW5hbHl6ZXIiOiJcdTZENEJcdThCRDVcdTczMkIiLCJzaWxlbnQtZmFpbHVyZS1odW50ZXIiOiJcdTYyQTRcdTUzNkJcdTczMkIiLCJ0eXBlLWRlc2lnbi1hbmFseXplciI6Ilx1N0M3Qlx1NTc4Qlx1NzMyQiIsImNvbW1lbnQtYW5hbHl6ZXIiOiJcdTZDRThcdTkxQ0FcdTczMkIifSxGdT1udWxsO2Z1bmN0aW9uIEZsKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PWUuYWdlbnRUeXBlfHwiIjtyZXR1cm4gdCYmRWxbdF0/RWxbdF06dHx8KGlvKCk9PT0iRW5nbGlzaCI/IlN1YnRhc2siOiJcdTVCNTBcdTRFRkJcdTUyQTEiKX1mdW5jdGlvbiB1bShlKXt2YXIgdD1TdHJpbmcoZXx8IiIpLnRyaW0oKTtyZXR1cm4gdD90LmluZGV4T2YoIlx1NzMyQlx1NzMyQiIpPT09MD90OiJcdTczMkJcdTczMkIgIit0OiJcdTczMkJcdTczMkJcdTVCNTAgQWdlbnQifWZ1bmN0aW9uIENsKGUpe3ZhciB0PUZsKGUpO2lmKCF0KXJldHVybiB0O3ZhciBuPUZ1JiZlJiZlLnRhc2tJZD9GdS5nZXQoZS50YXNrSWQpOm51bGw7cmV0dXJuIHVtKG4/dCtuOnQpfWZ1bmN0aW9uIHdsKGUpe3ZhciB0PWUmJihlLmFnZW50VHlwZXx8ZS50YXNrSWQpfHwic3ViYWdlbnQiO3JldHVybiBibFthbSh0LGJsLmxlbmd0aCldfWZ1bmN0aW9uIGpoKGUpe3ZhciB0PXdsKGUpLG49Q2woZSksaT1LaShKaSh0KSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1hdmF0YXIgYXNzaXN0YW50IHN1YmFnZW50IiBzdHlsZT0iLS1hZ2VudC1jb2xvcjonK3QucHJpbWFyeSsnIj48ZGl2IGNsYXNzPSJwaXhlbC1hdmF0YXIiPicraSsnPC9kaXY+PHNwYW4gY2xhc3M9ImF2YXRhci1uYW1lIj4nK3AobikrIjwvc3Bhbj48L2Rpdj4ifWZ1bmN0aW9uIG9tKGUsdCl7aWYoIWV8fGUudHlwZSE9PSJ0b29sX3Jlc3VsdCIpcmV0dXJuIiI7dmFyIG49Qm4oZS5jb250ZW50KSxpPWUuaXNfZXJyb3I9PT0hMCxhPXR5cGVvZiBuPT0ic3RyaW5nIj9uOm49PW51bGw/IiI6U3RyaW5nKG4pO2lmKCFpJiYhYS50cmltKCkpcmV0dXJuJzxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5IHBlbmRpbmciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXIgcGVuZGluZyI+JytwKEJlKCJzdWJhZ2VudC5ydW5uaW5nIikpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj4nO3ZhciB1PWEudHJpbSgpP2E6QmUoInN1YmFnZW50Lm5vX291dHB1dCIpLG89YS50cmltKCk/eHUodSk6cCh1KSxzPUJlKGk/InN1YmFnZW50LnRhc2suZmFpbGVkIjoic3ViYWdlbnQudGFzay5kb25lIiksbD1pPyJcdTI3MTciOiJcdTI3MTMiO3JldHVybic8ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseSBmaW5hbCcrKGk/IiBlcnJvciI6IiIpKyciPjxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlciAnKyhpPyJlcnJvciI6ImRvbmUiKSsnIj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2wrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyLWxhYmVsIj4nK3AocykrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseS1jb250ZW50Ij4nK28rIjwvZGl2PjwvZGl2PiJ9dmFyIEdpPXthc3Npc3RhbnQ6S2koSmkocm0pKSx1c2VyOktpKEppKGltKSl9LEJsPXt1c2VyOntuYW1lOiJcdThENUJcdTUzNUFcdTg2NEVcdTU5OUUiLGF2YXRhclN2ZzpHaS51c2VyfSxhc3Npc3RhbnQ6e25hbWU6Ilx1NTJFNFx1NTJCM1x1NTIxRFx1NEU4QyIsYXZhdGFyU3ZnOkdpLmFzc2lzdGFudH19O2Z1bmN0aW9uIEN1KGUpe3ZhciB0PXIuY29uZmlnJiZyLmNvbmZpZy5zdHJ1Y3R1cmVkQ2hhdFBlcnNvbmEsbj10JiZ0W2VdP3RbZV06bnVsbCxpPUJsW2VdfHxCbC5hc3Npc3RhbnQ7cmV0dXJue25hbWU6biYmdHlwZW9mIG4ubmFtZT09InN0cmluZyImJm4ubmFtZS50cmltKCk/bi5uYW1lLnRyaW0oKTppLm5hbWUsYXZhdGFyOm4mJnR5cGVvZiBuLmF2YXRhcj09InN0cmluZyImJm4uYXZhdGFyLnRyaW0oKT9uLmF2YXRhci50cmltKCk6bnVsbCxhdmF0YXJTdmc6aS5hdmF0YXJTdmd9fWZ1bmN0aW9uIERsKGUpe3JldHVybic8ZGl2IGNsYXNzPSJwaXhlbC1hdmF0YXIiPicrZSsiPC9kaXY+In1mdW5jdGlvbiBSaChlLHQpe2lmKCEoIWV8fCFlLnBhcmVudE5vZGUpKXt2YXIgbj1DdSh0PT09InVzZXIiPyJ1c2VyIjoiYXNzaXN0YW50Iik7ZS5vdXRlckhUTUw9RGwobi5hdmF0YXJTdmcpfX1mdW5jdGlvbiBzcihlKXt2YXIgdD1lPT09InVzZXIiPyJ1c2VyIjoiYXNzaXN0YW50IixuPUN1KHQpLGk9bi5hdmF0YXI/JzxpbWcgY2xhc3M9InBpeGVsLWF2YXRhci1pbWFnZSIgc3JjPSInK3Aobi5hdmF0YXIpKyciIGFsdD0iJytwKG4ubmFtZSkrJyIgb25lcnJvcj0iaGFuZGxlQ2hhdEF2YXRhckltYWdlRXJyb3IodGhpcywgJytKU09OLnN0cmluZ2lmeSh0KSsnKSIgLz4nOkRsKG4uYXZhdGFyU3ZnKTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWF2YXRhciAnK2UrJyI+JytpKyc8c3BhbiBjbGFzcz0iYXZhdGFyLW5hbWUiPicrcChuLm5hbWUpKyI8L3NwYW4+PC9kaXY+In1mdW5jdGlvbiB3dShlLHQsbixpKXtpZihlLnJvbGU9PT0idGhpbmtpbmciKXt2YXIgYT10eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIj9lLmNvbnRlbnQ6IiI7aWYoIWEudHJpbSgpKXJldHVybiIiO3ZhciB1PUx0KCJ0aGlua2luZyIsW2hvKGUsbiksInB0eSJdKSxvPUN0KHUpLHM9bz09PW51bGw/V24oInRoaW5raW5nIik6bztyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHRoaW5raW5nIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctcHR5ICcrKHM/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKHUpKyciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChhKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyhzPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PjwvZGl2PiJ9aWYoZS5yb2xlPT09InByb21wdCIpcmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBwcm9tcHQiPjxkaXYgY2xhc3M9InByb21wdC1jYXJkIj48ZGl2IGNsYXNzPSJwcm9tcHQtaWNvbiI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icHJvbXB0LWNvbnRlbnQiPlx1OEJENVx1OEJENVx1RkYxQTxzcGFuIGNsYXNzPSJwcm9tcHQtdGV4dCI+JytwKGUuY29udGVudCkrIjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj4iO2lmKEFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gQW0oZSx0LG4saSk7dmFyIGw9c3IoZS5yb2xlKSxkPWUucm9sZT09PSJhc3Npc3RhbnQiP3h1KGUuY29udGVudCk6ZS5yb2xlPT09InVzZXIiP0xsKGUuY29udGVudCk6cChlLmNvbnRlbnQpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJytlLnJvbGUrJyI+JytsKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYnViYmxlIj4nK2QrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gc20oZSl7dmFyIHQ9e307aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aWYoaSYmaS50eXBlPT09InRvb2xfcmVzdWx0Iil7dmFyIGE9aS50b29sX3VzZV9pZDtpZighYSljb250aW51ZTt0W2FdfHwodFthXT1bXSksdFthXS5wdXNoKGkpfX1yZXR1cm4gdH1mdW5jdGlvbiBrbChlLHQpe3ZhciBuPWUmJnQ/ZVt0XTpudWxsO2lmKCFufHwhbi5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKHZhciBpPTA7aTxuLmxlbmd0aC0xO2krKylpZihWbChuW2ldLG5baSsxXSkpcmV0dXJuIG5baSsxXTtyZXR1cm4gbltuLmxlbmd0aC0xXX1mdW5jdGlvbiBsbShlLHQpe3ZhciBuPWUmJnQ/ZVt0XTpudWxsO2lmKCFufHxuLmxlbmd0aDwyKXJldHVybiExO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGgtMTtpKyspaWYoVmwobltpXSxuW2krMV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGRtKGUpe3JldHVybic8ZGl2IGNsYXNzPSJzdHJ1Y3R1cmVkLXRvb2wtaGludCI+XHU1REYyXHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU0RTAwXHU2QjIxICcrcChBdShlKSkrIiBcdTUzQzJcdTY1NzBcdTk1RUVcdTk4OTg8L2Rpdj4ifXZhciBjbT17UmVhZDoxLEdsb2I6MSxHcmVwOjEsV2ViRmV0Y2g6MSxXZWJTZWFyY2g6MSxUb2RvUmVhZDoxfTtmdW5jdGlvbiBBbChlKXtpZighZXx8ZS50eXBlIT09InRvb2xfdXNlInx8IWNtW2UubmFtZV0pcmV0dXJuITE7aWYoZS5uYW1lPT09IlJlYWQiKXt2YXIgdD1lLmlucHV0fHx7fTtpZihadSh0LmZpbGVfcGF0aHx8dC5wYXRofHwiIikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gZm0oZSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoOyl7dmFyIGk9ZVtuXTtpZihpLnR5cGU9PT0idG9vbF9yZXN1bHQiKXtuKys7Y29udGludWV9aWYoQWwoaSkpe2Zvcih2YXIgYT1be2Jsb2NrOmksaW5kZXg6bn1dLHU9bisxO3U8ZS5sZW5ndGg7KXtpZihlW3VdLnR5cGU9PT0idG9vbF9yZXN1bHQiKXt1Kys7Y29udGludWV9aWYoQWwoZVt1XSkpYS5wdXNoKHtibG9jazplW3VdLGluZGV4OnV9KSx1Kys7ZWxzZSBicmVha31hLmxlbmd0aD49Mj90LnB1c2goe3R5cGU6Imdyb3VwIixpdGVtczphLGVuZEluZGV4OnV9KTp0LnB1c2goe3R5cGU6InNpbmdsZSIsYmxvY2s6aSxpbmRleDpufSksbj11fWVsc2UgdC5wdXNoKHt0eXBlOiJzaW5nbGUiLGJsb2NrOmksaW5kZXg6bn0pLG4rK31yZXR1cm4gdH12YXIgcG09e1JlYWQ6Ilx1OEJGQlx1NTNENiIsR2xvYjoiXHU2NDFDXHU3RDIyIixHcmVwOiJcdTY0MUNcdTdEMjIiLFdlYkZldGNoOiJcdTYyOTNcdTUzRDYiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyIixUb2RvUmVhZDoiXHU1Rjg1XHU1MjlFIn07ZnVuY3Rpb24gdm0oZSx0LG4saSxhKXtmb3IodmFyIHU9YXx8e30sbz17fSxzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBsPWVbc10uYmxvY2submFtZTtvW2xdPShvW2xdfHwwKSsxfWZvcih2YXIgZD0hMCxmPSExLHM9MDtzPGUubGVuZ3RoO3MrKyl7dmFyIGM9ZVtzXS5ibG9jayx2PWtsKG4sYy5pZCk7dj92LmlzX2Vycm9yJiYoZj0hMCk6ZD0hMX12YXIgaD1kP2Y/Ilx1MjcxNyI6Ilx1MjcxMyI6Ilx1MjAyNiIsbT1kP2Y/ImVycm9yIjoiZG9uZSI6InBlbmRpbmciLGc9W107Zm9yKHZhciB5IGluIG8pZy5wdXNoKG9beV0rIiAiKyhwbVt5XXx8eSkpO2Zvcih2YXIgQj1nLmpvaW4oIiBceEI3ICIpLEU9THQoInRvb2wtZ3JvdXAiLFtpLGVbMF0mJmVbMF0uaW5kZXgsZS5sZW5ndGhdKSxDPUN0KEUpLEQ9dS5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDpDPT09bnVsbD9XbigidG9vbEdyb3VwIik6QyxGPSIiLHM9MDtzPGUubGVuZ3RoO3MrKyl0cnl7Ris9TWwoZVtzXS5ibG9jayx0LG4sZVtzXS5pbmRleCxpLHUpfWNhdGNoe0YrPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NURFNVx1NTE3N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9cmV0dXJuJzxkaXYgY2xhc3M9InRvb2wtZ3JvdXAiIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtZ3JvdXAiIGRhdGEtZXhwYW5kLWtleT0iJytwKEUpKyciIGRhdGEtZXhwYW5kZWQ9IicrKEQ/InRydWUiOiJmYWxzZSIpKyciIGRhdGEtc3RhdHVzPSInK20rJyI+PGRpdiBjbGFzcz0idG9vbC1ncm91cC1zdW1tYXJ5IiBvbmNsaWNrPSJfX3Rvb2xHcm91cFRvZ2dsZSh0aGlzLnBhcmVudE5vZGUpIj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC1zdGF0dXMiPicraCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLWdyb3VwLXRleHQiPicrcChCKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLWdyb3VwLWNvdW50Ij4nK2UubGVuZ3RoKycgXHU0RTJBXHU4QzAzXHU3NTI4PC9zcGFuPjxzdmcgY2xhc3M9InRvb2wtZ3JvdXAtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3R5bGU9InRyYW5zZm9ybTonKyhEPyJyb3RhdGUoMTgwZGVnKSI6IiIpKyciPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC1ncm91cC1ib2R5IiBzdHlsZT0iZGlzcGxheTonKyhEPyJibG9jayI6Im5vbmUiKSsnOyI+JytGKyI8L2Rpdj48L2Rpdj4ifXdpbmRvdy5fX3Rvb2xHcm91cFRvZ2dsZT1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIix0PyJmYWxzZSI6InRydWUiKTt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWJvZHkiKTtuJiYobi5zdHlsZS5kaXNwbGF5PXQ/Im5vbmUiOiJibG9jayIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtY2hldnJvbiIpO2kmJihpLnN0eWxlLnRyYW5zZm9ybT10PyIiOiJyb3RhdGUoMTgwZGVnKSIpLCRuKGUsInRvb2wtZ3JvdXAiKX19O2Z1bmN0aW9uIG1tKGUsdCl7Zm9yKHZhciBuPTAsaT0wLGE9MCx1PXt9LG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHM9ZVt0W29dXTtpZihzKXtzLnJvbGU9PT0idXNlciImJm4rKzt2YXIgbD1zLmNvbnRlbnQ7aWYoQXJyYXkuaXNBcnJheShsKSlmb3IodmFyIGQ9MDtkPGwubGVuZ3RoO2QrKyl7dmFyIGY9bFtkXTtpZihmKWlmKGYuX19zdWJhZ2VudCYmZi5fX3N1YmFnZW50LnRhc2tJZCYmKHVbZi5fX3N1YmFnZW50LnRhc2tJZF09MSksZi50eXBlPT09InRvb2xfdXNlIil7aSsrO3ZhciBjPVlpKGYpO2MmJmMudGFza0lkJiYodVtjLnRhc2tJZF09MSl9ZWxzZSBmLnR5cGU9PT0idG9vbF9yZXN1bHQiJiZmLmlzX2Vycm9yJiZhKyt9fX12YXIgdj0wO2Zvcih2YXIgaCBpbiB1KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh1LGgpJiZ2Kys7cmV0dXJue3JvdW5kczpuLHRvb2xzOmksYWdlbnRzOnYsZXJyb3JzOmF9fWZ1bmN0aW9uIHhsKGUpe3ZhciB0PVtdO3JldHVybiB0LnB1c2goQmUoImhpc3Rvcnkucm91bmRzIix7bjpTdHJpbmcoZS5yb3VuZHMpfSkpLGUudG9vbHM+MCYmdC5wdXNoKEJlKCJoaXN0b3J5LnRvb2xzIix7bjpTdHJpbmcoZS50b29scyl9KSksZS5hZ2VudHM+MCYmdC5wdXNoKEJlKCJoaXN0b3J5LmFnZW50cyIse246U3RyaW5nKGUuYWdlbnRzKX0pKSxlLmVycm9ycz4wJiZ0LnB1c2goQmUoImhpc3RvcnkuZXJyb3JzIix7bjpTdHJpbmcoZS5lcnJvcnMpfSkpLHQuam9pbigiIFx4QjcgIil9ZnVuY3Rpb24gQnUoZSx0KXtmb3IodmFyIG49ZS5uZXh0RWxlbWVudFNpYmxpbmc7bjspbi5jbGFzc0xpc3QuY29udGFpbnMoImNoYXQtbG9hZC1tb3JlIil8fCh0P24uY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpOm4uY2xhc3NMaXN0LmFkZCgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpKSxuPW4ubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGdtKGUsdCxuLGkpeyFlfHwhdHx8KGhtKGUsdCwhMSksRHUodCksRW0oZSkpfWZ1bmN0aW9uIFdoKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiI2NoYXQtZm9sZC1iYXIiKTtyZXR1cm4gdHx8KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5pZD0iY2hhdC1mb2xkLWJhciIsdC5jbGFzc05hbWU9ImNoYXQtZm9sZC1iYXIgaGlkZGVuIixlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCksdCl9ZnVuY3Rpb24gaG0oZSx0LG4pe2UmJmUuY2xhc3NMaXN0LnRvZ2dsZSgiYXV0by1mb2xkIiwhIW4pfWZ1bmN0aW9uIHpoKGUsdCl7Zm9yKHZhciBuPVtdLGk9MDtpPHQ7aSsrKWVbaV0mJm4ucHVzaChpKTtyZXR1cm4gbn1mdW5jdGlvbiBEdShlKXtpZihlKWZvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWF1dG8tZm9sZC1oaWRkZW4iKSxuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXS5jbGFzc0xpc3QucmVtb3ZlKCJjaGF0LWF1dG8tZm9sZC1oaWRkZW4iKX1mdW5jdGlvbiBWaChlLHQsbil7aWYoRHUoZSksISghbnx8dDwxKSl7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLGE9MDthPGkubGVuZ3RoO2ErKyl7dmFyIHU9aVthXS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYodSE9bnVsbCl7dmFyIG89cGFyc2VJbnQodSwxMCk7IWlzTmFOKG8pJiZvPHQmJmlbYV0uY2xhc3NMaXN0LmFkZCgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIil9fXltKGUpfX1mdW5jdGlvbiB5bShlKXt2YXIgdD1lP2UucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5Iik6bnVsbDtpZih0KXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsImZhbHNlIik7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuIik7biYmbi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LXRpdGxlIik7aSYmKGkudGV4dENvbnRlbnQ9QmUoImhpc3RvcnkuZXhwYW5kIikpLEJ1KHQsITEpLHQuY2xhc3NMaXN0LmFkZCgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIik7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKTtpZihhKXt2YXIgdT1hLnNwbGl0KCI6Iik7dS5sZW5ndGg+PTMmJih1WzJdPSIwIixlLnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIsdS5qb2luKCI6IikpKX19fWZ1bmN0aW9uIGJtKGUpeyFlfHwhZS5pc0Nvbm5lY3RlZHx8KHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksb28oITApKX1mdW5jdGlvbiBFbShlKXtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNjaGF0LWZvbGQtYmFyIik7dCYmKHQuaW5uZXJIVE1MPSIiLHQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci5jaGF0QXV0b0ZvbGRTbmFwc2hvdD1udWxsKX19ZnVuY3Rpb24gVWgoZSx0LG4pe3ZhciBpPVNsKGUpfHwiXHU2NUIwXHU2RDg4XHU2MDZGIixhPXQ/U2wodCk6Ilx1N0I0OVx1NUY4NVx1NTZERVx1NTkwRC4uLiIsdT0iIjtyZXR1cm4gbiYmKHU9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2hhdC1mb2xkLXJvdyBoaXN0b3J5IiBvbmNsaWNrPSJ3aW5kb3cuX19jaGF0Rm9sZFRvZ2dsZUhpc3RvcnkgJiYgd2luZG93Ll9fY2hhdEZvbGRUb2dnbGVIaXN0b3J5KCkiIHRpdGxlPSJcdTVDNTVcdTVGMDBcdTYyMTZcdTY1MzZcdThENzdcdTY2RjRcdTY1RTlcdTVCRjlcdThCREQiPjxzcGFuIGNsYXNzPSJjaGF0LWZvbGQtcm9sZSI+XHU1Mzg2XHU1M0YyPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWZvbGQtdGV4dCI+XHU1REYyXHU2NTM2XHU4RDc3ICcrcCh4bChuKSkrIjwvc3Bhbj48L2J1dHRvbj4iKSx1Kyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNoYXQtZm9sZC1yb3cgdXNlciIgb25jbGljaz0id2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3QgJiYgd2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3QoKSIgdGl0bGU9Ilx1NUI5QVx1NEY0RFx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtZm9sZC1yb2xlIj5cdTYyMTE8L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtZm9sZC10ZXh0Ij4nK3AoaSkrJzwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNoYXQtZm9sZC1yb3cgYXNzaXN0YW50IiBvbmNsaWNrPSJ3aW5kb3cuX19jaGF0Rm9sZEp1bXBUb0xhdGVzdCAmJiB3aW5kb3cuX19jaGF0Rm9sZEp1bXBUb0xhdGVzdCgpIiB0aXRsZT0iXHU1QjlBXHU0RjREXHU1MjMwXHU2NzAwXHU2NUIwXHU1NkRFXHU1OTBEIj48c3BhbiBjbGFzcz0iY2hhdC1mb2xkLXJvbGUiPkNsYXVkZTwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC1mb2xkLXRleHQiPicrcChhKSsiPC9zcGFuPjwvYnV0dG9uPiJ9ZnVuY3Rpb24gU2woZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9W107ZnVuY3Rpb24gbihvKXtpZih0eXBlb2Ygbz09InN0cmluZyIpe3ZhciBzPW8ucmVwbGFjZSgvXHMrL2csIiAiKS50cmltKCk7cyYmdC5wdXNoKHMpfX1pZih0eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIiluKGUuY29udGVudCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUuY29udGVudCkpZm9yKHZhciBpPTA7aTxlLmNvbnRlbnQubGVuZ3RoJiZ0LmpvaW4oIiAiKS5sZW5ndGg8MTgwO2krKyl7dmFyIGE9ZS5jb250ZW50W2ldO2EmJihhLnR5cGU9PT0idGV4dCI/bihhLnRleHQpOmEudHlwZT09PSJ0aGlua2luZyI/bihhLnRoaW5raW5nKTphLnR5cGU9PT0idG9vbF91c2UiP24oYS5uYW1lPyJcdThDMDNcdTc1MjggIithLm5hbWU6Ilx1NURFNVx1NTE3N1x1OEMwM1x1NzUyOCIpOmEudHlwZT09PSJ0b29sX3Jlc3VsdCI/bihhLmlzX2Vycm9yPyJcdTVERTVcdTUxNzdcdThGRDRcdTU2REVcdTk1MTlcdThCRUYiOiJcdTVERTVcdTUxNzdcdThGRDRcdTU2REVcdTdFRDNcdTY3OUMiKTphLnRleHQmJm4oYS50ZXh0KSl9dmFyIHU9dC5qb2luKCIgXHhCNyAiKTtyZXR1cm4gdS5sZW5ndGg+MTgwP3Uuc2xpY2UoMCwxNzcpKyIuLi4iOnV9d2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3Q9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2hhdC1vdXRwdXQgLmNoYXQtbWVzc2FnZXMiKTtlJiZibShlKX0sd2luZG93Ll9fY2hhdEZvbGRUb2dnbGVIaXN0b3J5PWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoYXQtb3V0cHV0IC5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpLHQ9ZT9lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeS1idG4iKTpudWxsO2UmJmUuY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIiksdCYmd2luZG93Ll9faGlzdG9yeVN1bW1hcnlUb2dnbGUmJndpbmRvdy5fX2hpc3RvcnlTdW1tYXJ5VG9nZ2xlKHQpfTtmdW5jdGlvbiBGbShlLHQsbixpKXt2YXIgYT17c2hvdWxkQ29sbGFwc2VGb3JWaWV3cG9ydDohMSxoaXN0b3J5SW5kaWNlczpbXSxmaXJzdEhpc3RvcnlFbDpudWxsfTtpZighZXx8bjwwKXJldHVybiBhO2Zvcih2YXIgdT1pJiYoZS5jbGllbnRIZWlnaHR8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KXx8MCxvPW51bGwscz1udWxsLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGQ9dFtsXS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYoZCE9bnVsbCl7dmFyIGY9cGFyc2VJbnQoZCwxMCk7aXNOYU4oZil8fChmPG4/KGEuaGlzdG9yeUluZGljZXMucHVzaChmKSxhLmZpcnN0SGlzdG9yeUVsfHwoYS5maXJzdEhpc3RvcnlFbD10W2xdKSk6aSYmKG98fChvPXRbbF0pLHM9dFtsXSkpfX1pZihpJiZ1PjAmJm8mJnMpe3ZhciBjPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdj1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGg9TWF0aC5tYXgoYy5ib3R0b20sdi5ib3R0b20pLU1hdGgubWluKGMudG9wLHYudG9wKSxtPU1hdGgubWF4KDIyMCx1LTI0KTthLnNob3VsZENvbGxhcHNlRm9yVmlld3BvcnQ9aD49bX1yZXR1cm4gYX1mdW5jdGlvbiBDbShlLHQpe2lmKCFlKXJldHVybjt2YXIgbj1yLmN1cnJlbnRNZXNzYWdlc3x8W107dHx8KHQ9cXQoKSk7Zm9yKHZhciBpPS0xLGE9bi5sZW5ndGgtMTthPj0wO2EtLSlpZihuW2FdJiZuW2FdLnJvbGU9PT0idXNlciIpe2k9YTticmVha31mdW5jdGlvbiB1KCl7dmFyIEY9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKTtGJiZGLnJlbW92ZSgpO2Zvcih2YXIgTD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWhpc3RvcnktaGlkZGVuIiksUz0wO1M8TC5sZW5ndGg7UysrKUxbU10uY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpO2UucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWhpc3Rvcnktc2lnIil9aWYoaTwxKXt1KCk7cmV0dXJufXZhciBvPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLHM9emwodCksbD1GbShlLG8saSxzJiZyLmNoYXRTdGlja1RvQm90dG9tKTtpZihzJiYoIXIuY2hhdFN0aWNrVG9Cb3R0b218fCFsLnNob3VsZENvbGxhcHNlRm9yVmlld3BvcnQpKXt1KCk7cmV0dXJufXZhciBkPWwuaGlzdG9yeUluZGljZXMsZj1sLmZpcnN0SGlzdG9yeUVsO2lmKGQubGVuZ3RoPDJ8fCFmKXt1KCk7cmV0dXJufXZhciBjPW1tKG4sZCksdj1MdCgiaGlzdG9yeS1zdW1tYXJ5IixbaV0pLGg9Q3Qodik9PT0hMCxtPWkrIjoiK2QubGVuZ3RoKyI6IisoaD8xOjApKyI6IitjLnJvdW5kcysiOiIrYy50b29scysiOiIrYy5hZ2VudHMrIjoiK2MuZXJyb3JzO2lmKCEoZS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKT09PW0mJmUucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5IikpKXt2YXIgZz1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpO2cmJmcucmVtb3ZlKCk7Zm9yKHZhciB5PWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtaGlzdG9yeS1oaWRkZW4iKSxCPTA7Qjx5Lmxlbmd0aDtCKyspeVtCXS5jbGFzc0xpc3QucmVtb3ZlKCJjaGF0LWhpc3RvcnktaGlkZGVuIik7dmFyIEU9eGwoYyksQz1CZShoPyJoaXN0b3J5LmNvbGxhcHNlIjoiaGlzdG9yeS5leHBhbmQiKSxEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0QuY2xhc3NOYW1lPSJjaGF0LWhpc3Rvcnktc3VtbWFyeSIsRC5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kLWtleSIsdiksRC5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLGg/InRydWUiOiJmYWxzZSIpLEQuaW5uZXJIVE1MPSc8YnV0dG9uIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1idG4iIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0id2luZG93Ll9faGlzdG9yeVN1bW1hcnlUb2dnbGUodGhpcykiIGFyaWEtZXhwYW5kZWQ9IicrKGg/InRydWUiOiJmYWxzZSIpKyciPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1pY29uIj4nK1YoImZvbGRlciIse3NpemU6MTV9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1ib2R5Ij48c3BhbiBjbGFzcz0iY2hhdC1oaXN0b3J5LXN1bW1hcnktdGl0bGUiPicrcChDKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1tZXRhIj4nK3AoRSkrJzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtaGlzdG9yeS1zdW1tYXJ5LWNoZXZyb24iPicrVigiY2hldnJvbkRvd24iLHtzaXplOjE2fSkrIjwvc3Bhbj48L2J1dHRvbj4iLGUuaW5zZXJ0QmVmb3JlKEQsZiksQnUoRCxoKSxlLnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIsbSl9fXdpbmRvdy5fX2hpc3RvcnlTdW1tYXJ5VG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuY2xvc2VzdD9lLmNsb3Nlc3QoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpOm51bGw7aWYodCl7dmFyIG49dC5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kLWtleSIpLGk9dC5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKSE9PSJ0cnVlIjt0LnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsaT8idHJ1ZSI6ImZhbHNlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGk/InRydWUiOiJmYWxzZSIpO3ZhciBhPXQucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LXRpdGxlIik7YSYmKGEudGV4dENvbnRlbnQ9QmUoaT8iaGlzdG9yeS5jb2xsYXBzZSI6Imhpc3RvcnkuZXhwYW5kIikpLG4mJmdvKG4saSksQnUodCxpKTt2YXIgdT10LnBhcmVudEVsZW1lbnQ7aWYoaSYmRHUodSksdSl7dmFyIG89dS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKTtpZihvKXt2YXIgcz1vLnNwbGl0KCI6Iik7cy5sZW5ndGg+PTMmJihzWzJdPWk/IjEiOiIwIix1LnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIscy5qb2luKCI6IikpKX19fX07ZnVuY3Rpb24gWWkoZSl7aWYoIWV8fGUudHlwZSE9PSJ0b29sX3VzZSIpcmV0dXJuIG51bGw7dmFyIHQ9ZS5pbnB1dHx8e30sbj10eXBlb2YgdC5zdWJhZ2VudF90eXBlPT0ic3RyaW5nIj90LnN1YmFnZW50X3R5cGU6bnVsbDtyZXR1cm4hbiYmZS5uYW1lIT09IlRhc2siJiZlLm5hbWUhPT0iQWdlbnQiP251bGw6e3Rhc2tJZDplLmlkLGFnZW50VHlwZTpufHx2b2lkIDAsdGFza0Rlc2NyaXB0aW9uOnR5cGVvZiB0LmRlc2NyaXB0aW9uPT0ic3RyaW5nIj90LmRlc2NyaXB0aW9uOnZvaWQgMH19ZnVuY3Rpb24gd20oZSl7dmFyIHQ9bmV3IE1hcDtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpZighKCFpfHxpLnJvbGUhPT0iYXNzaXN0YW50Inx8IUFycmF5LmlzQXJyYXkoaS5jb250ZW50KSkpZm9yKHZhciBhPTA7YTxpLmNvbnRlbnQubGVuZ3RoO2ErKyl7dmFyIHU9aS5jb250ZW50W2FdO2lmKCEoIXV8fHUudHlwZSE9PSJ0b29sX3VzZSIpKXt2YXIgbz11Ll9fc3ViYWdlbnR8fFlpKHUpO28mJnQuc2V0KHUuaWQsbyl9fX1yZXR1cm4gdH1mdW5jdGlvbiBCbShlKXt2YXIgdD1uZXcgTWFwO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O3ZhciBuPW5ldyBNYXAsaT1uZXcgU2V0O2Z1bmN0aW9uIGEoZil7aWYoISghZnx8IWYudGFza0lkKSYmIWkuaGFzKGYudGFza0lkKSl7aS5hZGQoZi50YXNrSWQpO3ZhciBjPUZsKGYpO2MmJihuLmhhcyhjKXx8bi5zZXQoYyxbXSksbi5nZXQoYykucHVzaChmLnRhc2tJZCkpfX1mb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIG89ZVt1XTtpZighKCFvfHwhQXJyYXkuaXNBcnJheShvLmNvbnRlbnQpKSlmb3IodmFyIHM9MDtzPG8uY29udGVudC5sZW5ndGg7cysrKXt2YXIgbD1vLmNvbnRlbnRbc107aWYobCl7dmFyIGQ9bC5fX3N1YmFnZW50fHwobC50eXBlPT09InRvb2xfdXNlIj9ZaShsKTpudWxsKTtkJiZhKGQpfX19cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihmKXtpZighKGYubGVuZ3RoPDIpKWZvcih2YXIgYz0wO2M8Zi5sZW5ndGg7YysrKXQuc2V0KGZbY10sIiAjIisoYysxKSl9KSx0fWZ1bmN0aW9uIElsKGUsdCl7dmFyIG49W107aWYoIUFycmF5LmlzQXJyYXkoZSl8fCFlLmxlbmd0aClyZXR1cm4gbjtmb3IodmFyIGk9bnVsbCxhPTA7YTxlLmxlbmd0aDthKyspe3ZhciB1PWVbYV0sbz11JiZ1LnR5cGU9PT0idGV4dCImJnUuX19wcm9jZXNzaW5nPT09ITA7aWYobyYmaSl7aS5ibG9ja3MucHVzaCh1KTtjb250aW51ZX12YXIgcz11JiZ1Ll9fc3ViYWdlbnQ/dS5fX3N1YmFnZW50Om51bGw7c3x8KHM9WWkodSkpLCFzJiZ1JiZ1LnR5cGU9PT0idG9vbF9yZXN1bHQiJiZ0JiZ0Lmhhcyh1LnRvb2xfdXNlX2lkKSYmKHM9dC5nZXQodS50b29sX3VzZV9pZCkpO3ZhciBsPXM/cy50YXNrSWQ6bnVsbDsoIWl8fGkua2V5IT09bCkmJihpPXtrZXk6bCxzdWJhZ2VudDpzLGJsb2NrczpbXSxmaXJzdEluZGV4OmF9LG4ucHVzaChpKSksaS5ibG9ja3MucHVzaCh1KX1yZXR1cm4gbn1mdW5jdGlvbiBrdShlLHQsbixpLGEsdSl7dmFyIG89IiIscz11fHx7fTt0cnl7Zm9yKHZhciBsPWZtKGUpLGQ9MDtkPGwubGVuZ3RoO2QrKyl7dmFyIGY9bFtkXTt0cnl7aWYoZi50eXBlPT09Imdyb3VwIil7Zm9yKHZhciBjPVtdLHY9MDt2PGYuaXRlbXMubGVuZ3RoO3YrKyljLnB1c2goe2Jsb2NrOmYuaXRlbXNbdl0uYmxvY2ssaW5kZXg6Zi5pdGVtc1t2XS5pbmRleCt0fSk7bys9dm0oYyxuLGksYSxzKX1lbHNlIG8rPU1sKGYuYmxvY2ssbixpLGYuaW5kZXgrdCxhLHMpfWNhdGNoe28rPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NkQ4OFx1NjA2Rlx1NTc1N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9fX1jYXRjaHtvKz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTZEODhcdTYwNkZcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybiBvfWZ1bmN0aW9uIFRsKGUsdCxuLGksYSx1KXtmb3IodmFyIG89dXx8e30scz1vLnNob3dIYW5kb2ZmIT09ITEsbD0iIixkPW51bGwsZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgYz1lW2ZdLHY9Yy5zdWJhZ2VudD97aW5TdWJhZ2VudFBhbmVsOiEwfTp7fSxoPWt1KGMuYmxvY2tzLGMuZmlyc3RJbmRleCx0LGksYSx2KTtpZighKCFofHwhaC50cmltKCkpKWlmKGMuc3ViYWdlbnQpe3ZhciBtPXMmJmQhPT1jLnN1YmFnZW50LnRhc2tJZDtsKz1EbShjLG4saCxhLG0pLGQ9Yy5zdWJhZ2VudC50YXNrSWR9ZWxzZSBsKz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLXNlZ21lbnQgcGFyZW50Ij4nK3NyKHQpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+JytoKyI8L2Rpdj48L2Rpdj4iLGQ9bnVsbH1yZXR1cm4gbH1mdW5jdGlvbiBEbShlLHQsbixpLGEpe3ZhciB1PWUuc3ViYWdlbnQsbz13bCh1KSxzPUNsKHUpLGw9dS50YXNrSWR8fCIiLGQ9S2koSmkobykpLGY9a20oZS5ibG9ja3MpLGM7aWYoYSl7dmFyIHY9ISEodS50YXNrRGVzY3JpcHRpb24mJlN0cmluZyh1LnRhc2tEZXNjcmlwdGlvbikudHJpbSgpKSxoPXY/JzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YXNrLWRlc2MiPicrcCh1LnRhc2tEZXNjcmlwdGlvbikrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtdGFzay1kZXNjIj4nK3AoQmUoInN1YmFnZW50LmNvbnRpbnVlZCIpKSsiPC9zcGFuPiI7Yz0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9uIj48c3Ryb25nIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1uYW1lIj4nK3AocykrJzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YWciIHRpdGxlPSInK3AoQmUoInN1YmFnZW50LnRhZ190aXRsZSIpKSsnIj4nK3AoQmUoInN1YmFnZW50LnRhZyIpKSsiPC9zcGFuPiIraCsiPC9zcGFuPiJ9ZWxzZSBjPSc8c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtYXR0cmlidXRpb24iPjxzdHJvbmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLW5hbWUiPicrcChzKSsnPC9zdHJvbmc+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhc2stZGVzYyI+ICcrcChCZSgic3ViYWdlbnQuY29udGludWVkIikpKyI8L3NwYW4+PC9zcGFuPiI7dmFyIG09THQoInN1YmFnZW50LXBhbmVsIixbaSxsXSk7cmV0dXJuJzxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsIiBkYXRhLWV4cGFuZC1raW5kPSJzdWJhZ2VudC1wYW5lbCIgZGF0YS1leHBhbmQta2V5PSInK3AobSkrJyIgZGF0YS1hZ2VudC1pZD0iJytwKGwpKyciIGRhdGEtZXhwYW5kZWQ9InRydWUiIHN0eWxlPSItLWFnZW50LWNvbG9yOicrby5wcmltYXJ5KyciPjxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsLWhlYWRlciIgYXJpYS1sYWJlbD0iJytwKEJlKCJzdWJhZ2VudC50aXRsZV9hcmlhIikpKyciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1hdmF0YXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2QrIjwvc3Bhbj4iK2MrJzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1jb3VudCI+JytwKGYrIiBcdTY3NjFcdTUxODVcdTVCQjkiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsLWJvZHkiPicrbisiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBrbShlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07IWl8fCFpLnR5cGV8fGkudHlwZSE9PSJ0b29sX3Jlc3VsdCImJihpLnR5cGU9PT0idGV4dCImJiFTdHJpbmcoaS50ZXh0fHwiIikudHJpbSgpJiYhaS5fX3Byb2Nlc3Npbmd8fGkudHlwZT09PSJ0aGlua2luZyImJiFTdHJpbmcoaS50aGlua2luZ3x8IiIpLnRyaW0oKXx8dCsrKX1yZXR1cm4gTWF0aC5tYXgoMSx0KX1mdW5jdGlvbiBBbShlLHQsbixpKXt2YXIgYT1lLnJvbGUsdT1obyhlLG4pLG89YT09PSJhc3Npc3RhbnQiP3htKHQpOiIiLHM9YT09PSJ1c2VyIiYmZS5jb250ZW50JiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5fX3F1ZXVlZH0pO2lmKCFlLmNvbnRlbnR8fGUuY29udGVudC5sZW5ndGg9PT0wKXJldHVybiBhPT09ImFzc2lzdGFudCI/JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyI+JytzcihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPjxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PicrbysiPC9kaXY+PC9kaXY+IjonPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIGVtcHR5LW1lc3NhZ2UiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK3NyKGEpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+PHNwYW4gY2xhc3M9ImVtcHR5LW1lc3NhZ2UtaGludCI+XHVGRjA4XHU3QTdBXHU2RDg4XHU2MDZGXHVGRjA5PC9zcGFuPjwvZGl2PjwvZGl2Pic7dmFyIGw9c20oZS5jb250ZW50KSxkPUN1KCJhc3Npc3RhbnQiKTtpZihhIT09ImFzc2lzdGFudCIpe3ZhciBmPUlsKGUuY29udGVudCxpKSxjPWYuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5zdWJhZ2VudH0pLHY9cz8iIHF1ZXVlZCI6IiIsaD1zPyc8c3BhbiBjbGFzcz0icXVldWVkLWJhZGdlIj5cdTYzOTJcdTk2MUZcdTRFMkQ8L3NwYW4+JzoiIjtpZihjKXt2YXIgbT1UbChmLGEsZC5uYW1lLGwsdSx7c2hvd0hhbmRvZmY6ITF9KTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSt2KycgbXVsdGktYWdlbnQiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK20raCsiPC9kaXY+In12YXIgZz1rdShlLmNvbnRlbnQsMCxhLGwsdSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErdisnIiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytzcihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicrZytoKyI8L2Rpdj48L2Rpdj4ifXZhciB5PUlsKGUuY29udGVudCxpKSxCPXkuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5zdWJhZ2VudH0pO2lmKCFCKXt2YXIgRT1rdShlLmNvbnRlbnQsMCxhLGwsdSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyIgZGF0YS1tZXNzYWdlLWtleT0iJytwKHUpKyciPicrc3IoYSkrJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1jb250ZW50Ij4nK0UrbysiPC9kaXY+PC9kaXY+In12YXIgQz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JztyZXR1cm4gQys9VGwoeSxhLGQubmFtZSxsLHUse3Nob3dIYW5kb2ZmOiEwfSksQys9byxDKz0iPC9kaXY+IixDfWZ1bmN0aW9uIEtyKGUpe3JldHVybiBlPj0xZTY/KGUvMWU2KS50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCIiKSsiTSI6ZT49MWUzPyhlLzFlMykudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLywiIikrImsiOlN0cmluZyhNYXRoLm1heCgwLE1hdGgucm91bmQoZXx8MCkpKX1mdW5jdGlvbiB4bShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1lLmVzdGltYXRlZD09PSEwLG49W107cmV0dXJuKGUuaW5wdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU4RjkzXHU1MTY1ICIrS3IoZS5pbnB1dFRva2VucykpLChlLmNhY2hlUmVhZElucHV0VG9rZW5zfHwwKT4wJiZuLnB1c2goIlx1N0YxM1x1NUI1OFx1NTQ3RFx1NEUyRCAiK0tyKGUuY2FjaGVSZWFkSW5wdXRUb2tlbnMpKSwoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU3RjEzXHU1QjU4XHU1MTk5XHU1MTY1ICIrS3IoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMpKSwoZS5vdXRwdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU4RjkzXHU1MUZBICIrKHQ/Ilx1MjI0OCI6IiIpK0tyKGUub3V0cHV0VG9rZW5zKSksKGUucmVhc29uaW5nT3V0cHV0VG9rZW5zfHwwKT4wJiZuLnB1c2goIlx1NjNBOFx1NzQwNiAiKyh0PyJcdTIyNDgiOiIiKStLcihlLnJlYXNvbmluZ091dHB1dFRva2VucykpLChlLnRvdGFsQ29zdFVzZHx8MCk+MCYmbi5wdXNoKCIkIitOdW1iZXIoZS50b3RhbENvc3RVc2QpLnRvRml4ZWQoNCkucmVwbGFjZSgvMCskLywiIikucmVwbGFjZSgvXC4kLywiIikpLG4ubGVuZ3RoPT09MCYmdCYmbi5wdXNoKCJcdTZCNjNcdTU3MjhcdTdFREZcdThCQTFcdTc1MjhcdTkxQ0ZcdTIwMjYiKSxuLmxlbmd0aD09PTA/IiI6JzxkaXYgY2xhc3M9InR1cm4tdXNhZ2Utc3VtbWFyeScrKHQ/IiBpcy1lc3RpbWF0ZWQiOiIiKSsnIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWxhYmVsPSJcdTY3MkNcdThGNkVcdTc1MjhcdTkxQ0YgJytwKG4uam9pbigiXHVGRjBDIikpKyciPjxzdmcgY2xhc3M9InR1cm4tdXNhZ2UtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIuNSAxMy41aDExTTQgMTFWNy41TTggMTFWM00xMiAxMVY1LjUiLz48L3N2Zz48c3Bhbj4nK3Aobi5qb2luKCIgXHhCNyAiKSkrIjwvc3Bhbj48L2Rpdj4ifXZhciBTbT0vXlxzKlxb6ZmE5Lu25bey5LiK5Lyg77yM6K+35p+l55yL5Lul5LiL5paH5Lu2OlxuKFtcc1xTXSo/KVxdXG4rLztmdW5jdGlvbiBJbShlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZighdClyZXR1cm4iIjt2YXIgbj10LnNwbGl0KCIvIikucG9wKCl8fHQ7aWYoWnUodCkpe3ZhciBpPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodCk7cmV0dXJuJzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC1pbWFnZSI+PGltZyBjbGFzcz0idXNlci1hdHRhY2htZW50LXRodW1iIiBsb2FkaW5nPSJsYXp5IiBzcmM9IicraSsnIiBhbHQ9IicrcChuKSsnIiBkYXRhLXBhdGg9IicrcCh0KStgIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXdpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXRoJykpOyIgb25lcnJvcj0idmFyIHc9dGhpcy5jbG9zZXN0KCcudXNlci1hdHRhY2htZW50LWltYWdlJyk7IGlmKHcpdy5zdHlsZS5kaXNwbGF5PSdub25lJzsiIC8+PC9kaXY+YH1yZXR1cm4nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUiIGRhdGEtcGF0aD0iJytwKHQpK2AiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpZih3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcpd2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXBhdGgnKSk7Ij48c3BhbiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNOSAxLjVINGExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjUuNUw5IDEuNXoiLz48cGF0aCBkPSJNOSAxLjVWNS41aDQiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9InVzZXItYXR0YWNobWVudC1maWxlLW5hbWUiPmArcChuKSsiPC9zcGFuPjwvZGl2PiJ9ZnVuY3Rpb24gTGwoZSl7dmFyIHQ9ZXx8IiIsbj10Lm1hdGNoKFNtKTtpZighbilyZXR1cm4gcCh0KTtmb3IodmFyIGk9IiIsYT1uWzFdLnNwbGl0KGAKYCksdT0wO3U8YS5sZW5ndGg7dSsrKWkrPUltKGFbdV0pO3ZhciBvPXQuc2xpY2UoblswXS5sZW5ndGgpLHM9aT8nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50cyI+JytpKyI8L2Rpdj4iOiIiLGw9by50cmltKCk/JzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC10ZXh0Ij4nK3AobykrIjwvZGl2PiI6IiI7cmV0dXJuIHMrbH1mdW5jdGlvbiBNbChlLHQsbixpLGEsdSl7dmFyIG89dXx8e307aWYoIWV8fCFlLnR5cGV8fCFvLmluU3ViYWdlbnRQYW5lbCYmZS50eXBlPT09InRvb2xfdXNlIiYmZS5fX3N1YmFnZW50JiZlLl9fc3ViYWdlbnQudGFza0lkPT09ZS5pZClyZXR1cm4iIjtpZihlLnR5cGU9PT0idG9vbF9yZXN1bHQiJiZlLl9fc3ViYWdlbnQmJmUuX19zdWJhZ2VudC50YXNrSWQ9PT1lLnRvb2xfdXNlX2lkKXJldHVybiBvbShlLHQpO3N3aXRjaChlLnR5cGUpe2Nhc2UidGV4dCI6cmV0dXJuIHQ9PT0iYXNzaXN0YW50IiYmZS5fX3Byb2Nlc3Npbmc/JzxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2Pic6dD09PSJhc3Npc3RhbnQiP3h1KGUudGV4dHx8IiIpOkxsKGUudGV4dHx8IiIpO2Nhc2UidGhpbmtpbmciOnZhciBzPWUudGhpbmtpbmd8fCIiLGw9ZS50aGlua2luZz09PXZvaWQgMCYmZS50eXBlPT09InRoaW5raW5nIjtpZihsKXJldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctc3RyZWFtaW5nIiBkYXRhLXRoaW5raW5nPSIiPjxkaXYgY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pbm5lciI+PHNwYW4gY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pY29uIHNwaW5uaW5nIj5cdTI5QkY8L3NwYW4+PGRpdiBjbGFzcz0idGhpbmtpbmctc3RyZWFtaW5nLXRleHQiPjwvZGl2PjwvZGl2PjwvZGl2Pic7aWYoIXMudHJpbSgpKXJldHVybiIiO3ZhciBkPXMubGVuZ3RoPjYwP3Muc2xpY2UoMCw1NykrIlx1MjAyNiI6cyxmPUx0KCJ0aGlua2luZyIsW2EsaV0pLGM9Q3QoZiksdj1jPT09bnVsbD9XbigidGhpbmtpbmciKTpjO3JldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgJysodj8iZXhwYW5kZWQiOiJjb2xsYXBzZWQiKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0aGlua2luZyIgZGF0YS1leHBhbmQta2V5PSInK3AoZikrJyIgZGF0YS10aGlua2luZz0iJytwKHMpKyciIG9uY2xpY2s9Il9fdGhpbmtpbmdUb2dnbGUodGhpcykiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtaWNvbiI+XHUyOUJGPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtcHJldmlldyI+JytwKHY/czpkKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyh2PyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PiI7Y2FzZSJ0b29sX3VzZSI6dmFyIGg9a2wobixlLmlkKSxtPVBtKGUsaCxpLGEsbyk7cmV0dXJuIGxtKG4sZS5pZCkmJihtPWRtKGUubmFtZXx8Ilx1NURFNVx1NTE3NyIpK20pLG07Y2FzZSJ0b29sX3Jlc3VsdCI6cmV0dXJuIiI7ZGVmYXVsdDp2YXIgZz1lJiZlLnR5cGU/U3RyaW5nKGUudHlwZSk6Ilx1NjcyQVx1NzdFNSIseT0iIjt0cnl7eT1KU09OLnN0cmluZ2lmeShlLG51bGwsMil9Y2F0Y2h7eT0ie30ifXJldHVybmA8ZGl2IGNsYXNzPSJ1bmtub3duLWJsb2NrIGNvbGxhcHNlZCIgb25jbGljaz0idGhpcy5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKSI+PGRpdiBjbGFzcz0idW5rbm93bi1ibG9jay1oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLWljb24iPj88L3NwYW4+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2stbGFiZWwiPlx1NjcyQVx1OEJDNlx1NTIyQlx1NzY4NFx1NTE4NVx1NUJCOVx1NTc1N1x1RkYxQWArcChnKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxwcmUgY2xhc3M9InVua25vd24tYmxvY2stYm9keSI+JytwKHkpKyI8L3ByZT48L2Rpdj4ifX1mdW5jdGlvbiBUbShlLHQsbixpLGEsdSxvLHMpe3ZhciBsPXN8fHt9LGQ9ZS5pZHx8InRvb2wtIituLGY9THQoImlubGluZS10b29sIixbdSxkfHxvLG9dKSxjPUN0KGYpLHY9ZS5pbnB1dHx8e30saD1Cbih0JiZ0LmNvbnRlbnQpLG09dCYmdC5pc19lcnJvcixnPWgubGVuZ3RoPjAseT1tPyJcdTI3MTciOmc/Ilx1MjcxMyI6Ilx1MjAyNiIsQj0iIixFPSIiLEM9IiIsRD0iIjtpZihuPT09IlJlYWQiKXtCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNMSAzLjVBMS41IDEuNSAwIDAgMSAyLjUgMmgyLjc2NGMuOTU4IDAgMS43Ni41NiAyLjMxMSAxLjE4NEM4LjQwNSAzLjc3IDkuMTQ2IDQgMTAgNGgzLjVBMS41IDEuNSAwIDAgMSAxNSA1LjV2N2ExLjUgMS41IDAgMCAxLTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgMSAxMi41di05eiIvPjxwYXRoIGQ9Ik0yIDUuNWgxMk0yIDhoOE0yIDEwLjVoNSIvPjwvc3ZnPic7dmFyIEY9di5maWxlX3BhdGh8fHYucGF0aHx8aXx8IiIsTD0iIjt2LmxpbWl0JiYoTD0iICIrdi5vZmZzZXQrIi0iKyh2Lm9mZnNldCt2LmxpbWl0KSksRT1GLEM9TH1lbHNlIGlmKG49PT0iR2xvYiIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSI1Ii8+PHBhdGggZD0iTTEwLjUgMTAuNUwxNCAxNCIvPjwvc3ZnPic7dmFyIFM9di5wYXR0ZXJufHwiIixOPXYucGF0aHx8aXx8IiI7RT1TLEM9Tn1lbHNlIGlmKG49PT0iR3JlcCIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjYuNSIgY3k9IjYuNSIgcj0iNC41Ii8+PHBhdGggZD0iTTExLjUgMTEuNUwxNSAxNSIvPjwvc3ZnPic7dmFyIFM9di5wYXR0ZXJufHwiIixOPXYucGF0aHx8aXx8IiI7RT1TLEM9Tix2LmNvbnRleHQmJihDKz0iIC1DIit2LmNvbnRleHQpfWVsc2UgaWYobj09PSJXZWJGZXRjaCIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSI2LjUiLz48cGF0aCBkPSJNOCAxLjV2MTNNMS41IDhoMTMiLz48L3N2Zz4nO3ZhciBKPXYudXJsfHwiIjtFPUosQz1hfHwiIn1lbHNlIGlmKG49PT0iV2ViU2VhcmNoIil7Qj0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PGNpcmNsZSBjeD0iNyIgY3k9IjciIHI9IjUiLz48cGF0aCBkPSJNMTAuNSAxMC41TDE0IDE0Ii8+PHBhdGggZD0iTTUgN2g0TTcgNXY0Ii8+PC9zdmc+Jzt2YXIgVz12LnF1ZXJ5fHwiIjtFPVcsQz1hfHwiIn1lbHNlIG49PT0iVG9kb1JlYWQiPyhCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIyIi8+PHBhdGggZD0iTTUgOGwyIDIgNC00Ii8+PC9zdmc+JyxFPSJcdThCRkJcdTUzRDZcdTVGODVcdTUyOUVcdTUyMTdcdTg4NjgiLEM9YXx8IiIpOihCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI4IiBjeT0iOCIgcj0iNi41Ii8+PHBhdGggZD0iTTggNXYzLjVNOCAxMWguMDEiLz48L3N2Zz4nLEU9QXUobiksQz1hfHwiIik7aWYoZyl7dmFyIGs9aC5zcGxpdChgCmApO2subGVuZ3RoPjEwP0Q9ay5zbGljZSgwLDEwKS5qb2luKGAKYCkrYApcdTIwMjZgOkQ9aH12YXIgST1wKGgpLFQ9cChEKSxZPWgsaj0iIixHPWwuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6Yz09PW51bGw/V24oImlubGluZVRvb2xzIik6YztnP2o9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLWV4cGFuZGVkIiBzdHlsZT0iZGlzcGxheTogJysoRz8iYmxvY2siOiJub25lIikrJzsiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdCI+JytQbChoLG4pKyI8L2Rpdj48L2Rpdj4iOm0/aj0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhHPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0IGlubGluZS10b29sLWVycm9yIj4nK3AoaHx8Ilx1NjRDRFx1NEY1Q1x1NTkzMVx1OEQyNSIpKyI8L2Rpdj48L2Rpdj4iOnR8fChqPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1leHBhbmRlZCIgc3R5bGU9ImRpc3BsYXk6ICcrKEc/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1sb2FkaW5nIj5cdTdCNDlcdTVGODVcdTU0Q0RcdTVFOTRcdTIwMjY8L2Rpdj48L2Rpdj4nKTt2YXIgTT10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCx0ZT0iIjtpZihuPT09IlJlYWQiKXt2YXIgbmU9di5maWxlX3BhdGh8fHYucGF0aHx8aXx8IiI7aWYobmUmJlp1KG5lKSl7dmFyIE89Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudChuZSk7dGU9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLWltYWdlIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiPjxpbWcgY2xhc3M9ImlubGluZS10b29sLWltYWdlLXRodW1iIiBsb2FkaW5nPSJsYXp5IiBzcmM9IicrTysnIiBhbHQ9IicrcChGKSsnIiBkYXRhLXBhdGg9IicrcChuZSkrYCIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGlmKHdpbmRvdy5fX29wZW5GaWxlUHJldmlldyl3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcodGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGF0aCcpKTsiIG9uZXJyb3I9InZhciB3PXRoaXMuY2xvc2VzdCgnLmlubGluZS10b29sLWltYWdlJyk7IGlmKHcpdy5zdHlsZS5kaXNwbGF5PSdub25lJzsiIC8+PC9kaXY+YH19dmFyIFA9Qz8nPHNwYW4gY2xhc3M9ImlubGluZS10b29sLW1ldGEiPicrcChDKSsiPC9zcGFuPiI6IiIsXz1tPyJpbmxpbmUtdG9vbC1lcnJvci1pbmxpbmUiOiIiO0cmJihfKz0iIGlubGluZS10b29sLW9wZW4iKTt2YXIgUT1NPydkYXRhLXRydW5jYXRlZD0idHJ1ZSIgZGF0YS10b29sLXVzZS1pZD0iJytwKGUuaWR8fCIiKSsnIiAnOiIiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbCAnK18rJyIgZGF0YS1leHBhbmQta2luZD0iaW5saW5lLXRvb2wiIGRhdGEtZXhwYW5kLWtleT0iJytwKGYpKyciIGRhdGEtcmVzdWx0PSInK3AoWSkrJyIgZGF0YS1wcmV2aWV3PSInK1QrJyIgZGF0YS1zdGF0dXM9IicrKG0/ImVycm9yIjpnPyJkb25lIjoicGVuZGluZyIpKyciICcrUSsnb25jbGljaz0iX19pbmxpbmVUb29sVG9nZ2xlKHRoaXMpIj48ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1yb3ciPjxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC1zdGF0dXMiPicreSsiPC9zcGFuPiIrQisnPHNwYW4gY2xhc3M9ImlubGluZS10b29sLXRpdGxlIj4nK3AoRSkrIjwvc3Bhbj4iK1ArIjwvZGl2PiIrdGUraisiPC9kaXY+In1mdW5jdGlvbiBMbShlLHQsbixpLGEsdSl7dmFyIG89dXx8e30scz1lLmlucHV0fHx7fSxsPXMuY29tbWFuZHx8cy5jbWR8fCIiLGQ9Qm4odCYmdC5jb250ZW50KSxmPWUuaWR8fCJ0b29sLSIrbixjPUx0KCJ0ZXJtaW5hbCIsW2ksZnx8YSxhXSksdj1DdChjKSxoPXQmJnQuaXNfZXJyb3IsbT1zLmV4aXRDb2RlLGc9ZC5sZW5ndGg+MCx5PSIiO3Q/aD95PSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0tZXJyb3IiPjwvc3Bhbj4nOm09PT0wfHxtPT09dm9pZCAwP3k9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS1zdWNjZXNzIj48L3NwYW4+Jzp5PSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0td2FybiI+PC9zcGFuPic6eT0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLXJ1bm5pbmciPjwvc3Bhbj4nO2Zvcih2YXIgQj0nPHNwYW4gY2xhc3M9InRlcm0tcHJvbXB0Ij4kPC9zcGFuPicsRT1wKGwpLEM9ZC5zcGxpdChgCmApLEQ9IiIsRj0wO0Y8Qy5sZW5ndGg7RisrKXt2YXIgTD1DW0ZdOyFMJiZGPT09Qy5sZW5ndGgtMXx8KEQrPSc8ZGl2IGNsYXNzPSJ0ZXJtLWxpbmUiPicrcChMKSsiPC9kaXY+Iil9dmFyIFM9IiI7aWYodCYmbSE9PXZvaWQgMCl7dmFyIE49bT09PTA/InRlcm0tZXhpdC1zdWNjZXNzIjoidGVybS1leGl0LWVycm9yIjtTPSc8ZGl2IGNsYXNzPSJ0ZXJtLWV4aXQgJytOKyciPmV4aXQgJyttKyI8L2Rpdj4ifXZhciBKPWwubGVuZ3RoPjgwP2wuc2xpY2UoMCw3NykrIlx1MjAyNiI6bCxXPW8uZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6dj09PW51bGw/V24oInRlcm1pbmFsIik6dixrPXQmJnQuX3RydW5jYXRlZD09PSEwLEk9az8nIGRhdGEtdHJ1bmNhdGVkPSJ0cnVlIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AoZS5pZHx8IiIpKyciJzoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iaW5saW5lLXRlcm1pbmFsIiBkYXRhLWV4cGFuZC1raW5kPSJ0ZXJtaW5hbCIgZGF0YS1leHBhbmQta2V5PSInK3AoYykrJyIgZGF0YS1leHBhbmRlZD0iJysoVz8idHJ1ZSI6ImZhbHNlIikrJyInK0krJz48ZGl2IGNsYXNzPSJ0ZXJtLWhlYWRlciIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJysoVz8idHJ1ZSI6ImZhbHNlIikrYCIgb25jbGljaz0iX190ZXJtaW5hbEV4cGFuZCh0aGlzKSIgb25rZXlkb3duPSJpZihldmVudC5rZXk9PT0nRW50ZXInfHxldmVudC5rZXk9PT0nICcpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7X190ZXJtaW5hbEV4cGFuZCh0aGlzKTt9Ij5gK3krJzxzcGFuIGNsYXNzPSJ0ZXJtLWNtZC1wcmV2aWV3Ij48c3BhbiBjbGFzcz0idGVybS1wcm9tcHQiPiQ8L3NwYW4+ICcrcChKKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXJtLXRvZ2dsZS1pY29uIj4nKyhXPyJcdTI1QkMiOiJcdTI1QjYiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InRlcm0tYm9keSIgYXJpYS1oaWRkZW49IicrKFc/ImZhbHNlIjoidHJ1ZSIpKyciIHN0eWxlPSJkaXNwbGF5OicrKFc/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJ0ZXJtLWNvbW1hbmQiPjxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4gJytFKyI8L2Rpdj4iKyhEPyc8ZGl2IGNsYXNzPSJ0ZXJtLW91dHB1dCI+JytEKyI8L2Rpdj4iOiIiKStTKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEJuKGUpe3JldHVybiBlP3R5cGVvZiBlPT0ic3RyaW5nIj9lOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoZnVuY3Rpb24odCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjtpZih0LnR5cGU9PT0idGV4dCImJnR5cGVvZiB0LnRleHQ9PSJzdHJpbmciKXJldHVybiB0LnRleHQ7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1jYXRjaHtyZXR1cm4iIn19KS5maWx0ZXIoQm9vbGVhbikuam9pbihgCmApOiIiOiIifWZ1bmN0aW9uIE1tKGUsdCxuLGksYSx1KXt2YXIgbz11fHx7fSxzPWUuaW5wdXR8fHt9LGw9cy5maWxlX3BhdGh8fHMucGF0aHx8IiIsZD1sLnNwbGl0KCIvIikucG9wKCl8fGwsZj1lLmlkfHwidG9vbC0iK24rIi0iKyh0eXBlb2YgYT09Im51bWJlciI/YTowKSxjPXMub2xkX3N0cmluZ3x8IiIsdj1zLm5ld19zdHJpbmd8fHMuY29udGVudHx8IiIsaD1zLm9sZF9jb250ZW50fHwiIixtPXMubmV3X2NvbnRlbnR8fCIiLGc9cy51bmlmaWVkX2RpZmZ8fHMuZGlmZnx8IiIseT1zLmtpbmR8fCIiLEI9bj09PSJXcml0ZSJ8fG49PT0iTXVsdGlFZGl0IixFPXQmJnQuaXNfZXJyb3IsQz1Cbih0JiZ0LmNvbnRlbnQpLEQ9ISEoQyYmQy50cmltKCkubGVuZ3RoPjApLEY9IiIsTD0iIixTPSIiO2c/Uz0nPGRpdiBjbGFzcz0iZGlmZi1jb2wgZGlmZi1jb2wtZnVsbCI+PGRpdiBjbGFzcz0iZGlmZi1jb2wtbGFiZWwiPkRpZmY8L2Rpdj4nK09tKGcpKyI8L2Rpdj4iOkI/TD0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtYWRkIj4rICcrcChtKSsiPC9kaXY+IjooYyYmKEY9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLXJlbW92ZSI+LSAnK3AoYykrIjwvZGl2PiIpLHYmJihMPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgZGlmZi1hZGQiPisgJytwKHYpKyI8L2Rpdj4iKSk7dmFyIE49IiIsSj0iIjt0P0U/KE49ImRpZmYtZXJyb3IiLEo9Qy5pbmRleE9mKCJoYXZlbid0IGdyYW50ZWQiKSE9PS0xfHxDLmluZGV4T2YoInBlcm1pc3Npb24iKSE9PS0xPyJcdTdCNDlcdTVGODVcdTYzODhcdTY3NDMiOiJcdTU5MzFcdThEMjUiKTooTj0iZGlmZi1zdWNjZXNzIixKPXk9PT0iYWRkIj8iXHU1REYyXHU2NUIwXHU1ODlFIjp5PT09ImRlbGV0ZSI/Ilx1NURGMlx1NTIyMFx1OTY2NCI6eT09PSJtb3ZlIj8iXHU1REYyXHU3OUZCXHU1MkE4IjoiXHU1REYyXHU0RkVFXHU2NTM5Iik6KE49ImRpZmYtcGVuZGluZyIsSj0iXHU2MjY3XHU4ODRDXHU0RTJEIik7dmFyIFc9THQoImRpZmYiLFtpLGZ8fGEsYV0pLGs9Q3QoVyksST1XbigiZWRpdENhcmRzIiksVD1vLmZvcmNlRXhwYW5kZWRUb29sQm9kaWVzPyEwOms9PT1udWxsP0k6ayxZPVQ/IiI6IiBjb2xsYXBzZWQiLGo9IVMmJkYmJkwsRz1qPyJkaWZmLWNvbC1oYWxmIjoiZGlmZi1jb2wtZnVsbCIsTT1TfHwoaj8nPGRpdiBjbGFzcz0iZGlmZi1jb2wgJytHKyciPjxkaXYgY2xhc3M9ImRpZmYtY29sLWxhYmVsIj5cdTY1RTc8L2Rpdj4nK0YrIjwvZGl2PiI6IiIpKyc8ZGl2IGNsYXNzPSJkaWZmLWNvbCAnK0crJyI+PGRpdiBjbGFzcz0iZGlmZi1jb2wtbGFiZWwiPicrKGo/Ilx1NjVCMCI6IiIpKyI8L2Rpdj4iKyhMfHxGfHxPbChsKSkrIjwvZGl2PiIsdGU9bD8nPGJ1dHRvbiBjbGFzcz0iZGlmZi1vcGVuLWZpbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1wYXRoPSInK3AobCkrYCIgdGl0bGU9Ilx1NjI1M1x1NUYwMFx1NjU4N1x1NEVGNiIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGlmKHdpbmRvdy5fX29wZW5GaWxlUHJldmlldyl3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcodGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGF0aCcpKTsiPlx1NjI1M1x1NUYwMDwvYnV0dG9uPmA6IiI7cmV0dXJuJzxkaXYgY2xhc3M9ImlubGluZS1kaWZmJytZKyciIGRhdGEtdG9vbC1uYW1lPSInK3AobikrJyIgZGF0YS1leHBhbmQta2luZD0iZGlmZiIgZGF0YS1leHBhbmQta2V5PSInK3AoVykrJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKGYpKyciIGRhdGEtcGF0aD0iJytwKGwpKyciPjxkaXYgY2xhc3M9ImRpZmYtaGVhZGVyIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBhcmlhLWV4cGFuZGVkPSInKyhUPyJ0cnVlIjoiZmFsc2UiKStgIiBvbmNsaWNrPSJfX3RjVG9nZ2xlKGV2ZW50LHRoaXMpIiBvbmtleWRvd249ImlmKGV2ZW50LmtleT09PSdFbnRlcid8fGV2ZW50LmtleT09PScgJyl7ZXZlbnQucHJldmVudERlZmF1bHQoKTtfX3RjVG9nZ2xlKGV2ZW50LHRoaXMpO30iPjxzcGFuIGNsYXNzPSJkaWZmLWZpbGUtaWNvbiI+PC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWZpbGUtbmFtZSI+YCtwKGQpKyI8L3NwYW4+IitFdChsLCJkaWZmLXBhdGgiKSsnPHNwYW4gY2xhc3M9ImRpZmYtc3RhdHVzICcrTisnIj4nK0orIjwvc3Bhbj4iK3RlKyc8c3BhbiBjbGFzcz0iZGlmZi10b2dnbGUiPlx1MjVCQzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJkaWZmLWJvZHkiIGFyaWEtaGlkZGVuPSInKyhUPyJmYWxzZSI6InRydWUiKSsnIj48ZGl2IGNsYXNzPSJkaWZmLWNvbHVtbnMiPicrTSsiPC9kaXY+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBPbShlKXtmb3IodmFyIHQ9U3RyaW5nKGV8fCIiKS5zcGxpdChgCmApLG49NjAwLGk9IiIsYT0wO2E8dC5sZW5ndGgmJmE8bjthKyspe3ZhciB1PXRbYV0sbz0iZGlmZi1jb250ZXh0IjsvXkBALy50ZXN0KHUpP289ImRpZmYtaHVuayI6L15cKy8udGVzdCh1KSYmIS9eXCtcK1wrLy50ZXN0KHUpP289ImRpZmYtYWRkIjovXi0vLnRlc3QodSkmJiEvXi0tLS8udGVzdCh1KSYmKG89ImRpZmYtcmVtb3ZlIiksaSs9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSAnK28rJyI+JytwKHV8fCIgIikrIjwvZGl2PiJ9cmV0dXJuIHQubGVuZ3RoPm4mJihpKz0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtY29udGV4dCI+XHUyMDI2XHVGRjA4XHU1REYyXHU2MjJBXHU2NUFEICcrKHQubGVuZ3RoLW4pKyIgXHU4ODRDXHVGRjA5PC9kaXY+IiksaXx8T2woIiIpfWZ1bmN0aW9uIE9sKGUpe3ZhciB0PWU/Ilx1RkYwQ1x1NTNFRlx1NjI1M1x1NUYwMFx1NjU4N1x1NEVGNlx1NjdFNVx1NzcwQlx1NUY1M1x1NTI0RFx1NTE4NVx1NUJCOSI6IiI7cmV0dXJuJzxkaXYgY2xhc3M9ImRpZmYtZW1wdHkiPkNvZGV4IFx1NjcyQVx1NjNEMFx1NEY5Qlx1NTE4NVx1ODA1NCBkaWZmJyt0KyJcdTMwMDI8L2Rpdj4ifWZ1bmN0aW9uIFBsKGUsdCl7cmV0dXJuIGU/JzxwcmUgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdC10ZXh0IiBzdHlsZT0ibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87Ij4nK3AoZSkrIjwvcHJlPiI6JzxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC1lbXB0eSI+XHU2NUUwXHU4RjkzXHU1MUZBPC9zcGFuPid9ZnVuY3Rpb24gUG0oZSx0LG4saSxhKXt2YXIgdT1hfHx7fSxvPWUubmFtZXx8InVua25vd24iLHM9ZS5pZHx8InRvb2wtIitvKyItIisodHlwZW9mIG49PSJudW1iZXIiP246MCksbD1IbShvLGUuaW5wdXQpO2lmKG89PT0iUmVhZCJ8fG89PT0iR2xvYiJ8fG89PT0iR3JlcCJ8fG89PT0iV2ViRmV0Y2gifHxvPT09IldlYlNlYXJjaCJ8fG89PT0iVG9kb1JlYWQiKXJldHVybiBUbShlLHQsbyxsLCIiLGksbix1KTtpZihvPT09IkJhc2giKXJldHVybiBMbShlLHQsbyxpLG4sdSk7aWYobz09PSJFZGl0Inx8bz09PSJXcml0ZSJ8fG89PT0iTXVsdGlFZGl0IilyZXR1cm4gTW0oZSx0LG8saSxuLHUpO2lmKG89PT0iQXNrVXNlclF1ZXN0aW9uIiYmZS5pbnB1dCYmZS5pbnB1dC5xdWVzdGlvbnMpe3ZhciBkPWUuaW5wdXQucXVlc3Rpb25zO2lmKGQmJmQubGVuZ3RoPjApe2Zvcih2YXIgZj0hIXQsYz1yLmFza1VzZXJTZWxlY3Rpb25zW3NdfHx7fSx2PSEhYy5zdWJtaXR0ZWQsaD1mP0JuKHQuY29udGVudCk6IiIsbT1oP2gudHJpbSgpLnNwbGl0KGAKYCk6W10sZz0iIix5PTA7eTxkLmxlbmd0aDt5KyspaWYoZFt5XS5oZWFkZXIpe2c9ZFt5XS5oZWFkZXI7YnJlYWt9dmFyIEI9Zz8nPHNwYW4gY2xhc3M9InRvb2wtdXNlLXN1bW1hcnkiPicrcChnKSsiPC9zcGFuPiI6IiIsRT0iIjtkLmZvckVhY2goZnVuY3Rpb24oRGUsWCl7dmFyIGhlPSEhRGUubXVsdGlTZWxlY3QsZmU9RGUucXVlc3Rpb24/JzxkaXYgY2xhc3M9ImFzay11c2VyLXRpdGxlIj4nK3AoRGUucXVlc3Rpb24pKyI8L2Rpdj4iOiIiLG9lPSIiO0RlLm9wdGlvbnMmJkRlLm9wdGlvbnMubGVuZ3RoPjAmJihvZT0nPGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9ucyIgZGF0YS1tdWx0aS1zZWxlY3Q9IicraGUrJyI+JyxEZS5vcHRpb25zLmZvckVhY2goZnVuY3Rpb24ocSx5ZSl7dmFyIHB0PXEubGFiZWw/cChxLmxhYmVsKToiXHU5MDA5XHU5ODc5ICIrKHllKzEpLHp0PXEuZGVzY3JpcHRpb24/JzxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1kZXNjIj4nK3AocS5kZXNjcmlwdGlvbikrIjwvZGl2PiI6IiI7aWYoZil7dmFyIFVlPW1bWF18fG1bMF18fCIiLHV0PVVlLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKE1lKXtyZXR1cm4gTWUudHJpbSgpfSksVnQ9dXQuaW5kZXhPZihxLmxhYmVsfHwiIikhPT0tMTtvZSs9JzxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbiBhc2stdXNlci1vcHRpb24tcmVhZG9ubHknKyhWdD8iIGFzay11c2VyLW9wdGlvbi1jaG9zZW4iOiIiKSsnIj48c3BhbiBjbGFzcz0iYXNrLXVzZXItaW5kaWNhdG9yIj48L3NwYW4+PGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWNvbnRlbnQiPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1sYWJlbCI+JytwdCsiPC9kaXY+Iit6dCsiPC9kaXY+PC9kaXY+In1lbHNle3ZhciB4dD0oY1tYXXx8W10pLmluZGV4T2YoeWUpIT09LTEsdHQ9dj8iIGRpc2FibGVkIjoiIjtvZSs9JzxidXR0b24gY2xhc3M9ImFzay11c2VyLW9wdGlvbicrKHh0PyIgc2VsZWN0ZWQiOiIiKSsnIiBkYXRhLW9wdGlvbi1pbmRleD0iJyt5ZSsnIiBkYXRhLXF1ZXN0aW9uLWluZGV4PSInK1grJyIgZGF0YS1vcHRpb24tbGFiZWw9IicrcChxLmxhYmVsfHwiXHU5MDA5XHU5ODc5ICIrKHllKzEpKStgIiBvbmNsaWNrPSJfX2Fza1NlbGVjdCgnYCtwKHMpKyInLCIrWCsiLCIreWUrIiwiK2hlKycpIicrdHQrJz48c3BhbiBjbGFzcz0iYXNrLXVzZXItaW5kaWNhdG9yIj48L3NwYW4+PGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWNvbnRlbnQiPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1sYWJlbCI+JytwdCsiPC9kaXY+Iit6dCsiPC9kaXY+PC9idXR0b24+In19KSxvZSs9IjwvZGl2PiIpLEUrPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1xdWVzdGlvbi1ncm91cCIgZGF0YS1xdWVzdGlvbi1pbmRleD0iJytYKyciPicrZmUrb2UrIjwvZGl2PiJ9KTt2YXIgQz0iIjtpZighZil7Zm9yKHZhciBEPSEwLEY9MDtGPGQubGVuZ3RoO0YrKylpZighY1tGXXx8Y1tGXS5sZW5ndGg9PT0wKXtEPSExO2JyZWFrfXZhciBMPSFEfHx2PyIgZGlzYWJsZWQiOiIiLFM9dj8iIGFzay11c2VyLXN1Ym1pdHRlZCI6IiIsTj12PyJcdTVERjJcdTYzRDBcdTRFQTQuLi4iOiJcdTc4NkVcdThCQTRcdTYzRDBcdTRFQTQiO0M9JzxkaXYgY2xhc3M9ImFzay11c2VyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImFzay11c2VyLXN1Ym1pdCcrUysnIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AocykrYCIgb25jbGljaz0iX19hc2tTdWJtaXQoJ2ArcChzKStgJykiYCtMKyI+IitOKyI8L2J1dHRvbj48L2Rpdj4ifXZhciBKPSIiO2lmKGYmJmgpe3ZhciBXPWgudHJpbSgpLnJlcGxhY2UoL1xuL2csIiwgIik7Vy5sZW5ndGg+NDAmJihXPVcuc2xpY2UoMCwzNykrIi4uLiIpLEo9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1maWxlIj4nK3AoVykrIjwvc3Bhbj4ifXZhciBrPUx0KCJ0b29sLWNhcmQiLFtpLHNdKSxJPUN0KGspLFQ9dS5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDpJPT09bnVsbD8hZjpJLFk9VD8iIjoiIGNvbGxhcHNlZCIsaj1mPyIgYXNrLXVzZXItYW5zd2VyZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b29sLXVzZS1jYXJkIGFzay11c2VyJytqK1krJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKHMpKyciIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtY2FyZCIgZGF0YS1leHBhbmQta2V5PSInK3AoaykrJyI+PGRpdiBjbGFzcz0idG9vbC11c2UtaGVhZGVyIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1pY29uIj4nKyhmPyJcdTI3MTMiOiI/IikrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC11c2UtbmFtZSI+XHU2M0QwXHU5NUVFPC9zcGFuPicrQitKKyc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSBhc2stdXNlci1ib2R5Ij4nK0UrQysiPC9kaXY+PC9kaXY+In19dmFyIEc9ZS5kZXNjcmlwdGlvbnx8ZS5pbnB1dCYmZS5pbnB1dC5kZXNjcmlwdGlvbnx8IiIsTT1xbShlLm5hbWUsZS5pbnB1dCksdGU9IiIsbmU9IiI7Rz8odGU9Ry5sZW5ndGg+ODA/Ry5zbGljZSgwLDc3KSsiLi4uIjpHLGwmJihuZT0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcChsKSsiPC9zcGFuPiIpKToodGU9QXUobyksbCYmKG5lPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtZmlsZSI+JytwKGwpKyI8L3NwYW4+IiksTSYmKG5lKz0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLXN1bW1hcnkiPicrcChNKSsiPC9zcGFuPiIpKTt2YXIgTz1lLmlucHV0P0pTT04uc3RyaW5naWZ5KGUuaW5wdXQsbnVsbCwyKToie30iLFA9ImxvYWRpbmciLF89JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zcGlubmVyIj48L3NwYW4+JyxRPSIiO2lmKHQpe3ZhciAkPXQuaXNfZXJyb3IsaWU9Qm4odC5jb250ZW50KTtQPSQ/ImVycm9yIjoic3VjY2VzcyIsXz1xbChvKTt2YXIgZ2U9aWUmJmllLnRyaW0oKS5sZW5ndGg+MDtnZT9RPSc8cHJlIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtY29udGVudCI+JytwKGllKSsiPC9wcmU+IjpRPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWVtcHR5Ij5cdTY1RTBcdThGOTNcdTUxRkE8L3NwYW4+J31lbHNlIF89cWwobyk7dmFyIGFlPUx0KCJ0b29sLWNhcmQiLFtpLHNdKSx1ZT1DdChhZSksemU9V24oImVkaXRDYXJkcyIpLFRlPXUuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6dWU9PT1udWxsP3plOnVlLEZlPXQmJnQuX3RydW5jYXRlZD09PSEwLExlPVRlPyIiOiIgY29sbGFwc2VkIixhdD0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPic7cmV0dXJuJzxkaXYgY2xhc3M9InRvb2wtdXNlLWNhcmQgJytQK0xlKyciIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtY2FyZCIgZGF0YS1leHBhbmQta2V5PSInK3AoYWUpKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcChzKSsnIicrKEZlPycgZGF0YS10cnVuY2F0ZWQ9InRydWUiJzoiIikrJz48ZGl2IGNsYXNzPSJ0b29sLXVzZS1oZWFkZXIiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGFyaWEtZXhwYW5kZWQ9IicrKFRlPyJ0cnVlIjoiZmFsc2UiKStgIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiIG9ua2V5ZG93bj0iaWYoZXZlbnQua2V5PT09J0VudGVyJ3x8ZXZlbnQua2V5PT09JyAnKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO19fdGNUb2dnbGUoZXZlbnQsdGhpcyk7fSI+PHNwYW4gY2xhc3M9InRvb2wtdXNlLWljb24iPmArXysnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1uYW1lIj4nK3AodGUpKyI8L3NwYW4+IituZSthdCsnPC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSIgYXJpYS1oaWRkZW49IicrKFRlPyJmYWxzZSI6InRydWUiKSsnIj4nKyhHPyc8ZGl2IGNsYXNzPSJ0b29sLXVzZS1tZXRhIj48c3BhbiBjbGFzcz0idG9vbC11c2UtbWV0YS1sYWJlbCI+XHU1REU1XHU1MTc3XHVGRjFBPC9zcGFuPicrcChvKSsiPC9kaXY+IjoiIikrJzxwcmUgY2xhc3M9InRvb2wtdXNlLWNvbnRlbnQiPicrcChPKSsiPC9wcmU+IisoUT8nPGRpdiBjbGFzcz0idG9vbC11c2UtcmVzdWx0Ij4nK1ErIjwvZGl2PiI6IiIpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEF1KGUpe3ZhciB0PXtSZWFkOiJcdThCRkJcdTUzRDZcdTY1ODdcdTRFRjYiLFdyaXRlOiJcdTUxOTlcdTUxNjVcdTY1ODdcdTRFRjYiLEVkaXQ6Ilx1N0YxNlx1OEY5MVx1NjU4N1x1NEVGNiIsTXVsdGlFZGl0OiJcdTU5MUFcdTU5MDRcdTdGMTZcdThGOTEiLEJhc2g6Ilx1NjI2N1x1ODg0Q1x1NTQ3RFx1NEVFNCIsR3JlcDoiXHU2NDFDXHU3RDIyXHU1MTg1XHU1QkI5IixHbG9iOiJcdTY3RTVcdTYyN0VcdTY1ODdcdTRFRjYiLFdlYkZldGNoOiJcdTgzQjdcdTUzRDZcdTdGNTFcdTk4NzUiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyXHU3RjUxXHU5ODc1IixUYXNrOiJcdTRFRkJcdTUyQTEiLFRvZG9Xcml0ZToiXHU2NkY0XHU2NUIwXHU1Rjg1XHU1MjlFIixUb2RvUmVhZDoiXHU4QkZCXHU1M0Q2XHU1Rjg1XHU1MjlFIixOb3RlYm9va0VkaXQ6Ilx1N0YxNlx1OEY5MVx1N0IxNFx1OEJCMFx1NjcyQyIsQWdlbnQ6Ilx1NUI1MFx1NEVFM1x1NzQwNiIsQXNrVXNlclF1ZXN0aW9uOiJcdTYzRDBcdTk1RUUiLEV4aXQ6Ilx1OTAwMFx1NTFGQSJ9O3JldHVybiB0W2VdfHxlfWZ1bmN0aW9uIHFsKGUpe3ZhciB0PXtSZWFkOiJSIixXcml0ZToiVyIsRWRpdDoiRSIsTXVsdGlFZGl0OiJFIixCYXNoOiIkIixHcmVwOiJHIixHbG9iOiJGIixXZWJGZXRjaDoiXHUyMUUzIixXZWJTZWFyY2g6Ilx1MjFFMiIsVGFzazoiVCIsVG9kb1dyaXRlOiJcdTI2MTAiLFRvZG9SZWFkOiJcdTI2MTEiLE5vdGVib29rRWRpdDoiTiIsQWdlbnQ6IkEiLEV4aXQ6Ilx4RDcifTtyZXR1cm4gdFtlXXx8Ilx4QjcifWZ1bmN0aW9uIHFtKGUsdCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aD09PTApcmV0dXJuInt9IjtpZihlPT09IlJlYWQiKXJldHVybiJcdThCRkJcdTUzRDZcdTY1ODdcdTRFRjYiO2lmKGU9PT0iV3JpdGUiKXJldHVybiJcdTUxOTlcdTUxNjVcdTY1ODdcdTRFRjYiO2lmKGU9PT0iRWRpdCIpe3ZhciBpPXQuZWRpdHM/dC5lZGl0cy5sZW5ndGg6MDtyZXR1cm4iXHU3RjE2XHU4RjkxICgiK2krIiBcdTU5MDRcdTRGRUVcdTY1MzkpIn1pZihlPT09IkJhc2giKXt2YXIgYT10LmNvbW1hbmR8fCIiO2lmKGEpe3ZhciB1PWEubGVuZ3RoPjYwP2Euc2xpY2UoMCw2MCkrIi4uLiI6YTtyZXR1cm4iXHU1NDdEXHU0RUU0XHVGRjFBIit1fX1pZihlPT09IkdyZXAiKXt2YXIgbz10LnBhdHRlcm58fCIiLHM9dC5wYXRofHwiIjtpZihvKXJldHVybiJcdTY0MUNcdTdEMjJcdUZGMUEiK28rKHM/IiAoXHU1NzI4ICIrcysiKSI6IiIpfWlmKGU9PT0iR2xvYiIpe3ZhciBvPXQucGF0dGVybnx8IiI7aWYobylyZXR1cm4iXHU2N0U1XHU2MjdFXHVGRjFBIitvfWlmKGU9PT0iQWdlbnQiKXt2YXIgbD10LnByb21wdHx8dC50YXNrfHwiIjtpZihsKXt2YXIgZD1sLmxlbmd0aD40MD9sLnNsaWNlKDAsNDApKyIuLi4iOmw7cmV0dXJuIlx1NEVGQlx1NTJBMVx1RkYxQSIrZH19aWYoZT09PSJUYXNrIil7dmFyIGw9dC50YXNrfHx0LmRlc2NyaXB0aW9ufHwiIjtpZihsKXt2YXIgZD1sLmxlbmd0aD40MD9sLnNsaWNlKDAsNDApKyIuLi4iOmw7cmV0dXJuIlx1NEVGQlx1NTJBMVx1RkYxQSIrZH19aWYoZT09PSJUb2RvV3JpdGUiKXt2YXIgZj10LnRvZG9zfHxbXTtyZXR1cm4iXHU2NkY0XHU2NUIwXHU1Rjg1XHU1MjlFICgiK2YubGVuZ3RoKyIgXHU5ODc5KSJ9aWYoZT09PSJXZWJTZWFyY2giKXt2YXIgYz10LnF1ZXJ5fHwiIjtpZihjKXJldHVybiJcdTY0MUNcdTdEMjJcdUZGMUEiK2N9dmFyIHY9blswXSxoPXRbdl07aWYodHlwZW9mIGg9PSJzdHJpbmciKXt2YXIgbT1oLmxlbmd0aD41MD9oLnNsaWNlKDAsNTApKyIuLi4iOmg7cmV0dXJuIHYrIjogIittfXJldHVybiBuLmxlbmd0aCsiIFx1NEUyQVx1NTNDMlx1NjU3MCJ9ZnVuY3Rpb24gSG0oZSx0KXtpZighdClyZXR1cm4gbnVsbDt2YXIgbj10LmZpbGVfcGF0aHx8dC5wYXRofHx0LmN3ZDtyZXR1cm4gbj9uLmxlbmd0aD41MD8iLi4uIituLnNsaWNlKC00Nyk6bjpudWxsfWZ1bmN0aW9uIF9tKGUpe2lmKCFlKXJldHVybiIiO2Zvcih2YXIgdD1gCmAsbj1lLnNwbGl0KHQpLGk9W10sYT0hMSx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBvPW5bdV0scz1vLnRyaW0oKTtpZighKCFhJiYhcykpe2lmKGE9ITAscy5pbmRleE9mKCJcdTIzRkEiKT09PTAmJnMubGVuZ3RoPjIpe2kucHVzaChzLnNsaWNlKDEpLnRyaW0oKSk7Y29udGludWV9aWYocy5pbmRleE9mKCJcdTI1Q0YiKT09PTApe2lmKHM9cy5zbGljZSgxKS50cmltKCksIXMpY29udGludWU7bz1zfWkucHVzaChvKX19Zm9yKDtpLmxlbmd0aD4wJiYhaVtpLmxlbmd0aC0xXS50cmltKCk7KWkucG9wKCk7Zm9yKHZhciBsPVtdLGQ9e30sZj0wO2Y8aS5sZW5ndGg7ZisrKXt2YXIgYz1pW2ZdLnJlcGxhY2UoL1xzKy9nLCIiKTtjLmxlbmd0aD41JiZkW2NdfHwoYy5sZW5ndGg+NSYmKGRbY109ITApLGwucHVzaChpW2ZdKSl9cmV0dXJuIGwuam9pbih0KX1mdW5jdGlvbiBIbChlKXt2YXIgdD1gCmAsbj1lLnNwbGl0KHQpLGk9W10sYT0wO2Z1bmN0aW9uIHUoZyl7dmFyIHk9Zy50cmltKCk7cmV0dXJuIHkuY2hhckF0KDApPT09InwiJiYoeT15LnNsaWNlKDEpKSx5LmNoYXJBdCh5Lmxlbmd0aC0xKT09PSJ8IiYmKHk9eS5zbGljZSgwLC0xKSkseS5zcGxpdCgifCIpfWZ1bmN0aW9uIG8oZyl7cmV0dXJuIGc/JyBzdHlsZT0idGV4dC1hbGlnbjonK2crJyInOiIifWZ1bmN0aW9uIHMoZyx5LEIpe3ZhciBFPSI8dGhlYWQ+PHRyPiIrZy5tYXAoZnVuY3Rpb24oRCxGKXtyZXR1cm4iPHRoIitvKHlbRl0pKyI+IitELnRyaW0oKSsiPC90aD4ifSkuam9pbigiIikrIjwvdHI+PC90aGVhZD4iLEM9Qi5sZW5ndGg/Ijx0Ym9keT4iK0IubWFwKGZ1bmN0aW9uKEQpe3JldHVybiI8dHI+IitELm1hcChmdW5jdGlvbihGLEwpe3JldHVybiI8dGQiK28oeVtMXSkrIj4iK0YudHJpbSgpKyI8L3RkPiJ9KS5qb2luKCIiKSsiPC90cj4ifSkuam9pbigiIikrIjwvdGJvZHk+IjoiIjtyZXR1cm4nPGRpdiBjbGFzcz0ibWQtdGFibGUtd3JhcCI+PHRhYmxlIGNsYXNzPSJtZC10YWJsZSI+JytFK0MrIjwvdGFibGU+PC9kaXY+In1mb3IoO2E8bi5sZW5ndGg7KXt2YXIgbD1uW2FdO2lmKGwuaW5kZXhPZigifCIpIT09LTEmJmErMTxuLmxlbmd0aCl7dmFyIGQ9blthKzFdLnRyaW0oKTtpZigvXlx8P1xzKjo/LSs6PyhccypcfFxzKjo/LSs6PykrXHMqXHw/JC8udGVzdChkKSl7Zm9yKHZhciBmPXUobCksYz11KGQpLm1hcChmdW5jdGlvbihnKXt2YXIgeT1nLnRyaW0oKSxCPXkuY2hhckF0KDApPT09IjoiLEU9eS5jaGFyQXQoeS5sZW5ndGgtMSk9PT0iOiI7cmV0dXJuIEImJkU/ImNlbnRlciI6RT8icmlnaHQiOkI/ImxlZnQiOiIifSksdj1bXSxoPWErMjtoPG4ubGVuZ3RoOyl7dmFyIG09bltoXS50cmltKCk7aWYoIW18fG0uaW5kZXhPZigifCIpPT09LTEpYnJlYWs7di5wdXNoKHUobltoXSkpLGgrPTF9aS5wdXNoKCIiLHMoZixjLHYpLCIiKSxhPWg7Y29udGludWV9fWkucHVzaChsKSxhKz0xfXJldHVybiBpLmpvaW4odCl9ZnVuY3Rpb24geHUoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9cChlKSxuPSJgIixpPWAKYDtmdW5jdGlvbiBhKE8sUCxfLFEpe2Zvcih2YXIgJD0wOzspe3ZhciBpZT1PLmluZGV4T2YoUCwkKTtpZihpZT09PS0xKWJyZWFrO3ZhciBnZT1PLmluZGV4T2YoUCxpZStQLmxlbmd0aCk7aWYoZ2U9PT0tMSlicmVhazt2YXIgYWU9Ty5zbGljZShpZStQLmxlbmd0aCxnZSk7aWYoIWFlKXskPWdlK1AubGVuZ3RoO2NvbnRpbnVlfXZhciB1ZT1fK2FlK1E7Tz1PLnNsaWNlKDAsaWUpK3VlK08uc2xpY2UoZ2UrUC5sZW5ndGgpLCQ9aWUrdWUubGVuZ3RofXJldHVybiBPfWZ1bmN0aW9uIHUoTyl7cmV0dXJuIE8+PTQ4JiZPPD01N3x8Tz49NjUmJk88PTkwfHxPPj05NyYmTzw9MTIyfHxPPT09OTV9ZnVuY3Rpb24gbyhPLFAsXyl7Zm9yKHZhciBRPTA7UTxPLmxlbmd0aDspe3ZhciAkPU8uaW5kZXhPZigiXyIsUSk7aWYoJD09PS0xKWJyZWFrO3ZhciBpZT0kPjA/Ty5jaGFyQ29kZUF0KCQtMSk6MDtpZih1KGllKSl7UT0kKzE7Y29udGludWV9Zm9yKHZhciBnZT0kKzEsYWU9LTE7Z2U8Ty5sZW5ndGg7KXt2YXIgdWU9Ty5pbmRleE9mKCJfIixnZSk7aWYodWU9PT0tMSlicmVhazt2YXIgemU9dWUrMSxUZT16ZTxPLmxlbmd0aD9PLmNoYXJDb2RlQXQoemUpOjA7aWYoIXUoVGUpKXthZT11ZTticmVha31nZT11ZSsxfWlmKGFlPT09LTEpYnJlYWs7dmFyIEZlPU8uc2xpY2UoJCsxLGFlKTtpZighRmUpe1E9YWUrMTtjb250aW51ZX12YXIgTGU9UCtGZStfO089Ty5zbGljZSgwLCQpK0xlK08uc2xpY2UoYWUrMSksUT0kK0xlLmxlbmd0aH1yZXR1cm4gT31mdW5jdGlvbiBzKE8sUCxfLFEpe3JldHVybiBPLnNwbGl0KGkpLm1hcChmdW5jdGlvbigkKXtyZXR1cm4gJC5pbmRleE9mKFApIT09MD8kOl8rJC5zbGljZShQLmxlbmd0aCkrUX0pLmpvaW4oaSl9ZnVuY3Rpb24gbChPKXtyZXR1cm4gTy5zcGxpdChpKS5tYXAoZnVuY3Rpb24oUCl7dmFyIF89UC5pbmRleE9mKCIuICIpO2lmKF88PTApcmV0dXJuIFA7Zm9yKHZhciBRPTA7UTxfO1ErPTEpe3ZhciAkPVAuY2hhckNvZGVBdChRKTtpZigkPDQ4fHwkPjU3KXJldHVybiBQfXJldHVybiI8bGk+IitQLnNsaWNlKF8rMikrIjwvbGk+In0pLmpvaW4oaSl9ZnVuY3Rpb24gZChPKXtyZXR1cm4gTy5zcGxpdChpK2kpLm1hcChmdW5jdGlvbihQKXt2YXIgXz1QLnRyaW0oKTtyZXR1cm4gXz9fLmluZGV4T2YoIjxkaXYiKT09PTB8fF8uaW5kZXhPZigiPGgxIik9PT0wfHxfLmluZGV4T2YoIjxoMiIpPT09MHx8Xy5pbmRleE9mKCI8aDMiKT09PTB8fF8uaW5kZXhPZigiPGg0Iik9PT0wfHxfLmluZGV4T2YoIjxoNSIpPT09MHx8Xy5pbmRleE9mKCI8aDYiKT09PTB8fF8uaW5kZXhPZigiPHVsIik9PT0wfHxfLmluZGV4T2YoIjxvbCIpPT09MHx8Xy5pbmRleE9mKCI8bGkiKT09PTB8fF8uaW5kZXhPZigiPGJsb2NrcXVvdGUiKT09PTB8fF8uaW5kZXhPZigiPHByZSIpPT09MD9fOiI8cD4iK18uc3BsaXQoaSkuam9pbigiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oIiIpfWZvcih2YXIgZj0wOzspe3ZhciBjPXQuaW5kZXhPZihuK24rbixmKTtpZihjPT09LTEpYnJlYWs7dmFyIHY9dC5pbmRleE9mKG4rbituLGMrMyk7aWYodj09PS0xKWJyZWFrO3ZhciBoPXQuc2xpY2UoYyszLHYpLG09aC5pbmRleE9mKGkpLGc9IiIseT1oO2lmKG0hPT0tMSYmbTwzMCl7Zm9yKHZhciBCPWguc2xpY2UoMCxtKS50cmltKCksRT1CLmxlbmd0aD4wLEM9MDtDPEIubGVuZ3RoO0MrPTEpe3ZhciBEPUIuY2hhckNvZGVBdChDKSxGPUQ+PTQ4JiZEPD01NyxMPUQ+PTY1JiZEPD05MCxTPUQ+PTk3JiZEPD0xMjI7aWYoIUYmJiFMJiYhUyl7RT0hMTticmVha319RSYmKGc9Qix5PWguc2xpY2UobSsxKSl9dmFyIE49Tm0oeS50cmltKCksZyksSj1OLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpLFc9JzxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPjxkaXYgY2xhc3M9ImNvZGUtYmxvY2staGVhZGVyIj48c3BhbiBjbGFzcz0iY29kZS1sYW5nIj4nKyhnfHwiY29kZSIpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iY29kZS1jb3B5Ij5Db3B5PC9idXR0b24+PC9kaXY+PHByZT48Y29kZT4nK0orIjwvY29kZT48L3ByZT48L2Rpdj4iO3Q9dC5zbGljZSgwLGMpK1crdC5zbGljZSh2KzMpLGY9YytXLmxlbmd0aH1mb3IoZj0wOzspe3ZhciBrPXQuaW5kZXhPZihuLGYpO2lmKGs9PT0tMSlicmVhazt2YXIgST10LmluZGV4T2YobixrKzEpO2lmKEk9PT0tMSlicmVhaztpZihJPT09aysxKXtmPUkrMTtjb250aW51ZX12YXIgVD10LnNsaWNlKGsrMSxJKSxZPVQucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7Iiksaj0nPGNvZGUgY2xhc3M9ImNvZGUtaW5saW5lIj4nK1krIjwvY29kZT4iO3Q9dC5zbGljZSgwLGspK2ordC5zbGljZShJKzEpLGY9aytqLmxlbmd0aH10PWEodCwiKioiLCI8c3Ryb25nPiIsIjwvc3Ryb25nPiIpLHQ9YSh0LCIqIiwiPGVtPiIsIjwvZW0+IiksdD1vKHQsIjxlbT4iLCI8L2VtPiIpLHQ9cyh0LCIjIyMgIiwiPGgzPiIsIjwvaDM+IiksdD1zKHQsIiMjICIsIjxoMj4iLCI8L2gyPiIpLHQ9cyh0LCIjICIsIjxoMT4iLCI8L2gxPiIpLHQ9cyh0LCImZ3Q7ICIsIjxibG9ja3F1b3RlPiIsIjwvYmxvY2txdW90ZT4iKSx0PXModCwiLSAiLCI8bGk+IiwiPC9saT4iKSx0PXModCwiKiAiLCI8bGk+IiwiPC9saT4iKSx0PWwodCksdD1IbCh0KTt2YXIgRz10LnNwbGl0KGkpLE09W10sdGU9W107ZnVuY3Rpb24gbmUoKXt0ZS5sZW5ndGgmJihNLnB1c2goIjx1bD4iK3RlLmpvaW4oIiIpKyI8L3VsPiIpLHRlPVtdKX1yZXR1cm4gRy5mb3JFYWNoKGZ1bmN0aW9uKE8pe2lmKE8uaW5kZXhPZigiPGxpPiIpPT09MCYmTy5sYXN0SW5kZXhPZigiPC9saT4iKT09PU8ubGVuZ3RoLTUpe3RlLnB1c2goTyk7cmV0dXJufW5lKCksTS5wdXNoKE8pfSksbmUoKSx0PWQoTS5qb2luKGkpKSwnPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+Jyt0KyI8L2Rpdj4ifWZ1bmN0aW9uIE5tKGUsdCl7cmV0dXJuIGU9ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IiksZX1mdW5jdGlvbiBscihlKXt2YXIgdD1TdHJpbmcoZXx8IiIpLnRyaW0oKTtyZXR1cm4gdC5sZW5ndGg8PTI0P3R8fCJcdTY3MkFcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQiOnQuc2xpY2UoMCwyMSkrIi4uLiJ9ZnVuY3Rpb24gU3UoZSl7cmV0dXJuIFN0cmluZyhlfHwiIikucmVwbGFjZSgvXHJcclxuL2csYFxyCmApLnJlcGxhY2UoL1x1MDAwMC9nLCIiKX1mdW5jdGlvbiBqbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWhpbnQiKTtlJiZlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWh0dHAtbGluayIpO3QmJih0LmhyZWY9Imh0dHA6Ly8iK2xvY2F0aW9uLmhvc3QrbG9jYXRpb24ucGF0aG5hbWUsdC5zdHlsZS5kaXNwbGF5PWxvY2F0aW9uLnByb3RvY29sPT09Imh0dHBzOiI/IiI6Im5vbmUiKX1mdW5jdGlvbiBSbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWhpbnQiKTtlJiZlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfWZ1bmN0aW9uIEl1KCl7aWYoIXIubG9naW5QZW5kaW5nKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1lcnJvciIpOyFlfHwhdHx8IW58fChUaShuKSxSbSgpLGUuZGF0YXNldC5lcnJvcj0iZmFsc2UiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJmYWxzZSIpLHIubG9naW5QZW5kaW5nPSEwLHQuZGlzYWJsZWQ9ITAsdC50ZXh0Q29udGVudD0iXHU3NjdCXHU1RjU1XHU0RTJELi4uIixmZXRjaCgiL2FwaS9sb2dpbiIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtwYXNzd29yZDplLnZhbHVlfSksY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuc3RhdHVzPT09NDI5PyhPZShuLCJcdTc2N0JcdTVGNTVcdTVDMURcdThCRDVcdTZCMjFcdTY1NzBcdThGQzdcdTU5MUFcdUZGMENcdThCRjdcdTdBMERcdTU0MEVcdTUxOERcdThCRDVcdTMwMDIiKSxQcm9taXNlLnJlamVjdCgiaGFuZGxlZCIpKTppLm9rP2ZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTooZS5kYXRhc2V0LmVycm9yPSJ0cnVlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwidHJ1ZSIpLE9lKG4sIlx1NUJDNlx1NzgwMVx1OTUxOVx1OEJFRlx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJoYW5kbGVkIikpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5vaz9pLmpzb24oKToobG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij9qbSgpOk9lKG4sIlx1NzY3Qlx1NUY1NVx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJoYW5kbGVkIikpfSkudGhlbihmdW5jdGlvbihpKXtyLmNvbmZpZz1pO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMtZG90IiksdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzLXRleHQiKTtyZXR1cm4gYSYmYS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx1JiYodS50ZXh0Q29udGVudD0iXHU1REYyXHU3NjdCXHU1RjU1IiksX3QoKX0pLnRoZW4oZnVuY3Rpb24oKXtucygpLFp0KCl9KS5jYXRjaChmdW5jdGlvbihpKXtpIT09ImhhbmRsZWQiJiYoY29uc29sZS5lcnJvcigiW3dhbmRdIExvZ2luIGVycm9yOiIsaSksT2UobiwiXHU3NjdCXHU1RjU1XHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIikpfSkuZmluYWxseShmdW5jdGlvbigpe3IubG9naW5QZW5kaW5nPSExLHQuZGlzYWJsZWQ9ITEsdC50ZXh0Q29udGVudD0iXHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwIn0pKX19ZnVuY3Rpb24gVHUoKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5zd2l0Y2hTZXJ2ZXI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gX2woKXtpZihUdSgpKXRyeXtXYW5kTmF0aXZlLnN3aXRjaFNlcnZlcigpfWNhdGNoe319ZnVuY3Rpb24gV20oKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5iYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiI/ITA6dHlwZW9mIHdpbmRvdy5fX3dhbmRCYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gem0oKXt0cnl7aWYodHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5iYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiIpe1dhbmROYXRpdmUuYmFja1RvTmF0aXZlKCk7cmV0dXJufXR5cGVvZiB3aW5kb3cuX193YW5kQmFja1RvTmF0aXZlPT0iZnVuY3Rpb24iJiZ3aW5kb3cuX193YW5kQmFja1RvTmF0aXZlKCl9Y2F0Y2h7fX1mdW5jdGlvbiBObCgpe2ZldGNoKCIvYXBpL2xvZ291dCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLmNhdGNoKGZ1bmN0aW9uKCl7fSksc3MoKSxLbighMSksbHUoKSxNcigpLHIuY29uZmlnPW51bGwsci5zZWxlY3RlZElkPW51bGwsRWUoKSxyLnNlc3Npb25zPVtdLHIuY2xhdWRlSGlzdG9yeT1bXSxyLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITEsci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWQ9ITEsci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzPXt9LHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLFp0KCl9ZnVuY3Rpb24gX3QoKXtyZXR1cm4gbm4oKX1mdW5jdGlvbiBMdShlKXtyZXR1cm4gZT09PSJmdWxsLWFjY2VzcyI/Ilx1NTE2OFx1Njc0M1x1OTY1MCI6ZT09PSJkZWZhdWx0Ij8iXHU5RUQ4XHU4QkE0IjplPT09Im5hdGl2ZSI/Ilx1NTM5Rlx1NzUxRiI6ZT09PSJhdXRvLWVkaXQiPyJcdTgxRUFcdTUyQThcdTdGMTZcdThGOTEiOmU9PT0ibWFuYWdlZCI/Ilx1NjI1OFx1N0JBMSI6ZX1mdW5jdGlvbiAkZSgpe3JldHVybiByLnNlc3Npb25Ub29sfHxyLnByZWZlcnJlZENvbW1hbmR8fCJjbGF1ZGUifWZ1bmN0aW9uIFZtKCl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIGUmJmUucHJvdmlkZXJ8fHIucHJlZmVycmVkQ29tbWFuZHx8ImNsYXVkZSJ9ZnVuY3Rpb24gamwoZSx0KXtyZXR1cm4gdD8iXHU5NTJFXHU3NkQ4XHU4RjkzXHU1MTY1XHU1QzA2XHU1M0QxXHU5MDAxXHU1MjMwXHU3RUM4XHU3QUVGIjplJiYoZS5zdGF0dXM9PT0iZXhpdGVkInx8ZS5zdGF0dXM9PT0iZmFpbGVkInx8ZS5zdGF0dXM9PT0ic3RvcHBlZCIpP2F1KGUpPyJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkZcdTRFRTVcdTdFRTdcdTdFRURcdTRGMUFcdThCREQiOiJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiOnNlKGUpJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQ/Ilx1NTZERVx1NTkwRFx1NEUyRFx1RkYwQ1x1NTNFRlx1N0VFN1x1N0VFRFx1OEY5M1x1NTE2NSI6Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiJ9ZnVuY3Rpb24gUmwoZSx0KXtyZXR1cm4gZT09PSJjb2RleCI/IkNvZGV4IFx1NjUyRlx1NjMwMSBQVFkgXHU3RUM4XHU3QUVGXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2XHVGRjA4SlNPTkxcdUZGMDlcdTRFMjRcdTc5Q0RcdTRGMUFcdThCRERcdUZGMENcdTdFRDNcdTY3ODRcdTUzMTZcdTZBMjFcdTVGMEZcdTYzMDkgZnVsbC1hY2Nlc3MgXHU1NDJGXHU1MkE4XHUzMDAyIjplPT09Im9wZW5jb2RlIj90PT09ImZ1bGwtYWNjZXNzInx8dD09PSJtYW5hZ2VkInx8dD09PSJhdXRvLWVkaXQiPyJPcGVuQ29kZSBcdTVDMDZcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTY3MkFcdTY2M0VcdTVGMEZcdTYyRDJcdTdFRERcdTc2ODRcdTY3NDNcdTk2NTBcdUZGMUJcdTY1MkZcdTYzMDEgVFVJIFx1NEUwRSBKU09OIFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1MzAwMiI6Ik9wZW5Db2RlIFx1NEY3Rlx1NzUyOFx1ODFFQVx1OEVBQlx1Njc0M1x1OTY1MFx1OTE0RFx1N0Y2RVx1RkYxQlx1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NEYxQVx1ODFFQVx1NTJBOFx1NjJEMlx1N0VERFx1NjcyQVx1NjI3OVx1NTFDNlx1NzY4NFx1Njc0M1x1OTY1MFx1OEJGN1x1NkM0Mlx1MzAwMiI6dD09PSJmdWxsLWFjY2VzcyI/Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1OEJGN1x1NkM0Mlx1NEUwRVx1OUFEOFx1Njc0M1x1OTY1MFx1NjRDRFx1NEY1Q1x1RkYwQ1x1OTAwMlx1NTQwOFx1NEY2MFx1Nzg2RVx1OEJBNFx1NzNBRlx1NTg4M1x1NUI4OVx1NTE2OFx1NTQwRVx1NzY4NFx1OEZERVx1N0VFRFx1NEZFRVx1NjUzOVx1MzAwMiI6dD09PSJhdXRvLWVkaXQiPyJcdTRGRERcdTc1NTlcdTRFQTRcdTRFOTJcdTVGMEZcdTRGMUFcdThCRERcdUZGMENcdTU0MENcdTY1RjZcdTY2RjRcdTUwNEZcdTU0MTFcdTc2RjRcdTYzQTVcdTdGMTZcdThGOTFcdTRFRTNcdTc4MDFcdTMwMDIiOnQ9PT0ibmF0aXZlIj8iXHU4QzAzXHU3NTI4IENsYXVkZSBcdTUzOUZcdTc1MUYgQVBJIFx1OEY5M1x1NTFGQVx1RkYwQ1x1OTAwMlx1NTQwOFx1NUZFQlx1OTAxRlx1OTVFRVx1N0I1NFx1NjIxNlx1NEUwMFx1NkIyMVx1NjAyN1x1NzUxRlx1NjIxMFx1MzAwMiI6dD09PSJtYW5hZ2VkIj8iQUkgXHU4MUVBXHU1MkE4XHU1QjhDXHU2MjEwXHU2MjQwXHU2NzA5XHU1REU1XHU0RjVDXHVGRjBDXHU2NUUwXHU5NzAwXHU0RTJEXHU5MDE0XHU3ODZFXHU4QkE0XHVGRjBDXHU5MDAyXHU1NDA4XHU2NzA5XHU2NjBFXHU3ODZFXHU3NkVFXHU2ODA3XHU3Njg0XHU0RUZCXHU1MkExXHUzMDAyIjoiXHU0RkREXHU3NTU5XHU2ODA3XHU1MUM2XHU0RUE0XHU0RTkyXHU2RDQxXHU3QTBCXHVGRjBDXHU5MDAyXHU1NDA4XHU2MjRCXHU1MkE4XHU3ODZFXHU4QkE0XHU2QkNGXHU0RTAwXHU2QjY1XHUzMDAyIn1mdW5jdGlvbiBNdShlKXtyZXR1cm4gZT09PSJjb2RleCI/WyJmdWxsLWFjY2VzcyJdOmU9PT0ib3BlbmNvZGUiP1siZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwibWFuYWdlZCJdOlsiZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwiYXV0by1lZGl0IiwibmF0aXZlIiwibWFuYWdlZCJdfWZ1bmN0aW9uIGR0KGUsdCl7dmFyIG49TXUoZSk7aWYobi5pbmRleE9mKHQpIT09LTEpcmV0dXJuIHQ7dmFyIGk9ci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRNb2RlP3IuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0IjtyZXR1cm4gbi5pbmRleE9mKGkpIT09LTE/aTpuWzBdfWZ1bmN0aW9uIEtoKGUsdCl7cmV0dXJuIE11KGUpLm1hcChmdW5jdGlvbihuKXt2YXIgaT1XbChuKTtyZXR1cm4nPG9wdGlvbiB2YWx1ZT0iJytwKG4pKyciJysobj09PXQ/IiBzZWxlY3RlZCI6IiIpKycgdGl0bGU9IicraSsnIj4nK3AoTHUobikpKyI8L29wdGlvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gV2woZSl7dmFyIHQ9e2RlZmF1bHQ6Ilx1NjgwN1x1NTFDNlx1NkEyMVx1NUYwRiAtIFx1OTcwMFx1ODk4MVx1Nzg2RVx1OEJBNFx1NjU4N1x1NEVGNlx1NEZFRVx1NjUzOSIsImZ1bGwtYWNjZXNzIjoiXHU1QjhDXHU1MTY4XHU4QkJGXHU5NUVFIC0gXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU2NzQzXHU5NjUwXHU0RTBFXHU2NENEXHU0RjVDIiwiYXV0by1lZGl0IjoiXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIC0gXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU2NTg3XHU0RUY2XHU0RkVFXHU2NTM5IixuYXRpdmU6Ilx1NTM5Rlx1NzUxRlx1NkEyMVx1NUYwRiAtIFx1OEZENFx1NTZERVx1N0VEM1x1Njc4NFx1NTMxNlx1OEY5M1x1NTFGQSIsbWFuYWdlZDoiXHU2MjU4XHU3QkExXHU2QTIxXHU1RjBGIC0gQUkgXHU4MUVBXHU1MkE4XHU1QjhDXHU2MjEwXHU2MjQwXHU2NzA5XHU1REU1XHU0RjVDIn07cmV0dXJuIHRbZV18fCIifWZ1bmN0aW9uIFVtKGUpe3ZhciB0PWUmJmUucHJvdmlkZXI/ZS5wcm92aWRlcjoiY2xhdWRlIjtyZXR1cm4oc2UoZSk/Ilx1N0VEM1x1Njc4NFx1NTMxNiI6Ilx1N0VDOFx1N0FFRiIpKyIgXHhCNyAiK3R9ZnVuY3Rpb24gS20oZSl7cmV0dXJuIHNlKGUpPyJcdTdFRDNcdTY3ODRcdTUzMTYgXHhCNyBcdTU3NTdcdTdFQTdcdThCQjBcdTVGNTUiOmUmJmUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTdFQzhcdTdBRUYgXHhCNyBDb2RleCBQVFlcdUZGMDhjaGF0IFx1NEUzQVx1ODlFM1x1Njc5MFx1ODlDNlx1NTZGRVx1RkYwOSI6Ilx1N0VDOFx1N0FFRiBceEI3IFBUWSBcdTRGMUFcdThCREQifWZ1bmN0aW9uIHpsKGUpe3JldHVybiBlP3NlKGUpfHxlLnByb3ZpZGVyPT09ImNvZGV4IjohMX1mdW5jdGlvbiBWbChlLHQpe2lmKCFlfHwhZS5pc19lcnJvcnx8IXR8fHQuaXNfZXJyb3IpcmV0dXJuITE7dmFyIG49Qm4oZS5jb250ZW50KS50b0xvd2VyQ2FzZSgpLGk9Qm4odC5jb250ZW50KS50b0xvd2VyQ2FzZSgpO3JldHVybiBuP24uaW5kZXhPZigiaW52YWxpZCBwYWdlcyBwYXJhbWV0ZXIiKSE9PS0xJiZpLmxlbmd0aD4wOiExfWZ1bmN0aW9uIHNlKGUpe3JldHVybiEhZSYmKGUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUucnVubmVyPT09ImNsYXVkZS1jbGktcHJpbnQiKX1mdW5jdGlvbiBRaSgpe3IuY2hhdE1vZGU9ZHQoImNsYXVkZSIsci5jaGF0TW9kZSk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGUtaGludCIpO2UmJihlLnRleHRDb250ZW50PVdsKHIuY2hhdE1vZGUpKSx0bigpfXZhciBVbD1PYmplY3QuY3JlYXRlKG51bGwpLCRpPU9iamVjdC5jcmVhdGUobnVsbCksWGk9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBLbChlKXtyZXR1cm4gZSYmWGlbZV18fG51bGx9ZnVuY3Rpb24gWmkoZSx0LG4pe2lmKGUpe3ZhciBpPVhpW2VdfHwoWGlbZV09e30pO2lbdF09bn19ZnVuY3Rpb24gSmwoZSl7ZSYmZGVsZXRlIFhpW2VdfWZ1bmN0aW9uIE91KGUsdCl7dmFyIG49KCRpW2VdfHwwKSsxOyRpW2VdPW47dmFyIGk9VWxbZV18fFByb21pc2UucmVzb2x2ZSgpLGE9aS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4odCk7cmV0dXJuIFVsW2VdPWEuY2F0Y2goZnVuY3Rpb24oKXt9KSxhLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJue2RhdGE6dSxsYXRlc3Q6JGlbZV09PT1ufX0sZnVuY3Rpb24odSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHtlcnJvcjp1LGxhdGVzdDokaVtlXT09PW59KX0pfWZ1bmN0aW9uIEpyKGUsdCl7SmwoZSksUHJvbWlzZS5yZXNvbHZlKG5uKCkpLmNhdGNoKGZ1bmN0aW9uKCl7fSkuZmluYWxseShmdW5jdGlvbigpe3RuKCl9KSx4KHQsImVycm9yIil9ZnVuY3Rpb24gUHUoZSx0KXtpZighdC5sYXRlc3QpcmV0dXJuITE7dmFyIG49dC5kYXRhO3JldHVybiBuJiZuLmVycm9yPyhKcihlLG4uZXJyb3IpLCExKTohbnx8IW4uaWQ/KEpyKGUsIlx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RVx1NjZGNFx1NjVCMFx1NTkzMVx1OEQyNSIpLCExKTooZWUobiksSmwoZSksdG4oKSwhMCl9ZnVuY3Rpb24gSm0oZSx0KXt0PXR8fHt9O3ZhciBuPXQua2luZD09PSJjb21wYWN0Inx8dC5raW5kPT09InBvcG92ZXIiP3Qua2luZDoiZHJvcGRvd24iLGk9JGUoKSxhPXIuY2hhdE1vZGV8fCJkZWZhdWx0Iix1PSRyKGUpfHwiIixvPWVhKHUsZSkscz1yYShlKTtmdW5jdGlvbiBsKGQsZixjLHYpe3ZhciBoPW49PT0iY29tcGFjdCI/IiI6JzxzcGFuIGNsYXNzPSJjaGF0LW1vZGUtdHJpby10YWciPicrcChmKSsiPC9zcGFuPiI7cmV0dXJuJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LXBpbGwgY2hhdC1tb2RlLXRyaW8tcGlsbCIgZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0iJytkKyciIHRpdGxlPSInK3AoZikrJyI+JytoKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1sYWJlbCI+JytwKGMpKyc8L3NwYW4+PHNlbGVjdCBjbGFzcz0iY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0IiBkYXRhLW1vZGUtY29udHJvbD0iJytkKyciIGFyaWEtbGFiZWw9IicrcChmKSsnIj4nK3YrIjwvc2VsZWN0Pjwvc3Bhbj4ifXJldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1vZGUtdHJpbyBjaGF0LW1vZGUtdHJpby0nK24rJyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9Ilx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RSI+JytsKCJtb2RlIiwiXHU2QTIxXHU1RjBGIixhLHRhKGksYSkpKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceEI3PC9zcGFuPicrbCgibW9kZWwiLCJcdTZBMjFcdTU3OEIiLG8sJGwodSxlKSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LXNlcCIgYXJpYS1oaWRkZW49InRydWUiPlx4Qjc8L3NwYW4+JytsKCJ0aGlua2luZyIsIlx1NjAxRFx1ODAwMyIsSm4ocyxlKSxxdShzLGUpKSsiPC9kaXY+In1mdW5jdGlvbiBKbihlLHQpe3ZhciBuPSRtKGUsdCk7cmV0dXJuIG49PT0ibG93Ij8iXHU0RjRFIjpuPT09Im1lZGl1bSI/Ilx1NEUyRCI6bj09PSJoaWdoIj8iXHU5QUQ4IjpuPT09InhoaWdoIj8iXHU4RDg1XHU5QUQ4IjpuPT09Im1heCI/Ilx1Njc4MVx1OUFEOCI6bj09PSJ1bHRyYSI/Ilx1Njc4MVx1OTY1MCI6Ilx1ODFFQVx1NTJBOCJ9ZnVuY3Rpb24gR3IoZSx0KXt2YXIgbj1lfHwiIixpPV91KHQpO2lmKCFufHxuPT09ImRlZmF1bHQiKXtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylpZihpW2FdLmlkPT09ImRlZmF1bHQiKXJldHVybiBpW2FdLmxhYmVsfHxpW2FdLmlkO3JldHVybiJcdTlFRDhcdThCQTQifWZvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKWlmKGlbdV0uaWQ9PT1uKXJldHVybiBpW3VdLmxhYmVsfHxpW3VdLmlkO3JldHVybiBufWZ1bmN0aW9uIGVhKGUsdCl7dmFyIG49R3IoZSx0KTtpZighbnx8bj09PSJcdThEREZcdTk2OEZcdTY3MERcdTUyQTFcdTdBRUZcdTlFRDhcdThCQTQiKXJldHVybiJcdTlFRDhcdThCQTQiO3ZhciBpPW4uc2VhcmNoKC9b77yIKF0vKTtpPjAmJihuPW4uc2xpY2UoMCxpKS50cmltKCkpO3ZhciBhPW4ubGFzdEluZGV4T2YoIi8iKTthPj0wJiZhPG4ubGVuZ3RoLTEmJihuPW4uc2xpY2UoYSsxKS50cmltKCkpO3ZhciB1PW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gdS5pbmRleE9mKCJvcHVzIikhPT0tMT8iT3B1cyI6dS5pbmRleE9mKCJzb25uZXQiKSE9PS0xPyJTb25uZXQiOnUuaW5kZXhPZigiaGFpa3UiKSE9PS0xPyJIYWlrdSI6dS5pbmRleE9mKCJncHQtNS41IikhPT0tMT8iR1BULTUuNSI6dS5pbmRleE9mKCJncHQtNSIpIT09LTE/IkdQVC01Ijp1LmluZGV4T2YoImdwdC00IikhPT0tMT8iR1BULTQiOm4ubGVuZ3RoPjEyP24uc2xpY2UoMCwxMCkrIlx1MjAyNiI6bn1mdW5jdGlvbiBxdShlLHQpe3ZhciBuPVpyKHQpLGk9bi5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZX0pP2U6Im9mZiI7cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKGEpe3ZhciB1PWEuaWQ9PT0ib2ZmIj8iXHU4MUVBXHU1MkE4XHVGRjA4XHU2QTIxXHU1NzhCXHU5RUQ4XHU4QkE0XHVGRjA5IjpKbihhLmlkLHQpO3JldHVybic8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09aT8iIHNlbGVjdGVkIjoiIikrIj4iK3AodSkrIjwvb3B0aW9uPiJ9KS5qb2luKCIiKX1mdW5jdGlvbiBHbChlLHQsbil7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2w9InRoaW5raW5nIl0nKTtpJiYoaS5pbm5lckhUTUw9cXUodCxuKSxpLnZhbHVlPVpyKG4pLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT10fSk/dDoib2ZmIil9ZnVuY3Rpb24gWWwoZSl7dmFyIHQ9JGUoKSxuPXIuY2hhdE1vZGV8fCJkZWZhdWx0IixpPSRyKGUpfHwiIixhPXJhKGUpLHU9THUobiksbz1lYShpLGUpLHM9Sm4oYSxlKSxsPSJcdTZBMjFcdTVGMEYgIit1KyIgXHhCNyBcdTZBMjFcdTU3OEIgIitvKyIgXHhCNyBcdTYwMURcdTgwMDMgIitzO3JldHVybic8ZGl2IGNsYXNzPSJjb21wb3Nlci1jb25maWctY29udHJvbHMiIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJcdTRGMUFcdThCRERcdThCQkVcdTdGNkUiIHRpdGxlPSInK3AobCkrJyI+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jaGlwIGNvbXBvc2VyLWNvbmZpZy1jaGlwLW1vZGUiIGRhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGUiIHRpdGxlPSJcdTZBMjFcdTVGMEZcdUZGMUEnK3AodSkrJyI+JytWKCJzaGllbGQiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK3AodSkrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJtb2RlIiBhcmlhLWxhYmVsPSJcdTZBMjFcdTVGMEYiPicrdGEodCxuKSsnPC9zZWxlY3Q+PC9zcGFuPjxzcGFuIGNsYXNzPSJjb21wb3Nlci1jb25maWctY2hpcCBjb21wb3Nlci1jb25maWctbW9kZWwiIGRhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGVsIiB0aXRsZT0iXHU2QTIxXHU1NzhCXHVGRjFBJytwKG8pKyciPicrVigiY3B1Iix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjgsY2xzOiJjb21wb3Nlci1jb25maWctaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1sYWJlbCI+JytwKG8pKyc8L3NwYW4+PHNlbGVjdCBjbGFzcz0iY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0IiBkYXRhLW1vZGUtY29udHJvbD0ibW9kZWwiIGFyaWEtbGFiZWw9Ilx1NkEyMVx1NTc4QiI+JytRbChpLGUpKyc8L3NlbGVjdD48L3NwYW4+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jaGlwIGNvbXBvc2VyLWNvbmZpZy10aGlua2luZyIgZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0idGhpbmtpbmciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiB0aXRsZT0iXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2XHVGRjFBJytwKHMpKyciPicrVigiYnJhaW4iLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK3AocykrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJ0aGlua2luZyIgYXJpYS1sYWJlbD0iXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2Ij4nK3F1KGEsZSkrIjwvc2VsZWN0Pjwvc3Bhbj48L2Rpdj4ifWZ1bmN0aW9uIHRuKCl7dmFyIGU9WGUoKSx0PSRlKCksbj1yLmNoYXRNb2RlfHwiZGVmYXVsdCIsaT0kcihlKXx8IiIsYT1lYShpLGUpLHU9cmEoZSksbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tb2RlLXRyaW8iKTtvLmZvckVhY2goZnVuY3Rpb24ocyl7ZnVuY3Rpb24gbChkLGYsYyx2KXt2YXIgaD1zLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSInK2QrJyJdJyk7aWYoaCl7dmFyIG09aC5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItdGV4dC1sYWJlbCIpO2lmKG0mJihtLnRleHRDb250ZW50PXZ8fGYpLGQ9PT0idGhpbmtpbmciKXtHbChoLGYsZSk7cmV0dXJufXZhciBnPWgucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sPSInK2QrJyJdJyk7ZyYmKGMmJihnLmlubmVySFRNTD1jKSxnLnZhbHVlIT09ZiYmKGcudmFsdWU9ZikpfX1sKCJtb2RlIixuLHRhKHQsbikpLGwoIm1vZGVsIixpLCRsKGksZSksYSksbCgidGhpbmtpbmciLHUsIiIsSm4odSxlKSl9KSxHbShlLG4sJHIoZSl8fCIiLHUpfWZ1bmN0aW9uIEdtKGUsdCxuLGkpe3ZhciBhPSRlKCksdT1MdSh0KSxvPWVhKG4sZSkscz1KbihpLGUpLGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNvbXBvc2VyLWNvbmZpZy1jb250cm9scyIpO2wuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgZj0iXHU2QTIxXHU1RjBGICIrdSsiIFx4QjcgXHU2QTIxXHU1NzhCICIrbysiIFx4QjcgXHU2MDFEXHU4MDAzICIrcztkLnNldEF0dHJpYnV0ZSgidGl0bGUiLGYpO2Z1bmN0aW9uIGMoRSxDLEQpe3ZhciBGPUUucXVlcnlTZWxlY3RvcigiW2RhdGEtbW9kZS1jb250cm9sXSIpO0YmJihGLmlubmVySFRNTD1ELEYudmFsdWU9Qyl9dmFyIHY9ZC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0ibW9kZSJdJyk7aWYodil7dmFyIGg9di5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7aCYmKGgudGV4dENvbnRlbnQ9dSksdi5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QTIxXHU1RjBGXHVGRjFBIit1KSxjKHYsdCx0YShhLHQpKX12YXIgbT1kLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSJtb2RlbCJdJyk7aWYobSl7dmFyIGc9bS5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7ZyYmKGcudGV4dENvbnRlbnQ9byksbS5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QTIxXHU1NzhCXHVGRjFBIitvKSxjKG0sbixRbChuLGUpKX12YXIgeT1kLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSJ0aGlua2luZyJdJyk7aWYoeSl7dmFyIEI9eS5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7QiYmKEIudGV4dENvbnRlbnQ9cykseS5zZXRBdHRyaWJ1dGUoImRhdGEtdGhpbmtpbmciLGkpLHkuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NjAxRFx1ODAwM1x1NkRGMVx1NUVBNlx1RkYxQSIrcyksR2woeSxpLGUpfX0pfWZ1bmN0aW9uIHRhKGUsdCl7cmV0dXJuIE11KGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4nPG9wdGlvbiB2YWx1ZT0iJytwKG4pKyciJysobj09PXQ/IiBzZWxlY3RlZCI6IiIpKyI+IitwKG4pKyI8L29wdGlvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gY3QoZSl7cmV0dXJuIGU9PT0iY29kZXgifHxlPT09Im9wZW5jb2RlIj9lOiJjbGF1ZGUifWZ1bmN0aW9uIFlyKGUpe3JldHVybiBjdChlJiZlLnByb3ZpZGVyfHxyLnNlc3Npb25Ub29sfHwiY2xhdWRlIil9ZnVuY3Rpb24gSHUoKXt2YXIgZT1yLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdE1vZGVscyYmdHlwZW9mIHIuY29uZmlnLmRlZmF1bHRNb2RlbHM9PSJvYmplY3QiP3IuY29uZmlnLmRlZmF1bHRNb2RlbHM6e307cmV0dXJue2NsYXVkZTp0eXBlb2YgZS5jbGF1ZGU9PSJzdHJpbmciP2UuY2xhdWRlOnIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiLGNvZGV4OnR5cGVvZiBlLmNvZGV4PT0ic3RyaW5nIj9lLmNvZGV4OnIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0Q29kZXhNb2RlbHx8IiIsb3BlbmNvZGU6dHlwZW9mIGUub3BlbmNvZGU9PSJzdHJpbmciP2Uub3BlbmNvZGU6ci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRPcGVuQ29kZU1vZGVsfHwiIn19ZnVuY3Rpb24gWW0oZSl7dmFyIHQ9SHUoKSxuPWN0KGUpO3JldHVybiBuPT09ImNvZGV4Ij90LmNvZGV4fHwiIjpuPT09Im9wZW5jb2RlIj90Lm9wZW5jb2RlfHwiIjp0LmNsYXVkZXx8IiJ9ZnVuY3Rpb24gUXIoZSl7dmFyIHQ9Y3QoZSksbj1yLmNoYXRNb2RlbHMmJnR5cGVvZiByLmNoYXRNb2RlbHNbdF09PSJzdHJpbmciP3IuY2hhdE1vZGVsc1t0XToiIjtyZXR1cm4hbiYmdD09PSJjbGF1ZGUiJiYobj1yLmNoYXRNb2RlbHx8IiIpLG58fCIifWZ1bmN0aW9uIG5hKGUsdCl7dmFyIG49Y3QoZSksaT0odHx8IiIpLnRyaW0oKTtyLmNoYXRNb2RlbHN8fChyLmNoYXRNb2RlbHM9e2NsYXVkZToiIixjb2RleDoiIixvcGVuY29kZToiIn0pLHIuY2hhdE1vZGVsc1tuXT1pLHIuY2hhdE1vZGVsPWk7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtIituLGkpLGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLWNoYXQtbW9kZWwiKX1jYXRjaHt9fWZ1bmN0aW9uICRyKGUpe3ZhciB0PWUmJmUuaWQ/S2woZS5pZCk6bnVsbDtpZih0JiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwibW9kZWwiKSlyZXR1cm4gdC5tb2RlbHx8IiI7aWYoZSYmZS5zZWxlY3RlZE1vZGVsKXJldHVybiBlLnNlbGVjdGVkTW9kZWw7dmFyIG49WXIoZSksaT1RcihuKTtyZXR1cm4gaXx8WW0obil8fCIifWZ1bmN0aW9uIF91KGUpe3ZhciB0PWUmJmUucHJvdmlkZXJ8fHIuc2Vzc2lvblRvb2x8fCJjbGF1ZGUiO3JldHVybiB0PT09ImNvZGV4Ij9yLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXTp0PT09Im9wZW5jb2RlIj9yLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzfHxbXTpyLmF2YWlsYWJsZU1vZGVsc3x8W119ZnVuY3Rpb24gUWwoZSx0KXtmb3IodmFyIG49X3UodCksaT1lPT09ImRlZmF1bHQiPyIiOmV8fCIiLGE9JzxvcHRpb24gdmFsdWU9IiInKyhpPyIiOiIgc2VsZWN0ZWQiKSsiPlx1OUVEOFx1OEJBNCBceEI3ICIrcChHcigiIix0KSkrIjwvb3B0aW9uPiIsdT0wO3U8bi5sZW5ndGg7dSsrKXt2YXIgbz1uW3VdO2lmKG8uaWQhPT0iZGVmYXVsdCIpe3ZhciBzPW8ubGFiZWx8fG8uaWQsbD1Zcih0KT09PSJjbGF1ZGUiP28uYXZhaWxhYmlsaXR5PT09InZlcmlmaWVkIj8iIFx4QjcgXHU1REYyXHU5QThDXHU4QkMxIjpvLmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/IiBceEI3IFx1NUY4NVx1NTIzN1x1NjVCMCI6by5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/IiBceEI3IEFQSSBcdTUwMTlcdTkwMDkiOiIgXHhCNyBcdTUwMTlcdTkwMDkiOiIiO2ErPSc8b3B0aW9uIHZhbHVlPSInK3Aoby5pZCkrJyInKyhvLmlkPT09aT8iIHNlbGVjdGVkIjoiIikrIj4iK3AocytsKSsiPC9vcHRpb24+In19cmV0dXJuIGkmJiFuLnNvbWUoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT1pfSkmJihhKz0nPG9wdGlvbiB2YWx1ZT0iJytwKGkpKyciIHNlbGVjdGVkPicrcChpKSsiXHVGRjA4XHU4MUVBXHU1QjlBXHU0RTQ5XHVGRjA5PC9vcHRpb24+IiksYX1mdW5jdGlvbiAkbChlLHQpe2Zvcih2YXIgbj1fdSh0KSxpPWU9PT0iZGVmYXVsdCI/IiI6ZXx8IiIsYT0nPG9wdGlvbiB2YWx1ZT0iIicrKGk/IiI6IiBzZWxlY3RlZCIpKyI+IitwKEdyKCIiLHQpKSsiPC9vcHRpb24+Iix1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBvPW5bdV07aWYoby5pZCE9PSJkZWZhdWx0Iil7dmFyIHM9WXIodCk9PT0iY2xhdWRlIj9vLmF2YWlsYWJpbGl0eT09PSJ2ZXJpZmllZCI/IiBceEI3IHZlcmlmaWVkIjpvLmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/IiBceEI3IHN0YWxlIjpvLnNvdXJjZT09PSJtb2RlbHMtYXBpIj8iIFx4QjcgQVBJIGNhbmRpZGF0ZSI6IiBceEI3IGNhbmRpZGF0ZSI6IiI7YSs9JzxvcHRpb24gdmFsdWU9IicrcChvLmlkKSsnIicrKG8uaWQ9PT1pPyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChvLmlkK3MpKyI8L29wdGlvbj4ifX1yZXR1cm4gaSYmIW4uc29tZShmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PWl9KSYmKGErPSc8b3B0aW9uIHZhbHVlPSInK3AoaSkrJyIgc2VsZWN0ZWQ+JytwKGkpKyI8L29wdGlvbj4iKSxhfWZ1bmN0aW9uIGRyKGUpe3RuKCl9dmFyIFhyPVt7aWQ6Im9mZiIsbGFiZWw6ImF1dG8iLGhpbnQ6Ilx1NEY3Rlx1NzUyOCBwcm92aWRlciAvIFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1NjAxRFx1ODAwM1x1Njg2M1x1NEY0RCJ9LHtpZDoic3RhbmRhcmQiLGxhYmVsOiJsb3ciLGhpbnQ6IkNsYXVkZS9Db2RleDogbG93IFx4QjcgT3BlbkNvZGUgdmFyaWFudDogbG93In0se2lkOiJkZWVwIixsYWJlbDoibWVkaXVtIixoaW50OiJDbGF1ZGUvQ29kZXg6IG1lZGl1bSBceEI3IE9wZW5Db2RlIHZhcmlhbnQ6IGhpZ2gifSx7aWQ6Im1heCIsbGFiZWw6Im1heCIsaGludDoiQ2xhdWRlOiBtYXggXHhCNyBDb2RleDogeGhpZ2ggXHhCNyBPcGVuQ29kZSB2YXJpYW50OiBtYXgifV07ZnVuY3Rpb24gUW0oZSl7cmV0dXJuIGU9PT0ibG93Ij8ic3RhbmRhcmQiOmU9PT0ibWVkaXVtIj8iZGVlcCI6ZT09PSJ4aGlnaCI/Im1heCI6ImNvZGV4OiIrZX1mdW5jdGlvbiBacihlKXtpZihZcihlKSE9PSJjb2RleCIpcmV0dXJuIFhyO3ZhciB0PSRyKGUpfHwiZGVmYXVsdCIsbj1yLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXSxpPW4uZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PXR9KXx8bi5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ImRlZmF1bHQifSksYT1pJiZBcnJheS5pc0FycmF5KGkucmVhc29uaW5nRWZmb3J0cyk/aS5yZWFzb25pbmdFZmZvcnRzOltdO2lmKCFhLmxlbmd0aClyZXR1cm4gWHI7dmFyIHU9aS5kZWZhdWx0UmVhc29uaW5nRWZmb3J0fHwiIjtyZXR1cm5be2lkOiJvZmYiLGxhYmVsOiJhdXRvIixoaW50OnU/Ilx1NEY3Rlx1NzUyOFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1Njg2M1x1NEY0RFx1RkYwOCIrdSsiXHVGRjA5IjoiXHU0RjdGXHU3NTI4XHU2QTIxXHU1NzhCXHU5RUQ4XHU4QkE0XHU2ODYzXHU0RjREIn1dLmNvbmNhdChhLm1hcChmdW5jdGlvbihvKXt2YXIgcz1TdHJpbmcoby5lZmZvcnR8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybntpZDpRbShzKSxsYWJlbDpzLGhpbnQ6by5kZXNjcmlwdGlvbnx8c319KS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIG8ubGFiZWx9KSl9ZnVuY3Rpb24gJG0oZSx0KXtmb3IodmFyIG49WnIodCksaT0wO2k8bi5sZW5ndGg7aSsrKWlmKG5baV0uaWQ9PT1lKXJldHVybiBuW2ldLmxhYmVsO2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmZS5pbmRleE9mKCJjb2RleDoiKT09PTApcmV0dXJuIGUuc2xpY2UoNik7Zm9yKHZhciBhPTA7YTxYci5sZW5ndGg7YSsrKWlmKFhyW2FdLmlkPT09ZSlyZXR1cm4gWHJbYV0ubGFiZWw7cmV0dXJuImF1dG8ifWZ1bmN0aW9uIHJhKGUpe3ZhciB0PWUmJmUuaWQ/S2woZS5pZCk6bnVsbDtyZXR1cm4gdCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsInRoaW5raW5nIik/dC50aGlua2luZ3x8Im9mZiI6ZSYmZS50aGlua2luZ0VmZm9ydD9lLnRoaW5raW5nRWZmb3J0OnIuY2hhdFRoaW5raW5nP3IuY2hhdFRoaW5raW5nOiJvZmYifWZ1bmN0aW9uIEpoKGUpe3RuKCl9ZnVuY3Rpb24gWGwoZSl7ci5jaGF0VGhpbmtpbmc9ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGhpbmtpbmctZWZmb3J0IixlKX1jYXRjaHt9fWZ1bmN0aW9uIFpsKGUsdCxuLGkpe3JldHVybiBPdShlLmlkLGZ1bmN0aW9uKCl7cmV0dXJuIGkmJiFpLm9rP3tlcnJvcjppLmVycm9yfHwiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1In06ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZS5pZCkrIi90aGlua2luZy1lZmZvcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHt0aGlua2luZ0VmZm9ydDp0fSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pfSkudGhlbihmdW5jdGlvbihhKXtQdShlLmlkLGEpJiZ0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeChufHwiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK0puKHQsWGUoKSksInN1Y2Nlc3MiKX0pLmNhdGNoKGZ1bmN0aW9uKGEpe2EmJmEubGF0ZXN0JiZKcihlLmlkLCJcdTUyMDdcdTYzNjJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIFhtKGUpe3ZhciB0PShlfHwib2ZmIikudHJpbSgpLG49WGUoKSxpPVpyKG4pLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT10fSk7aXx8KHQ9Im9mZiIpLFhsKHQpLG4mJlppKG4uaWQsInRoaW5raW5nIix0KSx0bigpLG4mJlpsKG4sdCwiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK0puKHQsbikpfWZ1bmN0aW9uIGVkKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUubW9kZTtyZXR1cm4gdD09PSJtYW5hZ2VkInx8dD09PSJmdWxsLWFjY2VzcyJ9ZnVuY3Rpb24gWm0oZSl7aWYoIWV8fGVkKGUpKXJldHVybiIiO3ZhciB0PSEhZS5hdXRvQXBwcm92ZVBlcm1pc3Npb25zO3JldHVybiB0Pyc8YnV0dG9uIGlkPSJhdXRvLWFwcHJvdmUtdG9nZ2xlIiBjbGFzcz0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciBhY3RpdmUiIHR5cGU9ImJ1dHRvbiIgYXJpYS1wcmVzc2VkPSJ0cnVlIiBhcmlhLWxhYmVsPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjhcdUZGMENcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjggXHUyMDE0IFx1NzBCOVx1NTFGQlx1NTE3M1x1OTVFRCI+JytWKCJzaGllbGRDaGVjayIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU4MUVBXHU1MkE4PC9zcGFuPjwvYnV0dG9uPic6JzxidXR0b24gaWQ9ImF1dG8tYXBwcm92ZS10b2dnbGUiIGNsYXNzPSJjb21wb3Nlci1waWxsIGNvbXBvc2VyLXBpbGwtY2hpcCBhdXRvLWFwcHJvdmUtaW5kaWNhdG9yIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iZmFsc2UiIGFyaWEtbGFiZWw9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRFx1RkYwQ1x1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiIgdGl0bGU9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRCBcdTIwMTQgXHU3MEI5XHU1MUZCXHU1RjAwXHU1NDJGIj4nK1YoInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPjwvYnV0dG9uPid9ZnVuY3Rpb24gdGQoKXtyZXR1cm4gZmV0Y2goIi9hcGkvbW9kZWxzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkuaXNBcnJheShlLm1vZGVscykmJihyLmF2YWlsYWJsZU1vZGVscz1lLm1vZGVscyxyLmF2YWlsYWJsZUNvZGV4TW9kZWxzPUFycmF5LmlzQXJyYXkoZS5jb2RleE1vZGVscyk/ZS5jb2RleE1vZGVsczpbXSxyLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzPUFycmF5LmlzQXJyYXkoZS5vcGVuY29kZU1vZGVscyk/ZS5vcGVuY29kZU1vZGVsczpbXSxkcihYZSgpKSx1YShlKSxhYSghMSkpLGV9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBudWxsfSl9ZnVuY3Rpb24gbmQoKXtpZihyLm1vZGVsc1JlZnJlc2hpbmcpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtyLm1vZGVsc1JlZnJlc2hpbmc9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI2NmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2gsICNjZmctY29tbWl0LW1vZGVsLXJlZnJlc2giKTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPXQsaT1uLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTtuLmRpc2FibGVkPSEwLG4uY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpLG4uc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIiksaSYmKGkudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NkQ0Qlx1NEUyRCIpfSksZmV0Y2goIi9hcGkvbW9kZWxzL3JlZnJlc2giLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYodCYmQXJyYXkuaXNBcnJheSh0Lm1vZGVscykmJihyLmF2YWlsYWJsZU1vZGVscz10Lm1vZGVscyxyLmF2YWlsYWJsZUNvZGV4TW9kZWxzPUFycmF5LmlzQXJyYXkodC5jb2RleE1vZGVscyk/dC5jb2RleE1vZGVsczpbXSxyLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzPUFycmF5LmlzQXJyYXkodC5vcGVuY29kZU1vZGVscyk/dC5vcGVuY29kZU1vZGVsczpbXSxkcihYZSgpKSx1YSh0KSxhYSghMSksdHlwZW9mIHg9PSJmdW5jdGlvbiIpKXt2YXIgbj10Lm1vZGVscy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXZhaWxhYmlsaXR5PT09InZlcmlmaWVkIn0pLmxlbmd0aCxpPSJcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTVERjJcdTUyMzdcdTY1QjAiKyh0LmNsYXVkZVZlcnNpb24/Ilx1RkYwOGNsYXVkZSAiK3QuY2xhdWRlVmVyc2lvbisiXHVGRjA5IjoiIik7biYmKGkrPSJcdUZGMUJcdTVERjJcdTlBOENcdThCQzEgIituKyIgXHU0RTJBIikseChpLCJzdWNjZXNzIil9cmV0dXJuIHR9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeCgiXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4XHU1OTMxXHU4RDI1IiwiZXJyb3IiKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3IubW9kZWxzUmVmcmVzaGluZz0hMSxlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIG49dCxpPW4ucXVlcnlTZWxlY3Rvcigic3BhbiIpO24uZGlzYWJsZWQ9ITEsbi5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIiksbi5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYnVzeSIpLGkmJihpLnRleHRDb250ZW50PSJcdTUyMzdcdTY1QjBcdTUyMTdcdTg4NjgiKX0pfSl9ZnVuY3Rpb24gZWcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtpZighZSl7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIiksZS5pZD0iZW52LXByZXZpZXctbW9kYWwiLGUuY2xhc3NOYW1lPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iLGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtb2RhbCBlbnYtcHJldmlldy1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9ImVudi1wcmV2aWV3LXRpdGxlIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXRpdGxlIj5cdTVDMDZcdTZDRThcdTUxNjVcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0Y8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXN1YnRpdGxlIj5cdThGRDlcdTRFOUJcdTUzRDhcdTkxQ0ZcdTRGMUFcdTg4QUJcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXggLyBvcGVuY29kZVx1RkYwOFBUWSBcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTZcdThGRDBcdTg4NENcdTU2NjhcdTRFMDBcdTgxRjRcdUZGMDlcdTMwMDI8L3A+PC9kaXY+PGJ1dHRvbiBpZD0iZW52LXByZXZpZXctY2xvc2UiIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5IGVudi1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXRvb2xiYXIiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LW1ldGEiIGlkPSJlbnYtcHJldmlldy1tZXRhIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1jb250cm9scyI+PGlucHV0IGlkPSJlbnYtcHJldmlldy1zZWFyY2giIGNsYXNzPSJlbnYtcHJldmlldy1zZWFyY2giIHR5cGU9InNlYXJjaCIgcGxhY2Vob2xkZXI9Ilx1NjQxQ1x1N0QyMlx1NTNEOFx1OTFDRlx1NTQwRFx1MjAyNiIgLz48bGFiZWwgY2xhc3M9ImVudi1wcmV2aWV3LXJldmVhbCI+PGlucHV0IGlkPSJlbnYtcHJldmlldy1yZXZlYWwtdG9nZ2xlIiB0eXBlPSJjaGVja2JveCIgLz48c3Bhbj5cdTY2M0VcdTc5M0FcdTY1NEZcdTYxMUZcdTUwM0M8L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1saXN0IiBpZD0iZW52LXByZXZpZXctbGlzdCIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciBlbnYtcHJldmlldy1mb290ZXIiPjxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1oaW50Ij5cdTY1NEZcdTYxMUZcdTVCNTdcdTZCQjVcdUZGMDhcdTU0MkIgS0VZL1RPS0VOL1NFQ1JFVCBcdTdCNDlcdUZGMDlcdTlFRDhcdThCQTRcdTYzQTlcdTc4MDFcdUZGMENcdTUzRUZcdTUyRkVcdTkwMDlcdTMwMENcdTY2M0VcdTc5M0FcdTY1NEZcdTYxMUZcdTUwM0NcdTMwMERcdTRFMzRcdTY1RjZcdThGRDhcdTUzOUZcdTMwMDI8L3NwYW4+PGJ1dHRvbiBpZD0iZW52LXByZXZpZXctY2xvc2UtMiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIj5cdTUxNzNcdTk1RUQ8L2J1dHRvbj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocyl7cy50YXJnZXQ9PT1lJiZOdSgpfSk7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctY2xvc2UiKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOdSk7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctY2xvc2UtMiIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE51KTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1zZWFyY2giKTthJiZhLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe2lkKCl9KTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1yZXZlYWwtdG9nZ2xlIik7aSYmaS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7cmQoaS5jaGVja2VkKX0pfWUuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIpO2kmJihpLmNoZWNrZWQ9ITEpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LXNlYXJjaCIpO2EmJihhLnZhbHVlPSIiKSxyZCghMSl9ZnVuY3Rpb24gTnUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtlJiZWdShlKX1mdW5jdGlvbiByZChlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbGlzdCIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LW1ldGEiKTt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdTUyQTBcdThGN0RcdTRFMkRcdTIwMjYiKTt2YXIgaT0iL2FwaS9zZXR0aW5ncy9lbnYtcHJldmlldyIrKGU/Ij9yZXZlYWw9MSI6IiIpO2ZldGNoKGkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWF8fCFBcnJheS5pc0FycmF5KGEuZW50cmllcykpe3QmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1OEJGQlx1NTNENlx1NTkzMVx1OEQyNVx1MzAwMjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdThCRkJcdTUzRDZcdTU5MzFcdThEMjUiKTtyZXR1cm59aWYoci5fZW52UHJldmlldz1hLG4pe3ZhciB1PWEuaW5oZXJpdEVudj8iXHU3RUU3XHU2MjdGXHU3MjM2XHU4RkRCXHU3QTBCIjoiXHU2NzAwXHU1QzBGXHU3NjdEXHU1NDBEXHU1MzU1IjtuLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LXBpbGwgJysoYS5pbmhlcml0RW52PyJpcy1pbmhlcml0IjoiaXMtbWluaW1hbCIpKyciPicrdSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1jb3VudCI+XHU1MTcxICcrYS50b3RhbCsiIFx1OTg3OTwvc3Bhbj4ifWlkKCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1OEJGQlx1NTNENlx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1N0EwRFx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdThCRkJcdTUzRDZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIGlkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LWxpc3QiKTtpZihlKXt2YXIgdD1yLl9lbnZQcmV2aWV3O2lmKCF0fHwhQXJyYXkuaXNBcnJheSh0LmVudHJpZXMpKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1NUMxQVx1NjcyQVx1NTJBMFx1OEY3RFx1MzAwMjwvZGl2Pic7cmV0dXJufWZvcih2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctc2VhcmNoIiksaT0obiYmbi52YWx1ZXx8IiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLGE9IiIsdT0wLG89MDtvPHQuZW50cmllcy5sZW5ndGg7bysrKXt2YXIgcz10LmVudHJpZXNbb107aWYoIShpJiZzLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGkpPT09LTEpKXt1Kys7dmFyIGw9dHlwZW9mIHMudmFsdWU9PSJzdHJpbmciJiZzLnZhbHVlLmNoYXJBdCgwKT09PSI8IiYmcy52YWx1ZS5jaGFyQXQocy52YWx1ZS5sZW5ndGgtMSk9PT0iPiI7YSs9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXJvdycrKHMuc2Vuc2l0aXZlPyIgaXMtc2Vuc2l0aXZlIjoiIikrJyI+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbmFtZSI+JytwKHMubmFtZSkrKHMuc2Vuc2l0aXZlPyc8c3BhbiBjbGFzcz0iZW52LXByZXZpZXctYmFkZ2UiIHRpdGxlPSJcdTg4QUJcdThCQzZcdTUyMkJcdTRFM0FcdTY1NEZcdTYxMUZcdTVCNTdcdTZCQjUiPlx1NjU0Rlx1NjExRjwvc3Bhbj4nOiIiKSsobD8nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LWJhZGdlIGVudi1wcmV2aWV3LWJhZGdlLXJ1bnRpbWUiIHRpdGxlPSJcdTYzMDlcdTRGMUFcdThCRERcdTUyQThcdTYwMDFcdTZDRThcdTUxNjUiPlx1OEZEMFx1ODg0Q1x1NjVGNjwvc3Bhbj4nOiIiKSsnPC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctdmFsdWUnKyhsPyIgaXMtcnVudGltZSI6IiIpKyciIHRpdGxlPSInK3AoU3RyaW5nKHMudmFsdWUpKSsnIj4nK3AoU3RyaW5nKHMudmFsdWUpKSsnPC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbGVuIj4nK3MubGVuZ3RoKyIgXHU1QjU3XHU3QjI2PC9kaXY+PC9kaXY+In19dT09PTAmJihhPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1lbXB0eSI+XHU2Q0ExXHU2NzA5XHU1MzM5XHU5MTREXHU3Njg0XHU1M0Q4XHU5MUNGXHUzMDAyPC9kaXY+JyksZS5pbm5lckhUTUw9YX19ZnVuY3Rpb24gYWQoZSl7cmV0dXJuIGU9PT0iY29kZXgiP3IuYXZhaWxhYmxlQ29kZXhNb2RlbHN8fFtdOmU9PT0ib3BlbmNvZGUiP3IuYXZhaWxhYmxlT3BlbkNvZGVNb2RlbHN8fFtdOnIuYXZhaWxhYmxlTW9kZWxzfHxbXX1mdW5jdGlvbiB1ZChlKXtpZihlKXt2YXIgdD1jdChlLmdldEF0dHJpYnV0ZSgiZGF0YS1wcm92aWRlciIpKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0IiksaT1lLmNsb3Nlc3QoIi5zZXR0aW5ncy1tb2RlbC1maWVsZCIpLGE9aT9pLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLW1vZGVsLXN0YXR1c10iKTpudWxsO2lmKCEoIW58fCFhKSl7Zm9yKHZhciB1PShuLnZhbHVlfHwiIikudHJpbSgpLG89YWQodCkscz1udWxsLGw9MDtsPG8ubGVuZ3RoO2wrKylpZihvW2xdLmlkPT09dSl7cz1vW2xdO2JyZWFrfWlmKGEuY2xhc3NMaXN0LnJlbW92ZSgiaXMtY3VzdG9tIiwiaXMta25vd24iKSwhdSl7YS50ZXh0Q29udGVudD0iXHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQiO3JldHVybn1pZihzKXtzLmF2YWlsYWJpbGl0eT09PSJ2ZXJpZmllZCI/YS50ZXh0Q29udGVudD0iXHU1REYyXHU3NTMxIENsYXVkZSBDb2RlIFx1OUE4Q1x1OEJDMSI6cy5hdmFpbGFiaWxpdHk9PT0ic3RhbGUiP2EudGV4dENvbnRlbnQ9Ilx1OUE4Q1x1OEJDMVx1OEJCMFx1NUY1NVx1NUY4NVx1NTIzN1x1NjVCMCI6cy5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/YS50ZXh0Q29udGVudD0iQVBJIFx1NTAxOVx1OTAwOVx1RkYwQ1x1NUMxQVx1NjcyQVx1OUE4Q1x1OEJDMSI6YS50ZXh0Q29udGVudD0iXHU1REYyXHU2OEMwXHU2RDRCXHU1MjMwXHVGRjBDXHU1QzFBXHU2NzJBXHU5QThDXHU4QkMxIixhLmNsYXNzTGlzdC5hZGQoImlzLWtub3duIik7cmV0dXJufWEudGV4dENvbnRlbnQ9Ilx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMCIsYS5jbGFzc0xpc3QuYWRkKCJpcy1jdXN0b20iKX19fWZ1bmN0aW9uIGNyKGUpe2lmKGUpe3ZhciB0PWN0KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIikpLG49ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKSxpPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKTtpZighKCFufHwhaSkpe2Zvcih2YXIgYT1uLnZhbHVlfHwiIix1PWEudHJpbSgpLG89ZS5jbGFzc0xpc3QuY29udGFpbnMoImlzLWZpbHRlcmluZyIpP3UudG9Mb3dlckNhc2UoKToiIixzPWFkKHQpLGw9bnVsbCxkPSExLGY9W10sYz0wO2M8cy5sZW5ndGg7YysrKXt2YXIgdj1zW2NdO2lmKHYuaWQ9PT0iZGVmYXVsdCIpe2w9djtjb250aW51ZX12LmlkPT09dSYmKGQ9ITApO3ZhciBoPXYubGFiZWx8fHYuaWQ7aWYoIShvJiZ2LmlkLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKT09PS0xJiZoLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKT09PS0xKSl7dmFyIG09dCE9PSJjbGF1ZGUiP2g9PT12LmlkPyJcdTVERjJcdTY4QzBcdTZENEJcdTZBMjFcdTU3OEIiOnYuaWQ6di5hdmFpbGFiaWxpdHk9PT0idmVyaWZpZWQiPyJcdTVERjJcdTc1MzEgQ2xhdWRlIENvZGUgXHU5QThDXHU4QkMxIjp2LmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/Ilx1OUE4Q1x1OEJDMVx1OEJCMFx1NUY1NVx1NUY4NVx1NTIzN1x1NjVCMCI6di5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/IkFQSSBcdTUwMTlcdTkwMDlcdUZGMENcdTVDMUFcdTY3MkFcdTlBOENcdThCQzEiOnYubm90ZXx8Ilx1NUMxQVx1NjcyQVx1OUE4Q1x1OEJDMSI7Zi5wdXNoKHt2YWx1ZTp2LmlkLGxhYmVsOmgsbWV0YTptLGN1c3RvbTohMX0pfX12YXIgZz10PT09ImNvZGV4Ij8iXHU4RERGXHU5NjhGIENvZGV4IFx1OUVEOFx1OEJBNCI6dD09PSJvcGVuY29kZSI/Ilx1OERERlx1OTY4RiBPcGVuQ29kZSBcdTlFRDhcdThCQTQiOiJcdThEREZcdTk2OEYgQ2xhdWRlIENvZGUgXHU5RUQ4XHU4QkE0Iix5PWwmJmwubGFiZWw/bC5sYWJlbDoiXHU0RTBEXHU0RjIwIC0tbW9kZWwgXHU1M0MyXHU2NTcwIixCPSIiOyghb3x8Zy50b0xvd2VyQ2FzZSgpLmluZGV4T2YobykhPT0tMXx8eS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobykhPT0tMSkmJihCKz0nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24nKyh1PyIiOiIgaXMtc2VsZWN0ZWQiKSsnIiByb2xlPSJvcHRpb24iIGFyaWEtc2VsZWN0ZWQ9IicrKHU/ImZhbHNlIjoidHJ1ZSIpKyciIGRhdGEtbW9kZWwtdmFsdWU9IiI+PHNwYW4gY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbi1jaGVjayIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJtNSAxMiA0IDRMMTkgNiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPicrcChnKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbWV0YSI+JytwKHkpKyI8L3NwYW4+PC9zcGFuPjwvYnV0dG9uPiIpO2Zvcih2YXIgRT0wO0U8Zi5sZW5ndGg7RSsrKXt2YXIgQz1mW0VdLEQ9Qy52YWx1ZT09PXU7Qis9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uJysoRD8iIGlzLXNlbGVjdGVkIjoiIikrJyIgcm9sZT0ib3B0aW9uIiBhcmlhLXNlbGVjdGVkPSInKyhEPyJ0cnVlIjoiZmFsc2UiKSsnIiBkYXRhLW1vZGVsLXZhbHVlPSInK3AoQy52YWx1ZSkrJyI+PHNwYW4gY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbi1jaGVjayIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJtNSAxMiA0IDRMMTkgNiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPicrcChDLmxhYmVsKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbWV0YSI+JytwKEMubWV0YSkrIjwvc3Bhbj48L3NwYW4+PC9idXR0b24+In11JiYhZCYmKEIrPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbiBtb2RlbC1jb21ib2JveC1vcHRpb24tY3VzdG9tIGlzLXNlbGVjdGVkIiByb2xlPSJvcHRpb24iIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGRhdGEtbW9kZWwtdmFsdWU9IicrcCh1KSsnIj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWN1c3RvbS1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEgMi4xIDAgMCAxIDMgM0w4IDE4bC00IDEgMS00WiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPlx1NEY3Rlx1NzUyOFx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLW1ldGEiPicrcCh1KSsiPC9zcGFuPjwvc3Bhbj48L2J1dHRvbj4iKSxCfHwoQj0nPGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTMzOVx1OTE0RFx1NzY4NFx1NkEyMVx1NTc4Qlx1RkYwQ1x1NTNFRlx1NEVFNVx1N0VFN1x1N0VFRFx1OEY5M1x1NTE2NVx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMFx1MzAwMjwvZGl2PicpLGkuaW5uZXJIVE1MPUI7Zm9yKHZhciBGPWkucXVlcnlTZWxlY3RvckFsbCgiLm1vZGVsLWNvbWJvYm94LW9wdGlvbiIpLEw9LTEsUz0wO1M8Ri5sZW5ndGg7UysrKWlmKEZbU10uZ2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIik9PT0idHJ1ZSIpe0w9UzticmVha31lLl93YW5kTW9kZWxBY3RpdmVJbmRleD1MPj0wP0w6Ri5sZW5ndGg/MDotMSxvZChlKSx1ZChlKX19fWZ1bmN0aW9uIG9kKGUpe2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0Iik7aWYoISghdHx8IW4pKXtmb3IodmFyIGk9dC5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3gtb3B0aW9uIiksYT10eXBlb2YgZS5fd2FuZE1vZGVsQWN0aXZlSW5kZXg9PSJudW1iZXIiP2UuX3dhbmRNb2RlbEFjdGl2ZUluZGV4Oi0xLHU9MDt1PGkubGVuZ3RoO3UrKylpW3VdLmNsYXNzTGlzdC50b2dnbGUoImlzLWFjdGl2ZSIsdT09PWEpLHU9PT1hJiYoaVt1XS5pZHx8KGlbdV0uaWQ9KHQuaWR8fCJtb2RlbC1saXN0Ym94IikrIi1vcHRpb24tIit1KSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixpW3VdLmlkKSk7YTwwJiZuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iil9fX1mdW5jdGlvbiBpYShlKXtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1pbnB1dCIpLG49ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtbWVudSIpOyF0fHwhbnx8KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC5pcy1vcGVuIikuZm9yRWFjaChmdW5jdGlvbihpKXtpIT09ZSYmRG4oaSl9KSxjcihlKSxlLmNsYXNzTGlzdC5hZGQoImlzLW9wZW4iKSxuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpKX19ZnVuY3Rpb24gRG4oZSl7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKTtlLmNsYXNzTGlzdC5yZW1vdmUoImlzLW9wZW4iKSxlLmNsYXNzTGlzdC5yZW1vdmUoImlzLWZpbHRlcmluZyIpLG4mJm4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdCYmKHQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSx0LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IikpfX1mdW5jdGlvbiBzZChlLHQpe2lmKGUpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0Iik7aWYobil7dmFyIGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PW47bi52YWx1ZT10fHwiIixuLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIsbi5kYXRhc2V0Lm1vZGVsRGlydHk9InRydWUiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaXMtZmlsdGVyaW5nIiksdWQoZSksRG4oZSksaSYmbi5mb2N1cygpfX19ZnVuY3Rpb24gdGcoKXt3aW5kb3cuX193YW5kU2V0dGluZ3NNb2RlbE91dHNpZGVCb3VuZHx8KHdpbmRvdy5fX3dhbmRTZXR0aW5nc01vZGVsT3V0c2lkZUJvdW5kPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgbj10LnRhcmdldDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3guaXMtb3BlbiIpLmZvckVhY2goZnVuY3Rpb24oaSl7KCFufHwhaS5jb250YWlucyhuKSkmJkRuKGkpfSl9KSk7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1vZGVsLWNvbWJvYm94Iik7ZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQuZGF0YXNldC5ib3VuZCE9PSJ0cnVlIil7dC5kYXRhc2V0LmJvdW5kPSJ0cnVlIjt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1pbnB1dCIpLGk9dC5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtdG9nZ2xlIiksYT10LnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1tZW51Iik7IW58fCFpfHwhYXx8KG4uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7aWEodCl9KSxuLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe24uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkPSJ0cnVlIixuLmRhdGFzZXQubW9kZWxEaXJ0eT0idHJ1ZSIsdC5jbGFzc0xpc3QuYWRkKCJpcy1maWx0ZXJpbmciKSxpYSh0KX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odSl7aWYodS5rZXk9PT0iRXNjYXBlIil7dS5wcmV2ZW50RGVmYXVsdCgpLERuKHQpO3JldHVybn1pZighKHUua2V5IT09IkFycm93RG93biImJnUua2V5IT09IkFycm93VXAiJiZ1LmtleSE9PSJFbnRlciIpKXtpZighdC5jbGFzc0xpc3QuY29udGFpbnMoImlzLW9wZW4iKSl7aWYodS5rZXk9PT0iRW50ZXIiKXJldHVybjtpYSh0KX12YXIgbz1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC1vcHRpb24iKTtpZihvLmxlbmd0aCl7dS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBzPXR5cGVvZiB0Ll93YW5kTW9kZWxBY3RpdmVJbmRleD09Im51bWJlciI/dC5fd2FuZE1vZGVsQWN0aXZlSW5kZXg6LTE7aWYodS5rZXk9PT0iQXJyb3dEb3duIiYmKHM9czxvLmxlbmd0aC0xP3MrMTowKSx1LmtleT09PSJBcnJvd1VwIiYmKHM9cz4wP3MtMTpvLmxlbmd0aC0xKSx0Ll93YW5kTW9kZWxBY3RpdmVJbmRleD1zLG9kKHQpLHUua2V5PT09IkVudGVyIil7dmFyIGw9b1tzXTtsJiZzZCh0LGwuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGVsLXZhbHVlIil8fCIiKX1lbHNle3ZhciBkPW9bc107ZCYmdHlwZW9mIGQuc2Nyb2xsSW50b1ZpZXc9PSJmdW5jdGlvbiImJmQuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJuZWFyZXN0In0pfX19fSksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKHUpe3UucHJldmVudERlZmF1bHQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dC5jbGFzc0xpc3QuY29udGFpbnMoImlzLW9wZW4iKT9Ebih0KTppYSh0KX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih1KXt1LnByZXZlbnREZWZhdWx0KCl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih1KXt2YXIgbz11LnRhcmdldC5jbG9zZXN0KCIubW9kZWwtY29tYm9ib3gtb3B0aW9uIik7byYmc2QodCxvLmdldEF0dHJpYnV0ZSgiZGF0YS1tb2RlbC12YWx1ZSIpfHwiIil9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpfHxEbih0KX0sMCl9KSxjcih0KSl9fSl9ZnVuY3Rpb24gYWEoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtY2xpIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbC1jb21ib2JveCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtbW9kZWwiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY29tbWl0LW1vZGVsLXByb3ZpZGVyIik7aWYoISghdHx8IW58fCFpKSl7dmFyIHU9Y3QodC52YWx1ZSk7bi5zZXRBdHRyaWJ1dGUoImRhdGEtcHJvdmlkZXIiLHUpLGkucGxhY2Vob2xkZXI9dT09PSJjb2RleCI/Ilx1OERERlx1OTY4RiBDb2RleCBcdTlFRDhcdThCQTQiOnU9PT0ib3BlbmNvZGUiPyJcdThEREZcdTk2OEYgT3BlbkNvZGUgXHU5RUQ4XHU4QkE0IjoiXHU4RERGXHU5NjhGIENsYXVkZSBDb2RlIFx1OUVEOFx1OEJBNCIsYSYmKGEudGV4dENvbnRlbnQ9dT09PSJjb2RleCI/IkNvZGV4IENMSSI6dT09PSJvcGVuY29kZSI/Ik9wZW5Db2RlIENMSSI6IkNsYXVkZSBDb2RlIiksZSYmKGkudmFsdWU9IiIsaS5kYXRhc2V0Lm1vZGVsRGlydHk9InRydWUiKSxjcihuKX19ZnVuY3Rpb24gdWEoZSl7dmFyIHQ9SHUoKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbCIpO2lmKG4pe24uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkIT09InRydWUiJiYobi52YWx1ZT1yLmNvbmZpZ0RlZmF1bHRNb2RlbHMmJnIuY29uZmlnRGVmYXVsdE1vZGVscy5jbGF1ZGV8fHQuY2xhdWRlfHwiIixuLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciBpPW4uY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7aSYmY3IoaSl9dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIik7aWYoYSl7YS5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQhPT0idHJ1ZSImJihhLnZhbHVlPXIuY29uZmlnRGVmYXVsdE1vZGVscyYmci5jb25maWdEZWZhdWx0TW9kZWxzLmNvZGV4fHx0LmNvZGV4fHwiIixhLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciB1PWEuY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7dSYmY3IodSl9dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIik7aWYobyl7by5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQhPT0idHJ1ZSImJihvLnZhbHVlPXIuY29uZmlnRGVmYXVsdE1vZGVscyYmci5jb25maWdEZWZhdWx0TW9kZWxzLm9wZW5jb2RlfHx0Lm9wZW5jb2RlfHwiIixvLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciBzPW8uY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7cyYmY3Iocyl9dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsLXZlcnNpb24iKTtsJiZlJiYobC50ZXh0Q29udGVudD1lLmNsYXVkZVZlcnNpb24/Ilx1NURGMlx1NjhDMFx1NkQ0Qlx1NTIzMCBDbGF1ZGUgQ0xJICIrZS5jbGF1ZGVWZXJzaW9uKyJcdUZGMUJcdTUyMTdcdTg4NjhcdTVERjJcdTU0MENcdTZCNjUgQ29kZXggXHU0RTBFIE9wZW5Db2RlIFx1NTNFRlx1NzUyOFx1NkEyMVx1NTc4Qlx1MzAwMiI6Ilx1NjcyQVx1OEJGQlx1NTNENlx1NTIzMCBDbGF1ZGUgQ0xJIFx1NzI0OFx1NjcyQ1x1RkYxQlx1NEVDRFx1NTNFRlx1NzZGNFx1NjNBNVx1OEY5M1x1NTE2NVx1ODFFQVx1NUI5QVx1NEU0OVx1NkEyMVx1NTc4Qlx1NTQwRFx1NzlGMFx1MzAwMiIpfWZ1bmN0aW9uIFhlKCl7aWYoIXIuc2VsZWN0ZWRJZClyZXR1cm4gbnVsbDtmb3IodmFyIGU9MDtlPHIuc2Vzc2lvbnMubGVuZ3RoO2UrKylpZihyLnNlc3Npb25zW2VdLmlkPT09ci5zZWxlY3RlZElkKXJldHVybiByLnNlc3Npb25zW2VdO3JldHVybiBudWxsfWZ1bmN0aW9uIG5nKGUpe3ZhciB0PShlfHwiIikudHJpbSgpLG49WGUoKSxpPVlyKG4pO25hKGksdCksbiYmWmkobi5pZCwibW9kZWwiLHQpO3ZhciBhPSExO2lmKFpyKG4pLnNvbWUoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1yYShuKX0pfHwoYT0hMCxYbCgib2ZmIiksbiYmWmkobi5pZCwidGhpbmtpbmciLCJvZmYiKSksdG4oKSwhIW4pe3ZhciB1PXtvazohMSxlcnJvcjoiIn07aWYoT3Uobi5pZCxmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmlkKSsiL21vZGVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7bW9kZWw6dHx8bnVsbH0pfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiB1Lm9rPSEhKHMmJnMuaWQmJiFzLmVycm9yKSx1LmVycm9yPXMmJnMuZXJyb3I/cy5lcnJvcjoiIixzfSl9KS50aGVuKGZ1bmN0aW9uKHMpe2lmKCFhJiZQdShuLmlkLHMpJiZ0eXBlb2YgeD09ImZ1bmN0aW9uIil7dmFyIGw9R3IodCxYZSgpfHxuKSxkPW4ucHJvdmlkZXI9PT0iY29kZXgiPyJcdUZGMDhcdTRFMEJcdTZCMjFcdTVCRjlcdThCRERcdTc1MUZcdTY1NDhcdUZGMDkiOiIiO3goIlx1NURGMlx1NTIwN1x1NjM2Mlx1NkEyMVx1NTc4QiBcdTIxOTIgIitsK2QsInN1Y2Nlc3MiKX19KS5jYXRjaChmdW5jdGlvbihzKXt1Lm9rPSExLCFhJiZzJiZzLmxhdGVzdCYmSnIobi5pZCwiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1Iil9KSxhKXt2YXIgbz1Hcih0LG4pO1psKG4sIm9mZiIsIlx1NURGMlx1NTIwN1x1NjM2Mlx1NkEyMVx1NTc4QiBcdTIxOTIgIitvKyJcdUZGMUJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTVERjJcdTU2REVcdTg0M0RcdTRFM0FcdTgxRUFcdTUyQTgiLHUpfX19ZnVuY3Rpb24gcmcoZSl7dmFyIHQ9ZHQoJGUoKSwoZXx8ImRlZmF1bHQiKS50cmltKCkpO3IuY2hhdE1vZGU9dCx0bigpO3ZhciBuPVhlKCk7aWYoIW58fCFuLmlkKXt4JiZ4KCJcdTY1QjBcdTRGMUFcdThCRERcdTZBMjFcdTVGMEZcdUZGMUEiK3QsImluZm8iKTtyZXR1cm59Wmkobi5pZCwibW9kZSIsdCksT3Uobi5pZCxmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmlkKSsiL21vZGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHttb2RlOnR9KX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKFB1KG4uaWQsaSkmJnR5cGVvZiB4PT0iZnVuY3Rpb24iKXt2YXIgYT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLmlkfSl8fG4sdT1hLm1vZGV8fHQ7ci5jaGF0TW9kZT1kdChhLnByb3ZpZGVyfHwkZSgpLHUpLHRuKCk7dmFyIG89bi5wcm92aWRlcj09PSJjb2RleCI/Ilx1RkYwOENvZGV4IFx1NTZGQVx1NUI5QVx1NTE2OFx1Njc0M1x1OTY1MFx1RkYwOSI6IiI7eCgiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1RjBGIFx1MjE5MiAiK3Urbywic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2kmJmkubGF0ZXN0JiZKcihuLmlkLCJcdTUyMDdcdTYzNjJcdTZBMjFcdTVGMEZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIGxkKGUsdCxuLGkpe3ZhciBhPWN0KHIuc2Vzc2lvblRvb2wpLHU9UXIoYSksbz1yLmNoYXRUaGlua2luZ3x8Im9mZiIscz17Y3dkOnR8fFFlKCksbW9kZTpufHxyLmNoYXRNb2RlfHxyLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixwcm92aWRlcjphLHJ1bm5lcjphPT09ImNvZGV4Ij8iY29kZXgtY2xpLWV4ZWMiOmE9PT0ib3BlbmNvZGUiPyJvcGVuY29kZS1jbGktcnVuIjpyLmNvbmZpZyYmci5jb25maWcuc3RydWN0dXJlZFJ1bm5lcj09PSJzZGsiPyJjbGF1ZGUtc2RrIjpyLnN0cnVjdHVyZWRSdW5uZXJ8fCJjbGF1ZGUtY2xpLXByaW50Iixwcm9tcHQ6ZXx8dm9pZCAwLHdvcmt0cmVlRW5hYmxlZDppPT09ITAsbW9kZWw6dXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0Om8sc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifTtyZXR1cm4gZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkocyl9KS50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBsLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obCl7aWYobC5lcnJvcil0aHJvdyBuZXcgRXJyb3IobC5lcnJvcik7cmV0dXJuIHIuc2VsZWN0ZWRJZD1sLmlkLEVlKCksci5kcmFmdHNbbC5pZF09IiIsRHQoKSxlZShsKSxwZSgpLGpyKGwuaWQpLEduKGwuaWQpLGtuKGwuaWQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbH0pfSl9ZnVuY3Rpb24gb2EoKXt2YXIgZT0hIXIuc2VsZWN0ZWRJZCx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxhPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PXIuc2VsZWN0ZWRJZH0pLHU9c2UoYSksbz1lJiYhdSYmci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCIscz1lJiYodXx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpO3U/ci5jdXJyZW50Vmlldz0iY2hhdCI6ZXx8KHIuY3VycmVudFZpZXc9InRlcm1pbmFsIiksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixvKSx0LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIW8pKSxuJiYobi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHMpLG4uY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhcykpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixlKSxuJiZzJiZ5dShuKSxFcigpLEdlKCksUnIoKX1mdW5jdGlvbiBmcigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWRlc2NyaXB0aW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWRlc2NyaXB0aW9uIiksbj1yLnNlc3Npb25Ub29sfHwiY2xhdWRlIixpPXIuc2Vzc2lvbkNyZWF0ZUtpbmR8fCJzdHJ1Y3R1cmVkIjtyLnNlc3Npb25Ub29sPW4sci5tb2RlVmFsdWU9ZHQobixyLm1vZGVWYWx1ZXx8ci5jaGF0TW9kZXx8ImRlZmF1bHQiKTt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcHJvdmlkZXItY2FyZHMgLnByb3ZpZGVyLWNhcmQiKTthLmxlbmd0aCYmYS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciBsPXMuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7cy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGw9PT1uKSxzLmNsYXNzTGlzdC5yZW1vdmUoImRpc2FibGVkIil9KTt2YXIgdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjc2Vzc2lvbi1raW5kLWNhcmRzIC5zZXNzaW9uLWtpbmQtY2FyZCIpO3UubGVuZ3RoJiZ1LmZvckVhY2goZnVuY3Rpb24ocyl7dmFyIGw9cy5nZXRBdHRyaWJ1dGUoImRhdGEtc2Vzc2lvbi1raW5kIiksZD0hMTtzLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbD09PWkpLHMuY2xhc3NMaXN0LnRvZ2dsZSgiZGlzYWJsZWQiLGQpfSk7dmFyIG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI21vZGUtY2FyZHMgLm1vZGUtY2FyZCIpO28ubGVuZ3RoJiZvLmZvckVhY2goZnVuY3Rpb24ocyl7cy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHMuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKT09PXIubW9kZVZhbHVlKX0pLHQmJih0LnRleHRDb250ZW50PUtvKGkpKSxlJiYoZS50ZXh0Q29udGVudD1SbChuLHIubW9kZVZhbHVlKSl9ZnVuY3Rpb24gZWUoZSl7aWYoISghZXx8IWUuaWQpKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lLmlkfSl8fG51bGwsbj1HZChlLHQpO2lmKEFycmF5LmlzQXJyYXkobi5tZXNzYWdlcykmJnR5cGVvZiBuLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiKXt2YXIgaT16ZCh0LG4ubWVzc2FnZXMsbi5tZXNzYWdlT2Zmc2V0LG4ubWVzc2FnZVRvdGFsKTtuLm1lc3NhZ2VzPWkubWVzc2FnZXMsbi5tZXNzYWdlT2Zmc2V0PWkubWVzc2FnZU9mZnNldCxuLm1lc3NhZ2VUb3RhbD1pLm1lc3NhZ2VUb3RhbH12YXIgYT0hMSx1PW51bGw7ci5zZXNzaW9ucz1yLnNlc3Npb25zLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZCE9PW4uaWQ/czoodT1zLGE9ITAsT2JqZWN0LmFzc2lnbih7fSxzLG4pKX0pLGF8fHIuc2Vzc2lvbnMudW5zaGlmdChuKTt2YXIgbz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLmlkfSl8fG47byYmQXJyYXkuaXNBcnJheShvLnF1ZXVlZE1lc3NhZ2VzKSYmbi5pZD09PXIuc2VsZWN0ZWRJZCYmKHZpKG8pLGZvKCksRm4oKSksbi5pZD09PXIuc2VsZWN0ZWRJZCYmKGR1KCksJHQoKSksbi5zdGF0dXMmJm4uc3RhdHVzIT09InJ1bm5pbmciJiZyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZzZXRUaW1lb3V0KFBpLDApfX1mdW5jdGlvbiBHbihlKXshZXx8IXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOfHxyLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InN1YnNjcmliZSIsc2Vzc2lvbklkOmV9KSl9ZnVuY3Rpb24gaWcoZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgbj1PYmplY3QuYXNzaWduKHt9LGUsdCksaT1lLm91dHB1dHx8IiIsYT10Lm91dHB1dHx8IiIsdT1pLmxlbmd0aD5hLmxlbmd0aCxvPWUuc3RydWN0dXJlZFN0YXRlfHxudWxsLHM9dC5zdHJ1Y3R1cmVkU3RhdGV8fG51bGwsbD1lLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHx0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGQ9ISEoZS5tZXNzYWdlcyYmZS5tZXNzYWdlcy5sZW5ndGgmJihmdW5jdGlvbigpe3ZhciBnPWUubWVzc2FnZXNbZS5tZXNzYWdlcy5sZW5ndGgtMV07cmV0dXJuIGcmJmcucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGcuY29udGVudCkmJmcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSksZj1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2w/Q3IoZS5tZXNzYWdlcyk6ZS5tZXNzYWdlczpbXSxjPUFycmF5LmlzQXJyYXkodC5tZXNzYWdlcyk/bD9Dcih0Lm1lc3NhZ2VzKTp0Lm1lc3NhZ2VzOltdLHY9Yy5sZW5ndGg+MCYmKGZ1bmN0aW9uKCl7dmFyIGc9Y1tjLmxlbmd0aC0xXTtyZXR1cm4gZyYmZy5yb2xlPT09ImFzc2lzdGFudCImJkFycmF5LmlzQXJyYXkoZy5jb250ZW50KSYmIWcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSxoPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCImJiEhbyYmby5pbkZsaWdodD09PSEwJiYoIXN8fHMuaW5GbGlnaHQhPT0hMCkmJmQmJiEhby5hY3RpdmVSZXF1ZXN0SWQmJiEhcyYmISFzLmFjdGl2ZVJlcXVlc3RJZCYmcy5hY3RpdmVSZXF1ZXN0SWQ9PT1vLmFjdGl2ZVJlcXVlc3RJZCYmIXYsbT1mLmxlbmd0aD5jLmxlbmd0aHx8Zi5sZW5ndGg+MCYmYy5sZW5ndGg+MCYmSlNPTi5zdHJpbmdpZnkoZltmLmxlbmd0aC0xXSkhPT1KU09OLnN0cmluZ2lmeShjW2MubGVuZ3RoLTFdKSYmSlNPTi5zdHJpbmdpZnkoZikubGVuZ3RoPkpTT04uc3RyaW5naWZ5KGMpLmxlbmd0aDtyZXR1cm4gdSYmKG4ub3V0cHV0PWkpLGgmJihuLnN0YXR1cz1lLnN0YXR1c3x8bi5zdGF0dXMsbi5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxzfHx7fSxvLHtpbkZsaWdodDohMH0pLG4ubWVzc2FnZXM9ZS5tZXNzYWdlcyksbSYmKG4ubWVzc2FnZXM9ZiksZS5pZD09PXIuc2VsZWN0ZWRJZCYmKGUucGVybWlzc2lvbkJsb2NrZWQmJnQucGVybWlzc2lvbkJsb2NrZWQ9PT0hMXx8ZS5wZXJtaXNzaW9uQmxvY2tlZCYmIXQucGVybWlzc2lvbkJsb2NrZWQmJihuLnBlcm1pc3Npb25CbG9ja2VkPSEwKSxlLnBlbmRpbmdFc2NhbGF0aW9uJiYhdC5wZW5kaW5nRXNjYWxhdGlvbiYmdC5wZXJtaXNzaW9uQmxvY2tlZCE9PSExJiYobi5wZW5kaW5nRXNjYWxhdGlvbj1lLnBlbmRpbmdFc2NhbGF0aW9uKSxlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wJiYoIXQubWVzc2FnZXN8fHQubWVzc2FnZXMubGVuZ3RoPT09MCkmJihuLm1lc3NhZ2VzPWUubWVzc2FnZXMpKSxufWZ1bmN0aW9uIFplKGUsdCxuKXtpZihlJiZlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wKXJldHVybiBlLm1lc3NhZ2VzO2lmKGUmJmUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpcmV0dXJuW107aWYoIW4pcmV0dXJuW107dmFyIGk9dHlwZW9mIHQ9PSJzdHJpbmciP3Q6ZSYmZS5vdXRwdXR8fCIiO3JldHVybiBpP25tKGksZSYmZS5jb21tYW5kKTpbXX1mdW5jdGlvbiBhZyhlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiBudWxsO2lmKHIuc2VsZWN0ZWRJZCl7dmFyIHQ9ZS5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIHQ/dC5pZDpudWxsfXZhciBuPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGF0dXM9PT0icnVubmluZyJ9KTtpZihuKXJldHVybiBuLmlkO3ZhciBpPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4hYS5hcmNoaXZlZH0pO3JldHVybiBpP2kuaWQ6ZVswXS5pZH1mdW5jdGlvbiBubihlKXt2YXIgdD1lfHx7fTtyZXR1cm4gZmV0Y2goIi9hcGkvc2Vzc2lvbnMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtpZihuLnN0YXR1cz09PTQwMSl7TmwoKTtyZXR1cm59cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXt2YXIgaT1ufHxbXSxhPW5ldyBTZXQoaS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWR9KSk7T2JqZWN0LmtleXMoci5kcmFmdHMpLmZvckVhY2goZnVuY3Rpb24oYyl7YS5oYXMoYyl8fGRlbGV0ZSByLmRyYWZ0c1tjXX0pLHIuc2Vzc2lvbnM9aS5tYXAoZnVuY3Rpb24oYyl7dmFyIHY9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGgpe3JldHVybiBoLmlkPT09Yy5pZH0pO3JldHVybiBpZyh2LGMpfSk7dmFyIHU9YWcoci5zZXNzaW9ucyk7aWYodSE9PXZvaWQgMCYmKHIuc2VsZWN0ZWRJZD11KSx2bygpLEZuKCksci5ib290c3RyYXBwaW5nPSExLEVlKCksci5tb2RhbE9wZW4pcGUoKTtlbHNle3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1saXN0Iikscz1NYSgpO2lmKG8mJm8uaW5uZXJIVE1MPT09cyl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtsJiYobC50ZXh0Q29udGVudD1TdHJpbmcoci5zZXNzaW9ucy5sZW5ndGgpKX1lbHNle28mJihvLmlubmVySFRNTD1zLFd0KG8pKTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1jb3VudCIpO2wmJihsLnRleHRDb250ZW50PVN0cmluZyhyLnNlc3Npb25zLmxlbmd0aCkpfX1laSgpLHIuc2VsZWN0ZWRJZCYmci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQmJkhuKHIuc2VsZWN0ZWRJZCk7dmFyIGQ9UHJvbWlzZS5yZXNvbHZlKCk7aWYoIXQuc2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkJiZyLnNlbGVjdGVkSWQpZD1rbihyLnNlbGVjdGVkSWQpO2Vsc2UgaWYoci5zZWxlY3RlZElkKXt2YXIgZj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1yLnNlbGVjdGVkSWR9KTtzZShmKSYmKER0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxodSghMCkpfXJldHVybiBkLnRoZW4oZnVuY3Rpb24oKXtyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZQaSgpLEF0KCksWmEoKX0pfSkuY2F0Y2goZnVuY3Rpb24obil7dmFyIGk9biYmbi5tZXNzYWdlfHwiIixhPWk9PT0iRmFpbGVkIHRvIGZldGNoInx8aT09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fGk9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KGkpO2F8fGNvbnNvbGUuZXJyb3IoIlt3YW5kXSBsb2FkU2Vzc2lvbnMgZmFpbGVkOiIsbil9KX12YXIganU9bnVsbDtmdW5jdGlvbiBSdSgpe2p1fHwoanU9c2V0VGltZW91dChmdW5jdGlvbigpe2p1PW51bGwscGUoKX0sMjAwKSl9ZnVuY3Rpb24gcGUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtlJiYoZS5pbm5lckhUTUw9TWEoKSxXdChlKSksdCYmKHQudGV4dENvbnRlbnQ9U3RyaW5nKHIuc2Vzc2lvbnMubGVuZ3RoKSksdHlwZW9mIHJuPT0iZnVuY3Rpb24iJiZybigpLGVpKCksci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCYmQXQoKX1mdW5jdGlvbiBlaSgpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PXIuc2VsZWN0ZWRJZH0pO2V8fChLbighMSksbHUoKSxybCgpKTt2YXIgdD1lP2xyKGUuY29tbWFuZCk6IldhbmQiLG49ZT9EcihlKToiXHU1RjAwXHU1OUNCXHU1QkY5XHU4QkREIixpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN1bW1hcnktdmFsdWUiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC10aXRsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWluZm8iKSxvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50b3BiYXItc2Vzc2lvbi10aXRsZSwgLnRvcGJhci10YWdsaW5lIik7byYmZSYmKG8uY2xhc3NMaXN0LnJlbW92ZSgidG9wYmFyLXRhZ2xpbmUiKSxvLmNsYXNzTGlzdC5hZGQoInRvcGJhci1zZXNzaW9uLXRpdGxlIiksby50ZXh0Q29udGVudD1lLnRpdGxlfHxscihlLmNvbW1hbmQpLG8uc2V0QXR0cmlidXRlKCJ0aXRsZSIsZS5kZXNjcmlwdGlvbnx8ZS5jb21tYW5kfHwiIikpO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0IiksbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2kmJmkudGV4dENvbnRlbnQhPT10JiYoaS50ZXh0Q29udGVudD10KSxhJiZhLnRleHRDb250ZW50IT09dCYmKGEudGV4dENvbnRlbnQ9dCksdSYmKHUudGV4dENvbnRlbnQ9ZT9uKyIgXHhCNyAiK0ttKGUpOm4pO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWtpbmQtZGlzcGxheSIpLHY9ZT9VbShlKToiXHU3RUM4XHU3QUVGIjtjJiZjLnRleHRDb250ZW50IT09diYmKGMudGV4dENvbnRlbnQ9diksb3MoKSwhci50ZXJtaW5hbCYmbCYmZSYmdXIoKSxyLnRlcm1pbmFsJiZsJiYhbC5jb250YWlucyhyLnRlcm1pbmFsLmVsZW1lbnQpJiYoTXIoKSx1cigpKSxlfHwoci50ZXJtaW5hbFNlc3Npb25JZD1udWxsLHIudGVybWluYWxPdXRwdXQ9IiIsci50ZXJtaW5hbE91dHB1dE1hcmtlcj0wKSxyLnRlcm1pbmFsJiZlJiZyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmeXQoInZpZXciKTt2YXIgaD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlPyhzJiZzLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGwmJmwuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZCYmZC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxoJiZoLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKToocyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxsJiZsLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGQmJmQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZiYmZi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxoJiZoLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSxRaSgpLGRyKFhlKCkpLG9hKCksZHUoKX1mdW5jdGlvbiBrbihlKXtyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pLG49Ii9hcGkvc2Vzc2lvbnMvIitlO3JldHVybiB6bCh0KSYmKG4rPSI/Zm9ybWF0PWNoYXQiKSxmZXRjaChuLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe3Iuc2VsZWN0ZWRJZD09PWUmJihyLnNlbGVjdGVkSWQ9bnVsbCxFZSgpKSxubigpO3JldHVybn1pZihlZShpKSxlaSgpLHIudGVybWluYWwmJmU9PT1yLnNlbGVjdGVkSWQmJmkub3V0cHV0IT09dm9pZCAwKXt2YXIgYT0hIXIud3MmJihyLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTnx8ci53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0LkNPTk5FQ1RJTkcpO2E/WWUoInNlc3Npb24tc3dpdGNoIik6KFNpKGUsaS5vdXRwdXQse21vZGU6ImFwcGVuZCJ9KSxZZSgic2Vzc2lvbi1zd2l0Y2giLHtmb3JjZVJlcGxheTohMH0pKX12YXIgdT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1lfSk7ci5jdXJyZW50TWVzc2FnZXM9UmUodSxaZSh1LGkub3V0cHV0LCExKSksV2UoITEpfSl9dmFyIFd1PSExO2Z1bmN0aW9uIHVnKCl7aWYoV3UpcmV0dXJuITE7dmFyIGU9ci5zZWxlY3RlZElkO2lmKCFlKXJldHVybiExO3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KTtpZighdClyZXR1cm4hMTt2YXIgbj10eXBlb2YgdC5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj90Lm1lc3NhZ2VPZmZzZXQ6MDtpZihuPD0wKXJldHVybiExO3ZhciBpPTQwLGE9TWF0aC5tYXgoMCxuLWkpLHU9bi1hO3JldHVybiBXdT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL21lc3NhZ2VzP29mZnNldD0iK2ErIiZsaW1pdD0iK3Use2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obyl7aWYobyYmQXJyYXkuaXNBcnJheShvLm1lc3NhZ2VzKSYmdC5tZXNzYWdlT2Zmc2V0PT09bil7dmFyIHM9QXJyYXkuaXNBcnJheSh0Lm1lc3NhZ2VzKT90Lm1lc3NhZ2VzOltdO3QubWVzc2FnZXM9by5tZXNzYWdlcy5jb25jYXQocyksdC5tZXNzYWdlT2Zmc2V0PWEsdHlwZW9mIG8udG90YWw9PSJudW1iZXIiJiYodC5tZXNzYWdlVG90YWw9by50b3RhbCksZT09PXIuc2VsZWN0ZWRJZCYmKHIuY3VycmVudE1lc3NhZ2VzPVJlKHQsWmUodCx0Lm91dHB1dCwhMSkpLHIuY2hhdFJlbmRlcmVkQ291bnQ9ci5jdXJyZW50TWVzc2FnZXMubGVuZ3RoLFdlKCEwKSl9fSkuY2F0Y2goZnVuY3Rpb24oKXt9KS5maW5hbGx5KGZ1bmN0aW9uKCl7V3U9ITF9KSwhMH1mdW5jdGlvbiBOdChlKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1lfSk7aWYodCl7ci5zZWxlY3RlZElkIT09ZSYmTXIoKSxyLnNlbGVjdGVkSWQ9ZSxFZSgpLHIudG9vbENvbnRlbnRDYWNoZT17fSxyLm1lc3NhZ2VRdWV1ZT1bXSxyLnBlbmRpbmdNZXNzYWdlcz1bXSx2aSh0KSx2bygpLEZuKCksRHQoKSxyLmN1cnJlbnRNZXNzYWdlcz1bXSxyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MiKTtuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKTtpJiZpLnJlbW92ZSgpLHIuX3N0YXR1c0JhclRpbWVySWQmJihjbGVhckludGVydmFsKHIuX3N0YXR1c0JhclRpbWVySWQpLHIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbCksci5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7YSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKTt2YXIgdT10O3IucHJlZmVycmVkQ29tbWFuZD0kZSgpLHIuY2hhdE1vZGU9ZHQoImNsYXVkZSIsdSYmdS5tb2RlP3UubW9kZTpyLmNoYXRNb2RlKSxyLnRlcm1pbmFsSW50ZXJhY3RpdmUmJnUmJnUuc3RhdHVzIT09InJ1bm5pbmciJiZLbighMSkscGUoKSxqcihlKSxyLmZpbGVQYW5lbE9wZW4mJihaZCh1KSxNdCgpKSxrbihlKS50aGVuKGZ1bmN0aW9uKCl7SHQoITApfSksR24oZSksci5naXRTdGF0dXM9bnVsbCxyLmdpdFN0YXR1c1Nlc3Npb25JZD1udWxsLHhhKCksSG4oZSx7Zm9yY2U6ITB9KX19ZnVuY3Rpb24gb2coKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKSxuPU5lKCksaT0hIXIuc2lkZWJhclBpbm5lZCYmISFyLnNpZGViYXJDb2xsYXBzZWQsYT1pfHwhbiYmKCEhci5zaWRlYmFyUGlubmVkfHwhIXIuc2Vzc2lvbnNEcmF3ZXJPcGVuKTtlJiYoZS5jbGFzc0xpc3QudG9nZ2xlKCJwaW5uZWQiLGEpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIixpKSksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1waW5uZWQiLGEpLHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1jb2xsYXBzZWQiLGkpKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgicGlubmVkIiwhIXIuc2lkZWJhclBpbm5lZCksdS50aXRsZT1yLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsdS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHIuc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIiksdS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsci5zaWRlYmFyUGlubmVkPyJ0cnVlIjoiZmFsc2UiKSl9ZnVuY3Rpb24gdGkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLGJvKCkpLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1vcGVuIixyLnNlc3Npb25zRHJhd2VyT3Blbik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsci5zZXNzaW9uc0RyYXdlck9wZW4pLG9nKCl9ZnVuY3Rpb24gc2coKXt2YXIgZT1OZSgpO2lmKCFlKXt2YXIgdD1yLnNpZGViYXJQaW5uZWQ/ITE6IXIuc2Vzc2lvbnNEcmF3ZXJPcGVuO3Iuc2Vzc2lvbnNEcmF3ZXJPcGVuPXQsdCYmKHIuc2lkZWJhckNvbGxhcHNlZD0hMSx3ZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpKSx3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxobigpLHJpKCk7cmV0dXJufWlmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSFyLnNlc3Npb25zRHJhd2VyT3Blbix3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxyLnNlc3Npb25zRHJhd2VyT3Blbil7ci5maWxlUGFuZWxPcGVuPSExO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLCJmYWxzZSIpfWNhdGNoe319aG4oKX1mdW5jdGlvbiBuaSgpe3ZhciBlPU5lKCk7aWYoIWUpe2lmKCFyLnNpZGViYXJQaW5uZWQmJiFyLnNlc3Npb25zRHJhd2VyT3BlbilyZXR1cm47VnIoKSxyLnNpZGViYXJQaW5uZWQ9ITEsci5zZXNzaW9uc0RyYXdlck9wZW49ITEsd2UoIndhbmQtc2lkZWJhci1waW5uZWQiLCExKSx3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxobigpLHJpKCk7cmV0dXJufXIuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoVnIoKSxyLnNlc3Npb25zRHJhd2VyT3Blbj0hMSx3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxobigpKX1mdW5jdGlvbiBsZygpe2lmKE5lKCkpe25pKCk7cmV0dXJufXIuc2lkZWJhclBpbm5lZHx8ci5zaWRlYmFyQ29sbGFwc2VkfHwhci5zZXNzaW9uc0RyYXdlck9wZW58fChWcigpLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLGhuKCkscmkoKSl9ZnVuY3Rpb24gZGQoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtyLnBsdXNQb3BvdmVyT3Blbj0hIWUsdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFlKSxuJiYobi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhZSksbi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGU/InRydWUiOiJmYWxzZSIpKX1mdW5jdGlvbiBkZygpe2RkKCFyLnBsdXNQb3BvdmVyT3Blbil9ZnVuY3Rpb24gc2EoKXtyLnBsdXNQb3BvdmVyT3BlbiYmZGQoITEpfWZ1bmN0aW9uIGp0KCl7TmUoKSYmci5zZXNzaW9uc0RyYXdlck9wZW4mJm5pKCl9ZnVuY3Rpb24gcmkoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtpZihlKXt2YXIgdD1mdW5jdGlvbihuKXtuLnByb3BlcnR5TmFtZT09PSJwYWRkaW5nLWxlZnQiJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0KSxQdCghMCkpfTtlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHQpfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtQdCghMCl9LDM1MCl9dmFyIFJ0PW51bGw7ZnVuY3Rpb24gY2coKXtyZXR1cm4gUnQmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoUnQpfHwoUnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksUnQuY2xhc3NOYW1lPSJzaWRlYmFyLXRpbGUtYnViYmxlIixSdC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sdGlwIiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChSdCkpLFJ0fWZ1bmN0aW9uIHJuKCl7UnQmJlJ0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX1mdW5jdGlvbiBmZyhlLHQpe2lmKCF0KXtybigpO3JldHVybn12YXIgbj1jZygpO24udGV4dENvbnRlbnQ9dC5sZW5ndGg+NDAwP3Quc2xpY2UoMCw0MDApKyJcdTIwMjYiOnQ7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtuLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKTt2YXIgYT1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9aS50b3AraS5oZWlnaHQvMixvPXUtYS5oZWlnaHQvMixzPTgsbD13aW5kb3cuaW5uZXJIZWlnaHQtYS5oZWlnaHQtODtvPHMmJihvPXMpLG8+bCYmKG89TWF0aC5tYXgocyxsKSksbi5zdHlsZS5sZWZ0PWkucmlnaHQrMTIrInB4IixuLnN0eWxlLnRvcD1vKyJweCIsbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1idWJibGUtdGFpbC15Iix1LW8rInB4Iil9ZnVuY3Rpb24gcGcoZSl7aWYoZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZH0pO2lmKCF0KXJldHVybiIiO3ZhciBuPU1jKHQpO3JldHVybiBufHx0LnN1bW1hcnl8fHQuY29tbWFuZHx8IiJ9aWYoZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7dmFyIGk9ci5jbGF1ZGVIaXN0b3J5LmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZH0pO2lmKGkmJmkuZmlyc3RVc2VyTWVzc2FnZSlyZXR1cm4gaS5maXJzdFVzZXJNZXNzYWdlfXJldHVybiIifWZ1bmN0aW9uIHZnKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIG49dC5jbG9zZXN0KCIuc2lkZWJhci1jb2xsYXBzZWQtdGlsZSIpO2lmKCFuKXtybigpO3JldHVybn12YXIgaT1wZyhuKTtpZighaSl7cm4oKTtyZXR1cm59ZmcobixpKX19ZnVuY3Rpb24gbWcoZSl7dmFyIHQ9ZS5yZWxhdGVkVGFyZ2V0O3QmJnQgaW5zdGFuY2VvZiBFbGVtZW50JiZ0LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIil8fHJuKCl9ZnVuY3Rpb24gZ2coKXt2YXIgZT1OZSgpO3Iuc2lkZWJhclBpbm5lZHx8KHIuc2lkZWJhclBpbm5lZD0hMCx3ZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsITApKSxyLnNpZGViYXJDb2xsYXBzZWQ9IXIuc2lkZWJhckNvbGxhcHNlZCx3ZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsci5zaWRlYmFyQ29sbGFwc2VkKSxyLnNpZGViYXJDb2xsYXBzZWQ/ci5zZXNzaW9uc0RyYXdlck9wZW49ITE6ZT8oci5zaWRlYmFyUGlubmVkPSExLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHdlKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMSkpOnIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHdlKCJ3YW5kLXNpZGViYXItb3BlbiIsci5zZXNzaW9uc0RyYXdlck9wZW4pLGhuKCkscGUoKSx5ZygpLHJuKCkscmkoKX1mdW5jdGlvbiBoZygpe05lKCl8fChyLnNpZGViYXJQaW5uZWQ9IXIuc2lkZWJhclBpbm5lZCxyLnNlc3Npb25zRHJhd2VyT3Blbj0hMCx3ZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsci5zaWRlYmFyUGlubmVkKSx3ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxobigpLHJpKCkpfWZ1bmN0aW9uIHlnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7aWYoZSl7dmFyIHQ9ISFyLnNpZGViYXJQaW5uZWQmJiEhci5zaWRlYmFyQ29sbGFwc2VkO2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIix0KSxlLnRpdGxlPXQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIpLGUuaW5uZXJIVE1MPXQ/Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTAgNiAxNiAxMiAxMCAxOCIvPjxsaW5lIHgxPSIyMCIgeTE9IjUiIHgyPSIyMCIgeTI9IjE5Ii8+PC9zdmc+JzonPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNCA2IDggMTIgMTQgMTgiLz48bGluZSB4MT0iNCIgeTE9IjUiIHgyPSI0IiB5Mj0iMTkiLz48L3N2Zz4nfX1mdW5jdGlvbiBiZyhlKXtpZihlKXtlLnN0eWxlLmxlZnQ9IiIsZS5zdHlsZS5yaWdodD0iIjt2YXIgdD1lLm9mZnNldFBhcmVudHx8ZS5wYXJlbnRFbGVtZW50O2lmKHQpe3ZhciBuPTgsaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PXdpbmRvdy5pbm5lcldpZHRoO2EubGVmdDxuPyhlLnN0eWxlLnJpZ2h0PSJhdXRvIixlLnN0eWxlLmxlZnQ9bi1pLmxlZnQrInB4Iik6YS5yaWdodD51LW4mJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9aS5yaWdodC0odS1uKSsicHgiKX19fWZ1bmN0aW9uIEVnKGUpe2lmKCEoIWV8fHR5cGVvZiBlIT0ib2JqZWN0Iikpe3IuY29uZmlnPWU7dmFyIHQ9Y3QoZS5kZWZhdWx0UHJvdmlkZXIpO3Iuc2Vzc2lvblRvb2w9dCxyLnByZWZlcnJlZENvbW1hbmQ9dCxyLnNlc3Npb25DcmVhdGVLaW5kPWUuZGVmYXVsdFNlc3Npb25LaW5kPT09InB0eSI/InB0eSI6InN0cnVjdHVyZWQiLHIubW9kZVZhbHVlPWR0KHQsZS5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiKX19dmFyIGxhPVByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIGRhKGUpe3JldHVybiFlfHx0eXBlb2YgZSE9Im9iamVjdCI/UHJvbWlzZS5yZXNvbHZlKCk6KGxhPWxhLmNhdGNoKGZ1bmN0aW9uKCl7fSkudGhlbihmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGUpfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKS50aGVuKGZ1bmN0aW9uKG4pe2lmKCF0Lm9rfHxuLmVycm9yKXRocm93IG5ldyBFcnJvcihuLmVycm9yfHwiXHU0RkREXHU1QjU4XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU1MDRGXHU1OTdEXHU1OTMxXHU4RDI1Iik7cmV0dXJuIG4uY29uZmlnJiYoci5jb25maWc9bi5jb25maWcpLG59KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiW3dhbmRdIEZhaWxlZCB0byBwZXJzaXN0IG5ldy1zZXNzaW9uIGRlZmF1bHRzIix0KX0pLGxhKX1mdW5jdGlvbiB6dSgpe3ZyKCksci5tb2RhbE9wZW49ITAsci5zZXNzaW9uc0RyYXdlck9wZW49ITEsd2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksdGkoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2UmJihlLl93YW5kQ2xvc2VUaW1lciYmKGNsZWFyVGltZW91dChlLl93YW5kQ2xvc2VUaW1lciksZS5fd2FuZENsb3NlVGltZXI9bnVsbCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxyLmxhc3RGb2N1c2VkRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHIuc2Vzc2lvblRvb2w9Y3Qoci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRQcm92aWRlciksci5wcmVmZXJyZWRDb21tYW5kPXIuc2Vzc2lvblRvb2wsci5zZXNzaW9uQ3JlYXRlS2luZD1yLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdFNlc3Npb25LaW5kPT09InB0eSI/InB0eSI6InN0cnVjdHVyZWQiLHIuc2Vzc2lvbkNyZWF0ZVdvcmt0cmVlPSExLHIubW9kZVZhbHVlPWR0KHIuc2Vzc2lvblRvb2wsci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRNb2RlP3IuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0IiksZnIoKSxsYS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQub2s/dC5qc29uKCk6bnVsbH0pLnRoZW4oZnVuY3Rpb24odCl7IXR8fCFyLm1vZGFsT3Blbnx8KEVnKHQpLGZyKCkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSxLZygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kZS1jYXJkcyIpO3QmJnQuZm9jdXMoKX0sMjApLGNhKGUpKX1mdW5jdGlvbiBBbigpe3IubW9kYWxPcGVuPSExO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7ZSYmKHIuZm9jdXNUcmFwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHIuZm9jdXNUcmFwSGFuZGxlciksci5mb2N1c1RyYXBIYW5kbGVyPW51bGwpLHIubGFzdEZvY3VzZWRFbGVtZW50JiZ0eXBlb2Ygci5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXM9PSJmdW5jdGlvbiImJnIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzKCksVnUoZSkpLGdyKCl9ZnVuY3Rpb24gVnUoZSl7aWYoZSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSl7dmFyIHQ9ITE7dHJ5e3Q9d2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXN9Y2F0Y2h7fWlmKHR8fGRvY3VtZW50LmhpZGRlbil7ZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59ZS5fd2FuZENsb3NlVGltZXImJihjbGVhclRpbWVvdXQoZS5fd2FuZENsb3NlVGltZXIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGwpLGUuY2xhc3NMaXN0LmFkZCgiY2xvc2luZyIpLGUuX3dhbmRDbG9zZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGx9LDE3MCl9fWZ1bmN0aW9uIGNhKGUpe3IuZm9jdXNUcmFwSGFuZGxlciYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsci5mb2N1c1RyYXBIYW5kbGVyKTt2YXIgdD0nYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIGFbaHJlZl0sIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknO3IuZm9jdXNUcmFwSGFuZGxlcj1mdW5jdGlvbihuKXtpZihuLmtleT09PSJUYWIiKXt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3JBbGwodCksYT1pWzBdLHU9aVtpLmxlbmd0aC0xXTshYXx8IXV8fChuLnNoaWZ0S2V5P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1hJiYobi5wcmV2ZW50RGVmYXVsdCgpLHUuZm9jdXMoKSk6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXUmJihuLnByZXZlbnREZWZhdWx0KCksYS5mb2N1cygpKSl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpfWZ1bmN0aW9uIEZnKCl7cmV0dXJuIHIuYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZCYmci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09ci5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkfSl8fG51bGx9ZnVuY3Rpb24gaWkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY29udGVudCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWNvbmZpcm0tYnV0dG9uIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtZXJyb3IiKSxpPUZnKCksYT1yLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdDtpZighKCFlfHwhdCkpe2lmKCFpfHwhaS53b3JrdHJlZSl7ZS5pbm5lckhUTUw9JzxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTY3MkFcdTYyN0VcdTUyMzBcdTUzRUZcdTU0MDhcdTVFNzZcdTc2ODQgd29ya3RyZWUgXHU0RjFBXHU4QkREXHUzMDAyPC9wPicsdC5kaXNhYmxlZD0hMDtyZXR1cm59biYmKHIud29ya3RyZWVNZXJnZUVycm9yP09lKG4sci53b3JrdHJlZU1lcmdlRXJyb3IpOlRpKG4pKTt2YXIgdT1bJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU2NzY1XHU2RTkwXHU1MjA2XHU2NTJGPC9zcGFuPjxzdHJvbmc+JytwKGkud29ya3RyZWUuYnJhbmNofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iLCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvc3Bhbj48c3Ryb25nPicrcChpLndvcmt0cmVlLnBhdGh8fCItIikrIjwvc3Ryb25nPjwvZGl2PiJdO2E/KHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTc2RUVcdTY4MDdcdTUyMDZcdTY1MkY8L3NwYW4+PHN0cm9uZz4nK3AoYS50YXJnZXRCcmFuY2h8fCItIikrIjwvc3Ryb25nPjwvZGl2PiIpLHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTVGODVcdTU0MDhcdTVFNzZcdTYzRDBcdTRFQTQ8L3NwYW4+PHN0cm9uZz4nK3AoU3RyaW5nKGEuYWhlYWRDb3VudHx8MCkpKyI8L3N0cm9uZz48L2Rpdj4iKSx1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU2NzJBXHU2M0QwXHU0RUE0XHU2NTM5XHU1MkE4PC9zcGFuPjxzdHJvbmc+JytwKGEuaGFzVW5jb21taXR0ZWRDaGFuZ2VzPyJcdTY3MDkiOiJcdTY1RTAiKSsiPC9zdHJvbmc+PC9kaXY+IiksdS5wdXNoKCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NTFCMlx1N0E4MVx1OThDRVx1OTY2OTwvc3Bhbj48c3Ryb25nPicrcChhLmhhc0NvbmZsaWN0cz8iXHU2NzA5IjoiXHU2NUUwIikrIjwvc3Ryb25nPjwvZGl2PiIpLGEucmVhc29uJiZ1LnB1c2goJzxwIGNsYXNzPSJmaWVsZC1oaW50Ij4nK3AoYS5yZWFzb24pKyI8L3A+IikpOnIud29ya3RyZWVNZXJnZUxvYWRpbmcmJnUucHVzaCgnPHAgY2xhc3M9ImZpZWxkLWhpbnQiPlx1NkI2M1x1NTcyOFx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTIwMjY8L3A+JyksZS5pbm5lckhUTUw9dS5qb2luKCIiKSx0LmRpc2FibGVkPXIud29ya3RyZWVNZXJnZUxvYWRpbmd8fHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmd8fCFhfHxhLm9rIT09ITAsdC50ZXh0Q29udGVudD1yLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nPyJcdTU0MDhcdTVFNzZcdTRFMkQuLi4iOiJcdTc4NkVcdThCQTRcdTU0MDhcdTVFNzZcdTVFNzZcdTZFMDVcdTc0MDYifX1mdW5jdGlvbiBjZChlKXtyLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQ9ZSxyLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1udWxsLHIud29ya3RyZWVNZXJnZUxvYWRpbmc9ITAsci53b3JrdHJlZU1lcmdlU3VibWl0dGluZz0hMSxyLndvcmt0cmVlTWVyZ2VFcnJvcj0iIixBbigpLHZyKCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7dCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksci5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxjYSh0KSksaWkoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3dvcmt0cmVlL21lcmdlL2NoZWNrIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3IpdGhyb3cgbmV3IEVycm9yKG4uZXJyb3IpO24mJm4uc2Vzc2lvbiYmZWUobi5zZXNzaW9uKSxyLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1uLnJlc3VsdHx8bnVsbCxyLndvcmt0cmVlTWVyZ2VFcnJvcj0iIn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3Iud29ya3RyZWVNZXJnZUVycm9yPW4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe3Iud29ya3RyZWVNZXJnZUxvYWRpbmc9ITEsaWkoKX0pfWZ1bmN0aW9uIHByKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7ci5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPW51bGwsci53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxyLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSExLHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsci53b3JrdHJlZU1lcmdlRXJyb3I9IiIsZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxyLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpLHIuZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxyLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIHIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZyLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpfWZ1bmN0aW9uIENnKCl7IXIuYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZHx8ci53b3JrdHJlZU1lcmdlU3VibWl0dGluZ3x8KHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITAsci53b3JrdHJlZU1lcmdlRXJyb3I9IiIsaWkoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChyLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQpKyIvd29ya3RyZWUvbWVyZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlJiZlLmVycm9yKXRocm93IG5ldyBFcnJvcihlLmVycm9yKTtyZXR1cm4gZSYmZS5zZXNzaW9uJiZlZShlLnNlc3Npb24pLHgoIlx1NURGMlx1NTQwOFx1NUU3Nlx1NTIzMCAiK3AoZS5yZXN1bHQmJmUucmVzdWx0LnRhcmdldEJyYW5jaHx8Ilx1NEUzQlx1NTIwNlx1NjUyRiIpKyhlLnJlc3VsdCYmZS5yZXN1bHQuY2xlYW51cERvbmU9PT0hMT8iXHVGRjBDXHU0RjQ2XHU1REU1XHU0RjVDXHU2ODExXHU1Rjg1XHU2RTA1XHU3NDA2XHUzMDAyIjoiXHUzMDAyIiksImluZm8iKSxwcigpLF90KCl9KS5jYXRjaChmdW5jdGlvbihlKXtyLndvcmt0cmVlTWVyZ2VFcnJvcj1lJiZlLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MDhcdTVFNzYgd29ya3RyZWVcdTMwMDIiLGlpKCl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ci53b3JrdHJlZU1lcmdlU3VibWl0dGluZz0hMSxpaSgpfSkpfWZ1bmN0aW9uIGZkKGUpe2ZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvd29ya3RyZWUvY2xlYW51cCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtpZih0JiZ0LmVycm9yKXRocm93IG5ldyBFcnJvcih0LmVycm9yKTtyZXR1cm4gdCYmdC5zZXNzaW9uJiZlZSh0LnNlc3Npb24pLHgoIlx1NURGMlx1NUI4Q1x1NjIxMCB3b3JrdHJlZSBcdTZFMDVcdTc0MDZcdTMwMDIiLCJpbmZvIiksX3QoKX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3godCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3NDA2IHdvcmt0cmVlXHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIHdnKCl7QW4oKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtpZihlKXtlLl93YW5kQ2xvc2VUaW1lciYmKGNsZWFyVGltZW91dChlLl93YW5kQ2xvc2VUaW1lciksZS5fd2FuZENsb3NlVGltZXI9bnVsbCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxyLmxhc3RGb2N1c2VkRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXctcGFzc3dvcmQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maXJtLXBhc3N3b3JkIik7dCYmKHQudmFsdWU9IiIpLG4mJihuLnZhbHVlPSIiKSxwZCgpLGNhKGUpLERnKCksZS5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MuZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIsYy5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQ9ImZhbHNlIn0pLFV1KCJhYm91dCIpLFNnKCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtpJiYoaS5jaGVja2VkPXIubm90aWZTb3VuZCksYSYmKGEuY2hlY2tlZD1yLm5vdGlmQnViYmxlKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXZvbHVtZSIpLG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIik7aWYodSl7dS52YWx1ZT1yLm5vdGlmVm9sdW1lLG8mJihvLnRleHRDb250ZW50PXIubm90aWZWb2x1bWUrIiUiKTt0cnl7dS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiLHtidWJibGVzOiEwfSkpfWNhdGNoe319dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2lmKHMmJihzLnN0eWxlLmRpc3BsYXk9ci5ub3RpZlNvdW5kPyIiOiJub25lIiksU24oKSx0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiIpdHJ5e3lkKFdhbmROYXRpdmUuZ2V0QXBwSWNvbigpfHwic2hvcnRoYWlyIil9Y2F0Y2h7fWlmKGplJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXROb3RpZmljYXRpb25Tb3VuZD09ImZ1bmN0aW9uIil0cnl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKTtsJiYobC52YWx1ZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCkpfWNhdGNoe31pZihqZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXt2YXIgZD1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblZvbHVtZSgpO2lmKHIubm90aWZWb2x1bWU9ZCx1JiYodS52YWx1ZT1TdHJpbmcoZCkpLG8mJihvLnRleHRDb250ZW50PWQrIiUiKSx1KXRyeXt1LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSl9Y2F0Y2h7fXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiLFN0cmluZyhkKSl9Y2F0Y2h7fX1jYXRjaHt9aWYoamUmJnR5cGVvZiBXYW5kTmF0aXZlLmlzSGFwdGljRW5hYmxlZD09ImZ1bmN0aW9uIil0cnl7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2YmJihmLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKSl9Y2F0Y2h7fX19ZnVuY3Rpb24gdnIoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtlJiYoZS5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3guaXMtb3BlbiIpLmZvckVhY2goZnVuY3Rpb24odCl7RG4odCl9KSxyLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpLHIuZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxyLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIHIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZyLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpLFZ1KGUpKX1mdW5jdGlvbiBwZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1lcnJvciIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXN1Y2Nlc3MiKTtlJiZlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9ZnVuY3Rpb24gQmcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV3LXBhc3N3b3JkIikudmFsdWUsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpLnZhbHVlLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWVycm9yIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3Mtc3VjY2VzcyIpO2lmKHBkKCksIWV8fGUubGVuZ3RoPDYpe24udGV4dENvbnRlbnQ9Ilx1NUJDNlx1NzgwMVx1OTU3Rlx1NUVBNlx1ODFGM1x1NUMxMVx1NEUzQSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1MzAwMiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59aWYoZSE9PXQpe24udGV4dENvbnRlbnQ9Ilx1NEUyNFx1NkIyMVx1OEY5M1x1NTE2NVx1NzY4NFx1NUJDNlx1NzgwMVx1NEUwRFx1NEUwMFx1ODFGNFx1MzAwMiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59ZmV0Y2goIi9hcGkvc2V0LXBhc3N3b3JkIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3Bhc3N3b3JkOmV9KSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEuZXJyb3Ipe24udGV4dENvbnRlbnQ9YS5lcnJvcixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3JldHVybn1pLnRleHRDb250ZW50PSJcdTVCQzZcdTc4MDFcdTRGRUVcdTY1MzlcdTYyMTBcdTUyOUZcdUZGMDEiLGkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5ldy1wYXNzd29yZCIpLnZhbHVlPSIiLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maXJtLXBhc3N3b3JkIikudmFsdWU9IiJ9KS5jYXRjaChmdW5jdGlvbigpe24udGV4dENvbnRlbnQ9IkZhaWxlZCB0byBzYXZlIHBhc3N3b3JkLiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX0pfWZ1bmN0aW9uIFV1KGUpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC5pcy1vcGVuIikuZm9yRWFjaChmdW5jdGlvbihzKXtEbihzKX0pO2Zvcih2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtcGFuZWwiKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV0uZ2V0QXR0cmlidXRlKCJkYXRhLXRhYiIpPT09ZTthP3RbaV0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik6dFtpXS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSx0W2ldLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsYT8idHJ1ZSI6ImZhbHNlIiksdFtpXS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixhPyIwIjoiLTEiKX1mb3IodmFyIHU9MDt1PG4ubGVuZ3RoO3UrKyl7dmFyIG89blt1XS5pZD09PSJzZXR0aW5ncy10YWItIitlO28/KG5bdV0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksblt1XS5yZW1vdmVBdHRyaWJ1dGUoImhpZGRlbiIpKTooblt1XS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuW3VdLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwiaGlkZGVuIikpfX1mdW5jdGlvbiB2ZChlKXtpZihlJiYhKGUua2V5IT09IkFycm93VXAiJiZlLmtleSE9PSJBcnJvd0Rvd24iJiZlLmtleSE9PSJBcnJvd0xlZnQiJiZlLmtleSE9PSJBcnJvd1JpZ2h0IiYmZS5rZXkhPT0iSG9tZSImJmUua2V5IT09IkVuZCIpKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIikpO2lmKHQubGVuZ3RoKXt2YXIgbj1lLmN1cnJlbnRUYXJnZXQmJmUuY3VycmVudFRhcmdldC5jbG9zZXN0P2UuY3VycmVudFRhcmdldC5jbG9zZXN0KCIuc2V0dGluZ3MtdGFicyIpOm51bGwsaT1uJiZuLmdldEF0dHJpYnV0ZSgiYXJpYS1vcmllbnRhdGlvbiIpPT09Imhvcml6b250YWwiO2lmKCEoaSYmKGUua2V5PT09IkFycm93VXAifHxlLmtleT09PSJBcnJvd0Rvd24iKSkmJiEoIWkmJihlLmtleT09PSJBcnJvd0xlZnQifHxlLmtleT09PSJBcnJvd1JpZ2h0IikpKXt2YXIgYT10LmluZGV4T2YoZS5jdXJyZW50VGFyZ2V0KTtpZihhIT09LTEpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdT1hOyhlLmtleT09PSJBcnJvd1VwInx8ZS5rZXk9PT0iQXJyb3dMZWZ0IikmJih1PWE+MD9hLTE6dC5sZW5ndGgtMSksKGUua2V5PT09IkFycm93RG93biJ8fGUua2V5PT09IkFycm93UmlnaHQiKSYmKHU9YTx0Lmxlbmd0aC0xP2ErMTowKSxlLmtleT09PSJIb21lIiYmKHU9MCksZS5rZXk9PT0iRW5kIiYmKHU9dC5sZW5ndGgtMSk7dmFyIG89dFt1XTtpZihvKXt2YXIgcz1vLmdldEF0dHJpYnV0ZSgiZGF0YS10YWIiKTtzJiZVdShzKSx0eXBlb2Ygby5mb2N1cz09ImZ1bmN0aW9uIiYmby5mb2N1cygpfX19fX19ZnVuY3Rpb24gRGcoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2V0dGluZ3MtdGFicyIpO2lmKGUpe3ZhciB0PSExO3RyeXt0PSEhKHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNzYwcHgpIikubWF0Y2hlcyl9Y2F0Y2h7fWUuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIix0PyJob3Jpem9udGFsIjoidmVydGljYWwiKX1mb3IodmFyIG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLGk9MDtpPG4ubGVuZ3RoO2krKyluW2ldLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHZkKSxuW2ldLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHZkKX1mdW5jdGlvbiBrZyhlKXtpZihlKXt2YXIgdD1lLmNvbmZpZ3x8e30sbj17YWJvdXQ6ZS52ZXJzaW9uPyJcdTVGNTNcdTUyNEQgdiIrZS52ZXJzaW9uOiJcdTcyNDhcdTY3MkNcdTRFMEVcdTY2RjRcdTY1QjBcdTRGRTFcdTYwNkYiLGdlbmVyYWw6W3QuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iix0Lmxhbmd1YWdlfHwiXHU4MUVBXHU1MkE4XHU4QkVEXHU4QTAwIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiBceEI3ICIpLG5vdGlmaWNhdGlvbnM6ci5ub3RpZlNvdW5kPyJcdTYzRDBcdTc5M0FcdTk3RjMgIityLm5vdGlmVm9sdW1lKyIlIjoiXHU2M0QwXHU3OTNBXHU5N0YzXHU1REYyXHU1MTczXHU5NUVEIixzZWN1cml0eTplLmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IjoiXHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2XHU3QkExXHU3NDA2IixwcmVzZXRzOnQuY29tbWFuZFByZXNldHMmJnQuY29tbWFuZFByZXNldHMubGVuZ3RoP3QuY29tbWFuZFByZXNldHMubGVuZ3RoKyIgXHU2NzYxXHU5ODg0XHU4QkJFIjoiXHU2NjgyXHU2NUUwXHU5ODg0XHU4QkJFIixkaXNwbGF5OiJcdTYzQTdcdTUyMzZcdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDAifTtmb3IodmFyIGkgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixpKSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNldHRpbmdzLXRhYltkYXRhLXRhYj0iJytpKyciXSAuc2V0dGluZ3MtdGFiLW1ldGEnKTtpZihhKXt2YXIgdT1uW2ldfHwiIjthLnRleHRDb250ZW50PXUsYS5zZXRBdHRyaWJ1dGUoInRpdGxlIix1KX19fX1mdW5jdGlvbiBBZyhlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksaT13aW5kb3cuUVJDb2RlTGliO2lmKHQpe2lmKCFpfHx0eXBlb2YgaS50b0NhbnZhcyE9ImZ1bmN0aW9uIil7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NUU5M1x1NjcyQVx1NTJBMFx1OEY3RCIpO3JldHVybn10cnl7aS50b0NhbnZhcyh0LGUse3dpZHRoOjIyMCxtYXJnaW46MSxlcnJvckNvcnJlY3Rpb25MZXZlbDoiTSIsY29sb3I6e2Rhcms6IiMxZjFiMTciLGxpZ2h0OiIjZmZmZmZmMDAifX0sZnVuY3Rpb24oYSl7aWYoYSl7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsbi5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJufW4mJihuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0LnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUifSl9Y2F0Y2h7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsbi5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9fX1mdW5jdGlvbiB4ZyhlKXt2YXIgdD13aW5kb3cuUVJDb2RlTGliO2lmKCF0fHx0eXBlb2YgdC50b0NhbnZhcyE9ImZ1bmN0aW9uIilyZXR1cm47dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbm5lY3QtcXItbW9kYWwiKTtuJiZuLnJlbW92ZSgpO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuaWQ9ImNvbm5lY3QtcXItbW9kYWwiLGkuY2xhc3NOYW1lPSJjb25uZWN0LXFyLW1vZGFsLW92ZXJsYXkiLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb25uZWN0LXFyLW1vZGFsLWNhcmQiPjxjYW52YXMgaWQ9ImNvbm5lY3QtcXItbW9kYWwtY2FudmFzIj48L2NhbnZhcz48cCBjbGFzcz0iY29ubmVjdC1xci1tb2RhbC1oaW50Ij5cdTc1MjggV2FuZCBBcHAgXHU2MjZCXHU0RTAwXHU2MjZCXHVGRjBDXHU4RkRFXHU2M0E1XHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU1NjY4PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGNvbm5lY3QtcXItbW9kYWwtY2xvc2UiPlx1NTE3M1x1OTVFRDwvYnV0dG9uPjwvZGl2PicsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTt2YXIgYT1pLnF1ZXJ5U2VsZWN0b3IoIiNjb25uZWN0LXFyLW1vZGFsLWNhbnZhcyIpLHU9TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KSouNzt1PDI0MCYmKHU9MjQwKSx1PjQ4MCYmKHU9NDgwKTt0cnl7dC50b0NhbnZhcyhhLGUse3dpZHRoOnUsbWFyZ2luOjIsZXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ik0iLGNvbG9yOntkYXJrOiIjMWYxYjE3IixsaWdodDoiI2ZmZmZmZiJ9fSl9Y2F0Y2h7fWZ1bmN0aW9uIG8oKXtpLnJlbW92ZSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGwpe2wudGFyZ2V0PT09aSYmbygpfSk7dmFyIHM9aS5xdWVyeVNlbGVjdG9yKCIuY29ubmVjdC1xci1tb2RhbC1jbG9zZSIpO3MmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8pfWZ1bmN0aW9uIGFpKGUsdCxuKXtpZighZSlyZXR1cm47ZnVuY3Rpb24gaSgpe2lmKG9yKCJsaWdodCIpLG4pe24oKTtyZXR1cm59aWYodCl7dmFyIGE9dC50ZXh0Q29udGVudDt0LnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PWF9LDE1MDApfX1pZihqZSYmdHlwZW9mIFdhbmROYXRpdmUuY29weVRvQ2xpcGJvYXJkPT0iZnVuY3Rpb24iKXRyeXtpZihXYW5kTmF0aXZlLmNvcHlUb0NsaXBib2FyZChlKT09PSJvayIpe2koKTtyZXR1cm59fWNhdGNoe31uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKGkpLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTthLnZhbHVlPWUsYS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGEuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxhLnNlbGVjdCgpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKSxpKCl9KX1mdW5jdGlvbiB4bihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFpc0Zpbml0ZShlKXx8ZTwwKXJldHVybiItIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjtmb3IodmFyIHQ9WyJLQiIsIk1CIiwiR0IiLCJUQiJdLG49ZS8xMDI0LGk9MDtuPj0xMDI0JiZpPHQubGVuZ3RoLTE7KW49bi8xMDI0LGkrPTE7dmFyIGE9bj49MTA/bi50b0ZpeGVkKDApOm4udG9GaXhlZCgxKTtyZXR1cm4gYSsiICIrdFtpXX1mdW5jdGlvbiBTZygpe3ZhciBlPSFyLmNvbmZpZ3x8ci5jb25maWcuY2FuTWFuYWdlU2V0dGluZ3MhPT0hMSx0PWU/Ii9hcGkvc2V0dGluZ3MiOiIvYXBpL3NldHRpbmdzL2Fib3V0IjtmZXRjaCh0LHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtpZihuLm9rKXJldHVybiBuLmpzb24oKTtpZihuLnN0YXR1cz09PTQwMyYmdD09PSIvYXBpL3NldHRpbmdzIilyZXR1cm4gZmV0Y2goIi9hcGkvc2V0dGluZ3MvYWJvdXQiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtpZighaS5vayl0aHJvdyBuZXcgRXJyb3IoIlx1NjVFMFx1NkNENVx1NTJBMFx1OEY3RFx1NTE3M1x1NEU4RVx1NEZFMVx1NjA2RiAoSFRUUCAiK2kuc3RhdHVzKyIpIik7cmV0dXJuIGkuanNvbigpfSk7dGhyb3cgbmV3IEVycm9yKCJcdTY1RTBcdTZDRDVcdTUyQTBcdThGN0RcdThCQkVcdTdGNkUgKEhUVFAgIituLnN0YXR1cysiKSIpfSkudGhlbihmdW5jdGlvbihuKXt2YXIgaT1uLnNldHRpbmdzQWNjZXNzIT09InJlYWQtb25seSIsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYWJvdXQtYWNjZXNzLW5vdGUiKTthJiZhLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsaSk7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNsaS11cGRhdGUtc2VjdGlvbiIpO3UmJnUuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhaSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1zZWN0aW9uIik7byYmby5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKSxbImNoZWNrLXVwZGF0ZS1idXR0b24iLCJkby11cGRhdGUtYnV0dG9uIiwiZG8tcmVzdGFydC1idXR0b24iXS5mb3JFYWNoKGZ1bmN0aW9uKEspe3ZhciB2ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChLKSxtZT12ZSYmdmUuY2xvc2VzdCgiLnNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIik7bWUmJm1lLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWkpfSksWyJiZXRhLWNoYW5uZWwtdG9nZ2xlIiwiYXV0by11cGRhdGUtd2ViLXRvZ2dsZSJdLmZvckVhY2goZnVuY3Rpb24oSyl7dmFyIHZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEspLG1lPXZlJiZ2ZS5jbG9zZXN0KCIuc2V0dGluZ3MtdG9nZ2xlLXJvdyIpO21lJiZtZS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKX0pLGtnKG4pO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1wa2ctbmFtZSIpLGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXZlcnNpb24iKSxkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1ub2RlLXJlcSIpLGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXJlcG8tdXJsIik7cyYmKHMudGV4dENvbnRlbnQ9bi5wYWNrYWdlTmFtZXx8Ii0iKSxsJiYobC50ZXh0Q29udGVudD1uLnZlcnNpb258fCItIiksZCYmKGQudGV4dENvbnRlbnQ9bi5ub2RlVmVyc2lvbnx8Ii0iKSxmJiZuLnJlcG9VcmwmJihmLmlubmVySFRNTD0nPGEgaHJlZj0iJytwKG4ucmVwb1VybCkrJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPicrcChuLnJlcG9VcmwpKyI8L2E+Iik7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIiksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpO24ubGF0ZXN0VmVyc2lvbiYmYyYmKGMudGV4dENvbnRlbnQ9bi5sYXRlc3RWZXJzaW9uLG4udXBkYXRlQXZhaWxhYmxlJiZ2JiZ2LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO2gmJihoLmNoZWNrZWQ9bi51cGRhdGVDaGFubmVsPT09ImJldGEiKTt2YXIgbT1uLmF1dG9VcGRhdGV8fHt9LGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLXdlYi10b2dnbGUiKTtnJiYoZy5jaGVja2VkPSEhbS53ZWIpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1hcGstdG9nZ2xlIik7eSYmKHkuY2hlY2tlZD0hIXpuJiYhIW0uYXBrKTt2YXIgQj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtZG1nLXRvZ2dsZSIpO0ImJihCLmNoZWNrZWQ9ISFibiYmISFtLmRtZyk7dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWNsaS10b2dnbGUiKTtFJiYoRS5jaGVja2VkPSEhbS5jbGkpLGkmJmhkKCExKTtmdW5jdGlvbiBDKEssdmUpe0FzKEsse3R5cGU6dmU9PT0iZXJyb3IiPyJkYW5nZXIiOiJpbmZvIn0pfWZ1bmN0aW9uIEQoSyx2ZSxtZSl7dmFyIHN0PW1lP21lLnRleHRDb250ZW50OiIiO21lJiYobWUuZGlzYWJsZWQ9ITAsbWUudGV4dENvbnRlbnQ9Ilx1NEUwQlx1OEY3RFx1NEUyRFx1MjAyNiIpO2Z1bmN0aW9uIG10KCl7bWUmJihtZS5kaXNhYmxlZD0hMSxtZS50ZXh0Q29udGVudD1zdCl9ZmV0Y2goSyx7bWV0aG9kOiJIRUFEIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihfZSl7aWYoIV9lLm9rKXtDKF9lLnN0YXR1cz09PTQwND8iXHU0RTBCXHU4RjdEXHU2NzJBXHU1NDJGXHU3NTI4XHU2MjE2XHU2NTg3XHU0RUY2XHU1REYyXHU3OUZCXHU5NjY0IjoiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1IChIVFRQICIrX2Uuc3RhdHVzKyIpIiwiZXJyb3IiKSxtdCgpO3JldHVybn12YXIgSmU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO0plLmhyZWY9SyxKZS5kb3dubG9hZD12ZXx8IiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChKZSksSmUuY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKEplKSxDKCJcdTVERjJcdTVGMDBcdTU5Q0JcdTRFMEJcdThGN0RcdUZGMENcdThCRjdcdTU3MjhcdTkwMUFcdTc3RTVcdTY4MEYvXHU0RTBCXHU4RjdEXHU3QkExXHU3NDA2XHU0RTJEXHU2N0U1XHU3NzBCIiwiaW5mbyIpLG10KCl9KS5jYXRjaChmdW5jdGlvbihfZSl7QygiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1OiAiKyhfZSYmX2UubWVzc2FnZT9fZS5tZXNzYWdlOl9lKSwiZXJyb3IiKSxtdCgpfSl9ZnVuY3Rpb24gRihLLHZlKXtmdW5jdGlvbiBtZShNbil7dmFyIFluPVN0cmluZyhNbnx8IiIpLnJlcGxhY2UoL152LywiIikscG49WW4uaW5kZXhPZigiLSIpLFFuPXBuPj0wP1luLnNsaWNlKDAscG4pOlluLGNlPXBuPj0wP1luLnNsaWNlKHBuKzEpOiIiO3JldHVybntwYXJ0czpRbi5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihzaSl7cmV0dXJuIHBhcnNlSW50KHNpLDEwKXx8MH0pLHByZTpjZSxpc0RlYnVnOmNlLmluZGV4T2YoImRlYnVnIik9PT0wfX1mb3IodmFyIHN0PW1lKEspLG10PW1lKHZlKSxfZT0wO19lPDM7X2UrKyl7dmFyIEplPShzdC5wYXJ0c1tfZV18fDApLShtdC5wYXJ0c1tfZV18fDApO2lmKEplIT09MClyZXR1cm4gSmU+MD8xOi0xfWlmKHN0LmlzRGVidWchPT1tdC5pc0RlYnVnKXJldHVybiBzdC5pc0RlYnVnPzE6LTE7aWYoc3QuaXNEZWJ1ZyYmbXQuaXNEZWJ1Zylmb3IodmFyIFRuPXN0LnByZS5zcGxpdCgiLiIpLExuPW10LnByZS5zcGxpdCgiLiIpLGd0PTA7Z3Q8TWF0aC5tYXgoVG4ubGVuZ3RoLExuLmxlbmd0aCk7Z3QrKyl7aWYoVG5bZ3RdPT09dm9pZCAwKXJldHVybi0xO2lmKExuW2d0XT09PXZvaWQgMClyZXR1cm4gMTt2YXIgeXI9cGFyc2VJbnQoVG5bZ3RdLDEwKSxrZT1wYXJzZUludChMbltndF0sMTApO2lmKCFpc05hTih5cikmJiFpc05hTihrZSkpe2lmKHlyIT09a2UpcmV0dXJuIHlyPmtlPzE6LTF9ZWxzZSBpZihUbltndF0hPT1MbltndF0pcmV0dXJuIFRuW2d0XT5MbltndF0/MTotMX1yZXR1cm4gMH1mdW5jdGlvbiBMKEssdmUsbWUsc3QsbXQsX2Upe0suY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksSy5kaXNhYmxlZD0hMSx2ZT4wP0sudGV4dENvbnRlbnQ9Ilx1NTM0N1x1N0VBNyI6dmU9PT0wPyhLLnRleHRDb250ZW50PSJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAiLEsuZGlzYWJsZWQ9ITApOl9lP0sudGV4dENvbnRlbnQ9Ilx1OTFDRFx1NjVCMFx1NUI4OVx1ODhDNSI6KEsudGV4dENvbnRlbnQ9Ilx1NzI0OFx1NjcyQ1x1OEY4M1x1NjVFNyIsSy5kaXNhYmxlZD0hMCksSy5vbmNsaWNrPUsuZGlzYWJsZWQ/bnVsbDpmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLmRvd25sb2FkVXBkYXRlKG1lLHN0LG10KX1jYXRjaChKZSl7QygiXHU4QzAzXHU3NTI4XHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1OiAiKyhKZSYmSmUubWVzc2FnZT9KZS5tZXNzYWdlOkplKSwiZXJyb3IiKX19fXZhciBTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWFway1zZWN0aW9uIiksTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstY3VycmVudC1yb3ciKSxKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1hbmRyb2lkLWFway1jdXJyZW50IiksVz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstZ2l0aHViLXJvdyIpLGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWFuZHJvaWQtYXBrLWdpdGh1YiIpLEk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWdpdGh1Yi1hcGstYnRuIiksVD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstbG9jYWwtcm93IiksWT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYW5kcm9pZC1hcGstbG9jYWwiKSxqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3dubG9hZC1sb2NhbC1hcGstYnRuIiksRz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstbWVzc2FnZSIpLE09bi5hbmRyb2lkQXBrfHx7fSx0ZT0hIXpuLG5lPU0uZW5hYmxlZCE9PSExLE89dGV8fG5lJiYoISFNLmdpdGh1Ynx8ISFNLmxvY2FsKTtpZihTJiYoTz9TLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOlMuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikpLHRlKXtpZihOJiZKJiYoSi50ZXh0Q29udGVudD0idiIrem4sTi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksTS5naXRodWImJlcmJmspe3ZhciBQPU0uZ2l0aHViLnZlcnNpb24/InYiK00uZ2l0aHViLnZlcnNpb246TS5naXRodWIuZmlsZU5hbWU7aWYodHlwZW9mIE0uZ2l0aHViLnNpemU9PSJudW1iZXIiJiYoUCs9IiBceEI3ICIreG4oTS5naXRodWIuc2l6ZSkpLGsudGV4dENvbnRlbnQ9UCxXLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEkpe3ZhciBfPU0uZ2l0aHViLnZlcnNpb24/RihNLmdpdGh1Yi52ZXJzaW9uLHpuKToxO0woSSxfLE0uZ2l0aHViLmRvd25sb2FkVXJsLE0uZ2l0aHViLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuYXBrIiwiZ2l0aHViIiwhMSl9fWlmKE0ubG9jYWwmJlQmJlkpe3ZhciBRPU0ubG9jYWwudmVyc2lvbj8idiIrTS5sb2NhbC52ZXJzaW9uOk0ubG9jYWwuZmlsZU5hbWU7aWYodHlwZW9mIE0ubG9jYWwuc2l6ZT09Im51bWJlciImJihRKz0iIFx4QjcgIit4bihNLmxvY2FsLnNpemUpKSxZLnRleHRDb250ZW50PVEsVC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxqKXt2YXIgJD1NLmxvY2FsLnZlcnNpb24/RihNLmxvY2FsLnZlcnNpb24sem4pOjE7TChqLCQsTS5sb2NhbC5kb3dubG9hZFVybCxNLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuYXBrIiwibG9jYWwiLCExKX19IU0uZ2l0aHViJiYhTS5sb2NhbCYmRyYmKEcudGV4dENvbnRlbnQ9Ilx1NjY4Mlx1NjVFMFx1NTNFRlx1NzUyOFx1NjZGNFx1NjVCMCIsRy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWF1dG8tdXBkYXRlLXJvdyIpLGdlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWF1dG8tdXBkYXRlLWhpbnQiKTtpZSYmaWUuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhaSksZ2UmJmdlLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWkpfWVsc2V7aWYoTS5naXRodWImJlcmJmspe3ZhciBhZT1NLmdpdGh1Yi52ZXJzaW9uPyJ2IitNLmdpdGh1Yi52ZXJzaW9uOk0uZ2l0aHViLmZpbGVOYW1lO3R5cGVvZiBNLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKGFlKz0iIFx4QjcgIit4bihNLmdpdGh1Yi5zaXplKSksay50ZXh0Q29udGVudD1hZSxXLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEkmJihJLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLEkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksSS5vbmNsaWNrPWZ1bmN0aW9uKCl7d2luZG93Lm9wZW4oTS5naXRodWIuZG93bmxvYWRVcmwsIl9ibGFuayIpLEMoIlx1NkI2M1x1NTcyOFx1NjI1M1x1NUYwMFx1NEUwQlx1OEY3RFx1OTg3NVx1MjAyNiIsImluZm8iKX0pfWlmKE0ubG9jYWwmJlQmJlkpe3ZhciB1ZT1NLmxvY2FsLnZlcnNpb24/InYiK00ubG9jYWwudmVyc2lvbjpNLmxvY2FsLmZpbGVOYW1lO3R5cGVvZiBNLmxvY2FsLnNpemU9PSJudW1iZXIiJiYodWUrPSIgXHhCNyAiK3huKE0ubG9jYWwuc2l6ZSkpLFkudGV4dENvbnRlbnQ9dWUsVC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxqJiYoai50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEIixqLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGoub25jbGljaz1mdW5jdGlvbigpe0QoTS5sb2NhbC5kb3dubG9hZFVybCxNLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuYXBrIixqKX0pfSFNLmdpdGh1YiYmIU0ubG9jYWwmJkcmJihHLnRleHRDb250ZW50PW5lPyJcdTU3MjhcdTdFQkZcdTcyNDhcdTY3MkNcdTY2ODJcdTY1RjZcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdTUzRUZcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDUiOiJBbmRyb2lkIFx1NEUwQlx1OEY3RFx1NjcyQVx1NTcyOFx1NjcwRFx1NTJBMVx1N0FFRlx1NTQyRlx1NzUyOCIsRy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIHplPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctc2VjdGlvbiIpLFRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctY3VycmVudC1yb3ciKSxGZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWN1cnJlbnQiKSxMZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLWdpdGh1Yi1yb3ciKSxhdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWdpdGh1YiIpLERlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3dubG9hZC1naXRodWItZG1nLWJ0biIpLFg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1sb2NhbC1yb3ciKSxoZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWxvY2FsIiksZmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWxvY2FsLWRtZy1idG4iKSxvZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLW1lc3NhZ2UiKSxxPW4ubWFjb3NEbWd8fHt9LHllPSEhYm4scHQ9cS5lbmFibGVkIT09ITEsenQ9eWV8fHB0JiYoISFxLmdpdGh1Ynx8ISFxLmxvY2FsKTtpZih6ZSYmKHp0P3plLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOnplLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSx5ZSl7aWYoVGUmJkZlJiYoRmUudGV4dENvbnRlbnQ9InYiK2JuLFRlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxxLmdpdGh1YiYmTGUmJmF0KXt2YXIgVWU9cS5naXRodWIudmVyc2lvbj8idiIrcS5naXRodWIudmVyc2lvbjpxLmdpdGh1Yi5maWxlTmFtZTtpZih0eXBlb2YgcS5naXRodWIuc2l6ZT09Im51bWJlciImJihVZSs9IiBceEI3ICIreG4ocS5naXRodWIuc2l6ZSkpLGF0LnRleHRDb250ZW50PVVlLExlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLERlKXt2YXIgdXQ9cS5naXRodWIudmVyc2lvbj9GKHEuZ2l0aHViLnZlcnNpb24sYm4pOjE7TChEZSx1dCxxLmdpdGh1Yi5kb3dubG9hZFVybCxxLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsImdpdGh1YiIsITApfX1pZihxLmxvY2FsJiZYJiZoZSl7dmFyIFZ0PXEubG9jYWwudmVyc2lvbj8idiIrcS5sb2NhbC52ZXJzaW9uOnEubG9jYWwuZmlsZU5hbWU7aWYodHlwZW9mIHEubG9jYWwuc2l6ZT09Im51bWJlciImJihWdCs9IiBceEI3ICIreG4ocS5sb2NhbC5zaXplKSksaGUudGV4dENvbnRlbnQ9VnQsWC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxmZSl7dmFyIHh0PXEubG9jYWwudmVyc2lvbj9GKHEubG9jYWwudmVyc2lvbixibik6MTtMKGZlLHh0LHEubG9jYWwuZG93bmxvYWRVcmwscS5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsImxvY2FsIiwhMCl9fSFxLmdpdGh1YiYmIXEubG9jYWwmJm9lJiYob2UudGV4dENvbnRlbnQ9Ilx1NjY4Mlx1NjVFMFx1NTNFRlx1NzUyOFx1NjZGNFx1NjVCMCIsb2UuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO3ZhciB0dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtYXV0by11cGRhdGUtcm93IiksTWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWF1dG8tdXBkYXRlLWhpbnQiKTt0dCYmdHQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhaSksTWUmJk1lLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWkpfWVsc2V7aWYocS5naXRodWImJkxlJiZhdCl7dmFyIFBlPXEuZ2l0aHViLnZlcnNpb24/InYiK3EuZ2l0aHViLnZlcnNpb246cS5naXRodWIuZmlsZU5hbWU7dHlwZW9mIHEuZ2l0aHViLnNpemU9PSJudW1iZXIiJiYoUGUrPSIgXHhCNyAiK3huKHEuZ2l0aHViLnNpemUpKSxhdC50ZXh0Q29udGVudD1QZSxMZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxEZSYmKERlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLERlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLERlLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cub3BlbihxLmdpdGh1Yi5kb3dubG9hZFVybCwiX2JsYW5rIiksQygiXHU2QjYzXHU1NzI4XHU2MjUzXHU1RjAwXHU0RTBCXHU4RjdEXHU5ODc1XHUyMDI2IiwiaW5mbyIpfSl9aWYocS5sb2NhbCYmWCYmaGUpe3ZhciBDZT1xLmxvY2FsLnZlcnNpb24/InYiK3EubG9jYWwudmVyc2lvbjpxLmxvY2FsLmZpbGVOYW1lO3R5cGVvZiBxLmxvY2FsLnNpemU9PSJudW1iZXIiJiYoQ2UrPSIgXHhCNyAiK3huKHEubG9jYWwuc2l6ZSkpLGhlLnRleHRDb250ZW50PUNlLFguY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZmUmJihmZS50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEIixmZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxmZS5vbmNsaWNrPWZ1bmN0aW9uKCl7RChxLmxvY2FsLmRvd25sb2FkVXJsLHEubG9jYWwuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5kbWciLGZlKX0pfSFxLmdpdGh1YiYmIXEubG9jYWwmJm9lJiYob2UudGV4dENvbnRlbnQ9cHQ/Ilx1NTcyOFx1N0VCRlx1NzI0OFx1NjcyQ1x1NjY4Mlx1NjVGNlx1ODNCN1x1NTNENlx1NTkzMVx1OEQyNVx1RkYwQ1x1NTNFRlx1N0EwRFx1NTQwRVx1OTFDRFx1OEJENSI6Im1hY09TIFx1NEUwQlx1OEY3RFx1NjcyQVx1NTcyOFx1NjcwRFx1NTJBMVx1N0FFRlx1NTQyRlx1NzUyOCIsb2UuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfXZhciB3PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtY29kZSIpLFN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtcXIiKSxxZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksbnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1xci13cmFwIik7aWYodyYmaSl7dy50ZXh0Q29udGVudD0iXHU1MkEwXHU4RjdEXHU0RTJELi4uIixxZSYmKHFlLnRleHRDb250ZW50PSJcdTc1MUZcdTYyMTBcdTRFMkRcdTIwMjYiKSxTdCYmKFN0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIpO3ZhciBhbj0iL2FwaS9hcHAtY29ubmVjdC1jb2RlIjt3aW5kb3cubG9jYXRpb24mJndpbmRvdy5sb2NhdGlvbi5vcmlnaW4mJihhbis9Ij9vcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLm9yaWdpbikpLGZldGNoKGFuLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihLKXtyZXR1cm4gSy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKEspe0suY29kZT8ody50ZXh0Q29udGVudD1LLmNvZGUsci5hbmRyb2lkQ29ubmVjdENvZGU9Sy5jb2RlLEFnKEsuY29kZSkpOih3LnRleHRDb250ZW50PSJcdTc1MUZcdTYyMTBcdTU5MzFcdThEMjUiLHFlJiYocWUudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIpKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dy50ZXh0Q29udGVudD0iXHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1IixxZSYmKHFlLnRleHRDb250ZW50PSJcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjUiKX0pfW50JiYhbnQuZGF0YXNldC5ib3VuZCYmKG50LmRhdGFzZXQuYm91bmQ9IjEiLG50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3IuYW5kcm9pZENvbm5lY3RDb2RlJiZ4ZyhyLmFuZHJvaWRDb25uZWN0Q29kZSl9KSk7dmFyIHJlPW4uY29uZmlnfHx7fSxVdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWhvc3QiKSxLdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXBvcnQiKSxTZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWh0dHBzIikscnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1tb2RlIiksVmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jd2QiKSxKdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXNoZWxsIik7VXQmJihVdC52YWx1ZT1yZS5ob3N0fHwiIiksS3QmJihLdC52YWx1ZT1yZS5wb3J0fHwiIiksU2UmJihTZS5jaGVja2VkPXJlLmh0dHBzPT09ITApLHJ0JiYocnQudmFsdWU9cmUuZGVmYXVsdE1vZGV8fCJkZWZhdWx0IiksVmUmJihWZS52YWx1ZT1yZS5kZWZhdWx0Q3dkfHwiIiksSnQmJihKdC52YWx1ZT1yZS5zaGVsbHx8IiIpO3ZhciB1bj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWxhbmd1YWdlIik7dW4mJih1bi52YWx1ZT1yZS5sYW5ndWFnZXx8IiIpO3ZhciBvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIik7b24mJihvbi52YWx1ZT1yZS5zdHJ1Y3R1cmVkUnVubmVyfHwiY2xpIik7dmFyIEluPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaW5oZXJpdC1lbnYiKTtJbiYmKEluLmNoZWNrZWQ9cmUuaW5oZXJpdEVudiE9PSExKTt2YXIgSXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtY2xpIiksc249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtbW9kZWwiKTtJdCYmKEl0LnZhbHVlPWN0KHJlLmNvbW1pdENsaSkpLHNuJiYoc24udmFsdWU9cmUuY29tbWl0TW9kZWx8fCIiLHNuLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIsc24uZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIpLGFhKCExKTt2YXIgS2U9cmUuZGVmYXVsdE1vZGVscyYmdHlwZW9mIHJlLmRlZmF1bHRNb2RlbHM9PSJvYmplY3QiP3JlLmRlZmF1bHRNb2RlbHM6e2NsYXVkZTpyZS5kZWZhdWx0TW9kZWx8fCIiLGNvZGV4OnJlLmRlZmF1bHRDb2RleE1vZGVsfHwiIixvcGVuY29kZTpyZS5kZWZhdWx0T3BlbkNvZGVNb2RlbHx8IiJ9O3IuY29uZmlnRGVmYXVsdE1vZGVscz17Y2xhdWRlOktlLmNsYXVkZXx8IiIsY29kZXg6S2UuY29kZXh8fCIiLG9wZW5jb2RlOktlLm9wZW5jb2RlfHwiIn0sci5jb25maWdEZWZhdWx0TW9kZWw9ci5jb25maWdEZWZhdWx0TW9kZWxzLmNsYXVkZTt2YXIgbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsIiksbG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIiksSGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIik7bGUmJmxlLmRhdGFzZXQubW9kZWxEaXJ0eSE9PSJ0cnVlIiYmKGxlLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0iZmFsc2UiKSxsbiYmbG4uZGF0YXNldC5tb2RlbERpcnR5IT09InRydWUiJiYobG4uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkPSJmYWxzZSIpLEhlJiZIZS5kYXRhc2V0Lm1vZGVsRGlydHkhPT0idHJ1ZSImJihIZS5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQ9ImZhbHNlIiksdWEoKSx0ZCgpLnRoZW4oZnVuY3Rpb24oKXt1YSgpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KTt2YXIgZG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtc3RhdHVzIik7ZG4mJihkbi50ZXh0Q29udGVudD1uLmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IjoiXHU2NzJBXHU1Qjg5XHU4OEM1XHU4QkMxXHU0RTY2XHVGRjA4XHU0RjdGXHU3NTI4XHU4MUVBXHU3QjdFXHU1NDBEXHU2MjE2IEhUVFBcdUZGMDkiLGRuLnN0eWxlLmNvbG9yPW4uaGFzQ2VydD8idmFyKC0tc3VjY2VzcykiOiJ2YXIoLS10ZXh0LXNlY29uZGFyeSkiKTt2YXIgY249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByZXNldHMtbGlzdCIpO2lmKGNuJiZyZS5jb21tYW5kUHJlc2V0cyl7Zm9yKHZhciBHdD0iIixmbj0wO2ZuPHJlLmNvbW1hbmRQcmVzZXRzLmxlbmd0aDtmbisrKXt2YXIgb3Q9cmUuY29tbWFuZFByZXNldHNbZm5dO0d0Kz0nPGRpdiBjbGFzcz0icHJlc2V0LWl0ZW0iPjxzcGFuIGNsYXNzPSJwcmVzZXQtbGFiZWwiPicrcChvdC5sYWJlbCkrJzwvc3Bhbj48c3BhbiBjbGFzcz0icHJlc2V0LWRldGFpbCI+JytwKG90LmNvbW1hbmQpKyhvdC5tb2RlPyIgKCIrcChvdC5tb2RlKSsiKSI6IiIpKyI8L3NwYW4+PC9kaXY+In1HdHx8KEd0PSc8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS1jb21wYWN0Ij48c3BhbiBjbGFzcz0iZW1wdHktaWNvbiI+XHUyNjk5PC9zcGFuPjxzcGFuPlx1NkNBMVx1NjcwOVx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRTwvc3Bhbj48c3BhbiBjbGFzcz0iaGludCI+XHU1NzI4IGNvbmZpZy5qc29uIFx1NzY4NCBjb21tYW5kUHJlc2V0cyBcdTRFMkRcdTkxNERcdTdGNkU8L3NwYW4+PC9kaXY+JyksY24uaW5uZXJIVE1MPUd0fXZhciBUdD1yZS5jYXJkRGVmYXVsdHN8fHt9LHZ0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1lZGl0IiksVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtaW5saW5lIiksUj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGVybWluYWwiKSxaPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10aGlua2luZyIpLGRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10b29sZ3JvdXAiKTt2dCYmKHZ0LmNoZWNrZWQ9VHQuZWRpdENhcmRzPT09ITApLFUmJihVLmNoZWNrZWQ9VHQuaW5saW5lVG9vbHM9PT0hMCksUiYmKFIuY2hlY2tlZD1UdC50ZXJtaW5hbD09PSEwKSxaJiYoWi5jaGVja2VkPVR0LnRoaW5raW5nPT09ITApLGRlJiYoZGUuY2hlY2tlZD1UdC50b29sR3JvdXA9PT0hMCl9KS5jYXRjaChmdW5jdGlvbihuKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYWJvdXQtYWNjZXNzLW5vdGUiKTtpJiYoaS50ZXh0Q29udGVudD1uJiZuLm1lc3NhZ2V8fCJcdTUxNzNcdTRFOEVcdTRGRTFcdTYwNkZcdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdThCRjdcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiLGkuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsaS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9KX1mdW5jdGlvbiBJZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maWctbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PSgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsIil8fHt9KS52YWx1ZXx8IiIpLnRyaW0oKSxuPSgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIil8fHt9KS52YWx1ZXx8IiIpLnRyaW0oKSxpPSgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIil8fHt9KS52YWx1ZXx8IiIpLnRyaW0oKSxhPSgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtbW9kZWwiKXx8e30pLnZhbHVlfHwiIikudHJpbSgpLHU9e2hvc3Q6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaG9zdCIpfHx7fSkudmFsdWUscG9ydDpOdW1iZXIoKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctcG9ydCIpfHx7fSkudmFsdWUpLGh0dHBzOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWh0dHBzIil8fHt9KS5jaGVja2VkLGRlZmF1bHRNb2RlOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW1vZGUiKXx8e30pLnZhbHVlLGRlZmF1bHRDd2Q6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY3dkIil8fHt9KS52YWx1ZSxzaGVsbDooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1zaGVsbCIpfHx7fSkudmFsdWUsbGFuZ3VhZ2U6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbGFuZ3VhZ2UiKXx8e30pLnZhbHVlfHwiIixkZWZhdWx0TW9kZWw6dCxkZWZhdWx0Q29kZXhNb2RlbDpuLGRlZmF1bHRPcGVuQ29kZU1vZGVsOmksZGVmYXVsdE1vZGVsczp7Y2xhdWRlOnQsY29kZXg6bixvcGVuY29kZTppfSxjb21taXRDbGk6Y3QoKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY29tbWl0LWNsaSIpfHx7fSkudmFsdWUpLGNvbW1pdE1vZGVsOmEsc3RydWN0dXJlZFJ1bm5lcjooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1zdHJ1Y3R1cmVkLXJ1bm5lciIpfHx7fSkudmFsdWV8fCJjbGkiLGluaGVyaXRFbnY6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaW5oZXJpdC1lbnYiKXx8e30pLmNoZWNrZWQhPT0hMX0sbz1IdSgpLHM9dS5kZWZhdWx0TW9kZWx8fCIiLGw9dS5kZWZhdWx0Q29kZXhNb2RlbHx8IiIsZD11LmRlZmF1bHRPcGVuQ29kZU1vZGVsfHwiIjtmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHUpfSkudGhlbihmdW5jdGlvbihmKXtyZXR1cm4gZi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGYpe2lmKGUmJihmLmVycm9yPyhlLnRleHRDb250ZW50PWYuZXJyb3IsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIik6KGUudGV4dENvbnRlbnQ9Zi5yZXN0YXJ0UmVxdWlyZWQ/Ilx1OTE0RFx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OFx1RkYwQ1x1OTBFOFx1NTIwNlx1OTBFOFx1N0Y3Mlx1NUI1N1x1NkJCNVx1RkYwOGhvc3QvcG9ydC9odHRwcy9zaGVsbFx1RkYwOVx1OTcwMFx1ODk4MVx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1NjI0RFx1NzUxRlx1NjU0OFx1MzAwMiI6Ilx1OTE0RFx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OFx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSwhZnx8IWYuZXJyb3Ipe3IuY29uZmlnJiYoci5jb25maWcuZGVmYXVsdE1vZGVsPXMsci5jb25maWcuZGVmYXVsdENvZGV4TW9kZWw9bCxyLmNvbmZpZy5kZWZhdWx0T3BlbkNvZGVNb2RlbD1kLHIuY29uZmlnLmRlZmF1bHRNb2RlbHM9e2NsYXVkZTpzLGNvZGV4Omwsb3BlbmNvZGU6ZH0sci5jb25maWcuY29tbWl0Q2xpPXUuY29tbWl0Q2xpLHIuY29uZmlnLmNvbW1pdE1vZGVsPXUuY29tbWl0TW9kZWwpLHIuY29uZmlnRGVmYXVsdE1vZGVscz17Y2xhdWRlOnMsY29kZXg6bCxvcGVuY29kZTpkfSxyLmNvbmZpZ0RlZmF1bHRNb2RlbD1zO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbCIpLHY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIiksaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtb3BlbmNvZGUtbW9kZWwiKTtjJiYoYy5kYXRhc2V0Lm1vZGVsRGlydHk9ImZhbHNlIiksdiYmKHYuZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIpLGgmJihoLmRhdGFzZXQubW9kZWxEaXJ0eT0iZmFsc2UiKTt2YXIgbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbCIpO20mJihtLmRhdGFzZXQubW9kZWxEaXJ0eT0iZmFsc2UiKSxzIT09by5jbGF1ZGUmJm5hKCJjbGF1ZGUiLCIiKSxsIT09by5jb2RleCYmbmEoImNvZGV4IiwiIiksZCE9PW8ub3BlbmNvZGUmJm5hKCJvcGVuY29kZSIsIiIpLChzIT09by5jbGF1ZGV8fGwhPT1vLmNvZGV4fHxkIT09by5vcGVuY29kZSkmJmRyKFhlKCkpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pfWZ1bmN0aW9uIFRnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpc3BsYXktbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PXtjYXJkRGVmYXVsdHM6e2VkaXRDYXJkczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtZWRpdCIpfHx7fSkuY2hlY2tlZCxpbmxpbmVUb29sczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtaW5saW5lIil8fHt9KS5jaGVja2VkLHRlcm1pbmFsOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10ZXJtaW5hbCIpfHx7fSkuY2hlY2tlZCx0aGlua2luZzohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGhpbmtpbmciKXx8e30pLmNoZWNrZWQsdG9vbEdyb3VwOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10b29sZ3JvdXAiKXx8e30pLmNoZWNrZWR9fTtmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHQpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2UmJihuLmVycm9yPyhlLnRleHRDb250ZW50PW4uZXJyb3IsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIik6KGUudGV4dENvbnRlbnQ9Ilx1NjYzRVx1NzkzQVx1OEJCRVx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSwhbi5lcnJvciYmci5jb25maWcmJihyLmNvbmZpZy5jYXJkRGVmYXVsdHM9dC5jYXJkRGVmYXVsdHMpfSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9ZnVuY3Rpb24gTGcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1rZXktZmlsZSIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtY2VydC1maWxlIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1tZXNzYWdlIik7aWYobiYmKG4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksbi50ZXh0Q29udGVudD0iIiksIWV8fCFlLmZpbGVzfHwhZS5maWxlc1swXXx8IXR8fCF0LmZpbGVzfHwhdC5maWxlc1swXSl7biYmKG4udGV4dENvbnRlbnQ9Ilx1OEJGN1x1OTAwOVx1NjJFOVx1NzlDMVx1OTRBNVx1NTQ4Q1x1OEJDMVx1NEU2Nlx1NjU4N1x1NEVGNlx1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTtyZXR1cm59dmFyIGk9bmV3IEZpbGVSZWFkZXI7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYT1pLnJlc3VsdCx1PW5ldyBGaWxlUmVhZGVyO3Uub25sb2FkPWZ1bmN0aW9uKCl7dmFyIG89dS5yZXN1bHQ7ZmV0Y2goIi9hcGkvc2V0dGluZ3MvdXBsb2FkLWNlcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtrZXk6YSxjZXJ0Om99KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkudGhlbihmdW5jdGlvbihzKXtpZihuKXtpZihzLmVycm9yKW4udGV4dENvbnRlbnQ9cy5lcnJvcixuLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiO2Vsc2V7bi50ZXh0Q29udGVudD0iXHU4QkMxXHU0RTY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU5MUNEXHU1NDJGXHU1NDBFXHU3NTFGXHU2NTQ4XHUzMDAyIixuLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSI7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtc3RhdHVzIik7bCYmKGwudGV4dENvbnRlbnQ9Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IixsLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpfW4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtuJiYobi50ZXh0Q29udGVudD0iXHU0RTBBXHU0RjIwXHU1OTMxXHU4RDI1XHUzMDAyIixuLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLG4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9LHUucmVhZEFzVGV4dCh0LmZpbGVzWzBdKX0saS5yZWFkQXNUZXh0KGUuZmlsZXNbMF0pfWZ1bmN0aW9uIG1kKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1tZXNzYWdlIik7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NEUyRC4uLiIpLG4mJm4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxmZXRjaCgiL2FwaS9jaGVjay11cGRhdGUiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe2UmJihlLnRleHRDb250ZW50PSJcdTY4QzBcdTY3RTVcdTU5MzFcdThEMjUiKTtyZXR1cm59dmFyIGE9aS5jaGFubmVsPT09ImJldGEiO2lmKGUmJihlLnRleHRDb250ZW50PWkubGF0ZXN0fHwoYT8iYmV0YSBcdTY3MkFcdTUzRDFcdTVFMDMiOiItIikpLCFpLmxhdGVzdCl7biYmKG4udGV4dENvbnRlbnQ9YT8iXHU2NUUwXHU2Q0Q1XHU4QkZCXHU1M0Q2IG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1MzAwMiI6Ilx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMCBucG0gcmVnaXN0cnlcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7cmV0dXJufXQmJih0LnRleHRDb250ZW50PWkudXBkYXRlQXZhaWxhYmxlP2E/Ilx1NjZGNFx1NjVCMFx1NTIzMCBCZXRhIjoiXHU2NkY0XHU2NUIwXHU1MjMwXHU2NzAwXHU2NUIwXHU3MjQ4IjphPyJcdTkxQ0RcdTY1QjBcdTVCODlcdTg4QzUgQmV0YSI6Ilx1OTFDRFx1NjVCMFx1NUI4OVx1ODhDNVx1NjcwMFx1NjVCMFx1NzI0OCIsdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksIWkudXBkYXRlQXZhaWxhYmxlJiZuJiYobi50ZXh0Q29udGVudD1hPyJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAgQmV0YSBcdTcyNDhcdTY3MkNcdTMwMDIiOiJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjBcdTcyNDhcdTY3MkNcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NTkzMVx1OEQyNSIpfSl9ZnVuY3Rpb24gZ2QoZSl7dmFyIHQ9ZSYmQXJyYXkuaXNBcnJheShlLml0ZW1zKT9lLml0ZW1zOltdLG49MDtbImNsYXVkZSIsImNvZGV4Iiwib3BlbmNvZGUiXS5mb3JFYWNoKGZ1bmN0aW9uKHUpe3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm92aWRlci1jbGktc3RhdHVzLSIrdSk7aWYobyl7dmFyIHM9dC5maW5kKGZ1bmN0aW9uKGQpe3JldHVybiBkLmlkPT09dX0pO2lmKCFzKXtvLnRleHRDb250ZW50PSJcdTY4QzBcdTZENEJcdTU5MzFcdThEMjUiO3JldHVybn1pZihvLnNldEF0dHJpYnV0ZSgidGl0bGUiLHMuZXJyb3J8fHMuZXhlY3V0YWJsZXx8IiIpLCFzLmluc3RhbGxlZCl7by50ZXh0Q29udGVudD0iXHU2NzJBXHU1Qjg5XHU4OEM1IjtyZXR1cm59dmFyIGw9cy5jdXJyZW50VmVyc2lvbnx8Ilx1NjcyQVx1NzdFNVx1NzI0OFx1NjcyQyI7aWYocy51cGRhdGVBdmFpbGFibGUmJnMudXBkYXRlU3VwcG9ydGVkKXtuKyssby50ZXh0Q29udGVudD1sKyIgXHUyMTkyICIrKHMubGF0ZXN0VmVyc2lvbnx8Ilx1NjcwMFx1NjVCMFx1NzI0OCIpO3JldHVybn1pZihzLnVwZGF0ZUF2YWlsYWJsZSYmIXMudXBkYXRlU3VwcG9ydGVkKXtvLnRleHRDb250ZW50PWwrIiBceEI3IFx1OTcwMFx1OEZDMVx1NzlGQiI7cmV0dXJufW8udGV4dENvbnRlbnQ9cy5sYXRlc3RWZXJzaW9uP2wrIiBceEI3IFx1NjcwMFx1NjVCMCI6bCsiIFx4QjcgXHU2NzJBXHU4QkZCXHU1M0Q2XHU1MjMwXHU2NzAwXHU2NUIwXHU3MjQ4In19KTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLXByb3ZpZGVyLWNsaXMiKTtpJiYoaS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLG49PT0wKSxpLnRleHRDb250ZW50PW4+MD8iXHU1RkVCXHU5MDFGXHU2NkY0XHU2NUIwICgiK24rIikiOiJcdTVGRUJcdTkwMUZcdTY2RjRcdTY1QjAiKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtY2xpLXRvZ2dsZSIpO2EmJnR5cGVvZiBlLmF1dG9VcGRhdGU9PSJib29sZWFuIiYmKGEuY2hlY2tlZD1lLmF1dG9VcGRhdGUpfWZ1bmN0aW9uIGhkKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjay1wcm92aWRlci1jbGktdXBkYXRlcyIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNsaS11cGRhdGUtbWVzc2FnZSIpO3JldHVybiB0JiYodC5kaXNhYmxlZD0hMCx0LnRleHRDb250ZW50PSJcdTY4QzBcdTZENEJcdTRFMkRcdTIwMjYiKSxmZXRjaCgiL2FwaS9wcm92aWRlci1jbGktdXBkYXRlcyIrKGU/Ij9yZWZyZXNoPTEiOiIiKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtyZXR1cm4gZ2QoaSksbiYmZSYmKG4udGV4dENvbnRlbnQ9IkNMSSBcdTcyNDhcdTY3MkNcdTY4QzBcdTY3RTVcdTVCOENcdTYyMTBcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxpfSkuY2F0Y2goZnVuY3Rpb24oaSl7cmV0dXJuIG4mJihuLnRleHRDb250ZW50PWkmJmkubWVzc2FnZXx8IkNMSSBcdTcyNDhcdTY3MkNcdTY4QzBcdTY3RTVcdTU5MzFcdThEMjVcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksbnVsbH0pLmZpbmFsbHkoZnVuY3Rpb24oKXt0JiYodC5kaXNhYmxlZD0hMSx0LnRleHRDb250ZW50PSJcdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjAiKX0pfWZ1bmN0aW9uIE1nKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1wcm92aWRlci1jbGlzIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2stcHJvdmlkZXItY2xpLXVwZGF0ZXMiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm92aWRlci1jbGktdXBkYXRlLW1lc3NhZ2UiKTtlJiYoZS5kaXNhYmxlZD0hMCxlLnRleHRDb250ZW50PSJcdTY2RjRcdTY1QjBcdTRFMkRcdTIwMjYiKSx0JiYodC5kaXNhYmxlZD0hMCksbiYmKG4udGV4dENvbnRlbnQ9Ilx1NkI2M1x1NTcyOFx1NEY5RFx1NkIyMVx1NjZGNFx1NjVCMCBDTElcdUZGMENcdThCRjdcdTUyRkZcdTUxNzNcdTk1RURcdTY3MERcdTUyQTFcdTIwMjYiLG4uc3R5bGUuY29sb3I9InZhcigtLXRleHQtc2Vjb25kYXJ5KSIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksZmV0Y2goIi9hcGkvcHJvdmlkZXItY2xpLXVwZGF0ZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtnZChpKTt2YXIgYT1BcnJheS5pc0FycmF5KGkucmVzdWx0cyk/aS5yZXN1bHRzOltdLHU9YS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIW8ub2t9KTtuJiYobi50ZXh0Q29udGVudD1hLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gby5tZXNzYWdlfSkuam9pbigiICIpfHwiXHU2Q0ExXHU2NzA5XHU5NzAwXHU4OTgxXHU2NkY0XHU2NUIwXHU3Njg0IENMSVx1MzAwMiIsbi5zdHlsZS5jb2xvcj11Lmxlbmd0aD8idmFyKC0td2FybmluZykiOiJ2YXIoLS1zdWNjZXNzKSIpfSkuY2F0Y2goZnVuY3Rpb24oaSl7biYmKG4udGV4dENvbnRlbnQ9aSYmaS5tZXNzYWdlfHwiQ0xJIFx1NjZGNFx1NjVCMFx1NTkzMVx1OEQyNVx1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZSYmKGUuZGlzYWJsZWQ9ITEpLHQmJih0LmRpc2FibGVkPSExKX0pfWZ1bmN0aW9uIE9nKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1tZXNzYWdlIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpO2lmKHQpe3ZhciBuPXQudGV4dENvbnRlbnR8fCJcdTY2RjRcdTY1QjBcdTUyMzBcdTY3MDBcdTY1QjBcdTcyNDgiLGk9ZnVuY3Rpb24oKXt0LmRpc2FibGVkPSExLHQudGV4dENvbnRlbnQ9bix0LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1idXN5Iil9O3QuZGlzYWJsZWQ9ITAsdC50ZXh0Q29udGVudD0iXHU2NkY0XHU2NUIwXHU0RTJELi4uIix0LnNldEF0dHJpYnV0ZSgiYXJpYS1idXN5IiwidHJ1ZSIpLGUmJihlLnRleHRDb250ZW50PSJcdTZCNjNcdTU3MjhcdTY2RjRcdTY1QjBcdUZGMENcdThCRjdcdTdBMERcdTUwMTkuLi4iLGUuc3R5bGUuY29sb3I9InZhcigtLXRleHQtc2Vjb25kYXJ5KSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksZmV0Y2goIi9hcGkvdXBkYXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYS5lcnJvcil7ZSYmKGUudGV4dENvbnRlbnQ9YS5lcnJvcixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGkoKTtyZXR1cm59aWYoZSYmKGUudGV4dENvbnRlbnQ9KGEubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiLGUuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSx0LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1idXN5IiksdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxhLmRldGFjaGVkVXBkYXRlKUVuKGEucHJldmlvdXNJbnN0YW5jZUlkfHxudWxsLGEudmVyc2lvbnx8bnVsbCk7ZWxzZSBpZihhLnJlc3RhcnRSZXF1aXJlZCE9PSExKU9zKG51bGwsZSk7ZWxzZXt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tcmVzdGFydC1idXR0b24iKTt1JiZ1LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjZGNFx1NjVCMFx1NTkzMVx1OEQyNVx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxpKCl9KX19ZnVuY3Rpb24gUGcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tcmVzdGFydC1idXR0b24iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGRhdGUtbWVzc2FnZSIpO09zKGUsdCl9ZnVuY3Rpb24gcWcoKXtmZXRjaCgiL2FwaS9hdXRvLXVwZGF0ZSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7aWYoZS5hcGspcmV0dXJuIGZldGNoKCIvYXBpL2FuZHJvaWQtYXBrLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudCh6bikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5hcGsiLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIEhnKCl7Ym4mJmZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlLmRtZylyZXR1cm4gZmV0Y2goIi9hcGkvbWFjb3MtZG1nLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChibikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5kbWciLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIGZhKGUsdCl7dmFyIG49e307bltlXT10LGZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShuKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWFway10b2dnbGUiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1kbWctdG9nZ2xlIikscz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtY2xpLXRvZ2dsZSIpO2EmJihhLmNoZWNrZWQ9ISFpLndlYiksdSYmKHUuY2hlY2tlZD0hIWkuYXBrKSxvJiYoby5jaGVja2VkPSEhaS5kbWcpLHMmJihzLmNoZWNrZWQ9ISFpLmNsaSl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS0iK2UrIi10b2dnbGUiKTtpJiYoaS5jaGVja2VkPSF0KX0pfWZ1bmN0aW9uIF9nKGUpe2ZldGNoKCIvYXBpL3VwZGF0ZS1jaGFubmVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2hhbm5lbDplfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTtuJiYobi5jaGVja2VkPXQuY2hhbm5lbD09PSJiZXRhIiksbWQoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTt0JiYodC5jaGVja2VkPWUhPT0iYmV0YSIpfSl9ZnVuY3Rpb24geWQoZSl7Zm9yKHZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24iKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl0uZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKT09PWU7dFtuXS5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsaSksdFtuXS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsaT8idHJ1ZSI6ImZhbHNlIil9fWZ1bmN0aW9uIFNuKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXN0YXR1cyIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7aWYoZSl7dmFyIGE9TGkoKTtpZihhPT09bnVsbCl7aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe2UudGV4dENvbnRlbnQ9Ilx1NEUwRFx1NjUyRlx1NjMwMSIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZmctbXV0ZWQpIix0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLG4mJm4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWE9Tm90aWZpY2F0aW9uLnBlcm1pc3Npb259YT09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHU1REYyXHU2Mzg4XHU2NzQzIFx1MjcxMyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksbiYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSk6YT09PSJkZW5pZWQiPyhlLnRleHRDb250ZW50PSJcdTVERjJcdTYyRDJcdTdFREQiLGUuc3R5bGUuY29sb3I9InZhcigtLWRhbmdlcikiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksbiYmbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9Ilx1NjcyQVx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0td2FybmluZykiLHQmJnQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbiYmbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIE5nKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKTtpZihqZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24odCl7U24oKSxlJiYodD09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKTooZS50ZXh0Q29udGVudD0iXHUyNzE3IFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwQ1x1OEJGN1x1NTcyOFx1N0NGQlx1N0VERlx1OEJCRVx1N0Y2RVx1NEUyRFx1NUYwMFx1NTQyRiBXYW5kIFx1NzY4NFx1OTAxQVx1NzdFNVx1Njc0M1x1OTY1MCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZGFuZ2VyKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJufXR5cGVvZiBOb3RpZmljYXRpb24+InUifHxOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKGZ1bmN0aW9uKHQpe2lmKFNuKCksdD09PSJncmFudGVkIillJiYoZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO2Vsc2UgaWYodD09PSJkZW5pZWQiJiZlKXt2YXIgbj1sb2NhdGlvbi5vcmlnaW47ZS5pbm5lckhUTUw9J1x1NkQ0Rlx1ODlDOFx1NTY2OFx1NURGMlx1NjJFNlx1NjIyQVx1NjM4OFx1Njc0M1x1NUYzOVx1N0E5N1x1RkYwQ1x1OEJGN1x1NjI0Qlx1NTJBOFx1OTFDRFx1N0Y2RVx1RkYxQTxicj48c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDttYXJnaW46NHB4IDAiPlx1MjQ2MCBcdTcwQjlcdTUxRkJcdTU3MzBcdTU3NDBcdTY4MEZcdTVERTZcdTRGQTdcdTc2ODQgPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Zm9udC1zaXplOjExcHg7dmVydGljYWwtYWxpZ246bWlkZGxlIj5pPC9zcGFuPiBcdTYyMTZcdTk1MDFcdTU2RkVcdTY4MDc8L3NwYW4+PGJyPlx1MjQ2MSBcdTYyN0VcdTUyMzBcdTMwMENcdTkwMUFcdTc3RTVcdTMwMERcdTIxOTIgXHU2NTM5XHU0RTNBXHUzMDBDXHU1MTQxXHU4QkI4XHUzMDBEPGJyPlx1MjQ2MiBcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTUzNzNcdTUzRUYnLGUuc3R5bGUuY29sb3I9InZhcigtLWZnLW11dGVkKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19KX1mdW5jdGlvbiBiZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTtlJiYoZS5kaXNhYmxlZD0hMSxlLnRleHRDb250ZW50PSIxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDEiKX1mdW5jdGlvbiBqZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7ci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXImJihjbGVhclRpbWVvdXQoci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXIpLHIuZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTt0JiYodC5kaXNhYmxlZD0hMCx0LnRleHRDb250ZW50PSJcdTVERjJcdTVCODlcdTYzOTJcdUZGMDgxMHNcdUZGMDkiKSxlJiYoZS5pbm5lckhUTUw9Ilx1NURGMlx1NUI4OVx1NjM5MiAxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDFcdTZENEJcdThCRDVcdTkwMUFcdTc3RTVcdUZGMENcdThCRjdcdTUyMDdcdTUyMzBcdTU0MEVcdTUzRjBcdTdCNDlcdTVGODVcdTMwMDIiLGUuc3R5bGUuY29sb3I9InZhcigtLXRleHQtc2Vjb25kYXJ5KSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3IuZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwsYmQoKSxFZCgpfSwxZTQpfWZ1bmN0aW9uIEVkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKSx0PVtdO3IuZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyJiYoY2xlYXJUaW1lb3V0KHIuZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyKSxyLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lcj1udWxsLGJkKCkpO3ZhciBuPUJwKCk7dC5wdXNoKG4/Ilx1MjcxMyBcdTYzRDBcdTc5M0FcdTk3RjMiOiJcdTI3MTcgXHU2M0QwXHU3OTNBXHU5N0YzXHVGRjA4XHU2NUUwXHU2Q0Q1XHU2NEFEXHU2NTNFXHVGRjA5Iik7dmFyIGk9ci5ub3RpZkJ1YmJsZTtpZigkYSh7dGl0bGU6Ilx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIsYm9keToiXHU4RkQ5XHU2NjJGXHU0RTAwXHU2NzYxXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1XHUzMDAyIix0eXBlOiJpbmZvIixpY29uOiJcdTI2NkEiLGR1cmF0aW9uOjVlMyxwbGF5U291bmQ6ITF9KSx0LnB1c2goaT8iXHUyNzEzIFx1NUU5NFx1NzUyOFx1NTE4NVx1NkMxNFx1NkNFMSI6Ilx1MjAxMyBcdTVFOTRcdTc1MjhcdTUxODVcdTZDMTRcdTZDRTFcdUZGMDhcdTVERjJcdTUxNzNcdTk1RURcdUZGMDkiKSxqZSl7dmFyIGE9TGkoKTtpZihhPT09ImdyYW50ZWQiKXRyeXtXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb24oIldhbmQgXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1IiwiXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1REYyXHU2QjYzXHU1RTM4XHU1REU1XHU0RjVDXHUzMDAyIiwid2FuZC10ZXN0IiksdC5wdXNoKCJcdTI3MTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1Iil9Y2F0Y2h7dC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHVGRjA5Iil9ZWxzZSBpZihhPT09ImRlbmllZCIpdC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1REYyXHU2MkQyXHU3RUREXHVGRjBDXHU4QkY3XHU1NzI4XHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFXHU0RTJEXHU1RjAwXHU1NDJGXHVGRjA5Iik7ZWxzZXt3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdD1mdW5jdGlvbihzKXtpZihTbigpLHM9PT0iZ3JhbnRlZCIpdHJ5e1dhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbigiV2FuZCBcdTZENEJcdThCRDVcdTkwMUFcdTc3RTUiLCJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTVERjJcdTZCNjNcdTVFMzhcdTVERTVcdTRGNUNcdTMwMDIiLCJ3YW5kLXRlc3QiKSx0LnB1c2goIlx1MjcxMyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTVERjJcdTYzODhcdTY3NDNcdUZGMDkiKX1jYXRjaHt0LnB1c2goIlx1MjcxNyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjVcdUZGMDkiKX1lbHNlIHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpO21yKGUsdCksZGVsZXRlIHdpbmRvdy5fb25OYXRpdmVQZXJtaXNzaW9uUmVzdWx0fTt0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59bXIoZSx0KTtyZXR1cm59aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe3QucHVzaCgiXHUyMDEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NEUwRFx1NjUyRlx1NjMwMVx1RkYwOSIpLG1yKGUsdCk7cmV0dXJufXZhciB1PU5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uO2lmKHU9PT0iZ3JhbnRlZCIpe3RyeXt2YXIgbz1uZXcgTm90aWZpY2F0aW9uKCJXYW5kIFx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIse2JvZHk6Ilx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NkI2M1x1NUUzOFx1NURFNVx1NEY1Q1x1MzAwMiIsaWNvbjoiL2Zhdmljb24uaWNvIix0YWc6IndhbmQtdGVzdCJ9KTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7by5jbG9zZSgpfSw1ZTMpLHQucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNSIpfWNhdGNoe3QucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1RkYwQ1x1NTNFRlx1ODBGRFx1OTcwMFx1ODk4MSBIVFRQU1x1RkYwOSIpfW1yKGUsdCl9ZWxzZSB1PT09ImRlbmllZCI/KHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjJEMlx1N0VERFx1RkYwOSIpLG1yKGUsdCkpOk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24ocyl7U24oKSxzPT09ImdyYW50ZWQiP3QucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjM4OFx1Njc0M1x1RkYwOSIpOnQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpLG1yKGUsdCl9KX1mdW5jdGlvbiBtcihlLHQpe2lmKGUpe2UuaW5uZXJIVE1MPXQubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBwKGkpfSkuam9pbigiPGJyPiIpO3ZhciBuPXQuZXZlcnkoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaW5kZXhPZigiXHUyNzEzIik9PT0wfHxpLmluZGV4T2YoIlx1MjAxMyIpPT09MH0pO2Uuc3R5bGUuY29sb3I9bj8idmFyKC0tc3VjY2VzcykiOiJ2YXIoLS13YXJuaW5nKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19ZnVuY3Rpb24gZnQoZSl7aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0Inx8IXIudGVybWluYWwpcmV0dXJuIGU7dHJ5e3R5cGVvZiByLnRlcm1pbmFsLnJlbWVhc3VyZT09ImZ1bmN0aW9uIiYmci50ZXJtaW5hbC5yZW1lYXN1cmUoKX1jYXRjaHt9dmFyIHQ9ci50ZXJtaW5hbC5jb2xzLG49ci50ZXJtaW5hbC5yb3dzO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnR5cGVvZiBuPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUobikmJnQ+MCYmbj4wJiYoZS5jb2xzPXQsZS5yb3dzPW4pLGV9ZnVuY3Rpb24gRmQoKXtyZXR1cm4gci50ZXJtaW5hbCYmci50ZXJtaW5hbC5jb2xzP1Byb21pc2UucmVzb2x2ZSgpOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExLG49ZnVuY3Rpb24oKXt0fHwodD0hMCxlKCkpfSxpPXNldFRpbWVvdXQobiwyZTMpO3RyeXt1cigpfWNhdGNoe31yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLmNvbHMmJihjbGVhclRpbWVvdXQoaSksbigpKX0pfSl9KX1mdW5jdGlvbiBLdSgpe3ZhciBlPSRlKCksdD1RZSgpLG49ZHQoZSxyLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdE1vZGU/ci5jb25maWcuZGVmYXVsdE1vZGU6ImRlZmF1bHQiKTtyLnByZWZlcnJlZENvbW1hbmQ9ZSxyLmNoYXRNb2RlPWR0KGUsci5jaGF0TW9kZSksRmQoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShmdCh7Y29tbWFuZDplLHByb3ZpZGVyOmUsY3dkOnQsbW9kZTpuLHNlc3Npb25Tb3VyY2U6ImludGVyYWN0aXZlIn0pKX0pfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe3goaS5lcnJvciwiZXJyb3IiKTtyZXR1cm59cmV0dXJuIHIuc2VsZWN0ZWRJZD1pLmlkLEVlKCksci5kcmFmdHNbaS5pZF09IiIsRHQoKSxfdCgpfSkudGhlbihmdW5jdGlvbigpe0h0KCEwKX0pLmNhdGNoKGZ1bmN0aW9uKCl7eCgiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfXZhciB1aT0hMTtmdW5jdGlvbiBSZygpe2lmKCF1aSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsLWVycm9yIiksbj0kZSgpLGk9ci5zZXNzaW9uQ3JlYXRlS2luZHx8InN0cnVjdHVyZWQiLGE9ci5zZXNzaW9uQ3JlYXRlV29ya3RyZWU9PT0hMDtUaSh0KTt2YXIgdT1RZSgpLG89KGU/ZS52YWx1ZS50cmltKCk6IiIpfHx1LHM9ZHQobixyLm1vZGVWYWx1ZSk7aWYoZGEoe2RlZmF1bHRQcm92aWRlcjpuLGRlZmF1bHRTZXNzaW9uS2luZDppLGRlZmF1bHRNb2RlOnN9KSxpPT09InN0cnVjdHVyZWQiKXtXZyhvLHMsYSx0KTtyZXR1cm59emcobixvLHMsYSx0KX19ZnVuY3Rpb24gV2coZSx0LG4saSl7dmFyIGE9Y3Qoci5zZXNzaW9uVG9vbCk7cmV0dXJuIHVpPSEwLHIubW9kZVZhbHVlPXQsci5jaGF0TW9kZT10LHIuc2Vzc2lvblRvb2w9YSxyLnByZWZlcnJlZENvbW1hbmQ9YSxRaSgpLGRyKFhlKCkpLGxkKHZvaWQgMCxlLHQsbikudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gWHQoZSksQW4oKSxqdCgpLHV9KS50aGVuKGZ1bmN0aW9uKCl7SHQoITApfSkuY2F0Y2goZnVuY3Rpb24odSl7T2UoaSx1JiZ1Lm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTc4NkVcdThCQTQgQ2xhdWRlIFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1MzAwMiIpfSkuZmluYWxseShmdW5jdGlvbigpe3VpPSExfSl9ZnVuY3Rpb24gemcoZSx0LG4saSxhKXt1aT0hMCxyLm1vZGVWYWx1ZT1uLHIuY2hhdE1vZGU9bixyLnNlc3Npb25Ub29sPWUsci5wcmVmZXJyZWRDb21tYW5kPWUsUWkoKSxGZCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGZ0KHtjb21tYW5kOmUscHJvdmlkZXI6ZSxjd2Q6dCxtb2RlOm4sd29ya3RyZWVFbmFibGVkOmksc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifSkpfSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odSl7aWYodS5lcnJvcil7T2UoYSx1LmVycm9yKTtyZXR1cm59cmV0dXJuIHIuc2VsZWN0ZWRJZD11LmlkLEVlKCksWHQodCksci5kcmFmdHNbdS5pZF09IiIsRHQoKSxBbigpLGp0KCksX3QoKX0pLnRoZW4oZnVuY3Rpb24oKXtyLnNlbGVjdGVkSWQ/TnQoci5zZWxlY3RlZElkKTpIdCghMCl9KS5jYXRjaChmdW5jdGlvbigpe09lKGEsZT09PSJjb2RleCI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDb2RleCBcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTc4NkVcdThCQTQgY29kZXggXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHU1RTc2XHU1M0VGXHU1NzI4XHU3RUM4XHU3QUVGXHU0RTJEXHU2MjY3XHU4ODRDXHUzMDAyIjplPT09Im9wZW5jb2RlIj8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IE9wZW5Db2RlIFx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBvcGVuY29kZS1haSBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTMwMDIiOiJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ2xhdWRlIFx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBDbGF1ZGUgXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHUzMDAyIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dWk9ITF9KX1mdW5jdGlvbiBWZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0LWN3ZCIpO2UmJihlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixDZCksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbih0KXsodC5rZXk9PT0iRW50ZXIifHx0LmtleT09PSIgIikmJih0LnByZXZlbnREZWZhdWx0KCksQ2QoKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIik7aWYoISghbnx8bi5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKSYmIXQudGFyZ2V0LmNsb3Nlc3QoIi5ibGFuay1jaGF0LWN3ZC13cmFwIikpe24uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWFycm93Iik7aSYmKGkudGV4dENvbnRlbnQ9Ilx1MjVCQyIpfX0pKX1mdW5jdGlvbiBDZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0LWN3ZC1kcm9wZG93biIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWFycm93Iik7aWYoZSl7dmFyIG49ZS5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpO24/KFVnKGUpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksdCYmKHQudGV4dENvbnRlbnQ9Ilx1MjVCMiIpKTooZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx0JiYodC50ZXh0Q29udGVudD0iXHUyNUJDIikpfX1mdW5jdGlvbiBVZyhlKXt2YXIgdD1nbigpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkQuLi48L2Rpdj4nLFdhKGZ1bmN0aW9uKG4pe3ZhciBpPSIiLGE9ci53b3JraW5nRGlyfHx0O2lmKGkrPSc8ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtJysoYT09PXQ/IiBhY3RpdmUiOiIiKSsnIiBkYXRhLXBhdGg9IicrcCh0KSsnIj48c3BhbiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtaXRlbS1sYWJlbCI+XHU5RUQ4XHU4QkE0PC9zcGFuPicrRXQodCwiYmxhbmstY2hhdC1jd2QtaXRlbS1wYXRoIikrIjwvZGl2PiIsbi5sZW5ndGgpe3ZhciB1PXt9O3VbdF09ITAsbi5mb3JFYWNoKGZ1bmN0aW9uKG8pe3Vbby5wYXRoXXx8KHVbby5wYXRoXT0hMCxpKz0nPGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtaXRlbScrKGE9PT1vLnBhdGg/IiBhY3RpdmUiOiIiKSsnIiBkYXRhLXBhdGg9IicrcChvLnBhdGgpKyciPicrRXQoby5wYXRoLCJibGFuay1jaGF0LWN3ZC1pdGVtLXBhdGgiKSsiPC9kaXY+Iil9KX1lLmlubmVySFRNTD1pLFd0KGUpLGUucXVlcnlTZWxlY3RvckFsbCgiLmJsYW5rLWNoYXQtY3dkLWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHMpe3Muc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGw9by5kYXRhc2V0LnBhdGg7ci53b3JraW5nRGlyPWw7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIixsKX1jYXRjaHt9dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLXBhdGgiKTtlbyhkLGwpLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWFycm93Iik7ZiYmKGYudGV4dENvbnRlbnQ9Ilx1MjVCQyIpO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0Iik7YyYmKGMudmFsdWU9bCl9KX0pfSl9ZnVuY3Rpb24gS2coKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjZW50LXBhdGhzLWJ1YmJsZXMiKTtlJiZXYShmdW5jdGlvbih0KXtpZighdC5sZW5ndGgpe2UuaW5uZXJIVE1MPSIiO3JldHVybn1lLmlubmVySFRNTD10Lm1hcChmdW5jdGlvbihuKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0icmVjZW50LXBhdGgtYnViYmxlIiBkYXRhLXBhdGg9IicrcChuLnBhdGgpKyciIHRpdGxlPSInK3Aobi5wYXRoKSsnIj4nK0V0KG4ucGF0aCwicmVjZW50LXBhdGgtYnViYmxlLXBhdGgiKSsiPC9idXR0b24+In0pLmpvaW4oIiIpLFd0KGUpLGUucXVlcnlTZWxlY3RvckFsbCgiLnJlY2VudC1wYXRoLWJ1YmJsZSIpLmZvckVhY2goZnVuY3Rpb24obil7bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7aSYmKGkudmFsdWU9bi5kYXRhc2V0LnBhdGh8fCIiLHIuY3dkVmFsdWU9bi5kYXRhc2V0LnBhdGh8fCIiKX0pfSl9KX1mdW5jdGlvbiB3ZCgpe3Iuc3VnZ2VzdGlvblRpbWVyJiZjbGVhclRpbWVvdXQoci5zdWdnZXN0aW9uVGltZXIpLHIuc3VnZ2VzdGlvblRpbWVyPXNldFRpbWVvdXQoSmcsMTIwKX1mdW5jdGlvbiBKZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7aWYoZSYmZS5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKXtncigpO3JldHVybn12YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7dCYmZmV0Y2goIi9hcGkvcGF0aC1zdWdnZXN0aW9ucz9xPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQudmFsdWUudHJpbSgpKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihHZykuY2F0Y2goZ3IpfWZ1bmN0aW9uIEdnKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtpZighdHx8IWUubGVuZ3RoKXtncigpO3JldHVybn10LmlubmVySFRNTD1lLm1hcChmdW5jdGlvbihuKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0ic3VnZ2VzdGlvbi1pdGVtIiBkYXRhLXBhdGg9IicrcChuLnBhdGgpKyciPjxzdHJvbmc+JytwKG4ubmFtZSkrIjwvc3Ryb25nPjxzbWFsbD4iK0V0KG4ucGF0aCwic3VnZ2VzdGlvbi1pdGVtLXBhdGgiKSsiPC9zbWFsbD48L2J1dHRvbj4ifSkuam9pbigiIiksV3QodCksdC5xdWVyeVNlbGVjdG9yQWxsKCIuc3VnZ2VzdGlvbi1pdGVtIikuZm9yRWFjaChmdW5jdGlvbihuKXtuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKS52YWx1ZT1uLmRhdGFzZXQucGF0aHx8IiIsci5jd2RWYWx1ZT1uLmRhdGFzZXQucGF0aHx8IiIsZ3IoKX0pfSksdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX1mdW5jdGlvbiBncigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtlJiYoZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmlubmVySFRNTD0iIil9ZnVuY3Rpb24gWWcoZSl7aWYoIWUuaXNDb21wb3Npbmcpe2lmKFpzKGUpKXtjdShlKTtyZXR1cm59aWYoZS5rZXk9PT0iRW50ZXIiKXtpZihlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHQpe3ZhciBuPXQuc2VsZWN0aW9uU3RhcnR8fDAsaT10LnZhbHVlLGE9aS5zbGljZSgwLG4pK2AKYCtpLnNsaWNlKG4pO3QudmFsdWU9YSx0LnNlbGVjdGlvblN0YXJ0PW4rMSx0LnNlbGVjdGlvbkVuZD1uKzEsZXQoYSwhMCksa3QodCl9cmV0dXJufWUucHJldmVudERlZmF1bHQoKTt2YXIgdT0hIShlLm1ldGFLZXl8fGUuY3RybEtleSk7VXModT97aW50ZXJydXB0OiEwfTp2b2lkIDApO3JldHVybn1pZihlLmtleT09PSJCYWNrc3BhY2UiKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2cmJmV0KGcudmFsdWUsITApfSwwKTtyZXR1cm59aWYoZS5rZXk9PT0iVGFiIil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZih0KXt2YXIgbj10LnNlbGVjdGlvblN0YXJ0fHwwLGk9dC52YWx1ZSxhPWkuc2xpY2UoMCxuKSsiCSIraS5zbGljZShuKTt0LnZhbHVlPWEsZXQoYSwhMCl9cmV0dXJufWlmKGUua2V5PT09IkVzY2FwZSIpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbz1YZSgpO3NlKG8pP28mJm8uc3RydWN0dXJlZFN0YXRlJiZvLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmZnUoKTpidChXcigiZXNjYXBlIiksImVzY2FwZSIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImMiKXt2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksbD1zJiZzLnNlbGVjdGlvblN0YXJ0IT09cy5zZWxlY3Rpb25FbmR8fF9pKCk7aWYobClyZXR1cm47dmFyIGQ9WGUoKTtpZihzZShkKSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGQmJmQuc3RydWN0dXJlZFN0YXRlJiZkLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmZnUoKTtyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLGJ0KFdyKCJjdHJsX2MiKSwiY3RybF9jIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iZCIpe3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxjPWYmJmYuc2VsZWN0aW9uU3RhcnQhPT1mLnNlbGVjdGlvbkVuZHx8X2koKTtpZihjKXJldHVybjt2YXIgdj1YZSgpO2lmKHNlKHYpKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWUucHJldmVudERlZmF1bHQoKSxidChXcigiY3RybF9kIiksImN0cmxfZCIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImwiKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGg9WGUoKTtpZihzZShoKSlyZXR1cm47YnQoV3IoImN0cmxfbCIpLCJjdHJsX2wiKTtyZXR1cm59aWYoISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImEiKSYmISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09InYiKSl7aWYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJ4Iil7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLG09dCYmdC5zZWxlY3Rpb25TdGFydCE9PXQuc2VsZWN0aW9uRW5kO2lmKG0pcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxidCgiGCIsImN0cmxfeCIpO3JldHVybn1lLmtleS5sZW5ndGg9PT0xJiYhZS5jdHJsS2V5JiYhZS5tZXRhS2V5JiYhZS5hbHRLZXkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7ZyYmZXQoZy52YWx1ZSl9LDApfX19dmFyIFFnPTEwKjEwMjQqMTAyNDtmdW5jdGlvbiAkZyhlKXtyZXR1cm4gZTwxMDI0P2UrIiBCIjplPDEwMjQqMTAyND8oZS8xMDI0KS50b0ZpeGVkKDEpKyIgS0IiOihlLygxMDI0KjEwMjQpKS50b0ZpeGVkKDEpKyIgTUIifWZ1bmN0aW9uIFhnKGUpe3JldHVybi9eaW1hZ2VcLyhwbmd8anBlP2d8Z2lmfHdlYnB8Ym1wfHN2Z1wreG1sKS8udGVzdChlKX1mdW5jdGlvbiBKdShlKXtpZihlKXtpZihlLnNpemU+UWcpe3goIlx1NjU4N1x1NEVGNlx1OEZDN1x1NTkyN1x1RkYwOFx1NEUwQVx1OTY1MCAxMCBNQlx1RkYwOTogIitlLm5hbWUsImVycm9yIik7cmV0dXJufXZhciB0PXtmaWxlOmUsbmFtZTplLm5hbWUsc2l6ZTplLnNpemUscHJldmlld1VybDpudWxsfTtYZyhlLnR5cGUpJiYodC5wcmV2aWV3VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwoZSkpLHIucGVuZGluZ0F0dGFjaG1lbnRzLnB1c2godCksR3UoKX19ZnVuY3Rpb24gWmcoZSl7dmFyIHQ9ci5wZW5kaW5nQXR0YWNobWVudHMuc3BsaWNlKGUsMSk7dC5sZW5ndGgmJnRbMF0ucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTCh0WzBdLnByZXZpZXdVcmwpLEd1KCl9ZnVuY3Rpb24gZWgoKXtyLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTChlLnByZXZpZXdVcmwpfSksci5wZW5kaW5nQXR0YWNobWVudHM9W10sR3UoKX1mdW5jdGlvbiBHdSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2htZW50LXByZXZpZXciKTtpZihlKXt2YXIgdD1yLnBlbmRpbmdBdHRhY2htZW50cztpZih0Lmxlbmd0aD09PTApe2UuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7Zm9yKHZhciBuPSIiLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXSx1PWEucHJldmlld1VybD8nPGltZyBzcmM9IicrcChhLnByZXZpZXdVcmwpKyciIGFsdD0iIj4nOic8c3BhbiBjbGFzcz0iYXR0LWljb24iPicrVigiZmlsZSIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrIjwvc3Bhbj4iO24rPSc8c3BhbiBjbGFzcz0iYXR0YWNobWVudC1waWxsIiBkYXRhLWluZGV4PSInK2krJyI+Jyt1Kyc8c3BhbiBjbGFzcz0iYXR0LW5hbWUiIHRpdGxlPSInK3AoYS5uYW1lKSsnIj4nK3AoYS5uYW1lKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhdHQtc2l6ZSI+JyskZyhhLnNpemUpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYXR0LXJlbW92ZSIgZGF0YS1pbmRleD0iJytpKyciIHRpdGxlPSJcdTc5RkJcdTk2NjQiPlx4RDc8L2J1dHRvbj48L3NwYW4+J31lLmlubmVySFRNTD1uLGUucXVlcnlTZWxlY3RvckFsbCgiLmF0dC1yZW1vdmUiKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHMpe3MucHJldmVudERlZmF1bHQoKSxzLnN0b3BQcm9wYWdhdGlvbigpLFpnKHBhcnNlSW50KG8uZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IiksMTApKX0pfSl9fWZ1bmN0aW9uIHRoKGUpe2lmKCFyLnBlbmRpbmdBdHRhY2htZW50cy5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7dmFyIHQ9bmV3IEZvcm1EYXRhO3JldHVybiByLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3QuYXBwZW5kKCJmaWxlcyIsbi5maWxlLG4ubmFtZSl9KSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3VwbG9hZCIse21ldGhvZDoiUE9TVCIsYm9keTp0LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLm9rP24uanNvbigpOm4uanNvbigpLnRoZW4oZnVuY3Rpb24oaSl7dGhyb3cgbmV3IEVycm9yKGkuZXJyb3J8fCJcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5maWxlc3x8W119KX1mdW5jdGlvbiBuaChlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiIiO3ZhciB0PWUubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnNhdmVkUGF0aH0pO3JldHVybmBbXHU5NjQ0XHU0RUY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU4QkY3XHU2N0U1XHU3NzBCXHU0RUU1XHU0RTBCXHU2NTg3XHU0RUY2OgpgK3Quam9pbihgCmApK2BdCgpgfWZ1bmN0aW9uIEJkKGUpe2lmKCFyLnRlcm1pbmFsSW50ZXJhY3RpdmV8fCFlfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLWVtYmVkLXRlcm1pbmFsIikpcmV0dXJuITE7dmFyIHQ9ZS52YWx1ZXx8IiI7cmV0dXJuIHQ/KGJ0KHQsImludGVyYWN0aXZlX3RleHQiKS5jYXRjaChmdW5jdGlvbigpe30pLGUudmFsdWU9IiIsa3QoZSksZXQoIiIsITApLCEwKTohMX1mdW5jdGlvbiByaChlKXt2YXIgdD1lLmNsaXBib2FyZERhdGEmJmUuY2xpcGJvYXJkRGF0YS5pdGVtcztpZih0JiYhci50ZXJtaW5hbEludGVyYWN0aXZlKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dLnR5cGUuaW5kZXhPZigiaW1hZ2UvIik9PT0wKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGk9dFtuXS5nZXRBc0ZpbGUoKTtpJiZKdShpKTtyZXR1cm59fXZhciBhPWUuY2xpcGJvYXJkRGF0YSYmZS5jbGlwYm9hcmREYXRhLmdldERhdGEoInRleHQiKTtpZihhKXtpZihlLnByZXZlbnREZWZhdWx0KCksci50ZXJtaW5hbEludGVyYWN0aXZlKXtidChhLCJwYXN0ZSIpLmNhdGNoKGZ1bmN0aW9uKCl7fSk7cmV0dXJufXZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZih1KXt2YXIgbz11LnNlbGVjdGlvblN0YXJ0fHwwLHM9dS5zZWxlY3Rpb25FbmR8fDAsbD11LnZhbHVlLGQ9bC5zbGljZSgwLG8pK2ErbC5zbGljZShzKTt1LnZhbHVlPWQsZXQoZCl9fX1mdW5jdGlvbiBHaChlKXtidChlKSxldChpaCgpK2UpfWZ1bmN0aW9uIGloKCl7aWYoci5zZWxlY3RlZElkKXtpZihyLmRyYWZ0c1tyLnNlbGVjdGVkSWRdIT09dm9pZCAwKXJldHVybiByLmRyYWZ0c1tyLnNlbGVjdGVkSWRdO3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1kcmFmdC0iK3Iuc2VsZWN0ZWRJZCk7aWYoZSlyZXR1cm4gZX1jYXRjaHt9fXJldHVybiIifWZ1bmN0aW9uIGV0KGUsdCl7aWYoci5zZWxlY3RlZElkKXtyLmRyYWZ0c1tyLnNlbGVjdGVkSWRdPWU7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWRyYWZ0LSIrci5zZWxlY3RlZElkLGUpfWNhdGNoe31pZighdCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO24mJihuLnZhbHVlPWUpfX19dmFyIFl1PSExO2Z1bmN0aW9uIGFoKCl7aWYoIVl1KXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvbXB0LW9wdGltaXplLWJ0biIpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYoZSl7dmFyIGk9KGUudmFsdWV8fCIiKS50cmltKCk7aWYoIWkpe3R5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KCJcdThCRjdcdTUxNDhcdThGOTNcdTUxNjVcdTg5ODFcdTRGMThcdTUzMTZcdTc2ODRcdTUxODVcdTVCQjlcdTMwMDIiLCJpbmZvIiksZS5mb2N1cygpO3JldHVybn1ZdT0hMCx0JiYodC5jbGFzc0xpc3QuYWRkKCJpcy1sb2FkaW5nIiksdC5kaXNhYmxlZD0hMCx0LnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTZCNjNcdTU3MjhcdTRGMThcdTUzMTZcdTIwMjYiKSksbiYmbi5jbGFzc0xpc3QuYWRkKCJpcy1vcHRpbWl6aW5nIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsInRydWUiKTt2YXIgYT1lLnJlYWRPbmx5O2UucmVhZE9ubHk9ITA7dmFyIHU9e3RleHQ6aX07ciYmci5zZWxlY3RlZElkJiYodS5zZXNzaW9uSWQ9ci5zZWxlY3RlZElkKSxmZXRjaCgiL2FwaS9vcHRpbWl6ZS1wcm9tcHQiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHUpfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5qc29uKCkudGhlbihmdW5jdGlvbihzKXtyZXR1cm57b2s6by5vayxkYXRhOnN9fSl9KS50aGVuKGZ1bmN0aW9uKG8pe2lmKCFvLm9rKXRocm93IG5ldyBFcnJvcihvLmRhdGEmJm8uZGF0YS5lcnJvcnx8Ilx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1NTkzMVx1OEQyNVx1MzAwMiIpO3ZhciBzPW8uZGF0YSYmby5kYXRhLm9wdGltaXplZHx8IiI7aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJDbGF1ZGUgXHU4RkQ0XHU1NkRFXHU0RTNBXHU3QTdBXHUzMDAyIik7dWgoZSxzKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe3R5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KG8mJm8ubWVzc2FnZXx8Ilx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIiksdCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtbG9hZGluZyIpLHQuY2xhc3NMaXN0LmFkZCgiaXMtc2hha2UiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1zaGFrZSIpfSw0MDApKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtZdT0hMSx0JiYodC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIiksdC5kaXNhYmxlZD0hMSx0LnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIpKSxuJiZuLmNsYXNzTGlzdC5yZW1vdmUoImlzLW9wdGltaXppbmciKSxlLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1idXN5IiksZS5yZWFkT25seT1hfSl9fX1mdW5jdGlvbiB1aChlLHQpe2lmKCFlKXJldHVybjt2YXIgbj1BcnJheS5mcm9tKHQpLGk9bi5sZW5ndGg7aWYoaT09PTApe2UudmFsdWU9IiIsZXQoIiIsITApLGt0KGUpO3JldHVybn12YXIgYT1NYXRoLm1pbig3MDAsTWF0aC5tYXgoMjIwLGkqOCkpLHU9TWF0aC5taW4oaSw2MCksbz1NYXRoLmNlaWwoaS91KSxzPWEvdSxsPTA7ZS52YWx1ZT0iIixrdChlKTtmdW5jdGlvbiBkKCl7aWYobD1NYXRoLm1pbihpLGwrbyksZS52YWx1ZT1uLnNsaWNlKDAsbCkuam9pbigiIiksa3QoZSksbDxpKXNldFRpbWVvdXQoZCxzKTtlbHNle2V0KHQsITApO3RyeXtlLnNldFNlbGVjdGlvblJhbmdlKHQubGVuZ3RoLHQubGVuZ3RoKX1jYXRjaHt9fX1kKCl9ZnVuY3Rpb24gcGEoZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYodCl7dmFyIG49ZXx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGk9ISEobiYmbi52YWx1ZSYmbi52YWx1ZS5sZW5ndGg+MCk7dC5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtdGV4dCIsaSl9fXIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbCxyLl9zdGF0dXNCYXJTdGFydFRpbWU9MDt2YXIgb2k9bnVsbCx2YT0wO2Z1bmN0aW9uIFF1KGUpe2lmKCFlKXJldHVybnthY3RpdmU6ITF9O2lmKGUuYXJjaGl2ZWQpcmV0dXJue2FjdGl2ZTohMX07dmFyIHQ9ISFlLnBlcm1pc3Npb25CbG9ja2VkLG49ISEoc2UoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCksaT0hc2UoZSkmJmUuc3RhdHVzPT09InJ1bm5pbmciO3JldHVybnthY3RpdmU6bnx8aXx8dCxpbkZsaWdodDpuLHB0eVJ1bm5pbmc6aSxwZXJtaXNzaW9uQmxvY2tlZDp0fX1mdW5jdGlvbiBvaChlKXt2YXIgdD1NYXRoLm1heCgwLE1hdGguZmxvb3IoZS8xZTMpKTtpZih0PDYwKXJldHVybiB0KyJzIjt2YXIgbj1NYXRoLmZsb29yKHQvNjApLGk9dCU2MDtpZihuPDYwKXJldHVybiBuKyJtIisoaT8iICIraSsicyI6IiIpO3ZhciBhPU1hdGguZmxvb3Iobi82MCksdT1uJTYwO3JldHVybiBhKyJoIisodT8iICIrdSsibSI6IiIpfWZ1bmN0aW9uICR1KGUpe3ZhciB0PVF1KGUpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm1haW4taGVhZGVyLXJvdyIpLGk9bj9uLnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN0YXR1cy1waWxsIik6bnVsbCxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7aWYobiYmKG4uY2xhc3NMaXN0LnRvZ2dsZSgiaXMtcnVubmluZyIsdC5hY3RpdmUpLG4uY2xhc3NMaXN0LnRvZ2dsZSgiaXMtcGVybWlzc2lvbi1ibG9ja2VkIix0LnBlcm1pc3Npb25CbG9ja2VkKSksaSl7dmFyIHU9aS5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdGF0dXMtZWxhcHNlZCIpO2lmKHQuaW5GbGlnaHQpe3ZhfHwodmE9ci5fc3RhdHVzQmFyU3RhcnRUaW1lPjA/ci5fc3RhdHVzQmFyU3RhcnRUaW1lOkRhdGUubm93KCkpO3ZhciBvPW9oKERhdGUubm93KCktdmEpO3V8fCh1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSx1LmNsYXNzTmFtZT0ic2Vzc2lvbi1zdGF0dXMtZWxhcHNlZCIsaS5hcHBlbmRDaGlsZCh1KSksdS50ZXh0Q29udGVudD1vfWVsc2UgdmE9MCx1JiZ1LnJlbW92ZSgpfXQuYWN0aXZlP29pfHwob2k9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgcz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obCl7cmV0dXJuIGwuaWQ9PT1yLnNlbGVjdGVkSWR9KTskdShzKX0sMWUzKSk6b2kmJihjbGVhckludGVydmFsKG9pKSxvaT1udWxsKX1mdW5jdGlvbiBYdShlLHQpeyR1KHQpO3ZhciBuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jb21wb3Nlci10b3Atcm93IiksaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RydWN0dXJlZC1zdGF0dXMtYmFyIiksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtpZighdHx8IXNlKHQpKXtpJiZpLnJlbW92ZSgpLGEmJmEuY2xhc3NMaXN0LnJlbW92ZSgiaW4tZmxpZ2h0IiksY2xlYXJJbnRlcnZhbChyLl9zdGF0dXNCYXJUaW1lcklkKSxyLl9zdGF0dXNCYXJUaW1lcklkPW51bGw7cmV0dXJufXZhciB1PXQuc3RydWN0dXJlZFN0YXRlJiZ0LnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodDtpZih1KXtpZihyLl9zdGF0dXNCYXJUaW1lcklkfHwoci5fc3RhdHVzQmFyU3RhcnRUaW1lPURhdGUubm93KCkpLGEmJmEuY2xhc3NMaXN0LmFkZCgiaW4tZmxpZ2h0IiksIWkmJm4pe3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO28uY2xhc3NOYW1lPSJzdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiLG8uaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0ic3RhdHVzLWJhci1kb3QiPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhci1sYWJlbCI+XHU1NkRFXHU1OTBEXHU0RTJEPC9zcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFyLXRpbWVyIj4wLjBzPC9zcGFuPicsbi5hcHBlbmRDaGlsZChvKSxpPW99ZWxzZSBpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygiY29tcGxldGVkIikpe2kuY2xhc3NMaXN0LnJlbW92ZSgiY29tcGxldGVkIiksaS5zdHlsZS5hbmltYXRpb249Im5vbmUiLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItbGFiZWwiKS50ZXh0Q29udGVudD0iXHU1NkRFXHU1OTBEXHU0RTJEIjt2YXIgcz1pLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWRvdCIpO3MmJihzLnN0eWxlLmRpc3BsYXk9IiIpLHIuX3N0YXR1c0JhclN0YXJ0VGltZT1EYXRlLm5vdygpfXIuX3N0YXR1c0JhclRpbWVySWR8fChyLl9zdGF0dXNCYXJUaW1lcklkPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN0cnVjdHVyZWQtc3RhdHVzLWJhcjpub3QoLmNvbXBsZXRlZCkiKTtpZighZCl7Y2xlYXJJbnRlcnZhbChyLl9zdGF0dXNCYXJUaW1lcklkKSxyLl9zdGF0dXNCYXJUaW1lcklkPW51bGw7cmV0dXJufXZhciBmPSgoRGF0ZS5ub3coKS1yLl9zdGF0dXNCYXJTdGFydFRpbWUpLzFlMykudG9GaXhlZCgxKSxjPWQucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItdGltZXIiKTtjJiYoYy50ZXh0Q29udGVudD1mKyJzIil9LDEwMCkpfWVsc2UgaWYoY2xlYXJJbnRlcnZhbChyLl9zdGF0dXNCYXJUaW1lcklkKSxyLl9zdGF0dXNCYXJUaW1lcklkPW51bGwsYSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKSxpJiYhaS5jbGFzc0xpc3QuY29udGFpbnMoImNvbXBsZXRlZCIpKXt2YXIgbD1yLl9zdGF0dXNCYXJTdGFydFRpbWU/KChEYXRlLm5vdygpLXIuX3N0YXR1c0JhclN0YXJ0VGltZSkvMWUzKS50b0ZpeGVkKDEpOiIwLjAiO2kuY2xhc3NMaXN0LmFkZCgiY29tcGxldGVkIiksaS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1sYWJlbCIpLnRleHRDb250ZW50PSJcdTVCOENcdTYyMTAiLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItdGltZXIiKS50ZXh0Q29udGVudD1sKyJzIjt2YXIgcz1pLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWRvdCIpO3MmJihzLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSxyLl9zdGF0dXNCYXJTdGFydFRpbWU9MCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5wYXJlbnROb2RlJiZpLnJlbW92ZSgpfSwzZTMpfX1mdW5jdGlvbiBwKGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpfWZ1bmN0aW9uIEV0KGUsdCxuKXt2YXIgaT1TdHJpbmcoZXx8IiIpO3JldHVybic8c3BhbiBjbGFzcz0iJyt0KycgdGFpbC1tYXJxdWVlLXBhdGgiIHRpdGxlPSInK3AoaSkrJyInKyhufHwiIikrJz48c3BhbiBjbGFzcz0idGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiPicrcChpKSsiPC9zcGFuPjwvc3Bhbj4ifXZhciBzaD0vXC4ocG5nfGpwZT9nfGdpZnx3ZWJwfHN2Z3xhdmlmfGJtcHxpY298aGVpY3xoZWlmKSQvaTtmdW5jdGlvbiBadShlKXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuITE7dmFyIHQ9ZS50cmltKCkuc3BsaXQoL1s/I10vKVswXTtyZXR1cm4gc2gudGVzdCh0KX1mdW5jdGlvbiBocihlKXtpZihlKXt2YXIgdD1mdW5jdGlvbigpe3RyeXt2YXIgbj1lLmZpcnN0RWxlbWVudENoaWxkJiZlLmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdCYmZS5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuY29udGFpbnMoInRhaWwtbWFycXVlZS1wYXRoLWlubmVyIik/ZS5maXJzdEVsZW1lbnRDaGlsZDpudWxsO2lmKG4pe3ZhciBpPU1hdGgubWF4KDAsbi5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoKTtlLmNsYXNzTGlzdC50b2dnbGUoImlzLW92ZXJmbG93aW5nIixpPjEpLGUuc3R5bGUuc2V0UHJvcGVydHkoIi0tdGFpbC1tYXJxdWVlLXNoaWZ0IixpKyJweCIpO3ZhciBhPU1hdGgubWF4KDQuOCxpLzE4KTtlLnN0eWxlLnNldFByb3BlcnR5KCItLXRhaWwtbWFycXVlZS1kdXJhdGlvbiIsTWF0aC5tYXgoNi44LGEvLjY4KSsicyIpO3JldHVybn1lLnNjcm9sbFdpZHRoPmUuY2xpZW50V2lkdGgmJihlLnNjcm9sbExlZnQ9ZS5zY3JvbGxXaWR0aCl9Y2F0Y2h7fX07dCgpLHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiImJnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KX19ZnVuY3Rpb24gV3QoZSl7dmFyIHQ9ZXx8ZG9jdW1lbnQ7IXR8fHR5cGVvZiB0LnF1ZXJ5U2VsZWN0b3JBbGwhPSJmdW5jdGlvbiJ8fHQucXVlcnlTZWxlY3RvckFsbCgiLnRhaWwtbWFycXVlZS1wYXRoIikuZm9yRWFjaChmdW5jdGlvbihuKXtocihuKX0pfWZ1bmN0aW9uIGVvKGUsdCl7aWYoZSl7dmFyIG49U3RyaW5nKHR8fCIiKSxpPWUucXVlcnlTZWxlY3RvciYmZS5xdWVyeVNlbGVjdG9yKCIudGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiKTtpP2kudGV4dENvbnRlbnQ9bjplLnRleHRDb250ZW50PW4sZS5zZXRBdHRyaWJ1dGUmJmUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsbiksaHIoZSl9fWZ1bmN0aW9uIGxoKGUpe2lmKGUpe3ZhciB0PWZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBlLnNldFNlbGVjdGlvblJhbmdlPT0iZnVuY3Rpb24iJiZlLnZhbHVlIT1udWxsKXt2YXIgbj1lLnZhbHVlLmxlbmd0aDt0cnl7ZS5zZXRTZWxlY3Rpb25SYW5nZShuLG4pfWNhdGNoe319ZS5zY3JvbGxXaWR0aD5lLmNsaWVudFdpZHRoJiYoZS5zY3JvbGxMZWZ0PWUuc2Nyb2xsV2lkdGgpfWNhdGNoe319O3QoKSx0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lPT0iZnVuY3Rpb24iJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCl9fShmdW5jdGlvbigpe3RyeXt2YXIgZT1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnR8fCIiOy9XYW5kQXBwXC8vLnRlc3QoZSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy13YW5kLWFwcCIpLC9XYW5kUGxhdGZvcm1cL2lPUy8udGVzdChlKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtaW9zIiksL1dhbmRQbGF0Zm9ybVwvQW5kcm9pZC8udGVzdChlKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtYW5kcm9pZCIpfWNhdGNoe310cnl7Y29uc3QgdD1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5zZWFyY2hQYXJhbXM7dC5nZXQoImVtYmVkIik9PT0idGVybWluYWwiJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSx0LmdldCgibmF0aXZlSW5wdXQiKT09PSIxIiYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtbmF0aXZlLWlucHV0IikpfWNhdGNoe310cnl7d2luZG93Ll9fd2FuZE5hdGl2ZUJhY2tIb29rZWQ9ITB9Y2F0Y2h7fX0pKCl9KSgpOwo="),
|
|
8
|
+
scriptsJs: decode("InVzZSBzdHJpY3QiOygoKT0+e3ZhciBybz0id2FuZC1sZWdhY3ktcHdhLWNsZWFudXAtdjEiLE9kPVsid2FuZC1zdGF0aWMtIiwid2FuZC1ydW50aW1lLSJdO2Z1bmN0aW9uIGRpKGUpe2lmKCFlKXJldHVybiExO3RyeXtjb25zdCB0PW5ldyBVUkwoZS5zY3JpcHRVUkwsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQub3JpZ2luPT09bG9jYXRpb24ub3JpZ2luJiZ0LnBhdGhuYW1lPT09Ii9zdy5qcyJ9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIFBkKGUpe3JldHVybiBkaShlLmluc3RhbGxpbmcpfHxkaShlLndhaXRpbmcpfHxkaShlLmFjdGl2ZSl9ZnVuY3Rpb24gcWQoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHJvKT09PSJkb25lIn1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gX2QoKXt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0ocm8sImRvbmUiKX1jYXRjaHt9fWFzeW5jIGZ1bmN0aW9uIEhkKCl7aWYoISgic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3IpKXJldHVybiEwO3RyeXtjb25zdCB0PShhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCkpLmZpbHRlcihQZCk7cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHQubWFwKG49Pm4udW5yZWdpc3RlcigpKSksITB9Y2F0Y2h7cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIE5kKCl7aWYoISgiY2FjaGVzImluIHdpbmRvdykpcmV0dXJuITA7dHJ5e2NvbnN0IHQ9KGF3YWl0IGNhY2hlcy5rZXlzKCkpLmZpbHRlcihuPT5PZC5zb21lKGk9Pm4uc3RhcnRzV2l0aChpKSkpO3JldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChuPT5jYWNoZXMuZGVsZXRlKG4pKSksITB9Y2F0Y2h7cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIGpkKCl7aWYocWQoKSlyZXR1cm47Y29uc3QgZT0ic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3ImJmRpKG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpLFt0LG5dPWF3YWl0IFByb21pc2UuYWxsKFtIZCgpLE5kKCldKTshdHx8IW58fChfZCgpLGUmJmxvY2F0aW9uLnJlbG9hZCgpKX1qZCgpO3ZhciBwaD0iJHtlc2NhcGVIdG1sKGNvbmZpZ1BhdGgpfSIsaGE9IndhbmQtY2hhdC1leHBhbmQtc3RhdGUtdjEiLGNpPVtmdW5jdGlvbigpe31dOyhmdW5jdGlvbigpe3RyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1scy1zY2hlbWEiKSxuPXQ9PW51bGw/MDpwYXJzZUludCh0LDEwKTtuPj0wfHwobj0wKTtmb3IodmFyIGk9bjtpPGNpLmxlbmd0aDtpKyspdHJ5e2NpW2ldKCl9Y2F0Y2h7fW48Y2kubGVuZ3RoJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1scy1zY2hlbWEiLFN0cmluZyhjaS5sZW5ndGgpKX1jYXRjaHt9fSkoKTtmdW5jdGlvbiBicihlLHQpe3RyeXt2YXIgbj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtyZXR1cm4gbj09PSJ0cnVlIj8hMDpuPT09ImZhbHNlIj8hMTp0fWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiB4ZShlLHQpe3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLFN0cmluZyghIXQpKX1jYXRjaHt9fXZhciByPXtzZWxlY3RlZElkOihmdW5jdGlvbigpe3RyeXt2YXIgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PWUuc2VhcmNoUGFyYW1zLmdldCgic2Vzc2lvbiIpO2lmKHQpcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iLHQpLGUuc2VhcmNoUGFyYW1zLmRlbGV0ZSgic2Vzc2lvbiIpLGhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3Rvcnkuc3RhdGUsIiIsZS50b1N0cmluZygpKSx0fWNhdGNoe310cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iKXx8bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19KSgpLHBvbGxUaW1lcjpudWxsLGNvbmZpZzpudWxsLHNlc3Npb25zOltdLHN1Z2dlc3Rpb25UaW1lcjpudWxsLHRlcm1pbmFsOm51bGwsdGVybWluYWxGaXRJblByb2dyZXNzOiExLHRlcm1pbmFsU2Vzc2lvbklkOm51bGwsdGVybWluYWxPdXRwdXQ6IiIsdGVybWluYWxPdXRwdXRNYXJrZXI6MCx0ZXJtaW5hbExpdmVTdHJlYW1TZXNzaW9uczp7fSxzeW5jT3V0cHV0QnVmZmVyOm51bGwsc3luY091dHB1dERlYWRsaW5lOjAsc3luY0ZyYW1pbmdSZXNpZHVlOiExLGxhc3RDaHVua0F0OjAsdGVybWluYWxIZWFsdGhUaW1lcjpudWxsLGxhc3RUZXJtaW5hbFJlc3luY0F0OjAsdGVybWluYWxBdXRvRm9sbG93OiEwLHRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw6MCx0ZXJtaW5hbFNjcm9sbElkbGVUaW1lcjpudWxsLHRlcm1pbmFsU2Nyb2xsVGhyZXNob2xkOjEyLHNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbTohMSx0ZXJtaW5hbFZpZXdwb3J0RWw6bnVsbCx0ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcjpudWxsLHRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI6bnVsbCx0ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXI6bnVsbCx0ZXJtaW5hbFRvdWNoU3RhcnRZOjAsdGVybWluYWxDb21wb3Npbmc6ITEscmVzaXplT2JzZXJ2ZXI6bnVsbCxyZXNpemVIYW5kbGVyOm51bGwscmVzaXplVGltZXI6bnVsbCxpbnB1dFF1ZXVlOlByb21pc2UucmVzb2x2ZSgpLHBlbmRpbmdNZXNzYWdlczpbXSxtZXNzYWdlUXVldWU6W10sY3Jvc3NTZXNzaW9uUXVldWU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNyb3NzLXNlc3Npb24tcXVldWUiKSx0PWU/SlNPTi5wYXJzZShlKTpbXTtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90OltdfWNhdGNoe3JldHVybltdfX0pKCksc3RydWN0dXJlZElucHV0UXVldWU6W10scXVldWVCYXJFeHBhbmRlZDohMSxxdWV1ZUJhckhvdmVySW5kZXg6bnVsbCxxdWV1ZUJhckRyYWc6bnVsbCxxdWV1ZUJhclByb21vdGluZzohMSxkcmFmdHM6e30saXNTeW5jaW5nSW5wdXRCb3g6ITEsbG9naW5QZW5kaW5nOiExLGxvZ2luQ2hlY2tlZDohMSxib290c3RyYXBwaW5nOiEwLHNlc3Npb25zRHJhd2VyT3Blbjpicigid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxzaWRlYmFyUGlubmVkOmJyKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMCksc2lkZWJhckNvbGxhcHNlZDpicigid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpLG1vZGFsT3BlbjohMSxwcmVzZXRWYWx1ZToiIixjd2RWYWx1ZToiIixtb2RlVmFsdWU6Im1hbmFnZWQiLGNoYXRNb2RlOiJtYW5hZ2VkIixjaGF0TW9kZWxzOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIil8fCIiO3JldHVybntjbGF1ZGU6bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbC1jbGF1ZGUiKXx8ZSxjb2RleDpsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsLWNvZGV4Iil8fCIiLG9wZW5jb2RlOmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtb3BlbmNvZGUiKXx8IiJ9fWNhdGNoe3JldHVybntjbGF1ZGU6IiIsY29kZXg6IiIsb3BlbmNvZGU6IiJ9fX0pKCksY2hhdE1vZGVsOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY2hhdC1tb2RlbCIpfHwiIn1jYXRjaHtyZXR1cm4iIn19KSgpLGNoYXRUaGlua2luZzooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtdGhpbmtpbmctZWZmb3J0Iil8fCJvZmYiO3JldHVybiBlPT09Im9mZiJ8fGU9PT0ic3RhbmRhcmQifHxlPT09ImRlZXAifHxlPT09Im1heCJ8fC9eY29kZXg6W2EtejAtOV1bYS16MC05Xy1dezAsMzF9JC8udGVzdChlKT9lOiJvZmYifWNhdGNoe3JldHVybiJvZmYifX0pKCksYXZhaWxhYmxlTW9kZWxzOltdLGF2YWlsYWJsZUNvZGV4TW9kZWxzOltdLGF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzOltdLG1vZGVsc1JlZnJlc2hpbmc6ITEsc2Vzc2lvbkNyZWF0ZUtpbmQ6InN0cnVjdHVyZWQiLHNlc3Npb25DcmVhdGVXb3JrdHJlZTohMSxzZXNzaW9uVG9vbDoiY2xhdWRlIixhY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkOm51bGwsd29ya3RyZWVNZXJnZUNoZWNrUmVzdWx0Om51bGwsd29ya3RyZWVNZXJnZUxvYWRpbmc6ITEsd29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc6ITEsd29ya3RyZWVNZXJnZUVycm9yOiIiLHByZWZlcnJlZENvbW1hbmQ6ImNsYXVkZSIsc3RydWN0dXJlZFJ1bm5lcjoiY2xhdWRlLWNsaS1wcmludCIsbGFzdFJlc2l6ZTp7Y29sczowLHJvd3M6MH0saXNPbmxpbmU6bmF2aWdhdG9yLm9uTGluZSx3czpudWxsLHdzQ29ubmVjdGVkOiExLGxhc3RXc01lc3NhZ2VBdDowLHdzSGVhcnRiZWF0Q2hlY2tUaW1lcjpudWxsLF91cGRhdGVCdWJibGVTaG93bjohMSxub3RpZmljYXRpb25IaXN0b3J5Ont9LGRlbGF5ZWROb3RpZmljYXRpb25UaW1lcjpudWxsLG5vdGlmU291bmQ6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLW5vdGlmLXNvdW5kIik7cmV0dXJuIGU9PT1udWxsPyEwOmU9PT0idHJ1ZSJ9Y2F0Y2h7cmV0dXJuITB9fSkoKSxub3RpZlZvbHVtZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIik7cmV0dXJuIGU9PT1udWxsPzgwOk1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHBhcnNlSW50KGUsMTApfHw4MCkpfWNhdGNoe3JldHVybiA4MH19KSgpLG5vdGlmQnViYmxlOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiKTtyZXR1cm4gZT09PW51bGw/ITA6ZT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19KSgpLHRvb2xDb250ZW50Q2FjaGU6e30sbGFzdFNlcUJ5U2Vzc2lvbjp7fSxjdXJyZW50VmlldzoidGVybWluYWwiLHRlcm1pbmFsU2NhbGU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXRlcm1pbmFsLXNjYWxlIik7cmV0dXJuIGU/cGFyc2VGbG9hdChlKToxfWNhdGNoe3JldHVybiAxfX0pKCksdGVybWluYWxCYXNlRm9udFNpemU6MTMsa2V5Ym9hcmRQb3B1cE9wZW46ITEsZmlsZVBhbmVsT3BlbjooZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWZpbGUtcGFuZWwtb3BlbiIpPT09InRydWUifWNhdGNoe3JldHVybiExfX0pKCksdG9wYmFyTW9yZU9wZW46ITEsZ2l0U3RhdHVzOm51bGwsZ2l0U3RhdHVzU2Vzc2lvbklkOm51bGwsZ2l0U3RhdHVzTG9hZGluZzohMSxnaXRTdGF0dXNJbmZsaWdodDpudWxsLGdpdFN0YXR1c0xhc3RGZXRjaEF0OjAscXVpY2tDb21taXRPcGVuOiExLHF1aWNrQ29tbWl0U3VibWl0dGluZzohMSxxdWlja0NvbW1pdEdlbmVyYXRpbmc6ITEscXVpY2tDb21taXRFcnJvcjoiIixxdWlja0NvbW1pdEZvcm06e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0scXVpY2tDb21taXRQdXNoaW5nOiExLHF1aWNrQ29tbWl0UHVzaEVycm9yOiIiLHF1aWNrQ29tbWl0UmVzdWx0Om51bGwscXVpY2tDb21taXREcmFnQWN0aW9uOiJjb21taXQiLHF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50OiExLGNoYXRTdGlja1RvQm90dG9tOiEwLGNoYXRBdXRvRm9sZEVuYWJsZWQ6ITEsY2hhdEF1dG9Gb2xkU25hcHNob3Q6bnVsbCxjaGF0VW5yZWFkQ291bnQ6MCxjaGF0VW5yZWFkU3RhcnRJbmRleDotMSxjaGF0U2Nyb2xsVGhyZXNob2xkOjE2MCxjaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw6ITEsY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsOjAsY2hhdFNjcm9sbEVsZW1lbnQ6bnVsbCxjaGF0U2Nyb2xsSGFuZGxlcjpudWxsLGNoYXRTY3JvbGxXaGVlbEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcjpudWxsLGNoYXRUb3VjaFN0YXJ0WTowLGNoYXRJbml0aWFsUmVuZGVyRG9uZTohMSxsYXN0Rm9yZWdyb3VuZFN5bmNBdDowLGZvcmVncm91bmRTeW5jVGltZXI6bnVsbCx3c1JlY29ubmVjdEF0dGVtcHRzOjAsd3NSZWNvbm5lY3RUaW1lcjpudWxsLGN1cnJlbnRNZXNzYWdlczpbXSxsYXN0UmVuZGVyZWRIYXNoOjAsbGFzdFJlbmRlcmVkTXNnQ291bnQ6MCxsYXN0UmVuZGVyZWRFbXB0eTpudWxsLHJlbmRlclBlbmRpbmc6ITEsY2hhdFBhZ2VTaXplOjIwLGNoYXRSZW5kZXJlZENvdW50OjIwLGN1cnJlbnRUYXNrOm51bGwsdGVybWluYWxJbnRlcmFjdGl2ZTohMSxtaW5pS2V5Ym9hcmRWaXNpYmxlOiExLG1vZGlmaWVyczp7Y3RybDohMSxhbHQ6ITEsc2hpZnQ6ITF9LGpveXN0aWNrUG9zOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1iYWxsLXBvcyIpO2lmKCFlKXJldHVybiBudWxsO3ZhciB0PUpTT04ucGFyc2UoZSk7cmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0Ij90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSkoKSxqb3lzdGlja1Bpbm5lZE9wZW46ITEsam95c3RpY2tSb290RWw6bnVsbCxqb3lzdGlja1BhbmVsRWw6bnVsbCxqb3lzdGlja0JhY2tkcm9wRWw6bnVsbCxqb3lzdGlja0JhbGxFbDpudWxsLGpveXN0aWNrUG9pbnRlcklkOm51bGwsam95c3RpY2tHZXN0dXJlOm51bGwsam95c3RpY2tQcmVzc1N0YXJ0Om51bGwsam95c3RpY2tMb25nUHJlc3NUaW1lcjpudWxsLGpveXN0aWNrTW92ZUhhbmRsZXI6bnVsbCxqb3lzdGlja1VwSGFuZGxlcjpudWxsLGpveXN0aWNrUmVzaXplSGFuZGxlcjpudWxsLGZpbGVTZWFyY2hRdWVyeToiIixmaWxlRXhwbG9yZXJMb2FkaW5nOiExLGFsbEZpbGVzOltdLGZpbGVFeHBsb3JlckN3ZDoiIixmaWxlRXhwbG9yZXJUcnVuY2F0ZWQ6ITEsZmlsZUV4cGxvcmVyVG90YWw6MCxjbGF1ZGVIaXN0b3J5OltdLGNsYXVkZUhpc3RvcnlMb2FkZWQ6ITEsY2xhdWRlSGlzdG9yeUV4cGFuZGVkOiExLGNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnM6e30sYXJjaGl2ZWRFeHBhbmRlZDohMSxzZXNzaW9uc01hbmFnZU1vZGU6ITEsc2VsZWN0ZWRTZXNzaW9uSWRzOnt9LHNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkczp7fSxjb2RleEhpc3Rvcnk6W10sY29kZXhIaXN0b3J5TG9hZGVkOiExLGNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyczp7fSxzZWxlY3RlZENvZGV4SGlzdG9yeUlkczp7fSxhc2tVc2VyU2VsZWN0aW9uczp7fSxxdWV1ZUVwb2NoOjAscGVuZGluZ0F0dGFjaG1lbnRzOltdLHdvcmtpbmdEaXI6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIik7cmV0dXJuIGV8fCIifWNhdGNoe3JldHVybiIifX0pKCl9LHlhPSJcdTRFMkRcdTY1ODciLGZpPXtcdTRFMkRcdTY1ODc6eyJzdWJhZ2VudC50YWciOiJcdTVCNTBcdTRFRTNcdTc0MDYiLCJzdWJhZ2VudC5oYW5kb2ZmIjoie3BhcmVudH0gXHU4QkE5IHtzdWJ9IFx1NUUyRVx1NUZEOSIsInN1YmFnZW50LmhhbmRvZmYud2l0aF9kZXNjIjoie3BhcmVudH0gXHU4QkE5IHtzdWJ9IFx1NUUyRVx1NUZEOVx1RkYxQSIsInN1YmFnZW50LmNvbnRpbnVlZCI6Ilx1N0VFN1x1N0VFRFx1OEY5M1x1NTFGQSIsInN1YmFnZW50LnRhc2suZG9uZSI6Ilx1NEVGQlx1NTJBMVx1NUI4Q1x1NjIxMCIsInN1YmFnZW50LnRhc2suZmFpbGVkIjoiXHU0RUZCXHU1MkExXHU1OTMxXHU4RDI1Iiwic3ViYWdlbnQucnVubmluZyI6Ilx1OEZEMFx1ODg0Q1x1NEUyRCIsInN1YmFnZW50Lm5vX291dHB1dCI6Ilx1RkYwOFx1NjVFMFx1OEY5M1x1NTFGQVx1RkYwOSIsInN1YmFnZW50LmhlbHBlcl9mYWxsYmFja19wcmVmaXgiOiJcdTUzNEZcdTRGNUNcdTczMkJceEI3Iiwic3ViYWdlbnQudGl0bGVfYXJpYSI6Ilx1NzBCOVx1NTFGQlx1NUM1NVx1NUYwMCAvIFx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIsInN1YmFnZW50LnRhZ190aXRsZSI6Ilx1NUI1MFx1NEVFM1x1NzQwNiAvIHN1YmFnZW50IiwidWkuZXhwYW5kIjoiXHU1QzU1XHU1RjAwIiwidWkuY29sbGFwc2UiOiJcdTY1MzZcdThENzciLCJ1aS5leHBhbmRfcGFuZWxfYXJpYSI6Ilx1NUM1NVx1NUYwMFx1NUI1MFx1NEVFM1x1NzQwNlx1OEY5M1x1NTFGQSIsInVpLmNvbGxhcHNlX3BhbmVsX2FyaWEiOiJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJoaXN0b3J5LmV4cGFuZCI6Ilx1NUM1NVx1NUYwMFx1NTM4Nlx1NTNGMlx1NUJGOVx1OEJERCIsImhpc3RvcnkuY29sbGFwc2UiOiJcdTY1MzZcdThENzdcdTUzODZcdTUzRjJcdTVCRjlcdThCREQiLCJoaXN0b3J5LnJvdW5kcyI6IntufSBcdThGNkVcdTVCRjlcdThCREQiLCJoaXN0b3J5LnRvb2xzIjoie259IFx1NkIyMVx1NURFNVx1NTE3N1x1OEMwM1x1NzUyOCIsImhpc3RvcnkuYWdlbnRzIjoie259IFx1NEUyQVx1NUI1MFx1NEVFM1x1NzQwNiIsImhpc3RvcnkuZXJyb3JzIjoie259IFx1NEUyQVx1NTkzMVx1OEQyNSIsInN0b3AuY29uZmlybS50aXRsZSI6Ilx1NTA1Q1x1NkI2Mlx1NEVGQlx1NTJBMSIsInN0b3AuY29uZmlybS5tZXNzYWdlIjoiXHU3ODZFXHU1QjlBXHU4OTgxXHU1MDVDXHU2QjYyXHU1RjUzXHU1MjREXHU2QjYzXHU1NzI4XHU4RkQwXHU4ODRDXHU3Njg0XHU0RUZCXHU1MkExXHU1NDE3XHVGRjFGIiwic3RvcC5jb25maXJtLm9rIjoiXHU1MDVDXHU2QjYyIiwic3RvcC5jb25maXJtLmNhbmNlbCI6Ilx1NTNENlx1NkQ4OCJ9LEVuZ2xpc2g6eyJzdWJhZ2VudC50YWciOiJTdWJhZ2VudCIsInN1YmFnZW50LmhhbmRvZmYiOiJ7cGFyZW50fSBhc2tlZCB7c3VifSBmb3IgaGVscCIsInN1YmFnZW50LmhhbmRvZmYud2l0aF9kZXNjIjoie3BhcmVudH0gYXNrZWQge3N1Yn0gZm9yIGhlbHAgd2l0aDogIiwic3ViYWdlbnQuY29udGludWVkIjoiY29udGludWVkIiwic3ViYWdlbnQudGFzay5kb25lIjoiVGFzayBjb21wbGV0ZSIsInN1YmFnZW50LnRhc2suZmFpbGVkIjoiVGFzayBmYWlsZWQiLCJzdWJhZ2VudC5ydW5uaW5nIjoiUnVubmluZyIsInN1YmFnZW50Lm5vX291dHB1dCI6IihubyBvdXRwdXQpIiwic3ViYWdlbnQuaGVscGVyX2ZhbGxiYWNrX3ByZWZpeCI6IkhlbHBlclx4QjciLCJzdWJhZ2VudC50aXRsZV9hcmlhIjoiQ2xpY2sgdG8gZXhwYW5kIC8gY29sbGFwc2Ugc3ViYWdlbnQgb3V0cHV0Iiwic3ViYWdlbnQudGFnX3RpdGxlIjoiU3ViYWdlbnQiLCJ1aS5leHBhbmQiOiJFeHBhbmQiLCJ1aS5jb2xsYXBzZSI6IkNvbGxhcHNlIiwidWkuZXhwYW5kX3BhbmVsX2FyaWEiOiJFeHBhbmQgc3ViYWdlbnQgb3V0cHV0IiwidWkuY29sbGFwc2VfcGFuZWxfYXJpYSI6IkNvbGxhcHNlIHN1YmFnZW50IG91dHB1dCIsImhpc3RvcnkuZXhwYW5kIjoiU2hvdyBlYXJsaWVyIGNvbnZlcnNhdGlvbiIsImhpc3RvcnkuY29sbGFwc2UiOiJIaWRlIGVhcmxpZXIgY29udmVyc2F0aW9uIiwiaGlzdG9yeS5yb3VuZHMiOiJ7bn0gcm91bmRzIiwiaGlzdG9yeS50b29scyI6IntufSB0b29sIGNhbGxzIiwiaGlzdG9yeS5hZ2VudHMiOiJ7bn0gc3ViYWdlbnRzIiwiaGlzdG9yeS5lcnJvcnMiOiJ7bn0gZmFpbGVkIiwic3RvcC5jb25maXJtLnRpdGxlIjoiU3RvcCB0YXNrIiwic3RvcC5jb25maXJtLm1lc3NhZ2UiOiJTdG9wIHRoZSB0YXNrIHRoYXQncyBjdXJyZW50bHkgcnVubmluZz8iLCJzdG9wLmNvbmZpcm0ub2siOiJTdG9wIiwic3RvcC5jb25maXJtLmNhbmNlbCI6IkNhbmNlbCJ9fTtmdW5jdGlvbiBpbygpe3ZhciBlPXIuY29uZmlnJiZ0eXBlb2Ygci5jb25maWcubGFuZ3VhZ2U9PSJzdHJpbmciP3IuY29uZmlnLmxhbmd1YWdlLnRyaW0oKToiIjtpZighZSlyZXR1cm4geWE7aWYoZmlbZV0pcmV0dXJuIGU7dmFyIHQ9ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09ImVuZ2xpc2gifHx0PT09ImVuInx8dC5pbmRleE9mKCJlbmdsaXNoIik9PT0wfHx0LmluZGV4T2YoIlx1ODJGMSIpPT09MD8iRW5nbGlzaCI6dD09PSJcdTRFMkRcdTY1ODcifHx0PT09InpoInx8dC5pbmRleE9mKCJ6aCIpPT09MHx8dC5pbmRleE9mKCJcdTRFMkQiKT09PTB8fHQuaW5kZXhPZigiY2hpbmVzZSIpPT09MD8iXHU0RTJEXHU2NTg3IjoiRW5nbGlzaCJ9ZnVuY3Rpb24gU2UoZSx0KXt2YXIgbj1pbygpLGk9Zmlbbl18fGZpW3lhXSxhPWkmJmUgaW4gaT9pW2VdOm51bGw7aWYoYT09bnVsbCl7dmFyIHU9ZmlbeWFdO2E9dSYmZSBpbiB1P3VbZV06ZX1pZih0JiZ0eXBlb2YgYT09InN0cmluZyIpZm9yKHZhciBvIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbykmJihhPWEuc3BsaXQoInsiK28rIn0iKS5qb2luKHRbb10pKTtyZXR1cm4gYX12YXIgUmQ9e3NoaWVsZDonPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPicsc2hpZWxkQ2hlY2s6JzxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48cG9seWxpbmUgcG9pbnRzPSI5IDEyIDExIDE0IDE1IDEwIi8+Jyxsb2NrOic8cmVjdCB4PSI1IiB5PSIxMCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik04IDEwVjdhNCA0IDAgMCAxIDggMHYzIi8+PHBhdGggZD0iTTEyIDE0djMiLz4nLGNlcnRpZmljYXRlOic8cGF0aCBkPSJNNiAzaDEydjE0SDZ6Ii8+PHBhdGggZD0iTTkgN2g2Ii8+PHBhdGggZD0iTTkgMTFoNCIvPjxwYXRoIGQ9Im0xMCAxNy0xIDQgMy0xIDMgMS0xLTQiLz4nLGNwdTonPHJlY3QgeD0iNyIgeT0iNyIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMiIvPjxwYXRoIGQ9Ik05IDF2MyIvPjxwYXRoIGQ9Ik0xNSAxdjMiLz48cGF0aCBkPSJNOSAyMHYzIi8+PHBhdGggZD0iTTE1IDIwdjMiLz48cGF0aCBkPSJNMjAgOWgzIi8+PHBhdGggZD0iTTIwIDE1aDMiLz48cGF0aCBkPSJNMSA5aDMiLz48cGF0aCBkPSJNMSAxNWgzIi8+PHJlY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiByeD0iMSIvPicsYnJhaW46JzxwYXRoIGQ9Ik05LjUgNC41YTMgMyAwIDAgMC00LjcgMy4xIDMuMyAzLjMgMCAwIDAgLjMgNi4xQTMgMyAwIDAgMCA4IDE5aDEuNVY0LjV6Ii8+PHBhdGggZD0iTTE0LjUgNC41YTMgMyAwIDAgMSA0LjcgMy4xIDMuMyAzLjMgMCAwIDEtLjMgNi4xQTMgMyAwIDAgMSAxNiAxOWgtMS41VjQuNXoiLz48cGF0aCBkPSJNOS41IDhINy44Ii8+PHBhdGggZD0iTTE0LjUgOGgxLjciLz48cGF0aCBkPSJNOS41IDEzSDcuNiIvPjxwYXRoIGQ9Ik0xNC41IDEzaDEuOSIvPicsa2V5Ym9hcmQ6JzxyZWN0IHg9IjIiIHk9IjYiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMiIgcng9IjIiLz48bGluZSB4MT0iNiIgeTE9IjEwIiB4Mj0iNiIgeTI9IjEwIi8+PGxpbmUgeDE9IjEwIiB5MT0iMTAiIHgyPSIxMCIgeTI9IjEwIi8+PGxpbmUgeDE9IjE0IiB5MT0iMTAiIHgyPSIxNCIgeTI9IjEwIi8+PGxpbmUgeDE9IjE4IiB5MT0iMTAiIHgyPSIxOCIgeTI9IjEwIi8+PGxpbmUgeDE9IjYiIHkxPSIxNCIgeDI9IjYiIHkyPSIxNCIvPjxsaW5lIHgxPSIxOCIgeTE9IjE0IiB4Mj0iMTgiIHkyPSIxNCIvPjxsaW5lIHgxPSI5IiB5MT0iMTQiIHgyPSIxNSIgeTI9IjE0Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCA3IDkgMTIgNCAxNyIvPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMjAiIHkyPSIxNyIvPicsY2hhdDonPHBhdGggZD0iTTIxIDEyYTggOCAwIDAgMS0xMi45IDYuM0wzIDIwbDEuNy01LjFBOCA4IDAgMSAxIDIxIDEyeiIvPicsZm9sZGVyOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+Jyx0cmFzaDonPHBvbHlsaW5lIHBvaW50cz0iMyA2IDUgNiAyMSA2Ii8+PHBhdGggZD0iTTE5IDZsLTEgMTNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJMNSA2Ii8+PHBhdGggZD0iTTEwIDExdjYiLz48cGF0aCBkPSJNMTQgMTF2NiIvPjxwYXRoIGQ9Ik05IDZWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyIi8+JyxjaGV2cm9uRG93bjonPHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz4nLGJlbGw6JzxwYXRoIGQ9Ik0xOCAxNnYtNWE2IDYgMCAxIDAtMTIgMHY1bC0yIDJoMTZ6Ii8+PHBhdGggZD0iTTEwIDIxYTIgMiAwIDAgMCA0IDAiLz4nLG11c2ljOic8cGF0aCBkPSJNOSAxOFY1bDEyLTJ2MTMiLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE2IiByPSIzIi8+Jyx2aWJyYXRlOic8cmVjdCB4PSI5IiB5PSI0IiB3aWR0aD0iNiIgaGVpZ2h0PSIxNiIgcng9IjEiLz48cGF0aCBkPSJNNSA4djgiLz48cGF0aCBkPSJNMyAxMHY0Ii8+PHBhdGggZD0iTTE5IDh2OCIvPjxwYXRoIGQ9Ik0yMSAxMHY0Ii8+JyxnbG9iZTonPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxsaW5lIHgxPSIzIiB5MT0iMTIiIHgyPSIyMSIgeTI9IjEyIi8+PHBhdGggZD0iTTEyIDNhMTQgMTQgMCAwIDEgMCAxOCIvPjxwYXRoIGQ9Ik0xMiAzYTE0IDE0IDAgMCAwIDAgMTgiLz4nLHNtYXJ0cGhvbmU6JzxyZWN0IHg9IjYiIHk9IjIiIHdpZHRoPSIxMiIgaGVpZ2h0PSIyMCIgcng9IjIuNSIvPjxsaW5lIHgxPSIxMSIgeTE9IjE4IiB4Mj0iMTMiIHkyPSIxOCIvPicsZGVza3RvcDonPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxsaW5lIHgxPSI4IiB5MT0iMjAiIHgyPSIxNiIgeTI9IjIwIi8+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMiIgeTI9IjIwIi8+JyxsaW5rOic8cGF0aCBkPSJNMTAgMTRhNC41IDQuNSAwIDAgMCA2LjM2IDBsMy0zYTQuNSA0LjUgMCAxIDAtNi4zNi02LjM2bC0xLjQyIDEuNDEiLz48cGF0aCBkPSJNMTQgMTBhNC41IDQuNSAwIDAgMC02LjM2IDBsLTMgM2E0LjUgNC41IDAgMSAwIDYuMzYgNi4zNmwxLjQyLTEuNDEiLz4nLHBhbGV0dGU6JzxjaXJjbGUgY3g9IjEzLjUiIGN5PSI2LjUiIHI9IjEiLz48Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iMSIvPjxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iMSIvPjxjaXJjbGUgY3g9IjYuNSIgY3k9IjEyLjUiIHI9IjEiLz48cGF0aCBkPSJNMTIgM2E5IDkgMCAxIDAgMCAxOCAxLjUgMS41IDAgMCAwIDEuMS0yLjUgMS41IDEuNSAwIDAgMSAxLjEtMi41aDIuM0E0LjUgNC41IDAgMCAwIDIxIDExLjVDMjEgNi44IDE2Ljk3IDMgMTIgM3oiLz4nLHBsYXk6Jzxwb2x5Z29uIHBvaW50cz0iNiA0IDIwIDEyIDYgMjAgNiA0Ii8+Jyx3cmVuY2g6JzxwYXRoIGQ9Ik0xNC43IDYuM2E0IDQgMCAxIDEgNCA0bC05IDktMy41IDEgMS0zLjUgNy41LTcuNXoiLz4nLHBhdzonPGNpcmNsZSBjeD0iNy41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjYuOCIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxNi41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjEzLjMiIHI9IjEuOCIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNNy4yIDE2LjNjLjUtMi45IDIuMy00LjggNC44LTQuOHM0LjMgMS45IDQuOCA0LjhjLjMgMS44LS45IDMuMi0yLjYgMi42LS44LS4zLTEuNC0uNi0yLjItLjZzLTEuNC4zLTIuMi42Yy0xLjcuNi0yLjktLjgtMi42LTIuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyIDIuMTIgMCAwIDEgMyAzTDcgMTlsLTQgMSAxLTR6Ii8+JyxzaWduYWw6JzxwYXRoIGQ9Ik0yIDEyYTE1IDE1IDAgMCAxIDIwIDAiLz48cGF0aCBkPSJNNSAxNmExMCAxMCAwIDAgMSAxNCAwIi8+PHBhdGggZD0iTTkgMjBhNCA0IDAgMCAxIDYgMCIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMjAiIHI9IjAuNSIgZmlsbD0iY3VycmVudENvbG9yIi8+JyxmaWxlOic8cGF0aCBkPSJNMTQgM0g2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTQgMyAxNCA5IDIwIDkiLz4nLHNpZ21hOic8cG9seWxpbmUgcG9pbnRzPSIxOCA0IDYgNCAxMyAxMiA2IDIwIDE4IDIwIi8+Jyx4Oic8cGF0aCBkPSJNMTggNiA2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPicscGx1czonPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPicsbWljOic8cmVjdCB4PSI5IiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgcng9IjMiLz48cGF0aCBkPSJNNSAxMWE3IDcgMCAwIDAgMTQgMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE4IiB4Mj0iMTIiIHkyPSIyMSIvPjxsaW5lIHgxPSI5IiB5MT0iMjEiIHgyPSIxNSIgeTI9IjIxIi8+JyxwYXBlcmNsaXA6JzxwYXRoIGQ9Ik0yMS40NCAxMS4wNSAxMi4yNSAyMC4yNGE2IDYgMCAwIDEtOC40OS04LjQ5bDguODQtOC44NGE0IDQgMCAxIDEgNS42NiA1LjY2TDkuNDEgMTcuNDFhMiAyIDAgMSAxLTIuODMtMi44M2w4Ljg0LTguODMiLz4nfTtmdW5jdGlvbiBVKGUsdCl7dmFyIG49UmRbZV07aWYoIW4pcmV0dXJuIiI7dD10fHx7fTt2YXIgaT10LnNpemV8fDE0LGE9dC5zdHJva2VXaWR0aHx8MS44LHU9dC5jbHM/JyBjbGFzcz0iJyt0LmNscysnIic6IiIsbz10LmZpbGx8fCJub25lIjtyZXR1cm4iPHN2ZyIrdSsnIHdpZHRoPSInK2krJyIgaGVpZ2h0PSInK2krJyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSInK28rJyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iJythKyciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPicrbisiPC9zdmc+In1mdW5jdGlvbiBhbyhlKXtpZighZXx8IUFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxuPTA7bjxlLmNvbnRlbnQubGVuZ3RoO24rKyl7dmFyIGk9ZS5jb250ZW50W25dO2lmKGkpe2lmKHR5cGVvZiBpLnRleHQ9PSJzdHJpbmciJiYodCs9aS50ZXh0Lmxlbmd0aCksdHlwZW9mIGkudGhpbmtpbmc9PSJzdHJpbmciJiYodCs9aS50aGlua2luZy5sZW5ndGgpLHR5cGVvZiBpLmNvbnRlbnQ9PSJzdHJpbmciKXQrPWkuY29udGVudC5sZW5ndGg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGkuY29udGVudCkpZm9yKHZhciBhPTA7YTxpLmNvbnRlbnQubGVuZ3RoO2ErKyl7dmFyIHU9aS5jb250ZW50W2FdO3UmJnR5cGVvZiB1LnRleHQ9PSJzdHJpbmciJiYodCs9dS50ZXh0Lmxlbmd0aCl9aWYoaS5pbnB1dCl0cnl7dCs9SlNPTi5zdHJpbmdpZnkoaS5pbnB1dCkubGVuZ3RofWNhdGNoe319fXJldHVybiB0fWZ1bmN0aW9uIHVvKGUsdCl7cmV0dXJuIGU/dD9hbyh0KT49YW8oZSk/dDpPYmplY3QuYXNzaWduKHt9LGUse3VzYWdlOnQudXNhZ2V8fGUudXNhZ2V9KTplOnR9ZnVuY3Rpb24gV2QoZSx0KXtyZXR1cm4gZT8ucm9sZT09PSJhc3Npc3RhbnQiJiZ0Py5yb2xlPT09ImFzc2lzdGFudCI/dW8oZSx0KTp0fHxlfWZ1bmN0aW9uIHpkKGUsdCxuLGkpe3ZhciBhPW58fDAsdT10eXBlb2YgaT09Im51bWJlciI/aTpNYXRoLm1heChhK3QubGVuZ3RoLHQubGVuZ3RoKSxvPWUmJkFycmF5LmlzQXJyYXkoZS5tZXNzYWdlcyk/ZS5tZXNzYWdlczpbXSxzPWUmJnR5cGVvZiBlLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiP2UubWVzc2FnZU9mZnNldDowLGw9ZSYmdHlwZW9mIGUubWVzc2FnZVRvdGFsPT0ibnVtYmVyIj9lLm1lc3NhZ2VUb3RhbDpzK28ubGVuZ3RoO2lmKHQubGVuZ3RoPT09MCYmby5sZW5ndGg+MCYmdT09PTApcmV0dXJue21lc3NhZ2VzOm8sbWVzc2FnZU9mZnNldDpzLG1lc3NhZ2VUb3RhbDpsfTtpZihvLmxlbmd0aD4wJiZ1PGwpcmV0dXJue21lc3NhZ2VzOm8sbWVzc2FnZU9mZnNldDpzLG1lc3NhZ2VUb3RhbDpsfTtpZihvLmxlbmd0aD09PTApcmV0dXJue21lc3NhZ2VzOnQsbWVzc2FnZU9mZnNldDphLG1lc3NhZ2VUb3RhbDp1fTt2YXIgZD1zK28ubGVuZ3RoLGY9YSt0Lmxlbmd0aDtpZihhPmR8fHM+ZilyZXR1cm57bWVzc2FnZXM6dCxtZXNzYWdlT2Zmc2V0OmEsbWVzc2FnZVRvdGFsOnV9O2Zvcih2YXIgYz1NYXRoLm1pbihzLGEpLHY9TWF0aC5tYXgoZCxmKSxoPVtdLG09YzttPHY7bSsrKXt2YXIgZz1tPj1zJiZtPGQ/b1ttLXNdOnZvaWQgMCx5PW0+PWEmJm08Zj90W20tYV06dm9pZCAwO2gucHVzaChXZChnLHkpKX1yZXR1cm57bWVzc2FnZXM6aCxtZXNzYWdlT2Zmc2V0OmMsbWVzc2FnZVRvdGFsOk1hdGgubWF4KGwsdSxjK2gubGVuZ3RoKX19ZnVuY3Rpb24gbW4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKTtpZighZSlyZXR1cm4gci5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLG51bGw7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO3JldHVybiB0PyhyLmNoYXRTY3JvbGxFbGVtZW50PXQsdCk6KHIuY2hhdFNjcm9sbEVsZW1lbnQ9bnVsbCxudWxsKX1mdW5jdGlvbiBiYShlKXt2YXIgdD1lfHxtbigpO3JldHVybiB0P01hdGguYWJzKHQuc2Nyb2xsVG9wKTxyLmNoYXRTY3JvbGxUaHJlc2hvbGQ6ITB9ZnVuY3Rpb24gdmgoZSl7ci5jaGF0U3RpY2tUb0JvdHRvbT0hIWUsci5jaGF0U3RpY2tUb0JvdHRvbSYmcW4oe3JlbW92ZURpdmlkZXI6ITB9KSwkZSgpfWZ1bmN0aW9uIHFuKGUpe2U9ZXx8e307dmFyIHQ9ci5jaGF0VW5yZWFkQ291bnQ+MHx8ci5jaGF0VW5yZWFkU3RhcnRJbmRleD49MDtpZihyLmNoYXRVbnJlYWRDb3VudD0wLHIuY2hhdFVucmVhZFN0YXJ0SW5kZXg9LTEsZS5yZW1vdmVEaXZpZGVyIT09ITEpe3ZhciBuPW1uKCk7aWYobil7dmFyIGk9bi5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlciIpO2kmJmkucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpfX10JiYkZSgpfWZ1bmN0aW9uIEVhKGUpe2lmKGV8fChlPW1uKCkpLCEhZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlciIpO2lmKHIuY2hhdFVucmVhZFN0YXJ0SW5kZXg8MHx8ci5jaGF0VW5yZWFkQ291bnQ8PTApe3QmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO3JldHVybn1mb3IodmFyIG49ci5jaGF0VW5yZWFkU3RhcnRJbmRleCxpPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZSIpLGE9bnVsbCx1PTA7dTxpLmxlbmd0aDt1Kyspe3ZhciBvPWlbdV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO2lmKG8hPT1udWxsKXt2YXIgcz1wYXJzZUludChvLDEwKTtpZighaXNOYU4ocykmJnM8bil7YT1pW3VdO2JyZWFrfX19dmFyIGw9ci5jaGF0VW5yZWFkQ291bnQrIiBcdTY3NjFcdTY1QjBcdTZEODhcdTYwNkYiO3R8fCh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQuY2xhc3NOYW1lPSJjaGF0LXVucmVhZC1kaXZpZGVyIix0LnNldEF0dHJpYnV0ZSgicm9sZSIsInNlcGFyYXRvciIpLHQuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1saW5lIj48L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWRpdmlkZXItbGFiZWwiPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1saW5lIj48L3NwYW4+JyksdC5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbCIpLnRleHRDb250ZW50PWwsYT8odC5uZXh0U2libGluZyE9PWF8fHQucGFyZW50Tm9kZSE9PWUpJiZlLmluc2VydEJlZm9yZSh0LGEpOih0LnBhcmVudE5vZGUhPT1lfHx0Lm5leHRTaWJsaW5nIT09bnVsbCkmJmUuYXBwZW5kQ2hpbGQodCl9fWZ1bmN0aW9uICRlKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtdW5yZWFkLWJ1YmJsZSIpO2lmKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PXIuc2VsZWN0ZWRJZH0pLG49IWJhKCksaT0hIXQmJnIuY3VycmVudFZpZXc9PT0iY2hhdCImJm47ZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIixpKSxlLmNsYXNzTGlzdC50b2dnbGUoImhhcy11bnJlYWQiLHIuY2hhdFVucmVhZENvdW50PjApO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudCIpO2EmJihyLmNoYXRVbnJlYWRDb3VudD4wPyhhLnRleHRDb250ZW50PXIuY2hhdFVucmVhZENvdW50Pjk5PyI5OSsiOlN0cmluZyhyLmNoYXRVbnJlYWRDb3VudCksYS5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpOihhLnRleHRDb250ZW50PSIiLGEuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpKSk7dmFyIHU9ci5jaGF0VW5yZWFkQ291bnQ+MD9yLmNoYXRVbnJlYWRDb3VudCsiIFx1Njc2MVx1NjVCMFx1NkQ4OFx1NjA2Rlx1RkYwQ1x1NzBCOVx1NTFGQlx1NjdFNVx1NzcwQiI6Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHUpLGUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtb3V0cHV0Iik7byYmby5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtanVtcC1idG4iLGkpfX1mdW5jdGlvbiBwaSgpe0ZhKCl9ZnVuY3Rpb24gRmEoZSl7dmFyIHQ9ZXx8bW4oKTtpZih0KXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXBpbi1zcGFjZXIiKTtuJiZuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX19ZnVuY3Rpb24gb28oZSl7dmFyIHQ9bW4oKTtpZighKCF0fHwhdC5pc0Nvbm5lY3RlZCkpe3BpKCksRmEodCksci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITA7dmFyIG49ZnVuY3Rpb24oKXtyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMSxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksJGUoKX07aWYoZSYmdHlwZW9mIHQuc2Nyb2xsVG89PSJmdW5jdGlvbiIpe3Quc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOiJzbW9vdGgifSksc2V0VGltZW91dChuLDI2MCk7cmV0dXJufXQuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4pfX1mdW5jdGlvbiBzbygpe3ZhciBlPW1uKCk7cGkoKSxlJiZGYShlKSxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksZSYmZS5pc0Nvbm5lY3RlZCYmKHIuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwLHIuY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPURhdGUubm93KCkrMTgwLGUuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSksJGUoKX1mdW5jdGlvbiBFcigpe3ZhciBlPW1uKCk7aWYoIWV8fCFlLmlzQ29ubmVjdGVkKXJldHVybjtpZihyLmNoYXRTY3JvbGxFbGVtZW50PT09ZSYmci5jaGF0U2Nyb2xsSGFuZGxlcil7JGUoKTtyZXR1cm59ci5jaGF0U2Nyb2xsRWxlbWVudCYmKHIuY2hhdFNjcm9sbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLmNoYXRTY3JvbGxIYW5kbGVyKSxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIuY2hhdFNjcm9sbFdoZWVsSGFuZGxlciksci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIpLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyKSksci5jaGF0U2Nyb2xsRWxlbWVudD1lO2Z1bmN0aW9uIHQoKXtwaSgpLHIuY2hhdFN0aWNrVG9Cb3R0b209ITEsZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKSYmVWUoITApLCRlKCl9ci5jaGF0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKGUuaXNDb25uZWN0ZWQpe2lmKHIuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsfHxEYXRlLm5vdygpPHIuY2hhdFByb2dyYW1tYXRpY1Njcm9sbFVudGlsKXskZSgpO3JldHVybn12YXIgbj1iYShlKTtpZihuKXBpKCksci5jaGF0U3RpY2tUb0JvdHRvbT0hMCxxbih7cmVtb3ZlRGl2aWRlcjohMH0pO2Vsc2V7dCgpO3JldHVybn0kZSgpfX0sci5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyPWZ1bmN0aW9uKG4pe3IuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsfHxuLmRlbHRhWTwwJiZ0KCl9LHIuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKG4peyFuLnRvdWNoZXN8fG4udG91Y2hlcy5sZW5ndGg9PT0wfHwoci5jaGF0VG91Y2hTdGFydFk9bi50b3VjaGVzWzBdLmNsaWVudFkpfSxyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyPWZ1bmN0aW9uKG4pe2lmKCFyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbCYmISghbi50b3VjaGVzfHxuLnRvdWNoZXMubGVuZ3RoPT09MCkpe3ZhciBpPW4udG91Y2hlc1swXS5jbGllbnRZLXIuY2hhdFRvdWNoU3RhcnRZO2k+NCYmdCgpfX0sZS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHIuY2hhdFNjcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHIuY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyLHtwYXNzaXZlOiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIse3Bhc3NpdmU6ITB9KSwkZSgpfWZ1bmN0aW9uIGxvKCl7aWYoci5jaGF0UmVuZGVyZWRDb3VudDxyLmN1cnJlbnRNZXNzYWdlcy5sZW5ndGgpe3IuY2hhdFJlbmRlcmVkQ291bnQrPXIuY2hhdFBhZ2VTaXplLFVlKCEwKTtyZXR1cm59dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7ZSYmdHlwZW9mIGUubWVzc2FnZU9mZnNldD09Im51bWJlciImJmUubWVzc2FnZU9mZnNldD4wJiZ1ZygpfXZhciBGcj1udWxsO2Z1bmN0aW9uIFZkKCl7RnImJihGci5kaXNjb25uZWN0KCksRnI9bnVsbCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtbG9hZC1tb3JlLXNlbnRpbmVsIik7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1sb2FkLW1vcmUtYnRuIik7dCYmKHQub25jbGljaz1mdW5jdGlvbigpe2xvKCl9KTt2YXIgbj0hISh3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwb2ludGVyOiBjb2Fyc2UpIikubWF0Y2hlcyksaT13aW5kb3cuaW5uZXJXaWR0aDw9NzY4O258fGl8fHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHdpbmRvdy5fX3dhbmRJb3NOYXRpdmV8fHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlcj4idSJ8fChGcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oYSl7Zm9yKHZhciB1PTA7dTxhLmxlbmd0aDt1KyspaWYoYVt1XS5pc0ludGVyc2VjdGluZyl7bG8oKTticmVha319LHtyb290Om1uKCkscm9vdE1hcmdpbjoiMjAwcHgifSksRnIub2JzZXJ2ZShlKSl9fWZ1bmN0aW9uIGtlKCl7dHJ5e3Iuc2VsZWN0ZWRJZD9sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1zZWxlY3RlZC1zZXNzaW9uIixyLnNlbGVjdGVkSWQpOmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iKX1jYXRjaHt9fWZ1bmN0aW9uIENhKGUpe3JldHVybiBlJiZBcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXM6ci5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZX1mdW5jdGlvbiBVZCgpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PXIuc2VsZWN0ZWRJZH0pO3JldHVybiBDYShlKX1mdW5jdGlvbiB2aShlKXt2YXIgdD1DYShlKTtyLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPUFycmF5LmlzQXJyYXkodCk/dC5zbGljZSgpOltdfWZ1bmN0aW9uIGNvKGUsdCl7cmV0dXJuISEoZSYmQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpJiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihuKXtyZXR1cm4gbiYmdHlwZW9mIG49PSJvYmplY3QiJiZuW3RdfSkpfWZ1bmN0aW9uIEtkKGUpe3JldHVybiEhKGUmJmUucm9sZT09PSJ1c2VyIiYmY28oZSwiX19xdWV1ZWQiKSl9ZnVuY3Rpb24gSmQoZSl7cmV0dXJuISEoZSYmZS5yb2xlPT09ImFzc2lzdGFudCImJmNvKGUsIl9fcHJvY2Vzc2luZyIpKX1mdW5jdGlvbiBDcihlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm5bXTtmb3IodmFyIHQ9ITEsbj1bXSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBhPWVbaV07aWYoS2QoYSl8fEpkKGEpKXt0PSEwO2NvbnRpbnVlfW4ucHVzaChhKX1yZXR1cm4gdD9uOmV9ZnVuY3Rpb24gR2QoZSx0KXtpZighZXx8IUFycmF5LmlzQXJyYXkoZS5tZXNzYWdlcykpcmV0dXJuIGU7dmFyIG49ZS5zZXNzaW9uS2luZHx8dCYmdC5zZXNzaW9uS2luZDtpZihuIT09InN0cnVjdHVyZWQiKXJldHVybiBlO3ZhciBpPUNyKGUubWVzc2FnZXMpO3JldHVybiBpPT09ZS5tZXNzYWdlcz9lOk9iamVjdC5hc3NpZ24oe30sZSx7bWVzc2FnZXM6aX0pfWZ1bmN0aW9uIGZvKCl7dHJ5e3ZhciBlPVVkKCk7aWYoIXIuc2VsZWN0ZWRJZHx8ZS5sZW5ndGg9PT0wKXJldHVybjtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIixKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkOnIuc2VsZWN0ZWRJZCxpdGVtczplfSkpfWNhdGNoe319ZnVuY3Rpb24gcG8oZSl7dHJ5e3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKTtpZighdClyZXR1cm47dmFyIG49SlNPTi5wYXJzZSh0KTsoIWV8fCFufHxuLnNlc3Npb25JZD09PWUpJiZsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIil9Y2F0Y2h7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpfX1mdW5jdGlvbiB2bygpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKGUmJkFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcykpe3ZpKGUpLGZvKCk7cmV0dXJufXRyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIik7aWYoIXQpcmV0dXJuO3ZhciBuPUpTT04ucGFyc2UodCk7aWYoIW58fG4uc2Vzc2lvbklkIT09ci5zZWxlY3RlZElkfHwhQXJyYXkuaXNBcnJheShuLml0ZW1zKSlyZXR1cm47ci5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZT1uLml0ZW1zLnNsaWNlKDAsMTApfWNhdGNoe3Iuc3RydWN0dXJlZElucHV0UXVldWU9W119fWZ1bmN0aW9uIFF0KCl7dHJ5e2lmKHIuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPT09MCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpO3JldHVybn1sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1jcm9zcy1zZXNzaW9uLXF1ZXVlIixKU09OLnN0cmluZ2lmeShyLmNyb3NzU2Vzc2lvblF1ZXVlKSl9Y2F0Y2h7fX1mdW5jdGlvbiBnbigpe3JldHVybiByLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdEN3ZHx8Ii90bXAifWZ1bmN0aW9uIG1vKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKGhhKTtpZighZSlyZXR1cm57fTt2YXIgdD1KU09OLnBhcnNlKGUpO3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCI/dDp7fX1jYXRjaHtyZXR1cm57fX19ZnVuY3Rpb24gWWQoZSl7dHJ5e2lmKCFlfHxPYmplY3Qua2V5cyhlKS5sZW5ndGg9PT0wKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoYSk7cmV0dXJufWxvY2FsU3RvcmFnZS5zZXRJdGVtKGhhLEpTT04uc3RyaW5naWZ5KGUpKX1jYXRjaHt9fWZ1bmN0aW9uIFFkKCl7dmFyIGU9ci5zZWxlY3RlZElkO2lmKCFlKXJldHVybnt9O3ZhciB0PW1vKCksbj10W2VdO3JldHVybiBuJiZ0eXBlb2Ygbj09Im9iamVjdCI/bjp7fX1mdW5jdGlvbiB3dChlKXtpZighZXx8IXIuc2VsZWN0ZWRJZClyZXR1cm4gbnVsbDt2YXIgdD1RZCgpO3JldHVybiB0eXBlb2YgdFtlXT09ImJvb2xlYW4iP3RbZV06bnVsbH1mdW5jdGlvbiBnbyhlLHQpe2lmKCEoIWV8fCFyLnNlbGVjdGVkSWQpKXt2YXIgbj1tbygpLGk9ci5zZWxlY3RlZElkLGE9bltpXTsoIWF8fHR5cGVvZiBhIT0ib2JqZWN0IikmJihhPXt9KSxhW2VdPSEhdCxuW2ldPWEsWWQobil9fWZ1bmN0aW9uIGhvKGUsdCl7cmV0dXJuIGU/ZS51dWlkPyJtc2c6IitlLnV1aWQ6ZS5pZD8ibXNnOiIrZS5pZDplLm1lc3NhZ2VJZD8ibXNnOiIrZS5tZXNzYWdlSWQ6ZS50dXJuSWQ/Im1zZzoiK2UudHVybklkOiJtc2c6IisodHlwZW9mIHQ9PSJudW1iZXIiP3Q6MCk6Im1zZzp1bmtub3duLSIrKHR5cGVvZiB0PT0ibnVtYmVyIj90OjApfWZ1bmN0aW9uIE10KGUsdCl7Zm9yKHZhciBuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXTthPT1udWxsfHxhPT09IiJ8fG4ucHVzaChTdHJpbmcoYSkpfXJldHVybiBlKyI6IituLmpvaW4oIjoiKX1mdW5jdGlvbiB3YShlKXtyZXR1cm4hZXx8IWUuZGF0YXNldD8iIjplLmRhdGFzZXQuZXhwYW5kS2V5fHwiIn1mdW5jdGlvbiAkZChlLHQpe2lmKCFlKXJldHVybiExO3N3aXRjaCh0KXtjYXNlInRvb2wtY2FyZCI6Y2FzZSJkaWZmIjpyZXR1cm4hZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2Nhc2UidGhpbmtpbmciOnJldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiZXhwYW5kZWQiKSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZWQiKTtjYXNlImlubGluZS10b29sIjpyZXR1cm4gZS5jbGFzc0xpc3QuY29udGFpbnMoImlubGluZS10b29sLW9wZW4iKTtjYXNlInRlcm1pbmFsIjp7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7cmV0dXJuIG4/bi5zdHlsZS5kaXNwbGF5IT09Im5vbmUiOmUuZGF0YXNldC5leHBhbmRlZD09PSJ0cnVlIn1jYXNlInRvb2wtZ3JvdXAiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Nhc2Uic3ViYWdlbnQtcmVwbHkiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Nhc2Uic3ViYWdlbnQtcGFuZWwiOnJldHVybiBlLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHlvKGUsdCxuKXtpZihlKXN3aXRjaCh0KXtjYXNlInRvb2wtY2FyZCI6Y2FzZSJkaWZmIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiLCFuKTticmVha31jYXNlInRoaW5raW5nIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiLCFuKSxlLmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIiwhIW4pO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1wcmV2aWV3Iik7aWYoaSl7dmFyIGE9ZS5kYXRhc2V0LnRoaW5raW5nfHwiIix1PWEuc2xpY2UoMCw1NykrKGEubGVuZ3RoPjYwPyJcdTIwMjYiOiIiKTtpLnRleHRDb250ZW50PW4/YTp1fXZhciBvPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1hY3Rpb24iKTtvJiYoby50ZXh0Q29udGVudD1uPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKTticmVha31jYXNlImlubGluZS10b29sIjp7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpbmxpbmUtdG9vbC1vcGVuIiwhIW4pO3ZhciBzPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLWV4cGFuZGVkIik7cyYmKHMuc3R5bGUuZGlzcGxheT1uPyJibG9jayI6Im5vbmUiKTticmVha31jYXNlInRlcm1pbmFsIjp7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7bCYmKGwuc3R5bGUuZGlzcGxheT1uPyJibG9jayI6Im5vbmUiKSxlLmRhdGFzZXQuZXhwYW5kZWQ9bj8idHJ1ZSI6ImZhbHNlIjt2YXIgZD1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLXRvZ2dsZS1pY29uIik7ZCYmKGQudGV4dENvbnRlbnQ9bj8iXHUyNUJDIjoiXHUyNUI2Iik7YnJlYWt9Y2FzZSJ0b29sLWdyb3VwIjp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLG4/InRydWUiOiJmYWxzZSIpO3ZhciBmPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtYm9keSIpO2YmJihmLnN0eWxlLmRpc3BsYXk9bj8iYmxvY2siOiJub25lIik7dmFyIGM9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1jaGV2cm9uIik7YyYmKGMuc3R5bGUudHJhbnNmb3JtPW4/InJvdGF0ZSgxODBkZWcpIjoiIik7YnJlYWt9Y2FzZSJzdWJhZ2VudC1yZXBseSI6e2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKTt2YXIgdj1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1yZXBseS10b2dnbGUtbGFiZWwiKTt2JiYodi50ZXh0Q29udGVudD1uPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKTt2YXIgaD1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1yZXBseS10b2dnbGUiKTtoJiYoaC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLG4/InRydWUiOiJmYWxzZSIpLGguc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixuPyJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdTU2REVcdTU5MEQiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdTU2REVcdTU5MERcdTUxNjhcdTY1ODciKSk7YnJlYWt9Y2FzZSJzdWJhZ2VudC1wYW5lbCI6e2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKTtmb3IodmFyIG09ZS5xdWVyeVNlbGVjdG9yQWxsKCIuc3ViYWdlbnQtcGFuZWwtdG9nZ2xlIiksZz0wO2c8bS5sZW5ndGg7ZysrKXt2YXIgeT1tW2ddO3kuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixuPyJ0cnVlIjoiZmFsc2UiKSx5LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsbj8iXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIjoiXHU1QzU1XHU1RjAwXHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIik7dmFyIEI9eS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtdG9nZ2xlLWxhYmVsIik7QiYmKEIudGV4dENvbnRlbnQ9bj8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIil9dmFyIEU9ZS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtYm9keSIpO0UmJihuP0Uuc2Nyb2xsVG9wPTA6RS5zY3JvbGxUb3A9RS5zY3JvbGxIZWlnaHQpO2JyZWFrfX19ZnVuY3Rpb24gJG4oZSx0KXt2YXIgbj13YShlKTtuJiZnbyhuLCRkKGUsdCkpfWZ1bmN0aW9uIEJhKGUpeyFlfHwhci5zZWxlY3RlZElkfHxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWV4cGFuZC1rZXldIikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj13YSh0KSxpPXQuZGF0YXNldC5leHBhbmRLaW5kfHwiIixhPXd0KG4pO2E9PT1udWxsfHwhaXx8eW8odCxpLGEpfSl9ZnVuY3Rpb24gV2UoKXtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg8PTc2OH1mdW5jdGlvbiBibygpe3JldHVybiEhci5zZXNzaW9uc0RyYXdlck9wZW4mJihXZSgpfHwhci5zaWRlYmFyUGlubmVkKX1mdW5jdGlvbiBEYShlKXtyLmZpbGVQYW5lbE9wZW49ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtZmlsZS1wYW5lbC1vcGVuIixTdHJpbmcoci5maWxlUGFuZWxPcGVuKSl9Y2F0Y2h7fXIuZmlsZVBhbmVsT3BlbiYmV2UoKSYmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpKSxobigpLHIuZmlsZVBhbmVsT3BlbiYmT3QoKX1mdW5jdGlvbiBtaSgpe0RhKCFyLmZpbGVQYW5lbE9wZW4pfWZ1bmN0aW9uIFhkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbCIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm1haW4tY29udGVudCIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtYmFja2Ryb3AiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHIuZmlsZVBhbmVsT3BlbiksdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJmaWxlLXBhbmVsLW9wZW4iLHIuZmlsZVBhbmVsT3BlbiksaSYmaS5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIixyLmZpbGVQYW5lbE9wZW4pLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixyLmZpbGVQYW5lbE9wZW4pfWZ1bmN0aW9uIGhuKCl7dGkoKSxYZCgpfWZ1bmN0aW9uIFpkKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLWN3ZCIpO2lmKHQpe3ZhciBuPWUmJmUuY3dkP2UuY3dkOmduKCk7dC50YWdOYW1lPT09IklOUFVUIj9kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dCYmKHQudmFsdWU9bixsaCh0KSk6dC50ZXh0Q29udGVudD1uLHQudGl0bGU9bjt2YXIgaT10LmNsb3Nlc3QoIi5maWxlLWV4cGxvcmVyLWhlYWRlciIpO2kmJmhyKGkpfX1mdW5jdGlvbiBFbygpe3IuZmlsZVBhbmVsT3BlbiYmRGEoITEpfWZ1bmN0aW9uIEZvKGUpe3ZhciB0PXIudGVybWluYWxTY2FsZStlO2lmKHQ9TWF0aC5tYXgoLjUsTWF0aC5taW4oMix0KSksdD1NYXRoLnJvdW5kKHQqNCkvNCx0IT09ci50ZXJtaW5hbFNjYWxlKXtyLnRlcm1pbmFsU2NhbGU9dDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiLFN0cmluZyh0KSl9Y2F0Y2h7fUNvKCksZWMoKX19ZnVuY3Rpb24gQ28oKXtpZighKCFyLnRlcm1pbmFsfHwhci50ZXJtaW5hbC5lbGVtZW50KSl7dmFyIGU9ci50ZXJtaW5hbEJhc2VGb250U2l6ZSpyLnRlcm1pbmFsU2NhbGUsdD1NYXRoLm1heCgxLE1hdGgucm91bmQoZSkpLG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKGUqMS41KSk7ci50ZXJtaW5hbC5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXRlcm0tZm9udC1zaXplIix0KyJweCIpLHIudGVybWluYWwuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS10ZXJtLXJvdy1oZWlnaHQiLG4rInB4IiksdHlwZW9mIHIudGVybWluYWwucmVtZWFzdXJlPT0iZnVuY3Rpb24iJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLnJlbWVhc3VyZSgpfSl9fWZ1bmN0aW9uIGVjKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLXNjYWxlLWxhYmVsLXRvcCIpO2UmJihlLnRleHRDb250ZW50PU1hdGgucm91bmQoci50ZXJtaW5hbFNjYWxlKjEwMCkrIiUiKX12YXIgdGM9eyJjaGV2cm9uLWxlZnQiOic8cGF0aCBkPSJNMTUgMThsLTYtNiA2LTYiLz4nLCJhcnJvdy11cCI6JzxwYXRoIGQ9Ik0xMiAxOVY1Ii8+PHBhdGggZD0iTTUgMTJsNy03IDcgNyIvPicscmVmcmVzaDonPHBhdGggZD0iTTIxIDEyYTkgOSAwIDEgMS0zLTYuNyIvPjxwYXRoIGQ9Ik0yMSA0djVoLTUiLz4nLGV5ZTonPHBhdGggZD0iTTEgMTJzNC03IDExLTcgMTEgNyAxMSA3LTQgNy0xMSA3UzEgMTIgMSAxMnoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+JywiZXllLW9mZiI6JzxwYXRoIGQ9Ik0xNy45NCAxNy45NEExMC45NCAxMC45NCAwIDAgMSAxMiAxOWMtNyAwLTExLTctMTEtN2ExOS44NiAxOS44NiAwIDAgMSA0LjIyLTUuMTgiLz48cGF0aCBkPSJNMSAxbDIyIDIyIi8+PHBhdGggZD0iTTkuOSA0LjI0QTEwLjk0IDEwLjk0IDAgMCAxIDEyIDRjNyAwIDExIDcgMTEgN2ExOS44MyAxOS44MyAwIDAgMS0zLjM2IDQuMjciLz48cGF0aCBkPSJNMTQuMTIgMTQuMTJhMyAzIDAgMSAxLTQuMjQtNC4yNCIvPicseDonPHBhdGggZD0iTTE4IDZMNiAxOCIvPjxwYXRoIGQ9Ik02IDZsMTIgMTIiLz4nLHNlYXJjaDonPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0yMSAyMWwtNC4zLTQuMyIvPicsY29weTonPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDE1VjVhMiAyIDAgMCAxIDItMmgxMCIvPicsY2xpcGJvYXJkOic8cmVjdCB4PSI4IiB5PSIzIiB3aWR0aD0iOCIgaGVpZ2h0PSI0IiByeD0iMSIvPjxwYXRoIGQ9Ik0xNiA1aDJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiIvPicsZG93bmxvYWQ6JzxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBhdGggZD0iTTcgMTBsNSA1IDUtNSIvPjxwYXRoIGQ9Ik0xMiAxNVYzIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNHoiLz4nLHNhdmU6JzxwYXRoIGQ9Ik0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyeiIvPjxwYXRoIGQ9Ik0xNyAyMXYtOEg3djgiLz48cGF0aCBkPSJNNyAzdjVoOCIvPicsInJvdGF0ZS1jY3ciOic8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgMy02LjciLz48cGF0aCBkPSJNMyA0djVoNSIvPicsIndyYXAtdGV4dCI6JzxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMyAxMmgxNWEzIDMgMCAxIDEgMCA2aC00Ii8+PHBhdGggZD0iTTE2IDE2bC0yIDIgMiAyIi8+PHBhdGggZD0iTTMgMThoNiIvPicsdHlwZTonPHBhdGggZD0iTTQgN1Y0aDE2djMiLz48cGF0aCBkPSJNOSAyMGg2Ii8+PHBhdGggZD0iTTEyIDR2MTYiLz4nLG1pbnVzOic8cGF0aCBkPSJNNSAxMmgxNCIvPicscGx1czonPHBhdGggZD0iTTEyIDV2MTQiLz48cGF0aCBkPSJNNSAxMmgxNCIvPicsInNlbmQtdG8taW5wdXQiOic8cGF0aCBkPSJNMjIgMkwxMSAxMyIvPjxwYXRoIGQ9Ik0yMiAybC03IDIwLTQtOS05LTR6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiLz48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiLz4nLCJmb2xkZXItb3BlbiI6JzxwYXRoIGQ9Ik02IDE0bDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIi8+JyxpbmZvOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIxMiIvPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMi4wMSIgeTI9IjgiLz4nfTtmdW5jdGlvbiBPZShlLHQpe3Q9dHx8e307dmFyIG49dGNbZV18fCIiLGk9dC5zaXplfHwxNixhPXQuY2xhc3NOYW1lPyIgIit0LmNsYXNzTmFtZToiIjtyZXR1cm4nPHN2ZyBjbGFzcz0id2FuZC1pY29uIHdhbmQtaWNvbi0nK2UrYSsnIiB3aWR0aD0iJytpKyciIGhlaWdodD0iJytpKyciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytuKyI8L3N2Zz4ifWZ1bmN0aW9uIG5jKGUpe3ZhciB0PWV8fGduKCk7cmV0dXJuIHQ/JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj48ZGl2IGNsYXNzPSJ0cmVlLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2Pic6JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NjcyQVx1OTE0RFx1N0Y2RVx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvZGl2Pid9dmFyIHJjPXtwbmc6Ilx1ezFGNUJDfVx1RkUwRiIsanBnOiJcdXsxRjVCQ31cdUZFMEYiLGpwZWc6Ilx1ezFGNUJDfVx1RkUwRiIsZ2lmOiJcdXsxRjVCQ31cdUZFMEYiLHdlYnA6Ilx1ezFGNUJDfVx1RkUwRiIsc3ZnOiJcdXsxRjVCQ31cdUZFMEYiLGF2aWY6Ilx1ezFGNUJDfVx1RkUwRiIsYm1wOiJcdXsxRjVCQ31cdUZFMEYiLGljbzoiXHV7MUY1QkN9XHVGRTBGIixoZWljOiJcdXsxRjVCQ31cdUZFMEYiLGhlaWY6Ilx1ezFGNUJDfVx1RkUwRiIscGRmOiJcdXsxRjRENX0iLGRvYzoiXHV7MUY0RDh9Iixkb2N4OiJcdXsxRjREOH0iLG9kdDoiXHV7MUY0RDh9Iix4bHM6Ilx1ezFGNENBfSIseGxzeDoiXHV7MUY0Q0F9Iixjc3Y6Ilx1ezFGNENBfSIsdHN2OiJcdXsxRjRDQX0iLHBwdDoiXHV7MUY0RDl9IixwcHR4OiJcdXsxRjREOX0iLG1wNDoiXHV7MUYzQUN9Iix3ZWJtOiJcdXsxRjNBQ30iLG1vdjoiXHV7MUYzQUN9Iixta3Y6Ilx1ezFGM0FDfSIsbTR2OiJcdXsxRjNBQ30iLG9ndjoiXHV7MUYzQUN9IixtcDM6Ilx1ezFGM0I1fSIsd2F2OiJcdXsxRjNCNX0iLG9nZzoiXHV7MUYzQjV9IixtNGE6Ilx1ezFGM0I1fSIsZmxhYzoiXHV7MUYzQjV9IixhYWM6Ilx1ezFGM0I1fSIsb3B1czoiXHV7MUYzQjV9Iix6aXA6Ilx1ezFGNEU2fSIsdGFyOiJcdXsxRjRFNn0iLGd6OiJcdXsxRjRFNn0iLHRnejoiXHV7MUY0RTZ9IixiejI6Ilx1ezFGNEU2fSIsIjd6IjoiXHV7MUY0RTZ9IixyYXI6Ilx1ezFGNEU2fSIseHo6Ilx1ezFGNEU2fSIsbWQ6Ilx1ezFGNEREfSIsbWFya2Rvd246Ilx1ezFGNEREfSIsbWR4OiJcdXsxRjRERH0iLHJzdDoiXHV7MUY0RER9Iix0eHQ6Ilx1ezFGNEREfSIsbG9nOiJcdXsxRjRERH0iLGh0bWw6Ilx1ezFGMzEwfSIsaHRtOiJcdXsxRjMxMH0iLHhtbDoiXHV7MUYzMTB9Iixjc3M6Ilx1ezFGM0E4fSIsc2NzczoiXHV7MUYzQTh9IixsZXNzOiJcdXsxRjNBOH0iLGpzb246Ilx1MjY5OVx1RkUwRiIsanNvbmM6Ilx1MjY5OVx1RkUwRiIseWFtbDoiXHUyNjk5XHVGRTBGIix5bWw6Ilx1MjY5OVx1RkUwRiIsdG9tbDoiXHUyNjk5XHVGRTBGIixpbmk6Ilx1MjY5OVx1RkUwRiIsY2ZnOiJcdTI2OTlcdUZFMEYiLGNvbmY6Ilx1MjY5OVx1RkUwRiIsZW52OiJcdTI2OTlcdUZFMEYiLGVkaXRvcmNvbmZpZzoiXHUyNjk5XHVGRTBGIix0czoiXHV7MUY0REN9Iix0c3g6Ilx1ezFGNERDfSIsanM6Ilx1ezFGNERDfSIsanN4OiJcdXsxRjREQ30iLG1qczoiXHV7MUY0REN9IixjanM6Ilx1ezFGNERDfSIscHk6Ilx1ezFGNERDfSIscmI6Ilx1ezFGNERDfSIsZ286Ilx1ezFGNERDfSIscnM6Ilx1ezFGNERDfSIsamF2YToiXHV7MUY0REN9IixjOiJcdXsxRjREQ30iLGNwcDoiXHV7MUY0REN9IixoOiJcdXsxRjREQ30iLGhwcDoiXHV7MUY0REN9IixjczoiXHV7MUY0REN9Iixzd2lmdDoiXHV7MUY0REN9IixrdDoiXHV7MUY0REN9IixzY2FsYToiXHV7MUY0REN9IixwaHA6Ilx1ezFGNERDfSIsc2g6Ilx1ezFGNERDfSIsYmFzaDoiXHV7MUY0REN9Iix6c2g6Ilx1ezFGNERDfSIsZmlzaDoiXHV7MUY0REN9IixsdWE6Ilx1ezFGNERDfSIsc3FsOiJcdXsxRjREQ30iLGdyYXBocWw6Ilx1ezFGNERDfSIscHJvdG86Ilx1ezFGNERDfSIsdnVlOiJcdXsxRjREQ30iLHN2ZWx0ZToiXHV7MUY0REN9IixkaWZmOiJcdXsxRjREQ30iLHBhdGNoOiJcdXsxRjREQ30iLHR0ZjoiXHV7MUY1MjR9IixvdGY6Ilx1ezFGNTI0fSIsd29mZjoiXHV7MUY1MjR9Iix3b2ZmMjoiXHV7MUY1MjR9Iixlb3Q6Ilx1ezFGNTI0fSJ9O2Z1bmN0aW9uIHdvKGUpe2lmKCFlKXJldHVybiJcdXsxRjRDNH0iO2lmKGUudHlwZT09PSJkaXIiKXJldHVybiJcdXsxRjRDMX0iO3ZhciB0PShlLm5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKHQ9PT0iZG9ja2VyZmlsZSIpcmV0dXJuIlx1ezFGNDMzfSI7aWYodD09PSJtYWtlZmlsZSIpcmV0dXJuIlx1ezFGNkUwfVx1RkUwRiI7aWYodD09PSJsaWNlbnNlIilyZXR1cm4iXHV7MUY0REN9IjtpZih0PT09InJlYWRtZSIpcmV0dXJuIlx1ezFGNEREfSI7dmFyIG49dC5sYXN0SW5kZXhPZigiLiIpO2lmKG48MHx8bj09PXQubGVuZ3RoLTEpcmV0dXJuIlx1ezFGNEM0fSI7dmFyIGk9dC5zbGljZShuKzEpO3JldHVybiByY1tpXXx8Ilx1ezFGNEM0fSJ9ZnVuY3Rpb24gWG4oZSl7aWYodHlwZW9mIGUhPSJudW1iZXIifHwhaXNGaW5pdGUoZSl8fGU8MClyZXR1cm4iIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjt2YXIgdD1lLzEwMjQ7aWYodDwxMDI0KXJldHVybih0Pj0xMD9NYXRoLnJvdW5kKHQpOnQudG9GaXhlZCgxKSkrIiBLQiI7dmFyIG49dC8xMDI0O2lmKG48MTAyNClyZXR1cm4obj49MTA/TWF0aC5yb3VuZChuKTpuLnRvRml4ZWQoMSkpKyIgTUIiO3ZhciBpPW4vMTAyNDtyZXR1cm4oaT49MTA/TWF0aC5yb3VuZChpKTppLnRvRml4ZWQoMSkpKyIgR0IifWZ1bmN0aW9uIGljKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUucGFyc2UoZSk7cmV0dXJuIGlzTmFOKHQpPyIiOm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKCl9ZnVuY3Rpb24gQm8oKXtpZihyLmZpbGVFeHBsb3JlckN3ZClyZXR1cm4gci5maWxlRXhwbG9yZXJDd2Q7aWYoci5zZWxlY3RlZElkKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZihlJiZlLmN3ZClyZXR1cm4gZS5jd2R9cmV0dXJuIGduKCl9ZnVuY3Rpb24gT3QoZSl7ZT1lfHx7fTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIGk9ZS5jd2R8fEJvKCk7aWYoIWkpe3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIGVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTY2M0VcdTc5M0FcdTc2ODRcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L2Rpdj4nO3JldHVybn1yLmZpbGVFeHBsb3JlckN3ZD1pLHIuZmlsZUV4cGxvcmVyTG9hZGluZz0hMCxyLmFsbEZpbGVzPVtdLHIuZmlsZUV4cGxvcmVyVHJ1bmNhdGVkPSExLHIuZmlsZUV4cGxvcmVyVG90YWw9MCx0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciI+PGRpdiBjbGFzcz0idHJlZS1sb2FkaW5nIiBzdHlsZT0icGFkZGluZzoxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTowLjgxMjVyZW07Ij5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj4nLG4mJihuLnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1uJiYobi52YWx1ZT1pKTpuLnRleHRDb250ZW50PWksbi50aXRsZT1pKTt2YXIgYT0iL2FwaS9kaXJlY3Rvcnk/cT0iK2VuY29kZVVSSUNvbXBvbmVudChpKSsiJmdpdFN0YXR1cz10cnVlIjtmZXRjaChhLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtpZighdS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeS4iKTtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe3IuZmlsZUV4cGxvcmVyTG9hZGluZz0hMTt2YXIgbyxzLGw7aWYoQXJyYXkuaXNBcnJheSh1KT8obz11LHM9ITEsbD11Lmxlbmd0aCk6KG89dSYmdS5pdGVtc3x8W10scz0hISh1JiZ1LnRydW5jYXRlZCksbD11JiZ1LnRvdGFsfHxvLmxlbmd0aCksIW98fG8ubGVuZ3RoPT09MCl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1N0E3QVx1NzZFRVx1NUY1NVx1NjIxNlx1NjVFMFx1NkNENVx1OEJCRlx1OTVFRVx1MzAwMjwvZGl2Pic7cmV0dXJufXIuYWxsRmlsZXM9byxyLmZpbGVFeHBsb3JlclRydW5jYXRlZD1zLHIuZmlsZUV4cGxvcmVyVG90YWw9bCxEbygpfSkuY2F0Y2goZnVuY3Rpb24oKXtyLmZpbGVFeHBsb3JlckxvYWRpbmc9ITEsdC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1NjhDMFx1NjdFNVx1OERFRlx1NUY4NFx1NjIxNlx1Njc0M1x1OTY1MFx1MzAwMjwvZGl2Pid9KX19ZnVuY3Rpb24gRG8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpO2lmKGUpe3ZhciB0PXIuZmlsZUV4cGxvcmVyQ3dkfHwiIjtpZih0KXt2YXIgbj1yLmZpbGVTZWFyY2hRdWVyeSxpPXIuYWxsRmlsZXN8fFtdLGE9aTtpZihuKXt2YXIgdT1uLnRvTG93ZXJDYXNlKCk7YT1pLmZpbHRlcihmdW5jdGlvbihsKXtyZXR1cm4gbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih1KSE9PS0xfSl9aWYoYS5sZW5ndGg9PT0wKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+Jysobj8iXHU2Q0ExXHU2NzA5XHU2MjdFXHU1MjMwXHU1MzM5XHU5MTREXHU3Njg0XHU2NTg3XHU0RUY2IjoiXHU3QTdBXHU3NkVFXHU1RjU1IikrIjwvZGl2PiI7cmV0dXJufXZhciBvPSIiO2lmKCFuJiZyLmZpbGVFeHBsb3JlclRydW5jYXRlZCl7dmFyIHM9aS5sZW5ndGg7bz0nPGRpdiBjbGFzcz0idHJlZS10cnVuY2F0ZWQiIHRpdGxlPSJcdTU0MEVcdTdBRUZcdTYzMDlcdTVCNTdcdTZCQ0RcdTVFOEZcdTY3MDBcdTU5MUFcdThGRDRcdTU2REUgJytzKycgXHU5ODc5Ij5cdTY2M0VcdTc5M0FcdTUyNEQgJytzKyIgXHU5ODc5IC8gXHU1MTcxICIrci5maWxlRXhwbG9yZXJUb3RhbCsiIFx1OTg3OTwvZGl2PiJ9ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj4nK2EubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBrbyhsKX0pLmpvaW4oIiIpKyI8L2Rpdj4iK28sQW8oKX19fWZ1bmN0aW9uIGtvKGUsdCl7dD10fHwwO3ZhciBuPXAoZS5uYW1lKSxpPWUudHlwZT09PSJkaXIiLGE9d28oZSksdT1pPyJcdTI1QjgiOiIiLG89aT8iIjoiIGVtcHR5IixzPWUuZ2l0U3RhdHVzLGw9YWMocyksZD0iIjtyZXR1cm4haSYmdHlwZW9mIGUuc2l6ZT09Im51bWJlciImJihkPSc8c3BhbiBjbGFzcz0idHJlZS1tZXRhIiB0aXRsZT0iXHU1OTI3XHU1QzBGXHVGRjFBJytwKFhuKGUuc2l6ZSkpKyhlLm10aW1lP2AKXHU0RkVFXHU2NTM5XHU2NUY2XHU5NUY0XHVGRjFBYCtwKGljKGUubXRpbWUpKToiIikrJyI+JytwKFhuKGUuc2l6ZSkpKyI8L3NwYW4+IiksJzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgZGF0YS1wYXRoPSInK3AoZS5wYXRoKSsnIiBkYXRhLXR5cGU9IicrcChlLnR5cGUpKyciIGRhdGEtbmFtZT0iJytwKGUubmFtZSkrJyIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJ0cmVlLXRvZ2dsZScrbysnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1pY29uIj4nK2ErJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1uYW1lIj4nK24rIjwvc3Bhbj4iK2QrKGw/JzxzcGFuIGNsYXNzPSJnaXQtc3RhdHVzLWJhZGdlICcrbC5jbGFzcysnIiB0aXRsZT0iJytsLnRpdGxlKyciPicrbC50ZXh0KyI8L3NwYW4+IjoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gYWMoZSl7cmV0dXJuIGU/ZS5zdGFnZWQ9PT0iYWRkZWQiP3t0ZXh0OiJBIixjbGFzczoiZ2l0LWFkZGVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU2NUIwXHU1ODlFXHVGRjA5In06ZS5zdGFnZWQ9PT0ibW9kaWZpZWQiP3t0ZXh0OiJNIixjbGFzczoiZ2l0LW1vZGlmaWVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU0RkVFXHU2NTM5XHVGRjA5In06ZS5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtZGVsZXRlZCIsdGl0bGU6Ilx1NURGMlx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUuc3RhZ2VkPT09InJlbmFtZWQiP3t0ZXh0OiJSIixjbGFzczoiZ2l0LXJlbmFtZWQiLHRpdGxlOiJcdTVERjJcdTY2ODJcdTVCNThcdUZGMDhcdTkxQ0RcdTU0N0RcdTU0MERcdUZGMDkifTplLnVuc3RhZ2VkPT09Im1vZGlmaWVkIj97dGV4dDoiTSIsY2xhc3M6ImdpdC11bnN0YWdlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NEZFRVx1NjUzOVx1RkYwOSJ9OmUudW5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtdW5zdGFnZWQtZGVsZXRlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUudW50cmFja2VkP3t0ZXh0OiI/IixjbGFzczoiZ2l0LXVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9Om51bGw6bnVsbH1mdW5jdGlvbiBBbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXRyZWUiKTtpZihlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi50cmVlLWl0ZW1bZGF0YS10eXBlPSdkaXInXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7dWMoaSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbVtkYXRhLXR5cGU9J2ZpbGUnXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZnVuY3Rpb24oKXtoaShpLmRhdGFzZXQucGF0aCl9O2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGEpfSk7dmFyIHQ9bnVsbCxuPSExO2UucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLHhvKGEuY2xpZW50WCxhLmNsaWVudFksaSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe249ITEsdD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bj0hMDt2YXIgdT1hLnRvdWNoZXMmJmEudG91Y2hlc1swXTt4byh1P3UuY2xpZW50WDowLHU/dS5jbGllbnRZOjAsaSl9LDUwMCl9LHtwYXNzaXZlOiEwfSksaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KX0pfX1mdW5jdGlvbiB1YyhlKXt2YXIgdD1lLmRhdGFzZXQucGF0aCxuPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtdG9nZ2xlIiksaT1lLm5leHRFbGVtZW50U2libGluZztpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygidHJlZS1jaGlsZHJlbiIpKXt2YXIgYT1pLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO2kuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsIWEpO3ZhciB1PWUucXVlcnlTZWxlY3RvcigiLnRyZWUtaWNvbiIpO3UmJih1LnRleHRDb250ZW50PWE/Ilx1ezFGNEMxfSI6Ilx1ezFGNEMyfSIpO3JldHVybn1uJiZuLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoIi50cmVlLWljb24iKTtvJiYoby50ZXh0Q29udGVudD0iXHV7MUY0QzJ9Iik7dmFyIHM9Ii9hcGkvZGlyZWN0b3J5P3E9IitlbmNvZGVVUklDb21wb25lbnQodCkrIiZnaXRTdGF0dXM9dHJ1ZSI7ZmV0Y2gocyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwuanNvbigpfSkudGhlbihmdW5jdGlvbihsKXt2YXIgZDtBcnJheS5pc0FycmF5KGwpP2Q9bDpkPWwmJmwuaXRlbXN8fFtdO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuY2xhc3NOYW1lPSJ0cmVlLWNoaWxkcmVuIG9wZW4iLCFkfHxkLmxlbmd0aD09PTA/Zi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpkZWZhdWx0OyI+PHNwYW4gY2xhc3M9InRyZWUtdG9nZ2xlIGVtcHR5Ij5cdTI1Qjg8L3NwYW4+PHNwYW4gY2xhc3M9InRyZWUtbmFtZSI+XHVGRjA4XHU3QTdBXHU3NkVFXHU1RjU1XHVGRjA5PC9zcGFuPjwvZGl2Pic6Zi5pbm5lckhUTUw9ZC5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGtvKGMpfSkuam9pbigiIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShmLGUubmV4dFNpYmxpbmcpLEFvKCl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIG9jKCl7dmFyIGU9Qm8oKTtpZihlKXt2YXIgdD1lLnJlcGxhY2UoL1wvKyQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIiKTt0fHwodD0iLyIpLHQhPT1lJiZPdCh7Y3dkOnR9KX19ZnVuY3Rpb24ga2EoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCF0KXJldHVybiExO3ZhciBuPXQudmFsdWV8fCIiLGk9biYmIW4uZW5kc1dpdGgoIiAiKSYmIW4uZW5kc1dpdGgoYApgKT8iICI6IiI7dC52YWx1ZT1uK2krZSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSk7dHJ5e3QuZm9jdXMoKSx0LnNldFNlbGVjdGlvblJhbmdlKHQudmFsdWUubGVuZ3RoLHQudmFsdWUubGVuZ3RoKX1jYXRjaHt9cmV0dXJuITB9ZnVuY3Rpb24gZ2koZSl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQpcmV0dXJuIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKX0pO3JldHVybiBQcm9taXNlLnJlc29sdmUodCgpKTtmdW5jdGlvbiB0KCl7dHJ5e3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7bi52YWx1ZT1lLG4uc3R5bGUucG9zaXRpb249ImZpeGVkIixuLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksbi5zZWxlY3QoKTt2YXIgaT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG4pLGl9Y2F0Y2h7cmV0dXJuITF9fX1mdW5jdGlvbiBCdChlKXtpZih0eXBlb2Ygd2luZG93LnNob3dUb2FzdD09ImZ1bmN0aW9uIil7d2luZG93LnNob3dUb2FzdChlKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9IndhbmQtbWluaS10b2FzdCIsdC50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LmFkZCgic2hvdyIpfSwxMCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnJlbW92ZSgpfSwyMjApfSwxNjAwKX1mdW5jdGlvbiBabigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWNvbnRleHQtbWVudSIpO2UmJmUucmVtb3ZlKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFpuLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFpuLCEwKX1mdW5jdGlvbiB4byhlLHQsbil7Wm4oKTt2YXIgaT1uLmRhdGFzZXQucGF0aHx8IiIsYT1uLmRhdGFzZXQudHlwZXx8ImZpbGUiLHU9ci5maWxlRXhwbG9yZXJDd2R8fCIiLG89aTt1JiZpLmluZGV4T2YodSk9PT0wJiYobz1pLnNsaWNlKHUubGVuZ3RoKS5yZXBsYWNlKC9eXC8rLywiIil8fCIuIik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5pZD0iZmlsZS1jb250ZXh0LW1lbnUiLHMuY2xhc3NOYW1lPSJmaWxlLWNvbnRleHQtbWVudSI7dmFyIGw9W107YT09PSJmaWxlIj9sLnB1c2goe2xhYmVsOiJcdTYyNTNcdTVGMDBcdTk4ODRcdTg5QzgiLGljb246Ilx1ezFGNDQxfSIscnVuOmZ1bmN0aW9uKCl7aGkoaSl9fSk6bC5wdXNoKHtsYWJlbDoiXHU4RkRCXHU1MTY1XHU2QjY0XHU3NkVFXHU1RjU1IixpY29uOiJcdXsxRjRDMn0iLHJ1bjpmdW5jdGlvbigpe090KHtjd2Q6aX0pfX0pLGwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NUI4Q1x1NjU3NFx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtnaShpKS50aGVuKGZ1bmN0aW9uKCl7QnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSksbyYmbyE9PWkmJmwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtnaShvKS50aGVuKGZ1bmN0aW9uKCl7QnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIpfSl9fSksbC5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU4REVGXHU1Rjg0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOiJcdTI3MEZcdUZFMEYiLHJ1bjpmdW5jdGlvbigpe2thKGkpJiZCdCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksYT09PSJmaWxlIiYmbC5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2IixpY29uOiJcdTJCMDciLHJ1bjpmdW5jdGlvbigpe3ZhciBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTttLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpLG0ucmVsPSJub29wZW5lciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChtKSxtLmNsaWNrKCksbS5yZW1vdmUoKX19KSxzLmlubmVySFRNTD1sLm1hcChmdW5jdGlvbihtLGcpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImZpbGUtY29udGV4dC1tZW51LWl0ZW0iIGRhdGEtaWR4PSInK2crJyI+PHNwYW4gY2xhc3M9ImN0eC1pY29uIj4nK20uaWNvbisnPC9zcGFuPjxzcGFuIGNsYXNzPSJjdHgtbGFiZWwiPicrcChtLmxhYmVsKSsiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpO3ZhciBkPXdpbmRvdy5pbm5lcldpZHRoLGY9d2luZG93LmlubmVySGVpZ2h0LGM9cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PU1hdGgubWluKGUsZC1jLndpZHRoLTgpLGg9TWF0aC5taW4odCxmLWMuaGVpZ2h0LTgpO3Muc3R5bGUubGVmdD1NYXRoLm1heCg4LHYpKyJweCIscy5zdHlsZS50b3A9TWF0aC5tYXgoOCxoKSsicHgiLHMucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtY29udGV4dC1tZW51LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGcpe2cuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHk9cGFyc2VJbnQobS5kYXRhc2V0LmlkeCwxMCk7Wm4oKSxsW3ldJiZsW3ldLnJ1bigpfSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFpuLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLFpuLCEwKX0sMCl9dmFyIEg9bnVsbDtmdW5jdGlvbiBoaShlKXt2YXIgdD1IJiZILm92ZXJsYXk7aWYodCl7SC5wYXRoPWUsSC5lZGl0aW5nPSExLEguZGlydHk9ITE7dmFyIG89dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIik7byYmKG8uaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWljb24iPlx1ezFGNEM0fTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctbmFtZS1ibG9jayI+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtcm93Ij48c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWZpbGVuYW1lIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+JytGdCgiIiwiZmlsZS1wcmV2aWV3LXBhdGgiKSsiPC9kaXY+Iik7dmFyIHM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXIiKTtzJiYocy5pbm5lckhUTUw9IiIpO3ZhciBsPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1wYXRoIik7ZW8obCwiIik7dmFyIGQ9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtkJiYoZC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj4nKX1lbHNle3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1vdmVybGF5Iix0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW1vZGFsIiB0YWJpbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10aXRsZSI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1pY29uIj5cdXsxRjRDNH08L3NwYW4+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2siPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1uYW1lLXJvdyI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1maWxlbmFtZSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PicrRnQoIiIsImZpbGUtcHJldmlldy1wYXRoIikrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10b29sYmFyIj48L2Rpdj48YnV0dG9uIGNsYXNzPSJmaWxlLXByZXZpZXctY2xvc2UiIHRpdGxlPSJcdTUxNzNcdTk1RUQgKEVzYykiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+JytPZSgieCIse3NpemU6MTh9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWNsb3NlIiksaT1mdW5jdGlvbigpe2lmKEgmJkguZGlydHkmJnR5cGVvZiB5bj09ImZ1bmN0aW9uIil7eW4oe3R5cGU6Indhcm5pbmciLHRpdGxlOiJcdTY1M0VcdTVGMDNcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTRGRUVcdTY1MzlcdUZGMUYiLG1lc3NhZ2U6Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTE3M1x1OTVFRFx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiIsYnV0dG9uczpbe2xhYmVsOiJcdTdFRTdcdTdFRURcdTdGMTZcdThGOTEiLHZhbHVlOiExLGtpbmQ6Imdob3N0In0se2xhYmVsOiJcdTY1M0VcdTVGMDNcdTRGRUVcdTY1MzkiLHZhbHVlOiEwLGtpbmQ6ImRhbmdlciIsYXV0b2ZvY3VzOiEwfV0sY2FuY2VsVmFsdWU6ITF9KS50aGVuKGZ1bmN0aW9uKGMpe2MmJmEoKX0pO3JldHVybn1hKCl9LGE9ZnVuY3Rpb24oKXt0LnJlbW92ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpLEg9bnVsbH07bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYyl7Yy50YXJnZXQ9PT10JiZpKCl9KTt2YXIgdT1mdW5jdGlvbihjKXtpZigoYy5rZXk9PT0icyJ8fGMua2V5PT09IlMiKSYmKGMuY3RybEtleXx8Yy5tZXRhS2V5KSYmSCYmSC5lZGl0aW5nKXtjLnByZXZlbnREZWZhdWx0KCksT28oKTtyZXR1cm59aWYoYy5rZXk9PT0iRXNjYXBlIil7aWYoSCYmSC5lZGl0aW5nKXtjLnByZXZlbnREZWZhdWx0KCksTW8oKTtyZXR1cm59aSgpO3JldHVybn1IJiYoYy50YXJnZXQmJihjLnRhcmdldC50YWdOYW1lPT09IklOUFVUInx8Yy50YXJnZXQudGFnTmFtZT09PSJURVhUQVJFQSIpfHxILmVkaXRpbmd8fChjLmtleT09PSJBcnJvd0xlZnQiPyhjLnByZXZlbnREZWZhdWx0KCksU28oLTEpKTpjLmtleT09PSJBcnJvd1JpZ2h0IiYmKGMucHJldmVudERlZmF1bHQoKSxTbygxKSkpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSksSD17b3ZlcmxheTp0LGNsb3NlOmkscGF0aDplLGRhdGE6bnVsbCxlZGl0aW5nOiExLGRpcnR5OiExfX12YXIgZj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctcGF0aCIpO2VvKGYsZSksZmV0Y2goIi9hcGkvZmlsZS1wcmV2aWV3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQoZSkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGMpe3JldHVybiBjLmpzb24oKS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybntvazpjLm9rLHN0YXR1czpjLnN0YXR1cyxkYXRhOnZ9fSl9KS50aGVuKGZ1bmN0aW9uKGMpe3ZhciB2PXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7aWYoIWMub2t8fGMuZGF0YSYmYy5kYXRhLmVycm9yKXt2YXIgaD1jLmRhdGEmJmMuZGF0YS5lcnJvcnx8Ilx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSI7Yy5zdGF0dXM9PT00MTMmJmMuZGF0YSYmYy5kYXRhLnNpemUmJihoKz0iXHVGRjA4XHU2NTg3XHU0RUY2XHU1OTI3XHU1QzBGXHVGRjFBIitYbihjLmRhdGEuc2l6ZSkrIlx1RkYwOSIpLHYuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctZXJyb3IiPjxzcGFuIGNsYXNzPSJwcmV2aWV3LWVycm9yLWljb24iPlx1MjZBMDwvc3Bhbj48c3Bhbj4nK3AoaCkrIjwvc3Bhbj48L2Rpdj4iLGMuc3RhdHVzPT09NDEzJiZBYSh0LHtraW5kOiJiaW5hcnkiLHBhdGg6ZSxuYW1lOmUuc3BsaXQoIi8iKS5wb3AoKXx8ZSxleHQ6IiIsc2l6ZTpjLmRhdGEmJmMuZGF0YS5zaXplfHwwfSk7cmV0dXJufUguZGF0YT1jLmRhdGEsSW8odCxjLmRhdGEpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgYz10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO2MuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctZXJyb3IiPjxzcGFuIGNsYXNzPSJwcmV2aWV3LWVycm9yLWljb24iPlx1MjZBMDwvc3Bhbj48c3Bhbj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTU5MzFcdThEMjU8L3NwYW4+PC9kaXY+J30pfWZ1bmN0aW9uIFNvKGUpe2lmKEgpe3ZhciB0PShyLmFsbEZpbGVzfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiBzLnR5cGU9PT0iZmlsZSJ9KTtpZih0Lmxlbmd0aCl7Zm9yKHZhciBuPUgucGF0aCxpPS0xLGE9MDthPHQubGVuZ3RoO2ErKylpZih0W2FdLnBhdGg9PT1uKXtpPWE7YnJlYWt9aWYoIShpPDApKXt2YXIgdT0oaStlK3QubGVuZ3RoKSV0Lmxlbmd0aCxvPXRbdV0ucGF0aDtvJiZvIT09biYmaGkobyl9fX19ZnVuY3Rpb24gSW8oZSx0KXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctZmlsZW5hbWUiKTtuJiYobi50ZXh0Q29udGVudD10Lm5hbWUpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1pY29uIik7aSYmKGkudGV4dENvbnRlbnQ9d28oe25hbWU6dC5uYW1lLHR5cGU6ImZpbGUifSkpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10aXRsZSIpLHU9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWxhbmciKTt1JiZ1LnJlbW92ZSgpO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtvLmNsYXNzTmFtZT0iZmlsZS1wcmV2aWV3LWxhbmciO3ZhciBzPXtpbWFnZToiXHU1NkZFXHU3MjQ3IixwZGY6IlBERiIsdmlkZW86Ilx1ODlDNlx1OTg5MSIsYXVkaW86Ilx1OTdGM1x1OTg5MSIsYmluYXJ5OiJcdTRFOENcdThGREJcdTUyMzYifTt0LmtpbmQ9PT0idGV4dCI/by50ZXh0Q29udGVudD10Lmxhbmd8fCh0LmV4dHx8IiIpLnJlcGxhY2UoIi4iLCIiKXx8InRleHQiOm8udGV4dENvbnRlbnQ9c1t0LmtpbmRdfHwodC5leHR8fCIiKS5yZXBsYWNlKCIuIiwiIil8fHQua2luZCxhJiZhLmFwcGVuZENoaWxkKG8pLEFhKGUsdCk7dmFyIGw9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtsLmlubmVySFRNTD0iIixsLmNsYXNzTGlzdC5yZW1vdmUoImtpbmQtdGV4dCIsImtpbmQtaW1hZ2UiLCJraW5kLXBkZiIsImtpbmQtdmlkZW8iLCJraW5kLWF1ZGlvIiwia2luZC1iaW5hcnkiKSxsLmNsYXNzTGlzdC5hZGQoImtpbmQtIisodC5raW5kfHwidGV4dCIpKSx0LmtpbmQ9PT0iaW1hZ2UiP2xjKGwsdCk6dC5raW5kPT09InBkZiI/ZGMobCx0KTp0LmtpbmQ9PT0idmlkZW8iP2NjKGwsdCk6dC5raW5kPT09ImF1ZGlvIj9mYyhsLHQpOnQua2luZD09PSJiaW5hcnkiP3BjKGwsdCk6dC5sYW5nPT09Im1hcmtkb3duInx8L1wuKG1kfG1hcmtkb3dufG1keCkkL2kudGVzdCh0Lm5hbWV8fCIiKT9sLmlubmVySFRNTD0nPGRpdiBjbGFzcz0ibWFya2Rvd24tcHJldmlldyI+JytoYyh0LmNvbnRlbnR8fCIiKSsiPC9kaXY+IjpzYyhsLHQpfWZ1bmN0aW9uIHNjKGUsdCl7dmFyIG49cW8odC5jb250ZW50fHwiIix0LmxhbmcpLGk9bi5zcGxpdChgCmApLGE9aS5tYXAoZnVuY3Rpb24odSxvKXtyZXR1cm4gbysxfSk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy13cmFwcGVyIj48ZGl2IGNsYXNzPSJjb2RlLXByZXZpZXctbGluZXMiPicrYS5qb2luKGAKYCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy1jb250ZW50Ij48cHJlPicraS5qb2luKGAKYCkrIjwvcHJlPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gbGMoZSx0KXt2YXIgbj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImltYWdlLXByZXZpZXctd3JhcHBlciI+PGltZyBjbGFzcz0iaW1hZ2UtcHJldmlldy1pbWciIHNyYz0iJytuKyciIGFsdD0iJytwKHQubmFtZSkrJyIgLz48L2Rpdj4nO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmltYWdlLXByZXZpZXctaW1nIik7aWYoaSl7dmFyIGE9ITE7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXthPSFhLGkuY2xhc3NMaXN0LnRvZ2dsZSgiem9vbWVkIixhKX0pfX1mdW5jdGlvbiBkYyhlLHQpe3ZhciBuPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGlmcmFtZSBjbGFzcz0icGRmLXByZXZpZXctZnJhbWUiIHNyYz0iJytuKyciIHRpdGxlPSInK3AodC5uYW1lKSsnIj48L2lmcmFtZT4nfWZ1bmN0aW9uIGNjKGUsdCl7dmFyIG49Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LXdyYXBwZXIiPjx2aWRlbyBjbGFzcz0ibWVkaWEtcHJldmlldy12aWRlbyIgY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHNyYz0iJytuKyciPlx1NjBBOFx1NzY4NFx1NkQ0Rlx1ODlDOFx1NTY2OFx1NEUwRFx1NjUyRlx1NjMwMSB2aWRlbyBcdTY4MDdcdTdCN0VcdTMwMDI8L3ZpZGVvPjxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctbWV0YSI+JytwKFhuKHQuc2l6ZSkpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGZjKGUsdCl7dmFyIG49Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LXdyYXBwZXIgYXVkaW8iPjxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctaWNvbiI+XHV7MUYzQjV9PC9kaXY+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1uYW1lIj4nK3AodC5uYW1lKSsnPC9kaXY+PGF1ZGlvIGNsYXNzPSJtZWRpYS1wcmV2aWV3LWF1ZGlvIiBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3JjPSInK24rJyI+XHU2MEE4XHU3Njg0XHU2RDRGXHU4OUM4XHU1NjY4XHU0RTBEXHU2NTJGXHU2MzAxIGF1ZGlvIFx1NjgwN1x1N0I3RVx1MzAwMjwvYXVkaW8+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1tZXRhIj4nK3AoWG4odC5zaXplKSkrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gcGMoZSx0KXt2YXIgbj0iL2FwaS9maWxlLXJhdz9kb3dubG9hZD0xJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctY2FyZCI+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctaWNvbiI+XHV7MUY0RTZ9PC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctbmFtZSI+JytwKHQubmFtZSkrJzwvZGl2PjxkaXYgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LW1ldGEiPjxzcGFuPicrcCgodC5leHR8fCIiKS5yZXBsYWNlKC9eXC4vLCIiKXx8Ilx1NjcyQVx1NzdFNVx1NjgzQ1x1NUYwRiIpKyI8L3NwYW4+PHNwYW4+XHhCNzwvc3Bhbj48c3Bhbj4iK3AoWG4odC5zaXplKSkrIjwvc3Bhbj48L2Rpdj4iK0Z0KHQucGF0aCwiYmluYXJ5LXByZXZpZXctcGF0aCIpKyc8ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1hY3Rpb25zIj48YSBjbGFzcz0iYmluYXJ5LXByZXZpZXctYnRuIiBocmVmPSInK24rJyIgZG93bmxvYWQ9IicrcCh0Lm5hbWUpKyciPlx1NEUwQlx1OEY3RFx1NjU4N1x1NEVGNjwvYT48YnV0dG9uIGNsYXNzPSJiaW5hcnktcHJldmlldy1idG4iIHR5cGU9ImJ1dHRvbiIgZGF0YS1hY3Rpb249InZpZXctY2F0Ij5cdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdTY3RTVcdTc3MEI8L2J1dHRvbj48L2Rpdj48L2Rpdj4nLHp0KGUpO3ZhciBpPWUucXVlcnlTZWxlY3RvcignW2RhdGEtYWN0aW9uPSJ2aWV3LWNhdCJdJyk7aSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtrYSgnY2F0IC0tICInK3QucGF0aCsnIicpJiZCdCgiXHU1NDdEXHU0RUU0XHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9KX1mdW5jdGlvbiBBYShlLHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10b29sYmFyIik7aWYobil7aWYobi5pbm5lckhUTUw9IiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJlZGl0aW5nIiksSCYmSC5lZGl0aW5nKXtuLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKSx3cihlLHQpO3JldHVybn12YXIgaT1bXTt0LmtpbmQ9PT0idGV4dCImJmkucHVzaCh7bGFiZWw6Ilx1N0YxNlx1OEY5MVx1NjU4N1x1NEVGNiAoRSkiLGljb246T2UoImVkaXQiKSxwcmltYXJ5OiEwLGFjdGlvbjpmdW5jdGlvbigpe3ZjKCl9fSksaS5wdXNoKHtsYWJlbDoiXHU1OTBEXHU1MjM2XHU4REVGXHU1Rjg0IixpY29uOk9lKCJjbGlwYm9hcmQiKSxhY3Rpb246ZnVuY3Rpb24oKXtnaSh0LnBhdGgpLnRoZW4oZnVuY3Rpb24oKXtCdCgiXHU1REYyXHU1OTBEXHU1MjM2XHU4REVGXHU1Rjg0Iil9KX19KSxpLnB1c2goe2xhYmVsOiJcdTdDOThcdThEMzRcdTUyMzBcdThGOTNcdTUxNjVcdTY4NDYiLGljb246T2UoInNlbmQtdG8taW5wdXQiKSxhY3Rpb246ZnVuY3Rpb24oKXtrYSh0LnBhdGgpJiZCdCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksaS5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEIixpY29uOk9lKCJkb3dubG9hZCIpLGFjdGlvbjpmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCksYS5kb3dubG9hZD10Lm5hbWV8fCIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSksYS5jbGljaygpLGEucmVtb3ZlKCl9fSksdC5raW5kPT09InRleHQiJiYoaS5wdXNoKHtsYWJlbDoiXHU1OTBEXHU1MjM2XHU1MTY4XHU5MEU4XHU1MTg1XHU1QkI5IixpY29uOk9lKCJjb3B5IiksYWN0aW9uOmZ1bmN0aW9uKCl7Z2kodC5jb250ZW50fHwiIikudGhlbihmdW5jdGlvbigpe0J0KCJcdTVERjJcdTU5MERcdTUyMzZcdTUxODVcdTVCQjkiKX0pfX0pLGkucHVzaCh7bGFiZWw6Ilx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjM2Mlx1ODg0QyIsaWNvbjpPZSgid3JhcC10ZXh0IiksdG9nZ2xlQ2xhc3M6InRvb2xiYXItYWN0aXZlIixnZXRJbml0aWFsOmZ1bmN0aW9uKCl7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIik7cmV0dXJuIGEmJmEuY2xhc3NMaXN0LmNvbnRhaW5zKCJ3cmFwIil9LGFjdGlvbjpmdW5jdGlvbihhKXt2YXIgdT1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctY29udGVudCBwcmUiKTt1JiYodS5jbGFzc0xpc3QudG9nZ2xlKCJ3cmFwIiksYS5jbGFzc0xpc3QudG9nZ2xlKCJ0b29sYmFyLWFjdGl2ZSIsdS5jbGFzc0xpc3QuY29udGFpbnMoIndyYXAiKSkpfX0pLGkucHVzaCh7a2luZDoiZ3JvdXAiLGNsYXNzTmFtZToidG9vbGJhci1ncm91cC1mb250c2l6ZSIsY2hpbGRyZW46W3tsYWJlbDoiXHU3RjI5XHU1QzBGXHU1QjU3XHU1M0Y3IixpY29uOk9lKCJtaW51cyIpLGFjdGlvbjpmdW5jdGlvbigpe1BvKGUsLTEpfX0se2tpbmQ6ImxhYmVsIixpY29uOk9lKCJ0eXBlIiksbGFiZWw6Ilx1NUI1N1x1NTNGNyJ9LHtsYWJlbDoiXHU2NTNFXHU1OTI3XHU1QjU3XHU1M0Y3IixpY29uOk9lKCJwbHVzIiksYWN0aW9uOmZ1bmN0aW9uKCl7UG8oZSwxKX19XX0pKSxUbyhuLGksZSl9fWZ1bmN0aW9uIFRvKGUsdCxuKXt0LmZvckVhY2goZnVuY3Rpb24oaSl7aWYoaS5raW5kPT09Imdyb3VwIil7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9ImZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIisoaS5jbGFzc05hbWU/IiAiK2kuY2xhc3NOYW1lOiIiKSxpLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24odSl7aWYodS5raW5kPT09ImxhYmVsIil7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO28uY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1ncm91cGxhYmVsIixvLnRpdGxlPXUubGFiZWx8fCIiLG8uaW5uZXJIVE1MPXUuaWNvbnx8IiIsYS5hcHBlbmRDaGlsZChvKTtyZXR1cm59YS5hcHBlbmRDaGlsZChMbyh1KSl9KSxlLmFwcGVuZENoaWxkKGEpO3JldHVybn1lLmFwcGVuZENoaWxkKExvKGkpKX0pfWZ1bmN0aW9uIExvKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO3JldHVybiB0LnR5cGU9ImJ1dHRvbiIsdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy10b29sYmFyLWJ0biIsZS5wcmltYXJ5JiZ0LmNsYXNzTGlzdC5hZGQoInByaW1hcnkiKSxlLmRhbmdlciYmdC5jbGFzc0xpc3QuYWRkKCJkYW5nZXIiKSx0LnRpdGxlPWUubGFiZWwsdC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUubGFiZWwpLHQuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0idG9vbGJhci1pY29uIj4nKyhlLmljb258fCIiKSsiPC9zcGFuPiIrKGUudGV4dD8nPHNwYW4gY2xhc3M9InRvb2xiYXItdGV4dCI+JytwKGUudGV4dCkrIjwvc3Bhbj4iOiIiKSxlLmdldEluaXRpYWwmJmUuZ2V0SW5pdGlhbCgpJiZ0LmNsYXNzTGlzdC5hZGQoInRvb2xiYXItYWN0aXZlIiksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obil7bi5zdG9wUHJvcGFnYXRpb24oKSx0eXBlb2YgZS5hY3Rpb249PSJmdW5jdGlvbiImJmUuYWN0aW9uKHQpfSksdH1mdW5jdGlvbiB3cihlLHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy10b29sYmFyIik7aWYobil7bi5pbm5lckhUTUw9IiI7dmFyIGk9SCYmSC5zYXZpbmcsYT1be2xhYmVsOiJcdTRGRERcdTVCNTggKEN0cmwrUykiLGljb246T2UoInNhdmUiKSx0ZXh0OiJcdTRGRERcdTVCNTgiLHByaW1hcnk6ITAsYWN0aW9uOmZ1bmN0aW9uKCl7T28oKX19LHtsYWJlbDoiXHU2NEE0XHU5NTAwXHU2NTM5XHU1MkE4IixpY29uOk9lKCJyb3RhdGUtY2N3IiksYWN0aW9uOmZ1bmN0aW9uKCl7bWMoKX19LHtsYWJlbDoiXHU5MDAwXHU1MUZBXHU3RjE2XHU4RjkxIChFc2MpIixpY29uOk9lKCJ4IiksYWN0aW9uOmZ1bmN0aW9uKCl7TW8oKX19XTtUbyhuLGEsZSksaSYmbi5xdWVyeVNlbGVjdG9yQWxsKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuIikuZm9yRWFjaChmdW5jdGlvbih1KXt1LmRpc2FibGVkPSEwfSl9fWZ1bmN0aW9uIHZjKCl7aWYoISghSHx8IUguZGF0YSkpe3ZhciBlPUguZGF0YTtpZihlLmtpbmQ9PT0idGV4dCIpe0guZWRpdGluZz0hMCxILmRpcnR5PSExLEgub3JpZ2luYWxDb250ZW50PWUuY29udGVudHx8IiI7dmFyIHQ9SC5vdmVybGF5LG49dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtpZihuKXtuLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKSxuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29kZS1lZGl0b3Itd3JhcHBlciI+PHRleHRhcmVhIGNsYXNzPSJjb2RlLWVkaXRvci10ZXh0YXJlYSIgc3BlbGxjaGVjaz0iZmFsc2UiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiB3cmFwPSJvZmYiPjwvdGV4dGFyZWE+PC9kaXY+Jzt2YXIgaT1uLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO2kmJihpLnZhbHVlPWUuY29udGVudHx8IiIsaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXt2YXIgYT1pLnZhbHVlIT09KEgub3JpZ2luYWxDb250ZW50fHwiIik7YSE9PUguZGlydHkmJihILmRpcnR5PWEsQnIoKSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGEpe2lmKGEua2V5PT09IlRhYiIpe2EucHJldmVudERlZmF1bHQoKTt2YXIgdT1pLnNlbGVjdGlvblN0YXJ0LG89aS5zZWxlY3Rpb25FbmQscz0iICAiO2kudmFsdWU9aS52YWx1ZS5zbGljZSgwLHUpK3MraS52YWx1ZS5zbGljZShvKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPXUrcy5sZW5ndGgsaS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSl9fSksc2V0VGltZW91dChmdW5jdGlvbigpe2kuZm9jdXMoKSxpLnNldFNlbGVjdGlvblJhbmdlKDAsMCksaS5zY3JvbGxUb3A9MH0sMzApKSxBYSh0LGUpLEJyKCl9fX19ZnVuY3Rpb24gTW8oKXtpZighKCFIfHwhSC5lZGl0aW5nKSl7dmFyIGU9ZnVuY3Rpb24oKXtILmVkaXRpbmc9ITEsSC5kaXJ0eT0hMTt2YXIgdD1ILm92ZXJsYXksbj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO24mJm4uY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLElvKHQsSC5kYXRhKSxCcigpfTtpZihILmRpcnR5JiZ0eXBlb2YgeW49PSJmdW5jdGlvbiIpe3luKHt0eXBlOiJ3YXJuaW5nIix0aXRsZToiXHU2NTNFXHU1RjAzXHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU0RkVFXHU2NTM5XHVGRjFGIixtZXNzYWdlOiJcdTVGNTNcdTUyNERcdTY1ODdcdTRFRjZcdTY3MDlcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTY1MzlcdTUyQThcdUZGMENcdTkwMDBcdTUxRkFcdTdGMTZcdThGOTFcdTU0MEVcdTRGMUFcdTRFMjJcdTU5MzFcdTMwMDIiLGJ1dHRvbnM6W3tsYWJlbDoiXHU3RUU3XHU3RUVEXHU3RjE2XHU4RjkxIix2YWx1ZTohMSxraW5kOiJnaG9zdCJ9LHtsYWJlbDoiXHU2NTNFXHU1RjAzXHU0RkVFXHU2NTM5Iix2YWx1ZTohMCxraW5kOiJkYW5nZXIiLGF1dG9mb2N1czohMH1dLGNhbmNlbFZhbHVlOiExfSkudGhlbihmdW5jdGlvbih0KXt0JiZlKCl9KTtyZXR1cm59ZSgpfX1mdW5jdGlvbiBtYygpe2lmKCEoIUh8fCFILmVkaXRpbmcpKXt2YXIgZT1ILm92ZXJsYXksdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO3QmJih0LnZhbHVlPUgub3JpZ2luYWxDb250ZW50fHwiIixILmRpcnR5PSExLEJyKCksdC5mb2N1cygpKX19ZnVuY3Rpb24gT28oKXtpZighKCFIfHwhSC5lZGl0aW5nKSYmIUguc2F2aW5nKXt2YXIgZT1ILm92ZXJsYXksdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvci10ZXh0YXJlYSIpO2lmKHQpe3ZhciBuPXQudmFsdWU7aWYobj09PShILm9yaWdpbmFsQ29udGVudHx8IiIpKXtCdCgiXHU2Q0ExXHU2NzA5XHU2NTM5XHU1MkE4Iik7cmV0dXJufUguc2F2aW5nPSEwLHdyKGUsSC5kYXRhKSxmZXRjaCgiL2FwaS9maWxlLXdyaXRlIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDpILnBhdGgsY29udGVudDpufSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybntvazppLm9rLHN0YXR1czppLnN0YXR1cyxkYXRhOmF9fSl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKEguc2F2aW5nPSExLCFpLm9rfHxpLmRhdGEmJmkuZGF0YS5lcnJvcil7dmFyIGE9aS5kYXRhJiZpLmRhdGEuZXJyb3J8fCJcdTRGRERcdTVCNThcdTU5MzFcdThEMjUgKCIraS5zdGF0dXMrIikiO0J0KGEpLHdyKGUsSC5kYXRhKTtyZXR1cm59aWYoSC5kYXRhLmNvbnRlbnQ9bixILmRhdGEuc2l6ZT1pLmRhdGEmJmkuZGF0YS5zaXplfHxuLmxlbmd0aCxILm9yaWdpbmFsQ29udGVudD1uLEguZGlydHk9ITEsQnQoIlx1NURGMlx1NEZERFx1NUI1OCIpLEJyKCksd3IoZSxILmRhdGEpLHR5cGVvZiBPdD09ImZ1bmN0aW9uIil0cnl7T3QoKX1jYXRjaHt9fSkuY2F0Y2goZnVuY3Rpb24oaSl7SC5zYXZpbmc9ITEsQnQoIlx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1RkYxQSIrKGkmJmkubWVzc2FnZT9pLm1lc3NhZ2U6Ilx1N0Y1MVx1N0VEQ1x1OTUxOVx1OEJFRiIpKSx3cihlLEguZGF0YSl9KX19fWZ1bmN0aW9uIEJyKCl7aWYoSCl7dmFyIGU9SC5vdmVybGF5O2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1uYW1lLXJvdyIpO2lmKHQpe3ZhciBuPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1kaXJ0eSIpO2lmKEguZGlydHkpe2lmKCFuKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7aS5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1kaXJ0eSIsaS50aXRsZT0iXHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU0RkVFXHU2NTM5IixpLnRleHRDb250ZW50PSJcdTI1Q0YgXHU2NzJBXHU0RkREXHU1QjU4Iix0LmFwcGVuZENoaWxkKGkpfX1lbHNlIG4mJm4ucmVtb3ZlKCl9fX19ZnVuY3Rpb24gUG8oZSx0KXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctY29udGVudCBwcmUiKSxpPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtcHJldmlldy1saW5lcyIpO2lmKG4pe3ZhciBhPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShuKS5mb250U2l6ZSl8fDEzLHU9TWF0aC5tYXgoMTAsTWF0aC5taW4oMjIsYSt0KSk7bi5zdHlsZS5mb250U2l6ZT11KyJweCIsaSYmKGkuc3R5bGUuZm9udFNpemU9dSsicHgiKX19ZnVuY3Rpb24gcW8oZSx0KXt2YXIgbj1lLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKSxpPWdjKCk7aWYoIWkpcmV0dXJuIG47dmFyIGE9W107Zm9yKHZhciB1IGluIGkpe3ZhciBvPWlbdV07byYmby5wYXR0ZXJuJiZhLnB1c2goe3BhdHRlcm46by5wYXR0ZXJuLGNsczpvLmNscyxwcmlvcml0eTpvLnByaW9yaXR5fHw1fSl9YS5zb3J0KGZ1bmN0aW9uKGQsZil7cmV0dXJuIGYucHJpb3JpdHktZC5wcmlvcml0eX0pO3ZhciBzPWEubWFwKGZ1bmN0aW9uKGQpe3JldHVybiIoIitkLnBhdHRlcm4uc291cmNlKyIpIn0pLGw9bmV3IFJlZ0V4cChzLmpvaW4oInwiKSwiZ20iKTtyZXR1cm4gbi5yZXBsYWNlKGwsZnVuY3Rpb24oZCl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBjPWFbZl0sdj1uZXcgUmVnRXhwKCJeIitjLnBhdHRlcm4uc291cmNlKyIkIiwiZ20iKTtpZih2LnRlc3QoZCkpcmV0dXJuJzxzcGFuIGNsYXNzPSInK2MuY2xzKyciPicrZCsiPC9zcGFuPiJ9cmV0dXJuIGR9KX1mdW5jdGlvbiBnYygpe3JldHVybntjb21tZW50OntwYXR0ZXJuOi9cL1wvLip8I1teXG5dKi95LGNsczoic3ludGF4LWNvbW1lbnQiLHByaW9yaXR5OjF9LHN0cmluZzp7cGF0dGVybjovIig/OlteIlxcXXxcXC4pKiJ8Jyg/OlteJ1xcXXxcXC4pKid8YCg/OlteYFxcXXxcXC4pKmAveSxjbHM6InN5bnRheC1zdHJpbmciLHByaW9yaXR5OjJ9LGtleXdvcmQ6e3BhdHRlcm46L1xiKD86YXN5bmN8YXdhaXR8YnJlYWt8Y2FzZXxjYXRjaHxjbGFzc3xjb25zdHxjb250aW51ZXxkZWJ1Z2dlcnxkZWNsYXJlfGRlZmF1bHR8ZGVsZXRlfGRvfGVsc2V8ZW51bXxleHBvcnR8ZXh0ZW5kc3xmaW5hbGx5fGZvcnxmcm9tfGZ1bmN0aW9ufGdldHxpZnxpbXBsZW1lbnRzfGltcG9ydHxpbnxpbnN0YW5jZW9mfGludGVyZmFjZXxsZXR8bW9kdWxlfG5hbWVzcGFjZXxuZXd8bnVsbHxvZnxvdmVycmlkZXxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmVhZG9ubHl8cmV0dXJufHNldHxzdGF0aWN8c3VwZXJ8c3dpdGNofHRoaXN8dGhyb3d8dHJ5fHR5cGV8dHlwZW9mfHVuZGVmaW5lZHx2YXJ8dm9pZHx3aGlsZXx5aWVsZHxhYnN0cmFjdHxhc3xiYXNlfGJvb2x8Ynl0ZXxjaGFyfGRlY2ltYWx8ZG91YmxlfGV2ZW50fGV4cGxpY2l0fGV4dGVybnxmYWxzZXxmaXhlZHxmbG9hdHxmb3JlYWNofGdvdG98aW1wbGljaXR8aW58aW50fGludGVybmFsfGlzfGxvY2t8bG9uZ3xvYmplY3R8b3BlcmF0b3J8b3V0fHBhcmFtc3xwYXJ0aWFsfHJlYWRvbmx5fHJlZnxzYnl0ZXxzZWFsZWR8c2hvcnR8c2l6ZW9mfHN0YWNrYWxsb2N8c3RyaW5nfHN0cnVjdHxzd2l0Y2h8dGhyb3d8dHJ1ZXx0cnl8dWludHx1bG9uZ3x1bmNoZWNrZWR8dW5zYWZlfHVzaG9ydHx1c2luZ3x2aXJ0dWFsfHZvbGF0aWxlfHdoZXJlfHdoaWxlfHdpdGh8eWllbGR8ZGVmfGVsaWZ8ZWxzZXxleGNlcHR8ZXhlY3xmaW5hbGx5fGZvcnxmcm9tfGdsb2JhbHxpZnxpbXBvcnR8bGFtYmRhfG5vbmxvY2FsfG5vdHxvcnxwYXNzfHByaW50fHJhaXNlfHJldHVybnx0cnl8d2hpbGV8d2l0aHx5aWVsZHxUcnVlfEZhbHNlfE5vbmV8YW5kfGlufGlzfGxhbWJkYXxub3R8b3J8Zm58cHVifHVzZXxtb2R8aW1wbHx0cmFpdHxzdHJ1Y3R8ZW51bXxtYXRjaHxsb29wfHdoaWxlfGZvcnxpZnxlbHNlfHJldHVybnxzZWxmfHN1cGVyfGNyYXRlfHdoZXJlfGFzeW5jfGF3YWl0fG1vdmV8cmVmfG11dHxzdGF0aWN8Y29uc3R8dW5zYWZlfGV4dGVybnx1c2V8YXN8aW1wbHxzdHJ1Y3R8ZW51bXx0eXBlfGZufGxldHxsb29wfGlmfGVsc2V8bWF0Y2h8cmV0dXJufHNlbGZ8U2VsZnxtb2R8cHVifGNyYXRlfG1hY3JvfGRlcml2ZXx3aGVyZXxhc3luY3xhd2FpdHxkeW58c2VsZnxwYWNrYWdlfGZ1bmN8Z298cmV0dXJufGRlZmVyfGdvfGlmfGVsc2V8c3dpdGNofGNhc2V8ZGVmYXVsdHxmb3J8cmFuZ2V8c2VsZWN0fGJyZWFrfGNvbnRpbnVlfGZhbGx0aHJvdWdofGNvbnN0fHN0cnVjdHxlbnVtfHR5cGV8aW50ZXJmYWNlfG1hcHxjaGFufHZhcnxuaWx8dHJ1ZXxmYWxzZXxpb3RhfGxlbnxjYXB8YXBwZW5kfG1ha2V8bmV3fHBhbmljfHJlY292ZXJ8c2VsZWN0fGVsc2V8aWZ8ZWxpZnxlbmR8Zm9yfGZ1bmN0aW9ufGlmfGlufGxvY2FsfG5pbHxub3R8b3J8cmVwZWF0fHJldHVybnx0aGVufHRydWV8dW50aWx8d2hpbGV8ZW5kfGFuZHxiZWdpbnxkb3xlbmR8ZmFsc2V8Zm9yfGZ1bmN0aW9ufGlmfGlufGxvY2FsfG5pbHxub3R8b3J8cmVwZWF0fHJldHVybnx0aGVufHRydWV8dW50aWx8d2hpbGUpXGIveSxjbHM6InN5bnRheC1rZXl3b3JkIixwcmlvcml0eTozfSxudW1iZXI6e3BhdHRlcm46L1xiKD86MHhbXGRhLWZBLUZdK3wwYlswMV0rfDBvWzAtN10rfFxkK1wuP1xkKig/OmVbKy1dP1xkKyk/KVxiL3ksY2xzOiJzeW50YXgtbnVtYmVyIixwcmlvcml0eToyfSxmdW5jdGlvbjp7cGF0dGVybjovXGJbQS1aXVthLXpBLVowLTldKlthLXpdXHcqKD89XHMqXCgpL3ksY2xzOiJzeW50YXgtZnVuY3Rpb24iLHByaW9yaXR5OjR9LHR5cGU6e3BhdHRlcm46L1xiKD86c3RyaW5nfG51bWJlcnxib29sZWFufHZvaWR8YW55fHVua25vd258bmV2ZXJ8b2JqZWN0fHN5bWJvbHxiaWdpbnR8QXJyYXl8T2JqZWN0fFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbnxNYXB8U2V0fFdlYWtNYXB8V2Vha1NldHxQcm9taXNlfEVycm9yfFR5cGV8SW50ZXJmYWNlfEVudW18Q2xhc3N8U3RydWN0fEltcGx8VHJhaXR8Zm58Zm5jfGZ1bmN8ZnVuY3Rpb258ZGVmfHByb2N8ZnVufHB1YnxzdGF0aWN8Y29uc3R8bGV0fHZhcnxpbnR8ZmxvYXR8ZG91YmxlfGJvb2x8Y2hhcnxieXRlfHN0cmluZ3x1OHx1MTZ8dTMyfHU2NHxpOHxpMTZ8aTMyfGk2NHxmMzJ8ZjY0fHVzaXplfGlzaXplfHN0cnxWZWN8SGFzaE1hcHxPcHRpb258UmVzdWx0fEJveHxSY3xBcmN8Q2VsbHxSZWZDZWxsKVxiL3ksY2xzOiJzeW50YXgtdHlwZSIscHJpb3JpdHk6NH0sb3BlcmF0b3I6e3BhdHRlcm46L1srXC0qLyU9PD4hJnxefj86XSt8XC5cLlwuPy95LGNsczoic3ludGF4LW9wZXJhdG9yIixwcmlvcml0eTo1fSxwdW5jdHVhdGlvbjp7cGF0dGVybjovW3t9W1xdKCk7LFwuXS95LGNsczoic3ludGF4LXB1bmN0dWF0aW9uIixwcmlvcml0eTo2fX19ZnVuY3Rpb24gaGMoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9cChlKTt0PXQucmVwbGFjZSgvYGBgKFx3KilcbihbXHNcU10qPylgYGAvZyxmdW5jdGlvbihpLGEsdSl7dmFyIG89cW8odS50cmltKCksYSkscz1vLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpO3JldHVybic8cHJlPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS0nK2ErJyI+JytzKyI8L2NvZGU+PC9wcmU+In0pLHQ9dC5yZXBsYWNlKC9gKFteYF0rKWAvZyxmdW5jdGlvbihpLGEpe3JldHVybiI8Y29kZT4iK2EucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IikrIjwvY29kZT4ifSksdD10LnJlcGxhY2UoL14jIyMjIyNccysoLiopJC9nbSwiPGg2PiQxPC9oNj4iKSx0PXQucmVwbGFjZSgvXiMjIyMjXHMrKC4qKSQvZ20sIjxoNT4kMTwvaDU+IiksdD10LnJlcGxhY2UoL14jIyMjXHMrKC4qKSQvZ20sIjxoND4kMTwvaDQ+IiksdD10LnJlcGxhY2UoL14jIyNccysoLiopJC9nbSwiPGgzPiQxPC9oMz4iKSx0PXQucmVwbGFjZSgvXiMjXHMrKC4qKSQvZ20sIjxoMj4kMTwvaDI+IiksdD10LnJlcGxhY2UoL14jXHMrKC4qKSQvZ20sIjxoMT4kMTwvaDE+IiksdD10LnJlcGxhY2UoL1wqXCpcKiguKz8pXCpcKlwqL2csIjxzdHJvbmc+PGVtPiQxPC9lbT48L3N0cm9uZz4iKSx0PXQucmVwbGFjZSgvXCpcKiguKz8pXCpcKi9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqKC4rPylcKi9nLCI8ZW0+JDE8L2VtPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfX18oXFMoPzpbXlxuXSo/XFMpPylfX18oPyFcdykvZywiJDE8c3Ryb25nPjxlbT4kMjwvZW0+PC9zdHJvbmc+IiksdD10LnJlcGxhY2UoLyhefFteXHddKV9fKFxTKD86W15cbl0qP1xTKT8pX18oPyFcdykvZywiJDE8c3Ryb25nPiQyPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoLyhefFteXHddKV8oXFMoPzpbXlxuX10qP1xTKT8pXyg/IVx3KS9nLCIkMTxlbT4kMjwvZW0+IiksdD10LnJlcGxhY2UoL35+KC4rPyl+fi9nLCI8ZGVsPiQxPC9kZWw+IiksdD10LnJlcGxhY2UoL1xbKFteXF1dKylcXVwoKFteKV0rKVwpL2csJzxhIGhyZWY9IiQyIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JDE8L2E+JyksdD10LnJlcGxhY2UoLyFcWyhbXlxdXSopXF1cKChbXildKylcKS9nLCc8aW1nIHNyYz0iJDIiIGFsdD0iJDEiPicpLHQ9dC5yZXBsYWNlKC9eJmd0O1xzKyguKikkL2dtLCI8YmxvY2txdW90ZT4kMTwvYmxvY2txdW90ZT4iKSx0PXQucmVwbGFjZSgvXi0tLSskL2dtLCI8aHI+IiksdD10LnJlcGxhY2UoL15cKlwqXCorJC9nbSwiPGhyPiIpLHQ9dC5yZXBsYWNlKC9eW1wtXCpdXHMrKC4qKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoLyg8bGk+Lio8XC9saT5cbj8pKy9nLCI8dWw+JCY8L3VsPiIpLHQ9dC5yZXBsYWNlKC9eXGQrXC5ccysoLiopJC9nbSwiPGxpPiQxPC9saT4iKSx0PV9sKHQpO3ZhciBuPXQuc3BsaXQoL1xuezIsfS8pO3JldHVybiB0PW4ubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpPWkudHJpbSgpLGk/L148KGhbMS02XXx1bHxvbHxsaXxibG9ja3F1b3RlfHByZXx0YWJsZXxocnxkaXYpLy50ZXN0KGkpP2k6IjxwPiIraS5yZXBsYWNlKC9cbi9nLCI8YnI+IikrIjwvcD4iOiIifSkuam9pbihgCmApLHR9ZnVuY3Rpb24gX28oKXtpZighci5zZWxlY3RlZElkfHwhci5naXRTdGF0dXN8fCFyLmdpdFN0YXR1cy5pc0dpdHx8ci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQpcmV0dXJuIiI7dmFyIGU9ci5naXRTdGF0dXMuYnJhbmNofHwiPyIsdD1yLmdpdFN0YXR1cy5tb2RpZmllZENvdW50fHwwLG49ZSsodD8iICBceEI3ICAiK3QrIiBcdTRFMkFcdTY1ODdcdTRFRjZcdTVGODVcdTYzRDBcdTRFQTQiOiIgIFx4QjcgIFx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCIpO3JldHVybic8YnV0dG9uIGlkPSJ0b3BiYXItZ2l0LWJhZGdlIiBjbGFzcz0idG9wYmFyLWdpdC1iYWRnZSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iJytwKG4pKyciIGFyaWEtbGFiZWw9Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNCI+PHN2ZyBjbGFzcz0idG9wYmFyLWdpdC1pY29uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjIiLz48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjkiIHI9IjIiLz48cGF0aCBkPSJNNiA4djgiLz48cGF0aCBkPSJNMTggMTF2MWEzIDMgMCAwIDEtMyAzSDkiLz48L3N2Zz48c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1icmFuY2giPicrcChlKSsiPC9zcGFuPiIrKHQ+MD8nPHNwYW4gY2xhc3M9InRvcGJhci1naXQtY291bnQiPlx4QjcnK3QrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0idG9wYmFyLWdpdC1jbGVhbiIgYXJpYS1oaWRkZW49InRydWUiPlx1MjcxMzwvc3Bhbj4nKSsiPC9idXR0b24+In1mdW5jdGlvbiB4YSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LXNsb3QiKTtpZihlKXtlLmlubmVySFRNTD1fbygpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpLEhvKCl9KX19ZnVuY3Rpb24geWMoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9ci50b3BiYXJNb3JlT3BlbixuPSEhZS5jbGF1ZGVTZXNzaW9uSWQsaT0hIWUuY3dkLGE9ZS53b3JrdHJlZUVuYWJsZWQmJmUud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgsdT1lLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIiYmZS53b3JrdHJlZU1lcmdlSW5mbyYmZS53b3JrdHJlZU1lcmdlSW5mby5jbGVhbnVwRG9uZT09PSExLG89ZS5zdGF0dXM9PT0icnVubmluZyJ8fGUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnaW5nIixzPWEmJmUud29ya3RyZWVNZXJnZVN0YXR1cyE9PSJtZXJnZWQiLGw9dSxkPW58fGl8fCEwLGY9c3x8bHx8ITAsYz0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiLz48L3N2Zz4nLHY9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE3LjUgMTlhNC41IDQuNSAwIDEgMC0xLjUtOC43NEE2IDYgMCAxIDAgNiAxNGgxMS41eiIvPjwvc3ZnPicsaD0nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz4nLG09Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGxpbmUgeDE9IjQiIHkxPSI5IiB4Mj0iMjAiIHkyPSI5Ii8+PGxpbmUgeDE9IjQiIHkxPSIxNSIgeDI9IjIwIiB5Mj0iMTUiLz48bGluZSB4MT0iMTAiIHkxPSIzIiB4Mj0iOCIgeTI9IjIxIi8+PGxpbmUgeDE9IjE2IiB5MT0iMyIgeDI9IjE0IiB5Mj0iMjEiLz48L3N2Zz4nLGc9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgN2gxMCIvPjxwYXRoIGQ9Ik03IDEyaDEwIi8+PHBhdGggZD0iTTcgMTdoMTAiLz48cGF0aCBkPSJNNSA3bC0yIDIgMiAyIi8+PHBhdGggZD0iTTE5IDE1bDIgMi0yIDIiLz48L3N2Zz4nLHk9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+JyxCPSIiO2lmKG4pe3ZhciBFPWUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTU5MERcdTUyMzYgQ29kZXggdGhyZWFkIElEIjplLnByb3ZpZGVyPT09Im9wZW5jb2RlIj8iXHU1OTBEXHU1MjM2IE9wZW5Db2RlIHNlc3Npb24gSUQiOiJcdTU5MERcdTUyMzYgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCI7Qis9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK3YrIjxzcGFuPiIrRSsiPC9zcGFuPjwvYnV0dG9uPiJ9aSYmKEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1jd2QiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicraCsiPHNwYW4+XHU1OTBEXHU1MjM2XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPiIpLEIrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0iY29weS1zZXNzaW9uLWlkIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK20rIjxzcGFuPlx1NTkwRFx1NTIzNlx1NEYxQVx1OEJERCBJRDwvc3Bhbj48L2J1dHRvbj4iO3ZhciBDPSIiO3M/Qys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1tZXJnZSIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSInKyhvPyIgZGlzYWJsZWQiOiIiKSsiPiIrZysiPHNwYW4+XHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUyMDI2PC9zcGFuPjwvYnV0dG9uPiI6bCYmKEMrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtY2xlYW51cCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+JytnKyI8c3Bhbj5cdTkxQ0RcdThCRDUgd29ya3RyZWUgXHU2RTA1XHU3NDA2PC9zcGFuPjwvYnV0dG9uPiIpLEMrPSc8YnV0dG9uIGNsYXNzPSJ0b3BiYXItbW9yZS1pdGVtIHRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyIiBkYXRhLWFjdGlvbj0iZGVsZXRlLXNlc3Npb24iIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicreSsiPHNwYW4+XHU1MjIwXHU5NjY0XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREPC9zcGFuPjwvYnV0dG9uPiI7dmFyIEQ9ZCYmZj8nPGRpdiBjbGFzcz0idG9wYmFyLW1vcmUtZGl2aWRlciIgcm9sZT0ic2VwYXJhdG9yIj48L2Rpdj4nOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b3BiYXItbW9yZS13cmFwIj48YnV0dG9uIGlkPSJ0b3BiYXItbW9yZS1idXR0b24iIGNsYXNzPSJ0b3BiYXItYnRuIHNxdWFyZScrKHQ/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyIgYXJpYS1oYXNwb3B1cD0ibWVudSIgYXJpYS1leHBhbmRlZD0iJysodD8idHJ1ZSI6ImZhbHNlIikrJyIgdGl0bGU9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NjRDRFx1NEY1QyI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMSIvPjwvc3ZnPjwvYnV0dG9uPjxkaXYgaWQ9InRvcGJhci1tb3JlLW1lbnUiIGNsYXNzPSJ0b3BiYXItbW9yZS1tZW51JysodD8iIjoiIGhpZGRlbiIpKyciIHJvbGU9Im1lbnUiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCI+JytCK0QrQysiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBfbihlLHQpe2lmKCFlKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7dmFyIG49dCYmdC5mb3JjZSxpPURhdGUubm93KCk7aWYoIW4mJnIuZ2l0U3RhdHVzU2Vzc2lvbklkPT09ZSYmci5naXRTdGF0dXMmJmktci5naXRTdGF0dXNMYXN0RmV0Y2hBdDwxZTMpcmV0dXJuIFByb21pc2UucmVzb2x2ZShyLmdpdFN0YXR1cyk7aWYoci5naXRTdGF0dXNJbmZsaWdodCYmci5naXRTdGF0dXNJbmZsaWdodC5zZXNzaW9uSWQ9PT1lKXJldHVybiByLmdpdFN0YXR1c0luZmxpZ2h0LnByb21pc2U7ci5naXRTdGF0dXNMb2FkaW5nPSEwO3ZhciBhPWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvZ2l0LXN0YXR1cyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lm9rP3UuanNvbigpOntpc0dpdDohMX19KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiByLmdpdFN0YXR1cz11fHx7aXNHaXQ6ITF9LHIuZ2l0U3RhdHVzU2Vzc2lvbklkPWUsci5naXRTdGF0dXNMYXN0RmV0Y2hBdD1EYXRlLm5vdygpLHhhKCksdX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2l0U3RhdHVzPXtpc0dpdDohMX0sci5naXRTdGF0dXNTZXNzaW9uSWQ9ZSxyLmdpdFN0YXR1c0xhc3RGZXRjaEF0PURhdGUubm93KCkseGEoKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3IuZ2l0U3RhdHVzTG9hZGluZz0hMSxyLmdpdFN0YXR1c0luZmxpZ2h0JiZyLmdpdFN0YXR1c0luZmxpZ2h0LnNlc3Npb25JZD09PWUmJihyLmdpdFN0YXR1c0luZmxpZ2h0PW51bGwpfSk7cmV0dXJuIHIuZ2l0U3RhdHVzSW5mbGlnaHQ9e3Nlc3Npb25JZDplLHByb21pc2U6YX0sYX12YXIgSG49bnVsbCxObj1udWxsLG1oPW51bGw7ZnVuY3Rpb24gYmMoZSl7cmV0dXJuIGU9PT0iY29tbWl0LXRhZyJ8fGU9PT0iY29tbWl0LXRhZy1wdXNoInx8ZT09PSJjb21taXQtcHVzaCI/ZToiY29tbWl0In1mdW5jdGlvbiBFYyhlKXtyZXR1cm4gZT1iYyhlKSxlPT09ImNvbW1pdC10YWctcHVzaCI/e2FjdGlvbjplLGxhYmVsOiJDb21taXQgKyBUYWcgKyBQdXNoIix2ZXJiOiJcdTYzRDBcdTRFQTRcdTMwMDFcdTYyNTMgVGFnIFx1NUU3Nlx1NjNBOFx1OTAwMSIsd2l0aFRhZzohMCxwdXNoOiEwLHRvbmU6ImFsbCJ9OmU9PT0iY29tbWl0LXRhZyI/e2FjdGlvbjplLGxhYmVsOiJDb21taXQgKyBUYWciLHZlcmI6Ilx1NjNEMFx1NEVBNFx1NUU3Nlx1NjI1MyBUYWciLHdpdGhUYWc6ITAscHVzaDohMSx0b25lOiJ0YWcifTplPT09ImNvbW1pdC1wdXNoIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFB1c2giLHZlcmI6Ilx1NjNEMFx1NEVBNFx1NUU3Nlx1NjNBOFx1OTAwMSIsd2l0aFRhZzohMSxwdXNoOiEwLHRvbmU6InB1c2gifTp7YWN0aW9uOiJjb21taXQiLGxhYmVsOiJDb21taXQiLHZlcmI6Ilx1NEVDNVx1NjNEMFx1NEVBNCIsd2l0aFRhZzohMSxwdXNoOiExLHRvbmU6ImNvbW1pdCJ9fWZ1bmN0aW9uIEhvKCl7aWYoci5zZWxlY3RlZElkKXtyLnF1aWNrQ29tbWl0T3Blbj0hMCxyLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMSxyLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9ITEsci5xdWlja0NvbW1pdEVycm9yPSIiLHIucXVpY2tDb21taXRGb3JtPXtjdXN0b21NZXNzYWdlOiIiLHRhZzoiIix0YWdFZGl0ZWQ6ITF9LHIucXVpY2tDb21taXRQdXNoaW5nPSExLHIucXVpY2tDb21taXRQdXNoRXJyb3I9IiIsci5xdWlja0NvbW1pdFJlc3VsdD1udWxsLHIucXVpY2tDb21taXREcmFnQWN0aW9uPSJjb21taXQiLHByKCksQW4oKSx2cigpLFB0KCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tb2RhbCIpO2UmJihlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHIubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsY2EoZSkpLEhuJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixIbiksSG49ZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmci5xdWlja0NvbW1pdE9wZW4mJiFyLnF1aWNrQ29tbWl0U3VibWl0dGluZyYmIXIucXVpY2tDb21taXRQdXNoaW5nJiZlcigpfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixIbiksX24oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pLnRoZW4oZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0T3BlbiYmUHQoKX0pfX1mdW5jdGlvbiBlcigpe3IucXVpY2tDb21taXRPcGVuPSExLHIucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLHIucXVpY2tDb21taXRFcnJvcj0iIixyLnF1aWNrQ29tbWl0UmVzdWx0PW51bGwsci5xdWlja0NvbW1pdERyYWdBY3Rpb249ImNvbW1pdCI7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tb2RhbCIpO2UmJmUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci5mb2N1c1RyYXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsci5mb2N1c1RyYXBIYW5kbGVyKSxyLmZvY3VzVHJhcEhhbmRsZXI9bnVsbCksSG4mJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixIbiksSG49bnVsbCksTm4mJihObigpLE5uPW51bGwpLHIubGFzdEZvY3VzZWRFbGVtZW50JiZ0eXBlb2Ygci5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXM9PSJmdW5jdGlvbiImJnIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzKCl9ZnVuY3Rpb24gUHQoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7aWYoZSl7Tm4mJihObigpLE5uPW51bGwpO3ZhciB0PVJvKCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmlubmVySFRNTD10O3ZhciBpPW4ucXVlcnlTZWxlY3RvcigiI3F1aWNrLWNvbW1pdC1tb2RhbCIpO2kmJihlLmlubmVySFRNTD1pLmlubmVySFRNTCxObygpKX19ZnVuY3Rpb24gTm8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWNsb3NlLWJ0biIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGVyKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWNhbmNlbC1idG4iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlcik7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1haS1idG4iKTtuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixCYyk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1pLnZhbHVlfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihvKXsoby5tZXRhS2V5fHxvLmN0cmxLZXkpJiZvLmtleT09PSJFbnRlciImJihvLnByZXZlbnREZWZhdWx0KCksdHIoImNvbW1pdCIpKX0pKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LXRhZyIpO2EmJihhLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe3IucXVpY2tDb21taXRGb3JtLnRhZz1hLnZhbHVlLHIucXVpY2tDb21taXRGb3JtLnRhZ0VkaXRlZD0hMH0pLGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24obyl7by5rZXk9PT0iRW50ZXIiJiYoby5wcmV2ZW50RGVmYXVsdCgpLHRyKCJjb21taXQtdGFnIikpfSkpO3ZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtcHVzaC1hZnRlci1idG4iKTt1JiZ1LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBvPXIucXVpY2tDb21taXRSZXN1bHR8fHt9O0RjKHtwdXNoQ29tbWl0czohMCxwdXNoVGFnczohIW8udGFnTmFtZSxjbG9zZU9uU3VjY2VzczohMH0pfSksd2MoKX1mdW5jdGlvbiBGYyhlKXt2YXIgdD0hIShlJiZlLnRhZyksbj0hIShlJiZlLnB1c2gpO3JldHVybiB0JiZuPyJjb21taXQtdGFnLXB1c2giOnQ/ImNvbW1pdC10YWciOm4/ImNvbW1pdC1wdXNoIjoiY29tbWl0In12YXIgQ2M9NTgseWk9MTA7ZnVuY3Rpb24gam8oZSl7cmV0dXJuIGU9PT0idGFnIj97YWN0aW9uOiJjb21taXQtdGFnIixzdWI6ITF9OmU9PT0icHVzaCI/e2FjdGlvbjoiY29tbWl0LXB1c2giLHN1YjohMX06ZT09PSJzdWIiP3thY3Rpb246ImNvbW1pdCIsc3ViOiEwfTp7YWN0aW9uOiJjb21taXQiLHN1YjohMX19ZnVuY3Rpb24gd2MoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1maWVsZCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stc3RhZ2UiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxYy1kb2NrLWxhdW5jaCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stY2x1c3RlciIpO2lmKCFlfHwhdHx8IW58fCFpKXJldHVybjt2YXIgYT1bImNvbW1pdCIsInRhZyIsInB1c2giXSx1PXt9O2lmKGEuZm9yRWFjaChmdW5jdGlvbihrKXt1W2tdPWUucXVlcnlTZWxlY3RvcignW2RhdGEtY2hpcD0iJytrKyciXScpfSksIXUuY29tbWl0fHwhdS50YWd8fCF1LnB1c2gpcmV0dXJuO3Uuc3ViPWUucXVlcnlTZWxlY3RvcignW2RhdGEtY2hpcD0ic3ViIl0nKTt2YXIgbz0hIXUuc3ViLHM9bz9hLmNvbmNhdChbInN1YiJdKTphO2Z1bmN0aW9uIGwoayl7cmV0dXJuIHVba10/dVtrXS5vZmZzZXRXaWR0aDo5MH1mdW5jdGlvbiBkKCl7cmV0dXJuIHUuY29tbWl0P3UuY29tbWl0Lm9mZnNldEhlaWdodDozOH1mdW5jdGlvbiBmKCl7cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNzIwcHgpIikubWF0Y2hlc31mdW5jdGlvbiBjKCl7dmFyIGs9ZS5jbGllbnRXaWR0aCxUPWUuY2xpZW50SGVpZ2h0LE09ZCgpLFg9bCgiY29tbWl0Iiksaj1sKCJ0YWciKSxKPWwoInB1c2giKTtpZihmKCkmJm8pe3ZhciBQPU1hdGgubWF4KDgsVCouMi1NLzIpLHVlPU1hdGgubWluKFQtTS04LFQqLjctTS8yKSxpZT1mdW5jdGlvbihWKXtyZXR1cm4gTWF0aC5tYXgoOCxrKi4yNy1WLzIpfSxjZT1mdW5jdGlvbihWKXtyZXR1cm4gTWF0aC5taW4oay1WLTgsayouNzMtVi8yKX07cmV0dXJue2NvbW1pdDp7eDppZShYKSx5OlB9LHRhZzp7eDpjZShqKSx5OlB9LHB1c2g6e3g6aWUoSikseTp1ZX0sc3ViOnt4OmNlKGwoInN1YiIpKSx5OnVlfX19dmFyIEc9ZigpLGVlPUc/TWF0aC5tYXgoOCxUKi4xOC1NLzIpOk1hdGgubWF4KDgsVCouMTIpLGFlPUc/TWF0aC5taW4oVC1NLTgsVCouNzItTS8yKTpNYXRoLm1pbihULU0tOCxUKi44OC1NKSxGZT1HPy4yNDouMjgsUz1HPy43NjouNzIscT17Y29tbWl0Ont4Ok1hdGgubWF4KDgsKGstWCkvMikseTplZX0sdGFnOnt4Ok1hdGgubWF4KDgsaypGZS1qLzIpLHk6YWV9LHB1c2g6e3g6TWF0aC5taW4oay1KLTgsaypTLUovMikseTphZX19O2lmKG8pe3ZhciBfPWwoInN1YiIpO3Euc3ViPXt4Ok1hdGgubWluKGstXy04LGsqLjk0LV8vMikseTpNYXRoLm1heCg4LE1hdGgubWluKFQtTS04LChULU0pLzIpKX19cmV0dXJuIHF9dmFyIHY9e307ZnVuY3Rpb24gaChrLFQsTSl7dVtrXSYmKHVba10uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitULnRvRml4ZWQoMSkrInB4LCIrTS50b0ZpeGVkKDEpKyJweCkiKX1mdW5jdGlvbiBtKGspe3Y9YygpLHMuZm9yRWFjaChmdW5jdGlvbihUKXt1W1RdLmNsYXNzTGlzdC50b2dnbGUoInFjLWNoaXAtLWFuaW0iLCEhayksaChULHZbVF0ueCx2W1RdLnkpfSl9bSghMSk7dmFyIGc9bnVsbDtmdW5jdGlvbiB5KGssVCxNKXt2YXIgWD1kKCksaj0yNCxKPXMuZmlsdGVyKGZ1bmN0aW9uKGVlKXtyZXR1cm4gay5pbmRleE9mKGVlKT49MH0pLFA9Si5yZWR1Y2UoZnVuY3Rpb24oZWUsYWUpe3JldHVybiBNYXRoLm1heChlZSxsKGFlKSl9LDApLHVlPVArTWF0aC5tYXgoMCxKLmxlbmd0aC0xKSpqLGllPWUuY2xpZW50SGVpZ2h0LGNlPVQtdWUvMixHPU1hdGgubWF4KDIsTWF0aC5taW4oaWUtWC0yLE0tWC8yKSk7cmV0dXJuIEouZm9yRWFjaChmdW5jdGlvbihlZSl7aChlZSxjZSxHKSxjZSs9an0pLHt4OlQtdWUvMi03LHk6Ry03LHc6dWUrMTQsaDpYKzE0fX1mdW5jdGlvbiBCKGspe2kuY2xhc3NMaXN0LmFkZCgiaXMtYWN0aXZlIiksaS5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZSgiK2sueC50b0ZpeGVkKDEpKyJweCwiK2sueS50b0ZpeGVkKDEpKyJweCkiLGkuc3R5bGUud2lkdGg9ay53LnRvRml4ZWQoMSkrInB4IixpLnN0eWxlLmhlaWdodD1rLmgudG9GaXhlZCgxKSsicHgifWZ1bmN0aW9uIEUoKXtpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWFjdGl2ZSIpfWZ1bmN0aW9uIEMoayl7cmV0dXJuIEZjKHtjb21taXQ6ITAsdGFnOmsuaW5kZXhPZigidGFnIik+PTAscHVzaDprLmluZGV4T2YoInB1c2giKT49MH0pfWZ1bmN0aW9uIEQoayl7cmV0dXJuIGsuaW5kZXhPZigic3ViIik+PTB9ZnVuY3Rpb24gRihrKXt2YXIgVD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1sYXVuY2gtbGFiZWwiKTtUJiYoVC50ZXh0Q29udGVudD1rKX1mdW5jdGlvbiBMKGssVCl7dmFyIE09bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaz49TS5sZWZ0JiZrPD1NLnJpZ2h0JiZUPj1NLnRvcCYmVDw9TS5ib3R0b219ZnVuY3Rpb24gSShrKXtyZXR1cm4gZnVuY3Rpb24oVCl7aWYoISh1W2tdLmRpc2FibGVkfHxiaSgpKSl7Zz17YW5jaG9yOmsscG9pbnRlcklkOlQucG9pbnRlcklkLHN0YXJ0WDpULmNsaWVudFgsc3RhcnRZOlQuY2xpZW50WSxtb3ZlZDohMSxtZW1iZXJzOltrXX0scy5mb3JFYWNoKGZ1bmN0aW9uKE0pe3VbTV0uY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpfSksdVtrXS5jbGFzc0xpc3QuYWRkKCJpcy1ncmFiYmluZyIpO3RyeXt1W2tdLnNldFBvaW50ZXJDYXB0dXJlKFQucG9pbnRlcklkKX1jYXRjaHt9dC5jbGFzc0xpc3QuYWRkKCJpcy1kcmFnZ2luZyIpLFQucHJldmVudERlZmF1bHQoKX19fWZ1bmN0aW9uIE4oayl7aWYoISghZ3x8Zy5wb2ludGVySWQhPT1rLnBvaW50ZXJJZCkpeyhNYXRoLmFicyhrLmNsaWVudFgtZy5zdGFydFgpPjN8fE1hdGguYWJzKGsuY2xpZW50WS1nLnN0YXJ0WSk+MykmJihnLm1vdmVkPSEwKTt2YXIgVD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE09ay5jbGllbnRYLVQubGVmdCxYPWsuY2xpZW50WS1ULnRvcDtpZihhLmZvckVhY2goZnVuY3Rpb24oRyl7aWYoIShnLm1lbWJlcnMuaW5kZXhPZihHKT49MCkpe3ZhciBlZT12W0ddLngrbChHKS8yLGFlPXZbR10ueStkKCkvMixGZT1NLWVlLFM9WC1hZTtNYXRoLnNxcnQoRmUqRmUrUypTKTxDYyYmKGcubWVtYmVycy5wdXNoKEcpLHVbR10uY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHVbR10uY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9fSksbyYmZy5tZW1iZXJzLmluZGV4T2YoInN1YiIpPDApe3ZhciBqPXYuc3ViLngteWksSj12LnN1Yi55LXlpLFA9di5zdWIueCtsKCJzdWIiKSt5aSx1ZT12LnN1Yi55K2QoKSt5aTtNPj1qJiZNPD1QJiZYPj1KJiZYPD11ZSYmKGcubWVtYmVycy5wdXNoKCJzdWIiKSx1LnN1Yi5jbGFzc0xpc3QucmVtb3ZlKCJxYy1jaGlwLS1hbmltIiksdS5zdWIuY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9dmFyIGllPXkoZy5tZW1iZXJzLE0sWCksY2U9TChrLmNsaWVudFgsay5jbGllbnRZKTt0LnNldEF0dHJpYnV0ZSgiZGF0YS1ob3QiLGNlPyIxIjoiMCIpLHQuc2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIsQyhnLm1lbWJlcnMpKSxnLm1lbWJlcnMubGVuZ3RoPjE/QihpZSk6RSgpLEYoY2U/Ilx1Njc3RVx1NjI0Qlx1NjI2N1x1ODg0QyI6Ilx1NjNEMFx1NEVBNCIpfX1mdW5jdGlvbiBLKGssVCl7aWYoISghZ3x8Zy5wb2ludGVySWQhPT1rLnBvaW50ZXJJZCkpe3ZhciBNPWc7Zz1udWxsLHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtZHJhZ2dpbmciKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1ob3QiLCIwIiksRigiXHU2M0QwXHU0RUE0IiksRSgpLHMuZm9yRWFjaChmdW5jdGlvbihqKXt1W2pdLmNsYXNzTGlzdC5yZW1vdmUoImlzLWdyYWJiaW5nIiwiaXMtYXR0YWNoZWQiKX0pO3RyeXt1W00uYW5jaG9yXS5yZWxlYXNlUG9pbnRlckNhcHR1cmUoTS5wb2ludGVySWQpfWNhdGNoe31pZighVCYmIU0ubW92ZWQpe3ZhciBYPWpvKE0uYW5jaG9yKTt0cihYLmFjdGlvbixYLnN1Yik7cmV0dXJufWlmKCFUJiZMKGsuY2xpZW50WCxrLmNsaWVudFkpKXt0cihDKE0ubWVtYmVycyksRChNLm1lbWJlcnMpKTtyZXR1cm59dC5zZXRBdHRyaWJ1dGUoImRhdGEtYWN0aW9uIiwiY29tbWl0IiksbSghMCl9fXZhciBXPWZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdE9wZW4mJiFnJiZtKCExKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsVykscy5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciBUPXVba107VC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSShrKSksVC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsTiksVC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLGZ1bmN0aW9uKE0pe0soTSwhMSl9KSxULmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLGZ1bmN0aW9uKE0pe0soTSwhMCl9KSxULmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKE0pe2lmKCEoVC5kaXNhYmxlZHx8YmkoKSkmJihNLmtleT09PSJFbnRlciJ8fE0ua2V5PT09IiAifHxNLmtleT09PSJTcGFjZWJhciIpKXtNLnByZXZlbnREZWZhdWx0KCk7dmFyIFg9am8oayk7dHIoWC5hY3Rpb24sWC5zdWIpfX0pfSksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtuLmRpc2FibGVkfHxiaSgpfHxnfHx0cigiY29tbWl0Iil9KSxObj1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFcpLGc9bnVsbH19ZnVuY3Rpb24gQmMoKXtpZighKCFyLnNlbGVjdGVkSWR8fHIucXVpY2tDb21taXRHZW5lcmF0aW5nKSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7ZSYmKHIucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9ZS52YWx1ZSk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC10YWciKTt0JiYoci5xdWlja0NvbW1pdEZvcm0udGFnPXQudmFsdWUpLHIucXVpY2tDb21taXRHZW5lcmF0aW5nPSEwLHIucXVpY2tDb21taXRFcnJvcj0iIixQdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuc2VsZWN0ZWRJZCkrIi9nZW5lcmF0ZS1jb21taXQtbWVzc2FnZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe30pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCkudGhlbihmdW5jdGlvbihpKXtyZXR1cm57b2s6bi5vayxkYXRhOml9fSl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKCFuLm9rKXRocm93IG5ldyBFcnJvcihuLmRhdGEmJm4uZGF0YS5lcnJvcnx8IkFJIFx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNVx1MzAwMiIpO3ZhciBpPW4uZGF0YXx8e30sYT10eXBlb2YgaS5tZXNzYWdlPT0ic3RyaW5nIj9pLm1lc3NhZ2U6IiIsdT10eXBlb2YgaS5zdWdnZXN0ZWRUYWc9PSJzdHJpbmciP2kuc3VnZ2VzdGVkVGFnLnRyaW0oKToiIixvPShyLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlfHwiIikudHJpbSgpOyFvJiZhJiYoci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1hKSx1JiYoci5xdWlja0NvbW1pdEZvcm0udGFnRWRpdGVkfHwoci5xdWlja0NvbW1pdEZvcm0udGFnPXUpLHIucXVpY2tDb21taXREcmFnQWN0aW9uPSJjb21taXQtdGFnIil9KS5jYXRjaChmdW5jdGlvbihuKXtyLnF1aWNrQ29tbWl0RXJyb3I9biYmbi5tZXNzYWdlfHwiQUkgXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1XHUzMDAyIn0pLmZpbmFsbHkoZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0R2VuZXJhdGluZz0hMSxyLnF1aWNrQ29tbWl0T3BlbiYmUHQoKX0pfX1mdW5jdGlvbiB0cihlLHQpe2lmKCEoIXIuc2VsZWN0ZWRJZHx8ci5xdWlja0NvbW1pdFN1Ym1pdHRpbmcpKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1lc3NhZ2UiKTtuJiYoci5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZT1uLnZhbHVlKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LXRhZyIpO2kmJihyLnF1aWNrQ29tbWl0Rm9ybS50YWc9aS52YWx1ZSk7dmFyIGE9ci5xdWlja0NvbW1pdEZvcm18fHt9LHU9RWMoZXx8ci5xdWlja0NvbW1pdERyYWdBY3Rpb258fCJjb21taXQiKSxvPXUud2l0aFRhZyxzPW8/KGEudGFnfHwiIikudHJpbSgpOiIiLGw9KGEuY3VzdG9tTWVzc2FnZXx8IiIpLnRyaW0oKSxkPSFsLGY9e2JyYW5jaDooci5naXRTdGF0dXN8fHt9KS5icmFuY2h8fCIiLGNvbW1pdEhhc2g6KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdCYmKHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zaG9ydEhhc2g/KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zaG9ydEhhc2g6KHIuZ2l0U3RhdHVzfHx7fSkuaGVhZD8oci5naXRTdGF0dXN8fHt9KS5oZWFkLnN1YnN0cmluZygwLDcpOiIiLGNvbW1pdFN1YmplY3Q6KHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdCYmKHIuZ2l0U3RhdHVzfHx7fSkubGFzdENvbW1pdC5zdWJqZWN0PyhyLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc3ViamVjdDoiIix0YWc6KHIuZ2l0U3RhdHVzfHx7fSkubGF0ZXN0VGFnfHwiIn0sYz17YXV0b01lc3NhZ2U6ZCxjdXN0b21NZXNzYWdlOmQ/IiI6bCx0YWc6cyxhdXRvVGFnOiEhKG8mJiFzKSxwdXNoOiEhdS5wdXNoLHN1Ym1vZHVsZTohIXR9O3IucXVpY2tDb21taXRTdWJtaXR0aW5nPSEwLHIucXVpY2tDb21taXRTdWJtb2R1bGVJbnRlbnQ9ISF0LHIucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz1kfHxjLmF1dG9UYWcsci5xdWlja0NvbW1pdEVycm9yPSIiLHIucXVpY2tDb21taXRQdXNoRXJyb3I9IiIsci5xdWlja0NvbW1pdFJlc3VsdD1udWxsLHIucXVpY2tDb21taXREcmFnQWN0aW9uPXUuYWN0aW9uLFB0KCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL3F1aWNrLWNvbW1pdCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoYyl9KS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybiB2Lmpzb24oKS50aGVuKGZ1bmN0aW9uKGgpe3JldHVybntvazp2Lm9rLGRhdGE6aH19KX0pLnRoZW4oZnVuY3Rpb24odil7aWYoIXYub2spdGhyb3cgbmV3IEVycm9yKHYuZGF0YSYmdi5kYXRhLmVycm9yfHwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIik7dmFyIGg9di5kYXRhfHx7fSxtPWguY29tbWl0JiZoLmNvbW1pdC5oYXNoP2guY29tbWl0Lmhhc2guc3Vic3RyaW5nKDAsNyk6IiIsZz1oLnRhZyYmaC50YWcubmFtZT9oLnRhZy5uYW1lOiIiLHk9QXJyYXkuaXNBcnJheShoLnN1Ym1vZHVsZUNvbW1pdHMpP2guc3VibW9kdWxlQ29tbWl0czpbXSxCPXkubGVuZ3RoPjA/Ilx1NURGMlx1NTE0OFx1NjNEMFx1NEVBNCAiK3kubGVuZ3RoKyIgXHU0RTJBIHN1Ym1vZHVsZVx1RkYwOCIreS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIEMucGF0aH0pLmpvaW4oIlx1MzAwMSIpKyJcdUZGMDlcdUZGMEMiOiIiLEU9QisiXHU1REYyXHU2M0QwXHU0RUE0IisobT8iICIrbToiIikrKGc/Ilx1RkYwQ1x1NURGMlx1NjI1MyBUYWcgIitnOiIiKTtyLnF1aWNrQ29tbWl0UmVzdWx0PXthY3Rpb246dS5hY3Rpb24saW5jbHVkZVN1Ym1vZHVsZTohIXQscHVzaGVkOiEhaC5wdXNoZWQscHVzaEVycm9yOmgucHVzaEVycm9yfHwiIixjb21taXRIYXNoOm0sY29tbWl0TWVzc2FnZTpoLmNvbW1pdCYmaC5jb21taXQubWVzc2FnZT9oLmNvbW1pdC5tZXNzYWdlOmwsdGFnTmFtZTpnLG9sZFRhZzpmLnRhZyxvbGRDb21taXRIYXNoOmYuY29tbWl0SGFzaCxvbGRDb21taXRTdWJqZWN0OmYuY29tbWl0U3ViamVjdCxzdWJtb2R1bGVDb3VudDp5Lmxlbmd0aH0sdS5wdXNoJiYhaC5wdXNoRXJyb3I/KHR5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KEUrIlx1RkYwQ1x1NURGMlx1NjNBOFx1OTAwMVx1MzAwMiIsInN1Y2Nlc3MiKSxlcigpKToodHlwZW9mIHg9PSJmdW5jdGlvbiImJngoRSsoaC5wdXNoRXJyb3I/Ilx1RkYxQnB1c2ggXHU1OTMxXHU4RDI1XHVGRjFBIitoLnB1c2hFcnJvcjoiXHUzMDAyIiksaC5wdXNoRXJyb3I/ImVycm9yIjoic3VjY2VzcyIpLHIuc2VsZWN0ZWRJZCYmX24oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pLnRoZW4oZnVuY3Rpb24oKXtyLnF1aWNrQ29tbWl0T3BlbiYmUHQoKX0pKX0pLmNhdGNoKGZ1bmN0aW9uKHYpe3IucXVpY2tDb21taXRFcnJvcj12JiZ2Lm1lc3NhZ2V8fCJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTRcdTU5MzFcdThEMjVcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe3IucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLHIucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz0hMSxyLnF1aWNrQ29tbWl0T3BlbiYmUHQoKX0pfX1mdW5jdGlvbiBEYyhlKXtpZighKCFyLnNlbGVjdGVkSWR8fHIucXVpY2tDb21taXRQdXNoaW5nKSl7dmFyIHQ9ISEoZSYmZS5wdXNoQ29tbWl0cyksbj0hIShlJiZlLnB1c2hUYWdzKSxpPSEhKGUmJmUuY2xvc2VPblN1Y2Nlc3MpO2lmKCEoIXQmJiFuKSl7dmFyIGE9ci5xdWlja0NvbW1pdFJlc3VsdHx8e30sdT0hIWEuaW5jbHVkZVN1Ym1vZHVsZTtyLnF1aWNrQ29tbWl0UHVzaGluZz0hMCxyLnF1aWNrQ29tbWl0UHVzaEVycm9yPSIiLFB0KCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL2dpdC9wdXNoIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cHVzaENvbW1pdHM6dCxwdXNoVGFnczpuLHN1Ym1vZHVsZTp1LHRhZzphLnRhZ05hbWV8fCIifSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybntvazpvLm9rLGRhdGE6c319KX0pLnRoZW4oZnVuY3Rpb24obyl7dmFyIHM9by5kYXRhfHx7fTtpZighby5vayl0aHJvdyBuZXcgRXJyb3IocyYmcy5lcnJvcnx8Ilx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIpO2lmKHMuZXJyb3Ipe3IucXVpY2tDb21taXRQdXNoRXJyb3I9cy5lcnJvcix0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeCgiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHVGRjFBIitzLmVycm9yLCJlcnJvciIpO3JldHVybn12YXIgbD1bXTtzLnB1c2hlZENvbW1pdHMmJmwucHVzaCgiY29tbWl0cyIpLHMucHVzaGVkVGFncyYmbC5wdXNoKCJ0YWdzIik7dmFyIGQ9bC5sZW5ndGg/bC5qb2luKCIgXHU1NDhDICIpOiJcdUZGMDhcdTY1RTBcdTUxODVcdTVCQjlcdUZGMDkiO3R5cGVvZiB4PT0iZnVuY3Rpb24iJiZ4KCJcdTVERjJcdTYzQThcdTkwMDEgIitkLCJzdWNjZXNzIiksci5xdWlja0NvbW1pdFJlc3VsdCYmKHIucXVpY2tDb21taXRSZXN1bHQucHVzaGVkPSEwKSxpPyhlcigpLHIuc2VsZWN0ZWRJZCYmX24oci5zZWxlY3RlZElkLHtmb3JjZTohMH0pKTpyLnNlbGVjdGVkSWQmJl9uKHIuc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KS50aGVuKGZ1bmN0aW9uKCl7ci5xdWlja0NvbW1pdE9wZW4mJlB0KCl9KX0pLmNhdGNoKGZ1bmN0aW9uKG8pe3IucXVpY2tDb21taXRQdXNoRXJyb3I9byYmby5tZXNzYWdlfHwiXHU2M0E4XHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIix0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeChyLnF1aWNrQ29tbWl0UHVzaEVycm9yLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe3IucXVpY2tDb21taXRQdXNoaW5nPSExLHIucXVpY2tDb21taXRPcGVuJiZQdCgpfSl9fX1mdW5jdGlvbiBrYyhlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZih0PT09Ij8/IilyZXR1cm57bGV0dGVyOiJVIixjbHM6InVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9O2lmKHQ9PT0iISEiKXJldHVybntsZXR0ZXI6IkkiLGNsczoiaWdub3JlZCIsdGl0bGU6Ilx1NURGMlx1NUZGRFx1NzU2NSJ9O2Zvcih2YXIgbj0iIixpPTA7aTxlLmxlbmd0aDtpKyspaWYoZVtpXSYmZVtpXSE9PSIuIiYmZVtpXSE9PSIgIil7bj1lW2ldO2JyZWFrfW49KG58fHRbMF18fCI/IikudG9VcHBlckNhc2UoKTt2YXIgYT17QTp7Y2xzOiJhZGQiLHRpdGxlOiJcdTY1QjBcdTU4OUUifSxNOntjbHM6Im1vZCIsdGl0bGU6Ilx1NEZFRVx1NjUzOSJ9LEQ6e2NsczoiZGVsIix0aXRsZToiXHU1MjIwXHU5NjY0In0sUjp7Y2xzOiJyZW4iLHRpdGxlOiJcdTkxQ0RcdTU0N0RcdTU0MEQifSxDOntjbHM6InJlbiIsdGl0bGU6Ilx1NTkwRFx1NTIzNiJ9LFQ6e2NsczoibW9kIix0aXRsZToiXHU3QzdCXHU1NzhCXHU1M0Q4XHU2NkY0In0sVTp7Y2xzOiJkZWwiLHRpdGxlOiJcdTUxQjJcdTdBODEifX0sdT1hW25dfHx7Y2xzOiJvdGhlciIsdGl0bGU6Ilx1NURGMlx1NjZGNFx1NjUzOSJ9O3JldHVybntsZXR0ZXI6bixjbHM6dS5jbHMsdGl0bGU6dS50aXRsZX19ZnVuY3Rpb24gZ2goZSl7dmFyIHQ9ZS5tYXAoZnVuY3Rpb24obil7dmFyIGk9a2Mobi5zdGF0dXN8fCIiKSxhPW4ucGF0aHx8IiIsdT1hLmxhc3RJbmRleE9mKCIvIiksbz11Pj0wP2Euc2xpY2UoMCx1KzEpOiIiLHM9dT49MD9hLnNsaWNlKHUrMSk6YSxsPSIiO2lmKG4uaXNTdWJtb2R1bGUpe3ZhciBkPW4uc3VibW9kdWxlU3RhdGV8fHt9LGY9W107ZC5jb21taXRDaGFuZ2VkJiZmLnB1c2goIlx1NjVCMFx1NjMwN1x1OTQ4OCIpLGQuaGFzVHJhY2tlZENoYW5nZXMmJmYucHVzaCgiZGlydHkiKSxkLmhhc1VudHJhY2tlZCYmZi5wdXNoKCJcdTY3MkFcdThEREZcdThFMkEiKTt2YXIgYz1mLmxlbmd0aD8ic3VibW9kdWxlIFx4QjcgIitmLmpvaW4oIiAvICIpOiJzdWJtb2R1bGUiO2w9JzxzcGFuIGNsYXNzPSJxYy1zdWJtb2R1bGUtYmFkZ2UiPicrcChjKSsiPC9zcGFuPiJ9cmV0dXJuJzxkaXYgY2xhc3M9InFjLWZpbGUtcm93IiB0aXRsZT0iJytwKGEpKyciPjxzcGFuIGNsYXNzPSJxYy1maWxlLWJhZGdlIHFjLWJhZGdlLScraS5jbHMrJyIgdGl0bGU9IicrcChpLnRpdGxlKSsnIj4nK3AoaS5sZXR0ZXIpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InFjLWZpbGUtcGF0aCI+Jysobz8nPHNwYW4gY2xhc3M9InFjLWZpbGUtZGlyIj4nK3AobykrIjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9InFjLWZpbGUtbmFtZSI+JytwKHMpKyI8L3NwYW4+PC9zcGFuPiIrbCsiPC9kaXY+In0pLmpvaW4oIiIpO3JldHVybiB0fHwnPGRpdiBjbGFzcz0icWMtZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTNFRlx1NjNEMFx1NEVBNFx1NzY4NFx1NjUzOVx1NTJBOFx1MzAwMjwvZGl2Pid9ZnVuY3Rpb24gYmkoKXtyZXR1cm4gci5xdWlja0NvbW1pdFN1Ym1pdHRpbmd8fHIucXVpY2tDb21taXRQdXNoaW5nfWZ1bmN0aW9uIEVpKGUsdCxuLGkpe3JldHVybic8ZGl2IGNsYXNzPSJxYy1wYWlyJysoaT8iICIraToiIikrJyI+PGRpdiBjbGFzcz0icWMtcGFpci1sYWJlbCI+JytwKGUpKyc8L2Rpdj48ZGl2IGNsYXNzPSJxYy1wYWlyLWZsb3ciPjxkaXYgY2xhc3M9InFjLXBhaXItdmFsdWUgcWMtcGFpci12YWx1ZS0tZnJvbSI+Jyt0Kyc8L2Rpdj48ZGl2IGNsYXNzPSJxYy1wYWlyLWFycm93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci12YWx1ZSBxYy1wYWlyLXZhbHVlLS10byI+JytuKyI8L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEFjKCl7dmFyIGU9ci5naXRTdGF0dXN8fHt9O2lmKGUuaGFzU3VibW9kdWxlPT09ITApcmV0dXJuITA7Zm9yKHZhciB0PWUuZmlsZXN8fFtdLG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dJiZ0W25dLmlzU3VibW9kdWxlPT09ITApcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24geGMoZSl7dmFyIHQ9IWV8fGJpKCksbj1BYygpO2lmKHIucXVpY2tDb21taXRTdWJtaXR0aW5nKXt2YXIgaT1yLnF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50PyJcdUZGMDhcdTU0MkIgc3VibW9kdWxlXHVGRjA5IjoiIixhPShyLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc/IkFJIFx1NzUxRlx1NjIxMCArIFx1NjNEMFx1NEVBNFx1NEUyRFx1MjAyNiI6Ilx1NjI2N1x1ODg0Q1x1NEUyRFx1MjAyNiIpK2k7cmV0dXJuJzxkaXYgY2xhc3M9InFjLWRvY2std3JhcCI+PGRpdiBjbGFzcz0icWMtZG9jay1idXN5IiByb2xlPSJzdGF0dXMiPjxzcGFuIGNsYXNzPSJxYy1kb2NrLWJ1c3ktZG90Ij48L3NwYW4+JytwKGEpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIHUocyxsLGQpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InFjLWNoaXAgcWMtY2hpcC0tJytzKyciIGRhdGEtY2hpcD0iJytzKyciJysoZD8nIHRpdGxlPSInK3AoZCkrJyInOiIiKSsodD8iIGRpc2FibGVkIjoiIikrJz48c3BhbiBjbGFzcz0icWMtY2hpcC1kb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InFjLWNoaXAtbGFiZWwiPicrbCsiPC9zcGFuPjwvYnV0dG9uPiJ9dmFyIG89dD9lPyIiOiJcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzBcdUZGMENcdTY1RTBcdTUzRUZcdTYzRDBcdTRFQTQiOiJcdTYyRDZcdTUyQThcdTc4QzFcdTU0MzhcdTdFQzRcdTU0MDggXHhCNyBcdTRFMjJcdThGREJcdTYzRDBcdTRFQTRcdTUzM0FcdTYyNjdcdTg4NEMgXHhCNyBcdTUzNTVcdTUxRkJcdTc2RjRcdTYzQTVcdTYyNjdcdTg4NENcdThCRTVcdTk4NzkiKyhuPyIgXHhCNyBTdWIgXHU3NDAzXHU1M0VGXHU5MDA5XHVGRjBDXHU3RUIzXHU1MTY1XHU1NDBFXHU5MDEyXHU1RjUyXHU1OTA0XHU3NDA2IHN1Ym1vZHVsZSI6IiIpO3JldHVybic8ZGl2IGNsYXNzPSJxYy1kb2NrLXdyYXAgcWMtZG9jay13cmFwLS1tYWduZXRpYyInKyh0PycgZGF0YS1kaXNhYmxlZD0iMSInOiIiKSsnPjxkaXYgaWQ9InFjLWRvY2stc3RhZ2UiIGNsYXNzPSJxYy1kb2NrLXN0YWdlIiBkYXRhLWFjdGlvbj0iY29tbWl0IiBkYXRhLWhvdD0iMCI+PGRpdiBpZD0icWMtZG9jay1maWVsZCIgY2xhc3M9InFjLWRvY2stZmllbGQiPjxkaXYgaWQ9InFjLWRvY2stY2x1c3RlciIgY2xhc3M9InFjLWRvY2stY2x1c3RlciIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PicrdSgiY29tbWl0IiwiQ29tbWl0IikrdSgidGFnIiwiVGFnIikrdSgicHVzaCIsIlB1c2giKSsobj91KCJzdWIiLCJTdWIiLCJcdTYzRDBcdTRFQTRcdTcyMzZcdTRFRDNcdTVFOTNcdTVFNzZcdTkwMTJcdTVGNTJcdThGREJcdTUxNjUgc3VibW9kdWxlXHVGRjA4Y29tbWl0IC8gdGFnIC8gXHU1MjA2XHU1MjJCXHU2M0E4XHU5MDAxXHVGRjA5Iik6IiIpKyc8L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9InFjLWRvY2stbGF1bmNoIiBjbGFzcz0icWMtZG9jay1sYXVuY2giJysodD8iIGRpc2FibGVkIjoiIikrJyBhcmlhLWxhYmVsPSJcdTYyNjdcdTg4NENcdTYzRDBcdTRFQTQiPjxzcGFuIGNsYXNzPSJxYy1kb2NrLWxhdW5jaC1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNSAxMmgxMk0xMyA2bDYgNi02IDYiLz48L3N2Zz48L3NwYW4+PHNwYW4gaWQ9InFjLWRvY2stbGF1bmNoLWxhYmVsIiBjbGFzcz0icWMtZG9jay1sYXVuY2gtbGFiZWwiPlx1NjNEMFx1NEVBNDwvc3Bhbj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJxYy1kb2NrLWhpbnQiPicrcChvKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBTYygpe3ZhciBlPXIucXVpY2tDb21taXRSZXN1bHQ7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9ZS5vbGRDb21taXRIYXNoPyI8Y29kZT4iK3AoZS5vbGRDb21taXRIYXNoKSsiPC9jb2RlPiIrKGUub2xkQ29tbWl0U3ViamVjdD8iPHNwYW4+IitwKGUub2xkQ29tbWl0U3ViamVjdCkrIjwvc3Bhbj4iOiIiKTonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTA8L3NwYW4+JyxuPWUuY29tbWl0SGFzaD8iPGNvZGU+IitwKGUuY29tbWl0SGFzaCkrIjwvY29kZT48c3Bhbj4iK3AoZS5jb21taXRNZXNzYWdlfHwiIikrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMDwvc3Bhbj4nLGk9ZS5vbGRUYWc/Ijxjb2RlPiIrcChlLm9sZFRhZykrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCB0YWc8L3NwYW4+JyxhPWUudGFnTmFtZT8iPGNvZGU+IitwKGUudGFnTmFtZSkrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjcyQVx1NjI1MyB0YWc8L3NwYW4+Jyx1PWUucHVzaGVkPyc8c3BhbiBjbGFzcz0icWMtcmVzdWx0LXB1c2hlZCI+XHU1REYyXHU2M0E4XHU5MDAxPC9zcGFuPic6JzxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1wdXNoLWFmdGVyLWJ0biIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiInKyhyLnF1aWNrQ29tbWl0UHVzaGluZz8iIGRpc2FibGVkIjoiIikrIj4iKyhyLnF1aWNrQ29tbWl0UHVzaGluZz8iXHU2M0E4XHU5MDAxXHU0RTJELi4uIjoiUHVzaCAmIENsb3NlIikrIjwvYnV0dG9uPiI7cmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJxYy1yZXN1bHQtcGFuZWwiPicrRWkoIkNvbW1pdCIsdCxuLCIiKStFaSgiVGFnIixpLGEsInFjLXBhaXItLXRhZyIpKyhlLnB1c2hFcnJvcnx8ci5xdWlja0NvbW1pdFB1c2hFcnJvcj8nPHAgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPicrcChlLnB1c2hFcnJvcnx8ci5xdWlja0NvbW1pdFB1c2hFcnJvcikrIjwvcD4iOiIiKSsnPGRpdiBjbGFzcz0icWMtcmVzdWx0LWFjdGlvbnMiPjxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1jYW5jZWwtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1MTczXHU5NUVEPC9idXR0b24+Jyt1KyI8L2Rpdj48L3NlY3Rpb24+In1mdW5jdGlvbiBSbygpe3ZhciBlPXIuZ2l0U3RhdHVzfHx7fSx0PXIucXVpY2tDb21taXRGb3JtfHx7Y3VzdG9tTWVzc2FnZToiIix0YWc6IiIsdGFnRWRpdGVkOiExfSxuPShlLm1vZGlmaWVkQ291bnR8fDApPjAsaT1yLnF1aWNrQ29tbWl0R2VuZXJhdGluZyxhPWUubGFzdENvbW1pdHx8e30sdT1hLnNob3J0SGFzaD8iPGNvZGU+IitwKGEuc2hvcnRIYXNoKSsiPC9jb2RlPjxzcGFuPiIrcChhLnN1YmplY3R8fCIiKSsiPC9zcGFuPiI6ZS5oZWFkPyI8Y29kZT4iK3AoZS5oZWFkLnN1YnN0cmluZygwLDcpKSsiPC9jb2RlPiI6JzxzcGFuIGNsYXNzPSJxYy1tdXRlZCI+XHU2NUUwIGNvbW1pdDwvc3Bhbj4nLG89ZS5sYXRlc3RUYWc/Ijxjb2RlPiIrcChlLmxhdGVzdFRhZykrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCB0YWc8L3NwYW4+JyxzPSc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InF1aWNrLWNvbW1pdC10YWciIGNsYXNzPSJmaWVsZC1pbnB1dCBxYy10YWctZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTc1NTlcdTdBN0FcdTUyMTkgQUkgXHU3NTFGXHU2MjEwIiB2YWx1ZT0iJytwKHQudGFnfHwiIikrJyInKyhyLnF1aWNrQ29tbWl0U3VibWl0dGluZz8iIGRpc2FibGVkIjoiIikrIj4iLGw9Jzx0ZXh0YXJlYSBpZD0icXVpY2stY29tbWl0LW1lc3NhZ2UiIGNsYXNzPSJmaWVsZC1pbnB1dCBxYy1tZXNzYWdlLWlucHV0IiByb3dzPSIzIiBwbGFjZWhvbGRlcj0iTmV3IGNvbW1pdCBtZXNzYWdlIiAnKyhyLnF1aWNrQ29tbWl0U3VibWl0dGluZz8iZGlzYWJsZWQiOiIiKSsiPiIrcCh0LmN1c3RvbU1lc3NhZ2V8fCIiKSsiPC90ZXh0YXJlYT4iLGQ9W107ZC5wdXNoKGUuYnJhbmNofHwiKG5vIGJyYW5jaCkiKSxkLnB1c2gobj8oZS5tb2RpZmllZENvdW50fHwwKSsiIFx1NEUyQVx1NjUzOVx1NTJBOCI6Ilx1NURFNVx1NEY1Q1x1NTMzQVx1NUU3Mlx1NTFDMCIpLHR5cGVvZiBlLmFoZWFkPT0ibnVtYmVyIiYmZS5haGVhZD4wJiZkLnB1c2goIlx1MjE5MSIrZS5haGVhZCksdHlwZW9mIGUuYmVoaW5kPT0ibnVtYmVyIiYmZS5iZWhpbmQ+MCYmZC5wdXNoKCJcdTIxOTMiK2UuYmVoaW5kKTt2YXIgZj1yLnF1aWNrQ29tbWl0UmVzdWx0PyIiOic8c2VjdGlvbiBjbGFzcz0icWMtcmVsZWFzZS1wYW5lbCI+PGRpdiBjbGFzcz0icWMtbWVzc2FnZS1oZWFkZXIiPjxzcGFuIGNsYXNzPSJxYy1zZWN0aW9uLXRpdGxlIj5OZXc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJxdWljay1jb21taXQtYWktYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gcWMtYWktYnRuIicrKGk/IiBkaXNhYmxlZCI6IiIpKycgdGl0bGU9IkFJIFx1NzUxRlx1NjIxMCBjb21taXQgbWVzc2FnZSBcdTRFMEUgdGFnIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMS41bDEuNCAzLjZMMTMgNi41IDkuNCA3LjkgOCAxMS41IDYuNiA3LjkgMyA2LjVsMy42LTEuNEw4IDEuNXpNMTIuNSAxMC41bC43IDEuOCAxLjguNy0xLjguNy0uNyAxLjgtLjctMS44LTEuOC0uNyAxLjgtLjcuNy0xLjh6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz48c3Bhbj4nKyhpPyJcdTc1MUZcdTYyMTBcdTRFMkQuLi4iOiJBSSIpKyI8L3NwYW4+PC9idXR0b24+PC9kaXY+IitFaSgiQ29tbWl0Iix1LGwsInFjLXBhaXItLWNvbW1pdCIpK0VpKCJUYWciLG8scywicWMtcGFpci0tdGFnIikrKHIucXVpY2tDb21taXRFcnJvcj8nPHAgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPicrcChyLnF1aWNrQ29tbWl0RXJyb3IpKyI8L3A+IjoiIikreGMobikrJzxkaXYgY2xhc3M9InFjLW1vZGFsLWFjdGlvbnMiPjxidXR0b24gaWQ9InF1aWNrLWNvbW1pdC1jYW5jZWwtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1M0Q2XHU2RDg4PC9idXR0b24+PC9kaXY+PC9zZWN0aW9uPicsYz1TYygpO3JldHVybic8c2VjdGlvbiBpZD0icXVpY2stY29tbWl0LW1vZGFsIiBjbGFzcz0ibW9kYWwtYmFja2Ryb3AnKyhyLnF1aWNrQ29tbWl0T3Blbj8iIjoiIGhpZGRlbiIpKyciPjxkaXYgY2xhc3M9Im1vZGFsIHF1aWNrLWNvbW1pdC1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InF1aWNrLWNvbW1pdC10aXRsZSI+PGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj48ZGl2PjxoMiBpZD0icXVpY2stY29tbWl0LXRpdGxlIiBjbGFzcz0ibW9kYWwtdGl0bGUiPlx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNDwvaDI+PHAgY2xhc3M9Im1vZGFsLXN1YnRpdGxlIj4nK3AoZC5qb2luKCIgXHhCNyAiKSkrJzwvcD48L2Rpdj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2xvc2UtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+JytmK2MrIjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4ifWZ1bmN0aW9uIEljKCl7cmV0dXJuJzxzZWN0aW9uIGlkPSJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgd29ya3RyZWUtbWVyZ2UtbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTU0MDhcdTVFNzYgV29ya3RyZWU8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+XHU2OEMwXHU2N0U1XHU1RjUzXHU1MjREXHU0RUZCXHU1MkExXHU1MjA2XHU2NTJGXHU1RTc2XHU1RkVCXHU2Mzc3XHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGXHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLXdvcmt0cmVlLW1lcmdlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPjxkaXYgaWQ9Indvcmt0cmVlLW1lcmdlLWNvbnRlbnQiIGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1jb250ZW50Ij48L2Rpdj48cCBpZD0id29ya3RyZWUtbWVyZ2UtZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiI+PC9wPjxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLWFjdGlvbnMiPjxidXR0b24gaWQ9Indvcmt0cmVlLW1lcmdlLWNhbmNlbC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSI+XHU1M0Q2XHU2RDg4PC9idXR0b24+PGJ1dHRvbiBpZD0id29ya3RyZWUtbWVyZ2UtY29uZmlybS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlx1Nzg2RVx1OEJBNFx1NTQwOFx1NUU3Nlx1NUU3Nlx1NkUwNVx1NzQwNjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4nfWZ1bmN0aW9uIFRjKCl7cmV0dXJuJzxzZWN0aW9uIGlkPSJzZXR0aW5ncy1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgc2V0dGluZ3MtbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciBzZXR0aW5ncy1tb2RhbC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGFsLXRpdGxlLWdyb3VwIj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdThCQkVcdTdGNkU8L2gyPjxwIGNsYXNzPSJzZXR0aW5ncy1tb2RhbC1zdWJ0aXRsZSI+XHU4QzAzXHU2NTc0XHU1RTk0XHU3NTI4XHU5MTREXHU3RjZFXHUzMDAxXHU5MDFBXHU3N0U1XHUzMDAxXHU1Qjg5XHU1MTY4XHU1NDhDXHU2NjNFXHU3OTNBXHU1MDRGXHU1OTdEPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLXNldHRpbmdzLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkgc2V0dGluZ3MtbW9kYWwtYm9keSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbGF5b3V0Ij48YXNpZGUgY2xhc3M9InNldHRpbmdzLXNpZGViYXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLXNpZGViYXItaGVhZGVyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLXRpdGxlIj5cdTUwNEZcdTU5N0RcdThCQkVcdTdGNkU8L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLWhpbnQiPlx1NURFNlx1NEZBN1x1NTIwN1x1NjM2Mlx1NTIwNlx1NTMzQVx1RkYwQ1x1NTNGM1x1NEZBN1x1NjdFNVx1NzcwQlx1OEJFNlx1N0VDNlx1OEJGNFx1NjYwRVx1NEUwRVx1OTAwOVx1OTg3OVx1MzAwMjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRhYnMiIHJvbGU9InRhYmxpc3QiIGFyaWEtbGFiZWw9Ilx1OEJCRVx1N0Y2RVx1NTIwNlx1N0VDNCIgYXJpYS1vcmllbnRhdGlvbj0idmVydGljYWwiPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiBhY3RpdmUiIGRhdGEtdGFiPSJhYm91dCIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItYWJvdXQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1MTczXHU0RThFPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU3MjQ4XHU2NzJDXHUzMDAxXHU2NkY0XHU2NUIwXHU0RTBFXHU4RkRFXHU2M0E1XHU2NUI5XHU1RjBGPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9ImdlbmVyYWwiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1nZW5lcmFsIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NkEyMVx1NTc4Qlx1MzAwMVx1NkEyMVx1NUYwRlx1NEUwRVx1OEZEMFx1ODg0Q1x1NzNBRlx1NTg4Mzwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJub3RpZmljYXRpb25zIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItbm90aWZpY2F0aW9ucyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTkwMUFcdTc3RTU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTYzRDBcdTc5M0FcdTk3RjNcdTRFMEVcdTZENEZcdTg5QzhcdTU2NjhcdTkwMUFcdTc3RTU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0ic2VjdXJpdHkiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1zZWN1cml0eSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTVCODlcdTUxNjg8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTVCQzZcdTc4MDFcdTRFMEVcdThCQzFcdTRFNjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0icHJlc2V0cyIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLXByZXNldHMiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU2N0U1XHU3NzBCXHU1REYyXHU2NzA5XHU5ODg0XHU4QkJFPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9ImRpc3BsYXkiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1kaXNwbGF5Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NjYzRVx1NzkzQTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NTM2MVx1NzI0N1x1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1ODg0Q1x1NEUzQTwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2FzaWRlPjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRlbnQiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIGFjdGl2ZSIgaWQ9InNldHRpbmdzLXRhYi1hYm91dCIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU1MTczXHU0RThFIFdhbmQ8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTY3RTVcdTc3MEJcdTcyNDhcdTY3MkNcdTRGRTFcdTYwNkZcdTMwMDFcdTY2RjRcdTY1QjBcdTcyQjZcdTYwMDFcdTU0OEMgQW5kcm9pZCBBcHAgXHU4RkRFXHU2M0E1XHU2NUI5XHU1RjBGXHUzMDAyPC9wPjwvZGl2PjxwIGlkPSJzZXR0aW5ncy1hYm91dC1hY2Nlc3Mtbm90ZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj5cdTVGNTNcdTUyNERcdTY2MkYgQXBwIFx1OEZERVx1NjNBNVx1NEYxQVx1OEJERFx1RkYwQ1x1NEVDNVx1NUM1NVx1NzkzQVx1NzI0OFx1NjcyQ1x1NEUwRVx1NUJBMlx1NjIzN1x1N0FFRlx1NEUwQlx1OEY3RFx1NEZFMVx1NjA2Rlx1MzAwMlx1NjZGNFx1NjVCMFx1N0JBMVx1NzQwNlx1NTQ4Q1x1OEZERVx1NjNBNVx1NzgwMVx1NEVDNVx1NUJGOVx1N0JBMVx1NzQwNlx1NTQ1OFx1NUYwMFx1NjUzRVx1MzAwMjwvcD48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1pbmZvIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1MzA1XHU1NDBEPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLXBrZy1uYW1lIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtdmVyc2lvbiI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+Tm9kZS5qcyBcdTg5ODFcdTZDNDI8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3Mtbm9kZS1yZXEiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NEVEM1x1NUU5M1x1NTczMFx1NTc0MDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1yZXBvLXVybCI+PGEgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPi08L2E+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIiBpZD0id2ViLXVwZGF0ZS1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVSgiZ2xvYmUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5XZWIgXHU3QUVGPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OEJCRlx1OTVFRVx1NzY4NFx1NjcwRFx1NTJBMVx1NzI0OFx1NjcyQzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzAwXHU2NUIwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrLXVwZGF0ZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iPlx1NjhDMFx1NjdFNVx1NjZGNFx1NjVCMDwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZG8tdXBkYXRlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20gaGlkZGVuIj5cdTY2RjRcdTY1QjBcdTUyMzBcdTY3MDBcdTY1QjBcdTcyNDg8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImRvLXJlc3RhcnQtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbSBoaWRkZW4iPlx1OTFDRFx1NTQyRlx1NzUxRlx1NjU0ODwvYnV0dG9uPjwvZGl2PjxwIGlkPSJ1cGRhdGUtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPkJldGEgXHU5MDFBXHU5MDUzPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NkY0XHU2NUIwXHU1MjMwIG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1RkYwOHRhZyArIGNvbW1pdCBcdTVDM0VcdTY4MDdcdUZGMDlcdUZGMENcdTVDMURcdTlDOUNcdTY1QjBcdTUyOUZcdTgwRkRcdUZGMENcdTUzRUZcdTgwRkRcdTRFMERcdTdBMzNcdTVCOUFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImJldGEtY2hhbm5lbC10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OFx1NjcyQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NEUwQlx1OEY3RFx1NUI4OVx1ODhDNVx1NUU3Nlx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiIgaWQ9InByb3ZpZGVyLWNsaS11cGRhdGUtc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1UoInRlcm1pbmFsIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU1RjAwXHU1M0QxIENMSTwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5DbGF1ZGUgQ29kZVx1MzAwMUNvZGV4IFx1NEUwRSBPcGVuQ29kZSBcdTc2ODRcdTY3MERcdTUyQTFcdTdBRUZcdTcyNDhcdTY3MkM8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPkNsYXVkZSBDb2RlPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InByb3ZpZGVyLWNsaS1zdGF0dXMtY2xhdWRlIj5cdTY4QzBcdTZENEJcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPkNvZGV4PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InByb3ZpZGVyLWNsaS1zdGF0dXMtY29kZXgiPlx1NjhDMFx1NkQ0Qlx1NEUyRFx1MjAyNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+T3BlbkNvZGU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0icHJvdmlkZXItY2xpLXN0YXR1cy1vcGVuY29kZSI+XHU2OEMwXHU2RDRCXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrLXByb3ZpZGVyLWNsaS11cGRhdGVzIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIj5cdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjA8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9InVwZGF0ZS1wcm92aWRlci1jbGlzIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iPlx1NUZFQlx1OTAxRlx1NjZGNFx1NjVCMDwvYnV0dG9uPjwvZGl2PjxwIGlkPSJwcm92aWRlci1jbGktdXBkYXRlLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjAgQ0xJPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NzBEXHU1MkExXHU3QUVGXHU2QkNGIDMwIFx1NTIwNlx1OTQ5Rlx1NjhDMFx1NjdFNVx1NEUwMFx1NkIyMVx1RkYwQ1x1NUU3Nlx1OEMwM1x1NzUyOFx1NTQwNCBDTEkgXHU1Qjk4XHU2NUI5IHVwZGF0ZXIgXHU2NkY0XHU2NUIwXHU1MjMwXHU2NzAwXHU2NUIwXHU3MjQ4XHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIGhpZGRlbiIgaWQ9ImFuZHJvaWQtYXBrLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytVKCJzbWFydHBob25lIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+QW5kcm9pZCBBcHA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU1MzlGXHU3NTFGXHU1QkEyXHU2MjM3XHU3QUVGXHU3MjQ4XHU2NzJDXHU0RTBFIEFQSyBcdTRFMEJcdThGN0Q8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hcGstY3VycmVudC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NUY1M1x1NTI0RFx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1hbmRyb2lkLWFway1jdXJyZW50Ij4tPC9zcGFuPjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXBrLWdpdGh1Yi1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstZ2l0aHViIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWdpdGh1Yi1hcGstYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGhpZGRlbiIgdHlwZT0iYnV0dG9uIj5cdTRFMEJcdThGN0Q8L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJhbmRyb2lkLWFway1sb2NhbC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstbG9jYWwiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtbG9jYWwtYXBrLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hdXRvLXVwZGF0ZS1yb3ciIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93IGhpZGRlbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiIGlkPSJhbmRyb2lkLWF1dG8tdXBkYXRlLWhpbnQiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OCBBUEsgXHU2NUY2XHU4MUVBXHU1MkE4XHU2MkM5XHU4RDc3XHU0RTBCXHU4RjdEXHVGRjBDXHU1Qjg5XHU4OEM1XHU0RUNEXHU5NzAwXHU1NzI4XHU3Q0ZCXHU3RURGXHU0RTJEXHU3ODZFXHU4QkE0XHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1hcGstdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxwIGlkPSJhbmRyb2lkLWFway1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiBoaWRkZW4iIGlkPSJtYWNvcy1kbWctc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1UoImRlc2t0b3AiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5tYWNPUyBBcHA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU1MzlGXHU3NTFGXHU1QkEyXHU2MjM3XHU3QUVGXHU3MjQ4XHU2NzJDXHU0RTBFIERNRyBcdTRFMEJcdThGN0Q8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWN1cnJlbnQtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWN1cnJlbnQiPi08L3NwYW4+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWdpdGh1Yi1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU3RUJGXHU0RTBBXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWdpdGh1YiI+LTwvc3Bhbj48YnV0dG9uIGlkPSJkb3dubG9hZC1naXRodWItZG1nLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0ibWFjb3MtZG1nLWxvY2FsLXJvdyIgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyBzZXR0aW5ncy1hYm91dC1yb3ctYWN0aW9uIGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTY3MkNcdTU3MzBcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIHNldHRpbmdzLXZhbHVlLWZsZXgiIGlkPSJzZXR0aW5ncy1tYWNvcy1kbWctbG9jYWwiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtbG9jYWwtZG1nLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0ibWFjb3MtYXV0by11cGRhdGUtcm93IiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjA8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIiBpZD0ibWFjb3MtYXV0by11cGRhdGUtaGludCI+XHU2OEMwXHU2RDRCXHU1MjMwXHU2NUIwXHU3MjQ4IERNRyBcdTVDMDZcdTgxRUFcdTUyQThcdTRFMEJcdThGN0RcdTVFNzZcdTYzMDJcdThGN0RcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PHAgaWQ9Im1hY29zLWRtZy1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiIgaWQ9ImFuZHJvaWQtY29ubmVjdC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVSgibGluayIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPkFwcCBcdThGREVcdTYzQTVcdTc4MDE8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU3Qzk4XHU4RDM0XHU1MjMwIEFuZHJvaWQgQXBwIFx1NTM3M1x1NTNFRlx1ODFFQVx1NTJBOFx1OEZERVx1NjNBNVx1RkYwQ1x1NjVFMFx1OTcwMFx1NUJDNlx1NzgwMVx1RkYxQlx1NjUzOVx1NUJDNlx1NzgwMVx1NTQwRVx1NTkzMVx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXVybC1ib3giPjxjb2RlIGlkPSJhbmRyb2lkLWNvbm5lY3QtY29kZSIgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtdXJsLXRleHQiPi08L2NvZGU+PGJ1dHRvbiBpZD0iY29weS1jb25uZWN0LWNvZGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU5MERcdTUyMzZcdThGREVcdTYzQTVcdTc4MDEiPlx1NTkwRFx1NTIzNjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItYm94Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLXdyYXAiIGlkPSJhbmRyb2lkLWNvbm5lY3QtcXItd3JhcCIgdGl0bGU9Ilx1NzBCOVx1NTFGQlx1NjUzRVx1NTkyNyI+PGNhbnZhcyBpZD0iYW5kcm9pZC1jb25uZWN0LXFyIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCI+PC9jYW52YXM+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC1xci1lbXB0eSIgaWQ9ImFuZHJvaWQtY29ubmVjdC1xci1lbXB0eSI+XHU3NTFGXHU2MjEwXHU0RTJEXHUyMDI2PC9kaXY+PC9kaXY+PHAgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItaGludCI+XHU3NTI4IFdhbmQgQXBwIFx1NjI2Qlx1NEUwMFx1NjI2Qlx1RkYwQ1x1NTM3M1x1NTNFRlx1NEUwMFx1OTUyRVx1NTg2Qlx1NTE2NVx1NjcwRFx1NTJBMVx1NTY2OFx1NTczMFx1NTc0MFx1NEUwRVx1OEZERVx1NjNBNVx1NzgwMVx1MzAwMjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1ub3RpZmljYXRpb25zIiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTkwMUFcdTc3RTU8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdThCQkVcdTdGNkVcdTYzRDBcdTc5M0FcdTk3RjNcdTMwMDFcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTU0OENcdTZENEZcdTg5QzhcdTU2NjhcdTkwMUFcdTc3RTVcdTc2ODRcdTg4NENcdTRFM0FcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytVKCJiZWxsIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU5MDFBXHU3N0U1XHU1MDRGXHU1OTdEPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NjNEMFx1NzkzQVx1OTdGM1x1NEUwRVx1NUU5NFx1NzUyOFx1NTE4NVx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLW5vdGlmLXNvdW5kIj5cdTY0QURcdTY1M0VcdTYzRDBcdTc5M0FcdTk3RjM8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU5MUNEXHU4OTgxXHU5MDFBXHU3N0U1XHVGRjA4XHU3MjQ4XHU2NzJDXHU2NkY0XHU2NUIwXHUzMDAxXHU2NzQzXHU5NjUwXHU3QjQ5XHU1Rjg1XHU3QjQ5XHVGRjA5XHU2NUY2XHU2NEFEXHU2NTNFXHU2N0Q0XHU1NDhDXHU2M0QwXHU3OTNBXHU5N0YzXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1ub3RpZi1zb3VuZCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yYW5nZS1yb3ciIGlkPSJub3RpZi12b2x1bWUtZmllbGQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UtbGFiZWwiIGZvcj0iY2ZnLW5vdGlmLXZvbHVtZSI+XHU5N0YzXHU5MUNGPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1ub3RpZi12b2x1bWUiIHR5cGU9InJhbmdlIiBtaW49IjAiIG1heD0iMTAwIiBzdGVwPSI1IiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UiIC8+PHNwYW4gaWQ9ImNmZy1ub3RpZi12b2x1bWUtdmFsIiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2UtdmFsdWUiPjgwJTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLW5vdGlmLWJ1YmJsZSI+XHU1RTk0XHU3NTI4XHU1MTg1XHU5MDFBXHU3N0U1XHU2QzE0XHU2Q0UxPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NTcyOFx1OTg3NVx1OTc2Mlx1OTg3Nlx1OTBFOFx1NUYzOVx1NTFGQVx1NkQ2RVx1NTJBOFx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctbm90aWYtYnViYmxlIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im5hdGl2ZS1zb3VuZC1zZWN0aW9uIiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24gaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVSgibXVzaWMiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5cdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTk0QzNcdTU4RjA8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU5MDA5XHU2MkU5IEFuZHJvaWQgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU0RjdGXHU3NTI4XHU3Njg0XHU5NEMzXHU1OEYwPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXJvdy13aXRoLWFjdGlvbiI+PHNlbGVjdCBpZD0ibmF0aXZlLXNvdW5kLXNlbGVjdCIgY2xhc3M9ImZpZWxkLWlucHV0IGZpZWxkLXNlbGVjdCI+PC9zZWxlY3Q+PGJ1dHRvbiBpZD0ibmF0aXZlLXNvdW5kLXByZXZpZXciIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYnRuLXdpdGgtaWNvbiIgdHlwZT0iYnV0dG9uIj4nK1UoInBsYXkiLHtzaXplOjExLHN0cm9rZVdpZHRoOjEuOCxmaWxsOiJjdXJyZW50Q29sb3IifSkrJzxzcGFuPlx1OEJENVx1NTQyQzwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJuYXRpdmUtaGFwdGljLXNlY3Rpb24iIGNsYXNzPSJzZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytVKCJ2aWJyYXRlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4PC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NjMwOVx1OTRBRVx1NjRDRFx1NEY1Q1x1NTQ4Q1x1NEVGQlx1NTJBMVx1NUI4Q1x1NjIxMFx1NjVGNlx1NjNEMFx1NEY5Qlx1NjMyRlx1NTJBOFx1NTNDRFx1OTk4ODwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLWhhcHRpYy1lbmFibGVkIj5cdTU0MkZcdTc1MjhcdTg5RTZcdTYxMUZcdTUzQ0RcdTk5ODg8L2xhYmVsPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1oYXB0aWMtZW5hYmxlZCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK1UoImdsb2JlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1PC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1Njc2NVx1ODFFQVx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NEUyRFx1NUZDM1x1NzY4NFx1NUYzOVx1N0E5NzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2Mzg4XHU2NzQzXHU3MkI2XHU2MDAxPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9Im5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXN0YXR1cyI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXJlcXVlc3QtYnRuIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU2Mzg4XHU2NzQzXHU5MDFBXHU3N0U1PC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXJlc2V0LWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIGhpZGRlbiIgdHlwZT0iYnV0dG9uIj5cdTkxQ0RcdTY1QjBcdTYzODhcdTY3NDM8L2J1dHRvbj48YnV0dG9uIGlkPSJub3RpZmljYXRpb24tdGVzdC1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1PC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiI+MTAgXHU3OUQyXHU1NDBFXHU1M0QxXHU5MDAxPC9idXR0b24+PC9kaXY+PHAgaWQ9Im5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLWdlbmVyYWwiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTdGQVx1NjcyQ1x1OTE0RFx1N0Y2RTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1OTE0RFx1N0Y2RVx1NjcwRFx1NTJBMVx1OEZERVx1NjNBNVx1MzAwMVx1OUVEOFx1OEJBNFx1NkEyMVx1NTc4Qlx1MzAwMVx1NjI2N1x1ODg0Q1x1NjVCOVx1NUYwRlx1NTQ4Q1x1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1ob3N0Ij5cdTc2RDFcdTU0MkNcdTU3MzBcdTU3NDAgKGhvc3QpPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1ob3N0IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIxMjcuMC4wLjEiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXBvcnQiPlx1N0FFRlx1NTNFMyAocG9ydCk8L2xhYmVsPjxpbnB1dCBpZD0iY2ZnLXBvcnQiIHR5cGU9Im51bWJlciIgY2xhc3M9ImZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iODQ0MyIgbWluPSIxIiBtYXg9IjY1NTM1IiAvPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48bGFiZWwgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSIgZm9yPSJjZmctaHR0cHMiPlx1NTQyRlx1NzUyOCBIVFRQUzwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTRGN0ZcdTc1MjhcdTgxRUFcdTdCN0VcdTU0MERcdThCQzFcdTRFNjZcdTUyQTBcdTVCQzZcdTZENEZcdTg5QzhcdTU2NjhcdTUyMzBcdTY3MERcdTUyQTFcdTc2ODRcdThGREVcdTYzQTVcdUZGMENob3N0IFx1NEUzQVx1OTc1RSAxMjcuMC4wLjEgXHU2NUY2XHU1RUZBXHU4QkFFXHU1RjAwXHU1NDJGXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1odHRwcyIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1tb2RlIj5cdTlFRDhcdThCQTRcdTYyNjdcdTg4NENcdTZBMjFcdTVGMEY8L2xhYmVsPjxzZWxlY3QgaWQ9ImNmZy1tb2RlIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9ImRlZmF1bHQiPmRlZmF1bHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhc3Npc3QiPmFzc2lzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFnZW50Ij5hZ2VudDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFnZW50LW1heCI+YWdlbnQtbWF4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXV0by1lZGl0Ij5hdXRvLWVkaXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmdWxsLWFjY2VzcyI+ZnVsbC1hY2Nlc3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJuYXRpdmUiPm5hdGl2ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1hbmFnZWQiPm1hbmFnZWQ8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctbGFuZ3VhZ2UiPlx1NTZERVx1NTkwRFx1OEJFRFx1OEEwMDwvbGFiZWw+PHNlbGVjdCBpZD0iY2ZnLWxhbmd1YWdlIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9IiI+XHU4MUVBXHU1MkE4XHVGRjA4XHU0RTBEXHU2MzA3XHU1QjlBXHVGRjA5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHU0RTJEXHU2NTg3Ij5cdTRFMkRcdTY1ODc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJFbmdsaXNoIj5FbmdsaXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHU2NUU1XHU2NzJDXHU4QTlFIj5cdTY1RTVcdTY3MkNcdThBOUU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJcdUQ1NUNcdUFENkRcdUM1QjQiPlx1RDU1Q1x1QUQ2RFx1QzVCNDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkVzcGFceEYxb2wiPkVzcGFceEYxb2w8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJGcmFuXHhFN2FpcyI+RnJhblx4RTdhaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEZXV0c2NoIj5EZXV0c2NoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHUwNDIwXHUwNDQzXHUwNDQxXHUwNDQxXHUwNDNBXHUwNDM4XHUwNDM5Ij5cdTA0MjBcdTA0NDNcdTA0NDFcdTA0NDFcdTA0M0FcdTA0MzhcdTA0Mzk8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2Rpdj48cCBjbGFzcz0iZmllbGQtaGludCIgc3R5bGU9Im1hcmdpbi10b3A6LTRweDsiPlx1OEJCRVx1N0Y2RVx1NTZERVx1NTkwRFx1OEJFRFx1OEEwMFx1NTQwRVx1RkYwQ0NsYXVkZSBcdTVDMDZcdTVDM0RcdTkxQ0ZcdTRGN0ZcdTc1MjhcdTYzMDdcdTVCOUFcdThCRURcdThBMDBcdTU2REVcdTU5MERcdTMwMDI8L3A+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXN0cnVjdHVyZWQtcnVubmVyIj5cdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCREQgUnVubmVyPC9sYWJlbD48c2VsZWN0IGlkPSJjZmctc3RydWN0dXJlZC1ydW5uZXIiIGNsYXNzPSJmaWVsZC1pbnB1dCI+PG9wdGlvbiB2YWx1ZT0ic2RrIj5TREtcdUZGMDhAYW50aHJvcGljLWFpL2NsYXVkZS1hZ2VudC1zZGtcdUZGMENcdTlFRDhcdThCQTRcdUZGMDk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjbGkiPkNMSVx1RkYwOHNwYXduIGNsYXVkZSAtcFx1RkYwOTwvb3B0aW9uPjwvc2VsZWN0PjxwIGNsYXNzPSJmaWVsZC1oaW50IiBzdHlsZT0ibWFyZ2luLXRvcDo0cHg7Ij5TREsgXHU2QTIxXHU1RjBGXHU0RjdGXHU3NTI4XHU1Qjk4XHU2NUI5IEFnZW50IFNESyBcdTY2RkZcdTRFRTMgQ0xJIHN1YnByb2Nlc3NcdUZGMENcdTYzQTVcdTUzRTNcdTY2RjRcdTY1NzRcdTZEMDFcdUZGMENcdTUyOUZcdTgwRkRcdTdCNDlcdTRFRjdcdTMwMDJcdTRGRERcdTVCNThcdTU0MEVcdTVCRjlcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTdBQ0JcdTUzNzNcdTc1MUZcdTY1NDhcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1pbmhlcml0LWVudiI+XHU3RUU3XHU2MjdGXHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NTQyRlx1NTJBOCBQVFkgLyBcdTdFRDNcdTY3ODRcdTUzMTZcdTVCNTBcdThGREJcdTdBMEJcdTY1RjZcdUZGMENcdTYyOEFcdTVGNTNcdTUyNERcdTY3MERcdTUyQTFcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0ZcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXggLyBvcGVuY29kZVx1MzAwMlx1NTE3M1x1OTVFRFx1NTQwRVx1NUI1MFx1OEZEQlx1N0EwQlx1NEVDNVx1ODNCN1x1NUY5N1x1NjcwMFx1NUMwRlx1NTNFRlx1NzUyOFx1NzNBRlx1NTg4M1x1RkYwOFBBVEgvSE9NRS9TSEVMTC9MQU5HL1RFUk0gXHU3QjQ5XHVGRjA5XHVGRjBDXHU1M0VGXHU3NTI4XHU0RThFXHU5Njk0XHU3OUJCIEFQSSBrZXkgXHU3QjQ5XHU2NTRGXHU2MTFGXHU1MUVEXHU2MzZFXHUzMDAyPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1hc2lkZSI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJjZmctdmlldy1lbnYtYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU1QjlFXHU5NjQ1XHU0RjFBXHU2Q0U4XHU1MTY1XHU1MjMwXHU1QjUwXHU4RkRCXHU3QTBCXHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGIj5cdTY3RTVcdTc3MEI8L2J1dHRvbj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaW5oZXJpdC1lbnYiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PHNlY3Rpb24gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQiIGFyaWEtbGFiZWxsZWRieT0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaGVhZGluZyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVSgiY3B1Iix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxkaXY+PGg0IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1jYXJkLXRpdGxlIiBpZD0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSI+XHU5RUQ4XHU4QkE0XHU2QTIxXHU1NzhCPC9oND48cCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1kZXNjIj5cdTRFQ0VcdTVERjJcdTY4QzBcdTZENEJcdTUyMTdcdTg4NjhcdTRFMkRcdTkwMDlcdTYyRTlcdUZGMENcdTYyMTZcdTc2RjRcdTYzQTVcdThGOTNcdTUxNjVcdTgxRUFcdTVCOUFcdTRFNDlcdTZBMjFcdTU3OEJcdTU0MERcdTc5RjAgLyBJRFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2giIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gc2V0dGluZ3MtbW9kZWwtcmVmcmVzaCIgdGl0bGU9Ilx1OTFDRFx1NjVCMFx1NjhDMFx1NkQ0QiBDbGF1ZGVcdTMwMDFDb2RleCBcdTRFMEUgT3BlbkNvZGUgXHU2QTIxXHU1NzhCIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMjAgMTFhOC4xIDguMSAwIDAgMC0xNS41LTJNNCA0djVoNSIvPjxwYXRoIGQ9Ik00IDEzYTguMSA4LjEgMCAwIDAgMTUuNSAyTTIwIDIwdi01aC01Ii8+PC9zdmc+PHNwYW4+XHU1MjM3XHU2NUIwXHU1MjE3XHU4ODY4PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWdyaWQiPjxkaXYgY2xhc3M9ImZpZWxkIHNldHRpbmdzLW1vZGVsLWZpZWxkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1sYWJlbC1yb3ciPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWRlZmF1bHQtbW9kZWwiPkNsYXVkZTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5DbGF1ZGUgQ29kZTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveCIgZGF0YS1wcm92aWRlcj0iY2xhdWRlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgQ2xhdWRlIENvZGUgXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgQ2xhdWRlIFx1NkEyMVx1NTc4Qlx1NTIxN1x1ODg2OCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0ibTcgMTAgNSA1IDUtNSIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLWxpc3Rib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveC1tZW51IGhpZGRlbiIgcm9sZT0ibGlzdGJveCIgYXJpYS1sYWJlbD0iQ2xhdWRlIFx1NkEyMVx1NTc4QiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyIgZGF0YS1tb2RlbC1zdGF0dXM9ImNsYXVkZSI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NEYxQVx1NTM5Rlx1NjgzN1x1NEYyMFx1N0VEOSA8Y29kZT4tLW1vZGVsPC9jb2RlPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIj5Db2RleDwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5Db2RleCBDTEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3giIGRhdGEtcHJvdmlkZXI9ImNvZGV4Ij48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgQ29kZXggXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgQ29kZXggXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJtNyAxMCA1IDUgNS01Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBpZD0iY2ZnLWRlZmF1bHQtY29kZXgtbW9kZWwtbGlzdGJveCIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW1lbnUgaGlkZGVuIiByb2xlPSJsaXN0Ym94IiBhcmlhLWxhYmVsPSJDb2RleCBcdTZBMjFcdTU3OEIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1zdGF0dXMiIGRhdGEtbW9kZWwtc3RhdHVzPSJjb2RleCI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NzU1OVx1N0E3QVx1NTIxOVx1NEUwRFx1NEYyMFx1NkEyMVx1NTc4Qlx1NTNDMlx1NjU3MDwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIj5PcGVuQ29kZTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXByb3ZpZGVyIj5PcGVuQ29kZSBDTEk8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3giIGRhdGEtcHJvdmlkZXI9Im9wZW5jb2RlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgbW9kZWwtY29tYm9ib3gtaW5wdXQiIHR5cGU9InRleHQiIHJvbGU9ImNvbWJvYm94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsLWxpc3Rib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJcdThEREZcdTk2OEYgT3BlbkNvZGUgXHU5RUQ4XHU4QkE0IiAvPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtdG9nZ2xlIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDAgT3BlbkNvZGUgXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJtNyAxMCA1IDUgNS01Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBpZD0iY2ZnLWRlZmF1bHQtb3BlbmNvZGUtbW9kZWwtbGlzdGJveCIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW1lbnUgaGlkZGVuIiByb2xlPSJsaXN0Ym94IiBhcmlhLWxhYmVsPSJPcGVuQ29kZSBcdTZBMjFcdTU3OEIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1zdGF0dXMiIGRhdGEtbW9kZWwtc3RhdHVzPSJvcGVuY29kZSI+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NjgzQ1x1NUYwRlx1NEUzQSBwcm92aWRlci9tb2RlbDwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48cCBjbGFzcz0iZmllbGQtaGludCBzZXR0aW5ncy1tb2RlbC12ZXJzaW9uIiBpZD0iY2ZnLWRlZmF1bHQtbW9kZWwtdmVyc2lvbiI+XHU2QTIxXHU1NzhCXHU1NDBEXHU3OUYwXHU0RUM1XHU1NzI4XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU2NUY2XHU0RjVDXHU0RTNBXHU5RUQ4XHU4QkE0XHU1MDNDXHVGRjFCXHU4RkQwXHU4ODRDXHU0RTJEXHU3Njg0XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHU0RUNEXHU1M0VGXHU1MzU1XHU3MkVDXHU1MjA3XHU2MzYyXHUzMDAyPC9wPjwvc2VjdGlvbj48c2VjdGlvbiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZCIgYXJpYS1sYWJlbGxlZGJ5PSJzZXR0aW5ncy1jb21taXQtbW9kZWwtY2FyZC10aXRsZSI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaGVhZGluZyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVSgiZWRpdCIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48ZGl2PjxoNCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC10aXRsZSIgaWQ9InNldHRpbmdzLWNvbW1pdC1tb2RlbC1jYXJkLXRpdGxlIj5Db21taXQgXHU3NTFGXHU2MjEwPC9oND48cCBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtY2FyZC1kZXNjIj5cdTYzMDdcdTVCOUFcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTRcdTc1MUZcdTYyMTAgbWVzc2FnZSBcdTRFMEUgdGFnIFx1NjVGNlx1NEY3Rlx1NzUyOFx1NzY4NCBDTEkgXHU1NDhDXHU2QTIxXHU1NzhCXHUzMDAyPC9wPjwvZGl2PjwvZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iY2ZnLWNvbW1pdC1tb2RlbC1yZWZyZXNoIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIHNldHRpbmdzLW1vZGVsLXJlZnJlc2giIHRpdGxlPSJcdTkxQ0RcdTY1QjBcdTY4QzBcdTZENEJcdTYyNDBcdTkwMDkgQ0xJIFx1NzY4NFx1NkEyMVx1NTc4QiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIwIDExYTguMSA4LjEgMCAwIDAtMTUuNS0yTTQgNHY1aDUiLz48cGF0aCBkPSJNNCAxM2E4LjEgOC4xIDAgMCAwIDE1LjUgMk0yMCAyMHYtNWgtNSIvPjwvc3ZnPjxzcGFuPlx1NTIzN1x1NjVCMFx1NTIxN1x1ODg2ODwvc3Bhbj48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1ncmlkIj48ZGl2IGNsYXNzPSJmaWVsZCBzZXR0aW5ncy1tb2RlbC1maWVsZCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93Ij48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1jb21taXQtY2xpIj5DTEk8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1wcm92aWRlciI+XHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0PC9zcGFuPjwvZGl2PjxzZWxlY3QgaWQ9ImNmZy1jb21taXQtY2xpIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9ImNsYXVkZSI+Q2xhdWRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29kZXgiPkNvZGV4PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ib3BlbmNvZGUiPk9wZW5Db2RlPC9vcHRpb24+PC9zZWxlY3Q+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyI+XHU3NTFGXHU2MjEwIGNvbW1pdCBtZXNzYWdlIFx1NEUwRSB0YWc8L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQgc2V0dGluZ3MtbW9kZWwtZmllbGQiPjxkaXYgY2xhc3M9InNldHRpbmdzLW1vZGVsLWxhYmVsLXJvdyI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctY29tbWl0LW1vZGVsIj5cdTZBMjFcdTU3OEI8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1tb2RlbC1wcm92aWRlciIgaWQ9ImNmZy1jb21taXQtbW9kZWwtcHJvdmlkZXIiPkNsYXVkZSBDb2RlPC9zcGFuPjwvZGl2PjxkaXYgaWQ9ImNmZy1jb21taXQtbW9kZWwtY29tYm9ib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveCIgZGF0YS1wcm92aWRlcj0iY2xhdWRlIj48ZGl2IGNsYXNzPSJtb2RlbC1jb21ib2JveC1jb250cm9sIj48aW5wdXQgaWQ9ImNmZy1jb21taXQtbW9kZWwiIGNsYXNzPSJmaWVsZC1pbnB1dCBtb2RlbC1jb21ib2JveC1pbnB1dCIgdHlwZT0idGV4dCIgcm9sZT0iY29tYm9ib3giIGFyaWEtYXV0b2NvbXBsZXRlPSJsaXN0IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY2ZnLWNvbW1pdC1tb2RlbC1saXN0Ym94IiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im5vbmUiIGF1dG9jb3JyZWN0PSJvZmYiIHNwZWxsY2hlY2s9ImZhbHNlIiBwbGFjZWhvbGRlcj0iXHU4RERGXHU5NjhGIENsYXVkZSBDb2RlIFx1OUVEOFx1OEJBNCIgLz48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LXRvZ2dsZSIgYXJpYS1sYWJlbD0iXHU1QzU1XHU1RjAwIGNvbW1pdCBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Im03IDEwIDUgNSA1LTUiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjZmctY29tbWl0LW1vZGVsLWxpc3Rib3giIGNsYXNzPSJtb2RlbC1jb21ib2JveC1tZW51IGhpZGRlbiIgcm9sZT0ibGlzdGJveCIgYXJpYS1sYWJlbD0iQ29tbWl0IFx1NkEyMVx1NTc4QiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtbW9kZWwtbWV0YSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLXN0YXR1cyIgZGF0YS1tb2RlbC1zdGF0dXM+XHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLW1vZGVsLWhlbHAiPlx1NTIxN1x1ODg2OFx1Njc2NVx1ODFFQVx1ODFFQVx1NTJBOFx1NjhDMFx1NkQ0Qjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWN3ZCI+XHU5RUQ4XHU4QkE0XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1jd2QiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ii9ob21lL3VzZXIiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLXNoZWxsIj5TaGVsbDwvbGFiZWw+PGlucHV0IGlkPSJjZmctc2hlbGwiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ii9iaW4vYmFzaCIgLz48L2Rpdj4nKyh0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiI/JzxkaXYgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLWJsb2NrIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrVSgicGFsZXR0ZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1NUU5NFx1NzUyOFx1NTZGRVx1NjgwNzwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTkwMDlcdTYyRTkgQXBwIFx1NTQyRlx1NTJBOFx1NTY2OFx1NTZGRVx1NjgwN1x1RkYwQ1x1OEZENFx1NTZERVx1Njg0Q1x1OTc2Mlx1NTQwRVx1NzUxRlx1NjU0ODwvcD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJhcHAtaWNvbi1waWNrZXIiIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1waWNrZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tb3B0aW9uIiBkYXRhLWljb249InNob3J0aGFpciI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLXByZXZpZXciPicrR2kudXNlcisnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1sYWJlbCI+XHU4RDVCXHU1MzVBXHU4NjRFXHU1OTlFPC9zcGFuPjwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tb3B0aW9uIiBkYXRhLWljb249ImdhcmZpZWxkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tcHJldmlldyI+JytHaS5hc3Npc3RhbnQrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tbGFiZWwiPlx1NTJFNFx1NTJCM1x1NTIxRFx1NEU4Qzwvc3Bhbj48L2J1dHRvbj48L2Rpdj48cCBpZD0iYXBwLWljb24tbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+JzoiIikrJzxkaXYgY2xhc3M9InNldHRpbmdzLWFjdGlvbnMgc2V0dGluZ3MtYWN0aW9ucy1zdGlja3kiPjxidXR0b24gaWQ9InNhdmUtY29uZmlnLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPlx1NEZERFx1NUI1OFx1OTE0RFx1N0Y2RTwvYnV0dG9uPjwvZGl2PjxwIGlkPSJjb25maWctbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIHNldHRpbmdzLXN0YXR1cy1tZXNzYWdlIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItc2VjdXJpdHkiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NUI4OVx1NTE2ODwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1N0JBMVx1NzQwNlx1NzY3Qlx1NUY1NVx1NUJDNlx1NzgwMVx1NEUwRSBTU0wgXHU4QkMxXHU0RTY2XHVGRjBDXHU2NTRGXHU2MTFGXHU1M0Q4XHU2NkY0XHU4QkY3XHU3ODZFXHU4QkE0XHU1NDBFXHU1MThEXHU0RkREXHU1QjU4XHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQiPjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtaGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPicrVSgibG9jayIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5cdTRGRUVcdTY1MzlcdTVCQzZcdTc4MDE8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiPlx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYxQlx1NEZERFx1NUI1OFx1NTQwRVx1NEUwQlx1NkIyMVx1NzY3Qlx1NUY1NVx1NzUxRlx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48Zm9ybSBpZD0iY2hhbmdlLXBhc3N3b3JkLWZvcm0iIGF1dG9jb21wbGV0ZT0ib24iIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiIHZhbHVlPSJ3YW5kIiB0YWJpbmRleD0iLTEiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lIiByZWFkb25seSAvPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9Im5ldy1wYXNzd29yZCI+XHU2NUIwXHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9Im5ldy1wYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NjVCMFx1NUJDNlx1NzgwMVx1RkYwOFx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYwOSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY29uZmlybS1wYXNzd29yZCI+XHU3ODZFXHU4QkE0XHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9ImNvbmZpcm0tcGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTUxOERcdTZCMjFcdThGOTNcdTUxNjVcdTY1QjBcdTVCQzZcdTc4MDEiIGF1dG9jb21wbGV0ZT0ibmV3LXBhc3N3b3JkIiAvPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ic2F2ZS1wYXNzd29yZC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCI+XHU0RkREXHU1QjU4XHU1QkM2XHU3ODAxPC9idXR0b24+PC9kaXY+PHAgaWQ9InNldHRpbmdzLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48cCBpZD0ic2V0dGluZ3Mtc3VjY2VzcyIgY2xhc3M9ImhpbnQgc2V0dGluZ3Mtc3VjY2Vzcy1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK1UoImNlcnRpZmljYXRlIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtaGVhZC10ZXh0Ij48aDMgY2xhc3M9InNldHRpbmdzLWNhcmQtdGl0bGUiPlNTTCBcdThCQzFcdTRFNjY8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiIGlkPSJjZXJ0LXN0YXR1cyI+XHU1MkEwXHU4RjdEXHU0RTJELi4uPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNlcnQta2V5LWZpbGUiPlx1NzlDMVx1OTRBNVx1NjU4N1x1NEVGNiAoLmtleSk8L2xhYmVsPjxkaXYgY2xhc3M9ImZpbGUtcGlja2VyIj48aW5wdXQgaWQ9ImNlcnQta2V5LWZpbGUiIHR5cGU9ImZpbGUiIGNsYXNzPSJmaWxlLXBpY2tlci1pbnB1dCIgYWNjZXB0PSIua2V5LC5wZW0iIC8+PGxhYmVsIGZvcj0iY2VydC1rZXktZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLXRyaWdnZXIiPjxzdmcgY2xhc3M9ImZpbGUtcGlja2VyLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIxLjQ0IDExLjA1bC05LjE5IDkuMTlhNiA2IDAgMCAxLTguNDktOC40OWw5LjE5LTkuMTlhNCA0IDAgMCAxIDUuNjYgNS42NmwtOS4yIDkuMTlhMiAyIDAgMCAxLTIuODMtMi44M2w4LjQ5LTguNDgiPjwvcGF0aD48L3N2Zz48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbGFiZWwiPlx1OTAwOVx1NjJFOVx1NzlDMVx1OTRBNTwvc3Bhbj48L2xhYmVsPjxzcGFuIGNsYXNzPSJmaWxlLXBpY2tlci1uYW1lIiBkYXRhLWRlZmF1bHQ9Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNiI+XHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNlcnQtY2VydC1maWxlIj5cdThCQzFcdTRFNjZcdTY1ODdcdTRFRjYgKC5jcnQvLnBlbSk8L2xhYmVsPjxkaXYgY2xhc3M9ImZpbGUtcGlja2VyIj48aW5wdXQgaWQ9ImNlcnQtY2VydC1maWxlIiB0eXBlPSJmaWxlIiBjbGFzcz0iZmlsZS1waWNrZXItaW5wdXQiIGFjY2VwdD0iLmNydCwucGVtLC5jZXJ0IiAvPjxsYWJlbCBmb3I9ImNlcnQtY2VydC1maWxlIiBjbGFzcz0iZmlsZS1waWNrZXItdHJpZ2dlciI+PHN2ZyBjbGFzcz0iZmlsZS1waWNrZXItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMTQgMiAxNCA4IDIwIDgiPjwvcG9seWxpbmU+PC9zdmc+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLWxhYmVsIj5cdTkwMDlcdTYyRTlcdThCQzFcdTRFNjY8L3NwYW4+PC9sYWJlbD48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbmFtZSIgZGF0YS1kZWZhdWx0PSJcdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjYiPlx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWFjdGlvbnMiPjxidXR0b24gaWQ9InVwbG9hZC1jZXJ0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+XHU0RTBBXHU0RjIwXHU4QkMxXHU0RTY2PC9idXR0b24+PC9kaXY+PHAgaWQ9ImNlcnQtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItcHJlc2V0cyIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFPC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU1RjUzXHU1MjREXHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFXHU0RUNFIGNvbmZpZy5qc29uIFx1OEJGQlx1NTNENlx1RkYwQ1x1NTNFRlx1NTcyOFx1OEZEOVx1OTFDQ1x1NUZFQlx1OTAxRlx1NjdFNVx1NzcwQlx1NURGMlx1NjcwOVx1OTE0RFx1N0Y2RVx1MzAwMjwvcD48L2Rpdj48ZGl2IGlkPSJwcmVzZXRzLWxpc3QiIGNsYXNzPSJwcmVzZXRzLWxpc3QiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLWRpc3BsYXkiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NjYzRVx1NzkzQTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1NjNBN1x1NTIzNlx1ODA0QVx1NTkyOVx1ODlDNlx1NTZGRVx1OTFDQ1x1NEUwRFx1NTQwQ1x1NTM2MVx1NzI0N1x1N0M3Qlx1NTc4Qlx1NzY4NFx1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMFx1NzJCNlx1NjAwMVx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXRpdGxlIj5cdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDE8L2Rpdj48cCBjbGFzcz0iaGludCBzZXR0aW5ncy1pbmxpbmUtaGludCI+XHU4QkJFXHU3RjZFXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU4OUM2XHU1NkZFXHU0RTJEXHU1NDA0XHU3QzdCXHU1MzYxXHU3MjQ3XHU3Njg0XHU5RUQ4XHU4QkE0XHU1QzU1XHU1RjAwL1x1NjI5OFx1NTNFMFx1NzJCNlx1NjAwMVx1MzAwMlx1NjI0Qlx1NTJBOFx1NjRDRFx1NEY1Q1x1NzY4NFx1NUM1NVx1NUYwMFx1NzJCNlx1NjAwMVx1NEYxOFx1NTE0OFx1NEU4RVx1NkI2NFx1OUVEOFx1OEJBNFx1OEJCRVx1N0Y2RVx1MzAwMjwvcD48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1saXN0Ij48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLWVkaXQiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTdGMTZcdThGOTFcdTUzNjFcdTcyNDcgKEVkaXQvV3JpdGUpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtZWRpdCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU2NTg3XHU0RUY2XHU3RjE2XHU4RjkxXHU1NDhDXHU1MTk5XHU1MTY1XHU2NENEXHU0RjVDXHU3Njg0IGRpZmYgXHU4OUM2XHU1NkZFPC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLWlubGluZSI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NTE4NVx1ODA1NFx1NURFNVx1NTE3NyAoUmVhZC9HbG9iL0dyZXApPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtaW5saW5lIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdTY1ODdcdTRFRjZcdThCRkJcdTUzRDZcdTMwMDFcdTY0MUNcdTdEMjJcdTdCNDlcdTVERTVcdTUxNzdcdTc2ODRcdTdFRDNcdTY3OUM8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdGVybWluYWwiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTdFQzhcdTdBRUZcdThGOTNcdTUxRkEgKEJhc2gpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdGVybWluYWwiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPlx1NTQ3RFx1NEVFNFx1ODg0Q1x1NjI2N1x1ODg0Q1x1N0VEM1x1Njc5QzwvZGl2PjwvbGFiZWw+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC10aGlua2luZyI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NjAxRFx1ODAwM1x1OEZDN1x1N0EwQiAoVGhpbmtpbmcpPC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdGhpbmtpbmciIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPkNsYXVkZSBcdTc2ODRcdTYwMURcdTgwMDNcdThGQzdcdTdBMEJcdTU3NTc8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdG9vbGdyb3VwIj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU1REU1XHU1MTc3XHU3RUM0PC9zcGFuPjxpbnB1dCBpZD0iY2ZnLWNhcmQtdG9vbGdyb3VwIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdThGREVcdTdFRURcdTU0MENcdTdDN0JcdTVERTVcdTUxNzdcdThDMDNcdTc1MjhcdTc2ODRcdTYyOThcdTUzRTBcdTdFQzQ8L2Rpdj48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFjdGlvbnMgc2V0dGluZ3MtYWN0aW9ucy1zdGlja3kiPjxidXR0b24gaWQ9InNhdmUtZGlzcGxheS1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTRGRERcdTVCNThcdTY2M0VcdTc5M0FcdThCQkVcdTdGNkU8L2J1dHRvbj48L2Rpdj48cCBpZD0iZGlzcGxheS1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4gc2V0dGluZ3Mtc3RhdHVzLW1lc3NhZ2UiPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J31mdW5jdGlvbiBoaChlKXt2YXIgdD1aZSgpO3JldHVybiBlLnNlbGVjdGVkSWQ/IiI6JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdCIgaWQ9ImZvbGRlci1waWNrZXItY29udGFpbmVyIj48ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93Ij48c3BhbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1jb21wYWN0LWljb24iPicrVSgiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdC1pbnB1dCIgdmFsdWU9IicrcCh0KSsnIiBwbGFjZWhvbGRlcj0iXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1IiBhdXRvY29tcGxldGU9Im9mZiIgLz48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImZvbGRlci1waWNrZXItdG9nZ2xlIiBjbGFzcz0iZm9sZGVyLXBpY2tlci10b2dnbGUiIHRpdGxlPSJcdTkwMDlcdTYyRTlcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OTAwOVx1NjJFOVx1NzZFRVx1NUY1NSI+JytVKCJjaGV2cm9uRG93biIse3NpemU6MTEsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stcm93Ij48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biIgZGF0YS1wYXRoPSIvdG1wIj5cdTRFMzRcdTY1RjY8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biIgZGF0YS1wYXRoPSIvIj5cdTY4MzlcdTc2RUVcdTVGNTU8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLXZhbGlkYXRpb24iIGNsYXNzPSJmb2xkZXItcGlja2VyLXZhbGlkYXRpb24iPjwvZGl2PjwvZGl2Pid9ZnVuY3Rpb24geWgoZSl7dmFyIHQ9WmUoKSxuPXQ7aWYoZS5zZWxlY3RlZElkKXt2YXIgaT1lLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1lLnNlbGVjdGVkSWR9KTtuPWkmJmkuY3dkP2kuY3dkOnR9cmV0dXJuJzxkaXYgY2xhc3M9IndvcmtpbmctZGlyLWluZGljYXRvciIgaWQ9IndvcmtpbmctZGlyLWluZGljYXRvciIgdGl0bGU9IicrcChuKSsnIiBkYXRhLXBhdGg9IicrcChuKSsnIj48c3BhbiBjbGFzcz0id29ya2luZy1kaXItaW5kaWNhdG9yLWljb24iPicrVSgiZm9sZGVyIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjd9KSsiPC9zcGFuPiIrRnQobiwid29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGgiLCcgaWQ9IndvcmtpbmctZGlyLWluZGljYXRvci1wYXRoIicpKyI8L2Rpdj4ifWZ1bmN0aW9uIFdvKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUubm93KCksbj1uZXcgRGF0ZShlKS5nZXRUaW1lKCksaT1NYXRoLm1heCgwLHQtbiksYT1NYXRoLmZsb29yKGkvMWUzKTtpZihhPDYwKXJldHVybiJcdTUyMUFcdTUyMUEiO3ZhciB1PU1hdGguZmxvb3IoYS82MCk7aWYodTw2MClyZXR1cm4gdSsiXHU1MjA2XHU5NDlGXHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHUvNjApO2lmKG88MjQpcmV0dXJuIG8rIlx1NUMwRlx1NjVGNlx1NTI0RCI7dmFyIHM9TWF0aC5mbG9vcihvLzI0KTtyZXR1cm4gczwzMD9zKyJcdTU5MjlcdTUyNEQiOk1hdGguZmxvb3Iocy8zMCkrIlx1NEUyQVx1NjcwOFx1NTI0RCJ9ZnVuY3Rpb24gem8oZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5ub3coKSxuPW5ldyBEYXRlKGUpLmdldFRpbWUoKSxpPU1hdGgubWF4KDAsdC1uKSxhPU1hdGguZmxvb3IoaS8xZTMpLHU9TWF0aC5mbG9vcihhLzYwKSxvPU1hdGguZmxvb3IodS82MCk7cmV0dXJuIG8+MD9vKyJoIisodSU2MD4wP3UlNjArIm0iOiIiKTp1PjA/dSsibSI6YSsicyJ9ZnVuY3Rpb24gRHIoZSl7aWYoIWUpcmV0dXJuIiI7aWYoZS5wZXJtaXNzaW9uQmxvY2tlZClyZXR1cm4iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZihmZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KXJldHVybiJcdTYwMURcdTgwMDNcdTRFMkQiO3ZhciB0PXtpZGxlOiJcdTdBN0FcdTk1RjIiLHN0b3BwZWQ6Ilx1NURGMlx1NTA1Q1x1NkI2MiIscnVubmluZzoiXHU4RkQwXHU4ODRDXHU0RTJEIixleGl0ZWQ6Ilx1NURGMlx1OTAwMFx1NTFGQSIsZmFpbGVkOiJcdTVERjJcdTU5MzFcdThEMjUifTtyZXR1cm4gdFtlLnN0YXR1c118fGUuc3RhdHVzfWZ1bmN0aW9uIFZvKGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/InBlcm1pc3Npb24tYmxvY2tlZCI6ZmUoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodD8icnVubmluZyI6ZS5zdGF0dXN8fCIiOiIifWZ1bmN0aW9uIExjKGUpe3JldHVybiBlP2UucGVybWlzc2lvbkJsb2NrZWQ/Ilx1N0I0OVx1NUY4NVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyI6ZS5zdGF0dXMhPT0icnVubmluZyI/IiI6ZS5pZD09PXIuc2VsZWN0ZWRJZCYmci5jdXJyZW50VGFzayYmci5jdXJyZW50VGFzay50aXRsZT9yLmN1cnJlbnRUYXNrLnRpdGxlOmUuY3VycmVudFRhc2tUaXRsZT9lLmN1cnJlbnRUYXNrVGl0bGU6IiI6IiJ9ZnVuY3Rpb24gTWMoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgaT10W25dO2lmKCEoIWl8fGkucm9sZSE9PSJ1c2VyIikpe3ZhciBhPWkuY29udGVudDtpZih0eXBlb2YgYT09InN0cmluZyIpe3ZhciB1PWEudHJpbSgpO2lmKHUpcmV0dXJuIHU7Y29udGludWV9aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIG89MDtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTtpZighKCFzfHxzLnR5cGUhPT0idGV4dCJ8fCFzLnRleHQpJiYhcy5fX3F1ZXVlZCl7dmFyIGw9U3RyaW5nKHMudGV4dCkudHJpbSgpO2lmKGwpcmV0dXJuIGx9fX19cmV0dXJuIiJ9ZnVuY3Rpb24gT2MoZSl7dmFyIHQ9ZSYmZS5tZXNzYWdlcztpZighdHx8dC5sZW5ndGg9PT0wKXJldHVybiIiO2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgaT10W25dO2lmKGkucm9sZT09PSJhc3Npc3RhbnQiKXtmb3IodmFyIGE9aS5jb250ZW50fHxbXSx1PTA7dTxhLmxlbmd0aDt1KyspaWYoYVt1XS50eXBlPT09InRleHQiJiZhW3VdLnRleHQmJmFbdV0udGV4dC50cmltKCkpe3ZhciBvPWFbdV0udGV4dC50cmltKCk7bz1vLnJlcGxhY2UoL14jK1xzKy9nbSwiIikucmVwbGFjZSgvXCpcKi9nLCIiKS5yZXBsYWNlKC9gL2csIiIpO3ZhciBzPW8uc3BsaXQoYApgKVswXS50cmltKCk7cmV0dXJuIHMuc2xpY2UoMCwxMDApfX19cmV0dXJuIiJ9ZnVuY3Rpb24gUGMoZSx0KXt2YXIgbj1lLmlkPT09ci5zZWxlY3RlZElkPyIgYWN0aXZlIjoiIixpPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlJiZyLnNlbGVjdGVkU2Vzc2lvbklkc1tlLmlkXT8iIHNlbGVjdGVkIjoiIixhPURyKGUpLHU9Vm8oZSksbz0iIixzPVpvKCJzZXNzaW9ucyIsZS5pZCwiXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREICIrZS5jb21tYW5kKTtpZigoZS5wcm92aWRlcj09PSJjbGF1ZGUifHxlLnByb3ZpZGVyPT09ImNvZGV4IikmJmUuY2xhdWRlU2Vzc2lvbklkJiZlLnN0YXR1cyE9PSJydW5uaW5nIiYmIXIuc2Vzc2lvbnNNYW5hZ2VNb2RlJiYhZmUoZSkpe3ZhciBsPWUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTYwNjJcdTU5MEQgQ29kZXggXHU0RjFBXHU4QkREIjoiXHU2MDYyXHU1OTBEIENsYXVkZSBcdTRGMUFcdThCREQiO289JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biIgZGF0YS1hY3Rpb249InJlc3VtZSIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSInK2wrJyIgdGl0bGU9IicrbCsnIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xIDR2Nmg2Ii8+PHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMTA1LjY0LTExLjM2TDMgMTAiLz48L3N2Zz48L2J1dHRvbj4nfXZhciBkPSFyLnNlc3Npb25zTWFuYWdlTW9kZSYmZS53b3JrdHJlZUVuYWJsZWQmJmUud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZlLndvcmt0cmVlLnBhdGgsZj1lLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2VkIiYmZS53b3JrdHJlZU1lcmdlSW5mbyYmZS53b3JrdHJlZU1lcmdlSW5mby5jbGVhbnVwRG9uZT09PSExLGM9ZS5zdGF0dXM9PT0icnVubmluZyJ8fGUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnaW5nIix2PWY/Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSI6Ilx1NTQwOFx1NUU3Nlx1NTIzMFx1NEUzQlx1NTIwNlx1NjUyRiIsaD1kJiZlLndvcmt0cmVlTWVyZ2VTdGF0dXMhPT0ibWVyZ2VkIj8nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIG1lcmdlLWJ0biIgZGF0YS1hY3Rpb249Indvcmt0cmVlLW1lcmdlIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IicrcCh2KSsnIiB0aXRsZT0iJytwKHYpKyciJysoYz8iIGRpc2FibGVkIjoiIikrJz48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDdoMTAiLz48cGF0aCBkPSJNNyAxMmgxMCIvPjxwYXRoIGQ9Ik03IDE3aDEwIi8+PHBhdGggZD0iTTUgN2wtMiAyIDIgMiIvPjxwYXRoIGQ9Ik0xOSAxNWwyIDItMiAyIi8+PC9zdmc+PC9idXR0b24+JzpmPyc8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gbWVyZ2UtYnRuIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtY2xlYW51cCIgZGF0YS1zZXNzaW9uLWlkPSInK2UuaWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiIHRpdGxlPSJcdTkxQ0RcdThCRDVcdTZFMDVcdTc0MDYgd29ya3RyZWUiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JzoiIixtPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gZGVsZXRlLWJ0biIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZXNzaW9uIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTIyMFx1OTY2NFx1NEYxQVx1OEJERCIgdGl0bGU9Ilx1NTIyMFx1OTY2NFx1NkI2NFx1NEYxQVx1OEJERCI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA2aDE4Ii8+PHBhdGggZD0iTTggNlY0YTIgMiAwIDAxMi0yaDRhMiAyIDAgMDEyIDJ2MiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDE0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMkw1IDYiLz48L3N2Zz48L2J1dHRvbj4nLGc9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLWFjdGlvbnMiPicrbytoK20rIjwvc3Bhbj4iLHk9ZS50aXRsZXx8ZS5zdW1tYXJ5Pyc8ZGl2IGNsYXNzPSJzZXNzaW9uLXRpdGxlIj4nK3AoZS50aXRsZXx8ZS5zdW1tYXJ5KSsiPC9kaXY+IjonPGRpdiBjbGFzcz0ic2Vzc2lvbi1jb21tYW5kIj4nK3AoZS5yZXN1bWVkRnJvbVNlc3Npb25JZD9lLmNvbW1hbmQucmVwbGFjZSgvXHMrLS1yZXN1bWVccytcUysvLCIiKS5yZXBsYWNlKC9ccytyZXN1bWVccytbMC05YS1mLV0rLywiIik6ZS5jb21tYW5kKSsiPC9kaXY+IixCPUxjKGUpLEU9IiI7ZS5zdGF0dXM9PT0icnVubmluZyImJkImJihFPSc8ZGl2IGNsYXNzPSJzZXNzaW9uLWFjdGl2aXR5Ij4nK3AoQikrIjwvZGl2PiIpO3ZhciBDPWUuZGVzY3JpcHRpb24/JzxkaXYgY2xhc3M9InNlc3Npb24tZGVzY3JpcHRpb24iPicrcChlLmRlc2NyaXB0aW9uKSsiPC9kaXY+IjoiIixEPSIiO2Uuc3RhdHVzPT09InJ1bm5pbmciP0Q9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSJcdTVERjJcdThGRDBcdTg4NEMgJytwKHpvKGUuc3RhcnRlZEF0KSkrJyI+JytwKHpvKGUuc3RhcnRlZEF0KSkrIjwvc3Bhbj4iOmUuZW5kZWRBdD9EPSc8c3BhbiBjbGFzcz0ic2Vzc2lvbi10aW1lIiB0aXRsZT0iJytwKG5ldyBEYXRlKGUuZW5kZWRBdCkudG9Mb2NhbGVTdHJpbmcoKSkrJyI+JytwKFdvKGUuZW5kZWRBdCkpKyI8L3NwYW4+IjplLnN0YXJ0ZWRBdCYmKEQ9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSInK3AobmV3IERhdGUoZS5zdGFydGVkQXQpLnRvTG9jYWxlU3RyaW5nKCkpKyciPicrcChXbyhlLnN0YXJ0ZWRBdCkpKyI8L3NwYW4+Iik7dmFyIEY9VW8oZSksTD1lLmF1dG9SZWNvdmVyZWQ/JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXJlY292ZXJ5LWhpbnQiPlx1ODFFQVx1NTJBOFx1NjA2Mlx1NTkwRDwvc3Bhbj4nOiIiLEk9ci5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxkaXYgY2xhc3M9InNlc3Npb24tc3dpcGUtYmciIGFyaWEtaGlkZGVuPSJ0cnVlIj48YnV0dG9uIGNsYXNzPSJzZXNzaW9uLXN3aXBlLWRlbGV0ZSIgZGF0YS1hY3Rpb249InN3aXBlLWRlbGV0ZS1zZXNzaW9uIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjxzcGFuPlx1NTIyMFx1OTY2NDwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nO3JldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0nK24raSsnIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj4nK0krJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tcm93Ij4nK3MrJzxkaXYgY2xhc3M9InNlc3Npb24tbWFpbiI+PGRpdiBjbGFzcz0ic2Vzc2lvbi10aXRsZS1yb3ciPicreStEKyI8L2Rpdj4iK0MrRSsnPGRpdiBjbGFzcz0ic2Vzc2lvbi1tZXRhIj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1zdGF0dXMgJyt1KyciPicrcChhKSsiPC9zcGFuPiIrRitMKyI8L2Rpdj48L2Rpdj4iK2crIjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gcWMoZSl7aWYoIWV8fCFlLndvcmt0cmVlTWVyZ2VTdGF0dXMpcmV0dXJuIiI7dmFyIHQ9e3JlYWR5OiJcdTUzRUZcdTU0MDhcdTVFNzYiLGNoZWNraW5nOiJcdTY4QzBcdTY3RTVcdTRFMkQiLG1lcmdpbmc6Ilx1NTQwOFx1NUU3Nlx1NEUyRCIsbWVyZ2VkOmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMT8iXHU1REYyXHU1NDA4XHU1RTc2XHU1Rjg1XHU2RTA1XHU3NDA2IjoiXHU1REYyXHU1NDA4XHU1RTc2IixmYWlsZWQ6Ilx1NTQwOFx1NUU3Nlx1NTkzMVx1OEQyNSJ9O3JldHVybiB0W2Uud29ya3RyZWVNZXJnZVN0YXR1c118fCIifWZ1bmN0aW9uIF9jKGUpe3ZhciB0PXFjKGUpO3JldHVybiB0Pyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1raW5kLWJhZGdlIHdvcmt0cmVlLW1lcmdlICcrcChlLndvcmt0cmVlTWVyZ2VTdGF0dXN8fCIiKSsnIj4nK3AodCkrIjwvc3Bhbj4iOiIifWZ1bmN0aW9uIFVvKGUpe2lmKCFlfHwhZS53b3JrdHJlZUVuYWJsZWQpcmV0dXJuIiI7dmFyIHQ9W107ZS53b3JrdHJlZSYmZS53b3JrdHJlZS5icmFuY2gmJnQucHVzaCgiV29ya3RyZWU6ICIrZS53b3JrdHJlZS5icmFuY2gpLGUud29ya3RyZWUmJmUud29ya3RyZWUucGF0aCYmdC5wdXNoKCJQYXRoOiAiK2Uud29ya3RyZWUucGF0aCk7dmFyIG49dC5sZW5ndGg+MD8nIHRpdGxlPSInK3AodC5qb2luKGAKYCkpKyciJzoiIjtyZXR1cm4nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSB3b3JrdHJlZSInK24rIj5Xb3JrdHJlZTwvc3Bhbj4iK19jKGUpfWZ1bmN0aW9uIGJoKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PWZlKGUpPyc8c3BhbiBjbGFzcz0ic2Vzc2lvbi1raW5kLWJhZGdlIHN0cnVjdHVyZWQiPlN0cnVjdHVyZWQ8L3NwYW4+JzonPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSBwdHkiPlBUWTwvc3Bhbj4nO3JldHVybiB0K1VvKGUpfWZ1bmN0aW9uIEhjKGUpe3ZhciB0PVt7aWQ6Im1hbmFnZWQiLGxhYmVsOiJcdTYyNThcdTdCQTEiLGRlc2M6Ilx1NTE2OFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NEVGQlx1NTJBMSJ9LHtpZDoiZnVsbC1hY2Nlc3MiLGxhYmVsOiJcdTUxNjhcdTY3NDNcdTk2NTAiLGRlc2M6Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MCJ9LHtpZDoiYXV0by1lZGl0IixsYWJlbDoiXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIixkZXNjOiJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTRGRUVcdTY1MzkifSx7aWQ6ImRlZmF1bHQiLGxhYmVsOiJcdTY4MDdcdTUxQzYiLGRlc2M6Ilx1OTAxMFx1NkI2NVx1Nzg2RVx1OEJBNFx1NjRDRFx1NEY1QyJ9LHtpZDoibmF0aXZlIixsYWJlbDoiXHU1MzlGXHU3NTFGIixkZXNjOiJcdTUzOUZcdTc1MUZcdTdFRDNcdTY3ODRcdTUzMTZcdThGOTNcdTUxRkEifV07cmV0dXJuIHQubWFwKGZ1bmN0aW9uKG4pe3ZhciBpPW4uaWQ9PT1lPyIgYWN0aXZlIjoiIjtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJtb2RlLWNhcmQnK2krJyIgZGF0YS1tb2RlPSInK24uaWQrJyI+PHNwYW4gY2xhc3M9Im1vZGUtY2FyZC1sYWJlbCI+JytuLmxhYmVsKyc8L3NwYW4+PHNwYW4gY2xhc3M9Im1vZGUtY2FyZC1kZXNjIj4nK24uZGVzYysiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKX1mdW5jdGlvbiBOYyhlKXt2YXIgdD1be2lkOiJjbGF1ZGUiLGxhYmVsOiJDbGF1ZGUiLGRlc2M6Ilx1NUI4Q1x1NjU3NCBDbGF1ZGUgXHU0RjFBXHU4QkREXHU4MEZEXHU1MjlCIn0se2lkOiJjb2RleCIsbGFiZWw6IkNvZGV4IixkZXNjOiJcdTdFRDNcdTY3ODRcdTUzMTYgSlNPTkwgXHU2MjE2IFBUWSBcdTRGMUFcdThCREQifSx7aWQ6Im9wZW5jb2RlIixsYWJlbDoiT3BlbkNvZGUiLGRlc2M6Ilx1NTkxQVx1NkEyMVx1NTc4Qlx1N0VEM1x1Njc4NFx1NTMxNlx1NjIxNiBQVFkgXHU0RjFBXHU4QkREIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihuKXt2YXIgaT1uLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHByb3ZpZGVyLWNhcmQnK2krJyIgZGF0YS1wcm92aWRlcj0iJytuLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrbi5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytuLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gamMoZSl7dmFyIHQ9W3tpZDoic3RydWN0dXJlZCIsbGFiZWw6Ilx1N0VEM1x1Njc4NFx1NTMxNiIsZGVzYzoiXHU2NjdBXHU4MEZEXHU1QkY5XHU4QkREXHU2QTIxXHU1RjBGIn0se2lkOiJwdHkiLGxhYmVsOiJQVFkiLGRlc2M6Ilx1NEVBNFx1NEU5Mlx1NUYwRlx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERCJ9XTtyZXR1cm4gdC5tYXAoZnVuY3Rpb24obil7dmFyIGk9bi5pZD09PWU/IiBhY3RpdmUiOiIiLGE9IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHNlc3Npb24ta2luZC1jYXJkJytpK2ErJyIgZGF0YS1zZXNzaW9uLWtpbmQ9Iicrbi5pZCsnIj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWxhYmVsIj4nK24ubGFiZWwrJzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWRlc2MiPicrbi5kZXNjKyI8L3NwYW4+PC9idXR0b24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIEVoKGUpe3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZSIgZm9yPSJzZXNzaW9uLXdvcmt0cmVlLXRvZ2dsZSIgdGl0bGU9Ilx1NEUzQVx1OEJFNVx1NEYxQVx1OEJERFx1NTIxQlx1NUVGQVx1NzJFQ1x1N0FDQlx1NzY4NCBnaXQgd29ya3RyZWUgXHU1MjA2XHU2NTJGIj48c3ZnIGNsYXNzPSJzZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTgiIHI9IjIuMiIvPjxwYXRoIGQ9Ik02IDguMnYzLjRhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWOC4yIi8+PHBhdGggZD0iTTEyIDEzLjZ2Mi4yIi8+PC9zdmc+PHNwYW4gY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZS1sYWJlbCI+V29ya3RyZWUgXHU2QTIxXHU1RjBGPC9zcGFuPjxpbnB1dCBpZD0ic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSInKyhlPyIgY2hlY2tlZCI6IiIpKycgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gS28oZSl7dmFyIHQ9ci5zZXNzaW9uVG9vbHx8ImNsYXVkZSI7cmV0dXJuIGU9PT0ic3RydWN0dXJlZCI/dD09PSJjb2RleCI/IkNvZGV4IEpTT05MIFx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6dD09PSJvcGVuY29kZSI/Ik9wZW5Db2RlIEpTT04gXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU3NTRDXHU5NzYyXHVGRjBDXHU2NTJGXHU2MzAxXHU3RUVEXHU4MDRBXHUzMDAxXHU2MDFEXHU4MDAzXHU4RkM3XHU3QTBCXHU1NDhDXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU1QzU1XHU3OTNBXHUzMDAyIjoiXHU3RUQzXHU2Nzg0XHU1MzE2XHU4MDRBXHU1OTI5XHU3NTRDXHU5NzYyXHVGRjBDXHU2NTJGXHU2MzAxXHU1OTFBXHU4RjZFXHU1QkY5XHU4QkREXHUzMDAxXHU2RDQxXHU1RjBGXHU4RjkzXHU1MUZBXHU1NDhDXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU1QzU1XHU3OTNBXHUzMDAyIjp0PT09ImNvZGV4Ij8iQ29kZXggUFRZIFx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERFx1RkYxQnRlcm1pbmFsIFx1NjYyRlx1NTM5Rlx1NTlDQlx1OEY5M1x1NTFGQVx1RkYwQ2NoYXQgXHU2NjJGXHU4OUUzXHU2NzkwXHU1NDBFXHU3Njg0XHU5NjA1XHU4QkZCXHU4OUM2XHU1NkZFXHUzMDAyIjp0PT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgVFVJIFx1NzY4NFx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHUzMDAyIjoiXHU1MzlGXHU1OUNCIFBUWSBcdTdFQzhcdTdBRUZcdTRGMUFcdThCRERcdUZGMENcdTY1MkZcdTYzMDFcdTYzMDFcdTdFRURcdTRFQTRcdTRFOTJcdTMwMDFcdTdFQzhcdTdBRUZcdTg5QzZcdTU2RkVcdTU0OENcdTY3NDNcdTk2NTBcdTZENDFcdTMwMDIifWZ1bmN0aW9uIFJjKCl7dmFyIGU9ZXQoKSx0PWZ0KGUsci5tb2RlVmFsdWV8fHIuY2hhdE1vZGV8fCJkZWZhdWx0Iiksbj1yLnNlc3Npb25DcmVhdGVLaW5kfHwic3RydWN0dXJlZCIsaT1yLnNlc3Npb25DcmVhdGVXb3JrdHJlZT09PSEwO3JldHVybic8c2VjdGlvbiBpZD0ic2Vzc2lvbi1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGRlbiI+PGRpdiBjbGFzcz0ibW9kYWwgc2Vzc2lvbi1tb2RhbCI+PGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj48ZGl2PjxoMiBjbGFzcz0ibW9kYWwtdGl0bGUiPlx1NjVCMFx1NUJGOVx1OEJERDwvaDI+PHAgY2xhc3M9Im1vZGFsLXN1YnRpdGxlIj5cdTU0MkZcdTUyQTggQ2xhdWRlXHUzMDAxQ29kZXggXHU2MjE2IE9wZW5Db2RlIFx1NEYxQVx1OEJERFx1RkYwQ1x1OTAwOVx1NjJFOSBwcm92aWRlclx1MzAwMVx1NEYxQVx1OEJERFx1N0M3Qlx1NTc4Qlx1MzAwMVx1NkEyMVx1NUYwRlx1NTQ4Q1x1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS1tb2RhbC1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCI+UHJvdmlkZXI8L2xhYmVsPjxkaXYgaWQ9InByb3ZpZGVyLWNhcmRzIiBjbGFzcz0ibW9kZS1jYXJkcyI+JytOYyhlKSsnPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiPlx1NEYxQVx1OEJERFx1N0M3Qlx1NTc4QjwvbGFiZWw+PGRpdiBpZD0ic2Vzc2lvbi1raW5kLWNhcmRzIiBjbGFzcz0ibW9kZS1jYXJkcyI+JytqYyhuKSsnPC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtaGludCBzZXNzaW9uLWtpbmQtaGludC1yb3ciPjxzcGFuIGlkPSJzZXNzaW9uLWtpbmQtZGVzY3JpcHRpb24iPicrcChLbyhuKSkrJzwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjd2QiPlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvbGFiZWw+PGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtd3JhcCI+PGlucHV0IGlkPSJjd2QiIHR5cGU9InRleHQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgYXV0b2NvbXBsZXRlPSJvZmYiIHBsYWNlaG9sZGVyPSInK3AoWmUoKSkrJyIgLz48ZGl2IGlkPSJjd2Qtc3VnZ2VzdGlvbnMiIGNsYXNzPSJzdWdnZXN0aW9ucyBoaWRkZW4iPjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTUyMUJcdTVFRkFcdTUyNERcdTUxNDhcdTc4NkVcdThCQTRcdTc2RUVcdTVGNTVcdUZGMUJcdTc1NTlcdTdBN0FcdTUyMTlcdTRGN0ZcdTc1MjhcdTRFMEFcdTY1QjlcdTc2RUVcdTVGNTVcdUZGMENcdTY1MkZcdTYzMDFcdThERUZcdTVGODRcdTgxRUFcdTUyQThcdTg4NjVcdTUxNjhcdTMwMDI8L3A+PGRpdiBpZD0icmVjZW50LXBhdGhzLWJ1YmJsZXMiIGNsYXNzPSJyZWNlbnQtcGF0aHMtYnViYmxlcyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiPlx1NkEyMVx1NUYwRjwvbGFiZWw+PGRpdiBpZD0ibW9kZS1jYXJkcyIgY2xhc3M9Im1vZGUtY2FyZHMiPicrSGModCkrJzwvZGl2PjxwIGlkPSJtb2RlLWRlc2NyaXB0aW9uIiBjbGFzcz0iZmllbGQtaGludCI+JytwKFJsKGUsdCkpKyc8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj48YnV0dG9uIGlkPSJydW4tYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREPC9idXR0b24+PHAgaWQ9Im1vZGFsLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J312YXIgU2E9IndhbmQtbm9uLXdhbmQtc2Vzc2lvbnMtZXhwYW5kZWQiLElhPSJ3YW5kLWF1dG9tYXRpb24tc2Vzc2lvbnMtZXhwYW5kZWQiO2Z1bmN0aW9uIFdjKGUpe3JldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiYXV0b21hdGlvbi1zZXNzaW9uLWdyb3VwIik/SWE6ZS5jbGFzc0xpc3QuY29udGFpbnMoIm5vbi13YW5kLXNlc3Npb24tZ3JvdXAiKT9TYToiIn1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b2dnbGUiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCF0LmNsYXNzTGlzdCkpe3ZhciBuPVdjKHQpO2lmKG4pe2lmKHIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXt0Lm9wZW58fCh0Lm9wZW49ITApO3JldHVybn14ZShuLHQub3Blbil9fX0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtpZighKCF0fHx0eXBlb2YgdC5jbG9zZXN0IT0iZnVuY3Rpb24iKSl7aWYodC5jbG9zZXN0KCIubm9uLXdhbmQtc2Vzc2lvbi1ncm91cC5tYW5hZ2UtbW9kZSA+IHN1bW1hcnksIC5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGUgPiBzdW1tYXJ5Iikpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59dmFyIG49dC5jbG9zZXN0KCJbZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cF0iKTtpZihuKXt2YXIgaT1uLmRhdGFzZXQuZXhwYW5kU2Vzc2lvbkdyb3VwLGE9aT09PSJhdXRvbWF0aW9uIj9JYTppPT09Im5vbi13YW5kIj9TYToiIjtpZihhKXt4ZShhLCEwKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1jb2xsYXBzZS1idG4iKTt1JiZ1LmNsaWNrKCl9fX19KTtmdW5jdGlvbiB6YyhlKXt2YXIgdD1TdHJpbmcoZSYmZS5zZXNzaW9uU291cmNlfHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PSJhdXRvbWF0aW9uInx8dD09PSJzdGFydHVwIn1mdW5jdGlvbiBUYShlKXtyZXR1cm4gZS5zb3J0KGZ1bmN0aW9uKHQsbil7cmV0dXJuIG4udC10LnR9KX1mdW5jdGlvbiBMYSgpe3ZhciBlPVtdLHQ9W10sbj1bXTtyZXR1cm4gci5zZXNzaW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBhPWkuc3RhcnRlZEF0P25ldyBEYXRlKGkuc3RhcnRlZEF0KS5nZXRUaW1lKCk6MCx1PXtraW5kOiJzZXNzaW9uIixyZWY6aSx0OmlzRmluaXRlKGEpP2E6MH07KHpjKGkpP3Q6ZSkucHVzaCh1KX0pLHIuY2xhdWRlSGlzdG9yeUxvYWRlZCYma3IoKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBhPWkudGltZXN0YW1wP25ldyBEYXRlKGkudGltZXN0YW1wKS5nZXRUaW1lKCk6TnVtYmVyKGkubXRpbWVNcyl8fDA7aXNGaW5pdGUoYSl8fChhPU51bWJlcihpLm10aW1lTXMpfHwwKSxuLnB1c2goe2tpbmQ6Imhpc3RvcnkiLHJlZjppLHQ6YX0pfSksci5jb2RleEhpc3RvcnlMb2FkZWQmJlBhKCkuZm9yRWFjaChmdW5jdGlvbihpKXt2YXIgYT1pLnRpbWVzdGFtcD9uZXcgRGF0ZShpLnRpbWVzdGFtcCkuZ2V0VGltZSgpOk51bWJlcihpLm10aW1lTXMpfHwwO24ucHVzaCh7a2luZDoiY29kZXgiLHJlZjppLHQ6aXNGaW5pdGUoYSk/YTowfSl9KSx7d2FuZDpUYShlKSxhdXRvbWF0aW9uOlRhKHQpLG5vbldhbmQ6VGEobil9fWZ1bmN0aW9uIEZoKCl7dmFyIGU9TGEoKTtyZXR1cm4gZS53YW5kLmNvbmNhdChlLmF1dG9tYXRpb24sZS5ub25XYW5kKX1mdW5jdGlvbiBWYygpe3ZhciBlPVtdO2UucHVzaChKbygpKTt2YXIgdD1MYSgpO3JldHVybiB0LndhbmQubGVuZ3RoK3QuYXV0b21hdGlvbi5sZW5ndGgrdC5ub25XYW5kLmxlbmd0aD09PTA/Sm8oKSsnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU4RkQ4XHU2Q0ExXHU2NzA5XHU0RjFBXHU4QkREXHU4QkIwXHU1RjU1PC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2Pic6KHQud2FuZC5sZW5ndGg+MCYmZS5wdXNoKE9hKHQud2FuZCkpLHQuYXV0b21hdGlvbi5sZW5ndGg+MCYmZS5wdXNoKEdjKHQuYXV0b21hdGlvbikpLHQubm9uV2FuZC5sZW5ndGg+MCYmZS5wdXNoKEpjKHQubm9uV2FuZCkpLGUuam9pbigiIikpfWZ1bmN0aW9uIFVjKCl7cmV0dXJuISFyLnNpZGViYXJQaW5uZWQmJiEhci5zaWRlYmFyQ29sbGFwc2VkfWZ1bmN0aW9uIEtjKCl7dmFyIGU9TGEoKSx0PWUud2FuZC5tYXAoZnVuY3Rpb24obCxkKXt2YXIgZj1kKzEsYz1sLnJlZix2PWMuaWQ9PT1yLnNlbGVjdGVkSWQ/IiBhY3RpdmUiOiIiLGg9Yy50aXRsZXx8Yy5kZXNjcmlwdGlvbnx8Yy5zdW1tYXJ5fHxjLmNvbW1hbmR8fCJcdTRGMUFcdThCREQgIitmO3JldHVybic8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlJyt2KyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1jb2xsYXBzZWQtc2Vzc2lvbi1pZD0iJytwKGMuaWQpKyciIHRpdGxlPSInK3AoaCkrJyI+JytmKyI8L2J1dHRvbj4ifSkuam9pbigiIiksbj1lLmF1dG9tYXRpb24ubGVuZ3RoLGk9ZS5hdXRvbWF0aW9uLnNvbWUoZnVuY3Rpb24obCl7cmV0dXJuIGwucmVmLmlkPT09ci5zZWxlY3RlZElkfSksYT1uPjA/JzxidXR0b24gY2xhc3M9InNpZGViYXItY29sbGFwc2VkLXRpbGUgYXV0b21hdGlvbi1jb3VudC10aWxlJysoaT8iIGFjdGl2ZS1ncm91cCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0iYXV0b21hdGlvbiIgdGl0bGU9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK24rJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiIGFyaWEtbGFiZWw9Ilx1NUM1NVx1NUYwMFx1NjdFNVx1NzcwQiAnK24rJyBcdTRFMkFcdTgxRUFcdTUyQThcdTUzMTZcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJub24td2FuZC1jb3VudC1iYWRnZSI+Jysobj45OT8iOTkrIjpuKSsiPC9zcGFuPjwvYnV0dG9uPiI6IiIsdT1lLm5vbldhbmQubGVuZ3RoLG89dT4wPyc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIG5vbi13YW5kLWNvdW50LXRpbGUiIHR5cGU9ImJ1dHRvbiIgZGF0YS1leHBhbmQtc2Vzc2lvbi1ncm91cD0ibm9uLXdhbmQiIHRpdGxlPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJyt1KycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIiBhcmlhLWxhYmVsPSJcdTVDNTVcdTVGMDBcdTY3RTVcdTc3MEIgJyt1KycgXHU0RTJBXHU5NzVFIFdhbmQgXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0zIDEyYTkgOSAwIDEwOS05IDkuNzUgOS43NSAwIDAwLTYuNzQgMi43NEwzIDgiLz48cGF0aCBkPSJNMyAzdjVoNSIvPjxwYXRoIGQ9Ik0xMiA3djVsMyAyIi8+PC9zdmc+PHNwYW4gY2xhc3M9Im5vbi13YW5kLWNvdW50LWJhZGdlIj4nKyh1Pjk5PyI5OSsiOnUpKyI8L3NwYW4+PC9idXR0b24+IjoiIixzPSc8YnV0dG9uIGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlIGFkZCIgdHlwZT0iYnV0dG9uIiBkYXRhLWNvbGxhcHNlZC1uZXctc2Vzc2lvbj0iMSIgdGl0bGU9Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCIgYXJpYS1sYWJlbD0iXHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiLz48L3N2Zz48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbGxhcHNlZC10aWxlcyI+Jyt0K2ErbytzKyI8L2Rpdj4ifWZ1bmN0aW9uIE1hKCl7cmV0dXJuIFVjKCk/S2MoKTpWYygpfWZ1bmN0aW9uIEpvKCl7aWYoIXIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1iYXIiPjxzcGFuIGNsYXNzPSJzaWRlYmFyLWludHJvIj5XYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi14cyBzZXNzaW9uLW1hbmFnZS10b2dnbGUiIGRhdGEtYWN0aW9uPSJ0b2dnbGUtbWFuYWdlLW1vZGUiIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOSAxMWwzIDNMMjIgNCIvPjxwYXRoIGQ9Ik0yMSAxMnY3YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMSIvPjwvc3ZnPjxzcGFuPlx1N0JBMVx1NzQwNjwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nO3ZhciBlPUdvKCkubGVuZ3RoLHQ9WW8oKS5sZW5ndGgsbj1RbygpLmxlbmd0aCxpPWUrdCtuLGE9aT4wLHU9UWMoKSxvPXU+MCYmaT49dSxzPW8/Ilx1NTNENlx1NkQ4OFx1NTE2OFx1OTAwOSI6Ilx1NTE2OFx1OTAwOSIsbD1vPyJjbGVhci1zZWxlY3Rpb24iOiJzZWxlY3QtYWxsLXZpc2libGUiLGQ9dT09PTA/IiBkaXNhYmxlZCI6IiIsZj0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtZXhpdCIgZGF0YS1hY3Rpb249InRvZ2dsZS1tYW5hZ2UtbW9kZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj4nLGM9YT8nPHNwYW4gY2xhc3M9InNlc3Npb24tbWFuYWdlLWNvdW50Ij4nK2krJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbCI+XHU1REYyXHU5MDA5XHU2MkU5PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIj5cdTkwMDlcdTYyRTlcdTg5ODFcdTdCQTFcdTc0MDZcdTc2ODRcdTk4NzlcdTc2RUU8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSI+JytmKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5Ij4nK2MrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWFuYWdlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiBkYXRhLWFjdGlvbj0iJytsKyciIHR5cGU9ImJ1dHRvbiInK2QrIj4iK3MrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIGJ0bi14cyIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZWxlY3RlZCIgdHlwZT0iYnV0dG9uIicrKGE/IiI6IiBkaXNhYmxlZCIpKyI+XHU1MjIwXHU5NjY0IisoYT8iICIraToiIikrIjwvYnV0dG9uPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gT2EoZSx0KXt2YXIgbj0nPHNlY3Rpb24gY2xhc3M9InNlc3Npb24tZ3JvdXAnKyh0PyIgIit0OiIiKSsnIj4nO3JldHVybiBuKz1lLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5raW5kPT09InNlc3Npb24iP1BjKGkucmVmLCJzZXNzaW9ucyIpOmVmKGkucmVmLGkua2luZCl9KS5qb2luKCIiKSxuKz0iPC9zZWN0aW9uPiIsbn1mdW5jdGlvbiBKYyhlKXt2YXIgdD1yLnNlc3Npb25zTWFuYWdlTW9kZXx8YnIoU2EsITEpO3JldHVybic8ZGV0YWlscyBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1ncm91cCcrKHIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIgbWFuYWdlLW1vZGUiOiIiKSsnIicrKHQ/IiBvcGVuIjoiIikrJz48c3VtbWFyeSBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iQ2xhdWRlIFx1NEUwRSBDb2RleCBcdTc2ODRcdTY3MkNcdTY3M0FcdTUzOUZcdTc1MUZcdTRGMUFcdThCRERcdUZGMENcdTRFMERcdTUzQzJcdTRFMEUgV2FuZCBcdTRGMUFcdThCRERcdTYzOTJcdTVFOEYiPjxzcGFuIGNsYXNzPSJub24td2FuZC1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJhOSA5IDAgMTA5LTkgOS43NSA5Ljc1IDAgMDAtNi43NCAyLjc0TDMgOCIvPjxwYXRoIGQ9Ik0zIDN2NWg1Ii8+PHBhdGggZD0iTTEyIDd2NWwzIDIiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tdGl0bGUiPlx1OTc1RSBXYW5kIFx1NEYxQVx1OEJERDwvc3Bhbj48c3BhbiBjbGFzcz0ibm9uLXdhbmQtc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9Im5vbi13YW5kLXNlc3Npb24tY2hldnJvbiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9zdW1tYXJ5PicrT2EoZSwibm9uLXdhbmQtc2Vzc2lvbi1saXN0IikrIjwvZGV0YWlscz4ifWZ1bmN0aW9uIEdjKGUpe3ZhciB0PXIuc2Vzc2lvbnNNYW5hZ2VNb2RlfHxicihJYSwhMSk7cmV0dXJuJzxkZXRhaWxzIGNsYXNzPSJhdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAnKyhyLnNlc3Npb25zTWFuYWdlTW9kZT8iIG1hbmFnZS1tb2RlIjoiIikrJyInKyh0PyIgb3BlbiI6IiIpKyc+PHN1bW1hcnkgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5IiB0aXRsZT0iXHU3NTMxXHU4MUVBXHU1MkE4XHU1MzE2XHU2MjE2XHU1NDJGXHU1MkE4XHU0RUZCXHU1MkExXHU1MjFCXHU1RUZBXHVGRjBDXHU0RTBEXHU1M0MyXHU0RTBFXHU2NjZFXHU5MDFBIFdhbmQgXHU0RjFBXHU4QkREXHU2MzkyXHU1RThGIj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDJ2NCIvPjxwYXRoIGQ9Ik0xMiAxOHY0Ii8+PHBhdGggZD0iTTQuOTMgNC45M2wyLjgzIDIuODMiLz48cGF0aCBkPSJNMTYuMjQgMTYuMjRsMi44MyAyLjgzIi8+PHBhdGggZD0iTTIgMTJoNCIvPjxwYXRoIGQ9Ik0xOCAxMmg0Ii8+PHBhdGggZD0iTTQuOTMgMTkuMDdsMi44My0yLjgzIi8+PHBhdGggZD0iTTE2LjI0IDcuNzZsMi44My0yLjgzIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXV0b21hdGlvbi1zZXNzaW9uLXRpdGxlIj5cdTgxRUFcdTUyQThcdTUzMTY8L3NwYW4+PHNwYW4gY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jb3VudCIgYXJpYS1sYWJlbD0iJytlLmxlbmd0aCsnIFx1NEUyQVx1NEYxQVx1OEJERCI+JytlLmxlbmd0aCsnPC9zcGFuPjxzdmcgY2xhc3M9ImF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9uIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz48L3N2Zz48L3N1bW1hcnk+JytPYShlLCJhdXRvbWF0aW9uLXNlc3Npb24tbGlzdCIpKyI8L2RldGFpbHM+In1mdW5jdGlvbiBrcigpe3ZhciBlPW5ldyBTZXQ7cmV0dXJuIHIuc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNsYXVkZVNlc3Npb25JZCYmZS5hZGQodC5jbGF1ZGVTZXNzaW9uSWQpfSksci5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5oYXNDb252ZXJzYXRpb24mJiF0Lm1hbmFnZWRCeVdhbmQmJiFlLmhhcyh0LmNsYXVkZVNlc3Npb25JZCl9KX1mdW5jdGlvbiBHbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkU2Vzc2lvbklkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhci5zZWxlY3RlZFNlc3Npb25JZHNbZV19KX1mdW5jdGlvbiBZbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcykuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiEhci5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV19KX1mdW5jdGlvbiBRbygpe3JldHVybiBPYmplY3Qua2V5cyhyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuISFyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzW2VdfSl9ZnVuY3Rpb24gRmkoKXtyLnNlbGVjdGVkU2Vzc2lvbklkcz17fSxyLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz17fSxyLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzPXt9fWZ1bmN0aW9uIFljKGUpe3Iuc2Vzc2lvbnNNYW5hZ2VNb2RlPXR5cGVvZiBlPT0iYm9vbGVhbiI/ZTohci5zZXNzaW9uc01hbmFnZU1vZGUsci5zZXNzaW9uc01hbmFnZU1vZGUmJighci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHwhci5jb2RleEhpc3RvcnlMb2FkZWQpJiZDaSgpLnRoZW4oRWUpLHIuc2Vzc2lvbnNNYW5hZ2VNb2RlfHwoRmkoKSxWcigpKSxFZSgpfWZ1bmN0aW9uICRvKCl7cmV0dXJuIHIuc2Vzc2lvbnMuc2xpY2UoKX1mdW5jdGlvbiBRYygpe3JldHVybiAkbygpLmxlbmd0aCtrcigpLmxlbmd0aCtQYSgpLmxlbmd0aH1mdW5jdGlvbiBYbygpe2lmKCFyLmNsYXVkZUhpc3RvcnlMb2FkZWR8fCFyLmNvZGV4SGlzdG9yeUxvYWRlZCl7Q2koKS50aGVuKFhvKTtyZXR1cm59dmFyIGU9e307JG8oKS5mb3JFYWNoKGZ1bmN0aW9uKGkpe2VbaS5pZF09ITB9KTt2YXIgdD17fTtrcigpLmZvckVhY2goZnVuY3Rpb24oaSl7dFtpLmNsYXVkZVNlc3Npb25JZF09ITB9KTt2YXIgbj17fTtQYSgpLmZvckVhY2goZnVuY3Rpb24oaSl7bltpLmNsYXVkZVNlc3Npb25JZF09ITB9KSxyLnNlbGVjdGVkU2Vzc2lvbklkcz1lLHIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzPXQsci5zZWxlY3RlZENvZGV4SGlzdG9yeUlkcz1uLEVlKCl9ZnVuY3Rpb24gJGMoKXtGaSgpLEVlKCl9ZnVuY3Rpb24gQXIoZSx0KXtpZighKCFyLnNlc3Npb25zTWFuYWdlTW9kZXx8IXQpKXt2YXIgbj1lPT09Imhpc3RvcnkiP3Iuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOmU9PT0iY29kZXgiP3Iuc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM6ci5zZWxlY3RlZFNlc3Npb25JZHM7blt0XT9kZWxldGUgblt0XTpuW3RdPSEwLEVlKCl9fWZ1bmN0aW9uIFpvKGUsdCxuKXtpZighci5zZXNzaW9uc01hbmFnZU1vZGUpcmV0dXJuIiI7dmFyIGk9ZT09PSJoaXN0b3J5Ij8hIXIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzW3RdOmU9PT0iY29kZXgiPyEhci5zZWxlY3RlZENvZGV4SGlzdG9yeUlkc1t0XTohIXIuc2VsZWN0ZWRTZXNzaW9uSWRzW3RdO3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24tbWFuYWdlLWNoZWNrIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYWN0aW9uPSJ0b2dnbGUtc2VsZWN0aW9uIiBkYXRhLWtpbmQ9IicrcChlKSsnIiBkYXRhLWlkPSInK3AodCkrJyInKyhpPyIgY2hlY2tlZCI6IiIpKycgYXJpYS1sYWJlbD0iJytwKG4pKyciPjxzcGFuPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gam4oZSx0KXtyZXR1cm4gUWEoZSxPYmplY3QuYXNzaWduKHt0eXBlOiJkYW5nZXIiLGRhbmdlcjohMCxva0xhYmVsOiJcdTUyMjBcdTk2NjQifSx0fHx7fSkpfWZ1bmN0aW9uIFhjKCl7dmFyIGU9R28oKSx0PVlvKCksbj1RbygpLGk9ci5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIGUuaW5kZXhPZih1LmlkKSE9PS0xfSkubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LmNsYXVkZVNlc3Npb25JZH0pLmZpbHRlcihCb29sZWFuKSxhPWUubGVuZ3RoK3QubGVuZ3RoK24ubGVuZ3RoO2EmJmpuKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDkgIithKyIgXHU5ODc5XHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NjI0MFx1OTAwOSAiK2ErIiBcdTk4NzkifSkudGhlbihmdW5jdGlvbih1KXtpZih1KXt2YXIgbz1bXTtlLmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvc2Vzc2lvbnMvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkczplfSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pKSx0Lmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2xhdWRlU2Vzc2lvbklkczp0fSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pKSxuLmxlbmd0aD4wJiZvLnB1c2goZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS9iYXRjaC1kZWxldGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjbGF1ZGVTZXNzaW9uSWRzOm59KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkpLFByb21pc2UuYWxsKG8pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHIuc2VsZWN0ZWRJZCkhPT0tMSYmKHIuc2VsZWN0ZWRJZD1udWxsLGtlKCkpLHIuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiB0LmluZGV4T2Yocy5jbGF1ZGVTZXNzaW9uSWQpPT09LTEmJmkuaW5kZXhPZihzLmNsYXVkZVNlc3Npb25JZCk9PT0tMX0pLHIuY29kZXhIaXN0b3J5PXIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihzKXtyZXR1cm4gbi5pbmRleE9mKHMuY2xhdWRlU2Vzc2lvbklkKT09PS0xJiZpLmluZGV4T2Yocy5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxGaSgpLE50KCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtxZShzLCJcdTY1RTBcdTZDRDVcdTYyNzlcdTkxQ0ZcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDlcdTk4NzlcdTc2RUVcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIFpjKCl7dmFyIGU9RGF0ZS5ub3coKS04NjRlNSx0PWtyKCkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiFuLnRpbWVzdGFtcHx8bmV3IERhdGUobi50aW1lc3RhbXApLmdldFRpbWUoKTw9ZX0pO2lmKHQubGVuZ3RoKXJldHVybiBqbigiXHU3ODZFXHU4QkE0XHU2RTA1XHU3QTdBXHU1RjUzXHU1MjREXHU2NjNFXHU3OTNBXHU3Njg0ICIrdC5sZW5ndGgrIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0EgQ2xhdWRlIFx1NTM4Nlx1NTNGMiIsb2tMYWJlbDoiXHU2RTA1XHU3QTdBIn0pLnRoZW4oZnVuY3Rpb24obil7aWYobil7dmFyIGk9dC5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkfSk7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1oaXN0b3J5L2JhdGNoLWRlbGV0ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2NsYXVkZVNlc3Npb25JZHM6aX0pfSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEmJmEuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGEuZXJyb3IpO3IuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiBpLmluZGV4T2YodS5jbGF1ZGVTZXNzaW9uSWQpPT09LTF9KSxGaSgpLEVlKCl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtxZShhLCJcdTY1RTBcdTZDRDVcdTZFMDVcdTdBN0FcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiKX0pfX0pfWZ1bmN0aW9uIGVmKGUsdCl7dmFyIG49dD09PSJjb2RleCIsaT1uPyJyZXN1bWUtY29kZXgtaGlzdG9yeSI6InJlc3VtZS1oaXN0b3J5IixhPW4/ImRlbGV0ZS1jb2RleC1oaXN0b3J5IjoiZGVsZXRlLWhpc3RvcnkiLHU9bj9yLnNlbGVjdGVkQ29kZXhIaXN0b3J5SWRzOnIuc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzLG89ZS5jbGF1ZGVTZXNzaW9uSWQuc2xpY2UoMCw4KSxzPWUuZmlyc3RVc2VyTWVzc2FnZXx8IihcdTdBN0FcdTRGMUFcdThCREQpIixsPXRmKGUudGltZXN0YW1wKSxkPVpvKHQsZS5jbGF1ZGVTZXNzaW9uSWQsIlx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCAiK3MpLGY9ci5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBkZWxldGUtYnRuIiBkYXRhLWFjdGlvbj0iJythKyciIGRhdGEtY2xhdWRlLXNlc3Npb24taWQ9IicrZS5jbGF1ZGVTZXNzaW9uSWQrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiIHRpdGxlPSJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGEyIDIgMCAwMTItMmg0YTIgMiAwIDAxMiAydjIiLz48cGF0aCBkPSJNMTkgNmwtMSAxNGEyIDIgMCAwMS0yIDJIOGEyIDIgMCAwMS0yLTJMNSA2Ii8+PC9zdmc+PC9idXR0b24+JyxjPXIuc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4iIGRhdGEtYWN0aW9uPSInK2krJyIgZGF0YS1jbGF1ZGUtc2Vzc2lvbi1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLWN3ZD0iJytwKGUuY3dkKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERCIgdGl0bGU9IicrKG4/Ilx1NjA2Mlx1NTkwRFx1NkI2NCBDb2RleCBcdTRGMUFcdThCREQiOiJcdTYwNjJcdTU5MERcdTZCNjQgQ2xhdWRlIFx1NEYxQVx1OEJERCIpKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEgNHY2aDYiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxMDUuNjQtMTEuMzZMMyAxMCIvPjwvc3ZnPjwvYnV0dG9uPic7cmV0dXJuJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbSBub24td2FuZC1zZXNzaW9uJysoci5zZXNzaW9uc01hbmFnZU1vZGUmJnVbZS5jbGF1ZGVTZXNzaW9uSWRdPyIgc2VsZWN0ZWQiOiIiKSsnIiBkYXRhLWNsYXVkZS1oaXN0b3J5LWlkPSInK2UuY2xhdWRlU2Vzc2lvbklkKyciIGRhdGEtcHJvdmlkZXI9IicrKG4/ImNvZGV4IjoiY2xhdWRlIikrJyIgZGF0YS1jd2Q9IicrcChlLmN3ZCkrJyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtLWNvbnRlbnQiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1yb3ciPicrZCsnPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYWluIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWNvbW1hbmQgY2xhdWRlLWhpc3RvcnktcHJldmlldyI+JytwKHMpKyc8L2Rpdj48ZGl2IGNsYXNzPSJzZXNzaW9uLW1ldGEiPjxzcGFuIGNsYXNzPSJzZXNzaW9uLWlkIiB0aXRsZT0iJytwKGUuY2xhdWRlU2Vzc2lvbklkKSsnIj4nK3AobykrIjwvc3Bhbj48c3Bhbj4iK3AobCkrJzwvc3Bhbj48L2Rpdj48L2Rpdj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb25zIj4nK2MrZisiPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gdGYoZSl7aWYoIWUpcmV0dXJuIiI7dHJ5e3ZhciB0PW5ldyBEYXRlKGUpLG49bmV3IERhdGUsaT1uLXQsYT1NYXRoLmZsb29yKGkvNmU0KTtpZihhPDEpcmV0dXJuIlx1NTIxQVx1NTIxQSI7aWYoYTw2MClyZXR1cm4gYSsiIFx1NTIwNlx1OTQ5Rlx1NTI0RCI7dmFyIHU9TWF0aC5mbG9vcihhLzYwKTtpZih1PDI0KXJldHVybiB1KyIgXHU1QzBGXHU2NUY2XHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHUvMjQpO3JldHVybiBvPDMwP28rIiBcdTU5MjlcdTUyNEQiOnQudG9Mb2NhbGVEYXRlU3RyaW5nKCl9Y2F0Y2h7cmV0dXJuIiJ9fWZ1bmN0aW9uIGVzKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NsYXVkZS1oaXN0b3J5Iix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6W119KS50aGVuKGZ1bmN0aW9uKGUpe3IuY2xhdWRlSGlzdG9yeT1lfHxbXSxyLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITAsRWUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ci5jbGF1ZGVIaXN0b3J5TG9hZGVkPSEwLHIuY2xhdWRlSGlzdG9yeT1bXSxFZSgpfSl9dmFyIHhyPW51bGw7ZnVuY3Rpb24gQ2koKXt2YXIgZT1uZigpOyFyLmNsYXVkZUhpc3RvcnlMb2FkZWQmJiF4ciYmKHhyPWVzKCkudGhlbihmdW5jdGlvbigpe3hyPW51bGx9LGZ1bmN0aW9uKCl7eHI9bnVsbH0pKTt2YXIgdD14cnx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJuIFByb21pc2UuYWxsKFt0LGVdKS50aGVuKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gdHMoKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLm9rP2UuanNvbigpOltdfSkudGhlbihmdW5jdGlvbihlKXtyLmNvZGV4SGlzdG9yeT1lfHxbXSxyLmNvZGV4SGlzdG9yeUxvYWRlZD0hMCxFZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtyLmNvZGV4SGlzdG9yeUxvYWRlZD0hMCxyLmNvZGV4SGlzdG9yeT1bXSxFZSgpfSl9dmFyIG5yPW51bGw7ZnVuY3Rpb24gbmYoKXtyZXR1cm4gci5jb2RleEhpc3RvcnlMb2FkZWQ/UHJvbWlzZS5yZXNvbHZlKCk6bnJ8fChucj10cygpLnRoZW4oZnVuY3Rpb24oKXtucj1udWxsfSxmdW5jdGlvbigpe25yPW51bGx9KSxucil9ZnVuY3Rpb24gUGEoKXt2YXIgZT1uZXcgU2V0O3JldHVybiByLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jbGF1ZGVTZXNzaW9uSWQmJmUuYWRkKHQuY2xhdWRlU2Vzc2lvbklkKX0pLHIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5oYXNDb252ZXJzYXRpb24mJiF0Lm1hbmFnZWRCeVdhbmQmJiFlLmhhcyh0LmNsYXVkZVNlc3Npb25JZCl9KX1mdW5jdGlvbiBucygpe3NzKCksIXdpKCkmJihyLnBvbGxUaW1lcj1zZXRJbnRlcnZhbChOdCwxNjAwKSl9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2Vzc2lvbi10aW1lIik7ZS5sZW5ndGg+MCYmUnUoKX0sM2U0KTtmdW5jdGlvbiBxYSgpe3Iud3NSZWNvbm5lY3RUaW1lciYmKGNsZWFyVGltZW91dChyLndzUmVjb25uZWN0VGltZXIpLHIud3NSZWNvbm5lY3RUaW1lcj1udWxsKX12YXIgcmY9MWU0LGFmPTRlNDtmdW5jdGlvbiB1Zigpe3JzKCksci53c0hlYXJ0YmVhdENoZWNrVGltZXI9c2V0SW50ZXJ2YWwoaXMscmYpfWZ1bmN0aW9uIHJzKCl7ci53c0hlYXJ0YmVhdENoZWNrVGltZXImJihjbGVhckludGVydmFsKHIud3NIZWFydGJlYXRDaGVja1RpbWVyKSxyLndzSGVhcnRiZWF0Q2hlY2tUaW1lcj1udWxsKX1mdW5jdGlvbiBpcygpe2lmKCEoIXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKSYmci5sYXN0V3NNZXNzYWdlQXQpe3ZhciBlPURhdGUubm93KCktci5sYXN0V3NNZXNzYWdlQXQ7ZT5hZiYmX2EoImhlYXJ0YmVhdC1zdGFsZS0iK01hdGgucm91bmQoZS8xZTMpKyJzIil9fWZ1bmN0aW9uIF9hKGUpe2lmKHFhKCksci53cyl7dmFyIHQ9ci53czt0cnl7dC5vbmNsb3NlPW51bGx9Y2F0Y2h7fXRyeXt0Lm9uZXJyb3I9bnVsbH1jYXRjaHt9dHJ5e3Qub25tZXNzYWdlPW51bGx9Y2F0Y2h7fXRyeXt0LmNsb3NlKCl9Y2F0Y2h7fXIud3M9bnVsbH1yLndzQ29ubmVjdGVkPSExLHIud3NSZWNvbm5lY3RBdHRlbXB0cz0wLHdpKGUpfWZ1bmN0aW9uIGFzKCl7aWYoIXIud3NSZWNvbm5lY3RUaW1lciYmIWRvY3VtZW50LmhpZGRlbil7dmFyIGU9ci53c1JlY29ubmVjdEF0dGVtcHRzfHwwLHQ9WzUwMCwxZTMsMmUzLDRlMyw4ZTNdLG49dFtlPHQubGVuZ3RoP2U6dC5sZW5ndGgtMV07ci53c1JlY29ubmVjdEF0dGVtcHRzPWUrMSxyLndzUmVjb25uZWN0VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3Iud3NSZWNvbm5lY3RUaW1lcj1udWxsLHIuY29uZmlnJiYhci53cyYmIWRvY3VtZW50LmhpZGRlbiYmd2koImJhY2tvZmYiKX0sbil9fWZ1bmN0aW9uIHdpKGUpe2lmKCF3aW5kb3cuV2ViU29ja2V0KXJldHVybiExO2lmKHIud3Mpe3RyeXtyLndzLmNsb3NlKCl9Y2F0Y2h7fXIud3M9bnVsbH12YXIgdD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiIsbj10KyIvLyIrd2luZG93LmxvY2F0aW9uLmhvc3QrIi93cyI7dHJ5e3ZhciBpPW5ldyBXZWJTb2NrZXQobik7cmV0dXJuIGkub25vcGVuPWZ1bmN0aW9uKCl7ci53cz1pLHIud3NDb25uZWN0ZWQ9ITAsci5sYXN0V3NNZXNzYWdlQXQ9RGF0ZS5ub3coKSxyLndzUmVjb25uZWN0QXR0ZW1wdHM9MCxxYSgpLHIubGFzdFNlcUJ5U2Vzc2lvbj17fSx1ZigpLEduKHIuc2VsZWN0ZWRJZCksU3YoKSxPcigid3MtcmVjb25uZWN0Iil9LGkub25tZXNzYWdlPWZ1bmN0aW9uKGEpe3IubGFzdFdzTWVzc2FnZUF0PURhdGUubm93KCk7dHJ5e3ZhciB1PUpTT04ucGFyc2UoYS5kYXRhKTtpZih1JiZ1LnR5cGU9PT0icGluZyIpe2lmKHIud3MmJnIud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOKXRyeXtyLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InBvbmciLHQ6dS50fSkpfWNhdGNoe31yZXR1cm59aWYodSYmdS50eXBlPT09InJlc3luY19yZXF1aXJlZCImJnUuc2Vzc2lvbklkKXtpZihyLndzJiZyLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil0cnl7ci53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJyZXN5bmMiLHNlc3Npb25JZDp1LnNlc3Npb25JZH0pKX1jYXRjaHt9ci5sYXN0U2VxQnlTZXNzaW9ufHwoci5sYXN0U2VxQnlTZXNzaW9uPXt9KSxyLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPTA7cmV0dXJufWlmKHUmJih1LnR5cGU9PT0iaW5pdCJ8fHUudHlwZT09PSJvdXRwdXQiKSYmdS5zZXNzaW9uSWQmJnR5cGVvZiB1LnNlcT09Im51bWJlciIpe3IubGFzdFNlcUJ5U2Vzc2lvbnx8KHIubGFzdFNlcUJ5U2Vzc2lvbj17fSk7dmFyIG89ci5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXXx8MDtpZih1LnR5cGU9PT0iaW5pdCIpci5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT11LnNlcTtlbHNlIGlmKHUuc2VxPT09bysxKXIubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09dS5zZXE7ZWxzZSBpZih1LnNlcT5vKzEmJm8+MCl7aWYoci53cyYmci53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4pdHJ5e3Iud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToicmVzeW5jIixzZXNzaW9uSWQ6dS5zZXNzaW9uSWR9KSl9Y2F0Y2h7fXIubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09MDtyZXR1cm59ZWxzZXtpZih1LnNlcTxvKXJldHVybjtyLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPXUuc2VxfX1vZih1KX1jYXRjaHt9fSxpLm9uY2xvc2U9ZnVuY3Rpb24oKXtyLndzPW51bGwsci53c0Nvbm5lY3RlZD0hMSxycygpLGFzKCl9LGkub25lcnJvcj1mdW5jdGlvbigpe2kuY2xvc2UoKX0sITB9Y2F0Y2h7cmV0dXJuIGFzKCksITF9fWZ1bmN0aW9uIG9mKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2Uib3V0cHV0IjppZihlLmRhdGEmJmUuc2Vzc2lvbklkJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJpc1Jlc3BvbmRpbmciKSYmKHIuX2xhc3RJc1Jlc3BvbmRpbmd8fChyLl9sYXN0SXNSZXNwb25kaW5nPXt9KSxyLl9sYXN0SXNSZXNwb25kaW5nW2Uuc2Vzc2lvbklkXT0hIWUuZGF0YS5pc1Jlc3BvbmRpbmcpLGUuZGF0YSYmZS5zZXNzaW9uSWQpe3ZhciB0PSEhZS5kYXRhLmluY3JlbWVudGFsLG49e2lkOmUuc2Vzc2lvbklkfSxpPSExO2lmKCF0JiZlLmRhdGEub3V0cHV0IT09dm9pZCAwJiYobi5vdXRwdXQ9ZS5kYXRhLm91dHB1dCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKG4ucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJihuLnF1ZXVlZE1lc3NhZ2VzPWUuZGF0YS5xdWV1ZWRNZXNzYWdlc3x8W10sci5xdWV1ZUVwb2NoKyspLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihuLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEuc2Vzc2lvbktpbmQmJihuLnNlc3Npb25LaW5kPWUuZGF0YS5zZXNzaW9uS2luZCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwidGl0bGUiKSYmKG4udGl0bGU9ZS5kYXRhLnRpdGxlLGk9ITApLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsImRlc2NyaXB0aW9uIikmJihuLmRlc2NyaXB0aW9uPWUuZGF0YS5kZXNjcmlwdGlvbixpPSEwKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJzdW1tYXJ5IikmJihuLnN1bW1hcnk9ZS5kYXRhLnN1bW1hcnkpLGUuZGF0YS5tZXNzYWdlcyluLm1lc3NhZ2VzPWUuZGF0YS5tZXNzYWdlcyx0eXBlb2YgZS5kYXRhLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiJiYobi5tZXNzYWdlT2Zmc2V0PWUuZGF0YS5tZXNzYWdlT2Zmc2V0KSx0eXBlb2YgZS5kYXRhLm1lc3NhZ2VUb3RhbD09Im51bWJlciImJihuLm1lc3NhZ2VUb3RhbD1lLmRhdGEubWVzc2FnZVRvdGFsKTtlbHNlIGlmKHQmJmUuZGF0YS5sYXN0TWVzc2FnZSl7dmFyIGE9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEcpe3JldHVybiBHLmlkPT09ZS5zZXNzaW9uSWR9KTtpZihhKXt2YXIgdT1BcnJheS5pc0FycmF5KGEubWVzc2FnZXMpP2EubWVzc2FnZXMuc2xpY2UoKTpbXSxvPWUuZGF0YS5tZXNzYWdlQ291bnR8fDAscz10eXBlb2YgYS5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj9hLm1lc3NhZ2VPZmZzZXQ6MCxsPXUubGVuZ3RoPjA/dVt1Lmxlbmd0aC0xXTpudWxsLGQ9ZS5kYXRhLmxhc3RNZXNzYWdlO2wmJmQucm9sZSYmbC5yb2xlPT09ZC5yb2xlP3VbdS5sZW5ndGgtMV09dW8obCxkKTpzK3UubGVuZ3RoPG8mJnUucHVzaChkKSxuLm1lc3NhZ2VzPXUsbz4wJiYobi5tZXNzYWdlVG90YWw9byl9fXZhciBmPXQmJmUuZGF0YS5jaHVuayYmIWUuZGF0YS5sYXN0TWVzc2FnZSYmIW4ubWVzc2FnZXMmJm4ub3V0cHV0PT09dm9pZCAwJiYhZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZSYmIWUuZGF0YS5zZXNzaW9uS2luZDtpZihmKXtpZihlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQhPT12b2lkIDApe3ZhciBjPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihHKXtyZXR1cm4gRy5pZD09PWUuc2Vzc2lvbklkfSk7YyYmISFjLnBlcm1pc3Npb25CbG9ja2VkIT0hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCYmKG5lKG4pLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiYkdCgpKX19ZWxzZSBpZigobi5vdXRwdXQhPT12b2lkIDB8fG4ubWVzc2FnZXN8fHR8fGUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCE9PXZvaWQgMHx8bi50aXRsZXx8bi5kZXNjcmlwdGlvbikmJihuZShuKSxpJiZSdSgpLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkKSl7dmFyIHY9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEcpe3JldHVybiBHLmlkPT09ZS5zZXNzaW9uSWR9KXx8bjtyLmN1cnJlbnRNZXNzYWdlcz1WZSh2LG50KHYsdi5vdXRwdXQsITEpKSwkdCgpLHYuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUuZGF0YS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIj9TcigpOkhhKCl9fWUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiZyLnRlcm1pbmFsJiZlLmRhdGEmJihlLmRhdGEuY2h1bmsmJmx2KGUuc2Vzc2lvbklkKT8oci5sYXN0Q2h1bmtBdD1EYXRlLm5vdygpLHIudGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbZS5zZXNzaW9uSWRdPSEwLGFyKHIudGVybWluYWwsZS5kYXRhLmNodW5rKSxyLnRlcm1pbmFsU2Vzc2lvbklkPWUuc2Vzc2lvbklkLGUuZGF0YS5vdXRwdXQ/KHIudGVybWluYWxPdXRwdXQ9RHMoU3UoZS5kYXRhLm91dHB1dCkpLHIudGVybWluYWxPdXRwdXRNYXJrZXI9MCk6ci50ZXJtaW5hbE91dHB1dD1Ecygoci50ZXJtaW5hbE91dHB1dHx8IiIpK1N1KGUuZGF0YS5jaHVuaykpLGJ0KCJvdXRwdXQiKSxjdCgpKTohZS5kYXRhLmluY3JlbWVudGFsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJvdXRwdXQiKSYmU2koZS5zZXNzaW9uSWQsZS5kYXRhLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCJ9KSk7YnJlYWs7Y2FzZSJzdGFydGVkIjpubigpO2JyZWFrO2Nhc2UiZW5kZWQiOnt2YXIgaD1lLmRhdGEmJmUuZGF0YS5zdGF0dXM/ZS5kYXRhLnN0YXR1czoiZXhpdGVkIixtPWUuZGF0YSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKT8hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZDohMSxnPXtpZDplLnNlc3Npb25JZCxzdGF0dXM6aCxwZXJtaXNzaW9uQmxvY2tlZDptfTtlLmRhdGEmJmUuZGF0YS5tZXNzYWdlcyYmKGcubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzLHR5cGVvZiBlLmRhdGEubWVzc2FnZU9mZnNldD09Im51bWJlciImJihnLm1lc3NhZ2VPZmZzZXQ9ZS5kYXRhLm1lc3NhZ2VPZmZzZXQpLHR5cGVvZiBlLmRhdGEubWVzc2FnZVRvdGFsPT0ibnVtYmVyIiYmKGcubWVzc2FnZVRvdGFsPWUuZGF0YS5tZXNzYWdlVG90YWwpKSxlLmRhdGEmJmUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihnLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEmJmUuZGF0YS5xdWV1ZWRNZXNzYWdlcyYmKGcucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzKSxuZShnKSxlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxIYSghMCkpO3ZhciB5PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihHKXtyZXR1cm4gRy5pZD09PWUuc2Vzc2lvbklkfSksQj1lLmRhdGEmJmUuZGF0YS5leGl0Q29kZSxFPUIhPW51bGwmJkIhPT0wLEM9eSYmeS5zdW1tYXJ5fHwiIixEPXk/T2MoeSk6IiIsRj1FPyJcdTRFRkJcdTUyQTFcdTVGMDJcdTVFMzhcdTdFRDNcdTY3NUYiOiJcdTRFRkJcdTUyQTFcdTVERjJcdTVCOENcdTYyMTAiLEw9IiI7Qz8oTD1DLEQmJiFFJiYoTCs9YApgK0QpKTpMPXkmJnkuY29tbWFuZHx8ZS5zZXNzaW9uSWQsb3IoRT8iZXJyb3IiOiJzdWNjZXNzIiksRnAoZS5zZXNzaW9uSWQsRixMKSxMcyhlLnNlc3Npb25JZCksWmEoKSwoZS5zZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWR8fGRvY3VtZW50LmhpZGRlbikmJiRhKHt0aXRsZTpGLGJvZHk6TCx0eXBlOkU/Indhcm5pbmciOiJzdWNjZXNzIixpY29uOkU/IiEiOiJcdTI3MTMiLGR1cmF0aW9uOjZlMyxhY3Rpb25MYWJlbDoiXHU2N0U1XHU3NzBCIixhY3Rpb246ZnVuY3Rpb24oKXtqdChlLnNlc3Npb25JZCl9fSksci5tZXNzYWdlUXVldWU9W10sci5wZW5kaW5nTWVzc2FnZXM9W107dmFyIEk9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEcpe3JldHVybiBHLmlkPT09ZS5zZXNzaW9uSWR9KSxOPWUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkP3Iuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihHKXtyZXR1cm4gRy5pZD09PXIuc2VsZWN0ZWRJZH0pOm51bGwsSz0hIShJJiZJLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxOJiZOLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiKTtLJiZlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZD8oWXMoKSxwbyhlLnNlc3Npb25JZCkpOkt8fChyLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPVtdLHBvKHIuc2VsZWN0ZWRJZCksRm4oKSksZS5zZXNzaW9uSWQ9PT1yLnNlbGVjdGVkSWQmJihLfHxLbighMSksci5jdXJyZW50VGFzaz1udWxsLCR0KCkpLGUuc2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiZlaSgpLG5uKCkudGhlbihmdW5jdGlvbigpe1BpKCl9KSxlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKEt8fGtuKGUuc2Vzc2lvbklkKSk7YnJlYWt9Y2FzZSJpbml0IjppZihlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmZS5kYXRhKXtyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCksbmUoZS5kYXRhKTt2YXIgVz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRyl7cmV0dXJuIEcuaWQ9PT1lLnNlc3Npb25JZH0pO3IuY3VycmVudE1lc3NhZ2VzPVZlKFd8fGUuZGF0YSxudChXfHxlLmRhdGEsZS5kYXRhLm91dHB1dCwhMSkpLFNyKCEwKSwkdCgpLHVzKCk7dmFyIGs9ZS5kYXRhLm91dHB1dHx8IiIsVD1yLnRlcm1pbmFsU2Vzc2lvbklkPT09ZS5zZXNzaW9uSWQsTT1yLnRlcm1pbmFsT3V0cHV0fHwiIixYPVQmJk0ubGVuZ3RoPjAmJmsubGVuZ3RoPj1NLmxlbmd0aCYmay5zdGFydHNXaXRoKE0pO2NmKGssZS5zZXNzaW9uSWQsWD8iYXBwZW5kIjoicmVwbGFjZSIpLE9yKCJpbml0Iil9YnJlYWs7Y2FzZSJ1c2FnZSI6YnJlYWs7Y2FzZSJ0YXNrIjplLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKHIuY3VycmVudFRhc2s9ZS5kYXRhfHxudWxsLCR0KCkpLGJwKGUuc2Vzc2lvbklkLGUuZGF0YXx8bnVsbCksZXUoZS5zZXNzaW9uSWQpLFJ1KCk7YnJlYWs7Y2FzZSJzdGF0dXMiOmlmKGUuc2Vzc2lvbklkJiZlLmRhdGEpe3ZhciBqPXtpZDplLnNlc3Npb25JZH07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwic3RhdHVzIikmJihqLnN0YXR1cz1lLmRhdGEuc3RhdHVzKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJleGl0Q29kZSIpJiYoai5leGl0Q29kZT1lLmRhdGEuZXhpdENvZGUpLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUpai5zdHJ1Y3R1cmVkU3RhdGU9ZS5kYXRhLnN0cnVjdHVyZWRTdGF0ZTtlbHNlIGlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInN0YXR1cyIpKXt2YXIgYT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZWUpe3JldHVybiBlZS5pZD09PWUuc2Vzc2lvbklkfSk7YSYmYS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIiYmKGouc3RydWN0dXJlZFN0YXRlPU9iamVjdC5hc3NpZ24oe30sYS5zdHJ1Y3R1cmVkU3RhdGV8fHt9LHtpbkZsaWdodDplLmRhdGEuc3RhdHVzPT09InJ1bm5pbmcifSkpfWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJihqLnF1ZXVlZE1lc3NhZ2VzPWUuZGF0YS5xdWV1ZWRNZXNzYWdlc3x8W10sci5xdWV1ZUVwb2NoKyspLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInBlcm1pc3Npb25CbG9ja2VkIikmJihqLnBlcm1pc3Npb25CbG9ja2VkPSEhZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkKSxlLmRhdGEucGVybWlzc2lvblJlcXVlc3Qpe2oucGVuZGluZ0VzY2FsYXRpb249e3Njb3BlOmUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5zY29wZSx0YXJnZXQ6ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnRhcmdldCxyZWFzb246ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnByb21wdH07dmFyIEo9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEcpe3JldHVybiBHLmlkPT09ZS5zZXNzaW9uSWR9KSxQPUomJihKLnN1bW1hcnl8fEouY29tbWFuZCl8fGUuc2Vzc2lvbklkLHVlPWUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5wcm9tcHR8fCJcdTk3MDBcdTg5ODFcdTY3NDNcdTk2NTBcdTVCQTFcdTYyNzkiLGllPWUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC50YXJnZXQsY2U9UDtpZT9jZSs9YApgK3VlKyIgXHhCNyAiK2llOmNlKz1gCmArdWUsb3IoIm1lZGl1bSIpLEVwKGUuc2Vzc2lvbklkLGNlKSxlLnNlc3Npb25JZCE9PXIuc2VsZWN0ZWRJZCYmJGEoe3RpdGxlOiJcdTk3MDBcdTg5ODFcdTRGNjBcdTc2ODRcdTYzODhcdTY3NDMiLGJvZHk6Y2UsdHlwZToid2FybmluZyIsaWNvbjoiISIsZHVyYXRpb246MCxhY3Rpb25MYWJlbDoiXHU1M0JCXHU1OTA0XHU3NDA2IixhY3Rpb246ZnVuY3Rpb24oKXtqdChlLnNlc3Npb25JZCl9fSl9ZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkPT09ITEmJihqLnBlbmRpbmdFc2NhbGF0aW9uPW51bGwpLGUuZGF0YS5hcHByb3ZhbFN0YXRzJiYoai5hcHByb3ZhbFN0YXRzPWUuZGF0YS5hcHByb3ZhbFN0YXRzKSxuZShqKSxldShlLnNlc3Npb25JZCksWmEoKSxlLnNlc3Npb25JZD09PXIuc2VsZWN0ZWRJZCYmKCR0KCksZS5kYXRhLmFwcHJvdmFsU3RhdHMmJnVzKCksai5zdHJ1Y3R1cmVkU3RhdGUmJihqLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodHx8KFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxZcygpKSxIYSgpKSl9YnJlYWs7Y2FzZSJub3RpZmljYXRpb24iOmUuZGF0YSYmKGUuZGF0YS5raW5kPT09InVwZGF0ZSI/SXMoZS5kYXRhLmN1cnJlbnR8fCItIixlLmRhdGEubGF0ZXN0fHwiLSIpOmUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXN0YXJ0Ij9BcChlLmRhdGEuY3VycmVudHx8Ii0iLGUuZGF0YS5sYXRlc3R8fCItIixlLmRhdGEucHJldmlvdXNJbnN0YW5jZUlkfHxudWxsKTplLmRhdGEua2luZD09PSJhdXRvLXVwZGF0ZS1yZXN0YXJ0Ij9FbihlLmRhdGEucHJldmlvdXNJbnN0YW5jZUlkfHxudWxsLGUuZGF0YS5sYXRlc3R8fG51bGwpOmUuZGF0YS5raW5kPT09InJlc3RhcnQiJiZFbigpKTticmVha319ZnVuY3Rpb24gJHQoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3VycmVudC10YXNrIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGVybWlzc2lvbi1hY3Rpb25zIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIik7aWYoZSl7dmFyIGk9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiB2LmlkPT09ci5zZWxlY3RlZElkfSk7aSYmaS5wcm92aWRlcj09PSJjb2RleCImJih0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUuY2xhc3NMaXN0LnJlbW92ZSgicGVybWlzc2lvbi1ibG9ja2VkIikpO3ZhciBhPWkmJmkucGVuZGluZ0VzY2FsYXRpb24/aS5wZW5kaW5nRXNjYWxhdGlvbjpudWxsLHU9aSYmaS5wcm92aWRlciE9PSJjb2RleCI/YXx8aS5wZXJtaXNzaW9uQmxvY2tlZDohMTtpZih1KXt2YXIgbz1pJiZpLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7aWYobilpZihvKW4udGV4dENvbnRlbnQ9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NEUyRC4uLiI7ZWxzZSBpZihhKXt2YXIgcz1hLnJlYXNvbnx8Ilx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0MyIsbD1hLnRhcmdldD8iIFx4QjcgIithLnRhcmdldDoiIjtuLnRleHRDb250ZW50PXMrbH1lbHNlIG4udGV4dENvbnRlbnQ9Ilx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0MyI7aWYodCl7dC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIpLGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlbnktcGVybWlzc2lvbi1idG4iKTtkJiZkLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsISFvKSxmJiZmLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsISFvKX1lLnRleHRDb250ZW50PSIiLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKTtyZXR1cm59ZS5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSx0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciBjPXIuY3VycmVudFRhc2s7YyYmYy50aXRsZT8oZS50ZXh0Q29udGVudD1jLnRpdGxlLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpOihlLnRleHRDb250ZW50PSIiLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikpfX1mdW5jdGlvbiB1cygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZhbC1zdGF0cyIpO2lmKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dCYmdC5hcHByb3ZhbFN0YXRzO2lmKCFufHxuLnRvdGFsPT09MCl7ZS5jbGFzc05hbWU9ImFwcHJvdmFsLXN0YXRzIGhpZGRlbiIsZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuY2xhc3NOYW1lPSJhcHByb3ZhbC1zdGF0cyIsZS5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1kaXZpZGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiBpZD0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIHRpdGxlPSJcdTY3MkNcdTZCMjFcdTRGMUFcdThCRERcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTEiPjxzdmcgY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWljb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48L3N2Zz48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtdG90YWwiPicrbi50b3RhbCsnPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAiIGlkPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxlIj5cdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTE8L3NwYW4+Jysobi5jb21tYW5kPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytVKCJ0ZXJtaW5hbCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0N0RcdTRFRTRcdTYyNjdcdTg4NEM8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+JytuLmNvbW1hbmQrIjwvc3Bhbj48L3NwYW4+IjoiIikrKG4uZmlsZT4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVSgiZWRpdCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTY1ODdcdTRFRjZcdTUxOTlcdTUxNjU8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+JytuLmZpbGUrIjwvc3Bhbj48L3NwYW4+IjoiIikrKG4udG9vbD4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVSgid3JlbmNoIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTE3Nlx1NEVENlx1NURFNVx1NTE3Nzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK24udG9vbCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyBhcHByb3ZhbC1zdGF0cy1yb3ctdG90YWwiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytVKCJzaWdtYSIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0MDhcdThCQTE8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+JytuLnRvdGFsKyI8L3NwYW4+PC9zcGFuPjwvc3Bhbj4iO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmFwcHJvdmFsLXN0YXRzLWJhZGdlIik7aSYmKGkuY2xhc3NMaXN0LnJlbW92ZSgiYXBwcm92YWwtc3RhdHMtcHVsc2UiKSxpLm9mZnNldFdpZHRoLGkuY2xhc3NMaXN0LmFkZCgiYXBwcm92YWwtc3RhdHMtcHVsc2UiKSl9fWZ1bmN0aW9uIHNmKCl7aWYob3IoImxpZ2h0IiksISFyLnNlbGVjdGVkSWQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2UmJihlLmRpc2FibGVkPSEwKSx0JiYodC5kaXNhYmxlZD0hMCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5zZWxlY3RlZElkKSsiL2FwcHJvdmUtcGVybWlzc2lvbiIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtpZihuJiZuLmVycm9yKXt4KG4uZXJyb3IsImVycm9yIik7cmV0dXJufW5lKG4pLCR0KCl9KS5jYXRjaChmdW5jdGlvbihuKXt4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjI3OVx1NTFDNlx1NjM4OFx1Njc0M1x1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZSYmKGUuZGlzYWJsZWQ9ITEpLHQmJih0LmRpc2FibGVkPSExKX0pfX1mdW5jdGlvbiBsZigpe2lmKG9yKCJsaWdodCIpLCEhci5zZWxlY3RlZElkKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlbnktcGVybWlzc2lvbi1idG4iKTtlJiYoZS5kaXNhYmxlZD0hMCksdCYmKHQuZGlzYWJsZWQ9ITApLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuc2VsZWN0ZWRJZCkrIi9kZW55LXBlcm1pc3Npb24iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obil7aWYobiYmbi5lcnJvcil7eChuLmVycm9yLCJlcnJvciIpO3JldHVybn1uZShuKSwkdCgpfSkuY2F0Y2goZnVuY3Rpb24obil7eChuJiZuLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYyRDJcdTdFRERcdTYzODhcdTY3NDNcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe2UmJihlLmRpc2FibGVkPSExKSx0JiYodC5kaXNhYmxlZD0hMSl9KX19ZnVuY3Rpb24gZGYoKXtpZihyLnNlbGVjdGVkSWQpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKGUmJmUucHJvdmlkZXI9PT0iY29kZXgiKXt4KCJDb2RleCBcdTRGMUFcdThCRERcdTU2RkFcdTVCOUFcdTRFRTUgZnVsbC1hY2Nlc3MgUFRZIFx1NTQyRlx1NTJBOFx1RkYwQ1x1NEUwRFx1NjUyRlx1NjMwMVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImluZm8iKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tYXBwcm92ZS10b2dnbGUiKTt0JiYodC5zdHlsZS5vcGFjaXR5PSIwLjUiKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChyLnNlbGVjdGVkSWQpKyIvdG9nZ2xlLWF1dG8tYXBwcm92ZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtpZihuJiZuLmVycm9yKXt4KG4uZXJyb3IsImVycm9yIik7cmV0dXJufW5lKG4pLG9zKCk7dmFyIGk9bi5hdXRvQXBwcm92ZVBlcm1pc3Npb25zO3goaT8iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1RjAwXHU1NDJGIjoiXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1MTczXHU5NUVEIiwiaW5mbyIpfSkuY2F0Y2goZnVuY3Rpb24obil7eChuJiZuLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTUyMDdcdTYzNjJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe3QmJih0LnN0eWxlLm9wYWNpdHk9IiIpfSl9fWZ1bmN0aW9uIG9zKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tYXBwcm92ZS10b2dnbGUiKSx0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKGVkKHQpKXtlJiZlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtyZXR1cm59aWYoZSl7dmFyIG49ImNvbXBvc2VyLXBpbGwgY29tcG9zZXItcGlsbC1jaGlwIGF1dG8tYXBwcm92ZS1pbmRpY2F0b3IiLGk9dCYmdC5hdXRvQXBwcm92ZVBlcm1pc3Npb25zO2k/KGUuY2xhc3NOYW1lPW4rIiBhY3RpdmUiLGUudGl0bGU9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTQyRlx1NzUyOCBcdTIwMTQgXHU3MEI5XHU1MUZCXHU1MTczXHU5NUVEIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4XHVGRjBDXHU3MEI5XHU1MUZCXHU1MTczXHU5NUVEIiksZS5pbm5lckhUTUw9VSgic2hpZWxkQ2hlY2siLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuNyxjbHM6ImNvbXBvc2VyLXBpbGwtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXBpbGwtbGFiZWwiPlx1ODFFQVx1NTJBODwvc3Bhbj4nKTooZS5jbGFzc05hbWU9bixlLnRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQgXHUyMDE0IFx1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RURcdUZGMENcdTcwQjlcdTUxRkJcdTVGMDBcdTU0MkYiKSxlLmlubmVySFRNTD1VKCJzaGllbGQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuNyxjbHM6ImNvbXBvc2VyLXBpbGwtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXBpbGwtbGFiZWwiPlx1NjI0Qlx1NTJBODwvc3Bhbj4nKX19ZnVuY3Rpb24gY2YoZSx0LG4pe3JldHVybiByLnRlcm1pbmFsP1NpKHR8fHIuc2VsZWN0ZWRJZCxlLHttb2RlOm58fCJhcHBlbmQifSk6ITF9ZnVuY3Rpb24gc3MoKXtyLnBvbGxUaW1lciYmKGNsZWFySW50ZXJ2YWwoci5wb2xsVGltZXIpLHIucG9sbFRpbWVyPW51bGwpfWZ1bmN0aW9uIENoKGUpe3IuY3VycmVudFZpZXc9ZXx8InRlcm1pbmFsIixyLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsIiYmKEtuKCExKSxybCgpKSxvYSgpLGR1KCk7dmFyIHQ9X3QoKTt0JiYoci5jdXJyZW50TWVzc2FnZXM9VmUodCxudCh0LHQub3V0cHV0LCEwKSkpLGN0KCksci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCImJihxdCghMCksci50ZXJtaW5hbCYmci50ZXJtaW5hbC5yZW1lYXN1cmUmJnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3IudGVybWluYWwmJnIudGVybWluYWwucmVtZWFzdXJlKCl9KSl9ZnVuY3Rpb24gU3IoZSl7ci5yZW5kZXJQZW5kaW5nJiYhZXx8KHIucmVuZGVyUGVuZGluZz0hMCxlPyhWaSghMCksci5yZW5kZXJQZW5kaW5nPSExKTpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtWaSghMSksci5yZW5kZXJQZW5kaW5nPSExfSkpfXIuY2hhdFJlbmRlclRpbWVyPW51bGw7ZnVuY3Rpb24gSGEoZSl7aWYoIShyLmNoYXRSZW5kZXJUaW1lciYmIWUpKXtpZihyLmNoYXRSZW5kZXJUaW1lciYmY2xlYXJUaW1lb3V0KHIuY2hhdFJlbmRlclRpbWVyKSxlKXtyLmNoYXRSZW5kZXJUaW1lcj1udWxsLFNyKCk7cmV0dXJufXZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dCYmdC5zdGF0dXM9PT0icnVubmluZyImJnQuc2Vzc2lvbktpbmQhPT0ic3RydWN0dXJlZCIsaT1uP3dzOkJzO3IuY2hhdFJlbmRlclRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmNoYXRSZW5kZXJUaW1lcj1udWxsO3ZhciBhPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih1KXtyZXR1cm4gdS5pZD09PXIuc2VsZWN0ZWRJZH0pO2EmJihyLmN1cnJlbnRNZXNzYWdlcz1WZShhLG50KGEsYS5vdXRwdXQsITApKSksU3IoKX0saSl9fXZhciBOYT0wLEJpPTAsbHM9MCxJcj0wO2Z1bmN0aW9uIGphKCl7cmV0dXJuIHdpbmRvdy5fX3dhbmRJb3NOYXRpdmU9PT0hMH1mdW5jdGlvbiBkcyhlKXtscz1NYXRoLm1heChscyxEYXRlLm5vdygpKyhlfHwxODAwKSl9ZnVuY3Rpb24gY3MoZSx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtEaShuKSYmbiE9PXR8fGRzKGUpfSwzMCl9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIE1hdGgubWF4KHdpbmRvdy5pbm5lckhlaWdodHx8MCxlJiZlLmhlaWdodHx8MCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fDAsZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHR8fDApfWZ1bmN0aW9uIHBmKGUpe3ZhciB0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuPU1hdGgubWF4KHdpbmRvdy5pbm5lcldpZHRofHwwLGUmJmUud2lkdGh8fDAsdCYmdC5jbGllbnRXaWR0aHx8MCksaT1mZihlKTtyZXR1cm4hTmF8fE1hdGguYWJzKG4tTmEpPjg/KE5hPW4sQmk9aSk6aT5CaSYmKEJpPWkpLE1hdGgubWF4KDEsTWF0aC5yb3VuZChCaXx8aXx8MSkpfWZ1bmN0aW9uIHZmKGUsdCxuLGkpe3JldHVybiBlfHwhamEoKT8hMTp0PjB8fGk+bisxfWZ1bmN0aW9uIHJyKGUpe3ZhciB0PXdpbmRvdy52aXN1YWxWaWV3cG9ydDtpZih0KXt2YXIgbj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7aWYobi5jbGFzc0xpc3QudG9nZ2xlKCJpcy1rZXlib2FyZC1vcGVuIiwhIWUpLHdpbmRvdy5fX3dhbmRJbWVOYXRpdmUpe24uc3R5bGUuc2V0UHJvcGVydHkoIi0tYXBwLXZpZXdwb3J0LXRvcCIsIjBweCIpLG4uc3R5bGUuc2V0UHJvcGVydHkoIi0tYXBwLXZpZXdwb3J0LWhlaWdodCIsTWF0aC5yb3VuZCh0LmhlaWdodCkrInB4Iik7cmV0dXJufXZhciBpPXBmKHQpLGE9TWF0aC5tYXgoMCxNYXRoLnJvdW5kKHQub2Zmc2V0VG9wfHwwKSksdT1NYXRoLm1heCgxLE1hdGgucm91bmQodC5oZWlnaHQpKTsoIWUmJmphKCl8fHZmKGUsYSx1LGkpKSYmKGE9MCx1PU1hdGgubWF4KHUsaSkpLG4uc3R5bGUuc2V0UHJvcGVydHkoIi0tYXBwLXZpZXdwb3J0LXRvcCIsYSsicHgiKSxuLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC1oZWlnaHQiLHUrInB4IiksKGV8fCh3aW5kb3cuc2Nyb2xsWXx8MCk+MCkmJmd1KCl9fWZ1bmN0aW9uIERpKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUudGFnTmFtZTtpZih0PT09IlRFWFRBUkVBInx8dD09PSJTRUxFQ1QiKXJldHVybiEwO2lmKHQ9PT0iSU5QVVQiKXt2YXIgbj0oZS5nZXRBdHRyaWJ1dGUoInR5cGUiKXx8InRleHQiKS50b0xvd2VyQ2FzZSgpO3JldHVybiEvXihidXR0b258Y2hlY2tib3h8Y29sb3J8ZmlsZXxoaWRkZW58aW1hZ2V8cmFkaW98cmFuZ2V8cmVzZXR8c3VibWl0KSQvaS50ZXN0KG4pfXJldHVybiEhZS5pc0NvbnRlbnRFZGl0YWJsZX1mdW5jdGlvbiBtZigpe2lmKCEoInZpc3VhbFZpZXdwb3J0ImluIHdpbmRvdyl8fHdpbmRvdy5fX3dhbmRWaWV3cG9ydEhhbmRsZXJzQm91bmQpcmV0dXJuO3dpbmRvdy5fX3dhbmRWaWV3cG9ydEhhbmRsZXJzQm91bmQ9ITA7dmFyIGU9d2luZG93LnZpc3VhbFZpZXdwb3J0LHQ9ZS5oZWlnaHQsbj0hMSxpPU1hdGgubWF4KHdpbmRvdy5pbm5lcldpZHRofHwwLGUud2lkdGh8fDApLGE9TWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUuaGVpZ2h0fHwwKSx1PVtdO2Z1bmN0aW9uIG8oKXtyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUuaGVpZ2h0fHwwKX1mdW5jdGlvbiBzKCl7dmFyIG09TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZS53aWR0aHx8MCksZz1vKCk7aWYoTWF0aC5hYnMobS1pKT44KXtpPW0sYT1nO3JldHVybn1nPmEmJihhPWcpfWZ1bmN0aW9uIGwobSxnKXt2YXIgeT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LEI9eT09PW18fERpKHkpLEU9YS1lLmhlaWdodCxDPWEtKHdpbmRvdy5pbm5lckhlaWdodHx8ZS5oZWlnaHR8fDApLEQ9RGF0ZS5ub3coKTxJcjtyZXR1cm4gRD8hIShCJiYoRT4xMjB8fEM+MTIwKSk6ISEoZz44MHx8QiYmKEU+MTIwfHxDPjEyMCl8fG4mJihFPjgwfHxnPjMyKSl9ZnVuY3Rpb24gZCgpe3UuZm9yRWFjaChmdW5jdGlvbihtKXtjbGVhclRpbWVvdXQobSl9KSx1PVs2MCwxODAsMzYwLDYyMCw5MDBdLm1hcChmdW5jdGlvbihtKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3JyKG4pfSxtKX0pfWZ1bmN0aW9uIGYoKXtbMCw1MCwxMjAsMjIwLDM2MCw1NjBdLmZvckVhY2goZnVuY3Rpb24obSl7c2V0VGltZW91dChmdW5jdGlvbigpe2MoKTt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7ZyYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWcmJnppKGcpfSxtKX0pfWZ1bmN0aW9uIGMoKXtpZihlKXt2YXIgbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksZz13aW5kb3cuaW5uZXJIZWlnaHQtZS5oZWlnaHQtZS5vZmZzZXRUb3A7cygpO3ZhciB5PWwobSxnKSxCPU1hdGguYWJzKGUuaGVpZ2h0LXQpPjg7aWYocnIoeSkseSYmKCFufHxCKSYmSnYoZSxtKSYmemkobSksIW4mJnkpe3ZhciBFPXIudGVybWluYWxBdXRvRm9sbG93fHxVYSgpO1hlKCJrZXlib2FyZC1vcGVuIix7Zm9yY2VSZXBsYXk6ITB9KSx3aW5kb3cuX193YW5kSW1lTmF0aXZlfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cnIoITApfSwyMjApLGQoKSxFJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci50ZXJtaW5hbCYmYnQoImZvcmNlIil9LDIyMCl9aWYobiYmIXkpe3ZhciBDPSEhd2luZG93Ll9fd2FuZEltZU5hdGl2ZTtDfHwoZHMoMjIwMCksSXI9RGF0ZS5ub3coKSsxMjAwLHJyKCExKSxndSgpKSxkKCksc2V0VGltZW91dChmdW5jdGlvbigpe0N8fChycighMSksZ3UoKSksWGUoImtleWJvYXJkLWNsb3NlIix7Zm9yY2VSZXBsYXk6ITB9KSxidCgia2V5Ym9hcmQiKX0sMjAwKX1CJiZuPT09eSYmWGUoInZpZXdwb3J0Iiksbj15LHQ9ZS5oZWlnaHR9fXZhciB2PW51bGw7ZnVuY3Rpb24gaCgpe3YhPT1udWxsJiZjYW5jZWxBbmltYXRpb25GcmFtZSh2KSx2PXJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3Y9bnVsbCxjKCl9KX1lLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsaCksZS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGgpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiJiYoaCgpLHNldFRpbWVvdXQoaCwyNDApLHNldFRpbWVvdXQoaCw3MjApKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24obSl7bSYmbS5wZXJzaXN0ZWQmJihoKCksc2V0VGltZW91dChoLDI0MCkpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGZ1bmN0aW9uKG0peyFtfHwhbS50YXJnZXR8fERpKG0udGFyZ2V0KSYmKGNzKDE2MDAsbS50YXJnZXQpLGphKCkmJihJcj1NYXRoLm1heChJcixEYXRlLm5vdygpKzEyMDApKSxzZXRUaW1lb3V0KGgsODApLHNldFRpbWVvdXQoaCw0MjApKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLGZ1bmN0aW9uKG0peyFtfHwhbS50YXJnZXR8fCFEaShtLnRhcmdldCl8fGYoKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWlvcy1pbWUtc3RhdGUiLGZ1bmN0aW9uKG0pe3ZhciBnPW0mJm0uZGV0YWlsJiZtLmRldGFpbC5zdGF0ZTtnPT09ImhpZGRlbiImJihJcj1EYXRlLm5vdygpKzkwMCksZigpLGQoKX0pLGMoKX1mdW5jdGlvbiBnZigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0idGVybWluYWwtcmVzaXplLWhhbmRsZSIsdC5pbm5lckhUTUw9IiYjODk0MjsiLGUuYXBwZW5kQ2hpbGQodCk7dmFyIG49ITEsaT0wLGE9MDt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZnVuY3Rpb24odSl7bj0hMCxpPXUuY2xpZW50WSxhPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0LGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJucy1yZXNpemUiLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsdS5wcmV2ZW50RGVmYXVsdCgpfSksci5yZXNpemVNb3VzZU1vdmU9ZnVuY3Rpb24odSl7aWYobil7dmFyIG89dS5jbGllbnRZLWkscz1NYXRoLm1heCgyMDAsTWF0aC5taW4oYStvLHdpbmRvdy5pbm5lckhlaWdodC0yMDApKTtlLnN0eWxlLmhlaWdodD1zKyJweCIsZS5zdHlsZS5mbGV4PSJub25lIixxdCgpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixyLnJlc2l6ZU1vdXNlTW92ZSksci5yZXNpemVNb3VzZVVwPWZ1bmN0aW9uKCl7biYmKG49ITEsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9IiIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSIiLHF0KCkpfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixyLnJlc2l6ZU1vdXNlVXApLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24odSl7bj0hMCxpPXUudG91Y2hlc1swXS5jbGllbnRZLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsdS5wcmV2ZW50RGVmYXVsdCgpfSx7cGFzc2l2ZTohMX0pLHIucmVzaXplVG91Y2hNb3ZlPWZ1bmN0aW9uKHUpe2lmKG4pe3ZhciBvPXUudG91Y2hlc1swXS5jbGllbnRZLWkscz1NYXRoLm1heCgyMDAsTWF0aC5taW4oYStvLHdpbmRvdy5pbm5lckhlaWdodC0yMDApKTtlLnN0eWxlLmhlaWdodD1zKyJweCIsZS5zdHlsZS5mbGV4PSJub25lIixxdCgpLHUucHJldmVudERlZmF1bHQoKX19LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsci5yZXNpemVUb3VjaE1vdmUse3Bhc3NpdmU6ITF9KSxyLnJlc2l6ZVRvdWNoRW5kPWZ1bmN0aW9uKCl7biYmKG49ITEscXQoKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixyLnJlc2l6ZVRvdWNoRW5kKX19ZnVuY3Rpb24gZnMoKXtyZXR1cm4hIV90KCl9ZnVuY3Rpb24gUmEoZSl7dmFyIHQ9TWF0aC5tYXgoQ24sd2luZG93LmlubmVyV2lkdGgtX2ktQ24pLG49TWF0aC5tYXgoQ24sd2luZG93LmlubmVySGVpZ2h0LV9pLUNuKTtyZXR1cm57cmlnaHQ6TWF0aC5taW4oTWF0aC5tYXgoQ24sZS5yaWdodCksdCksYm90dG9tOk1hdGgubWluKE1hdGgubWF4KENuLGUuYm90dG9tKSxuKX19ZnVuY3Rpb24gcHMoKXtpZihyLmpveXN0aWNrQmFsbEVsKXt2YXIgZT1SYShyLmpveXN0aWNrUG9zfHx7cmlnaHQ6MTgsYm90dG9tOjk2fSk7ci5qb3lzdGlja0JhbGxFbC5zdHlsZS5yaWdodD1lLnJpZ2h0KyJweCIsci5qb3lzdGlja0JhbGxFbC5zdHlsZS5ib3R0b209ZS5ib3R0b20rInB4In19ZnVuY3Rpb24gaGYoZSx0KXt2YXIgbj1SYSh7cmlnaHQ6ZSxib3R0b206dH0pO3Iuam95c3RpY2tQb3M9bjt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtYmFsbC1wb3MiLEpTT04uc3RyaW5naWZ5KG4pKX1jYXRjaHt9fWZ1bmN0aW9uIHlmKCl7ZnVuY3Rpb24gZSh1LG8scyl7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0id2pwLWtleScrKHM/IiAiK3M6IiIpKyciIGRhdGEta2V5PSInK3UrJyI+JytvKyI8L2J1dHRvbj4ifXZhciB0PSc8ZGl2IGNsYXNzPSJ3anAtZHBhZCI+PGRpdiBjbGFzcz0id2pwLWRwYWQtcm93Ij4nK2UoInVwIiwiXHUyMTkxIiwid2pwLWRpciIpKyc8L2Rpdj48ZGl2IGNsYXNzPSJ3anAtZHBhZC1yb3ciPicrZSgibGVmdCIsIlx1MjE5MCIsIndqcC1kaXIiKStlKCJkb3duIiwiXHUyMTkzIiwid2pwLWRpciIpK2UoInJpZ2h0IiwiXHUyMTkyIiwid2pwLWRpciIpKyI8L2Rpdj48L2Rpdj4iLG49IiIsaTtmb3IoaT0wO2k8c3UubGVuZ3RoO2krKyluKz1lKHN1W2ldLmtleSxzdVtpXS5sYWJlbCwiIik7dmFyIGE9JzxkaXYgY2xhc3M9IndqcC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJ3anAtdGl0bGUiPicrVSgicGF3Iix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjYsY2xzOiJ3anAtdGl0bGUtaWNvbiJ9KSsnPHNwYW4+XHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGPC9zcGFuPjwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IndqcC1jbG9zZSIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU5MDY1XHU2M0E3XHU5NzYyXHU2NzdGIj4nK1UoIngiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjJ9KSsiPC9idXR0b24+PC9kaXY+Iit0Kyc8ZGl2IGNsYXNzPSJ3anAtZ3JpZCB3anAtZm5rZXlzIj4nK24rIjwvZGl2PiI7cmV0dXJuIGF9ZnVuY3Rpb24gYmYoKXtpZighci5qb3lzdGlja1Jvb3RFbCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc05hbWU9IndhbmQtam95c3RpY2stcm9vdCIsWyJwb2ludGVyZG93biIsInBvaW50ZXJ1cCIsInRvdWNoc3RhcnQiLCJ0b3VjaGVuZCIsImNsaWNrIl0uZm9yRWFjaChmdW5jdGlvbihhKXtlLmFkZEV2ZW50TGlzdGVuZXIoYSx2cywhMCl9KTt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWNrZHJvcCIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1wYW5lbCIsbi5pbm5lckhUTUw9eWYoKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixBZiksZS5hcHBlbmRDaGlsZChuKTt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWxsIixpLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLGkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiV2FuZCBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiKSxpLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTcwQjlcdTUxRkJcdTYyNTNcdTVGMDBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0ZcdUZGMENcdTYyRDZcdTUyQThcdTUzRUZcdTc5RkJcdTUyQThcdTRGNERcdTdGNkUiKSxpLmlubmVySFRNTD1VKCJwYXciLHtzaXplOjI1LHN0cm9rZVdpZHRoOjEuNixjbHM6IndhbmQtam95c3RpY2stbG9nbyJ9KSxlLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksci5qb3lzdGlja1Jvb3RFbD1lLHIuam95c3RpY2tCYWNrZHJvcEVsPXQsci5qb3lzdGlja1BhbmVsRWw9bixyLmpveXN0aWNrQmFsbEVsPWkscHMoKSxpLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixFZiksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixmdW5jdGlvbihhKXtyLmpveXN0aWNrUGlubmVkT3BlbiYmci5qb3lzdGlja0dlc3R1cmU9PW51bGwmJihhLnByZXZlbnREZWZhdWx0KCksVHIoKSl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX0pLHIuam95c3RpY2tSZXNpemVIYW5kbGVyPWZ1bmN0aW9uKCl7cHMoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsci5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsci5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLHlzKCl9fWZ1bmN0aW9uIHZzKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1uYXRpdmUtaW5wdXQiKSl7dmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZihlJiZ0eXBlb2YgZS5ibHVyPT0iZnVuY3Rpb24iKXRyeXtlLmJsdXIoKX1jYXRjaHt9c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYodCYmdHlwZW9mIHQuYmx1cj09ImZ1bmN0aW9uIil0cnl7dC5ibHVyKCl9Y2F0Y2h7fX0sMCl9fWZ1bmN0aW9uIEVmKGUpe2lmKGZzKCkmJiEoKGUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiIpJiZlLmJ1dHRvbiE9PTApJiZyLmpveXN0aWNrUG9pbnRlcklkPT09bnVsbCl7dnMoKSxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgdD1lLnBvaW50ZXJUeXBlPT09Im1vdXNlInx8ZS5wb2ludGVyVHlwZT09PSJwZW4iO3Iuam95c3RpY2tQb2ludGVySWQ9ZS5wb2ludGVySWQsci5qb3lzdGlja1ByZXNzU3RhcnQ9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZLHQ6RGF0ZS5ub3coKX0sci5qb3lzdGlja0dlc3R1cmU9InBlbmRpbmciO3RyeXtyLmpveXN0aWNrQmFsbEVsLnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9dHx8KHIuam95c3RpY2tMb25nUHJlc3NUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5qb3lzdGlja0dlc3R1cmU9PT0icGVuZGluZyImJm1zKCl9LGZ2KSksci5qb3lzdGlja01vdmVIYW5kbGVyPUZmLHIuam95c3RpY2tVcEhhbmRsZXI9Q2YsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHIuam95c3RpY2tNb3ZlSGFuZGxlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixyLmpveXN0aWNrVXBIYW5kbGVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixyLmpveXN0aWNrVXBIYW5kbGVyKX19ZnVuY3Rpb24gbXMoKXtyLmpveXN0aWNrR2VzdHVyZT0ibW92ZSIsci5qb3lzdGlja1Bpbm5lZE9wZW4mJlRyKCksci5qb3lzdGlja0JhbGxFbCYmci5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHIuam95c3RpY2tCYWNrZHJvcEVsJiZyLmpveXN0aWNrQmFja2Ryb3BFbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKX1mdW5jdGlvbiBncyhlLHQpe2lmKHIuam95c3RpY2tCYWxsRWwpe3ZhciBuPVJhKHtyaWdodDp3aW5kb3cuaW5uZXJXaWR0aC1lLV9pLzIsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodC10LV9pLzJ9KTtyLmpveXN0aWNrQmFsbEVsLnN0eWxlLnJpZ2h0PW4ucmlnaHQrInB4IixyLmpveXN0aWNrQmFsbEVsLnN0eWxlLmJvdHRvbT1uLmJvdHRvbSsicHgifX1mdW5jdGlvbiBGZihlKXtpZighKGUucG9pbnRlcklkIT09ci5qb3lzdGlja1BvaW50ZXJJZHx8IXIuam95c3RpY2tCYWxsRWwpKXtpZihlLnByZXZlbnREZWZhdWx0KCksci5qb3lzdGlja0dlc3R1cmU9PT0ibW92ZSIpe2dzKGUuY2xpZW50WCxlLmNsaWVudFkpO3JldHVybn1pZihyLmpveXN0aWNrR2VzdHVyZT09PSJwZW5kaW5nIil7dmFyIHQ9ZS5jbGllbnRYLXIuam95c3RpY2tQcmVzc1N0YXJ0Lngsbj1lLmNsaWVudFktci5qb3lzdGlja1ByZXNzU3RhcnQueTtNYXRoLnNxcnQodCp0K24qbik8PXB2fHwoZS5wb2ludGVyVHlwZT09PSJtb3VzZSJ8fGUucG9pbnRlclR5cGU9PT0icGVuIj8obXMoKSxncyhlLmNsaWVudFgsZS5jbGllbnRZKSk6KHIuam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLHIuam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKSxyLmpveXN0aWNrR2VzdHVyZT0iY2FuY2VsbGVkIikpfX19ZnVuY3Rpb24gQ2YoZSl7aWYoZS5wb2ludGVySWQ9PT1yLmpveXN0aWNrUG9pbnRlcklkKXtyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQoci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCk7dmFyIHQ9ci5qb3lzdGlja0dlc3R1cmU7aWYodD09PSJwZW5kaW5nIil7dmFyIG49ZS5jbGllbnRYLXIuam95c3RpY2tQcmVzc1N0YXJ0LngsaT1lLmNsaWVudFktci5qb3lzdGlja1ByZXNzU3RhcnQueTtNYXRoLnNxcnQobipuK2kqaSk8PXZ2JiZEZigpfWVsc2UgaWYodD09PSJtb3ZlIil7dmFyIGE9ci5qb3lzdGlja0JhbGxFbD9yLmpveXN0aWNrQmFsbEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOm51bGw7YSYmaGYod2luZG93LmlubmVyV2lkdGgtYS5yaWdodCx3aW5kb3cuaW5uZXJIZWlnaHQtYS5ib3R0b20pfWhzKCl9fWZ1bmN0aW9uIGhzKCl7aWYoci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyJiYoY2xlYXJUaW1lb3V0KHIuam95c3RpY2tMb25nUHJlc3NUaW1lciksci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPW51bGwpLHIuam95c3RpY2tCYWxsRWwmJnIuam95c3RpY2tQb2ludGVySWQhPT1udWxsKXRyeXtyLmpveXN0aWNrQmFsbEVsLnJlbGVhc2VQb2ludGVyQ2FwdHVyZShyLmpveXN0aWNrUG9pbnRlcklkKX1jYXRjaHt9ci5qb3lzdGlja01vdmVIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHIuam95c3RpY2tNb3ZlSGFuZGxlciksci5qb3lzdGlja01vdmVIYW5kbGVyPW51bGwpLHIuam95c3RpY2tVcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHIuam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHIuam95c3RpY2tVcEhhbmRsZXIpLHIuam95c3RpY2tVcEhhbmRsZXI9bnVsbCksci5qb3lzdGlja0JhbGxFbCYmci5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHIuam95c3RpY2tCYWNrZHJvcEVsJiYhci5qb3lzdGlja1Bpbm5lZE9wZW4mJnIuam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLHIuam95c3RpY2tQb2ludGVySWQ9bnVsbCxyLmpveXN0aWNrR2VzdHVyZT1udWxsLHIuam95c3RpY2tQcmVzc1N0YXJ0PW51bGx9ZnVuY3Rpb24gd2YoZSl7aWYoZT09PSJjdHJsInx8ZT09PSJhbHQifHxlPT09InNoaWZ0Iil7ci5tb2RpZmllcnNbZV09IXIubW9kaWZpZXJzW2VdLExyKCk7cmV0dXJufXZhciB0PV90KCk7aWYodCYmZmUodCkpeyhlPT09ImN0cmxfYyJ8fGU9PT0iZXNjYXBlIikmJkJmKHQsZSksTmkoKSxMcigpO3JldHVybn12YXIgbj1pbChlLHtjdHJsOnIubW9kaWZpZXJzLmN0cmwsYWx0OnIubW9kaWZpZXJzLmFsdCxzaGlmdDpyLm1vZGlmaWVycy5zaGlmdH0pO24mJm5sKG4sZSksTmkoKSxMcigpLEJ2KCl9ZnVuY3Rpb24gQmYoZSx0KXshZXx8IWUuaWR8fGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIitlLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDoiIixpbnRlcnJ1cHQ6ITAscHJlc2VydmVRdWV1ZTohMH0pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5vaz9uLmpzb24oKTpuLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihpKXt0aHJvdyBuZXcgRXJyb3IoaSYmaS5lcnJvcnx8Ilx1NEUyRFx1NjVBRFx1NTkzMVx1OEQyNSAoa2V5PSIrdCsiKSIpfSl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uaWQmJihuZShuKSxuLmlkPT09ci5zZWxlY3RlZElkKSl7dmFyIGk9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5pZH0pfHxuO3IuY3VycmVudE1lc3NhZ2VzPVZlKGksbnQoaSxuLm91dHB1dCwhMSkpLFNyKCEwKSx0eXBlb2Ygb3Q9PSJmdW5jdGlvbiImJm90KCl9fSkuY2F0Y2goZnVuY3Rpb24obil7biYmbi5tZXNzYWdlJiZjb25zb2xlLmRlYnVnKCJbd2FuZF0gam95c3RpY2sgaW50ZXJydXB0IG5vLW9wOiIsbi5tZXNzYWdlKX0pfWZ1bmN0aW9uIERmKCl7ci5qb3lzdGlja1Bpbm5lZE9wZW4/VHIoKTprZigpfWZ1bmN0aW9uIGtmKCl7aWYoISghci5qb3lzdGlja1BhbmVsRWx8fCFyLmpveXN0aWNrQmFsbEVsKSl7ci5qb3lzdGlja1Bpbm5lZE9wZW49ITA7dmFyIGU9ci5qb3lzdGlja0JhbGxFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyLmpveXN0aWNrUGFuZWxFbC5zdHlsZS5yaWdodD1NYXRoLm1heChDbix3aW5kb3cuaW5uZXJXaWR0aC1lLnJpZ2h0KSsicHgiLHIuam95c3RpY2tQYW5lbEVsLnN0eWxlLmJvdHRvbT1NYXRoLm1heChDbix3aW5kb3cuaW5uZXJIZWlnaHQtZS50b3ArMTApKyJweCIsci5qb3lzdGlja1BhbmVsRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksci5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QuYWRkKCJwYW5lbC1vcGVuIiksci5qb3lzdGlja0JhY2tkcm9wRWwmJnIuam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLExyKCl9fWZ1bmN0aW9uIFRyKCl7ci5qb3lzdGlja1Bpbm5lZE9wZW49ITEsci5qb3lzdGlja1BhbmVsRWwmJnIuam95c3RpY2tQYW5lbEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLHIuam95c3RpY2tCYWxsRWwmJnIuam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LnJlbW92ZSgicGFuZWwtb3BlbiIpLHIuam95c3RpY2tCYWNrZHJvcEVsJiZyLmpveXN0aWNrR2VzdHVyZT09bnVsbCYmci5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIil9ZnVuY3Rpb24gTHIoKXtyLmpveXN0aWNrUGFuZWxFbCYmWyJjdHJsIiwiYWx0Il0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1yLmpveXN0aWNrUGFuZWxFbC5xdWVyeVNlbGVjdG9yKCcud2pwLW1vZFtkYXRhLWtleT0iJytlKyciXScpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIXIubW9kaWZpZXJzW2VdKX0pfWZ1bmN0aW9uIEFmKGUpe3ZhciB0PWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAtY2xvc2UiKTpudWxsO2lmKHQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLFRyKCk7cmV0dXJufXZhciBuPWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAta2V5Iik6bnVsbDtpZihuKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgaT1uLmdldEF0dHJpYnV0ZSgiZGF0YS1rZXkiKTtpJiZ3ZihpKX19ZnVuY3Rpb24geXMoKXt2YXIgZT1yLmpveXN0aWNrUm9vdEVsO2lmKGUpe3ZhciB0PWZzKCk7ZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIix0KSx0fHwoKHIuam95c3RpY2tQb2ludGVySWQhPT1udWxsfHxyLmpveXN0aWNrR2VzdHVyZSkmJmhzKCksci5qb3lzdGlja1Bpbm5lZE9wZW4mJlRyKCksci5qb3lzdGlja0JhY2tkcm9wRWwmJnIuam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpKX19ZnVuY3Rpb24geGYoKXtyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQoci5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxyLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksci5qb3lzdGlja01vdmVIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHIuam95c3RpY2tNb3ZlSGFuZGxlciksci5qb3lzdGlja01vdmVIYW5kbGVyPW51bGwpLHIuam95c3RpY2tVcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHIuam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHIuam95c3RpY2tVcEhhbmRsZXIpLHIuam95c3RpY2tVcEhhbmRsZXI9bnVsbCksci5qb3lzdGlja1Jlc2l6ZUhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixyLmpveXN0aWNrUmVzaXplSGFuZGxlciksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixyLmpveXN0aWNrUmVzaXplSGFuZGxlciksci5qb3lzdGlja1Jlc2l6ZUhhbmRsZXI9bnVsbCksci5qb3lzdGlja1Jvb3RFbCYmci5qb3lzdGlja1Jvb3RFbC5wYXJlbnROb2RlJiZyLmpveXN0aWNrUm9vdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoci5qb3lzdGlja1Jvb3RFbCksci5qb3lzdGlja1Jvb3RFbD1udWxsLHIuam95c3RpY2tQYW5lbEVsPW51bGwsci5qb3lzdGlja0JhY2tkcm9wRWw9bnVsbCxyLmpveXN0aWNrQmFsbEVsPW51bGwsci5qb3lzdGlja1BvaW50ZXJJZD1udWxsLHIuam95c3RpY2tHZXN0dXJlPW51bGwsci5qb3lzdGlja1ByZXNzU3RhcnQ9bnVsbCxyLmpveXN0aWNrUGlubmVkT3Blbj0hMX1mdW5jdGlvbiBTZigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihlKXt2YXIgdD0hV2UoKTtyLnJlc2l6ZUhhbmRsZXI9ZnVuY3Rpb24oKXtxdCghMCk7dmFyIG49IVdlKCk7dCE9PW4mJih0PW4sIW4mJnIuc2lkZWJhclBpbm5lZCYmci5zZXNzaW9uc0RyYXdlck9wZW4/KHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHRpKCkpOm4mJnIuc2lkZWJhclBpbm5lZCYmIXIuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoci5zZXNzaW9uc0RyYXdlck9wZW49ITAseGUoIndhbmQtc2lkZWJhci1vcGVuIiwhMCksdGkoKSkpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixyLnJlc2l6ZUhhbmRsZXIpLHdpbmRvdy52aXN1YWxWaWV3cG9ydCYmKHIudmlzdWFsVmlld3BvcnRIYW5kbGVyPWZ1bmN0aW9uKCl7cXQoITApfSx3aW5kb3cudmlzdWFsVmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixyLnZpc3VhbFZpZXdwb3J0SGFuZGxlcikpLHIudmlzaWJpbGl0eUhhbmRsZXI9ZnVuY3Rpb24oKXtkb2N1bWVudC5oaWRkZW58fFhlKCJ2aXNpYmlsaXR5Iix7Zm9yY2VSZXBsYXk6ITB9KX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsci52aXNpYmlsaXR5SGFuZGxlciksci5vcmllbnRhdGlvbkhhbmRsZXI9ZnVuY3Rpb24oKXtYZSgib3JpZW50YXRpb24iLHtmb3JjZVJlcGxheTohMH0pfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHIub3JpZW50YXRpb25IYW5kbGVyKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtxdCghMCl9KX19ZnVuY3Rpb24gSWYoKXtyLnRlcm1pbmFsSGVhbHRoVGltZXJ8fChyLnRlcm1pbmFsSGVhbHRoVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZighKCFyLnRlcm1pbmFsfHxyLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsInx8ZG9jdW1lbnQuaGlkZGVuKSl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09ci5zZWxlY3RlZElkfSk7aWYoISghZXx8ZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIikpe1hlKCJoZWFsdGgiKTt2YXIgdD1EYXRlLm5vdygpLG49ci5sYXN0Q2h1bmtBdD4wJiZ0LXIubGFzdENodW5rQXQ+MzAwLGk9dC1yLmxhc3RUZXJtaW5hbFJlc3luY0F0PjNlNCxhPXIubGFzdENodW5rQXQ+ci5sYXN0VGVybWluYWxSZXN5bmNBdDtpJiZhJiYobnx8ZS5zdGF0dXMhPT0icnVubmluZyIpJiZyLnRlcm1pbmFsT3V0cHV0JiZSbigpfX19LDVlMykpfWZ1bmN0aW9uIFRmKCl7ci50ZXJtaW5hbEhlYWx0aFRpbWVyJiYoY2xlYXJJbnRlcnZhbChyLnRlcm1pbmFsSGVhbHRoVGltZXIpLHIudGVybWluYWxIZWFsdGhUaW1lcj1udWxsKX1mdW5jdGlvbiBNcigpe1RmKCksci5yZXNpemVUaW1lciYmKGNsZWFyVGltZW91dChyLnJlc2l6ZVRpbWVyKSxyLnJlc2l6ZVRpbWVyPW51bGwpLHIucmVzaXplT2JzZXJ2ZXImJihyLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSxyLnJlc2l6ZU9ic2VydmVyPW51bGwpLHIucmVzaXplSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHIucmVzaXplSGFuZGxlciksci5yZXNpemVIYW5kbGVyPW51bGwpLHIudmlzdWFsVmlld3BvcnRIYW5kbGVyJiZ3aW5kb3cudmlzdWFsVmlld3BvcnQmJih3aW5kb3cudmlzdWFsVmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixyLnZpc3VhbFZpZXdwb3J0SGFuZGxlciksci52aXN1YWxWaWV3cG9ydEhhbmRsZXI9bnVsbCksci52aXNpYmlsaXR5SGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHIudmlzaWJpbGl0eUhhbmRsZXIpLHIudmlzaWJpbGl0eUhhbmRsZXI9bnVsbCksci5vcmllbnRhdGlvbkhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHIub3JpZW50YXRpb25IYW5kbGVyKSxyLm9yaWVudGF0aW9uSGFuZGxlcj1udWxsKSxbWyJtb3VzZW1vdmUiLCJyZXNpemVNb3VzZU1vdmUiXSxbIm1vdXNldXAiLCJyZXNpemVNb3VzZVVwIl0sWyJ0b3VjaG1vdmUiLCJyZXNpemVUb3VjaE1vdmUiXSxbInRvdWNoZW5kIiwicmVzaXplVG91Y2hFbmQiXV0uZm9yRWFjaChmdW5jdGlvbihhKXtyW2FbMV1dJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhWzBdLHJbYVsxXV0pLHJbYVsxXV09bnVsbCl9KSxpcigpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihyLnRlcm1pbmFsVmlld3BvcnRFbCYmKHIudGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXImJnIudGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsci50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlciksci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyJiZyLnRlcm1pbmFsVmlld3BvcnRFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHIudGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlciksci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXImJnIudGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHIudGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyKSksZSYmKHIudGVybWluYWxXaGVlbEhhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIudGVybWluYWxXaGVlbEhhbmRsZXIpLHIudGVybWluYWxDbGlja0hhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHIudGVybWluYWxDbGlja0hhbmRsZXIpKSxyLnRlcm1pbmFsVmlld3BvcnRFbD1udWxsLHIudGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXI9bnVsbCxyLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI9bnVsbCxyLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcj1udWxsLHIudGVybWluYWxXaGVlbEhhbmRsZXI9bnVsbCxyLnRlcm1pbmFsQ2xpY2tIYW5kbGVyPW51bGwsci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmKGNsZWFyVGltZW91dChyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxyLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwpLHIudGVybWluYWxTY3JvbGxiYXJFbCYmci50ZXJtaW5hbFNjcm9sbGJhckVsLnBhcmVudE5vZGUmJnIudGVybWluYWxTY3JvbGxiYXJFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIudGVybWluYWxTY3JvbGxiYXJFbCksci50ZXJtaW5hbFNjcm9sbGJhckVsPW51bGwsci50ZXJtaW5hbFNjcm9sbGJhclRodW1iRWw9bnVsbCxyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsci50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITEsci50ZXJtaW5hbCYmKHIudGVybWluYWwuZGVzdHJveSgpLHIudGVybWluYWw9bnVsbCksZSlmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtc2Nyb2xsLXdyYXAiKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07aS5wYXJlbnROb2RlPT09ZSYmZS5yZW1vdmVDaGlsZChpKX1HYSgpLHIuc3luY091dHB1dEJ1ZmZlcj1udWxsLHIuc3luY091dHB1dERlYWRsaW5lPTAsci5zeW5jRnJhbWluZ1Jlc2lkdWU9ITEsci50ZXJtaW5hbFNlc3Npb25JZD1udWxsLHIudGVybWluYWxPdXRwdXQ9IiIsci50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLHIudGVybWluYWxBdXRvRm9sbG93PSEwLHIuc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPSExLGN0KCksci5zb2Z0UmVzeW5jVGltZXImJihjbGVhclRpbWVvdXQoci5zb2Z0UmVzeW5jVGltZXIpLHIuc29mdFJlc3luY1RpbWVyPW51bGwpLHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyJiYoY2xlYXJUaW1lb3V0KHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyKSxyLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsKSxyLl9yZXN5bmNDaHVua0xhc3RBdD0wLHIuX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9MCxyLl9yZXN5bmNTdGF0c0NvdW50PTAsci5fcmVzeW5jTGFzdFdhcm5BdD0wLHIuX3Jlc3luY0luUHJvZ3Jlc3M9ITEsci5sYXN0UmVzaXplPXtjb2xzOjAscm93czowfSx4ZigpfWZ1bmN0aW9uIGtpKGUsdCl7aWYoci5zZWxlY3RlZElkKXt2YXIgbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZighKCFufHxuLnN0YXR1cyE9PSJydW5uaW5nIikmJiFmZShuKSl7ZT4yNTYmJihlPTI1NiksdD4xNjAmJih0PTE2MCk7dmFyIGk9e2NvbHM6ZSxyb3dzOnR9OyhyLmxhc3RSZXNpemUuY29scyE9PWkuY29sc3x8ci5sYXN0UmVzaXplLnJvd3MhPT1pLnJvd3MpJiYoci5sYXN0UmVzaXplPWksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIityLnNlbGVjdGVkSWQrIi9yZXNpemUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSl9fX1mdW5jdGlvbiBYZShlLHQpe2lmKCFyLnRlcm1pbmFsKXJldHVybiExO3ZhciBuPXR8fHt9LGk9bi5mb3JjZVJlcGxheT09PSEwLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCFhfHxhLm9mZnNldFdpZHRoPT09MHx8YS5vZmZzZXRIZWlnaHQ9PT0wKXJldHVybiBPcihlfHwiZml0LXJldHJ5Iix7Zm9yY2VSZXBsYXk6aX0pLCExO3ZhciB1PXIudGVybWluYWxBdXRvRm9sbG93fHxVYSgpLG89ci50ZXJtaW5hbC5jb2xzLHM9ci50ZXJtaW5hbC5yb3dzO3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtpZihyLnRlcm1pbmFsKXt0eXBlb2Ygci50ZXJtaW5hbC5yZW1lYXN1cmU9PSJmdW5jdGlvbiImJnIudGVybWluYWwucmVtZWFzdXJlKCksa2koci50ZXJtaW5hbC5jb2xzLHIudGVybWluYWwucm93cyk7dmFyIGw9ci50ZXJtaW5hbC5jb2xzIT09b3x8ci50ZXJtaW5hbC5yb3dzIT09czshbCYmaSYmci50ZXJtaW5hbE91dHB1dCYmUm4oe3NraXBGaXQ6ITB9KSx1JiZidCgiZm9yY2UiKX19KX0pLCEwfWZ1bmN0aW9uIE9yKGUsdCl7aWYoIXIudGVybWluYWwpcmV0dXJuO3ZhciBuPXR8fHt9LGk9bi5mb3JjZVJlcGxheSE9PSExLGE9MCx1PTg7ZnVuY3Rpb24gbygpe2lmKHIudGVybWluYWwpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihzJiZzLm9mZnNldEhlaWdodCxzJiZzLm9mZnNldFdpZHRoPjAmJnMub2Zmc2V0SGVpZ2h0PjApe1hlKGUse2ZvcmNlUmVwbGF5Oml9KTtyZXR1cm59KythPj11fHwoYTw9ND9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobyk6c2V0VGltZW91dChvLDMyKSl9fW8oKX1mdW5jdGlvbiBxdChlKXtyLnJlc2l6ZVRpbWVyJiYoY2xlYXJUaW1lb3V0KHIucmVzaXplVGltZXIpLHIucmVzaXplVGltZXI9bnVsbCk7dmFyIHQ9ZT8wOjEwMDtyLnJlc2l6ZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLnJlc2l6ZVRpbWVyPW51bGwscmVxdWVzdEFuaW1hdGlvbkZyYW1lKExmKX0sdCl9ZnVuY3Rpb24gTGYoKXtpZihyLnRlcm1pbmFsKXt2YXIgZT1yLnRlcm1pbmFsQXV0b0ZvbGxvd3x8VWEoKTtlJiZidCgiZm9yY2UiKSxraShyLnRlcm1pbmFsLmNvbHMsci50ZXJtaW5hbC5yb3dzKX19ZnVuY3Rpb24gWHQoZSl7ci53b3JraW5nRGlyPWU7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIixlKX1jYXRjaHt9TWYoZSl9ZnVuY3Rpb24gV2EoZSl7ZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtlKHR8fFtdKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZShbXSl9KX1mdW5jdGlvbiBNZihlKXtyZXR1cm4gZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDplfSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIHphKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PWV9KTt0JiZ0LnN0YXR1cyE9PSJydW5uaW5nIiYmIWZlKHQpP2xsKGUpOmp0KGUpLFJ0KCl9ZnVuY3Rpb24gT2YoZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgbj10LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIik7aWYobiYmbiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtpZihuLmRhdGFzZXQuY29sbGFwc2VkTmV3U2Vzc2lvbil7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksenUoKTtyZXR1cm59aWYobi5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksemEobi5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCk7cmV0dXJufWlmKG4uZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPW4uZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQsYT1uLmRhdGFzZXQuY3dkfHwiIix1PW4uZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/amk6Umk7dShpLGEpLnRoZW4oZnVuY3Rpb24obSl7bSYmbS5pZCYmKHIuc2VsZWN0ZWRJZD1tLmlkLGtlKCksci5kcmFmdHNbbS5pZF09IiIsbm4oKS50aGVuKGZ1bmN0aW9uKCl7anQobS5pZCl9KSl9KTtyZXR1cm59fXZhciBvPXQuY2xvc2VzdCgiI2NsYXVkZS1oaXN0b3J5LXRvZ2dsZSIpO2lmKG8pe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHIuY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSFyLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCxyLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCYmIXIuY2xhdWRlSGlzdG9yeUxvYWRlZCYmQ2koKSxFZSgpO3JldHVybn12YXIgcz10LmNsb3Nlc3QoIltkYXRhLWFjdGlvbl0iKTtpZihzJiZzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLW1hbmFnZS1tb2RlIilZYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJzZWxlY3QtYWxsLXZpc2libGUiKVhvKCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImNsZWFyLXNlbGVjdGlvbiIpJGMoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLXNlbGVjdGVkIilYYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtc2VsZWN0aW9uIilBcihzLmRhdGFzZXQua2luZCxzLmRhdGFzZXQuaWQpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJzd2lwZS1kZWxldGUtc2Vzc2lvbiImJnMuZGF0YXNldC5zZXNzaW9uSWQpcHUocy5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImRlbGV0ZS1zZXNzaW9uIiYmcy5kYXRhc2V0LnNlc3Npb25JZCkoZnVuY3Rpb24obSl7am4oIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NFx1OEZEOVx1NEUyQVx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbihnKXtnJiZwdShtKX0pfSkocy5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImRlbGV0ZS1oaXN0b3J5IiYmcy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCkoZnVuY3Rpb24obSxnKXtqbigiXHU3ODZFXHU4QkE0XHU1MjIwXHU5NjY0XHU4RkQ5XHU2NzYxIENsYXVkZSBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24oeSl7eSYmYWwobSxnKX0pfSkocy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCxzLmNsb3Nlc3QoIi5zZXNzaW9uLWl0ZW0iKSk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1oaXN0b3J5LWRpcmVjdG9yeSImJnMuZGF0YXNldC5jd2Qpe3ZhciBsPXMuZGF0YXNldC5jd2Q7ci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzW2xdPSFyLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnNbbF0sRWUoKX1lbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWhpc3RvcnktZGlyZWN0b3J5IiYmcy5kYXRhc2V0LmN3ZCkoZnVuY3Rpb24obSxnKXt2YXIgeT1MdihtKSxCPWtyKCkuZmlsdGVyKGZ1bmN0aW9uKEUpe3JldHVybiBFLmN3ZD09PW19KS5sZW5ndGg7am4oIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NEUwQlx1NzY4NCAiK0IrIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0FcdTc2RUVcdTVGNTVcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKEUpe0UmJih1bCh5LCEwKSxUdihtLGcseSkpfSl9KShzLmRhdGFzZXQuY3dkLHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJjbGVhci1hbGwtaGlzdG9yeSIpWmMoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIilyLmFyY2hpdmVkRXhwYW5kZWQ9IXIuYXJjaGl2ZWRFeHBhbmRlZCxFZSgpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUiJiZzLmRhdGFzZXQuc2Vzc2lvbklkKVB2KHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpSHYocyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZS1jb2RleC1oaXN0b3J5IiYmcy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZClxdihzKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWNvZGV4LWhpc3RvcnkiJiZzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKV92KHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtY29kZXgtaGlzdG9yeS1kaXJlY3RvcnkiJiZzLmRhdGFzZXQuY3dkKXt2YXIgZD1zLmRhdGFzZXQuY3dkO3IuY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzW2RdPSFyLmNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyc1tkXSxFZSgpfWVsc2Ugcy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1tZXJnZSImJnMuZGF0YXNldC5zZXNzaW9uSWQ/Y2Qocy5kYXRhc2V0LnNlc3Npb25JZCk6cy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1jbGVhbnVwIiYmcy5kYXRhc2V0LnNlc3Npb25JZCYmZmQocy5kYXRhc2V0LnNlc3Npb25JZCk7cmV0dXJufXZhciBmPXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKGYpe2lmKHIuc2Vzc2lvbnNNYW5hZ2VNb2RlKXtmLmRhdGFzZXQuc2Vzc2lvbklkP0FyKCJzZXNzaW9ucyIsZi5kYXRhc2V0LnNlc3Npb25JZCk6Zi5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmQXIoZi5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij8iY29kZXgiOiJoaXN0b3J5IixmLmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkKTtyZXR1cm59aWYoZi5jbGFzc0xpc3QuY29udGFpbnMoInN3aXBlZCIpKXtWcigpO3JldHVybn1pZihvbClyZXR1cm47aWYoZi5kYXRhc2V0LnNlc3Npb25JZCl6YShmLmRhdGFzZXQuc2Vzc2lvbklkKTtlbHNlIGlmKGYuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpe3ZhciBjPWYuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQsdj1mLmRhdGFzZXQuY3dkLGg9Zi5kYXRhc2V0LnByb3ZpZGVyPT09ImNvZGV4Ij9qaTpSaTtoKGMsdikudGhlbihmdW5jdGlvbihtKXttJiZtLmlkJiYoci5zZWxlY3RlZElkPW0uaWQsa2UoKSxyLmRyYWZ0c1ttLmlkXT0iIixubigpLnRoZW4oZnVuY3Rpb24oKXtqdChtLmlkKSxSdCgpfSkpfSl9fX19ZnVuY3Rpb24gUGYoZSl7aWYoIShlLmtleSE9PSJFbnRlciImJmUua2V5IT09IiAiKSl7dmFyIHQ9ZS50YXJnZXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKHQpe2lmKGUucHJldmVudERlZmF1bHQoKSxyLnNlc3Npb25zTWFuYWdlTW9kZSl7dC5kYXRhc2V0LnNlc3Npb25JZD9Bcigic2Vzc2lvbnMiLHQuZGF0YXNldC5zZXNzaW9uSWQpOnQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQmJkFyKHQuZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/ImNvZGV4IjoiaGlzdG9yeSIsdC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCk7cmV0dXJufWlmKHQuZGF0YXNldC5zZXNzaW9uSWQpemEodC5kYXRhc2V0LnNlc3Npb25JZCk7ZWxzZSBpZih0LmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkKXt2YXIgbj10LmRhdGFzZXQuY2xhdWRlSGlzdG9yeUlkLGk9dC5kYXRhc2V0LmN3ZCxhPXQuZGF0YXNldC5wcm92aWRlcj09PSJjb2RleCI/amk6Umk7YShuLGkpLnRoZW4oZnVuY3Rpb24odSl7dSYmdS5pZCYmKHIuc2VsZWN0ZWRJZD11LmlkLGtlKCksci5kcmFmdHNbdS5pZF09IiIsbm4oKS50aGVuKGZ1bmN0aW9uKCl7anQodS5pZCksUnQoKX0pKX0pfX19fWZ1bmN0aW9uIFZhKGUsdCl7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSk7aWYobil7dmFyIGk9bltlXTtpZighaSl7eCgiXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU1OTBEXHU1MjM2XHU3Njg0XHU1MTg1XHU1QkI5XHUzMDAyIiwiZXJyb3IiKTtyZXR1cm59YWkoU3RyaW5nKGkpLG51bGwsZnVuY3Rpb24oKXt4KHR8fCJcdTVERjJcdTU5MERcdTUyMzYiLCJpbmZvIil9KX19ZnVuY3Rpb24gRHQoKXtyZXR1cm4hci50ZXJtaW5hbHx8IXIudGVybWluYWwuZWxlbWVudD9udWxsOihyLnRlcm1pbmFsVmlld3BvcnRFbD1yLnRlcm1pbmFsLmVsZW1lbnQsci50ZXJtaW5hbFZpZXdwb3J0RWwpfWZ1bmN0aW9uIGlyKCl7ci50ZXJtaW5hbFNjcm9sbElkbGVUaW1lciYmKGNsZWFyVGltZW91dChyLnRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyKSxyLnRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyPW51bGwpfWZ1bmN0aW9uIGN0KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIiksdD0hIXIuc2VsZWN0ZWRJZCYmci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCImJiFyLnRlcm1pbmFsQXV0b0ZvbGxvdyYmIWJzKCk7ci5zaG93VGVybWluYWxKdW1wVG9Cb3R0b209dCxlJiZlLmNsYXNzTGlzdC50b2dnbGUoInZpc2libGUiLHQpO3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtuJiZuLmNsYXNzTGlzdC50b2dnbGUoImhhcy1qdW1wLWJ0biIsdCl9ZnVuY3Rpb24gVWEoKXt2YXIgZT1EdCgpO2lmKCFlKXJldHVybiEwO3ZhciB0PWUuc2Nyb2xsSGVpZ2h0LWUuY2xpZW50SGVpZ2h0LWUuc2Nyb2xsVG9wO3JldHVybiB0PD1yLnRlcm1pbmFsU2Nyb2xsVGhyZXNob2xkfWZ1bmN0aW9uIGJzKCl7dmFyIGU9RHQoKTtpZighZSlyZXR1cm4hMDt2YXIgdD1lLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC1lLnNjcm9sbFRvcDtyZXR1cm4gdDw9Mn1mdW5jdGlvbiBFcyhlKXtpZihyLnRlcm1pbmFsKXt2YXIgdD1EdCgpO2lmKHQpe3ZhciBuPWU/NTAwOjEyMDtyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw9TWF0aC5tYXgoci50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsLERhdGUubm93KCkrbiksZT90LnNjcm9sbFRvKHt0b3A6dC5zY3JvbGxIZWlnaHQsYmVoYXZpb3I6InNtb290aCJ9KTp0LnNjcm9sbFRvcD10LnNjcm9sbEhlaWdodH19fWZ1bmN0aW9uIEthKCl7ci50ZXJtaW5hbEF1dG9Gb2xsb3c9ITEsaXIoKSxyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw9MCxyLnRlcm1pbmFsJiYiX3Nob3VsZFNjcm9sbFRvQm90dG9tImluIHIudGVybWluYWwmJihyLnRlcm1pbmFsLl9zaG91bGRTY3JvbGxUb0JvdHRvbT0hMSksY3QoKX1mdW5jdGlvbiBidChlKXtpZihyLnRlcm1pbmFsKXt2YXIgdD1lPT09ImZvcmNlIjtpZih0KXtyLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMCxpcigpLEVzKCExKSxjdCgpO3JldHVybn1pZighci50ZXJtaW5hbEF1dG9Gb2xsb3cpe2N0KCk7cmV0dXJufUVzKCExKSxjdCgpfX1mdW5jdGlvbiBxZihlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0idGVybWluYWwtc2Nyb2xsYmFyIjt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTmFtZT0idGVybWluYWwtc2Nyb2xsYmFyLXRyYWNrIjt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0idGVybWluYWwtc2Nyb2xsYmFyLXRodW1iIixuLmFwcGVuZENoaWxkKGkpLHQuYXBwZW5kQ2hpbGQobiksZS5hcHBlbmRDaGlsZCh0KSxyLnRlcm1pbmFsU2Nyb2xsYmFyRWw9dCxyLnRlcm1pbmFsU2Nyb2xsYmFyVGh1bWJFbD1pLHIudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCxyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsci50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITE7ZnVuY3Rpb24gYSgpe3IudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXImJihjbGVhclRpbWVvdXQoci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciksci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lcj1udWxsKSx0LmNsYXNzTGlzdC5hZGQoInZpc2libGUiKX1mdW5jdGlvbiB1KCl7ci50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nfHwoci50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmY2xlYXJUaW1lb3V0KHIudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXIpLHIudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3IudGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCxyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmd8fHQuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSwxNTAwKSl9ZnVuY3Rpb24gbygpe3IudGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nPSExO3ZhciBnPUR0KCk7aWYoZyl7dmFyIHk9Zy5zY3JvbGxIZWlnaHQsQj1nLmNsaWVudEhlaWdodDtpZih5PD1CKXt0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKTtyZXR1cm59dmFyIEU9bi5jbGllbnRIZWlnaHQsQz1NYXRoLm1heCgyOCxCL3kqRSksRD15LUIsRj1nLnNjcm9sbFRvcC9ELEw9RiooRS1DKTtpLnN0eWxlLmhlaWdodD1DKyJweCIsaS5zdHlsZS50b3A9TCsicHgifX1mdW5jdGlvbiBzKCl7ci50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmd8fChyLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUobykpfXZhciBsPUR0KCk7bCYmbC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGZ1bmN0aW9uKCl7YSgpLHMoKSx1KCl9LHtwYXNzaXZlOiEwfSksbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGcpe2lmKGcudGFyZ2V0IT09aSl7Zy5wcmV2ZW50RGVmYXVsdCgpO3ZhciB5PUR0KCk7aWYoeSl7dmFyIEI9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxFPShnLmNsaWVudFktQi50b3ApL0IuaGVpZ2h0LEM9eS5zY3JvbGxIZWlnaHQteS5jbGllbnRIZWlnaHQ7eS5zY3JvbGxUb3A9RSpDfX19KTt2YXIgZD0wLGY9MDtpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZnVuY3Rpb24oZyl7Zy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCksci50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSEwLGkuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxkPWcuY2xpZW50WTt2YXIgeT1EdCgpO2Y9eT95LnNjcm9sbFRvcDowLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsYyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdil9KTtmdW5jdGlvbiBjKGcpe2cucHJldmVudERlZmF1bHQoKTt2YXIgeT1EdCgpO2lmKHkpe3ZhciBCPW4uY2xpZW50SGVpZ2h0LEU9eS5zY3JvbGxIZWlnaHQsQz15LmNsaWVudEhlaWdodCxEPUUtQztpZighKEQ8PTApKXt2YXIgRj1NYXRoLm1heCgyOCxDL0UqQiksTD1CLUY7aWYoIShMPD0wKSl7dmFyIEk9Zy5jbGllbnRZLWQsTj1JL0wqRDt5LnNjcm9sbFRvcD1mK059fX19ZnVuY3Rpb24gdigpe3IudGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixjKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix2KSx1KCl9aS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbihnKXtpZihnLnRvdWNoZXMubGVuZ3RoPT09MSl7Zy5zdG9wUHJvcGFnYXRpb24oKSxyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITAsaS5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLGQ9Zy50b3VjaGVzWzBdLmNsaWVudFk7dmFyIHk9RHQoKTtmPXk/eS5zY3JvbGxUb3A6MCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGgse3Bhc3NpdmU6ITF9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLG0pfX0se3Bhc3NpdmU6ITF9KTtmdW5jdGlvbiBoKGcpe2lmKGcudG91Y2hlcy5sZW5ndGg9PT0xKXtnLnByZXZlbnREZWZhdWx0KCk7dmFyIHk9RHQoKTtpZih5KXt2YXIgQj1uLmNsaWVudEhlaWdodCxFPXkuc2Nyb2xsSGVpZ2h0LEM9eS5jbGllbnRIZWlnaHQsRD1FLUM7aWYoIShEPD0wKSl7dmFyIEY9TWF0aC5tYXgoMjgsQy9FKkIpLEw9Qi1GO2lmKCEoTDw9MCkpe3ZhciBJPWcudG91Y2hlc1swXS5jbGllbnRZLWQsTj1JL0wqRDt5LnNjcm9sbFRvcD1mK059fX19fWZ1bmN0aW9uIG0oKXtyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixtKSx1KCl9dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixmdW5jdGlvbigpe2EoKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsZnVuY3Rpb24oKXtyLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmd8fHUoKX0pLHMoKX1mdW5jdGlvbiBfZihlKXtyZXR1cm4gZTw0MzUyPyExOmU+PTQzNTImJmU8PTQ0NDd8fGU+PTkwMDEmJmU8PTkwMDJ8fGU+PTExOTA0JiZlPD0xMjM1MHx8ZT49MTIzNTMmJmU8PTEzMzExfHxlPj0xMzMxMiYmZTw9MTk5MDN8fGU+PTE5OTY4JiZlPD00MDk1OXx8ZT49NDA5NjAmJmU8PTQyMTkxfHxlPj00NDAzMiYmZTw9NTUyMDN8fGU+PTYzNzQ0JiZlPD02NDI1NXx8ZT49NjUwNzImJmU8PTY1MTAzfHxlPj02NTI4MCYmZTw9NjUzNzZ8fGU+PTY1NTA0JiZlPD02NTUxMHx8ZT49MTI2OTc2JiZlPD0xMjk1MzV8fGU+PTEzMTA3MiYmZTw9MTk2NjA1fHxlPj0xOTY2MDgmJmU8PTI2MjE0MX12YXIgRnM9Ilx1MjA2MCI7ZnVuY3Rpb24gQ3MoKXtyZXR1cm57bW9kZToibm9ybWFsIn19ZnVuY3Rpb24gSGYoZSl7cmV0dXJuIS9bXlx4MDAtXHg3Zl0vLnRlc3QoZSkmJmUuaW5kZXhPZigiXHgxQiIpPT09LTF9ZnVuY3Rpb24gTmYoZSx0KXtpZighZSlyZXR1cm4iIjt2YXIgbj1TdHJpbmcoZSk7aWYodC5tb2RlPT09Im5vcm1hbCImJkhmKG4pKXJldHVybiBuO2Zvcih2YXIgaT0iIixhPTA7YTxuLmxlbmd0aDthKyspe3ZhciB1PW4uY2hhckNvZGVBdChhKSxvPXUscz0xO2lmKHU+PTU1Mjk2JiZ1PD01NjMxOSYmYSsxPG4ubGVuZ3RoKXt2YXIgbD1uLmNoYXJDb2RlQXQoYSsxKTtsPj01NjMyMCYmbDw9NTczNDMmJihvPSh1LTU1Mjk2KSoxMDI0KyhsLTU2MzIwKSs2NTUzNixzPTIpfXZhciBkPXM9PT0yP24uc3Vic3RyKGEsMik6bi5jaGFyQXQoYSk7c3dpdGNoKHQubW9kZSl7Y2FzZSJub3JtYWwiOm89PT0yNz8odC5tb2RlPSJlc2MiLGkrPWQpOm89PT0xNTU/KHQubW9kZT0iY3NpIixpKz1kKTpvPT09MTU3fHxvPT09MTQ0fHxvPT09MTU4fHxvPT09MTU5Pyh0Lm1vZGU9InN0cmluZyIsaSs9ZCk6KGkrPWQsX2YobykmJihpKz1GcykpO2JyZWFrO2Nhc2UiZXNjIjppKz1kLG89PT05MT90Lm1vZGU9ImNzaSI6bz09PTkzfHxvPT09ODB8fG89PT04OHx8bz09PTk0fHxvPT09OTU/dC5tb2RlPSJzdHJpbmciOnQubW9kZT0ibm9ybWFsIjticmVhaztjYXNlImNzaSI6aSs9ZCxvPj02NCYmbzw9MTI2JiYodC5tb2RlPSJub3JtYWwiKTticmVhaztjYXNlInN0cmluZyI6aSs9ZCxvPT09N3x8bz09PTE1Nj90Lm1vZGU9Im5vcm1hbCI6bz09PTI3JiYodC5tb2RlPSJzdHJpbmctZXNjIik7YnJlYWs7Y2FzZSJzdHJpbmctZXNjIjppKz1kLG89PT05Mj90Lm1vZGU9Im5vcm1hbCI6dC5tb2RlPSJzdHJpbmciO2JyZWFrfWErPXMtMX1yZXR1cm4gaX12YXIgQWk9Ilx4MUJbPzIwMjZoIixKYT0iXHgxQls/MjAyNmwiLGpmPTIwMCxSZj0yNTYqMTAyNDtmdW5jdGlvbiBXZihlKXtpZighZXx8ci5zeW5jT3V0cHV0QnVmZmVyPT09bnVsbCYmZS5pbmRleE9mKEFpKT09PS0xKXJldHVybiBlO2Zvcih2YXIgdD0iIixuPTA7bjxlLmxlbmd0aDspaWYoci5zeW5jT3V0cHV0QnVmZmVyIT09bnVsbCl7dmFyIGk9ZS5pbmRleE9mKEphLG4pO2lmKGk9PT0tMSlyZXR1cm4gci5zeW5jT3V0cHV0QnVmZmVyKz1lLnNsaWNlKG4pLChyLnN5bmNPdXRwdXRCdWZmZXIubGVuZ3RoPlJmfHxEYXRlLm5vdygpPnIuc3luY091dHB1dERlYWRsaW5lKSYmKHQrPXIuc3luY091dHB1dEJ1ZmZlcixyLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxyLnN5bmNGcmFtaW5nUmVzaWR1ZT0hMCksdDtyLnN5bmNPdXRwdXRCdWZmZXIrPWUuc2xpY2UobixpK0phLmxlbmd0aCksdCs9ci5zeW5jT3V0cHV0QnVmZmVyLHIuc3luY091dHB1dEJ1ZmZlcj1udWxsLG49aStKYS5sZW5ndGh9ZWxzZXt2YXIgYT1lLmluZGV4T2YoQWksbik7aWYoYT09PS0xKXJldHVybiB0Kz1lLnNsaWNlKG4pLHQ7dCs9ZS5zbGljZShuLGEpLHIuc3luY091dHB1dEJ1ZmZlcj1BaSxyLnN5bmNPdXRwdXREZWFkbGluZT1EYXRlLm5vdygpK2pmLG49YStBaS5sZW5ndGh9cmV0dXJuIHR9ZnVuY3Rpb24gd2goKXtpZihyLnN5bmNPdXRwdXRCdWZmZXIhPT1udWxsKXt2YXIgZT1yLnN5bmNPdXRwdXRCdWZmZXI7cmV0dXJuIHIuc3luY091dHB1dEJ1ZmZlcj1udWxsLGV9cmV0dXJuIiJ9ZnVuY3Rpb24gYXIoZSx0KXtpZighKCFlfHx0PT1udWxsKSl7ci53aWRlUGFyc2VyU3RhdGV8fChyLndpZGVQYXJzZXJTdGF0ZT1DcygpKTt2YXIgbj1OZih0LHIud2lkZVBhcnNlclN0YXRlKSxpPVdmKG4pLGE9ci50ZXJtaW5hbEF1dG9Gb2xsb3chPT0hMTsiX3Nob3VsZFNjcm9sbFRvQm90dG9tImluIGUmJihlLl9zaG91bGRTY3JvbGxUb0JvdHRvbT1hKSxpJiZlLndyaXRlKGkpLCJfc2hvdWxkU2Nyb2xsVG9Cb3R0b20iaW4gZSYmKGUuX3Nob3VsZFNjcm9sbFRvQm90dG9tPWEpLGEmJihyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWw9TWF0aC5tYXgoci50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsLERhdGUubm93KCkrMTIwKSksWGYodCl9fWZ1bmN0aW9uIEdhKCl7ci53aWRlUGFyc2VyU3RhdGU9Q3MoKX1mdW5jdGlvbiB6Zigpe3R5cGVvZiBkb2N1bWVudD4idSJ8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvcHkiLGZ1bmN0aW9uKGUpe3ZhciB0PXdpbmRvdy5nZXRTZWxlY3Rpb24mJndpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighKCF0fHx0LmlzQ29sbGFwc2VkKSl7dmFyIG49dC5hbmNob3JOb2RlLGk9biYmbi5ub2RlVHlwZT09PTM/bi5wYXJlbnROb2RlOm4sYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoISghYXx8IWl8fCFhLmNvbnRhaW5zKGkpKSl7dmFyIHU9dC50b1N0cmluZygpLG89dS5zcGxpdChgCmApLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy5zcGxpdChGcykuam9pbigiIikucmVwbGFjZSgvWyBcdF0rJC8sIiIpfSkuam9pbihgCmApO28hPT11JiZlLmNsaXBib2FyZERhdGEmJihlLmNsaXBib2FyZERhdGEuc2V0RGF0YSgidGV4dC9wbGFpbiIsbyksZS5wcmV2ZW50RGVmYXVsdCgpKX19fSl9emYoKTt2YXIgd3M9MTUwLEJzPTMwLFZmPTE2MCoxMDI0LFVmPTE5MioxMDI0O2Z1bmN0aW9uIERzKGUpe2lmKCFlfHxlLmxlbmd0aDw9VWYpcmV0dXJuIGU7dmFyIHQ9ZS5sZW5ndGgsbj1mdW5jdGlvbihGKXtpZighKHR5cGVvZiByPiJ1Inx8IXIpKXt2YXIgTD1yLnRlcm1pbmFsT3V0cHV0TWFya2VyfDA7aWYoIShMPD0wKSl7dmFyIEk9dC1GO3IudGVybWluYWxPdXRwdXRNYXJrZXI9TD5JP0wtSTowfX19LGk9ZS5sZW5ndGgtVmY7aWYoaT4wJiZpPGUubGVuZ3RoKXt2YXIgYT1lLmNoYXJDb2RlQXQoaSk7YT49NTYzMjAmJmE8PTU3MzQzJiZpKyt9Zm9yKHZhciB1PTQwOTYsbz1NYXRoLm1pbihpK3UsZS5sZW5ndGgpLHM9aTtzPG87cysrKWlmKGUuY2hhckNvZGVBdChzKT09PTEwKXt2YXIgbD1lLnNsaWNlKHMrMSk7cmV0dXJuIG4obC5sZW5ndGgpLGx9Zm9yKHZhciBkPU1hdGgubWF4KDAsaS0yNTYpLGY9LTEsYz1pLTE7Yz49ZDtjLS0pe3ZhciB2PWUuY2hhckNvZGVBdChjKTtpZih2PT09Mjcpe2Y9YzticmVha31pZih2PT09N3x8dj49NjQmJnY8PTEyNilicmVha31pZihmIT09LTEpe2Zvcih2YXIgaD0hMSxtPWYrMTttPGk7bSsrKXt2YXIgZz1lLmNoYXJDb2RlQXQobSk7aWYoZz09PTcpe2g9ITA7YnJlYWt9aWYoZz49NjQmJmc8PTEyNil7aD0hMDticmVha319aWYoIWgpZm9yKHZhciB5PU1hdGgubWluKGkrMjU2LGUubGVuZ3RoKSxCPWk7Qjx5O0IrKyl7dmFyIEU9ZS5jaGFyQ29kZUF0KEIpO2lmKEU9PT03fHxFPj02NCYmRTw9MTI2KXt2YXIgQz1lLnNsaWNlKEIrMSk7cmV0dXJuIG4oQy5sZW5ndGgpLEN9fX12YXIgRD1lLnNsaWNlKGkpO3JldHVybiBuKEQubGVuZ3RoKSxEfWZ1bmN0aW9uIHhpKCl7aWYoci50ZXJtaW5hbCl7aWYodHlwZW9mIHIudGVybWluYWwucmVzZXQ9PSJmdW5jdGlvbiIpe3IudGVybWluYWwucmVzZXQoKSxHYSgpLHIuc3luY091dHB1dEJ1ZmZlcj1udWxsLHIuc3luY091dHB1dERlYWRsaW5lPTA7cmV0dXJufXR5cGVvZiByLnRlcm1pbmFsLndyaXRlPT0iZnVuY3Rpb24iJiZyLnRlcm1pbmFsLndyaXRlKCJceDFCYyIpLEdhKCksci5zeW5jT3V0cHV0QnVmZmVyPW51bGwsci5zeW5jT3V0cHV0RGVhZGxpbmU9MH19ci5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD0wLHIuX3Jlc3luY1N0YXRzQ291bnQ9MCxyLl9yZXN5bmNMYXN0V2FybkF0PTA7dmFyIEtmPTVlMyxKZj0xMixHZj0zZTQ7ci5fcmVzeW5jSW5Qcm9ncmVzcz0hMTtmdW5jdGlvbiBSbihlKXtpZighci50ZXJtaW5hbHx8IXIudGVybWluYWxPdXRwdXQpcmV0dXJuITE7dmFyIHQ9ZXx8e30sbj1yLnRlcm1pbmFsT3V0cHV0TWFya2VyfDA7bjwwJiYobj0wKSxuPnIudGVybWluYWxPdXRwdXQubGVuZ3RoJiYobj1yLnRlcm1pbmFsT3V0cHV0Lmxlbmd0aCk7dmFyIGk9bj4wP3IudGVybWluYWxPdXRwdXQuc2xpY2Uobik6ci50ZXJtaW5hbE91dHB1dCxhPWkubGVuZ3RoLHU9dHlwZW9mIHBlcmZvcm1hbmNlPCJ1IiYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOkRhdGUubm93KCk7ci5fcmVzeW5jSW5Qcm9ncmVzcz0hMDt0cnl7eGkoKSxhcihyLnRlcm1pbmFsLGkpfWZpbmFsbHl7ci5fcmVzeW5jSW5Qcm9ncmVzcz0hMX1yLmxhc3RUZXJtaW5hbFJlc3luY0F0PURhdGUubm93KCksYnQoIm91dHB1dCIpLHQuc2tpcEZpdHx8WGUoInJlZnJlc2giKTt2YXIgbz1EYXRlLm5vdygpO2lmKG8tci5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD5LZilyLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0PW8sci5fcmVzeW5jU3RhdHNDb3VudD0xO2Vsc2UgaWYoci5fcmVzeW5jU3RhdHNDb3VudCsrLHIuX3Jlc3luY1N0YXRzQ291bnQ+SmYmJm8tci5fcmVzeW5jTGFzdFdhcm5BdD5HZil7ci5fcmVzeW5jTGFzdFdhcm5BdD1vO3ZhciBzPXR5cGVvZiBwZXJmb3JtYW5jZTwidSImJnBlcmZvcm1hbmNlLm5vdz9wZXJmb3JtYW5jZS5ub3coKTpEYXRlLm5vdygpO2NvbnNvbGUud2FybigiW3dhbmRdIHNvZnRSZXN5bmNUZXJtaW5hbCBoaWdoIGZyZXF1ZW5jeSIsImNvdW50PSIrci5fcmVzeW5jU3RhdHNDb3VudCsiLyIrTWF0aC5yb3VuZCgoby1yLl9yZXN5bmNTdGF0c1dpbmRvd1N0YXJ0KS8xMDApLzEwKyJzIiwiYnVmTGVuPSIrYSwibGFzdFJlcGxheU1zPSIrTWF0aC5yb3VuZChzLXUpKX1yZXR1cm4hMH1mdW5jdGlvbiBZZihlKXtyLnNvZnRSZXN5bmNUaW1lciYmY2xlYXJUaW1lb3V0KHIuc29mdFJlc3luY1RpbWVyKSxyLnNvZnRSZXN5bmNUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5zb2Z0UmVzeW5jVGltZXI9bnVsbCxSbigpfSx0eXBlb2YgZT09Im51bWJlciI/ZToxNTApfXZhciBRZj0vXHgxYlxbXGQqKD86O1xkKik/W0FCQ0RmSEpLXS8sa3M9MTUwMCwkZj04MDA7ci5fcmVzeW5jQ2h1bmtMYXN0QXQ9MCxyLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsO2Z1bmN0aW9uIFhmKGUpe2lmKCFyLl9yZXN5bmNJblByb2dyZXNzJiZyLnN5bmNGcmFtaW5nUmVzaWR1ZSYmKHIuc3luY0ZyYW1pbmdSZXNpZHVlPSExLCEoIWV8fHR5cGVvZiBlIT0ic3RyaW5nIikmJmUuaW5kZXhPZigiXHgxQlsiKSE9PS0xJiZRZi50ZXN0KGUpKSl7dmFyIHQ9RGF0ZS5ub3coKSxuPXQtci5fcmVzeW5jQ2h1bmtMYXN0QXQ7aWYobj49a3Mpe3IuX3Jlc3luY0NodW5rVGFpbFRpbWVyJiYoY2xlYXJUaW1lb3V0KHIuX3Jlc3luY0NodW5rVGFpbFRpbWVyKSxyLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsKSxyLl9yZXN5bmNDaHVua0xhc3RBdD10LFJuKCk7cmV0dXJufWlmKCFyLl9yZXN5bmNDaHVua1RhaWxUaW1lcil7dmFyIGk9TWF0aC5tYXgoJGYsa3Mtbik7ci5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe3IuX3Jlc3luY0NodW5rVGFpbFRpbWVyPW51bGwsci5fcmVzeW5jQ2h1bmtMYXN0QXQ9RGF0ZS5ub3coKSxSbigpfSxpKX19fWZ1bmN0aW9uIFNpKGUsdCxuKXtpZighci50ZXJtaW5hbClyZXR1cm4hMTt2YXIgaT1TdSh0fHwiIiksYT1lfHxudWxsLHU9bnx8e30sbz11Lm1vZGV8fCJhcHBlbmQiLHM9dS5zY3JvbGwhPT0hMSxsPXIudGVybWluYWxTZXNzaW9uSWQhPT1hLGQ9ci50ZXJtaW5hbE91dHB1dHx8IiIsZj0hIShhJiZyLnRlcm1pbmFsTGl2ZVN0cmVhbVNlc3Npb25zW2FdKSxjPSExO2lmKGk9PT1kJiYhbClyZXR1cm4gcyYmYnQoIm91dHB1dCIpLGN0KCksITE7aWYobCYmKHhpKCksZD0iIixyLnRlcm1pbmFsT3V0cHV0PSIiLHIudGVybWluYWxPdXRwdXRNYXJrZXI9MCxyLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMCxpcigpLGN0KCkpLG89PT0icmVwbGFjZSIpaSE9PWQmJih4aSgpLGkmJmFyKHIudGVybWluYWwsaSksYz0hMCk7ZWxzZXtpZihpLmxlbmd0aDxkLmxlbmd0aCYmIWwpcmV0dXJuITE7aWYoZiYmIWwmJm8hPT0icmVwbGFjZSImJmQmJiFpLnN0YXJ0c1dpdGgoZCkpcmV0dXJuITE7aWYoaS5zdGFydHNXaXRoKGQpKXt2YXIgdj1pLnNsaWNlKGQubGVuZ3RoKTt2JiYoYXIoci50ZXJtaW5hbCx2KSxjPSEwKX1lbHNle2lmKGQmJmQuc3RhcnRzV2l0aChpKSlyZXR1cm4hMTt4aSgpLGkmJmFyKHIudGVybWluYWwsaSksYz0hMH19cmV0dXJuIHIudGVybWluYWxTZXNzaW9uSWQ9YSxyLnRlcm1pbmFsT3V0cHV0PWksci50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLHMmJihjfHxsfHxvPT09InJlcGxhY2UiKT9idChsfHxvPT09InJlcGxhY2UiPyJmb3JjZSI6Im91dHB1dCIpOmN0KCksbCYma2koci50ZXJtaW5hbC5jb2xzLHIudGVybWluYWwucm93cyksY3x8bH1mdW5jdGlvbiB1cigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZighKCFlfHxyLnRlcm1pbmFsfHxyLnRlcm1pbmFsSW5pdGlhbGl6aW5nKSl7aWYodHlwZW9mIFdUZXJtTGliPiJ1Inx8IVdUZXJtTGliLldUZXJtKXtyLnRlcm1pbmFsSW5pdFJldHJpZXN8fChyLnRlcm1pbmFsSW5pdFJldHJpZXM9MCksci50ZXJtaW5hbEluaXRSZXRyaWVzPDEwJiYoci50ZXJtaW5hbEluaXRSZXRyaWVzKyssc2V0VGltZW91dCh1ciwyMDApKTtyZXR1cm59ci50ZXJtaW5hbEluaXRSZXRyaWVzPTAsci50ZXJtaW5hbEluaXRpYWxpemluZz0hMCxyLnNlbGVjdGVkSWQmJihlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGUuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikpO2Zvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi50ZXJtaW5hbC1zY3JvbGwtd3JhcCIpLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXTtpLnBhcmVudE5vZGU9PT1lJiZlLnJlbW92ZUNoaWxkKGkpfXZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1zY3JvbGwtd3JhcCIsZS5hcHBlbmRDaGlsZChhKTt2YXIgdT1uZXcgV1Rlcm1MaWIuV1Rlcm0oYSx7Y29sczoxMjAscm93czozNixhdXRvUmVzaXplOiEwLGN1cnNvckJsaW5rOiExLG9uRGF0YTpmdW5jdGlvbigpe30sb25SZXNpemU6ZnVuY3Rpb24ocyxsKXtraShzLGwpLHIudGVybWluYWwmJnIudGVybWluYWxPdXRwdXQmJlJuKHtza2lwRml0OiEwfSl9fSksbz1kb2N1bWVudC5mb250cyYmdHlwZW9mIGRvY3VtZW50LmZvbnRzLnJlYWR5PT0ib2JqZWN0Ij9Qcm9taXNlLnJhY2UoW2RvY3VtZW50LmZvbnRzLnJlYWR5LG5ldyBQcm9taXNlKGZ1bmN0aW9uKHMpe3NldFRpbWVvdXQocyw4MDApfSldKTpQcm9taXNlLnJlc29sdmUoKTtvLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdS5pbml0KCl9KS50aGVuKGZ1bmN0aW9uKCl7aWYoci50ZXJtaW5hbD11LHIudGVybWluYWxJbml0aWFsaXppbmc9ITEsQ28oKSxhLmlzQ29ubmVjdGVkJiYoYS5vZmZzZXRIZWlnaHQsdHlwZW9mIHUucmVtZWFzdXJlPT0iZnVuY3Rpb24iKSl0cnl7dS5yZW1lYXN1cmUoKX1jYXRjaHt9ci50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsaXIoKTt2YXIgcz1EdCgpO2lmKHMmJihyLnRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyPWZ1bmN0aW9uKCl7aWYoRGF0ZS5ub3coKTxyLnRlcm1pbmFsUHJvZ3JhbW1hdGljU2Nyb2xsVW50aWwpe2N0KCk7cmV0dXJufWlmKGJzKCkpe3IudGVybWluYWxBdXRvRm9sbG93PSEwLGlyKCksY3QoKTtyZXR1cm59S2EoKX0sci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXI9ZnVuY3Rpb24oZCl7ZC50b3VjaGVzJiZkLnRvdWNoZXMubGVuZ3RoPT09MSYmKHIudGVybWluYWxUb3VjaFN0YXJ0WT1kLnRvdWNoZXNbMF0uY2xpZW50WSl9LHIudGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcj1mdW5jdGlvbihkKXshZC50b3VjaGVzfHxkLnRvdWNoZXMubGVuZ3RoIT09MXx8dHlwZW9mIHIudGVybWluYWxUb3VjaFN0YXJ0WT09Im51bWJlciImJmQudG91Y2hlc1swXS5jbGllbnRZLXIudGVybWluYWxUb3VjaFN0YXJ0WT40JiZLYSgpfSxzLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsci50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcix7cGFzc2l2ZTohMH0pLHMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsci50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyLHtwYXNzaXZlOiEwfSkpLHIudGVybWluYWxXaGVlbEhhbmRsZXI9ZnVuY3Rpb24oZCl7ZC5kZWx0YVk8MCYmS2EoKSxkLnN0b3BQcm9wYWdhdGlvbigpfSxlLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixyLnRlcm1pbmFsV2hlZWxIYW5kbGVyLHtwYXNzaXZlOiEwfSkscWYoZSksci5zZWxlY3RlZElkKXt2YXIgbD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT1yLnNlbGVjdGVkSWR9KTtsJiZTaShsLmlkLGwub3V0cHV0fHwiIix7bW9kZToiYXBwZW5kIixzY3JvbGw6ITF9KX1lbHNlIGFyKHUsYFx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMlxyCmApO3IudGVybWluYWxDbGlja0hhbmRsZXI9ZnVuY3Rpb24oZCl7SGkoKXx8SHQoZCl9LGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHIudGVybWluYWxDbGlja0hhbmRsZXIpLGN0KCksZ2YoKSxiZigpLFNmKCksSWYoKSxYZSgibW91bnQiLHtmb3JjZVJlcGxheTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSYmWzEyMCwzNTAsNzAwXS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtyLnRlcm1pbmFsJiZYZSgiZW1iZWQtc2V0dGxlIil9LGQpfSl9KS5jYXRjaChmdW5jdGlvbihzKXtyLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSExLGNvbnNvbGUuZXJyb3IoIlt3YW5kXSB3dGVybSBpbml0IGZhaWxlZDoiLHMpfSl9fWZ1bmN0aW9uIFpmKGUsdCl7aWYoISghci5zZWxlY3RlZElkfHwhZSkpe3ZhciBuPXIuc2VsZWN0ZWRJZCsiOiIrZTtpZihyLnRvb2xDb250ZW50Q2FjaGVbbl0pe3QobnVsbCxyLnRvb2xDb250ZW50Q2FjaGVbbl0pO3JldHVybn1mZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChyLnNlbGVjdGVkSWQpKyIvdG9vbC1jb250ZW50LyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2kuZXJyb3I/dChpLmVycm9yLG51bGwpOihyLnRvb2xDb250ZW50Q2FjaGVbbl09aSx0KG51bGwsaSkpfSkuY2F0Y2goZnVuY3Rpb24oKXt0KCJcdTUyQTBcdThGN0RcdTU5MzFcdThEMjUiLG51bGwpfSl9fWZ1bmN0aW9uIFduKGUpe3JldHVybiEhKHIuY29uZmlnJiZyLmNvbmZpZy5jYXJkRGVmYXVsdHMmJnIuY29uZmlnLmNhcmREZWZhdWx0c1tlXSl9ZnVuY3Rpb24gWWEoZSx0LG4saSl7aWYoISghZXx8ZS5kYXRhc2V0LnRydW5jYXRlZCE9PSJ0cnVlInx8ZS5kYXRhc2V0LmxvYWRlZD09PSJ0cnVlIikpe3ZhciBhPWUuZGF0YXNldC50b29sVXNlSWQ7YSYmKHQmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0idG9vbC1jb250ZW50LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PicpLGUuZGF0YXNldC5sb2FkZWQ9ImxvYWRpbmciLFpmKGEsZnVuY3Rpb24odSxvKXtpZih1KXt0JiYodC5pbm5lckhUTUw9aXx8JzxkaXYgY2xhc3M9InRvb2wtY29udGVudC1lcnJvciI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1XHVGRjBDXHU3MEI5XHU1MUZCXHU5MUNEXHU4QkQ1PC9kaXY+JyksZS5kYXRhc2V0LmxvYWRlZD0iIjtyZXR1cm59ZS5kYXRhc2V0LnRydW5jYXRlZD0iZmFsc2UiLGUuZGF0YXNldC5sb2FkZWQ9InRydWUiO3ZhciBzPXR5cGVvZiBvLmNvbnRlbnQ9PSJzdHJpbmciP28uY29udGVudDpKU09OLnN0cmluZ2lmeShvLmNvbnRlbnQpO24ocyxvKX0pKX19d2luZG93Ll9fdGNUb2dnbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10LmNsb3Nlc3QoIi50b29sLXVzZS1jYXJkIil8fHQuY2xvc2VzdCgiLmlubGluZS1kaWZmIik7aWYobil7dmFyIGk9bi5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO24uY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIik7dmFyIGE9aTt0LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsYT8idHJ1ZSI6ImZhbHNlIik7dmFyIHU9bi5xdWVyeVNlbGVjdG9yKCIudG9vbC11c2UtYm9keSwgLmRpZmYtYm9keSIpO3UmJnUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsYT8iZmFsc2UiOiJ0cnVlIik7dmFyIG89bi5kYXRhc2V0LmV4cGFuZEtpbmR8fCJ0b29sLWNhcmQiO2lmKCRuKG4sbyksaSl7dmFyIHM9bi5xdWVyeVNlbGVjdG9yKCIudG9vbC11c2UtcmVzdWx0Iik7WWEobixzLGZ1bmN0aW9uKGwpe3MmJihzLmlubmVySFRNTD0nPHByZSBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWNvbnRlbnQiPicrcChsKSsiPC9wcmU+Iil9LGA8ZGl2IGNsYXNzPSJ0b29sLWNvbnRlbnQtZXJyb3IiIG9uY2xpY2s9Il9fdGNUb2dnbGUobnVsbCwgdGhpcy5jbG9zZXN0KCcudG9vbC11c2UtY2FyZCwuaW5saW5lLWRpZmYnKS5xdWVyeVNlbGVjdG9yKCcudG9vbC11c2UtaGVhZGVyLC5kaWZmLWhlYWRlcicpKSI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1XHVGRjBDXHU3MEI5XHU1MUZCXHU5MUNEXHU4QkQ1PC9kaXY+YCl9fWUmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9LHdpbmRvdy5fX3RoaW5raW5nVG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZWQiKTtpZih0KXtlLmNsYXNzTGlzdC5yZW1vdmUoImNvbGxhcHNlZCIpLGUuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKSxlLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpLnRleHRDb250ZW50PWUuZGF0YXNldC50aGlua2luZ3x8IiI7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO24mJihuLnRleHRDb250ZW50PSJcdTY1MzZcdThENzciKX1lbHNle2UuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSxlLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpO3ZhciBpPShlLmRhdGFzZXQudGhpbmtpbmd8fCIiKS5zbGljZSgwLDU3KSsoKGUuZGF0YXNldC50aGlua2luZ3x8IiIpLmxlbmd0aD42MD8iXHUyMDI2IjoiIik7ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLXByZXZpZXciKS50ZXh0Q29udGVudD1pO3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1hY3Rpb24iKTtuJiYobi50ZXh0Q29udGVudD0iXHU1QzU1XHU1RjAwIil9JG4oZSwidGhpbmtpbmciKX0sd2luZG93Ll9fc3ViYWdlbnRSZXBseVRvZ2dsZT1mdW5jdGlvbihlLHQpe2UmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSk7dmFyIG49dCYmdC5jbG9zZXN0P3QuY2xvc2VzdCgiLnN1YmFnZW50LXJlcGx5Iik6bnVsbDtpZihuKXt2YXIgaT1uLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO3lvKG4sInN1YmFnZW50LXJlcGx5IiwhaSksJG4obiwic3ViYWdlbnQtcmVwbHkiKX19LHdpbmRvdy5fX3N1YmFnZW50UGFuZWxUb2dnbGU9ZnVuY3Rpb24oZSx0KXtlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpO3ZhciBuPXQmJnQuY2xvc2VzdD90LmNsb3Nlc3QoIi5zdWJhZ2VudC1wYW5lbCIpOm51bGw7biYmbi5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLCJ0cnVlIil9O2Z1bmN0aW9uIGVwKGUpe2lmKGUpZm9yKHZhciB0PWUucXVlcnlTZWxlY3RvckFsbCgnLnN1YmFnZW50LXBhbmVsW2RhdGEtZm9sbG93LXRhaWw9InRydWUiXScpLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXS5xdWVyeVNlbGVjdG9yKCIuc3ViYWdlbnQtcGFuZWwtYm9keSIpO2kmJihpLnNjcm9sbFRvcD1pLnNjcm9sbEhlaWdodCl9fXdpbmRvdy5fX29wZW5GaWxlUHJldmlldz1mdW5jdGlvbihlKXtlJiZoaShlKX0sd2luZG93Ll9faW5saW5lVG9vbFRvZ2dsZT1mdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTGlzdC50b2dnbGUoImlubGluZS10b29sLW9wZW4iKSxuPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLWV4cGFuZGVkIik7biYmKG4uc3R5bGUuZGlzcGxheT10PyJibG9jayI6Im5vbmUiKTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5pbmxpbmUtdG9vbC1zdGF0dXMiKTtpJiYoZS5kYXRhc2V0LnN0YXR1cz09PSJlcnJvciI/aS50ZXh0Q29udGVudD0iXHUyNzE3IjplLmRhdGFzZXQuc3RhdHVzPT09ImRvbmUiJiYoaS50ZXh0Q29udGVudD0iXHUyNzEzIikpLHQmJllhKGUsbixmdW5jdGlvbihhKXtlLmRhdGFzZXQucmVzdWx0PWEsbiYmKG4uaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQiPicrUGwoYSwiIikrIjwvZGl2PiIpfSksJG4oZSwiaW5saW5lLXRvb2wiKX0sd2luZG93Ll9fdGVybWluYWxFeHBhbmQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbG9zZXN0KCIuaW5saW5lLXRlcm1pbmFsIik7aWYodCl7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIudGVybS1ib2R5Iik7aWYobil7dmFyIGk9bi5zdHlsZS5kaXNwbGF5PT09Im5vbmUiO24uc3R5bGUuZGlzcGxheT1pPyJibG9jayI6Im5vbmUiLHQuZGF0YXNldC5leHBhbmRlZD1pPyJ0cnVlIjoiZmFsc2UiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixpPyJ0cnVlIjoiZmFsc2UiKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGk/ImZhbHNlIjoidHJ1ZSIpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tdG9nZ2xlLWljb24iKTtpZihhJiYoYS50ZXh0Q29udGVudD1pPyJcdTI1QkMiOiJcdTI1QjYiKSwkbih0LCJ0ZXJtaW5hbCIpLGkpe3ZhciB1PW4ucXVlcnlTZWxlY3RvcigiLnRlcm0tb3V0cHV0Iik7WWEodCx1LGZ1bmN0aW9uKG8pe2lmKHUpe2Zvcih2YXIgcz1vLnNwbGl0KGAKYCksbD0iIixkPTA7ZDxzLmxlbmd0aDtkKyspIXNbZF0mJmQ9PT1zLmxlbmd0aC0xfHwobCs9JzxkaXYgY2xhc3M9InRlcm0tbGluZSI+JytwKHNbZF0pKyI8L2Rpdj4iKTt1LmlubmVySFRNTD1sfX0pfX19fTtmdW5jdGlvbiBCaChlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctc3RyZWFtaW5nIik7aWYodCl7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctc3RyZWFtaW5nLXRleHQiKTtpZihuKXt2YXIgaT1lLnNwbGl0KGAKYCksYT1pLnNsaWNlKC0zKTtuLnRleHRDb250ZW50PWEuam9pbihgCmApLG4uc2Nyb2xsVG9wPW4uc2Nyb2xsSGVpZ2h0fX19d2luZG93Ll9fYXNrU2VsZWN0PWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXIuYXNrVXNlclNlbGVjdGlvbnNbZV07aWYoYXx8KGE9e3N1Ym1pdHRlZDohMX0sci5hc2tVc2VyU2VsZWN0aW9uc1tlXT1hKSwhYS5zdWJtaXR0ZWQpe3ZhciB1PWFbdF18fFtdO2lmKGkpe3ZhciBvPXUuaW5kZXhPZihuKTtvPT09LTE/dS5wdXNoKG4pOnUuc3BsaWNlKG8sMSl9ZWxzZSB1PXVbMF09PT1uP1tdOltuXTthW3RdPXUsd2luZG93Ll9fYXNrUmVuZGVyKGUpfX0sd2luZG93Ll9fYXNrUmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRvb2wtdXNlLWlkPSInK2UrJyJdJyk7aWYodCl7dmFyIG49ci5hc2tVc2VyU2VsZWN0aW9uc1tlXXx8e307dC5xdWVyeVNlbGVjdG9yQWxsKCIuYXNrLXVzZXItb3B0aW9uIikuZm9yRWFjaChmdW5jdGlvbihvKXt2YXIgcz1wYXJzZUludChvLmRhdGFzZXQucXVlc3Rpb25JbmRleCwxMCksbD1wYXJzZUludChvLmRhdGFzZXQub3B0aW9uSW5kZXgsMTApLGQ9KG5bc118fFtdKS5pbmRleE9mKGwpIT09LTE7by5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsZCl9KTt2YXIgaT10LnF1ZXJ5U2VsZWN0b3IoIi5hc2stdXNlci1zdWJtaXQiKTtpZihpKXt2YXIgYT10LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1xdWVzdGlvbi1ncm91cCIpLHU9ITA7YS5mb3JFYWNoKGZ1bmN0aW9uKG8scyl7KCFuW3NdfHxuW3NdLmxlbmd0aD09PTApJiYodT0hMSl9KSxpLmRpc2FibGVkPSF1fHwhIW4uc3VibWl0dGVkLG4uc3VibWl0dGVkJiYoaS50ZXh0Q29udGVudD0iXHU1REYyXHU2M0QwXHU0RUE0Li4uIixpLmNsYXNzTGlzdC5hZGQoImFzay11c2VyLXN1Ym1pdHRlZCIpKX19fSx3aW5kb3cuX19hc2tTdWJtaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ci5hc2tVc2VyU2VsZWN0aW9uc1tlXTtpZighKCF0fHx0LnN1Ym1pdHRlZHx8IXIuc2VsZWN0ZWRJZCkpe3ZhciBuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRvb2wtdXNlLWlkPSInK2UrJyJdJyk7aWYobil7dmFyIGk9bi5xdWVyeVNlbGVjdG9yQWxsKCIuYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXAiKSxhPVtdLHU9ITA7aWYoaS5mb3JFYWNoKGZ1bmN0aW9uKHMsbCl7dmFyIGQ9dFtsXXx8W107aWYoZC5sZW5ndGg9PT0wKXt1PSExO3JldHVybn12YXIgZj1bXTtkLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIHY9cy5xdWVyeVNlbGVjdG9yKCdbZGF0YS1vcHRpb24taW5kZXg9IicrYysnIl0nKTt2JiZmLnB1c2godi5kYXRhc2V0Lm9wdGlvbkxhYmVsKX0pLGEucHVzaChmLmpvaW4oIiwgIikpfSksISF1KXt0LnN1Ym1pdHRlZD0hMCx3aW5kb3cuX19hc2tSZW5kZXIoZSk7dmFyIG89YS5qb2luKGAKYCk7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIityLnNlbGVjdGVkSWQrIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0Om8rYApgLHZpZXc6ci5jdXJyZW50Vmlld30pfSkuY2F0Y2goZnVuY3Rpb24ocyl7Y29uc29sZS5lcnJvcigiW3dhbmRdIEVycm9yIHNlbmRpbmcgYW5zd2VyOiIscyksdC5zdWJtaXR0ZWQ9ITEsd2luZG93Ll9fYXNrUmVuZGVyKGUpfSl9fX19O2Z1bmN0aW9uIHRwKCl7aWYoIXIuX19nbG9iYWxMaXN0ZW5lcnNCb3VuZCl7ci5fX2dsb2JhbExpc3RlbmVyc0JvdW5kPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW92ZXJmbG93LW1lbnUiKTt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgbj10LnRhcmdldDtpZighKCFufHx0eXBlb2Ygbi5jbG9zZXN0IT0iZnVuY3Rpb24iKSl7dmFyIGk9bi5jbG9zZXN0KCIjY2hlY2stdXBkYXRlLWJ1dHRvbiwgI2RvLXVwZGF0ZS1idXR0b24sICNkby1yZXN0YXJ0LWJ1dHRvbiwgI2NoZWNrLXByb3ZpZGVyLWNsaS11cGRhdGVzLCAjdXBkYXRlLXByb3ZpZGVyLWNsaXMiKTshaXx8aS5kaXNhYmxlZHx8KHQucHJldmVudERlZmF1bHQoKSxpLmlkPT09ImNoZWNrLXVwZGF0ZS1idXR0b24iP21kKCk6aS5pZD09PSJkby11cGRhdGUtYnV0dG9uIj9PZygpOmkuaWQ9PT0iY2hlY2stcHJvdmlkZXItY2xpLXVwZGF0ZXMiP2hkKCEwKTppLmlkPT09InVwZGF0ZS1wcm92aWRlci1jbGlzIj9NZygpOlBnKCkpfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItb3ZlcmZsb3ctbWVudSIpO3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpfSk7dmFyIGU9ZnVuY3Rpb24oKXtyLnRvcGJhck1vcmVPcGVuPSExO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1tZW51Iiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtYnV0dG9uIik7dCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuJiYobi5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIikpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYoci50b3BiYXJNb3JlT3Blbil7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLW1lbnUiKSxpPW4mJm4ucGFyZW50RWxlbWVudDtpJiYhaS5jb250YWlucyh0LnRhcmdldCkmJmUoKX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbih0KXt0LmtleT09PSJFc2NhcGUiJiZyLnRvcGJhck1vcmVPcGVuJiZlKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYoci5wbHVzUG9wb3Zlck9wZW4pe3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2gtYnRuIik7biYmbi5jb250YWlucyh0LnRhcmdldCl8fGkmJmkuY29udGFpbnModC50YXJnZXQpfHxzYSgpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpe3Qua2V5PT09IkVzY2FwZSImJnIucGx1c1BvcG92ZXJPcGVuJiZzYSgpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBuPXQudGFyZ2V0O2lmKCEoIW58fHR5cGVvZiBuLmNsb3Nlc3QhPSJmdW5jdGlvbiIpKXt2YXIgaT1uLmNsb3Nlc3QoIiNhdXRvLWFwcHJvdmUtdG9nZ2xlIik7aSYmKHQucHJldmVudERlZmF1bHQoKSxkZigpKX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYoIXQudGFyZ2V0LmNsb3Nlc3QoIi5mb2xkZXItcGlja2VyLWNvbnRhaW5lciIpKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci1kcm9wZG93biIpO24mJm4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbih0KXt2YXIgbj10LnRhcmdldDtpZighKCFufHxuLm5vZGVUeXBlIT09MSkmJiEodHlwZW9mIG4ubWF0Y2hlcyE9ImZ1bmN0aW9uInx8IW4ubWF0Y2hlcygiW2RhdGEtbW9kZS1jb250cm9sXSIpKSl7dmFyIGk9bi5nZXRBdHRyaWJ1dGUoImRhdGEtbW9kZS1jb250cm9sIiksYT1uLnZhbHVlO2k9PT0ibW9kZSI/cmcoYSk6aT09PSJtb2RlbCI/bmcoYSk6aT09PSJ0aGlua2luZyImJlhtKGEpLG4uY2xvc2VzdCYmbi5jbG9zZXN0KCIjY29tcG9zZXItcGx1cy1wb3BvdmVyIikmJnNhKCl9fSl9fWZ1bmN0aW9uIG5wKCl7dHAoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tYnV0dG9uIik7aWYoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSXUpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1mb3JtIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxJdSgpfSk7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLXN3aXRjaC1zZXJ2ZXItYnV0dG9uIik7biYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSGwpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzd29yZCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZ2dsZS1wYXNzd29yZC1idXR0b24iKTthJiZpJiZhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBiPWkudHlwZT09PSJ0ZXh0IjtpLnR5cGU9Yj8icGFzc3dvcmQiOiJ0ZXh0IixhLnRleHRDb250ZW50PWI/Ilx1NjYzRVx1NzkzQSI6Ilx1OTY5MFx1ODVDRiIsYS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGI/Ilx1NjYzRVx1NzkzQVx1NUJDNlx1NzgwMSI6Ilx1OTY5MFx1ODVDRlx1NUJDNlx1NzgwMSIpLGEuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLGI/ImZhbHNlIjoidHJ1ZSIpLGkuZm9jdXMoKX0pLGkmJihpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGIpe2Iua2V5PT09IkVudGVyIiYmSXUoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7aS5kYXRhc2V0LmVycm9yPSJmYWxzZSIsaS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsImZhbHNlIik7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWVycm9yIik7YiYmVGkoYil9KSxpLmZvY3VzKCkpO3JldHVybn12YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS1pbnB1dCIpO3UmJih1LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGIpe2Iua2V5PT09IkVudGVyIiYmIWIuc2hpZnRLZXkmJihiLnByZXZlbnREZWZhdWx0KCksVnMoKSl9KSx1LmZvY3VzKCkpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLXNlbmQtYnRuIik7byYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtWcygpfSk7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1jbGF1ZGUiKTtzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0t1KCl9KTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLWNvZGV4Iik7bCYmbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtyLnNlc3Npb25Ub29sPSJjb2RleCIsci5wcmVmZXJyZWRDb21tYW5kPSJjb2RleCIsci5tb2RlVmFsdWU9ImZ1bGwtYWNjZXNzIixLdSgpfSk7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1vcGVuY29kZSIpO2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5zZXNzaW9uVG9vbD0ib3BlbmNvZGUiLHIucHJlZmVycmVkQ29tbWFuZD0ib3BlbmNvZGUiLHIubW9kZVZhbHVlPSJtYW5hZ2VkIixLdSgpfSk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIik7ZiYmZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtsZCgpLnRoZW4oZnVuY3Rpb24oKXtIdCghMCl9KS5jYXRjaChmdW5jdGlvbihiKXt4KGImJmIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIil9KX0pLFZnKCk7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLWxpc3QiKTtjJiYoYy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsT2YpLGMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUGYpLGMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIix2ZyksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsbWcpLE12KGMpKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixybiwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscm4pO3ZhciB2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm92aWRlci1jYXJkcyIpO3YmJnYuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe3ZhciBBPWIudGFyZ2V0LmNsb3Nlc3QoIi5wcm92aWRlci1jYXJkIik7aWYoISghQXx8QS5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXt2YXIgej1BLmdldEF0dHJpYnV0ZSgiZGF0YS1wcm92aWRlciIpO3omJihyLnNlc3Npb25Ub29sPXosci5wcmVmZXJyZWRDb21tYW5kPXosZnIoKSxkYSh7ZGVmYXVsdFByb3ZpZGVyOnosZGVmYXVsdE1vZGU6ci5tb2RlVmFsdWV9KSl9fSk7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24ta2luZC1jYXJkcyIpO2gmJmguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe3ZhciBBPWIudGFyZ2V0LmNsb3Nlc3QoIi5zZXNzaW9uLWtpbmQtY2FyZCIpO2lmKCEoIUF8fEEuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKSl7dmFyIHo9QS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Vzc2lvbi1raW5kIik7eiYmKHIuc2Vzc2lvbkNyZWF0ZUtpbmQ9eixmcigpLGRhKHtkZWZhdWx0U2Vzc2lvbktpbmQ6en0pKX19KTt2YXIgbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kZS1jYXJkcyIpO20mJm0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe3ZhciBBPWIudGFyZ2V0LmNsb3Nlc3QoIi5tb2RlLWNhcmQiKTtpZihBKXt2YXIgej1BLmdldEF0dHJpYnV0ZSgiZGF0YS1tb2RlIik7eiYmKHIubW9kZVZhbHVlPXosZnIoKSxkYSh7ZGVmYXVsdE1vZGU6ci5tb2RlVmFsdWV9KSl9fSk7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24td29ya3RyZWUtdG9nZ2xlIik7ZyYmZy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5zZXNzaW9uQ3JlYXRlV29ya3RyZWU9Zy5jaGVja2VkfSk7dmFyIHk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZCIpO3kmJih5LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe3IuY3dkVmFsdWU9eS52YWx1ZX0pLHkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3IuY3dkVmFsdWU9eS52YWx1ZX0pLHkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHdkKSx5LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix3ZCkseS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixmdW5jdGlvbigpe3NldFRpbWVvdXQoZ3IsMTIwKX0pKTt2YXIgQj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIpO0ImJkIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNnKTt2YXIgRT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIik7RSYmRS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbmkpO3ZhciBDPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9zZS1kcmF3ZXItYnV0dG9uIik7QyYmQy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbmkpO3ZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLWNvbGxhcHNlLWJ0biIpO0QmJkQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGdnKTt2YXIgRj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7RiYmRi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaGcpO3ZhciBMPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW1vcmUtYnRuIiksST1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1vdmVyZmxvdy1tZW51Iik7TCYmSSYmTC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7Yi5zdG9wUHJvcGFnYXRpb24oKTt2YXIgQT0hSS5jbGFzc0xpc3QuY29udGFpbnMoIm9wZW4iKTtJLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLEEpLEEmJmJnKEkpfSk7dmFyIE49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItaG9tZS1idG4iKTtOJiZOLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3Iuc2VsZWN0ZWRJZD1udWxsLGtlKCksa3QoKSxSdCgpLFp0KCl9KTt2YXIgSz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1yZWZyZXNoLWJ0biIpO0smJksuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk7dmFyIFc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ291dC1idXR0b24iKTtXJiZXLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixObCk7dmFyIGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN3aXRjaC1zZXJ2ZXItYnV0dG9uIik7ayYmay5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSGwpO3ZhciBUPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiYWNrLXRvLW5hdGl2ZS1idXR0b24iKTtUJiZULmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix6bSk7dmFyIE09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWJ1dHRvbiIpO00mJk0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHdnKTt2YXIgWD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2Utc2V0dGluZ3MtYnV0dG9uIik7WCYmWC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdnIpO3ZhciBqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tb2RhbCIpO2omJmouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2IudGFyZ2V0LmlkPT09InNldHRpbmdzLW1vZGFsIiYmdnIoKX0pO3ZhciBKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLXBhc3N3b3JkLWJ1dHRvbiIpO0omJkouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEJnKTtmb3IodmFyIFA9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLHVlPTA7dWU8UC5sZW5ndGg7dWUrKylQW3VlXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi5jdXJyZW50VGFyZ2V0fHx0aGlzLHo9QSYmQS5nZXRBdHRyaWJ1dGU/QS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik6bnVsbDt6JiZVdSh6KX0pO3ZhciBpZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2F2ZS1jb25maWctYnV0dG9uIik7aWUmJmllLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixJZyksdGcoKTt2YXIgY2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2giKTtjZSYmY2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG5kKTt2YXIgRz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbC1yZWZyZXNoIik7RyYmRy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbmQpO3ZhciBlZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1jbGkiKTtlZSYmZWUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe2FhKCEwKX0pO3ZhciBhZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXZpZXctZW52LWJ0biIpO2FlJiZhZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZWcpO3ZhciBGZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2F2ZS1kaXNwbGF5LWJ1dHRvbiIpO0ZlJiZGZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsVGcpO3ZhciBTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAtaWNvbi1waWNrZXIiKTtpZihTKWZvcih2YXIgcT1TLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24iKSxfPTA7XzxxLmxlbmd0aDtfKyspcVtfXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYj10aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1pY29uIik7aWYoISghYnx8dHlwZW9mIFdhbmROYXRpdmU+InUifHx0eXBlb2YgV2FuZE5hdGl2ZS5zZXRBcHBJY29uIT0iZnVuY3Rpb24iKSl0cnl7V2FuZE5hdGl2ZS5zZXRBcHBJY29uKGIpLHlkKGIpO3ZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAtaWNvbi1tZXNzYWdlIik7QSYmKEEudGV4dENvbnRlbnQ9Ilx1NTZGRVx1NjgwN1x1NURGMlx1NTIwN1x1NjM2Mlx1RkYwQ1x1OEZENFx1NTZERVx1Njg0Q1x1OTc2Mlx1NTQwRVx1NzUxRlx1NjU0OCIsQS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLEEuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksc2V0VGltZW91dChmdW5jdGlvbigpe0EuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9LDNlMykpfWNhdGNoe319KTt2YXIgVj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBsb2FkLWNlcnQtYnV0dG9uIik7ViYmVi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTGcpO2Zvcih2YXIgWj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZmlsZS1waWNrZXItaW5wdXQiKSxwZT0wO3BlPFoubGVuZ3RoO3BlKyspKGZ1bmN0aW9uKGIpe2IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3ZhciBBPWIuY2xvc2VzdCgiLmZpbGUtcGlja2VyIik7aWYoQSl7dmFyIHo9QS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1waWNrZXItbmFtZSIpO3omJihiLmZpbGVzJiZiLmZpbGVzWzBdPyh6LnRleHRDb250ZW50PWIuZmlsZXNbMF0ubmFtZSxBLmNsYXNzTGlzdC5hZGQoImZpbGUtcGlja2VyLWhhcy1maWxlIikpOih6LnRleHRDb250ZW50PXouZ2V0QXR0cmlidXRlKCJkYXRhLWRlZmF1bHQiKXx8Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNiIsQS5jbGFzc0xpc3QucmVtb3ZlKCJmaWxlLXBpY2tlci1oYXMtZmlsZSIpKSl9fSl9KShaW3BlXSk7dmFyIHJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7cmUmJnJlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtmYSgid2ViIixyZS5jaGVja2VkKX0pO3ZhciB2ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO3ZlJiZ2ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ZmEoImFwayIsdmUuY2hlY2tlZCl9KTt2YXIgQmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiKTtCZSYmQmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe2ZhKCJkbWciLEJlLmNoZWNrZWQpfSk7dmFyIG1lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIik7bWUmJm1lLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtmYSgiY2xpIixtZS5jaGVja2VkKX0pO3ZhciAkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZXRhLWNoYW5uZWwtdG9nZ2xlIik7JCYmJC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7SGcoJC5jaGVja2VkPyJiZXRhIjoic3RhYmxlIil9KTt2YXIgc2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcHktY29ubmVjdC1jb2RlLWJ1dHRvbiIpO3NlJiZzZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LWNvZGUiKTtiJiZhaShiLnRleHRDb250ZW50LHNlKX0pO3ZhciBsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXNvdW5kIik7bGUmJihsZS5jaGVja2VkPXIubm90aWZTb3VuZCxsZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5ub3RpZlNvdW5kPWxlLmNoZWNrZWQ7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLW5vdGlmLXNvdW5kIixTdHJpbmcoci5ub3RpZlNvdW5kKSl9Y2F0Y2h7fXIubm90aWZTb3VuZCYmT2koKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWYtdm9sdW1lLWZpZWxkIik7YiYmKGIuc3R5bGUuZGlzcGxheT1yLm5vdGlmU291bmQ/IiI6Im5vbmUiKX0pKTt2YXIgZGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUiKSxPPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbm90aWYtdm9sdW1lLXZhbCIpLGdlPWZ1bmN0aW9uKGIpe2lmKGIpe3ZhciBBPU51bWJlcihiLm1pbnx8MCksej1OdW1iZXIoYi5tYXh8fDEwMCksRGU9TnVtYmVyKGIudmFsdWV8fDApLEN0PXo+QT9NYXRoLm1heCgwLE1hdGgubWluKDEwMCwoRGUtQSkvKHotQSkqMTAwKSk6MDtiLnN0eWxlLnNldFByb3BlcnR5KCItLXJhbmdlLWZpbGwiLEN0KyIlIil9fTtpZihkZSl7ZGUudmFsdWU9U3RyaW5nKHIubm90aWZWb2x1bWUpLE8mJihPLnRleHRDb250ZW50PXIubm90aWZWb2x1bWUrIiUiKSxnZShkZSk7dmFyIEtlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZi12b2x1bWUtZmllbGQiKTtLZSYmKEtlLnN0eWxlLmRpc3BsYXk9ci5ub3RpZlNvdW5kPyIiOiJub25lIik7dmFyIF9lPW51bGw7ZGUuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci5ub3RpZlZvbHVtZT1wYXJzZUludChkZS52YWx1ZSwxMCksTyYmKE8udGV4dENvbnRlbnQ9ci5ub3RpZlZvbHVtZSsiJSIpLGdlKGRlKTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIixTdHJpbmcoci5ub3RpZlZvbHVtZSkpfWNhdGNoe31pZih6ZSYmdHlwZW9mIFdhbmROYXRpdmUuc2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblZvbHVtZShyLm5vdGlmVm9sdW1lKX1jYXRjaHt9fSksZGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe09pKCl9KX12YXIgR2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtHZSYmKEdlLmNoZWNrZWQ9ci5ub3RpZkJ1YmJsZSxHZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7ci5ub3RpZkJ1YmJsZT1HZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiLFN0cmluZyhyLm5vdGlmQnViYmxlKSl9Y2F0Y2h7fX0pKTt2YXIgc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpO3N0JiZzdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtpZih6ZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24oKXtTbigpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9fWVsc2UgdHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24oKXtTbigpfSl9KTt2YXIgVnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKTtWdCYmVnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE5nKTt2YXIgU3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWJ0biIpO1N0JiZTdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRWQpO3ZhciBpdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIik7aWYoaXQmJml0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixqZyksU24oKSx6ZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzPT0iZnVuY3Rpb24iKXt2YXIgUGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWN0aW9uIiksSGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKSxBZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLXNvdW5kLXByZXZpZXciKTtpZihQZSYmSGUpe1BlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXt2YXIgdz1KU09OLnBhcnNlKFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzKCkpLEl0PVdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uU291bmQoKTtIZS5pbm5lckhUTUw9IiI7Zm9yKHZhciBOZT0wO05lPHcubGVuZ3RoO05lKyspe3ZhciBhdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTthdC52YWx1ZT13W05lXS5pZCxhdC50ZXh0Q29udGVudD13W05lXS5uYW1lLHdbTmVdLmlkPT09SXQmJihhdC5zZWxlY3RlZD0hMCksSGUuYXBwZW5kQ2hpbGQoYXQpfUhlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5zZXROb3RpZmljYXRpb25Tb3VuZChIZS52YWx1ZSl9Y2F0Y2h7fX0pLEFlJiZBZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5wcmV2aWV3U291bmQoSGUudmFsdWUpfWNhdGNoe319KX1jYXRjaHt9fX1pZih6ZSYmdHlwZW9mIFdhbmROYXRpdmUuaXNIYXB0aWNFbmFibGVkPT0iZnVuY3Rpb24iKXt2YXIgYW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1oYXB0aWMtc2VjdGlvbiIpLG9lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaGFwdGljLWVuYWJsZWQiKTtpZihhbiYmb2Upe2FuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXtvZS5jaGVja2VkPVdhbmROYXRpdmUuaXNIYXB0aWNFbmFibGVkKCl9Y2F0Y2h7fW9lLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5zZXRIYXB0aWNFbmFibGVkKG9lLmNoZWNrZWQpfWNhdGNoe31vZS5jaGVja2VkJiZvcigibWVkaXVtIil9KX19dmFyIFV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbmV3LXNlc3Npb24tYnV0dG9uIik7VXQmJlV0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix6dSk7dmFyIEt0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcmF3ZXItbmV3LXNlc3Npb24tYnV0dG9uIik7S3QmJkt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix6dSk7dmFyIE1lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9zZS1tb2RhbC1idXR0b24iKTtNZSYmTWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEFuKTt2YXIgdXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLXdvcmt0cmVlLW1lcmdlLWJ1dHRvbiIpO3V0JiZ1dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscHIpO3ZhciBKZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY2FuY2VsLWJ1dHRvbiIpO0plJiZKZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscHIpO3ZhciBKdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY29uZmlybS1idXR0b24iKTtKdCYmSnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLENnKTt2YXIgdW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJ1bi1idXR0b24iKTt1biYmdW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFJnKTt2YXIgb249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKTtvbiYmb24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNmKTt2YXIgSW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlbnktcGVybWlzc2lvbi1idG4iKTtJbiYmSW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGxmKTt2YXIgVHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbmQtaW5wdXQtYnV0dG9uIik7VHQmJlR0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1J0KCksTnAoKX0pO3ZhciBzbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtzbiYmc24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1KTt2YXIgWWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtZZSYmWWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2IudGFyZ2V0LmlkPT09InNlc3Npb24tbW9kYWwiJiZBbigpLGIudGFyZ2V0LmlkPT09Indvcmt0cmVlLW1lcmdlLW1vZGFsIiYmcHIoKX0pO3ZhciBoZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aGUmJihmbChoZSksaGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsWWcpLGhlLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixyaCksaGUuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7ci50ZXJtaW5hbENvbXBvc2luZ3x8QmQoaGUpfHwoS3YoaGUpLHJ0KGhlLnZhbHVlLCEwKSxwYShoZSkpfSksaGUuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsZnVuY3Rpb24oKXtyLnRlcm1pbmFsSW50ZXJhY3RpdmUmJihyLnRlcm1pbmFsQ29tcG9zaW5nPSEwKX0pLGhlLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIixmdW5jdGlvbigpe3IudGVybWluYWxDb21wb3NpbmcmJihyLnRlcm1pbmFsQ29tcG9zaW5nPSExLHIudGVybWluYWxJbnRlcmFjdGl2ZSYmQmQoaGUpKX0pLGhlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe1J0KCksTnYoe3RhcmdldDpoZX0pfSksaGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsanYpKTt2YXIgbG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKSxqZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS11cGxvYWQtaW5wdXQiKSxkbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tcG9zZXItcGx1cy1wb3BvdmVyIiksY249ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsdXMtYXR0YWNoLWl0ZW0iKTtsbiYmZG4mJmxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnN0b3BQcm9wYWdhdGlvbigpLGRnKCl9KSxjbiYmamUmJmNuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NhKCksamUuY2xpY2soKX0pLGplJiZqZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGI9amUuZmlsZXM7aWYoYilmb3IodmFyIEE9MDtBPGIubGVuZ3RoO0ErKylKdShiW0FdKTtqZS52YWx1ZT0iIn0pO3ZhciBHdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtYnRuIik7R3QmJkd0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3J1KCl9KTt2YXIgZm49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLWNhbmNlbC1idG4iKTtmbiYmZm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cnUoITEpfSk7dmFyIGx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIik7bHQmJihsdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsSXApLGx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixUcCksbHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixOcyksbHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsTnMpKTt2YXIgTHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb21wdC1vcHRpbWl6ZS1idG4iKTtMdCYmTHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7YWgoKX0pO3ZhciBtdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTttdCYmKG10LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSxtdC5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLG10LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksbXQuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxtdC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSxtdC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTt2YXIgQT1iLmRhdGFUcmFuc2ZlciYmYi5kYXRhVHJhbnNmZXIuZmlsZXM7aWYoQSlmb3IodmFyIHo9MDt6PEEubGVuZ3RoO3orKylKdShBW3pdKX0pKTt2YXIgWT1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTtZLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYik7QSYmQS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsd3YpfSk7dmFyIFI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIpO1ImJlIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG1pKTt2YXIgdGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbC1jbG9zZSIpO3RlJiZ0ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRW8pO3ZhciB5ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC1iYWNrZHJvcCIpO3llJiZ5ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRW8pO3ZhciBRPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZmlsZS1idXR0b24iKTtRJiZRLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixtaSk7dmFyIENlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItY3dkIik7Q2UmJihDZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtyLmZpbGVQYW5lbE9wZW58fG1pKCl9KSxDZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihiKXsoYi5rZXk9PT0iRW50ZXIifHxiLmtleT09PSIgIikmJihiLnByZXZlbnREZWZhdWx0KCksci5maWxlUGFuZWxPcGVufHxtaSgpKX0pKTt2YXIgd2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLWJ1dHRvbiIpLGR0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1tZW51Iik7d2UmJmR0JiYod2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2Iuc3RvcFByb3BhZ2F0aW9uKCksci50b3BiYXJNb3JlT3Blbj0hci50b3BiYXJNb3JlT3BlbixkdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFyLnRvcGJhck1vcmVPcGVuKSx3ZS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHIudG9wYmFyTW9yZU9wZW4pLHdlLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsci50b3BiYXJNb3JlT3Blbj8idHJ1ZSI6ImZhbHNlIil9KSxkdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQmJmIudGFyZ2V0LmNsb3Nlc3Q/Yi50YXJnZXQuY2xvc2VzdCgiLnRvcGJhci1tb3JlLWl0ZW0iKTpudWxsO2lmKEEpe3ZhciB6PUEuZ2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIpO3N3aXRjaChyLnRvcGJhck1vcmVPcGVuPSExLGR0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHdlLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLHdlLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIikseil7Y2FzZSJjb3B5LWNsYXVkZS1zZXNzaW9uLWlkIjp2YXIgRGU9X3QoKSYmX3QoKS5wcm92aWRlcjtWYSgiY2xhdWRlU2Vzc2lvbklkIixEZT09PSJjb2RleCI/IkNvZGV4IHRocmVhZCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOkRlPT09Im9wZW5jb2RlIj8iT3BlbkNvZGUgc2Vzc2lvbiBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2UiY29weS1jd2QiOlZhKCJjd2QiLCJcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTVERjJcdTU5MERcdTUyMzYiKTticmVhaztjYXNlImNvcHktc2Vzc2lvbi1pZCI6VmEoImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2Uid29ya3RyZWUtbWVyZ2UiOnIuc2VsZWN0ZWRJZCYmY2Qoci5zZWxlY3RlZElkKTticmVhaztjYXNlIndvcmt0cmVlLWNsZWFudXAiOnIuc2VsZWN0ZWRJZCYmZmQoci5zZWxlY3RlZElkKTticmVhaztjYXNlImRlbGV0ZS1zZXNzaW9uIjpyLnNlbGVjdGVkSWQmJihmdW5jdGlvbihDdCl7am4oIlx1Nzg2RVx1NUI5QVx1ODk4MVx1NTIyMFx1OTY2NFx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbih5dCl7eXQmJnB1KEN0KX0pfSkoci5zZWxlY3RlZElkKTticmVha319fSkpO3ZhciBndD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtZG93bi10b3AiKSxSZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtdXAtdG9wIik7Z3QmJmd0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0ZvKC0uMjUpfSksUmUmJlJlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0ZvKC4yNSl9KTt2YXIgUWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2UtcmVmcmVzaC1idG4iKTtRZSYmUWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2lmKGImJmIuc2hpZnRLZXkpe2xvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1SbigpLGt0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxodSghMCl9KTt2YXIgVG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIik7VG4mJlRuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2J0KCJmb3JjZSIpfSk7dmFyIExuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtMbiYmTG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7b28oITApfSk7dmFyIGh0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLXJlZnJlc2giKTtodCYmaHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7T3QoKX0pO3ZhciB5cj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci11cCIpO3lyJiZ5ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsb2MpO3ZhciBJZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTtpZihJZSYmSWUudGFnTmFtZT09PSJJTlBVVCIpe3ZhciBNbj1JZS52YWx1ZSxZbj1mdW5jdGlvbihiKXt2YXIgQT0oYnx8IiIpLnRyaW0oKTtyZXR1cm4gQT8oQT1BLnJlcGxhY2UoL1wvezIsfS9nLCIvIiksQS5sZW5ndGg+MSYmKEE9QS5yZXBsYWNlKC9cLyskLywiIikpLEEpOiIifTtJZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXtNbj1JZS52YWx1ZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e0llLnNlbGVjdCgpfWNhdGNoe319LDApfSksSWUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7aWYoYi5rZXk9PT0iRW50ZXIiKXtiLnByZXZlbnREZWZhdWx0KCk7dmFyIEE9WW4oSWUudmFsdWUpO2lmKCFBKXJldHVybjtNbj1BLEllLnZhbHVlPUEsT3Qoe2N3ZDpBfSksSWUuYmx1cigpfWVsc2UgYi5rZXk9PT0iRXNjYXBlIiYmKGIucHJldmVudERlZmF1bHQoKSxJZS52YWx1ZT1NbixJZS5ibHVyKCkpfSksSWUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZnVuY3Rpb24oKXt2YXIgYj1ZbihJZS52YWx1ZSk7aWYoIWIpe0llLnZhbHVlPU1uO3JldHVybn1pZihiPT09TW4pe0llLnZhbHVlPWI7cmV0dXJufU1uPWIsSWUudmFsdWU9YixPdCh7Y3dkOmJ9KX0pfXZhciBwbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtaW5wdXQiKSxRbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtY2xlYXIiKTtwbiYmcG4uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKGIpe3IuZmlsZVNlYXJjaFF1ZXJ5PWIudGFyZ2V0LnZhbHVlLnRyaW0oKSxRbiYmUW4uY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsci5maWxlU2VhcmNoUXVlcnkubGVuZ3RoPjApLERvKCl9KSxRbiYmUW4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5maWxlU2VhcmNoUXVlcnk9IiIscG4mJihwbi52YWx1ZT0iIiksUW4uY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSk7dmFyIGJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0IiksVGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKSxzaT1udWxsLFl0PS0xLE9uPVtdO2Z1bmN0aW9uIERkKGIpe2JlJiZiZS5jbGFzc0xpc3QuYWRkKCJpbnZhbGlkIik7dmFyIEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIpO0EmJihBLnRleHRDb250ZW50PWIsQS5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGtkKCl7YmUmJmJlLmNsYXNzTGlzdC5yZW1vdmUoImludmFsaWQiKTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIik7YiYmKGIudGV4dENvbnRlbnQ9IiIsYi5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGRoKGIpe2lmKCFiLmxlbmd0aClyZXR1cm4iIjt2YXIgQT0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJmb2xkZXItcmVjZW50LXRpdGxlIj5cdTY3MDBcdThGRDFcdTRGN0ZcdTc1Mjg8L2Rpdj4nO3JldHVybiBiLmZvckVhY2goZnVuY3Rpb24oeil7dmFyIERlPXoucGF0aHx8ejtBKz0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1pdGVtIiBkYXRhLXBhdGg9IicrcChEZSkrJyI+JytGdChEZSwiZm9sZGVyLXJlY2VudC1pdGVtLXBhdGgiKSsiPC9kaXY+In0pLEErPSI8L2Rpdj4iLEF9ZnVuY3Rpb24gY2goKXtUZSYmV2EoZnVuY3Rpb24oYil7dmFyIEE9ZGgoYik7QT8oVGUuaW5uZXJIVE1MPUEsVGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksenQoVGUpLFRlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mb2xkZXItcmVjZW50LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKHope3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIERlPXRoaXMuZGF0YXNldC5wYXRoO2JlJiYoYmUudmFsdWU9RGUsWHQoRGUpLHZuKERlKSl9KX0pKTpsaSgpfSl9dmFyIEFkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JraW5nLWRpci1pbmRpY2F0b3IiKTtBZCYmQWQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5zZWxlY3RlZElkPW51bGwsa2UoKSxyLmRyYWZ0cz17fSxadCgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci1pbnB1dCIpO2ImJmIuZm9jdXMoKX0sNTApfSk7dmFyIHRvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLXRvZ2dsZSIpLFRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWRyb3Bkb3duIik7dG8mJlRlJiZ0by5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtUZS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iKSx0by5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIil9KTt2YXIgbWE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmZvbGRlci1waWNrZXItY29tcGFjdCIpO2lmKG1hJiYobWEuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxtYS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxtYS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO3ZhciBBPWIuZGF0YVRyYW5zZmVyJiZiLmRhdGFUcmFuc2Zlci5pdGVtcztpZihBKWZvcih2YXIgej0wO3o8QS5sZW5ndGg7eisrKXt2YXIgRGU9QVt6XTtpZihEZS5raW5kPT09ImZpbGUiJiZEZS53ZWJraXRHZXRBc0VudHJ5KXt2YXIgQ3Q9RGUud2Via2l0R2V0QXNFbnRyeSgpO2lmKEN0JiZDdC5pc0RpcmVjdG9yeSYmYmUpe3ZhciB5dD1DdC5mdWxsUGF0aDtiZS52YWx1ZT15dCxYdCh5dCksdm4oeXQpO2JyZWFrfX19fSkpLFRlJiZUZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQuY2xvc2VzdCgiLmZvbGRlci1waWNrZXItcXVpY2stYnRuIik7aWYoQSYmYmUpe3ZhciB6PUEuZGF0YXNldC5wYXRoO2JlLnZhbHVlPXosWHQoeiksdm4oeiksVGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIERlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLXRvZ2dsZSIpO0RlJiZEZS5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9fSksYmUpe3ZhciBmaD1aZSgpO3ZuKGZoKSxiZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZhbHVlLnRyaW0oKTtiP3ZuKGIpOmNoKCl9KSxiZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oYil7dmFyIEE9Yi50YXJnZXQudmFsdWUudHJpbSgpO1l0PS0xLHNpJiZjbGVhclRpbWVvdXQoc2kpLHNpPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtBP3ZuKEEpOmxpKCl9LDE1MCl9KSxiZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihiKXtpZihiLmtleT09PSJFc2NhcGUiKWxpKCksdGhpcy5ibHVyKCk7ZWxzZSBpZihiLmtleT09PSJBcnJvd0Rvd24iKWIucHJldmVudERlZmF1bHQoKSxPbi5sZW5ndGg+MCYmKFl0PU1hdGgubWluKFl0KzEsT24ubGVuZ3RoLTEpLHhkKCkpO2Vsc2UgaWYoYi5rZXk9PT0iQXJyb3dVcCIpYi5wcmV2ZW50RGVmYXVsdCgpLFl0PjAmJihZdC0tLHhkKCkpO2Vsc2UgaWYoYi5rZXk9PT0iRW50ZXIiJiZZdD49MCl7Yi5wcmV2ZW50RGVmYXVsdCgpO3ZhciBBPU9uW1l0XTtpZihBKXt2YXIgej1BLmRhdGFzZXQucGF0aDtpZih6PT09Ii4uIil7dmFyIERlPWJlLnZhbHVlLnRyaW0oKSxDdD1EZS5zdWJzdHJpbmcoMCxEZS5sYXN0SW5kZXhPZigiLyIpKTtDdCYmKGJlLnZhbHVlPUN0fHwiLyIsWHQoYmUudmFsdWUpLHZuKEN0fHwiLyIpKX1lbHNlIGJlLnZhbHVlPXosWHQoeiksbGkoKX19fSl9ZnVuY3Rpb24geGQoKXtPbi5mb3JFYWNoKGZ1bmN0aW9uKGIsQSl7Yi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLEE9PT1ZdCl9KX1mdW5jdGlvbiBZaChiKXt9ZnVuY3Rpb24gdm4oYil7VGUmJihUZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJELi4uPC9kaXY+JyxUZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxZdD0tMSxPbj1bXSxmZXRjaCgiL2FwaS9mb2xkZXJzP3E9IitlbmNvZGVVUklDb21wb25lbnQoYikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKEEpe3JldHVybiBBLmpzb24oKS50aGVuKGZ1bmN0aW9uKHope3JldHVybntvazpBLm9rLHN0YXR1czpBLnN0YXR1cyxkYXRhOnp9fSl9KS50aGVuKGZ1bmN0aW9uKEEpe3ZhciB6PUEuZGF0YTtpZighQS5va3x8ei5lcnJvcil7RGQoei5lcnJvcnx8Ilx1OERFRlx1NUY4NFx1NjVFMFx1NjU0OCIpLFRlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1lcnJvciI+JytwKHouZXJyb3J8fCJcdThERUZcdTVGODRcdTY1RTBcdTY1NDgiKSsiPC9kaXY+IjtyZXR1cm59a2QoKSx6LmN1cnJlbnRQYXRoO3ZhciBEZT16Lml0ZW1zfHxbXSxDdD16LmN1cnJlbnRQYXRofHxiO2lmKERlLmxlbmd0aD09PTApe1RlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1sb2FkaW5nIj5cdTdBN0FcdTc2RUVcdTVGNTU8L2Rpdj4nO3JldHVybn1UZS5pbm5lckhUTUw9RGUubWFwKGZ1bmN0aW9uKHl0KXt2YXIgZ2E9eXQudHlwZT09PSJwYXJlbnQiPyJcdTIxQTlcdUZFMEYiOiJcdXsxRjRDMX0iLG5vPXl0LnR5cGU9PT0icGFyZW50Ij8iLi4gKFx1OEZENFx1NTZERVx1NEUwQVx1N0VBNykiOnl0Lm5hbWU7cmV0dXJuJzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItaXRlbSIgZGF0YS1wYXRoPSInK3AoeXQucGF0aCkrJyIgZGF0YS10eXBlPSInK3l0LnR5cGUrJyI+PHNwYW4gY2xhc3M9ImZvbGRlci1waWNrZXItaXRlbS1pY29uIj4nK2dhKyI8L3NwYW4+PHNwYW4+IitwKG5vKSsiPC9zcGFuPjwvZGl2PiJ9KS5qb2luKCIiKSxPbj1BcnJheS5mcm9tKFRlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mb2xkZXItcGlja2VyLWl0ZW0iKSksT24uZm9yRWFjaChmdW5jdGlvbih5dCl7eXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGdhPXRoaXMuZGF0YXNldC5wYXRoLG5vPXRoaXMuZGF0YXNldC50eXBlO2lmKGJlKWlmKG5vPT09InBhcmVudCIpe3ZhciBMZD1iZS52YWx1ZS50cmltKCksTWQ9TGQuc3Vic3RyaW5nKDAsTGQubGFzdEluZGV4T2YoIi8iKSk7YmUudmFsdWU9TWR8fCIvIixYdChiZS52YWx1ZSksdm4oTWR8fCIvIil9ZWxzZSBiZS52YWx1ZT1nYSxYdChnYSksa2QoKSxsaSgpfSl9KX0pLmNhdGNoKGZ1bmN0aW9uKEEpe0RkKCJcdTUyQTBcdThGN0RcdTU5MzFcdThEMjUiKSxUZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXItZXJyb3IiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNTwvZGl2Pid9KSl9ZnVuY3Rpb24gbGkoKXtUZSYmVGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksWXQ9LTEsT249W119dmFyIFBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLW1vZGFsIiksU2Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLWZvbGRlci1waWNrZXIiKTtmdW5jdGlvbiBRaCgpe2lmKFBuKXtQbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxiZSYmKGJlLnZhbHVlPVplKCkpO3ZhciBiPVplKCk7dm4oYil9fVNkJiZQbiYmU2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7UG4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9KSxQbiYmUG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGIpe2IudGFyZ2V0PT09UG4mJlBuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSk7dmFyIElkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItZ2l0LWJhZGdlIik7SWQmJklkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCksSG8oKX0pO3ZhciBUZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7VGQmJlRkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihiKXtiLnRhcmdldC5pZD09PSJxdWljay1jb21taXQtbW9kYWwiJiYhci5xdWlja0NvbW1pdFN1Ym1pdHRpbmcmJmVyKCl9KSxObygpLHVyKCksR3YoKSxtZigpLFpwKCksb3QoKX1mdW5jdGlvbiBrdChlKXt2YXIgdD1lfHx7fTtyLmxhc3RSZW5kZXJlZEhhc2g9MCxyLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTAsci5sYXN0UmVuZGVyZWRFbXB0eT1udWxsLHIucmVuZGVyUGVuZGluZz0hMSxyLmNoYXRSZW5kZXJlZENvdW50PXIuY2hhdFBhZ2VTaXplLHIuYXNrVXNlclNlbGVjdGlvbnM9e30sci5jaGF0U2Nyb2xsRWxlbWVudCYmKHIuY2hhdFNjcm9sbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLmNoYXRTY3JvbGxIYW5kbGVyKSxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHIuY2hhdFNjcm9sbFdoZWVsSGFuZGxlciksci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsci5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIpLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXImJnIuY2hhdFNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixyLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyKSksci5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLHIuY2hhdFNjcm9sbEhhbmRsZXI9bnVsbCxyLmNoYXRTY3JvbGxXaGVlbEhhbmRsZXI9bnVsbCxyLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlcj1udWxsLHIuY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXI9bnVsbCxyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMSx0LnByZXNlcnZlU3RpY2tTdGF0ZXx8KHIuY2hhdFN0aWNrVG9Cb3R0b209ITAsci5jaGF0VW5yZWFkQ291bnQ9MCxyLmNoYXRVbnJlYWRTdGFydEluZGV4PS0xLHIuY2hhdEluaXRpYWxSZW5kZXJEb25lPSExKX1mdW5jdGlvbiBaZSgpe3JldHVybiByLndvcmtpbmdEaXJ8fGduKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsZnVuY3Rpb24oKXtyLmlzT25saW5lPSEwLElpKCl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsZnVuY3Rpb24oKXtyLmlzT25saW5lPSExLElpKCl9KTtmdW5jdGlvbiBJaSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvZmZsaW5lLWJhbm5lciIpO2lmKCFyLmlzT25saW5lJiYhZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5pZD0ib2ZmbGluZS1iYW5uZXIiLHQuY2xhc3NOYW1lPSJvZmZsaW5lLWJhbm5lciIsdC50ZXh0Q29udGVudD0iWW91IGFyZSBvZmZsaW5lIC0gc29tZSBmZWF0dXJlcyBtYXkgYmUgbGltaXRlZCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KX1lbHNlIHIuaXNPbmxpbmUmJmUmJmUucmVtb3ZlKCl9ZnVuY3Rpb24gcnAoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwIik7ZSYmKGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJib290LWxvYWRpbmciPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy1jYXJkIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiPlx1NkI2M1x1NTcyOFx1OEZERVx1NjNBNSBXYW5kXHUyMDI2PC9kaXY+PC9kaXY+PC9kaXY+Jyl9ZnVuY3Rpb24gUHIoZSx0KXtpZihyLmNvbmZpZyYmIWRvY3VtZW50LmhpZGRlbil7dmFyIG49dCYmdC5pbW1lZGlhdGU9PT0hMCxpPURhdGUubm93KCk7IW4mJmktci5sYXN0Rm9yZWdyb3VuZFN5bmNBdDwxNTAwfHwoci5sYXN0Rm9yZWdyb3VuZFN5bmNBdD1pLHIuZm9yZWdyb3VuZFN5bmNUaW1lciYmKGNsZWFyVGltZW91dChyLmZvcmVncm91bmRTeW5jVGltZXIpLHIuZm9yZWdyb3VuZFN5bmNUaW1lcj1udWxsKSxpcChlLG4pKX19ZnVuY3Rpb24gaXAoZSx0KXtyZXR1cm4hci5jb25maWd8fGRvY3VtZW50LmhpZGRlbj9Qcm9taXNlLnJlc29sdmUoKTooaXMoKSx0P19hKCJyZXN1bWUtZm9yY2UiKTooIXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOJiZyLndzLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuQ09OTkVDVElORykmJndpKCksci5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZlcygpLHIuY29kZXhIaXN0b3J5TG9hZGVkJiZ0cygpLG5uKHtza2lwU2VsZWN0ZWRPdXRwdXRSZWxvYWQ6ITB9KS5jYXRjaChmdW5jdGlvbihuKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gZm9yZWdyb3VuZCBzeW5jIGZhaWxlZDoiLGUsbil9KSl9ZnVuY3Rpb24gYXAoKXt3aW5kb3cuX193YW5kRm9yZWdyb3VuZFN5bmNCb3VuZHx8KHdpbmRvdy5fX3dhbmRGb3JlZ3JvdW5kU3luY0JvdW5kPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuaGlkZGVuP3FhKCk6KFByKCJ2aXNpYmlsaXR5IiksT3IoInZpc2liaWxpdHkiKSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7UHIoImZvY3VzIil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGZ1bmN0aW9uKCl7UHIoInBhZ2VzaG93Iil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzdW1lIixmdW5jdGlvbigpe1ByKCJyZXN1bWUiKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWFuZHJvaWQtcmVzdW1lIixmdW5jdGlvbigpe1ByKCJhbmRyb2lkLXJlc3VtZSIse2ltbWVkaWF0ZTohMH0pLE9yKCJhbmRyb2lkLXJlc3VtZSIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndhbmQtaW1lLXN0YXRlIixmdW5jdGlvbihlKXt2YXIgdD1lJiZlLmRldGFpbCYmZS5kZXRhaWwuc3RhdGU7aWYodD09PSJzaG93biJ8fHQ9PT0iaGlkZGVuIil0cnl7WGUoIm5hdGl2ZS1pbWUtIit0LHtmb3JjZVJlcGxheTohMH0pLGJ0KCJuYXRpdmUtaW1lIil9Y2F0Y2h7fX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWFuZHJvaWQtbmV0d29yayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5kZXRhaWwmJmUuZGV0YWlsLnN0YXRlO2lmKHQ9PT0ibG9zdCIpe3IuaXNPbmxpbmU9ITE7dHJ5e0lpKCl9Y2F0Y2h7fXJldHVybn1pZih0PT09ImF2YWlsYWJsZSJ8fHQ9PT0iY2hhbmdlZCJ8fHQ9PT0idmFsaWRhdGVkIil7ci5pc09ubGluZT0hMDt0cnl7SWkoKX1jYXRjaHt9X2EoImFuZHJvaWQtbmV0d29yay0iK3QpfX0pKX1mdW5jdGlvbiB1cCgpe2ZldGNoKCIvYXBpL3Nlc3Npb24tY2hlY2siLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5vaz9lLmpzb24oKTp7YXV0aGVkOiExfX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIWV8fCFlLmF1dGhlZD8oci5sb2dpbkNoZWNrZWQ9ITAsWnQoKSxudWxsKTpmZXRjaCgiL2FwaS9jb25maWciLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5vaz90Lmpzb24oKTooci5sb2dpbkNoZWNrZWQ9ITAsWnQoKSxudWxsKX0pfSkudGhlbihmdW5jdGlvbihlKXtlJiYoci5jb25maWc9ZSxyLmxvZ2luQ2hlY2tlZD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt0cnl7WnQoe3NraXBTaGVsbENocm9tZTohMH0pfWNhdGNoe31hcCgpLG5zKCksTnQoKSx0ZCgpLGdwKCksZS51cGRhdGVBdmFpbGFibGUmJmUubGF0ZXN0VmVyc2lvbiYmSXMoZS5jdXJyZW50VmVyc2lvbnx8Ii0iLGUubGF0ZXN0VmVyc2lvbiksem4mJnFnKCksYm4mJl9nKCksci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5jbGF1ZGVIaXN0b3J5TG9hZGVkfHxDaSgpfSw2MDApfSkpfSkuY2F0Y2goZnVuY3Rpb24oKXtpZihyLmxvZ2luQ2hlY2tlZD0hMCwhbmF2aWdhdG9yLm9uTGluZSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO2UmJihlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctY2FyZCI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiIHN0eWxlPSJmb250LXNpemU6MS4zZW07bWFyZ2luLWJvdHRvbToxMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4Ij4nK1UoInNpZ25hbCIse3NpemU6MjAsc3Ryb2tlV2lkdGg6MS44fSkrJzxzcGFuPlx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMFx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctdGV4dCIgc3R5bGU9Im9wYWNpdHk6MC43O2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NjIxNlx1Nzg2RVx1OEJBNCBXYW5kIFx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OEZEMFx1ODg0Q1x1MzAwMjwvZGl2PjxidXR0b24gb25jbGljaz0ibG9jYXRpb24ucmVsb2FkKCkiIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHg7cGFkZGluZzo4cHggMjRweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUwLDExOCw4NSwwLjMpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjgpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTowLjk1ZW0iPlx1OTFDRFx1OEJENTwvYnV0dG9uPjwvZGl2PjwvZGl2PicpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGZ1bmN0aW9uKCl7bG9jYXRpb24ucmVsb2FkKCl9LHtvbmNlOiEwfSk7cmV0dXJufVp0KCl9KX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7aWYoIVdlKCkmJiFyLnNpZGViYXJQaW5uZWQmJiFyLnNpZGViYXJDb2xsYXBzZWQmJnIuc2Vzc2lvbnNEcmF3ZXJPcGVuKXt2YXIgdD1lLnRhcmdldDshdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCl8fHQuY2xvc2VzdCgiI3Nlc3Npb25zLWRyYXdlciIpfHx0LmNsb3Nlc3QoIiNzZXNzaW9ucy10b2dnbGUtYnV0dG9uIil8fHQuY2xvc2VzdCgiLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlIil8fHQuY2xvc2VzdCgiLnNpZGViYXItdGlsZS1idWJibGUiKXx8dC5jbG9zZXN0KCIubW9kYWwtYmFja2Ryb3AsIC5tb2RhbC1vdmVybGF5LCAubW9kYWwtY29udGFpbmVyLCBbcm9sZT0nZGlhbG9nJ10sIFtyb2xlPSdtZW51J10sIC50b3BiYXItbW9yZS1tZW51LCAuc2lkZWJhci1oZWFkZXItb3ZlcmZsb3csIC5mb2xkZXItcGlja2VyLWRyb3Bkb3duLCAucGF0aC1zdWdnZXN0aW9ucywgLnBlcm1pc3Npb24tcHJvbXB0LW92ZXJsYXksIC5yZXN0YXJ0LW92ZXJsYXkiKXx8bGcoKX19LCEwKSxycCgpLHVwKCk7ZnVuY3Rpb24gWnQoZSl7dmFyIHQ9ZSYmZS5za2lwU2hlbGxDaHJvbWUsbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwIiksaT1yLmNvbmZpZyE9PW51bGwsYT1yLm1vZGFsT3Blbix1PSFpfHwhIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZih1JiZNcigpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksci5zaWRlYmFyUGlubmVkJiYhci5zaWRlYmFyQ29sbGFwc2VkJiYhV2UoKSYmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITApKSxuLmlubmVySFRNTD1pP2xwKCk6c3AoKSxrdCgpLG5wKCksdGkoKSxRaSgpLGRyKF90KCkpLG9hKCksdHx8ZWkoKSxpJiZyLmZpbGVQYW5lbE9wZW4mJk90KCksZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm5vLXRyYW5zaXRpb24iKX0pLGEmJnIubW9kYWxPcGVuKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2lmKG8pe28uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZCIpO3MmJihzLnZhbHVlPXIuY3dkVmFsdWUpLGZyKCl9fWlmKGkmJnIuc2VsZWN0ZWRJZCYmci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQmJl9uKHIuc2VsZWN0ZWRJZCksaSl7dmFyIGw9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGQpe3JldHVybiBkLmlkPT09ci5zZWxlY3RlZElkfSk7JHUobCl9aHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1jd2QiKSksaHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLXBhdGgiKSksaHIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmtpbmctZGlyLWluZGljYXRvci1wYXRoIikpLHp0KCl9ZnVuY3Rpb24gb3AoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uaWQ9PT1yLnNlbGVjdGVkSWR9KSx0PWUmJmUuYXBwcm92YWxTdGF0cztyZXR1cm4hdHx8dC50b3RhbD09PTA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cyBoaWRkZW4iIGlkPSJhcHByb3ZhbC1zdGF0cyI+PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cyIgaWQ9ImFwcHJvdmFsLXN0YXRzIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtZGl2aWRlciI+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgaWQ9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiB0aXRsZT0iXHU2NzJDXHU2QjIxXHU0RjFBXHU4QkREXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU3RURGXHU4QkExIj48c3ZnIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1pY29uIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ii8+PC9zdmc+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXRvdGFsIj4nK3QudG90YWwrJzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIiBpZD0iYXBwcm92YWwtc3RhdHMtcG9wdXAiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cC10aXRsZSI+XHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU3RURGXHU4QkExPC9zcGFuPicrKHQuY29tbWFuZD4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVSgidGVybWluYWwiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDdEXHU0RUU0XHU2MjY3XHU4ODRDPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC5jb21tYW5kKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyh0LmZpbGU+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1UoImVkaXQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU2NTg3XHU0RUY2XHU1MTk5XHU1MTY1PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC5maWxlKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyh0LnRvb2w+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK1UoIndyZW5jaCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTUxNzZcdTRFRDZcdTVERTVcdTUxNzc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LnRvb2wrIjwvc3Bhbj48L3NwYW4+IjoiIikrJzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3cgYXBwcm92YWwtc3RhdHMtcm93LXRvdGFsIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrVSgic2lnbWEiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1NDA4XHU4QkExPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrdC50b3RhbCsiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPiJ9ZnVuY3Rpb24gc3AoKXtyZXR1cm4gci5sb2dpbkNoZWNrZWQ/JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+PGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvIj48ZGl2IGNsYXNzPSJsb2dpbi1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ibG9naW4tbG9nby10ZXh0Ij5XYW5kPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImxvZ2luLXN1YnRpdGxlIj5cdTU3MjhcdTZENEZcdTg5QzhcdTU2NjhcdTRFMkRcdThGRDBcdTg4NENcdTY3MkNcdTY3M0FcdTdFQzhcdTdBRUY8L2Rpdj48L2Rpdj48Zm9ybSBpZD0ibG9naW4tZm9ybSIgY2xhc3M9ImxvZ2luLWJvZHkiIGF1dG9jb21wbGV0ZT0ib24iPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgYXV0b2NvbXBsZXRlPSJ1c2VybmFtZSIgdmFsdWU9IndhbmQiIHRhYmluZGV4PSItMSIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi05OTk5cHg7d2lkdGg6MXB4O2hlaWdodDoxcHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmUiIHJlYWRvbmx5IC8+PHAgY2xhc3M9ImxvZ2luLWhpbnQiPlx1OEY5M1x1NTE2NSBXYW5kIFx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMVx1NEVFNVx1OEZEQlx1NTE2NVx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjwvcD48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJwYXNzd29yZCI+XHU1QkM2XHU3ODAxPC9sYWJlbD48ZGl2IGNsYXNzPSJwYXNzd29yZC1maWVsZCI+PGlucHV0IGlkPSJwYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCBwYXNzd29yZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMSIgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIiBkYXRhLWVycm9yPSJmYWxzZSIgYXJpYS1kZXNjcmliZWRieT0icGFzc3dvcmQtaGludCBsb2dpbi1lcnJvciIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgLz48YnV0dG9uIGlkPSJ0b2dnbGUtcGFzc3dvcmQtYnV0dG9uIiB0eXBlPSJidXR0b24iIGNsYXNzPSJwYXNzd29yZC10b2dnbGUiIGFyaWEtbGFiZWw9Ilx1NjYzRVx1NzkzQVx1NUJDNlx1NzgwMSIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+XHU2NjNFXHU3OTNBPC9idXR0b24+PC9kaXY+PHAgaWQ9InBhc3N3b3JkLWhpbnQiIGNsYXNzPSJoaW50Ij5cdTRGN0ZcdTc1MjhcdTRGNjBcdTU3MjggV2FuZCBcdTRFMkRcdThCQkVcdTdGNkVcdTc2ODRcdThCQkZcdTk1RUVcdTVCQzZcdTc4MDFcdTMwMDI8L3A+PHAgaWQ9ImxvZ2luLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iIHJvbGU9ImFsZXJ0Ij48L3A+PC9kaXY+PGRpdiBpZD0ibG9naW4tY2VydC1oaW50IiBjbGFzcz0ibG9naW4tY2VydC1oaW50IGhpZGRlbiIgcm9sZT0iYWxlcnQiPjxkaXYgY2xhc3M9ImxvZ2luLWNlcnQtaGludC10aXRsZSI+XHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU0RkUxXHU0RUZCXHVGRjBDXHU3NjdCXHU1RjU1XHU2MDAxXHU2NUUwXHU2Q0Q1XHU0RkREXHU1QjU4PC9kaXY+PHAgY2xhc3M9ImxvZ2luLWNlcnQtaGludC1ib2R5Ij5cdTVCQzZcdTc4MDFcdTY2MkZcdTVCRjlcdTc2ODRcdUZGMENcdTRGNDZcdTVGNTNcdTUyNEQgSFRUUFMgXHU4QkMxXHU0RTY2XHU0RTBEXHU1M0Q3XHU2RDRGXHU4OUM4XHU1NjY4XHU0RkUxXHU0RUZCXHVGRjBDXHU2RDRGXHU4OUM4XHU1NjY4XHU1NkUwXHU2QjY0XHU2MkQyXHU3RUREXHU0RkREXHU1QjU4XHU3NjdCXHU1RjU1IENvb2tpZVx1RkYwQ1x1NjI0MFx1NEVFNVx1OEZEQlx1NEUwRFx1NEU4Nlx1NjNBN1x1NTIzNlx1NTNGMFx1MzAwMjxici8+XHU4OUUzXHU1MUIzXHU1MjlFXHU2Q0Q1XHVGRjA4XHU0RUZCXHU5MDA5XHU1MTc2XHU0RTAwXHVGRjA5XHVGRjFBXHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFXHU2NzJDXHU2NzBEXHU1MkExXHVGRjFCXHU2MjE2XHU2MjhBXHU2NzJDXHU2NzBEXHU1MkExXHU4QkMxXHU0RTY2XHU4QkJFXHU0RTNBXHUzMDBDXHU1M0Q3XHU0RkUxXHU0RUZCXHUzMDBEXHVGRjA4XHU2M0E4XHU4MzUwIG1rY2VydFx1RkYwOVx1RkYxQlx1NjIxNlx1NTcyOFx1NjcyQ1x1NjczQVx1NUMwNlx1OEJFNVx1ODFFQVx1N0I3RVx1OEJDMVx1NEU2Nlx1OEJCRVx1NEUzQVx1NUI4Q1x1NTE2OFx1NEZFMVx1NEVGQlx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMjwvcD48YSBpZD0ibG9naW4tY2VydC1odHRwLWxpbmsiIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayIgaHJlZj0iIyIgcmVsPSJub29wZW5lciI+XHU2NTM5XHU3NTI4IEhUVFAgXHU4QkJGXHU5NUVFPC9hPjwvZGl2PjxidXR0b24gaWQ9ImxvZ2luLWJ1dHRvbiIgdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwPC9idXR0b24+JysoVHUoKT8nPGJ1dHRvbiBpZD0ibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1ibG9jayBsb2dpbi1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mlx1NjcwRFx1NTJBMVx1NTY2ODwvc3Bhbj48L2J1dHRvbj4nOiIiKSsiPC9mb3JtPjwvZGl2PjwvZGl2PiI6JzxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibG9naW4tY2FyZCBsb2dpbi1jYXJkLWxvYWRpbmciPjxkaXYgY2xhc3M9ImxvZ2luLWhlYWRlciI+PGRpdiBjbGFzcz0ibG9naW4tbG9nbyI+PGRpdiBjbGFzcz0ibG9naW4tbG9nby1pY29uIj5XPC9kaXY+PHNwYW4gY2xhc3M9ImxvZ2luLWxvZ28tdGV4dCI+V2FuZDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJsb2dpbi1zdWJ0aXRsZSI+XHU2QjYzXHU1NzI4XHU2MDYyXHU1OTBEXHU3NjdCXHU1RjU1XHU3MkI2XHU2MDAxPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tYm9keSI+PGRpdiBjbGFzcz0ibG9naW4tc3RhdHVzIj48c3BhbiBjbGFzcz0ibG9naW4tc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48ZGl2PjxwIGNsYXNzPSJsb2dpbi1oaW50Ij5cdTZCNjNcdTU3MjhcdTY4QzBcdTY3RTVcdTY3MkNcdTU3MzBcdTc2N0JcdTVGNTVcdTRGMUFcdThCRERcdUZGMENcdThCRjdcdTdBMERcdTUwMTlcdTMwMDI8L3A+PHAgY2xhc3M9ImxvZ2luLW11dGVkIj5cdTU5ODJcdTY3OUNcdTRGNjBcdTUyMUFcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdUZGMENcdThGRDlcdTY2MkZcdTZCNjNcdTVFMzhcdTczQjBcdThDNjFcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+J31mdW5jdGlvbiBscCgpe3ZhciBlPSI8XC9zY3JpcHQ+Iix0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dD9scih0LmNvbW1hbmQpOiJcdTY3MkFcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQiLGk9dD90Lm1vZGUrIiB8ICIrdC5zdGF0dXM6Ilx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQiIsYT1yLnNlbGVjdGVkSWQmJnIuZHJhZnRzW3Iuc2VsZWN0ZWRJZF18fCIiLHU9ci5zZXNzaW9uc0RyYXdlck9wZW4/IiBvcGVuIjoiIixvPWJvKCk/IiBvcGVuIjoiIixzPVZtKCksbD1mdChzLHIuY2hhdE1vZGUpLGQ9V2UoKSxmPSEhci5zaWRlYmFyUGlubmVkJiYhIXIuc2lkZWJhckNvbGxhcHNlZCxjPWZ8fCFkJiYoISFyLnNpZGViYXJQaW5uZWR8fCEhci5zZXNzaW9uc0RyYXdlck9wZW4pLHY9Zj8iIHNpZGViYXItY29sbGFwc2VkIjoiIixoPWY/IiBjb2xsYXBzZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJhcHAtY29udGFpbmVyIj48ZGl2IGlkPSJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiIGNsYXNzPSJkcmF3ZXItYmFja2Ryb3AnK28rJyI+PC9kaXY+PGRpdiBjbGFzcz0ibWFpbi1sYXlvdXQnKyhyLnNlc3Npb25zRHJhd2VyT3Blbj8iIHNpZGViYXItb3BlbiI6IiIpKyhjPyIgc2lkZWJhci1waW5uZWQiOiIiKSt2KyciPjxhc2lkZSBpZD0ic2Vzc2lvbnMtZHJhd2VyIiBjbGFzcz0ic2lkZWJhcicrdSsoYz8iIHBpbm5lZCI6IiIpK2grJyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLW1haW4iPjxkaXYgY2xhc3M9InRvcGJhci1sb2dvLWljb24iPlc8L2Rpdj48c3BhbiBjbGFzcz0ic2lkZWJhci10aXRsZSI+XHU0RjFBXHU4QkREPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLWNvdW50IiBpZD0ic2Vzc2lvbi1jb3VudCI+JytTdHJpbmcoci5zZXNzaW9ucy5maWx0ZXIoZnVuY3Rpb24obSl7dmFyIGc9U3RyaW5nKG0mJm0uc2Vzc2lvblNvdXJjZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGchPT0iYXV0b21hdGlvbiImJmchPT0ic3RhcnR1cCJ9KS5sZW5ndGgpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItYWN0aW9ucyI+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItbW9yZSI+PGJ1dHRvbiBpZD0ic2lkZWJhci1tb3JlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY2RjRcdTU5MUFcdTY0Q0RcdTRGNUMiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxLjUiLz48L3N2Zz48L2J1dHRvbj48ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlci1vdmVyZmxvdyIgaWQ9InNpZGViYXItb3ZlcmZsb3ctbWVudSI+PGJ1dHRvbiBjbGFzcz0ib3ZlcmZsb3ctaXRlbSIgaWQ9InNpZGViYXItaG9tZS1idG4iIHR5cGU9ImJ1dHRvbiI+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+PHBvbHlsaW5lIHBvaW50cz0iOSAyMiA5IDEyIDE1IDEyIDE1IDIyIi8+PC9zdmc+PHNwYW4+XHU1NkRFXHU1MjMwXHU5OTk2XHU5ODc1PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im92ZXJmbG93LWl0ZW0iIGlkPSJzaWRlYmFyLXJlZnJlc2gtYnRuIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iMjMgNCAyMyAxMCAxNyAxMCIvPjxwYXRoIGQ9Ik0yMC40OSAxNWE5IDkgMCAxIDEtMi4xMi05LjM2TDIzIDEwIi8+PC9zdmc+PHNwYW4+XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxidXR0b24gaWQ9InNpZGViYXItcGluLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItcGluLXRvZ2dsZScrKHIuc2lkZWJhclBpbm5lZD8iIHBpbm5lZCI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9IicrKHIuc2lkZWJhclBpbm5lZD8iXHU1REYyXHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCXHVGRjA4XHU3MEI5XHU1MUZCXHU4OUUzXHU5NjY0XHU5NTAxXHU1QjlBXHVGRjA5IjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIikrJyIgYXJpYS1sYWJlbD0iJysoci5zaWRlYmFyUGlubmVkPyJcdTg5RTNcdTk2NjRcdTU2RkFcdTVCOUFcdTVFMzhcdTlBN0IiOiJcdTU2RkFcdTVCOUFcdTRGQTdcdTY4MEZcdTVFMzhcdTlBN0IiKSsnIiBhcmlhLXByZXNzZWQ9IicrKHIuc2lkZWJhclBpbm5lZD8idHJ1ZSI6ImZhbHNlIikrJyI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMiIgeTI9IjIyIi8+PHBhdGggZD0iTTUgMTdoMTR2LTEuNzZhMiAyIDAgMCAwLTEuMTEtMS43OWwtMS43OC0uOUEyIDIgMCAwIDEgMTUgMTAuNzZWNmgxYTIgMiAwIDAgMCAwLTRIOGEyIDIgMCAwIDAgMCA0aDF2NC43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjR6Ii8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2lkZWJhci1jb2xsYXBzZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZScrKGY/IiBjb2xsYXBzZWQiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSInKyhmPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIiBhcmlhLWxhYmVsPSInKyhmPyJcdTVDNTVcdTVGMDBcdTRFM0FcdTUxNjhcdTVDM0FcdTVCRjgiOiJcdTY1MzZcdThENzdcdTRFM0FcdTdBODRcdTY3NjEiKSsnIj4nKyhmPyc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjEwIDYgMTYgMTIgMTAgMTgiLz48bGluZSB4MT0iMjAiIHkxPSI1IiB4Mj0iMjAiIHkyPSIxOSIvPjwvc3ZnPic6Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTQgNiA4IDEyIDE0IDE4Ii8+PGxpbmUgeDE9IjQiIHkxPSI1IiB4Mj0iNCIgeTI9IjE5Ii8+PC9zdmc+JykrJzwvYnV0dG9uPjxidXR0b24gaWQ9ImNsb3NlLWRyYXdlci1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIHNpZGViYXItY2xvc2UgZHJhd2VyLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTgzRENcdTUzNTUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWJvZHkiPjxkaXYgaWQ9InNlc3Npb25zLXBhbmVsIj48ZGl2IGNsYXNzPSJzZXNzaW9ucy1saXN0IiBpZD0ic2Vzc2lvbnMtbGlzdCI+JytNYSgpKyc8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaWRlYmFyLWZvb3RlciI+PGJ1dHRvbiBpZD0iZHJhd2VyLW5ldy1zZXNzaW9uLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPjxzcGFuPis8L3NwYW4+IFx1NjVCMFx1NEYxQVx1OEJERDwvYnV0dG9uPjxkaXYgY2xhc3M9InNpZGViYXItZm9vdGVyLWFjdGlvbnMiPjxidXR0b24gaWQ9ImZpbGUtcGFuZWwtdG9nZ2xlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtJysoci5maWxlUGFuZWxPcGVuPyIgYWN0aXZlIjoiIikrJyIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2N0U1XHU3NzBCXHU2NTg3XHU0RUY2Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPjwvc3ZnPjxzcGFuPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJzZXR0aW5ncy1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU4QkJFXHU3RjZFIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDIuODNsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTQgMHYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44My0yLjgzbC4wNi0uMDZBMS42NSAxLjY1IDAgMCAwIDQuNjggMTVhMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMSAwLTRoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDIuODMtMi44M2wuMDYuMDZBMS42NSAxLjY1IDAgMCAwIDkgNC42OGExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDQgMHYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAyLjgzbC0uMDYuMDZBMS42NSAxLjY1IDAgMCAwIDE5LjQgOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAwIDRoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiIvPjwvc3ZnPjxzcGFuPlx1OEJCRVx1N0Y2RTwvc3Bhbj48L2J1dHRvbj4nKyhXbSgpPyc8YnV0dG9uIGlkPSJiYWNrLXRvLW5hdGl2ZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLWJhY2stdG8tbmF0aXZlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REUgQXBwIFx1NTM5Rlx1NzUxRlx1NzU0Q1x1OTc2MiI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMCIgeT0iMyIgd2lkdGg9IjExIiBoZWlnaHQ9IjE4IiByeD0iMiIvPjxsaW5lIHgxPSIxNCIgeTE9IjE3IiB4Mj0iMTciIHkyPSIxNyIvPjxwb2x5bGluZSBwb2ludHM9IjcgOCAzIDEyIDcgMTYiLz48L3N2Zz48c3Bhbj5cdThGRDRcdTU2REVBcHA8L3NwYW4+PC9idXR0b24+JzoiIikrKFR1KCk/JzxidXR0b24gaWQ9InN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mjwvc3Bhbj48L2J1dHRvbj4nOiIiKSsnPGJ1dHRvbiBpZD0ibG9nb3V0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0IiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTYgMTcgMjEgMTIgMTYgNyIvPjxsaW5lIHgxPSIyMSIgeTE9IjEyIiB4Mj0iOSIgeTI9IjEyIi8+PC9zdmc+PHNwYW4+XHU5MDAwXHU1MUZBPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvYXNpZGU+PG1haW4gY2xhc3M9Im1haW4tY29udGVudCI+PGRpdiBjbGFzcz0ibWFpbi1oZWFkZXItcm93Ij48ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+PGJ1dHRvbiBpZD0ic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIgY2xhc3M9ImZsb2F0aW5nLXNpZGViYXItdG9nZ2xlJysoci5zZXNzaW9uc0RyYXdlck9wZW4/IiBhY3RpdmUiOiIiKSsnIiBhcmlhLWxhYmVsPSJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9ImhhbWJ1cmdlci1pY29uIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+PHNwYW4gY2xhc3M9InRvcGJhci1icmFuZCIgYXJpYS1oaWRkZW49InRydWUiPlc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLWNlbnRlciI+JysodD8nPHNwYW4gY2xhc3M9InRvcGJhci1zZXNzaW9uLXRpdGxlIiB0aXRsZT0iJytwKHQuZGVzY3JpcHRpb258fHQuY29tbWFuZHx8IiIpKyciPicrcCh0LnRpdGxlfHxscih0LmNvbW1hbmQpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy1waWxsICcrVm8odCkrJyIgdGl0bGU9IicrcChEcih0KSkrJyI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLWRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy10ZXh0Ij4nK3AoRHIodCkpKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JysodC5jd2Q/RnQodC5jd2QsInRvcGJhci1jd2QiLCcgaWQ9InRvcGJhci1jd2QiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiJyk6IiIpOic8c3BhbiBjbGFzcz0idG9wYmFyLXRhZ2xpbmUiPldhbmQgXHU2M0E3XHU1MjM2XHU1M0YwPC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JykrJzwvZGl2PjxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+PGJ1dHRvbiBpZD0idG9wYmFyLWZpbGUtYnV0dG9uIiBjbGFzcz0idG9wYmFyLWJ0biBzcXVhcmUnKyhyLmZpbGVQYW5lbE9wZW4/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjU4N1x1NEVGNiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNlx1RkYwOFx1NTNFRlx1NEZFRVx1NjUzOVx1OERFRlx1NUY4NFx1RkYwOSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48L2J1dHRvbj48c3BhbiBpZD0idG9wYmFyLWdpdC1zbG90IiBjbGFzcz0idG9wYmFyLWdpdC1zbG90Ij4nK19vKCkrIjwvc3Bhbj4iKyh0P3ljKHQpOiIiKSsnPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZS1wYW5lbC1iYWNrZHJvcCIgY2xhc3M9ImZpbGUtcGFuZWwtYmFja2Ryb3AnKyhyLmZpbGVQYW5lbE9wZW4/IiBvcGVuIjoiIikrJyI+PC9kaXY+PGRpdiBpZD0iZmlsZS1zaWRlLXBhbmVsIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsJysoci5maWxlUGFuZWxPcGVuPyIgb3BlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cCI+PHNwYW4gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uIj4nK09lKCJmb2xkZXItb3BlbiIse3NpemU6MTZ9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtdGl0bGUiPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIiBpZD0iZmlsZS1leHBsb3Jlci1yZWZyZXNoIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjAiIGFyaWEtbGFiZWw9Ilx1NTIzN1x1NjVCMFx1NjU4N1x1NEVGNlx1NTIxN1x1ODg2OCI+JytPZSgicmVmcmVzaCIse3NpemU6MTV9KSsnPC9idXR0b24+PGJ1dHRvbiBpZD0iZmlsZS1zaWRlLXBhbmVsLWNsb3NlIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb25idG4gY2xvc2UiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5NzYyXHU2NzdGIiB0aXRsZT0iXHU1MTczXHU5NUVEIj4nK09lKCJ4Iix7c2l6ZToxNn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3Jlci1oZWFkZXIiPjxidXR0b24gY2xhc3M9ImZpbGUtZXhwbG9yZXItdXAiIGlkPSJmaWxlLWV4cGxvcmVyLXVwIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REVcdTRFMEFcdTdFQTdcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NSI+JytPZSgiYXJyb3ctdXAiLHtzaXplOjE1fSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmlsZS1leHBsb3Jlci1wYXRoIiBpZD0iZmlsZS1leHBsb3Jlci1jd2QiIHZhbHVlPSInK3AodCYmdC5jd2Q/dC5jd2Q6Z24oKSkrJyIgdGl0bGU9IicrcCh0JiZ0LmN3ZD90LmN3ZDpnbigpKSsnIiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU1RTc2XHU1NkRFXHU4RjY2Li4uIiBzcGVsbGNoZWNrPSJmYWxzZSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1OERFRlx1NUY4NFx1RkYwQ1x1NTNFRlx1NzZGNFx1NjNBNVx1NEZFRVx1NjUzOVx1NTQwRVx1NTZERVx1OEY2NiIgLz48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNlYXJjaC1ib3giPjxzcGFuIGNsYXNzPSJmaWxlLXNlYXJjaC1pY29uIj4nK09lKCJzZWFyY2giLHtzaXplOjE0fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZpbGUtc2VhcmNoLWlucHV0IiBjbGFzcz0iZmlsZS1zZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTIwMjYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48YnV0dG9uIGNsYXNzPSJmaWxlLXNlYXJjaC1jbGVhciIgaWQ9ImZpbGUtc2VhcmNoLWNsZWFyIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1OTY2NFx1NjQxQ1x1N0QyMiIgdGl0bGU9Ilx1NkUwNVx1OTY2NCI+JytPZSgieCIse3NpemU6MTN9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciIgaWQ9ImZpbGUtZXhwbG9yZXIiPicrbmModCYmdC5jd2Q/dC5jd2Q6Z24oKSkrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im91dHB1dCIgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lcicrKHIuc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKycgYWN0aXZlIj48ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5IiBhcmlhLWxhYmVsPSJcdTdFQzhcdTdBRUZcdTdGMjlcdTY1M0VcdTYzQTdcdTRFRjYiPjxidXR0b24gaWQ9InRlcm1pbmFsLXNjYWxlLWRvd24tdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTdGMjlcdTVDMEYiPlx1MjIxMjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVsIHRlcm1pbmFsLXNjYWxlLWxhYmVsIiBpZD0idGVybWluYWwtc2NhbGUtbGFiZWwtdG9wIj4nK01hdGgucm91bmQoci50ZXJtaW5hbFNjYWxlKjEwMCkrJyU8L3NwYW4+PGJ1dHRvbiBpZD0idGVybWluYWwtc2NhbGUtdXAtdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY1M0VcdTU5MjciPis8L2J1dHRvbj48c3BhbiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1kaXZpZGVyIj48L3NwYW4+PGJ1dHRvbiBpZD0icGFnZS1yZWZyZXNoLWJ0biIgY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXktYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjIiPlx1MjFCQjwvYnV0dG9uPjwvZGl2PjxidXR0b24gaWQ9InRlcm1pbmFsLWp1bXAtYm90dG9tIiBjbGFzcz0idGVybWluYWwtanVtcC1ib3R0b20nKyhyLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT8iIHZpc2libGUiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTVFOTVcdTkwRTgiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NUU5NVx1OTBFOCI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMy41djlNMy41IDhsNC41IDQuNUwxMi41IDgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjaGF0LW91dHB1dCIgY2xhc3M9ImNoYXQtY29udGFpbmVyIGhpZGRlbiI+PGRpdiBpZD0iY2hhdC1mb2xkLWJhciIgY2xhc3M9ImNoYXQtZm9sZC1iYXIgaGlkZGVuIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9kaXY+PGJ1dHRvbiBpZD0iY2hhdC11bnJlYWQtYnViYmxlIiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTY3MDBcdTY1QjBcdTZEODhcdTYwNkYiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWJ1YmJsZS1pY29uIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAzLjV2OU0zLjUgOGw0LjUgNC41TDEyLjUgOCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlLWNvdW50IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImJsYW5rLWNoYXQiIGNsYXNzPSJibGFuay1jaGF0Jysoci5zZWxlY3RlZElkPyIgaGlkZGVuIjoiIikrJyI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1pbm5lciI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1sb2dvIj5XPC9kaXY+PGgyIGNsYXNzPSJibGFuay1jaGF0LXRpdGxlIj5XYW5kPC9oMj48cCBjbGFzcz0iYmxhbmstY2hhdC1zdWJ0aXRsZSI+XHU2NTJGXHU2MzAxXHU3RUM4XHU3QUVGIFBUWSBcdTRGMUFcdThCRERcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTYgY2hhdCBcdTRGMUFcdThCRERcdUZGMENcdTRFMjRcdTc5Q0RcdTZBMjFcdTVGMEZcdTUzRUZcdTVFNzZcdTVCNThcdTMwMDI8L3A+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC10b29scyI+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1jbGF1ZGUiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InRvb2wtaWNvbiI+JytVKCJ0ZXJtaW5hbCIse3NpemU6MTYsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj5cdTY1QjBcdTVFRkFcdTdFQzhcdTdBRUZcdTRGMUFcdThCREQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJibGFuay1jaGF0LXRvb2wtYnRuIiBpZD0id2VsY29tZS10b29sLWNvZGV4IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24gdG9vbC1pY29uLXRleHQiPlx1MjMxODwvc3Bhbj5cdTY1QjBcdTVFRkEgQ29kZXggXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1vcGVuY29kZSIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIHRvb2wtaWNvbi10ZXh0Ij5PQzwvc3Bhbj5cdTY1QjBcdTVFRkEgT3BlbkNvZGUgXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1zdHJ1Y3R1cmVkIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24iPicrVSgiY2hhdCIse3NpemU6MTYsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj5cdTY1QjBcdTVFRkFcdTdFRDNcdTY3ODRcdTUzMTZcdTRGMUFcdThCREQ8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC13cmFwIj48ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZCIgaWQ9ImJsYW5rLWNoYXQtY3dkIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiB0aXRsZT0iXHU3MEI5XHU1MUZCXHU1MjA3XHU2MzYyXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1Ij48c3BhbiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtaWNvbiI+JytVKCJmb2xkZXIiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOH0pKyI8L3NwYW4+IitGdChaZSgpLCJibGFuay1jaGF0LWN3ZC1wYXRoIiwnIGlkPSJibGFuay1jaGF0LWN3ZC1wYXRoIicpKyc8c3BhbiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtYXJyb3ciIGlkPSJibGFuay1jaGF0LWN3ZC1hcnJvdyI+JytVKCJjaGV2cm9uRG93biIse3NpemU6MTEsc3Ryb2tlV2lkdGg6Mn0pKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QtZHJvcGRvd24gaGlkZGVuIiBpZD0iYmxhbmstY2hhdC1jd2QtZHJvcGRvd24iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImlucHV0LXBhbmVsJysoci5zZWxlY3RlZElkPyIiOiIgaGlkZGVuIikrJyI+PGRpdiBjbGFzcz0iY29tcG9zZXItdG9wLXJvdyI+PGRpdiBpZD0idG9kby1wcm9ncmVzcyIgY2xhc3M9InRvZG8tcHJvZ3Jlc3MgaGlkZGVuIj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWhlYWRlciIgaWQ9InRvZG8tcHJvZ3Jlc3MtdG9nZ2xlIj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGlkPSJ0b2RvLXByb2dyZXNzLWZpbGwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxlZnQiPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLXJpbmciIGlkPSJ0b2RvLXByb2dyZXNzLXJpbmciIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iLS1wcm9ncmVzczowIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDM2IDM2Ij48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctdHJhY2siIGN4PSIxOCIgY3k9IjE4IiByPSIxNS41IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiLz48Y2lyY2xlIGNsYXNzPSJ0b2RvLXJpbmctZmlsbCIgY3g9IjE4IiBjeT0iMTgiIHI9IjE1LjUiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiIGlkPSJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2RvLXByb2dyZXNzLXRhc2std3JhcCI+PHNwYW4gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtdGFzayIgaWQ9InRvZG8tcHJvZ3Jlc3MtdGFzayI+PC9zcGFuPjwvZGl2PjxzdmcgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+PC9zdmc+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1ib2R5IGhpZGRlbiIgaWQ9InRvZG8tcHJvZ3Jlc3MtYm9keSI+PHVsIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxpc3QiIGlkPSJ0b2RvLXByb2dyZXNzLWxpc3QiPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBpZD0icXVldWUtYmFyLWhvc3QiIGNsYXNzPSJxdWV1ZS1iYXItaG9zdCIgaGlkZGVuPjwvZGl2PjxkaXYgY2xhc3M9ImlucHV0LWNvbXBvc2VyJysoYT8iIGhhcy10ZXh0IjoiIikrJyI+PGRpdiBjbGFzcz0iY29tcG9zZXItc3RhdHVzLXJvdyIgaWQ9ImNvbXBvc2VyLXN0YXR1cy1yb3ciPicrWm0odCkrJzxzcGFuIGNsYXNzPSJwZXJtaXNzaW9uLWFjdGlvbnMgaGlkZGVuIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zIj48c3BhbiBjbGFzcz0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIiBpZD0icGVybWlzc2lvbi1hY3Rpb25zLWxhYmVsIj5cdTdCNDlcdTVGODVcdTYzODhcdTY3NDM8L3NwYW4+PGJ1dHRvbiBpZD0iYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIgY2xhc3M9ImJ0biBidG4tcGVybWlzc2lvbiBidG4tcGVybWlzc2lvbi1hcHByb3ZlIiB0eXBlPSJidXR0b24iPlx1NjI3OVx1NTFDNjwvYnV0dG9uPjxidXR0b24gaWQ9ImRlbnktcGVybWlzc2lvbi1idG4iIGNsYXNzPSJidG4gYnRuLXBlcm1pc3Npb24gYnRuLXBlcm1pc3Npb24tZGVueSIgdHlwZT0iYnV0dG9uIj5cdTYyRDJcdTdFREQ8L2J1dHRvbj48L3NwYW4+JytvcCgpKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1tYWluLXJvdyI+PGRpdiBjbGFzcz0iY29tcG9zZXItYWN0aW9ucy1sZWZ0Ij48YnV0dG9uIGlkPSJhdHRhY2gtYnRuIiBjbGFzcz0iYnRuLWNpcmNsZSBidG4tY2lyY2xlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2NkY0XHU1OTFBIiBhcmlhLWxhYmVsPSJcdTY2RjRcdTU5MUEiIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPicrVSgicGx1cyIse3NpemU6MTgsc3Ryb2tlV2lkdGg6Mi4yfSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZS11cGxvYWQtaW5wdXQiIG11bHRpcGxlIHRhYmluZGV4PSItMSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlubGluZS1jb25maWciPicrWWwodCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlucHV0LXdyYXAiPjx0ZXh0YXJlYSBpZD0iaW5wdXQtYm94IiBjbGFzcz0iaW5wdXQtdGV4dGFyZWEiIHBsYWNlaG9sZGVyPSInK2psKHQsci50ZXJtaW5hbEludGVyYWN0aXZlKSsnIiByb3dzPSIxIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIGVudGVya2V5aGludD0ic2VuZCI+JytwKGEpKyc8L3RleHRhcmVhPjxidXR0b24gaWQ9InByb21wdC1vcHRpbWl6ZS1idG4iIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIgYXJpYS1sYWJlbD0iXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2Ij48c3ZnIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtaWNvbiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4yNSIvPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiLz48cGF0aCBkPSJNMTkgMTRsLjcgMS45TDIxLjYgMTdsLTEuOS43TDE5IDE5LjZsLS43LTEuOUwxNi40IDE3bDEuOS0uN3oiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjxwYXRoIGQ9Ik01IDRsLjUgMS40TDcgNmwtMS41LjZMNSA4bC0uNS0xLjRMMyA2bDEuNS0uNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJ2b2ljZS1pbnB1dC1tb2RlIGhpZGRlbiIgaWQ9InZvaWNlLWlucHV0LW1vZGUiPjxidXR0b24gaWQ9InZvaWNlLXJlY29yZC1idG4iIGNsYXNzPSJ2b2ljZS1yZWNvcmQtYnRuIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ2b2ljZS1yZWNvcmQtcHVsc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InZvaWNlLXJlY29yZC1sYWJlbCI+XHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERDwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJ2b2ljZS1jYW5jZWwtYnRuIiBjbGFzcz0idm9pY2UtY2FuY2VsLWJ0biIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU5MDAwXHU1MUZBXHU4QkVEXHU5N0YzXHU2QTIxXHU1RjBGIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdThCRURcdTk3RjNcdTZBMjFcdTVGMEYiPicrVSgieCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLXJpZ2h0Ij48YnV0dG9uIGlkPSJzdG9wLWJ1dHRvbiIgY2xhc3M9ImJ0bi1jaXJjbGUgYnRuLWNpcmNsZS1zdG9wIGhpZGRlbiIgdGl0bGU9Ilx1NTA1Q1x1NkI2MiI+PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIi8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2VuZC1pbnB1dC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc2VuZCIgdGl0bGU9Ilx1NTNEMVx1OTAwMSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIyMiIgeTE9IjIiIHgyPSIxMSIgeTI9IjEzIi8+PHBvbHlnb24gcG9pbnRzPSIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXR0YWNobWVudC1wcmV2aWV3IiBjbGFzcz0iYXR0YWNobWVudC1wcmV2aWV3IGhpZGRlbiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItcGx1cy1wb3BvdmVyIGhpZGRlbiIgaWQ9ImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJmYWxzZSIgYXJpYS1sYWJlbD0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48YnV0dG9uIGNsYXNzPSJwbHVzLXBvcG92ZXItaXRlbSIgaWQ9InBsdXMtYXR0YWNoLWl0ZW0iIHR5cGU9ImJ1dHRvbiI+JytVKCJwYXBlcmNsaXAiLHtzaXplOjE0LHN0cm9rZVdpZHRoOjEuOCxjbHM6InBsdXMtcG9wb3Zlci1pY29uIn0pKyc8c3BhbiBjbGFzcz0icGx1cy1wb3BvdmVyLWxhYmVsIj5cdTRFMEFcdTRGMjBcdTk2NDRcdTRFRjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icGx1cy1wb3BvdmVyLWl0ZW0nKyhyLnRlcm1pbmFsSW50ZXJhY3RpdmU/IiBpcy1vbiI6IiIpKyciIGlkPSJ0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iJysoci50ZXJtaW5hbEludGVyYWN0aXZlPyJ0cnVlIjoiZmFsc2UiKSsnIj4nK1UoImtleWJvYXJkIix7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjgsY2xzOiJwbHVzLXBvcG92ZXItaWNvbiJ9KSsnPHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci1sYWJlbCI+XHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyPC9zcGFuPjxzcGFuIGNsYXNzPSJwbHVzLXBvcG92ZXItdG9nZ2xlLXN0YXRlIj4nKyhyLnRlcm1pbmFsSW50ZXJhY3RpdmU/Ilx1NUYwMCI6Ilx1NTE3MyIpKyc8L3NwYW4+PC9idXR0b24+PGRpdiBjbGFzcz0icGx1cy1wb3BvdmVyLXNlcCIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9InBsdXMtcG9wb3Zlci10cmlvLXdyYXAiPicrWWwodCkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIGhpZGRlbiIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIiBhcmlhLWxpdmU9InBvbGl0ZSI+PGRpdiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC10ZXh0IiBpZD0idm9pY2UtdHJhbnNjcmlwdC10ZXh0Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiPjxzcGFuIGNsYXNzPSJ2b2ljZS13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyI+XHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJ2b2ljZS1idWJibGUtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9kaXY+PHAgaWQ9ImFjdGlvbi1lcnJvciIgY2xhc3M9ImVycm9yLW1lc3NhZ2UgaGlkZGVuIj48L3A+PC9kaXY+PHNlY3Rpb24gaWQ9ImZvbGRlci1waWNrZXItbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIGZvbGRlci1waWNrZXItbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU5MDA5XHU2MkU5XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9oMj48YnV0dG9uIGlkPSJjbG9zZS1mb2xkZXItcGlja2VyIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1yb3ciPjxidXR0b24gY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stYnRuIGJ0bi13aXRoLWljb24iIGRhdGEtcGF0aD0iL3RtcCI+JytVKCJ0cmFzaCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzxzcGFuPlx1NEUzNFx1NjVGNlx1NzZFRVx1NUY1NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biBidG4td2l0aC1pY29uIiBkYXRhLXBhdGg9Ii8iPicrVSgiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPHNwYW4+XHU2ODM5XHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1icmVhZGNydW1iIiBjbGFzcz0iZm9sZGVyLWJyZWFkY3J1bWIiPjwvZGl2PjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXIiPjxzcGFuIGNsYXNzPSJmb2xkZXItcGlja2VyLWljb24iPicrVSgiZm9sZGVyIix7c2l6ZToxNSxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItaW5wdXQiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTYyMTZcdTkwMDlcdTYyRTlcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTUuLi4iIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIgY2xhc3M9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPjwvbWFpbj48L2Rpdj48L2Rpdj4nK1JjKCkrSWMoKStUYygpK1JvKCl9ZnVuY3Rpb24gcWUoZSx0KXtpZihlKXtlLnRleHRDb250ZW50PXQsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtmb3IodmFyIG49ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO247KXtpZihuLnRhZ05hbWU9PT0iSU5QVVQiKXtuLnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsInRydWUiKTticmVha31uPW4ucHJldmlvdXNFbGVtZW50U2libGluZ319fWZ1bmN0aW9uIFRpKGUpe2lmKGUpe2UudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtmb3IodmFyIHQ9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3Q7KXtpZih0LnRhZ05hbWU9PT0iSU5QVVQiKXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsImZhbHNlIik7YnJlYWt9dD10LnByZXZpb3VzRWxlbWVudFNpYmxpbmd9fX1mdW5jdGlvbiB4KGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc05hbWU9InRvYXN0LW1lc3NhZ2UiKyh0PT09ImVycm9yIj8iIHRvYXN0LWVycm9yIjoiIiksdCE9PSJlcnJvciImJihuLnN0eWxlLmJhY2tncm91bmQ9InZhcigtLWFjY2VudCkiLG4uc3R5bGUuY29sb3I9IndoaXRlIiksbi50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksc2V0VGltZW91dChmdW5jdGlvbigpe24ucmVtb3ZlKCl9LHQ9PT0iZXJyb3IiPzRlMzoyMjAwKX12YXIgcXI9W10sZHA9MDtmdW5jdGlvbiBjcChlKXtzd2l0Y2goZSl7Y2FzZSJ3YXJuaW5nIjpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTAuMyAyLjkgMS44IDE3YTIgMiAwIDAgMCAxLjcgM2gxN2EyIDIgMCAwIDAgMS43LTNMMTMuNyAyLjlhMiAyIDAgMCAwLTMuNCAwWiIvPjxwYXRoIGQ9Ik0xMiA5djQiLz48cGF0aCBkPSJNMTIgMTdoLjAxIi8+PC9zdmc+JztjYXNlImRhbmdlciI6cmV0dXJuJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgNmgxOCIvPjxwYXRoIGQ9Ik04IDZWNGg4djIiLz48cGF0aCBkPSJtMTkgNi0xIDE0SDZMNSA2Ii8+PHBhdGggZD0iTTEwIDExdjUiLz48cGF0aCBkPSJNMTQgMTF2NSIvPjwvc3ZnPic7Y2FzZSJzdWNjZXNzIjpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSIvPjwvc3ZnPic7Y2FzZSJxdWVzdGlvbiI6cmV0dXJuJzxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxwYXRoIGQ9Ik05LjcgOWEyLjUgMi41IDAgMSAxIDQuNSAxLjVjLS45LjgtMi4yIDEuMi0yLjIgMi41Ii8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPic7ZGVmYXVsdDpyZXR1cm4nPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PHBhdGggZD0iTTEyIDExdjUiLz48cGF0aCBkPSJNMTIgOGguMDEiLz48L3N2Zz4nfX1mdW5jdGlvbiB5bihlKXtlPWV8fHt9O3ZhciB0PWUuZGlzbWlzc2FibGUhPT0hMSxuPWUudHlwZXx8ImluZm8iLGk9Y3AobiksYT0hIWUuaW5wdXQ7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUpe3ZhciBvPSJ3YW5kLWRpYWxvZy0iKyArK2RwLHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1iYWNrZHJvcCIsbC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ciLGQuc2V0QXR0cmlidXRlKCJyb2xlIixhPyJkaWFsb2ciOiJhbGVydGRpYWxvZyIpLGQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1oZWFkZXIiO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pY29uICIrbixjLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksZS5pY29uP2MudGV4dENvbnRlbnQ9U3RyaW5nKGUuaWNvbik6Yy5pbm5lckhUTUw9aSxmLmFwcGVuZENoaWxkKGMpO3ZhciB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHYuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy10ZXh0d3JhcCIsZS50aXRsZSl7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aC5jbGFzc05hbWU9IndhbmQtZGlhbG9nLXRpdGxlIixoLmlkPW8rIi10aXRsZSIsaC50ZXh0Q29udGVudD1lLnRpdGxlLHYuYXBwZW5kQ2hpbGQoaCksZC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsaC5pZCl9aWYoZS5tZXNzYWdlKXt2YXIgbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTttLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctbWVzc2FnZSIsbS5pZD1vKyItbWVzc2FnZSIsbS50ZXh0Q29udGVudD1lLm1lc3NhZ2Usdi5hcHBlbmRDaGlsZChtKSxkLnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsbS5pZCl9ZS50aXRsZXx8ZC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG49PT0iZGFuZ2VyIj8iXHU3ODZFXHU4QkE0XHU2NENEXHU0RjVDIjoiXHU2M0QwXHU3OTNBIiksZi5hcHBlbmRDaGlsZCh2KSxkLmFwcGVuZENoaWxkKGYpO3ZhciBnPW51bGw7aWYoYSl7dmFyIHk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7eS5jbGFzc05hbWU9IndhbmQtZGlhbG9nLWJvZHkiLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxnLnR5cGU9InRleHQiLGcuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pbnB1dCIsZy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUuaW5wdXRMYWJlbHx8ZS50aXRsZXx8Ilx1OEY5M1x1NTE2NVx1NTE4NVx1NUJCOSIpLGcuYXV0b2NvbXBsZXRlPSJvZmYiLGcuc3BlbGxjaGVjaz0hMSxlLmlucHV0UGxhY2Vob2xkZXImJihnLnBsYWNlaG9sZGVyPWUuaW5wdXRQbGFjZWhvbGRlciksZS5pbnB1dFZhbHVlIT1udWxsJiYoZy52YWx1ZT1TdHJpbmcoZS5pbnB1dFZhbHVlKSkseS5hcHBlbmRDaGlsZChnKSxkLmFwcGVuZENoaWxkKHkpfXZhciBCPWUuYnV0dG9ucyYmZS5idXR0b25zLmxlbmd0aD9lLmJ1dHRvbnM6W3tsYWJlbDoiXHU1OTdEIix2YWx1ZTohMCxraW5kOiJwcmltYXJ5IixhdXRvZm9jdXM6ITB9XSxFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0UuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1mb290ZXIiO3ZhciBDPW51bGwsRD1udWxsO2Z1bmN0aW9uIEYoSSl7aWYoIWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJjbG9zaW5nIikpe2wuY2xhc3NMaXN0LmFkZCgiY2xvc2luZyIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEwsITApO3ZhciBOPXFyLmluZGV4T2YoRik7Tj49MCYmcXIuc3BsaWNlKE4sMSk7dmFyIEs9ITE7dHJ5e0s9ISEod2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXMpfWNhdGNoe31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCkscyYmZG9jdW1lbnQuY29udGFpbnMocykmJnR5cGVvZiBzLmZvY3VzPT0iZnVuY3Rpb24iKXRyeXtzLmZvY3VzKCl9Y2F0Y2h7fXUoSSl9LEt8fGRvY3VtZW50LmhpZGRlbj8wOjE0MCl9fUIuZm9yRWFjaChmdW5jdGlvbihJKXt2YXIgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKSxLPUkua2luZHx8InNlY29uZGFyeSI7Ti5jbGFzc05hbWU9ImJ0biBidG4tIitLLE4udHlwZT0iYnV0dG9uIixOLnRleHRDb250ZW50PUkubGFiZWwsTi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXthJiZJLmtpbmQ9PT0icHJpbWFyeSI/RihnP2cudmFsdWU6IiIpOkYoSS52YWx1ZSl9KSxDfHwoQz1OKSxJLmF1dG9mb2N1cyYmKEQ9TiksRS5hcHBlbmRDaGlsZChOKX0pLGQuYXBwZW5kQ2hpbGQoRSksbC5hcHBlbmRDaGlsZChkKSxsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihJKXtJLnRhcmdldD09PWwmJnQmJkYoZS5jYW5jZWxWYWx1ZSE9PXZvaWQgMD9lLmNhbmNlbFZhbHVlOmE/bnVsbDohMSl9KTtmdW5jdGlvbiBMKEkpe2lmKHFyW3FyLmxlbmd0aC0xXT09PUYpe2lmKEkua2V5PT09IkVzY2FwZSImJnQpe0kucHJldmVudERlZmF1bHQoKSxJLnN0b3BQcm9wYWdhdGlvbigpLEYoZS5jYW5jZWxWYWx1ZSE9PXZvaWQgMD9lLmNhbmNlbFZhbHVlOmE/bnVsbDohMSk7cmV0dXJufWlmKEkua2V5PT09IkVudGVyIil7Zm9yKHZhciBOPW51bGwsSz0wO0s8Qi5sZW5ndGg7SysrKWlmKEJbS10ua2luZD09PSJwcmltYXJ5Iil7Tj1CW0tdO2JyZWFrfU58fChOPUJbQi5sZW5ndGgtMV0pLE4mJihJLnByZXZlbnREZWZhdWx0KCksSS5zdG9wUHJvcGFnYXRpb24oKSxhJiZOLmtpbmQ9PT0icHJpbWFyeSI/RihnP2cudmFsdWU6IiIpOkYoTi52YWx1ZSkpO3JldHVybn1pZihJLmtleT09PSJUYWIiKXt2YXIgVz1kLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScpO2lmKCFXLmxlbmd0aClyZXR1cm47dmFyIGs9V1swXSxUPVdbVy5sZW5ndGgtMV07SS5zaGlmdEtleSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWs/KEkucHJldmVudERlZmF1bHQoKSxULmZvY3VzKCkpOiFJLnNoaWZ0S2V5JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09VCYmKEkucHJldmVudERlZmF1bHQoKSxrLmZvY3VzKCkpfX19ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsTCwhMCkscXIucHVzaChGKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGwpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKGEmJmcpe2cuZm9jdXMoKTt0cnl7Zy5zZWxlY3QoKX1jYXRjaHt9fWVsc2UgRD9ELmZvY3VzKCk6QyYmQy5mb2N1cygpfSl9KX1mdW5jdGlvbiBBcyhlLHQpe3JldHVybiB0PXR8fHt9LHluKHt0aXRsZTp0LnRpdGxlfHwiXHU2M0QwXHU3OTNBIixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTp0LnR5cGV8fCJpbmZvIixidXR0b25zOlt7bGFiZWw6dC5va0xhYmVsfHwiXHU1OTdEIix2YWx1ZTp2b2lkIDAsa2luZDoicHJpbWFyeSIsYXV0b2ZvY3VzOiEwfV19KX1mdW5jdGlvbiBRYShlLHQpe3Q9dHx8e307dmFyIG49ISF0LmRhbmdlcnx8dC50eXBlPT09ImRhbmdlciI7cmV0dXJuIHluKHt0aXRsZTp0LnRpdGxlfHwobj8iXHU3ODZFXHU4QkE0XHU2NENEXHU0RjVDIjoiXHU4QkY3XHU3ODZFXHU4QkE0IiksbWVzc2FnZTp0eXBlb2YgZT09InN0cmluZyI/ZTpTdHJpbmcoZT8/IiIpLHR5cGU6dC50eXBlfHwobj8iZGFuZ2VyIjoicXVlc3Rpb24iKSxjYW5jZWxWYWx1ZTohMSxidXR0b25zOlt7bGFiZWw6dC5jYW5jZWxMYWJlbHx8Ilx1NTNENlx1NkQ4OCIsdmFsdWU6ITEsa2luZDoic2Vjb25kYXJ5In0se2xhYmVsOnQub2tMYWJlbHx8KG4/Ilx1NTIyMFx1OTY2NCI6Ilx1Nzg2RVx1NUI5QSIpLHZhbHVlOiEwLGtpbmQ6bj8iZGFuZ2VyIjoicHJpbWFyeSIsYXV0b2ZvY3VzOiFufV19KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpPT09ITB9KX1mdW5jdGlvbiBmcChlLHQsbil7cmV0dXJuIG49bnx8e30seW4oe3RpdGxlOm4udGl0bGV8fCJcdThCRjdcdThGOTNcdTUxNjUiLG1lc3NhZ2U6dHlwZW9mIGU9PSJzdHJpbmciP2U6U3RyaW5nKGU/PyIiKSx0eXBlOm4udHlwZXx8InF1ZXN0aW9uIixpbnB1dDohMCxpbnB1dFZhbHVlOnQ9PW51bGw/IiI6U3RyaW5nKHQpLGlucHV0UGxhY2Vob2xkZXI6bi5wbGFjZWhvbGRlcnx8IiIsY2FuY2VsVmFsdWU6bnVsbCxidXR0b25zOlt7bGFiZWw6bi5jYW5jZWxMYWJlbHx8Ilx1NTNENlx1NkQ4OCIsdmFsdWU6bnVsbCxraW5kOiJzZWNvbmRhcnkifSx7bGFiZWw6bi5va0xhYmVsfHwiXHU3ODZFXHU1QjlBIix2YWx1ZTp2b2lkIDAsa2luZDoicHJpbWFyeSJ9XX0pfXdpbmRvdy53YW5kQWxlcnQ9QXMsd2luZG93LndhbmRDb25maXJtPVFhLHdpbmRvdy53YW5kUHJvbXB0PWZwLHdpbmRvdy5vcGVuV2FuZERpYWxvZz15bjt2YXIgZW49W10seHM9MCxwcD02LHZwPTE2O2Z1bmN0aW9uICRhKGUpe2lmKChlLmFjdGlvbkxhYmVsfHxlLnBsYXlTb3VuZCkmJk1zKCksIXIubm90aWZCdWJibGUpcmV0dXJue2Rpc21pc3M6ZnVuY3Rpb24oKXt9fTt2YXIgdD0rK3hzLG49ZS50eXBlfHwiaW5mbyIsaT1lLmljb258fChuPT09Indhcm5pbmciPyIhIjpuPT09InN1Y2Nlc3MiPyJcdTI3MTMiOiJpIiksYT1lLmR1cmF0aW9uIT09dm9pZCAwP2UuZHVyYXRpb246OGUzLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dS5jbGFzc05hbWU9Im5vdGlmaWNhdGlvbi1idWJibGUiLHUuc2V0QXR0cmlidXRlKCJkYXRhLW5pZCIsU3RyaW5nKHQpKTt2YXIgbz0nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1oZWFkZXIiPjxzcGFuIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWljb24gJytuKyciPicraSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLXRpdGxlIj4nK3AoZS50aXRsZSkrJzwvc3Bhbj48YnV0dG9uIGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWNsb3NlIiB0aXRsZT0iXHU1MTczXHU5NUVEIj5ceEQ3PC9idXR0b24+PC9kaXY+JyxzPWUuYm9keT8nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1ib2R5Ij4nK3AoZS5ib2R5KS5yZXBsYWNlKC9cbi9nLCI8YnI+IikrIjwvZGl2PiI6IiIsbD1lLmFjdGlvbkxhYmVsPyc8ZGl2IGNsYXNzPSJub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InByaW1hcnkiPicrcChlLmFjdGlvbkxhYmVsKSsiPC9idXR0b24+PC9kaXY+IjoiIjt1LmlubmVySFRNTD1vK3MrbCxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHUpO3ZhciBkPXtpZDp0LGVsOnV9O2VuLnB1c2goZCksWGEoKTt2YXIgZj11LnF1ZXJ5U2VsZWN0b3IoIi5ub3RpZmljYXRpb24tYnViYmxlLWNsb3NlIik7aWYoZiYmKGYub25jbGljaz1mdW5jdGlvbigpe19yKHQpfSksZS5hY3Rpb25MYWJlbCYmZS5hY3Rpb24pe3ZhciBjPXUucXVlcnlTZWxlY3RvcigiLm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24iKTtjJiYoYy5vbmNsaWNrPWZ1bmN0aW9uKCl7ZS5hY3Rpb24oKSxfcih0KX0pfXZhciB2PW51bGw7cmV0dXJuIGE+MCYmKHY9c2V0VGltZW91dChmdW5jdGlvbigpe19yKHQpfSxhKSkse2Rpc21pc3M6ZnVuY3Rpb24oKXtfcih0KX19fWZ1bmN0aW9uIF9yKGUpe2Zvcih2YXIgdD0tMSxuPTA7bjxlbi5sZW5ndGg7bisrKWlmKGVuW25dLmlkPT09ZSl7dD1uO2JyZWFrfWlmKHQhPT0tMSl7dmFyIGk9ZW5bdF07aS5lbC5jbGFzc0xpc3QuYWRkKCJzbGlkZS1vdXQiKSxlbi5zcGxpY2UodCwxKSxYYSgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmVsLnBhcmVudE5vZGUmJmkuZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpLmVsKX0sMzAwKX19ZnVuY3Rpb24gWGEoKXtmb3IodmFyIGU9dnAsdD0wO3Q8ZW4ubGVuZ3RoO3QrKyllblt0XS5lbC5zdHlsZS50b3A9ZSsicHgiLGUrPWVuW3RdLmVsLm9mZnNldEhlaWdodCtwcH10cnl7SHM9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2FuZFBsYXRmb3JtXC9tYWNPUy8pLHR1PXdpbmRvdy53ZWJraXQmJndpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzJiZ3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy53YW5kTmF0aXZlfHxudWxsLEhzJiZ0dSYmdHlwZW9mIHdpbmRvdy5XYW5kTmF0aXZlPiJ1IiYmKHdpbmRvdy5XYW5kTmF0aXZlPXtkb3dubG9hZFVwZGF0ZTpmdW5jdGlvbihlLHQsbil7dHJ5e3R1LnBvc3RNZXNzYWdlKHt0eXBlOiJkb3dubG9hZFVwZGF0ZSIsdXJsOlN0cmluZyhlfHwiIiksZmlsZU5hbWU6U3RyaW5nKHR8fCJ3YW5kLXVwZGF0ZS5kbWciKSxzb3VyY2U6U3RyaW5nKG58fCJsb2NhbCIpfSl9Y2F0Y2h7fX19KX1jYXRjaHt9dmFyIHplPXR5cGVvZiBXYW5kTmF0aXZlPCJ1IiYmdHlwZW9mIFdhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbj09ImZ1bmN0aW9uIixIcj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XYW5kQXBwXC8oW15cc10rKS8pLFNzPS9XYW5kUGxhdGZvcm1cL21hY09TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG1wPSEhSHImJiFTcyx6bj1IciYmbXA/SHJbMV06bnVsbCxibj1IciYmU3M/SHJbMV06bnVsbDtmdW5jdGlvbiBvcihlKXtpZighKCF6ZXx8dHlwZW9mIFdhbmROYXRpdmUudmlicmF0ZSE9ImZ1bmN0aW9uIikpdHJ5e1dhbmROYXRpdmUudmlicmF0ZShlfHwibGlnaHQiKX1jYXRjaHt9fWZ1bmN0aW9uIFphKCl7aWYoemUpe3ZhciBlPXIuc2Vzc2lvbnMuc29tZShmdW5jdGlvbih0KXtyZXR1cm4hdC5hcmNoaXZlZCYmKHQuc3RhdHVzPT09InJ1bm5pbmcifHx0LnN0YXR1cz09PSJ0aGlua2luZyJ8fHQuc3RhdHVzPT09ImluaXRpYWxpemluZyIpfSk7aWYodHlwZW9mIFdhbmROYXRpdmUuc2V0S2VlcFNjcmVlbk9uPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldEtlZXBTY3JlZW5PbihlKX1jYXRjaHt9aWYoZSl7aWYodHlwZW9mIFdhbmROYXRpdmUuc3RhcnRLZWVwQWxpdmU9PSJmdW5jdGlvbiIpdHJ5e1dhbmROYXRpdmUuc3RhcnRLZWVwQWxpdmUoKX1jYXRjaHt9fWVsc2UgaWYodHlwZW9mIFdhbmROYXRpdmUuc3RvcEtlZXBBbGl2ZT09ImZ1bmN0aW9uIil0cnl7V2FuZE5hdGl2ZS5zdG9wS2VlcEFsaXZlKCl9Y2F0Y2h7fX19ZnVuY3Rpb24gTGkoKXtpZih6ZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0UGVybWlzc2lvbj09ImZ1bmN0aW9uIil0cnl7cmV0dXJuIFdhbmROYXRpdmUuZ2V0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBncCgpe2lmKHplKXt2YXIgZT1MaSgpO2lmKGU9PT0iZGVmYXVsdCJ8fGU9PT0iZGVuaWVkIil0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59dHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09ImRlZmF1bHQiJiZOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKX1mdW5jdGlvbiBocChlKXt2YXIgdD1lfHx7fTtyZXR1cm4hKHQub25seVdoZW5IaWRkZW4mJiFkb2N1bWVudC5oaWRkZW58fHQuc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZCYmdC5za2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkPT09ci5zZWxlY3RlZElkJiYhZG9jdW1lbnQuaGlkZGVuKX1mdW5jdGlvbiB5cChlLHQpe2lmKCFlfHwhdHx8dDw9MClyZXR1cm4hMTt2YXIgbj1yLm5vdGlmaWNhdGlvbkhpc3RvcnlbZV18fDAsaT1EYXRlLm5vdygpO3JldHVybiBpLW48dD8hMDooci5ub3RpZmljYXRpb25IaXN0b3J5W2VdPWksITEpfWZ1bmN0aW9uIE1pKGUsdCxuKXt2YXIgaT1ufHx7fSxhPWkudGFnfHwiIjtpZihocChpKSYmIXlwKGEsaS5taW5JbnRlcnZhbE1zfHwwKSl7aWYoemUpe3ZhciB1PUxpKCk7aWYodSE9PSJncmFudGVkIilyZXR1cm47dHJ5e3ZhciBvPWE7aS5raW5kJiYobz1pLmtpbmQrKGE/IjoiK2E6IiIpKSxXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb24oZXx8IldhbmQiLHR8fCIiLG98fCIiKX1jYXRjaHt9cmV0dXJufWlmKCEodHlwZW9mIE5vdGlmaWNhdGlvbj4idSJ8fE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uIT09ImdyYW50ZWQiKSYmZG9jdW1lbnQuaGlkZGVuKXRyeXt2YXIgcz1uZXcgTm90aWZpY2F0aW9uKGUse2JvZHk6dHx8IiIsaWNvbjppLmljb258fCIvZmF2aWNvbi5pY28iLHRhZzphfHx2b2lkIDB9KTtzLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cuZm9jdXMoKSxzLmNsb3NlKCksaS5vbkNsaWNrJiZpLm9uQ2xpY2soKX0sc2V0VGltZW91dChmdW5jdGlvbigpe3MuY2xvc2UoKX0sMWU0KX1jYXRjaHt9fX1mdW5jdGlvbiBicChlLHQpe2lmKCEoIXR8fCF0LnRpdGxlKSl7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZX0pO2lmKG4pe3ZhciBpPW4uc3VtbWFyeXx8bi5jb21tYW5kfHxlO01pKCJcdTRFRkJcdTUyQTFcdThGREJcdTg4NENcdTRFMkQiLGkrYApgK3QudGl0bGUse2tpbmQ6InRhc2siLHRhZzoid2FuZC10YXNrLSIrZSsiLSIrdC50aXRsZSxtaW5JbnRlcnZhbE1zOjllNCxvbmx5V2hlbkhpZGRlbjohMCxza2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkOmUsb25DbGljazpmdW5jdGlvbigpe2UhPT1yLnNlbGVjdGVkSWQmJmp0KGUpfX0pfX19ZnVuY3Rpb24gSXMoZSx0KXtEcChlfHwiLSIsdHx8Ii0iKSxNaSgiV2FuZCBcdTUzRDFcdTczQjBcdTY1QjBcdTcyNDhcdTY3MkMiLCJcdTVGNTNcdTUyNEQgIisoZXx8Ii0iKSsiIFx1MjE5MiBcdTY3MDBcdTY1QjAgIisodHx8Ii0iKSx7a2luZDoidXBkYXRlIix0YWc6IndhbmQtdXBkYXRlIixtaW5JbnRlcnZhbE1zOjNlNX0pfWZ1bmN0aW9uIEVwKGUsdCl7TWkoIlx1OTcwMFx1ODk4MVx1NEY2MFx1NzY4NFx1NjM4OFx1Njc0MyIsdCx7a2luZDoicGVybWlzc2lvbiIsdGFnOiJ3YW5kLXBlcm0tIitlLG1pbkludGVydmFsTXM6NmU0LG9ubHlXaGVuSGlkZGVuOiEwLHNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQ6ZSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZSE9PXIuc2VsZWN0ZWRJZCYmanQoZSl9fSl9ZnVuY3Rpb24gRnAoZSx0LG4pe01pKHQsbix7a2luZDoidGFzay1lbmRlZCIsdGFnOiJ3YW5kLWVuZGVkLSIrZSxtaW5JbnRlcnZhbE1zOjFlNCxvbkNsaWNrOmZ1bmN0aW9uKCl7ZSE9PXIuc2VsZWN0ZWRJZCYmanQoZSl9fSl9dmFyIFZuPXt9LENwPTMwO2Z1bmN0aW9uIFRzKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PVN0cmluZyhlKS5yZXBsYWNlKC9eIytccysvZ20sIiIpLnJlcGxhY2UoL1wqXCovZywiIikucmVwbGFjZSgvYC9nLCIiKS50cmltKCksbj10LnNwbGl0KGAKYClbMF0udHJpbSgpO3JldHVybiBuLmxlbmd0aD4xMDAmJihuPW4uc2xpY2UoMCwxMDApKyJcdTIwMjYiKSxufWZ1bmN0aW9uIGV1KGUpeyF6ZXx8dHlwZW9mIFdhbmROYXRpdmUudXBkYXRlU2Vzc2lvblByb2dyZXNzIT0iZnVuY3Rpb24ifHxlJiYoVm5bZV0mJmNsZWFyVGltZW91dChWbltlXSksVm5bZV09c2V0VGltZW91dChmdW5jdGlvbigpe2RlbGV0ZSBWbltlXSx3cChlKX0sQ3ApKX1mdW5jdGlvbiB3cChlKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRil7cmV0dXJuIEYuaWQ9PT1lfSk7aWYodCl7dmFyIG49dC5zdW1tYXJ5fHx0LmNvbW1hbmR8fGUsaT10LnN0YXR1c3x8InJ1bm5pbmciO2lmKGk9PT0iaWRsZSJ8fGk9PT0iYXJjaGl2ZWQifHxpPT09ImV4aXRlZCIpe0xzKGUpO3JldHVybn1mb3IodmFyIGE9bnVsbCx1PSIiLG89IiIscz1bXSxsPXQubWVzc2FnZXN8fFtdLGQ9bC5sZW5ndGgtMTtkPj0wO2QtLSl7dmFyIGY9bFtkXTtpZighKCFmLmNvbnRlbnR8fCFBcnJheS5pc0FycmF5KGYuY29udGVudCkpKXtpZighbyYmZi5yb2xlPT09ImFzc2lzdGFudCIpZm9yKHZhciBjPWYuY29udGVudC5sZW5ndGgtMTtjPj0wO2MtLSl7dmFyIHY9Zi5jb250ZW50W2NdO2lmKHYmJnYudHlwZT09PSJ0ZXh0IiYmdi50ZXh0JiZ2LnRleHQudHJpbSgpKXtvPVRzKHYudGV4dCk7YnJlYWt9fWlmKGYucm9sZT09PSJ1c2VyIil7dmFyIGg9Zi5jb250ZW50LnNvbWUoZnVuY3Rpb24oRil7cmV0dXJuIEYmJkYuX19xdWV1ZWR9KTtpZighaClmb3IodmFyIG09MDttPGYuY29udGVudC5sZW5ndGg7bSsrKXt2YXIgZz1mLmNvbnRlbnRbbV07aWYoZyYmZy50eXBlPT09InRleHQiJiZnLnRleHQmJmcudGV4dC50cmltKCkpe3ZhciB5PVRzKGcudGV4dCk7dXx8KHU9eSkscy5sZW5ndGg8NCYmcy5wdXNoKHkpO2JyZWFrfX19aWYoIWEpZm9yKHZhciBCPWYuY29udGVudC5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEU9Zi5jb250ZW50W0JdO2lmKEUmJkUudHlwZT09PSJ0b29sX3VzZSImJkUubmFtZT09PSJUb2RvV3JpdGUiJiZFLmlucHV0JiZFLmlucHV0LnRvZG9zKXthPUUuaW5wdXQudG9kb3M7YnJlYWt9fWlmKGEmJnMubGVuZ3RoPj00JiZvKWJyZWFrfX1zLnJldmVyc2UoKTt2YXIgQz0iIjtlPT09ci5zZWxlY3RlZElkJiZyLmN1cnJlbnRUYXNrJiZyLmN1cnJlbnRUYXNrLnRpdGxlJiYoQz1yLmN1cnJlbnRUYXNrLnRpdGxlKTt2YXIgRD17c2Vzc2lvbkxhYmVsOm4sc3RhdHVzOmksY3VycmVudFRhc2s6QyxsYXRlc3RVc2VyVGV4dDp1LGxhdGVzdEFzc2lzdGFudFRleHQ6byx0b2RvczphfHxbXSxyZWNlbnRVc2VyVGV4dHM6c307dHJ5e1dhbmROYXRpdmUudXBkYXRlU2Vzc2lvblByb2dyZXNzKGUsSlNPTi5zdHJpbmdpZnkoRCkpfWNhdGNoe319fWZ1bmN0aW9uIExzKGUpe2lmKCEoIXplfHx0eXBlb2YgV2FuZE5hdGl2ZS5jbGVhclNlc3Npb25Qcm9ncmVzcyE9ImZ1bmN0aW9uIikpe1ZuW2VdJiYoY2xlYXJUaW1lb3V0KFZuW2VdKSxkZWxldGUgVm5bZV0pO3RyeXtXYW5kTmF0aXZlLmNsZWFyU2Vzc2lvblByb2dyZXNzKGUpfWNhdGNoe319fXdpbmRvdy5oYW5kbGVOYXRpdmVCYWNrPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLW1vZGFsIik7aWYoZSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSlyZXR1cm4gdnIoKSwhMDt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2lmKHQmJiF0LmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpcmV0dXJuIEFuKCksITA7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7cmV0dXJuIG4mJiFuLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIik/KHByKCksITApOnIuZmlsZVBhbmVsT3BlbiYmV2UoKT8oRGEoITEpLCEwKTpyLnNlc3Npb25zRHJhd2VyT3BlbiYmV2UoKT8obmkoKSwhMCk6V2UoKSYmci5zZWxlY3RlZElkPyhyLnNlbGVjdGVkSWQ9bnVsbCxrZSgpLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITApLFp0KCksITApOiExfTtmdW5jdGlvbiBNcygpe3Iubm90aWZTb3VuZCYmT2koKX1mdW5jdGlvbiBCcCgpe3JldHVybiBPaSgpfWZ1bmN0aW9uIE9pKCl7dHJ5e2xldCBhPWZ1bmN0aW9uKHUsbyxzKXt2YXIgbD1uLmNyZWF0ZU9zY2lsbGF0b3IoKSxkPW4uY3JlYXRlR2FpbigpO2wudHlwZT0ic2luZSIsbC5mcmVxdWVuY3kudmFsdWU9dSxkLmdhaW4uc2V0VmFsdWVBdFRpbWUoMCxuLmN1cnJlbnRUaW1lK28pLGQuZ2Fpbi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSguNSppLG4uY3VycmVudFRpbWUrbysuMDQpLGQuZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKC4wMDEsbi5jdXJyZW50VGltZStvK3MpLGwuY29ubmVjdChkKSxkLmNvbm5lY3Qobi5kZXN0aW5hdGlvbiksbC5zdGFydChuLmN1cnJlbnRUaW1lK28pLGwuc3RvcChuLmN1cnJlbnRUaW1lK28rcyl9O3ZhciBlPWEsdD13aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0O2lmKCF0KXJldHVybiExO3ZhciBuPW5ldyB0O24uc3RhdGU9PT0ic3VzcGVuZGVkIiYmbi5yZXN1bWUoKTt2YXIgaT0oci5ub3RpZlZvbHVtZXx8MCkvMTAwO3JldHVybiBhKDUyMywwLC4yNSksYSg2NTksLjEyLC4zKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5jbG9zZSgpfSw2MDApLCEwfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBEcChlLHQpe2lmKHIuX3VwZGF0ZUJ1YmJsZVNob3duKXJldHVybjtyLl91cGRhdGVCdWJibGVTaG93bj0hMCxNcygpO3ZhciBuPSsreHMsaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0ibm90aWZpY2F0aW9uLWJ1YmJsZSB1cGRhdGUtY2FyZCIsaS5zZXRBdHRyaWJ1dGUoImRhdGEtbmlkIixTdHJpbmcobikpLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1zaGluZSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWhlYWRlciI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMTlWNSIvPjxwYXRoIGQ9Ik01IDEybDctNyA3IDciLz48L3N2Zz48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1oZWFkaW5nIj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC10aXRsZSI+XHU1M0QxXHU3M0IwXHU2NUIwXHU3MjQ4XHU2NzJDPC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtc3VidGl0bGUiIGlkPSJ1cGRhdGUtY2FyZC1zdWJ0aXRsZSI+XHU3MEI5XHU1MUZCXHU0RTBCXHU2NUI5XHU2MzA5XHU5NEFFXHU0RTAwXHU5NTJFXHU2NkY0XHU2NUIwPC9kaXY+PC9kaXY+PGJ1dHRvbiBjbGFzcz0idXBkYXRlLWNhcmQtY2xvc2UiIHRpdGxlPSJcdTdBMERcdTU0MEVcdTYzRDBcdTkxOTIiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xOCA2TDYgMTgiLz48cGF0aCBkPSJNNiA2bDEyIDEyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtdmVyc2lvbiI+PHNwYW4gY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcCB1cGRhdGUtY2FyZC12ZXJzaW9uLWN1cnJlbnQiPnYnK3AoU3RyaW5nKGUpLnJlcGxhY2UoL152LywiIikpKyc8L3NwYW4+PHN2ZyBjbGFzcz0idXBkYXRlLWNhcmQtdmVyc2lvbi1hcnJvdyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTUgMTJoMTQiLz48cGF0aCBkPSJNMTMgNWw3IDctNyA3Ii8+PC9zdmc+PHNwYW4gY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcCB1cGRhdGUtY2FyZC12ZXJzaW9uLWxhdGVzdCI+dicrcChTdHJpbmcodCkucmVwbGFjZSgvXnYvLCIiKSkrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcyIgaWQ9InVwZGF0ZS1jYXJkLXByb2dyZXNzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtcHJvZ3Jlc3MtdHJhY2siPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXByb2dyZXNzLWZpbGwiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXN0YXR1cyBoaWRkZW4iIGlkPSJ1cGRhdGUtY2FyZC1zdGF0dXMiPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InVwZGF0ZS1jYXJkLWFjdGlvbiB1cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeSIgaWQ9InVwZGF0ZS1idWJibGUtYWN0aW9uIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb24tbGFiZWwiPlx1N0FDQlx1NTM3M1x1NjZGNFx1NjVCMDwvc3Bhbj48L2J1dHRvbj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSk7dmFyIGE9e2lkOm4sZWw6aX07ZW4ucHVzaChhKSxYYSgpO3ZhciB1PWkucXVlcnlTZWxlY3RvcigiLnVwZGF0ZS1jYXJkLWNsb3NlIik7dSYmKHUub25jbGljaz1mdW5jdGlvbigpe19yKG4pLHIuX3VwZGF0ZUJ1YmJsZVNob3duPSExfSk7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWJ1YmJsZS1hY3Rpb24iKSxzPWkucXVlcnlTZWxlY3RvcigiLnVwZGF0ZS1jYXJkLWFjdGlvbi1sYWJlbCIpLGw9aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWNhcmQtc3VidGl0bGUiKSxkPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXN0YXR1cyIpLGY9aS5xdWVyeVNlbGVjdG9yKCIjdXBkYXRlLWNhcmQtcHJvZ3Jlc3MiKTtmdW5jdGlvbiBjKG0sZyl7aWYoZCl7aWYoZC50ZXh0Q29udGVudD1tfHwiIixkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIsImVycm9yIiwic3VjY2VzcyIpLCFtKXtkLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3JldHVybn1nJiZkLmNsYXNzTGlzdC5hZGQoZyl9fWZ1bmN0aW9uIHYobSl7bCYmKGwudGV4dENvbnRlbnQ9bXx8IiIpfWZ1bmN0aW9uIGgobSl7ZiYmZi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhbSl9byYmKG8ub25jbGljaz1mdW5jdGlvbigpe28uZGlzYWJsZWQ9ITAsaS5jbGFzc0xpc3QuYWRkKCJpcy1idXN5IikscyYmKHMudGV4dENvbnRlbnQ9Ilx1NjZGNFx1NjVCMFx1NEUyRFx1MjAyNiIpLHYoIlx1NkI2M1x1NTcyOFx1NEUwQlx1OEY3RFx1NUU3Nlx1NUI4OVx1ODhDNVx1NjVCMFx1NzI0OFx1NjcyQ1x1MjAyNiIpLGgoITApLGMoIiIpLGZldGNoKCIvYXBpL3VwZGF0ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihtKXtyZXR1cm4gbS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG0pe2lmKG0uZXJyb3Ipe2goITEpLGkuY2xhc3NMaXN0LnJlbW92ZSgiaXMtYnVzeSIpLHYoIlx1NjZGNFx1NjVCMFx1NjcyQVx1NUI4Q1x1NjIxMCIpLGMobS5lcnJvciwiZXJyb3IiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTkxQ0RcdThCRDUiKTtyZXR1cm59aWYoaS5jbGFzc0xpc3QuYWRkKCJpcy1zdWNjZXNzIiksdigobS5tZXNzYWdlfHwiXHU2NkY0XHU2NUIwXHU1QjhDXHU2MjEwIikrIlx1RkYwQ1x1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MjAyNiIpLGMoIiIpLHMmJihzLnRleHRDb250ZW50PSJcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTIwMjYiKSxtLmRldGFjaGVkVXBkYXRlKXtFbigpO3JldHVybn1pZihtLnJlc3RhcnRSZXF1aXJlZD09PSExKXtoKCExKSxpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWJ1c3kiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTVERjJcdTVCOENcdTYyMTAiKTtyZXR1cm59a3AobyxzLGwsZCxmKX0pLmNhdGNoKGZ1bmN0aW9uKCl7aCghMSksaS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1idXN5IiksdigiXHU2NkY0XHU2NUIwXHU2NzJBXHU1QjhDXHU2MjEwIiksYygiXHU4QkY3XHU2OEMwXHU2N0U1XHU3RjUxXHU3RURDXHU4RkRFXHU2M0E1XHU1NDBFXHU5MUNEXHU4QkQ1IiwiZXJyb3IiKSxvLmRpc2FibGVkPSExLHMmJihzLnRleHRDb250ZW50PSJcdTkxQ0RcdThCRDUiKX0pfSl9ZnVuY3Rpb24ga3AoZSx0LG4saSxhKXtmZXRjaCgiL2FwaS9yZXN0YXJ0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oKXtFbigpfSkuY2F0Y2goZnVuY3Rpb24oKXtFbigpfSl9ZnVuY3Rpb24gT3MoZSx0KXtlJiYoZS5kaXNhYmxlZD0hMCxlLnRleHRDb250ZW50PSJcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTIwMjYiKSx0JiYodC50ZXh0Q29udGVudD0iXHU2NzBEXHU1MkExXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2Iix0LnN0eWxlLmNvbG9yPSJ2YXIoLS10ZXh0LXNlY29uZGFyeSkiKSxmZXRjaCgiL2FwaS9yZXN0YXJ0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oKXtFbigpfSkuY2F0Y2goZnVuY3Rpb24oKXtFbigpfSl9ZnVuY3Rpb24gUHMoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIj9lLnRyaW0oKS5yZXBsYWNlKC9edi8sIiIpLnNwbGl0KCIrIilbMF06IiJ9ZnVuY3Rpb24gcXMoZSx0LG4pe3QmJihlLmRhdGFzZXQucHJldmlvdXNJbnN0YW5jZUlkPXQpLG4mJihlLmRhdGFzZXQuZXhwZWN0ZWRWZXJzaW9uPW4pfWZ1bmN0aW9uIF9zKGUpe2lmKGUuZGF0YXNldC5yZXN0YXJ0UG9sbGluZyE9PSJ0cnVlIil7ZS5kYXRhc2V0LnJlc3RhcnRQb2xsaW5nPSJ0cnVlIjt2YXIgdD0wLG49MTgwLGk9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZih0KyssZmV0Y2goIi9hcGkvY29uZmlnIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odSl7aWYoIXUub2spdGhyb3cgbmV3IEVycm9yKCJzZXJ2ZXIgbm90IHJlYWR5Iik7cmV0dXJuIHUuanNvbigpfSkudGhlbihmdW5jdGlvbih1KXt2YXIgbz1lLmRhdGFzZXQucHJldmlvdXNJbnN0YW5jZUlkfHwiIixzPVBzKGUuZGF0YXNldC5leHBlY3RlZFZlcnNpb258fCIiKSxsPXR5cGVvZiB1LnNlcnZlckluc3RhbmNlSWQ9PSJzdHJpbmciP3Uuc2VydmVySW5zdGFuY2VJZDoiIixkPVBzKHUucGFja2FnZVZlcnNpb258fHUuY3VycmVudFZlcnNpb24pLGY9IW98fGwubGVuZ3RoPjAmJmwhPT1vLGM9IXN8fGQ9PT1zOyFmfHwhY3x8KGNsZWFySW50ZXJ2YWwoaSksbG9jYXRpb24ucmVsb2FkKCkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSx0Pj1uKXtjbGVhckludGVydmFsKGkpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLnJlc3RhcnQtc3VidGl0bGUiKTthJiYoYS5pbm5lckhUTUw9J1x1OTFDRFx1NTQyRlx1OEQ4NVx1NjVGNlx1RkYwQ1x1OEJGNyA8YSBocmVmPSJqYXZhc2NyaXB0OmxvY2F0aW9uLnJlbG9hZCgpIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50KTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIj5cdTYyNEJcdTUyQThcdTUyMzdcdTY1QjA8L2E+IFx1OTg3NVx1OTc2Mlx1MzAwMicpfX0sMmUzKX19ZnVuY3Rpb24gRW4oZSx0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iik7bnx8KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pZD0icmVzdGFydC1vdmVybGF5IixuLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKSxxcyhuLGUsdCk7dmFyIGk9bi5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC10aXRsZSIpLGE9bi5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC1zdWJ0aXRsZSIpO2kmJihpLnRleHRDb250ZW50PXQ/Ilx1NkI2M1x1NTcyOFx1NUI4Q1x1NjIxMFx1NjZGNFx1NjVCMCI6Ilx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRiIpLGEmJihhLnRleHRDb250ZW50PXQ/Ilx1NUI4OVx1ODhDNVx1NUI4Q1x1NjIxMFx1NUU3Nlx1NTQyRlx1NTJBOFx1NjVCMFx1NzI0OFx1NjcyQ1x1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1MjAyNiI6Ilx1N0EwRFx1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1MjAyNiIpLF9zKG4pfWZ1bmN0aW9uIEFwKGUsdCxuKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iik7aXx8KGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksaS5pZD0icmVzdGFydC1vdmVybGF5IixpLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+XHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwXHU0RTJEPC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+JytwKGUpKyIgXHUyMTkyICIrcCh0KSsiPGJyPlx1NkI2M1x1NTcyOFx1NEUwQlx1OEY3RFx1NUU3Nlx1NUI4OVx1ODhDNVx1NjVCMFx1NzI0OFx1NjcyQ1x1RkYwQ1x1N0EwRFx1NTQwRVx1NUMwNlx1ODFFQVx1NTJBOFx1OTFDRFx1NTQyRlx1MjAyNjwvZGl2PjwvZGl2PiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSkscXMoaSxuLHQpLF9zKGkpfXZhciBIcyx0dSxMZT17cmVjb3JkaW5nOiExLGNhbmNlbGluZzohMSx0cmFuc2NyaXB0OiIiLHN0YXJ0WTowfSx4cD02MDtmdW5jdGlvbiBTcChlKXtMZS50cmFuc2NyaXB0PWV8fCIiO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXRleHQiKTt0JiYodC50ZXh0Q29udGVudD1MZS50cmFuc2NyaXB0KTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtuJiZuLmNsYXNzTGlzdC50b2dnbGUoImhhcy10ZXh0IiwhIUxlLnRyYW5zY3JpcHQpfWZ1bmN0aW9uIElwKGUpe2lmKGUpe2UucHJldmVudERlZmF1bHQoKSxMZS5zdGFydFk9dHlwZW9mIGUuY2xpZW50WT09Im51bWJlciI/ZS5jbGllbnRZOjA7dHJ5e2UucG9pbnRlcklkIT09dm9pZCAwJiZlLnRhcmdldCYmZS50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUmJmUudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9fUxlLnJlY29yZGluZz0hMCxMZS5jYW5jZWxpbmc9ITEsTGUudHJhbnNjcmlwdD0iIjt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtcmVjb3JkLWJ0biIpO2lmKHQpe3QuY2xhc3NMaXN0LmFkZCgiaXMtcmVjb3JkaW5nIik7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIudm9pY2UtcmVjb3JkLWxhYmVsIik7biYmKG4udGV4dENvbnRlbnQ9Ilx1Njc3RVx1NUYwMCBcdTUzRDFcdTkwMDEiKX12YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1idWJibGUiKTtpJiZpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIsImlzLWNhbmNlbGluZyIsImhhcy10ZXh0IiksU3AoIiIpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIpO2EmJihhLnRleHRDb250ZW50PSJcdTdGNTFcdTk4NzVcdTdBRUZcdTY2ODJcdTRFMERcdTY1MkZcdTYzMDFcdThCRURcdTk3RjNcdThGOTNcdTUxNjVcdUZGMENcdThCRjdcdTRGN0ZcdTc1MjggQXBwIil9ZnVuY3Rpb24gVHAoZSl7aWYoISghTGUucmVjb3JkaW5nfHwhZSkpe3ZhciB0PUxlLnN0YXJ0WS0odHlwZW9mIGUuY2xpZW50WT09Im51bWJlciI/ZS5jbGllbnRZOkxlLnN0YXJ0WSksbj10PnhwO2lmKG4hPT1MZS5jYW5jZWxpbmcpe0xlLmNhbmNlbGluZz1uO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LWJ1YmJsZSIpO2kmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtY2FuY2VsaW5nIixuKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtcmVjb3JkLWJ0biIpLHU9YSYmYS5xdWVyeVNlbGVjdG9yKCIudm9pY2UtcmVjb3JkLWxhYmVsIik7dSYmKHUudGV4dENvbnRlbnQ9bj8iXHU2NzdFXHU1RjAwIFx1NTNENlx1NkQ4OCI6Ilx1Njc3RVx1NUYwMCBcdTUzRDFcdTkwMDEiKTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiKTtvJiYoby50ZXh0Q29udGVudD1uPyJcdTY3N0VcdTVGMDBcdTYyNEJcdTYzMDcgXHU1M0Q2XHU2RDg4IjoiXHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4Iil9fX1mdW5jdGlvbiBOcyhlKXtpZihMZS5yZWNvcmRpbmcpe2UmJmUucHJldmVudERlZmF1bHQoKSxMZS5yZWNvcmRpbmc9ITE7dmFyIHQ9IUxlLmNhbmNlbGluZyYmISFMZS50cmFuc2NyaXB0LnRyaW0oKSxuPUxlLnRyYW5zY3JpcHQ7bnUoKSx0JiYoTHAobikscnUoITEpKX19ZnVuY3Rpb24gbnUoKXtMZS5jYW5jZWxpbmc9ITE7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZihlKXtlLmNsYXNzTGlzdC5yZW1vdmUoImlzLXJlY29yZGluZyIpO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO3QmJih0LnRleHRDb250ZW50PSJcdTYzMDlcdTRGNEYgXHU4QkY0XHU4QkREIil9dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7biYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX1mdW5jdGlvbiBMcChlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZih0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYobil7dmFyIGk9bi52YWx1ZXx8IiIsYT1pP2kucmVwbGFjZSgvXHMrJC8sIiIpKyIgIit0OnQ7bi52YWx1ZT1hLHJ0KGEsITApLEF0KG4pO3RyeXtuLnNldFNlbGVjdGlvblJhbmdlKGEubGVuZ3RoLGEubGVuZ3RoKX1jYXRjaHt9fX19ZnVuY3Rpb24gcnUoZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYodCl7dmFyIG49dHlwZW9mIGU9PSJib29sZWFuIj9lOiF0LmNsYXNzTGlzdC5jb250YWlucygidm9pY2UtbW9kZSIpO2lmKHQuY2xhc3NMaXN0LnRvZ2dsZSgidm9pY2UtbW9kZSIsbiksIW4pe0xlLnJlY29yZGluZz0hMSxudSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZihpJiYhci50ZXJtaW5hbEludGVyYWN0aXZlKXRyeXtpLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9Y2F0Y2h7fX19fWZ1bmN0aW9uIEF0KGUpe2lmKGUpe3ZhciB0PTM2LG49MTIwLGk9VXIoKTtpZighZS52YWx1ZXx8ZS52YWx1ZS50cmltKCk9PT0iIil7ZS5zdHlsZS5oZWlnaHQ9dCsicHgiLGUuc3R5bGUubWluSGVpZ2h0PXQrInB4IixlLnN0eWxlLm92ZXJmbG93WT1pPyJhdXRvIjoiaGlkZGVuIixlLnNjcm9sbFRvcD0wLHBhKGUpO3JldHVybn12YXIgYT1lLnN0eWxlLm92ZXJmbG93WTtlLnN0eWxlLm92ZXJmbG93WT0iaGlkZGVuIixlLnN0eWxlLmhlaWdodD10KyJweCI7dmFyIHU9ZS5zY3JvbGxIZWlnaHQsbz1NYXRoLm1heCh0LE1hdGgubWluKHUsbikpLHM9dT5uO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLm1pbkhlaWdodD10KyJweCIsZS5zdHlsZS5vdmVyZmxvd1k9c3x8aT8iYXV0byI6ImhpZGRlbiIscz96aShlKTplLnNjcm9sbFRvcD0wLHBhKGUpfX1mdW5jdGlvbiBNcCgpe2lmKCFyLnNlbGVjdGVkSWQpcmV0dXJuITE7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIGZlKGUpPyEhKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIn12YXIgTnI9ITE7ZnVuY3Rpb24ganMoZSl7cmV0dXJuIWV8fGUuYXJjaGl2ZWQ/ITE6ZmUoZSk/ISEoZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KTplLnN0YXR1cz09PSJydW5uaW5nIn1mdW5jdGlvbiBpdSgpe3JldHVybiByLnNlc3Npb25zLnNvbWUoanMpfWZ1bmN0aW9uIE9wKCl7dmFyIGU9ci5zZXNzaW9ucy5maWx0ZXIoanMpO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDtpZihyLnNlbGVjdGVkSWQpe3ZhciB0PWUuZmluZChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKHQpcmV0dXJuIHR9cmV0dXJuIGUuc29ydChmdW5jdGlvbihuLGkpe3JldHVybihEYXRlLnBhcnNlKGkuc3RhcnRlZEF0KXx8MCktKERhdGUucGFyc2Uobi5zdGFydGVkQXQpfHwwKX0pLGVbMF19ZnVuY3Rpb24gUnMoZSl7aWYoIWUpcmV0dXJuIiI7Zm9yKHZhciB0PUFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcyk/ZS5xdWV1ZWRNZXNzYWdlczpbXSxuPXQubGVuZ3RoLTE7bj49MDtuLS0pe3ZhciBpPXR5cGVvZiB0W25dPT0ic3RyaW5nIj90W25dLnRyaW0oKToiIjtpZihpKXJldHVybiBpfWZvcih2YXIgYT1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2UubWVzc2FnZXM6W10sdT1hLmxlbmd0aC0xO3U+PTA7dS0tKXt2YXIgbz1hW3VdO2lmKCEoIW98fG8ucm9sZSE9PSJ1c2VyInx8IUFycmF5LmlzQXJyYXkoby5jb250ZW50KSkpe3ZhciBzPW8uY29udGVudC5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGYmJmYudHlwZT09PSJ0ZXh0IiYmdHlwZW9mIGYudGV4dD09InN0cmluZyJ9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYudGV4dH0pO2lmKHMubGVuZ3RoKXJldHVybiBzLmpvaW4oYApgKS50cmltKCk7Zm9yKHZhciBsPTA7bDxvLmNvbnRlbnQubGVuZ3RoO2wrKyl7dmFyIGQ9by5jb250ZW50W2xdO2lmKGQmJmQudHlwZT09PSJ0b29sX3Jlc3VsdCImJnR5cGVvZiBkLmNvbnRlbnQ9PSJzdHJpbmciKXJldHVybiBkLmNvbnRlbnQudHJpbSgpfXJldHVybiIifX1yZXR1cm4iIn1mdW5jdGlvbiBQcChlLHQpe3ZhciBuPXR5cGVvZiB0PT0ic3RyaW5nIj90LnRyaW0oKToiIjtpZihuJiZScyhlKT09PW4pcmV0dXJuIHgoIlx1NEUwRVx1NEUwQVx1NEUwMFx1Njc2MVx1NkQ4OFx1NjA2Rlx1NzZGOFx1NTQwQ1x1RkYwQ1x1NURGMlx1NUZGRFx1NzU2NVx1RkYwQ1x1NEUwRFx1NEYxQVx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1MzAwMiIsIndhcm5pbmciKSxQcm9taXNlLnJlc29sdmUoKTt2YXIgaT10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCksYT1BcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXSx1PWEuc2xpY2UoKTt1LnB1c2godCksbmUoe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6dX0pLGUuaWQ9PT1yLnNlbGVjdGVkSWQmJm90KCk7dmFyIG89ZS50aXRsZXx8bHIoZS5jb21tYW5kKXx8Ilx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERCI7cmV0dXJuIHgoIlx1NURGMlx1NTJBMFx1NTE2NVx1MzAwQyIrbysiXHUzMDBEXHU3Njg0XHU2MzkyXHU5NjFGXHVGRjBDXHU1NkRFXHU1OTBEXHU3RUQzXHU2NzVGXHU1NDBFXHU4MUVBXHU1MkE4XHU1M0QxXHU5MDAxXHVGRjA4XHU1NDJCXHU0RTBBXHU0RTBCXHU2NTg3XHVGRjA5XHUzMDAyIiwiaW5mbyIpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIitlLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDp0LGlkZW1wb3RlbmN5S2V5Oml9KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMub2s/cy5qc29uKCk6cy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihsKXt0aHJvdyBuZXcgRXJyb3IobCYmbC5lcnJvcnx8Ilx1NjVFMFx1NkNENVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1MzAwMiIpfSl9KS50aGVuKGZ1bmN0aW9uKHMpe3MmJnMuaWQmJihuZShzKSxzLmlkPT09ci5zZWxlY3RlZElkJiZvdCgpKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe25lKHtpZDplLmlkLHF1ZXVlZE1lc3NhZ2VzOmF9KSxlLmlkPT09ci5zZWxlY3RlZElkJiZvdCgpLHgocyYmcy5tZXNzYWdlfHwiXHU2MzkyXHU5NjFGXHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIFdzKGUpe3ZhciB0PU9wKCk7aWYodCYmZmUodCkpe1BwKHQsZSk7cmV0dXJufWlmKHIuY3Jvc3NTZXNzaW9uUXVldWUubGVuZ3RoPj0xMCl7eCgiXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1REYyXHU2RUUxXHVGRjA4XHU2NzAwXHU1OTFBIDEwIFx1Njc2MVx1RkYwOVx1RkYwQ1x1OEJGN1x1N0I0OVx1NUY4NVx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NUI4Q1x1NjIxMFx1MzAwMiIsIndhcm5pbmciKTtyZXR1cm59dmFyIG49ImNzcS0iK0RhdGUubm93KCkrIi0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsOCk7ci5jcm9zc1Nlc3Npb25RdWV1ZS5wdXNoKHtpZDpuLHRleHQ6ZSxjd2Q6WmUoKSxtb2RlOnIuY2hhdE1vZGV8fCJtYW5hZ2VkIix0b29sOmV0KCkscXVldWVkQXQ6RGF0ZS5ub3coKX0pLFF0KCkseHQoKSx4KCJcdTVERjJcdTYzOTJcdTk2MUZcdUZGMENcdTVDMDZcdTU3MjhcdTdBN0FcdTk1RjJcdTU0MEVcdTgxRUFcdTUyQThcdTVGMDBcdTU5Q0JcdTY1QjBcdTRGMUFcdThCRERcdTMwMDIiLCJpbmZvIil9ZnVuY3Rpb24gcXAoZSl7TnJ8fChOcj0hMCxmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodnQoe2NvbW1hbmQ6ZS50b29sLGN3ZDplLmN3ZCxtb2RlOmUubW9kZSxpbml0aWFsSW5wdXQ6ZS50ZXh0fSkpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBOcj0hMSx0LmVycm9yPyh4KHQuZXJyb3IsImVycm9yIiksci5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLFF0KCkseHQoKSxudWxsKTp3bih0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe05yPSExLHgodCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU2MzkyXHU5NjFGXHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSxyLmNyb3NzU2Vzc2lvblF1ZXVlLnVuc2hpZnQoZSksUXQoKSx4dCgpfSkpfWZ1bmN0aW9uIF9wKGUpe3ZhciB0PXIuY3Jvc3NTZXNzaW9uUXVldWUuZmluZEluZGV4KGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pO2lmKCEodDwwKSl7dmFyIG49ci5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwxKVswXTtRdCgpLHh0KCksZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHZ0KHtjb21tYW5kOm4udG9vbCxjd2Q6bi5jd2QsbW9kZTpuLm1vZGUsaW5pdGlhbElucHV0Om4udGV4dH0pKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcj8oeChpLmVycm9yLCJlcnJvciIpLHIuY3Jvc3NTZXNzaW9uUXVldWUuc3BsaWNlKHQsMCxuKSxRdCgpLHh0KCksbnVsbCk6d24oaSl9KS5jYXRjaChmdW5jdGlvbihpKXt4KGkmJmkubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksci5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLG4pLFF0KCkseHQoKX0pfX1mdW5jdGlvbiBIcChlKXt2YXIgdD1yLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihuKXtyZXR1cm4gbi5pZD09PWV9KTt0PDB8fChyLmNyb3NzU2Vzc2lvblF1ZXVlLnNwbGljZSh0LDEpLFF0KCkseHQoKSxyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTAmJngoIlx1NjM5Mlx1OTYxRlx1NURGMlx1NkUwNVx1N0E3QVx1MzAwMiIsImluZm8iKSl9ZnVuY3Rpb24gUGkoKXtpZihyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aCE9PTAmJiFpdSgpJiYhTnIpe3ZhciBlPXIuY3Jvc3NTZXNzaW9uUXVldWUuc2hpZnQoKTt4dCgpLHFwKGUpfX1mdW5jdGlvbiB6cyhlKXt2YXIgdD1NYXRoLmZsb29yKChEYXRlLm5vdygpLWUpLzFlMyk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIG49TWF0aC5mbG9vcih0LzYwKTtyZXR1cm4gbjw2MD9uKyJtIjpNYXRoLmZsb29yKG4vNjApKyJoIn1mdW5jdGlvbiB4dCgpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jcm9zcy1zZXNzaW9uLXF1ZXVlIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKSxuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKSxpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKTtpZihyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2UmJmUucmVtb3ZlKCksUXQoKTtyZXR1cm59dmFyIHU9dCYmIXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxvPXU/dDphLHM9dT9ufHxpOm51bGw7aWYobyl7ZSYmZS5wYXJlbnROb2RlIT09byYmKGUucmVtb3ZlKCksZT1udWxsKSxlP3UmJnMmJmUubmV4dFNpYmxpbmchPT1zJiZvLmluc2VydEJlZm9yZShlLHMpOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY2xhc3NOYW1lPSJjcm9zcy1zZXNzaW9uLXF1ZXVlIixzP28uaW5zZXJ0QmVmb3JlKGUscyk6by5hcHBlbmRDaGlsZChlKSk7dmFyIGw9ci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGgsZD1yLmNyb3NzU2Vzc2lvblF1ZXVlLm1hcChmdW5jdGlvbihjLHYpe3ZhciBoPWMudGV4dC5sZW5ndGg+NjA/Yy50ZXh0LnNsaWNlKDAsNjApKyJcdTIwMjYiOmMudGV4dCxtPXpzKGMucXVldWVkQXQpO3JldHVybic8ZGl2IGNsYXNzPSJxdWV1ZS1pdGVtIiBkYXRhLXF1ZXVlLWlkPSInK3AoYy5pZCkrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tdGV4dCIgdGl0bGU9IicrcChjLnRleHQpKyciPicrcChoKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1pdGVtLWFnZSI+JyttKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1zZW5kLW5vdyIgZGF0YS1xdWV1ZS1pZD0iJytwKGMuaWQpKyciIHRpdGxlPSJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDEiIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1jYW5jZWwiIGRhdGEtcXVldWUtaWQ9IicrcChjLmlkKSsnIiB0aXRsZT0iXHU1M0Q2XHU2RDg4IiB0eXBlPSJidXR0b24iPlx4RDc8L2J1dHRvbj48L2Rpdj4nfSkuam9pbigiIiksZj1sPjE/JzxkaXYgY2xhc3M9InF1ZXVlLWhlYWRlciI+PHNwYW4gY2xhc3M9InF1ZXVlLWhlYWRlci1sYWJlbCI+XHU2MzkyXHU5NjFGICcrbCsnIFx1Njc2MTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJxdWV1ZS1oZWFkZXItY2xlYXIiIGlkPSJxdWV1ZS1jbGVhci1hbGwiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRiI+XHU2RTA1XHU3QTdBPC9idXR0b24+PC9kaXY+JzoiIjtlLmlubmVySFRNTD1mK2R9fXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYoci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnF1ZXVlLWl0ZW0tYWdlIik7ci5jcm9zc1Nlc3Npb25RdWV1ZS5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7ZVtuXSYmKGVbbl0udGV4dENvbnRlbnQ9enModC5xdWV1ZWRBdCkpfSksUGkoKX19LDVlMyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQuY2xvc2VzdCgiI3F1ZXVlLWNsZWFyLWFsbCIpKXtlLnByZXZlbnREZWZhdWx0KCksci5jcm9zc1Nlc3Npb25RdWV1ZT1bXSxRdCgpLHh0KCkseCgiXHU2MzkyXHU5NjFGXHU1REYyXHU2RTA1XHU3QTdBXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgbj10LmNsb3Nlc3QoIi5xdWV1ZS1pdGVtLXNlbmQtbm93Iik7aWYobil7ZS5wcmV2ZW50RGVmYXVsdCgpLF9wKG4uZGF0YXNldC5xdWV1ZUlkKTtyZXR1cm59dmFyIGk9dC5jbG9zZXN0KCIucXVldWUtaXRlbS1jYW5jZWwiKTtpZihpKXtlLnByZXZlbnREZWZhdWx0KCksSHAoaS5kYXRhc2V0LnF1ZXVlSWQpO3JldHVybn19KTtmdW5jdGlvbiBWcygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0IiksdD1lP2UudmFsdWUudHJpbSgpOiIiO2lmKHQpe2lmKGl1KCkpe2UudmFsdWU9IiIsV3ModCk7cmV0dXJufXZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIik7biYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLnZhbHVlPSIiLGUucGxhY2Vob2xkZXI9Ilx1NkI2M1x1NTcyOFx1NTQyRlx1NTJBOFx1MjAyNiIsZS5kaXNhYmxlZD0hMDt2YXIgaT1yLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1aZSgpLHU9ZXQoKTtmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodnQoe2NvbW1hbmQ6dSxwcm92aWRlcjp1LGN3ZDphLG1vZGU6aSxpbml0aWFsSW5wdXQ6dH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtpZihvLmVycm9yKXt4KG8uZXJyb3IsImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExO3JldHVybn1yLnNlbGVjdGVkSWQ9by5pZCxrZSgpLHIuZHJhZnRzW28uaWRdPSIiLGt0KCksbmUobyksRWUoKSxqcihvLmlkKSxHbihvLmlkKSxrbihvLmlkKS50aGVuKGZ1bmN0aW9uKCl7ZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExLEh0KCEwKX0pfSkuY2F0Y2goZnVuY3Rpb24obyl7eChvJiZvLm1lc3NhZ2V8fCh1PT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIE5wKGUpe2U9ZXx8e307dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtaW5wdXQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPXQmJnQudmFsdWUudHJpbSgpP3QudmFsdWUudHJpbSgpOm4/bi52YWx1ZS50cmltKCk6IiI7aWYoci5zZWxlY3RlZElkKXtpJiZVcyhlKTtyZXR1cm59aWYoaSYmaXUoKSl7biYmKG4udmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSxwYShuKSxXcyhpKTtyZXR1cm59dmFyIGE9ci5jaGF0TW9kZXx8Im1hbmFnZWQiLHU9WmUoKSxvPWV0KCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHZ0KHtjb21tYW5kOm8scHJvdmlkZXI6byxjd2Q6dSxtb2RlOmEsaW5pdGlhbElucHV0Oml8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5lcnJvcj8oeChzLmVycm9yLCJlcnJvciIpLG51bGwpOihyLnNlbGVjdGVkSWQ9cy5pZCxrZSgpLHIuZHJhZnRzW3MuaWRdPSIiLGt0KCksbiYmKG4udmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSxuZShzKSxFZSgpLGpyKHMuaWQpLEduKHMuaWQpLGtuKHMuaWQpKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe3gocyYmcy5tZXNzYWdlfHwobz09PSJjb2RleCI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDb2RleCBcdTRGMUFcdThCRERcdTMwMDIiOiJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ2xhdWRlIFx1NEYxQVx1OEJERFx1MzAwMiIpLCJlcnJvciIpfSl9ZnVuY3Rpb24ganIoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiB2LmlkPT09ZX0pLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIiksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtdGl0bGUiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1pbmZvIiksbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdW1tYXJ5LXZhbHVlIiksZD1mZSh0KTtuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixkKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGQ/ci5jdXJyZW50Vmlldz0iY2hhdCI6ci5jdXJyZW50Vmlldz0idGVybWluYWwiO3ZhciBmPXQ/bHIodC5jb21tYW5kKToiV2FuZCIsYz10P0RyKHQpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiO28mJihvLnRleHRDb250ZW50PWYpLHMmJihzLnRleHRDb250ZW50PWMpLGwmJihsLnRleHRDb250ZW50PWYpLGR8fHIudGVybWluYWx8fHVyKCksb2EoKSxIdCghMCksZHx8WGUoInZpZXctc3dpdGNoIix7Zm9yY2VSZXBsYXk6ITB9KX1mdW5jdGlvbiBVcyhlKXtlPWV8fHt9O3ZhciB0PSEhZS5pbnRlcnJ1cHQsbj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy13YW5kLWVtYmVkLXRlcm1pbmFsIik7aWYoci50ZXJtaW5hbEludGVyYWN0aXZlJiYhbilyZXR1cm4geCgiXHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyXHU2QTIxXHU1RjBGXHU1RjAwXHU1NDJGXHU2NUY2XHVGRjBDXHU4QkY3XHU3NkY0XHU2M0E1XHU1NzI4XHU3RUM4XHU3QUVGXHU0RTJEXHU4RjkzXHU1MTY1XHUzMDAyIiwiaW5mbyIpLFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxhPWk/aS52YWx1ZToiIix1PV90KCksbz1yLnBlbmRpbmdBdHRhY2htZW50cy5sZW5ndGg+MDtpZihhfHxvKXt2YXIgcz1vJiZyLnNlbGVjdGVkSWQ/dGgoci5zZWxlY3RlZElkKS5jYXRjaChmdW5jdGlvbihsKXt4KCJcdTk2NDRcdTRFRjZcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjU6ICIrKGwmJmwubWVzc2FnZXx8bCksImVycm9yIik7dmFyIGQ9bCBpbnN0YW5jZW9mIEVycm9yP2w6bmV3IEVycm9yKFN0cmluZyhsKSk7dGhyb3cgZC5fX3dhbmRUb2FzdGVkPSEwLGR9KTpQcm9taXNlLnJlc29sdmUoW10pO3JldHVybiBzLnRoZW4oZnVuY3Rpb24obCl7dmFyIGQ9bmgobCksZj1kKyhhfHwobC5sZW5ndGg/Ilx1OEJGN1x1NjdFNVx1NzcwQlx1OTY0NFx1NEVGNlx1MzAwMiI6IiIpKTtsLmxlbmd0aCYmZWgoKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO2lmKGMmJmMuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZmUodSkpcmV0dXJuIGpwKGYsaSx1LHtpbnRlcnJ1cHQ6dH0pO3ZhciB2PW52KHUsZiksaD0hci53c0Nvbm5lY3RlZDtyZXR1cm4gaD8odXYodiksaSYmKGkudmFsdWU9IiIsQXQoaSkpLHJ0KCIiKSxQcm9taXNlLnJlc29sdmUoKSk6dHYodSkudGhlbihmdW5jdGlvbihtKXtpZighbSlyZXR1cm4gbnVsbDt2YXIgZz1yLmN1cnJlbnRWaWV3O2lmKG0mJm0ucHJvdmlkZXI9PT0iY29kZXgiJiZyLnNlbGVjdGVkSWQhPT1tLmlkKXRocm93IG5ldyBFcnJvcigiQ29kZXggc2Vzc2lvbiBjaGFuZ2VkIGJlZm9yZSBpbnB1dCBzZW5kLiIpO3JldHVybiBzbygpLHJ2KHYsImVudGVyX3RleHQiLDMwLGcpLnRoZW4oZnVuY3Rpb24oKXtpJiZpLnZhbHVlPT09YSYmKGkudmFsdWU9IiIsQXQoaSkpLHJ0KCIiKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7dGhyb3cgeChRcyhtKSwiZXJyb3IiKSxtJiYobS5fX3dhbmRUb2FzdGVkPSEwKSxtfSl9KS5jYXRjaChmdW5jdGlvbihsKXt0aHJvdyBsJiZsLl9fd2FuZFRvYXN0ZWR8fHgoUXMobCksImVycm9yIiksbH0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX12YXIgS3M9e30sSnM9MzUwO2Z1bmN0aW9uIGpwKGUsdCxuLGkpe2k9aXx8e307dmFyIGE9ISFpLmludGVycnVwdDtpZighci5zZWxlY3RlZElkfHwhZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIW4pcmV0dXJuIHgoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9ISEobi5zdHJ1Y3R1cmVkU3RhdGUmJm4uc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZuLnN0YXR1cz09PSJydW5uaW5nIik7aWYodSYmIWEmJlJzKG4pPT09ZS50cmltKCkpcmV0dXJuIHQmJih0LnZhbHVlPSIiLEF0KHQpKSxydCgiIikseCgiXHU0RTBFXHU0RTBBXHU0RTAwXHU2NzYxXHU2RDg4XHU2MDZGXHU3NkY4XHU1NDBDXHVGRjBDXHU1REYyXHU1RkZEXHU3NTY1XHVGRjBDXHU0RTBEXHU0RjFBXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHUzMDAyIiwid2FybmluZyIpLFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxQcm9taXNlLnJlc29sdmUoKTt2YXIgbz1EYXRlLm5vdygpLHM9S3Nbbi5pZF18fDA7aWYoby1zPEpzKXJldHVybiBjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RTdHJ1Y3R1cmVkSW5wdXQ6IGR1cGxpY2F0ZSBzdWJtaXQgKHdpdGhpbiAiK0pzKyJtcykgaWdub3JlZCBmb3Igc2Vzc2lvbiIsbi5pZCksUHJvbWlzZS5yZXNvbHZlKCk7S3Nbbi5pZF09bzt2YXIgbD11JiZhLGQ9dSYmIWEsZj1DcihBcnJheS5pc0FycmF5KG4ubWVzc2FnZXMpP24ubWVzc2FnZXMuc2xpY2UoKTpbXSksYztpZihkKXt2YXIgdj1BcnJheS5pc0FycmF5KG4ucXVldWVkTWVzc2FnZXMpP24ucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTt2LnB1c2goZSksYz17aWQ6bi5pZCxxdWV1ZWRNZXNzYWdlczp2fSxuZShjKTt2YXIgaD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oRSl7cmV0dXJuIEUuaWQ9PT1uLmlkfSl8fG47ci5jdXJyZW50TWVzc2FnZXM9VmUoaCxudChoLGgub3V0cHV0LCExKSksVW4oIlx1NURGMlx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1MjAyNiIpLFVlKCEwKSxGbigpLHgodi5sZW5ndGg+MT8iXHU1REYyXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHVGRjA4XHU1MTcxICIrdi5sZW5ndGgrIiBcdTY3NjFcdTdCNDlcdTVGODVcdUZGMDkiOiJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdUZGMENcdTdCNDlcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdTVCOENcdTYyMTBcdTRGMUFcdTgxRUFcdTUyQThcdTUzRDFcdTkwMDFcdTMwMDIiLCJpbmZvIil9ZWxzZXt2YXIgbT17cm9sZToidXNlciIsY29udGVudDpbe3R5cGU6InRleHQiLHRleHQ6ZX1dfTtmLnB1c2gobSk7dmFyIGc9T2JqZWN0LmFzc2lnbih7fSxuLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OiEwfSk7bmUoe2lkOm4uaWQsc3RhdHVzOiJydW5uaW5nIixtZXNzYWdlczpmLHN0cnVjdHVyZWRTdGF0ZTpnfSksci5jdXJyZW50TWVzc2FnZXM9VmUoT2JqZWN0LmFzc2lnbih7fSxuLHtzdGF0dXM6InJ1bm5pbmciLG1lc3NhZ2VzOmYsc3RydWN0dXJlZFN0YXRlOmd9KSxmKSxVbihsPyJcdTVERjJcdTRFMkRcdTY1QURcdUZGMENcdTZCNjNcdTU3MjhcdTU5MDRcdTc0MDZcdTY1QjBcdTZEODhcdTYwNkZcdTIwMjYiOiJcdTYwMURcdTgwMDNcdTRFMkRcdTIwMjYiKSxzbygpLFVlKCEwKSxsJiZ4KCJcdTVERjJcdTRFMkRcdTY1QURcdTRFMEFcdTRFMDBcdTY3NjFcdTU2REVcdTU5MERcdUZGMENcdTZCNjNcdTU3MjhcdTU5MDRcdTc0MDZcdTY1QjBcdTZEODhcdTYwNkZcdTIwMjYiLCJpbmZvIil9dCYmKHQudmFsdWU9IiIsQXQodCkpLHJ0KCIiKTt2YXIgeT1yLnF1ZXVlRXBvY2gsQj10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCk7cmV0dXJuIGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIituLmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDplLGludGVycnVwdDpsfHx2b2lkIDAsaWRlbXBvdGVuY3lLZXk6Qn0pfSkudGhlbihmdW5jdGlvbihFKXtyZXR1cm4gRS5vaz9FLmpzb24oKTpFLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKEMpe3ZhciBEPW5ldyBFcnJvcihDJiZDLmVycm9yfHwiXHU2NUUwXHU2Q0Q1XHU1M0QxXHU5MDAxXHU3RUQzXHU2Nzg0XHU1MzE2XHU2RDg4XHU2MDZGXHUzMDAyIik7dGhyb3cgRC5lcnJvckNvZGU9QyYmQy5lcnJvckNvZGUsRC5odHRwU3RhdHVzPUUuc3RhdHVzLER9KX0pLnRoZW4oZnVuY3Rpb24oRSl7aWYoRSYmRS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoRS5lcnJvcik7aWYoRSYmRS5pZCYmKHIucXVldWVFcG9jaD55JiZFLnF1ZXVlZE1lc3NhZ2VzJiZkZWxldGUgRS5xdWV1ZWRNZXNzYWdlcyxuZShFKSxFLmlkPT09ci5zZWxlY3RlZElkKSl7dmFyIEM9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKEQpe3JldHVybiBELmlkPT09RS5pZH0pfHxFO3IuY3VycmVudE1lc3NhZ2VzPVZlKEMsbnQoQyxFLm91dHB1dCwhMSkpLFVlKCEwKSxGbigpfX0pLmNhdGNoKGZ1bmN0aW9uKEUpe2lmKEUmJkUuZXJyb3JDb2RlPT09ImR1cGxpY2F0ZV9pZGVtcG90ZW5jeV9rZXkiKXt4KEUubWVzc2FnZXx8Ilx1NjhDMFx1NkQ0Qlx1NTIzMFx1OTFDRFx1NTkwRFx1NTNEMVx1OTAwMVx1RkYwQ1x1NURGMlx1NjJFNlx1NjIyQVx1MzAwMiIsIndhcm5pbmciKSxVbigiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIik7cmV0dXJufWlmKGQpe3ZhciBDPUFycmF5LmlzQXJyYXkobi5xdWV1ZWRNZXNzYWdlcyk/bi5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKG5lKHtpZDpuLmlkLHF1ZXVlZE1lc3NhZ2VzOkN9KSxuLmlkPT09ci5zZWxlY3RlZElkKXt2YXIgRD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWQ9PT1uLmlkfSl8fG47ci5jdXJyZW50TWVzc2FnZXM9VmUoRCxudChELEQub3V0cHV0LCExKSksVWUoITApLEZuKCl9fWVsc2V7dmFyIEY9Zi5zbGljZSgwLC0xKTtuZSh7aWQ6bi5pZCxzdGF0dXM6bi5zdGF0dXMsbWVzc2FnZXM6RixzdHJ1Y3R1cmVkU3RhdGU6T2JqZWN0LmFzc2lnbih7fSxuLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OiExfSl9KSxuLmlkPT09ci5zZWxlY3RlZElkJiYoci5jdXJyZW50TWVzc2FnZXM9VmUoT2JqZWN0LmFzc2lnbih7fSxuLHttZXNzYWdlczpGLHN0cnVjdHVyZWRTdGF0ZTpPYmplY3QuYXNzaWduKHt9LG4uc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITF9KX0pLEYpLFVlKCEwKSl9dmFyIEw9RSYmRS5tZXNzYWdlfHwiIixJPUw9PT0iRmFpbGVkIHRvIGZldGNoInx8TD09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fEw9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KEwpO0l8fHgoRSYmRS5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1M0QxXHU5MDAxXHU3RUQzXHU2Nzg0XHU1MzE2XHU2RDg4XHU2MDZGXHUzMDAyIiwiZXJyb3IiKSxVbigiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIil9KX1mdW5jdGlvbiBVbihlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtaGludCIpO3QmJih0LnRleHRDb250ZW50PWUpfWZ1bmN0aW9uIEZuKCl7b3QoKX12YXIgUnA9MTAsR3M9MjY7ZnVuY3Rpb24gV3AoZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXJldHVybiIiO3ZhciB0PWUucmVwbGFjZSgvXHMrL2csIiAiKS50cmltKCk7cmV0dXJuIHQubGVuZ3RoPD1Hcz90OnQuc2xpY2UoMCxHcykrIlx1MjAyNiJ9ZnVuY3Rpb24genAoKXtyZXR1cm4hIXIucXVldWVCYXJFeHBhbmRlZH1mdW5jdGlvbiBWcChlKXtpZighIXIucXVldWVCYXJFeHBhbmRlZCE9ISFlKXtyLnF1ZXVlQmFyRXhwYW5kZWQ9ISFlO3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5xdWV1ZS1iYXIiKTt0JiZ0LmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIiwhIWUpfX1mdW5jdGlvbiBVcChlLHQsbil7dmFyIGk9ZS5sZW5ndGgsYT0icXVldWUtYmFyIjtuJiYoYSs9IiBxdWV1ZS1iYXItY2FwYWNpdHkiKSx0JiYoYSs9IiBxdWV1ZS1iYXItaW5mbGlnaHQiKTtmb3IodmFyIHU9dD8iXHU0RTJEXHU2NUFEXHU1RjUzXHU1MjREXHU1NkRFXHU1OTBEXHVGRjBDXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxIjoiXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxIixvPSIiLHM9MDtzPGk7cysrKXt2YXIgbD1lW3NdPT1udWxsPyIiOlN0cmluZyhlW3NdKSxkPVdwKGwpLGY9bCsiXHVGRjA4XHU2MzA5XHU0RjRGXHU1M0VGXHU2MkQ2XHU1MkE4XHU4QzAzXHU1RThGXHVGRjA5IjtvKz0nPGxpIGNsYXNzPSJxdWV1ZS1iYXItaXRlbSIgZGF0YS1pbmRleD0iJytzKyciIGRhdGEtYWN0aW9uPSJkcmFnIiB0aXRsZT0iJytwKGYpKyciPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1pbmRleCIgYXJpYS1oaWRkZW49InRydWUiPicrKHMrMSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0icXVldWUtYmFyLWl0ZW0tdGV4dCI+JytwKGQpKyc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlIiBkYXRhLWFjdGlvbj0icHJvbW90ZS1pdGVtIiB0aXRsZT0iJytwKHUpKyciIGFyaWEtbGFiZWw9Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1N0IyQyAnKyhzKzEpKycgXHU2NzYxIj48c3ZnIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTMgMiBMNCAxNCBMMTEgMTQgTDEwIDIyIEwyMCA5IEwxMyA5IFoiLz48L3N2Zz48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF1ZXVlLWJhci1pdGVtLWRlbGV0ZSIgZGF0YS1hY3Rpb249ImRlbGV0ZSIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU3QjJDICcrKHMrMSkrJyBcdTY3NjFcdTYzOTJcdTk2MUZcdTZEODhcdTYwNkYiIHRpdGxlPSJcdTUyMjBcdTk2NjQiPjxzdmcgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSIxOCIgeTI9IjYiLz48L3N2Zz48L2J1dHRvbj48L2xpPid9dmFyIGM9IiI7cmV0dXJuIGk+PTImJihjPSc8ZGl2IGNsYXNzPSJxdWV1ZS1iYXItaGVhZCI+PHNwYW4gY2xhc3M9InF1ZXVlLWJhci1oZWFkLWNvdW50Ij4nK2krJyBcdTY3NjFcdTYzOTJcdTk2MUY8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItY2xlYXItYWxsIiBkYXRhLWFjdGlvbj0iY2xlYXItYWxsIiB0aXRsZT0iXHU2RTA1XHU3QTdBXHU1MTY4XHU5MEU4XHU2MzkyXHU5NjFGIiBhcmlhLWxhYmVsPSJcdTZFMDVcdTdBN0FcdTUxNjhcdTkwRTggJytpKycgXHU2NzYxXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGIj5cdTZFMDVcdTdBN0E8L2J1dHRvbj48L2Rpdj4nKSwnPGRpdiBjbGFzcz0iJythKyciIGRhdGEtcXVldWUtYmFyPSIxIiB0aXRsZT0iXHU2MzkyXHU5NjFGICcraSsnIFx1Njc2MVx1RkYwOFx1NjMwOVx1NEY0Rlx1NkMxNFx1NkNFMVx1NTNFRlx1OEMwM1x1NUU4Rlx1RkYwOSI+JytjKyc8b2wgY2xhc3M9InF1ZXVlLWJhci1saXN0IiBkYXRhLXF1ZXVlLWxpc3Q9IjEiPicrbysiPC9vbD48L2Rpdj4ifWZ1bmN0aW9uIG90KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoZSl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ci5zZWxlY3RlZElkfSksbj10JiZ0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGk9bj9DYSh0KTpbXTtpZihpPUFycmF5LmlzQXJyYXkoaSk/aTpbXSwhbnx8aS5sZW5ndGg9PT0wKXtlLmhpZGRlbj0hMCxlLmlubmVySFRNTD0iIixyLnF1ZXVlQmFyRXhwYW5kZWQ9ITE7cmV0dXJufWlmKCFyLnF1ZXVlQmFyRHJhZyl7ZS5oaWRkZW49ITE7dmFyIGE9ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIiksdT1pLmxlbmd0aD49UnA7ZS5pbm5lckhUTUw9VXAoaSxhLHUpfX19ZnVuY3Rpb24gcWkoZSx0KXtuZSh7aWQ6ZS5pZCxxdWV1ZWRNZXNzYWdlczp0fSk7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZS5pZH0pfHxlO3IuY3VycmVudE1lc3NhZ2VzPVZlKG4sbnQobixuLm91dHB1dCwhMSkpLFVlKCEwKSxvdCgpfWZ1bmN0aW9uIEtwKGUpe3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKHQpe3ZhciBuPUFycmF5LmlzQXJyYXkodC5xdWV1ZWRNZXNzYWdlcyk/dC5xdWV1ZWRNZXNzYWdlcy5zbGljZSgpOltdO2lmKCEoZTwwfHxlPj1uLmxlbmd0aCkpe3ZhciBpPW4uc2xpY2UoKSxhPW4uc2xpY2UoMCxlKS5jb25jYXQobi5zbGljZShlKzEpKTtuZSh7aWQ6dC5pZCxxdWV1ZWRNZXNzYWdlczphfSk7dmFyIHU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09dC5pZH0pfHx0O3IuY3VycmVudE1lc3NhZ2VzPVZlKHUsbnQodSx1Lm91dHB1dCwhMSkpLFVlKCEwKSxvdCgpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIit0LmlkKyIvcXVldWVkLyIrZSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG8pe2lmKCFvLm9rKXJldHVybiBvLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihzKXt0aHJvdyBuZXcgRXJyb3IocyYmcy5lcnJvcnx8Ilx1NTIyMFx1OTY2NFx1NTkzMVx1OEQyNSIpfSl9KS5jYXRjaChmdW5jdGlvbihvKXtxaSh0LGkpLHgobyYmby5tZXNzYWdlfHwiXHU1MjIwXHU5NjY0XHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19ZnVuY3Rpb24gSnAoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZihlKXt2YXIgdD1BcnJheS5pc0FycmF5KGUucXVldWVkTWVzc2FnZXMpP2UucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZih0Lmxlbmd0aCE9PTApe3IucXVldWVCYXJFeHBhbmRlZD0hMSxuZSh7aWQ6ZS5pZCxxdWV1ZWRNZXNzYWdlczpbXX0pO3ZhciBuPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWUuaWR9KXx8ZTtyLmN1cnJlbnRNZXNzYWdlcz1WZShuLG50KG4sbi5vdXRwdXQsITEpKSxVZSghMCksb3QoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrZS5pZCsiL3F1ZXVlZCIse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtpZighaS5vaylyZXR1cm4gaS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEmJmEuZXJyb3J8fCJcdTZFMDVcdTdBN0FcdTU5MzFcdThEMjUiKX0pO3goIlx1NURGMlx1NkUwNVx1N0E3QSAiK3QubGVuZ3RoKyIgXHU2NzYxXHU2MzkyXHU5NjFGXHU2RDg4XHU2MDZGXHUzMDAyIiwiaW5mbyIpfSkuY2F0Y2goZnVuY3Rpb24oaSl7cWkoZSx0KSx4KGkmJmkubWVzc2FnZXx8Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIEdwKGUpe2lmKCFyLnF1ZXVlQmFyUHJvbW90aW5nKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obCl7cmV0dXJuIGwuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgbj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49bi5sZW5ndGgpKXt2YXIgaT1uW2VdLGE9bi5zbGljZSgwLGUpLmNvbmNhdChuLnNsaWNlKGUrMSkpLHU9bi5zbGljZSgpLG89ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIik7ci5xdWV1ZUJhclByb21vdGluZz0hMCxhLmxlbmd0aD09PTAmJihyLnF1ZXVlQmFyRXhwYW5kZWQ9ITEpLG5lKHtpZDp0LmlkLHF1ZXVlZE1lc3NhZ2VzOmF9KTt2YXIgcz10eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnJhbmRvbVVVSUQ/Y3J5cHRvLnJhbmRvbVVVSUQoKTpEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSsiLSIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwxMCk7eChvPyJcdTVERjJcdThCRjdcdTZDNDJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTMwMDIiOiJcdTVERjJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjFcdTZEODhcdTYwNkZcdTMwMDIiLCJpbmZvIiksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3QuaWQrIi9xdWV1ZWQvIitlKyIvcHJvbW90ZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2V4cGVjdGVkVGV4dDppLGlkZW1wb3RlbmN5S2V5OnN9KX0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwub2s/bC5qc29uKCk6bC5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oZCl7dGhyb3cgbmV3IEVycm9yKGQmJmQuZXJyb3J8fCJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihsKXtpZihsJiZsLmlkJiYobmUobCksbC5pZD09PXIuc2VsZWN0ZWRJZCkpe3ZhciBkPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihmKXtyZXR1cm4gZi5pZD09PWwuaWR9KXx8bDtyLmN1cnJlbnRNZXNzYWdlcz1WZShkLG50KGQsbC5vdXRwdXQsITEpKSxVZSghMCksb3QoKX1yLnF1ZXVlQmFyUHJvbW90aW5nPSExfSkuY2F0Y2goZnVuY3Rpb24obCl7ci5xdWV1ZUJhclByb21vdGluZz0hMSxxaSh0LHUpLHgobCYmbC5tZXNzYWdlfHwiXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX19fWZ1bmN0aW9uIFlwKGUsdCl7dmFyIG49ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09ci5zZWxlY3RlZElkfSk7aWYobil7dmFyIGk9QXJyYXkuaXNBcnJheShuLnF1ZXVlZE1lc3NhZ2VzKT9uLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYoIShpLmxlbmd0aDw9MSkmJnQpe3ZhciBhPXQucGFyZW50RWxlbWVudDtpZihhKXt2YXIgdT1OdW1iZXIodC5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSksbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLmNoaWxkcmVuKSxzPW8ubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksbD0zO3MubGVuZ3RoPj0yJiYobD1NYXRoLm1heCgwLHNbMV0udG9wLXNbMF0udG9wLXNbMF0uaGVpZ2h0KSksZS5wcmV2ZW50RGVmYXVsdCgpO3RyeXt0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9aWYobmF2aWdhdG9yJiZuYXZpZ2F0b3IudmlicmF0ZSl0cnl7bmF2aWdhdG9yLnZpYnJhdGUoOCl9Y2F0Y2h7fXIucXVldWVCYXJEcmFnPXtwb2ludGVySWQ6ZS5wb2ludGVySWQsaGFuZGxlRWw6dCxpdGVtRWw6dCxsaXN0RWw6YSxzaWJsaW5nczpvLHJlY3RzOnMsb3JpZ0luZGV4OnUsdGFyZ2V0SW5kZXg6dSxzdGFydFk6ZS5jbGllbnRZLGdhcDpsLHF1ZXVlU25hcHNob3Q6aX0sdC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLG8uZm9yRWFjaChmdW5jdGlvbihjKXtjIT09dCYmYy5jbGFzc0xpc3QuYWRkKCJxdWV1ZS1iYXItaXRlbS1zbGlkaW5nIil9KTt2YXIgZD1mdW5jdGlvbihjKXskcChjKX0sZj1mdW5jdGlvbihjKXtYcChjKX07ci5xdWV1ZUJhckRyYWcubW92ZUhhbmRsZXI9ZCxyLnF1ZXVlQmFyRHJhZy51cEhhbmRsZXI9Zix0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsZiksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixmKX19fX1mdW5jdGlvbiBRcChlLHQsbixpKXtmb3IodmFyIGE9bi5sZW5ndGgsdT1bXSxvPTA7bzxhO28rKyl1LnB1c2gobyk7dS5zcGxpY2UoZSwxKSx1LnNwbGljZSh0LDAsZSk7Zm9yKHZhciBzPW5bMF0udG9wLGw9blswXS50b3AsZD0xO2Q8YTtkKyspbltkXS50b3A8bCYmKGw9bltkXS50b3ApO2Zvcih2YXIgZj17fSxjPWwsdj0wO3Y8YTt2Kyspe3ZhciBoPXVbdl07ZltoXT1jLGMrPW5baF0uaGVpZ2h0K2l9cmV0dXJuIGZ9ZnVuY3Rpb24gJHAoZSl7dmFyIHQ9ci5xdWV1ZUJhckRyYWc7aWYoISghdHx8ZS5wb2ludGVySWQhPT10LnBvaW50ZXJJZCkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbj1lLmNsaWVudFktdC5zdGFydFk7dC5pdGVtRWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKCIrbisicHgpIjtmb3IodmFyIGk9dC5yZWN0c1t0Lm9yaWdJbmRleF0udG9wK3QucmVjdHNbdC5vcmlnSW5kZXhdLmhlaWdodC8yK24sYT10Lm9yaWdJbmRleCx1PTA7dTx0LnJlY3RzLmxlbmd0aDt1KyspaWYodSE9PXQub3JpZ0luZGV4KXt2YXIgbz10LnJlY3RzW3VdLnRvcCt0LnJlY3RzW3VdLmhlaWdodC8yO3U8dC5vcmlnSW5kZXgmJmk8bz9hPU1hdGgubWluKGEsdSk6dT50Lm9yaWdJbmRleCYmaT5vJiYoYT1NYXRoLm1heChhLHUpKX1pZihhIT09dC50YXJnZXRJbmRleCl7dC50YXJnZXRJbmRleD1hO3ZhciBzPVFwKHQub3JpZ0luZGV4LGEsdC5yZWN0cyx0LmdhcCk7dC5zaWJsaW5ncy5mb3JFYWNoKGZ1bmN0aW9uKGwsZCl7aWYoZCE9PXQub3JpZ0luZGV4KXt2YXIgZj1zW2RdLXQucmVjdHNbZF0udG9wO2wuc3R5bGUudHJhbnNmb3JtPWY/InRyYW5zbGF0ZVkoIitmKyJweCkiOiIifX0pfX19ZnVuY3Rpb24gWHAoZSl7dmFyIHQ9ci5xdWV1ZUJhckRyYWc7aWYoISghdHx8ZSYmZS5wb2ludGVySWQhPT10LnBvaW50ZXJJZCkpe3RyeXt0LmhhbmRsZUVsLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh0LnBvaW50ZXJJZCl9Y2F0Y2h7fXQuaGFuZGxlRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHQubW92ZUhhbmRsZXIpLHQuaGFuZGxlRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0LnVwSGFuZGxlciksdC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix0LnVwSGFuZGxlcik7dmFyIG49dC5vcmlnSW5kZXgsaT10LnRhcmdldEluZGV4LGE9dC5xdWV1ZVNuYXBzaG90O2lmKHQuc2libGluZ3MuZm9yRWFjaChmdW5jdGlvbihkKXtkLnN0eWxlLnRyYW5zZm9ybT0iIixkLmNsYXNzTGlzdC5yZW1vdmUoInF1ZXVlLWJhci1pdGVtLXNsaWRpbmciKX0pLHQuaXRlbUVsLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksci5xdWV1ZUJhckRyYWc9bnVsbCxuPT09aSl7b3QoKTtyZXR1cm59Zm9yKHZhciB1PVtdLG89MDtvPGEubGVuZ3RoO28rKyl1LnB1c2gobyk7dS5zcGxpY2UobiwxKSx1LnNwbGljZShpLDAsbik7dmFyIHM9dS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGFbZF19KSxsPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihkKXtyZXR1cm4gZC5pZD09PXIuc2VsZWN0ZWRJZH0pO2lmKCFsKXtvdCgpO3JldHVybn1uZSh7aWQ6bC5pZCxxdWV1ZWRNZXNzYWdlczpzfSksb3QoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrbC5pZCsiL3F1ZXVlZCIse21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtvcmRlcjp1fSl9KS50aGVuKGZ1bmN0aW9uKGQpe2lmKCFkLm9rKXJldHVybiBkLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihmKXt0aHJvdyBuZXcgRXJyb3IoZiYmZi5lcnJvcnx8Ilx1NjM5Mlx1NUU4Rlx1NTkzMVx1OEQyNSIpfSl9KS5jYXRjaChmdW5jdGlvbihkKXtxaShsLGEpLHgoZCYmZC5tZXNzYWdlfHwiXHU4QzAzXHU2NTc0XHU2MzkyXHU5NjFGXHU5ODdBXHU1RThGXHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKX0pfX1mdW5jdGlvbiBacCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWV1ZS1iYXItaG9zdCIpOyFlfHxlLl9fcXVldWVEZWxlZ2F0ZWR8fChlLl9fcXVldWVEZWxlZ2F0ZWQ9ITAsZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIG49dC50YXJnZXQsaT1uJiZuLmNsb3Nlc3Q/bi5jbG9zZXN0KCJbZGF0YS1hY3Rpb25dIik6bnVsbDtpZihpJiZlLmNvbnRhaW5zKGkpKXt2YXIgYT1pLmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtpZihhPT09ImRyYWciKXJldHVybjtpZih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxhPT09InByb21vdGUtaXRlbSIpe3ZhciB1PWkuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik7dSYmR3AoTnVtYmVyKHUuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKX1lbHNlIGlmKGE9PT0iZGVsZXRlIil7dmFyIG89aS5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTtvJiZLcChOdW1iZXIoby5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkpfWVsc2UgYT09PSJjbGVhci1hbGwiJiZKcCgpO3JldHVybn19KSxlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixmdW5jdGlvbih0KXtpZighKHQuYnV0dG9uIT09dm9pZCAwJiZ0LmJ1dHRvbiE9PTApKXt2YXIgbj10LnRhcmdldDtpZighKG4mJm4uY2xvc2VzdCYmbi5jbG9zZXN0KCdbZGF0YS1hY3Rpb249ImRlbGV0ZSJdLCBbZGF0YS1hY3Rpb249InByb21vdGUtaXRlbSJdLCBbZGF0YS1hY3Rpb249ImNsZWFyLWFsbCJdLCBbZGF0YS1hY3Rpb249ImV4cGFuZCJdJykpKXt2YXIgaT1uJiZuLmNsb3Nlc3Q/bi5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTpudWxsO2kmJllwKHQsaSl9fX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmenAoKSYmKHQuc3RvcFByb3BhZ2F0aW9uKCksVnAoITEpKX0pKX1mdW5jdGlvbiBWZShlLHQpe3ZhciBuPUFycmF5LmlzQXJyYXkodCk/Q3IodCk6W10saT1BcnJheS5pc0FycmF5KG4pP24uc2xpY2UoKTpbXTtpZighZXx8ZS5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIilyZXR1cm4gaTtpZihlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpe3ZhciBhPWlbaS5sZW5ndGgtMV07KCFhfHxhLnJvbGUhPT0iYXNzaXN0YW50IikmJmkucHVzaCh7cm9sZToiYXNzaXN0YW50Iixjb250ZW50Olt7dHlwZToidGV4dCIsdGV4dDoiIixfX3Byb2Nlc3Npbmc6ITB9XX0pfXJldHVybiBpfWZ1bmN0aW9uIFlzKCl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7dmkoZSksRm4oKX1mdW5jdGlvbiBRcyhlKXt2YXIgdD1fdCgpLG49dCYmdC5wcm92aWRlcj09PSJjb2RleCI7cmV0dXJuIGUmJihlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9SVU5OSU5HInx8ZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT19QVFkiKT9uPyJDb2RleCBcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUZcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU1NzI4XHU0RjYwXHU0RTBCXHU2QjIxXHU1M0QxXHU5MDAxXHU2RDg4XHU2MDZGXHU2NUY2XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHUzMDAyIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGXHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTU3MjhcdTRGNjBcdTRFMEJcdTZCMjFcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdTY1RjZcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTMwMDIiOmUmJmUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX0ZPVU5EIj8iXHU0RjFBXHU4QkREXHU0RTBEXHU1QjU4XHU1NzI4XHVGRjBDXHU4QkY3XHU5MUNEXHU2NUIwXHU5MDA5XHU2MkU5XHU2MjE2XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHUzMDAyIjplJiZlLm1lc3NhZ2V8fChuPyJDb2RleCBcdTRGMUFcdThCRERcdTY2ODJcdTRFMERcdTUzRUZcdTc1MjhcdUZGMUJcdTgyRTVcdTVCNThcdTU3MjggQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU4MUVBXHU1MkE4XHU1QzFEXHU4QkQ1XHU2MDYyXHU1OTBEXHUzMDAyIjoiXHU0RjFBXHU4QkREXHU2NjgyXHU0RTBEXHU1M0VGXHU3NTI4XHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdUZGMENcdTVDMDZcdTgxRUFcdTUyQThcdTVDMURcdThCRDVcdTYwNjJcdTU5MERcdTMwMDIiKX1mdW5jdGlvbiAkcyhlKXt2YXIgdD1uZXcgRXJyb3IoZSYmZS5lcnJvcnx8Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1Rlx1MzAwMiIpO3JldHVybiBlJiZ0eXBlb2YgZT09Im9iamVjdCImJih0LmVycm9yQ29kZT1lLmVycm9yQ29kZXx8bnVsbCx0LnNlc3Npb25JZD1lLnNlc3Npb25JZHx8ci5zZWxlY3RlZElkfHxudWxsLHQuc2Vzc2lvblN0YXR1cz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwic2Vzc2lvblN0YXR1cyIpP2Uuc2Vzc2lvblN0YXR1czpudWxsKSx0fWZ1bmN0aW9uIFhzKGUpe3JldHVybiBlJiYoZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfUlVOTklORyJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9fUFRZInx8ZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfRk9VTkQiKX1mdW5jdGlvbiBldihlLHQpe2UmJm5lKHtpZDplLHN0YXR1czp0fHwiZXhpdGVkIn0pfWZ1bmN0aW9uIERoKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKXx8ZS5tZXNzYWdlcy5sZW5ndGg8MilyZXR1cm4hMTt2YXIgdD1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJ1c2VyIiYmQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpJiZpLmNvbnRlbnQuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS50eXBlPT09InRleHQiJiZ0eXBlb2YgYS50ZXh0PT0ic3RyaW5nIiYmYS50ZXh0LnRyaW0oKS5sZW5ndGg+MH0pfSksbj1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGkuY29udGVudCkmJmkuY29udGVudC5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnR5cGU9PT0idGV4dCImJnR5cGVvZiBhLnRleHQ9PSJzdHJpbmciJiZhLnRleHQudHJpbSgpLmxlbmd0aD4wfSl9KTtyZXR1cm4gdCYmbn1mdW5jdGlvbiBhdShlKXtyZXR1cm4hIShlJiYhZmUoZSkmJihlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5zdGF0dXMhPT0icnVubmluZyImJmUuY2xhdWRlU2Vzc2lvbklkKX1mdW5jdGlvbiB0dihlLHQpe2lmKCFlKXJldHVybiB4KCJcdTRGMUFcdThCRERcdTRFMERcdTVCNThcdTU3MjhcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTkwMDlcdTYyRTlcdTYyMTZcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihlLnN0YXR1cz09PSJydW5uaW5nIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO2lmKCFhdShlKSl7dmFyIG49ZSYmZS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IjoiQ2xhdWRlIjtyZXR1cm4geCgiXHU4QkU1XHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU2MDYyXHU1OTBEXHU3Njg0ICIrbisiIFx1NTM4Nlx1NTNGMlx1NEUwQVx1NEUwQlx1NjU4N1x1RkYwQ1x1OEJGN1x1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXJldHVybiBzbChlLmlkLHQpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/KG5lKGkpLEVlKCksR24oaS5pZCksa24oaS5pZCkudGhlbihmdW5jdGlvbigpe3JldHVybiBIdCghMCksaX0pKTpudWxsfSl9ZnVuY3Rpb24gbnYoZSx0KXtyZXR1cm5bdCwiXHIiXX1mdW5jdGlvbiBydihlLHQsbixpKXt2YXIgYT1BcnJheS5pc0FycmF5KGUpP2UuZmlsdGVyKGZ1bmN0aW9uKG8pe3JldHVybiEhb30pOltdO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9dHlwZW9mIG49PSJudW1iZXIiP246MDtyZXR1cm4gYS5yZWR1Y2UoZnVuY3Rpb24obyxzLGwpe3JldHVybiBvLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbD4wJiZ1PjA/bmV3IFByb21pc2UoZnVuY3Rpb24oZCl7c2V0VGltZW91dChkLHUpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBFdChzLGw9PT1hLmxlbmd0aC0xP3Q6dm9pZCAwLGkpfSk6RXQocyxsPT09YS5sZW5ndGgtMT90OnZvaWQgMCxpKX0pfSxQcm9taXNlLnJlc29sdmUoKSl9dmFyIGl2PTVlMyxhdj0xMDA7ZnVuY3Rpb24gdXUoZSl7ZSYmKHIucGVuZGluZ01lc3NhZ2VzLmxlbmd0aD49YXYmJnIucGVuZGluZ01lc3NhZ2VzLnNoaWZ0KCksci5wZW5kaW5nTWVzc2FnZXMucHVzaCh7aW5wdXQ6ZSxhdDpEYXRlLm5vdygpfSkpfWZ1bmN0aW9uIHV2KGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZSk/ZS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuISFufSk6W107dC5mb3JFYWNoKGZ1bmN0aW9uKG4pe3V1KG4pfSl9ZnVuY3Rpb24gb3YoZSl7aWYoISh0eXBlb2YgZSE9InN0cmluZyJ8fCFlKSl7dmFyIHQ9ZS5yZXBsYWNlKC9ceDFiXFsyMDB+L2csIiIpLnJlcGxhY2UoL1x4MWJcWzIwMX4vZywiIik7Lyg/Ol58XG4pXHMqXC9jbGVhclxzKig/OlxyfFxufCQpLy50ZXN0KHQpJiZ0eXBlb2YgcjwidSImJnImJihyLnRlcm1pbmFsT3V0cHV0TWFya2VyPShyLnRlcm1pbmFsT3V0cHV0JiZyLnRlcm1pbmFsT3V0cHV0Lmxlbmd0aCl8MCl9fWZ1bmN0aW9uIEV0KGUsdCxuKXtyZXR1cm4hZXx8IXIuc2VsZWN0ZWRJZD9Qcm9taXNlLnJlc29sdmUoKToob3YoZSksci5tZXNzYWdlUXVldWUucHVzaChlKSxyLmlucHV0UXVldWU9ci5pbnB1dFF1ZXVlLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gc3YoZSx0LG4pLmZpbmFsbHkoZnVuY3Rpb24oKXt2YXIgaT1yLm1lc3NhZ2VRdWV1ZS5pbmRleE9mKGUpO2k+LTEmJnIubWVzc2FnZVF1ZXVlLnNwbGljZShpLDEpfSl9KSxyLmlucHV0UXVldWUpfWZ1bmN0aW9uIHN2KGUsdCxuKXtpZighci5zZWxlY3RlZElkKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgaT1yLnNlbGVjdGVkSWQsYT1ufHxyLmN1cnJlbnRWaWV3O3JldHVybiBNcCgpP3Iud3NDb25uZWN0ZWQ/ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitpKyIvaW5wdXQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtpbnB1dDplLHZpZXc6YSxzaG9ydGN1dEtleTp0fHx2b2lkIDB9KX0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHUub2s/dS5qc29uKCk6dS5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihvKXt2YXIgcz0kcyhvKTt0aHJvdyBzLmh0dHBTdGF0dXM9dS5zdGF0dXMsY29uc29sZS5lcnJvcigiW3dhbmRdIHBvc3RJbnB1dDogcmVxdWVzdCBmYWlsZWQiLHtzdGF0dXM6dS5zdGF0dXMsZXJyb3JDb2RlOnMuZXJyb3JDb2RlLG1lc3NhZ2U6cy5tZXNzYWdlLHNlc3Npb25JZDppfSksWHMocykmJmV2KGkscy5zZXNzaW9uU3RhdHVzfHwiZXhpdGVkIiksc30pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdSYmdS5pZCYmKG5lKHUpLHUuaWQ9PT1yLnNlbGVjdGVkSWQmJih1Lm1lc3NhZ2VzJiZ1Lm1lc3NhZ2VzLmxlbmd0aD4wJiYoci5jdXJyZW50TWVzc2FnZXM9dS5tZXNzYWdlcyksVWUoITApKSksdX0pOih1dShlKSxjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RJbnB1dDogV2ViU29ja2V0IGRpc2Nvbm5lY3RlZCwgcXVldWVkIG1lc3NhZ2UiLHtzZXNzaW9uSWQ6ci5zZWxlY3RlZElkLGlucHV0TGVuZ3RoOmUubGVuZ3RofSksUHJvbWlzZS5yZXNvbHZlKCkpOnIud3NDb25uZWN0ZWQ/KGNvbnNvbGUud2FybigiW3dhbmRdIHBvc3RJbnB1dDogc2Vzc2lvbiBub3QgcnVubmluZywgc2tpcHBpbmcgc2VuZCIse3Nlc3Npb25JZDpyLnNlbGVjdGVkSWR9KSx4KCJcdTRGMUFcdThCRERcdTY3MkFcdThGRDBcdTg4NENcdUZGMENcdTZCNjNcdTU3MjhcdTdCNDlcdTVGODVcdTgxRUFcdTUyQThcdTYwNjJcdTU5MERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCkpOih1dShlKSxjb25zb2xlLmxvZygiW3dhbmRdIHBvc3RJbnB1dDogc2Vzc2lvbiBub3QgcnVubmluZywgcXVldWVkIGZvciByZWNvbm5lY3QiLHtzZXNzaW9uSWQ6ci5zZWxlY3RlZElkLGlucHV0TGVuZ3RoOmUubGVuZ3RofSksUHJvbWlzZS5yZXNvbHZlKCkpfWZ1bmN0aW9uIGtoKGUpe3JldHVybiBFdChlKX1mdW5jdGlvbiBfdCgpe3JldHVybiByLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWQ9PT1yLnNlbGVjdGVkSWR9KXx8bnVsbH1mdW5jdGlvbiBBaChlKXtyZXR1cm4gZSYmZS5wcm92aWRlcj09PSJjb2RleCI/YApgOiJcciJ9ZnVuY3Rpb24gb3UoKXtyZXR1cm4hIXIuc2VsZWN0ZWRJZCYmci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCJ9ZnVuY3Rpb24gbHYoZSl7cmV0dXJuISghci50ZXJtaW5hbHx8IWV8fGUhPT1yLnNlbGVjdGVkSWR8fHIudGVybWluYWxTZXNzaW9uSWQmJnIudGVybWluYWxTZXNzaW9uSWQhPT1lKX1mdW5jdGlvbiBacyhlKXtpZighci50ZXJtaW5hbEludGVyYWN0aXZlfHwhb3UoKXx8ZS5kZWZhdWx0UHJldmVudGVkfHxlLmlzQ29tcG9zaW5nKXJldHVybiExO3ZhciB0PWUudGFyZ2V0O3JldHVybiB0PyEoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpJiZ0LmNsb3Nlc3QmJnQuY2xvc2VzdCgiI2lucHV0LWJveCIpfHx0LmNsb3Nlc3QmJnQuY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8Z3YodCkpOiEwfXZhciBkdj17RXNjOiJlc2NhcGUiLEFycm93VXA6InVwIixBcnJvd0Rvd246ImRvd24iLEFycm93TGVmdDoibGVmdCIsQXJyb3dSaWdodDoicmlnaHQiLEVudGVyOiJlbnRlciIsVGFiOiJ0YWIiLEJhY2tzcGFjZToiYmFja3NwYWNlIixIb21lOiJob21lIixFbmQ6ImVuZCIsUGFnZVVwOiJwYWdldXAiLFBhZ2VEb3duOiJwYWdlZG93biIsRGVsZXRlOiJkZWxldGUiLEluc2VydDoiaW5zZXJ0IiwiICI6InNwYWNlIn0sY3Y9e3NwYWNlOiIgIix0YWI6IgkiLHNoaWZ0X3RhYjoiXHgxQltaIixiYWNrc3BhY2U6Ilx4N0YiLGhvbWU6Ilx4MUJbSCIsZW5kOiJceDFCW0YiLHBhZ2V1cDoiXHgxQls1fiIscGFnZWRvd246Ilx4MUJbNn4iLGRlbGV0ZToiXHgxQlszfiIsaW5zZXJ0OiJceDFCWzJ+In0sZWw9eyIgIjowLCJbIjoyNywiXFwiOjI4LCJdIjoyOSwiXiI6MzAsXzozMX0sZnY9NDAwLHB2PTEwLHZ2PTgsX2k9NTQsQ249OCxzdT1be2tleToiZW50ZXIiLGxhYmVsOiJFbnRlciJ9LHtrZXk6ImN0cmxfYyIsbGFiZWw6IkN0cmwrQyJ9LHtrZXk6ImVzY2FwZSIsbGFiZWw6IkVzYyJ9LHtrZXk6InNoaWZ0X3RhYiIsbGFiZWw6IlNoaWZ0K1RhYiJ9XSxtdj1uZXcgU2V0KFsibWluaS1rZXlib2FyZC1mYWIiLCJtaW5pLWtleWJvYXJkLXRvZ2dsZSIsInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZSJdKTtmdW5jdGlvbiBndihlKXtyZXR1cm4hIShlJiZtdi5oYXMoZS5pZCkpfXZhciBodj1uZXcgU2V0KFsiY3RybCIsImFsdCIsInNoaWZ0Il0pO2Z1bmN0aW9uIHRsKGUpe3JldHVybiBodi5oYXMoZSl9ZnVuY3Rpb24geXYoZSl7cmV0dXJuIGN2W2VdfHwiIn1mdW5jdGlvbiBidihlKXt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ+PSJhIiYmdDw9InoiP1N0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZUF0KDApLTk2KTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZWwsdCk/U3RyaW5nLmZyb21DaGFyQ29kZShlbFt0XSk6IiJ9ZnVuY3Rpb24gRXYoZSl7cmV0dXJuIGR2W2Uua2V5XXx8ZS5rZXl9ZnVuY3Rpb24gRnYoZSx0KXtyZXR1cm57Y3RybDplLmN0cmxLZXksYWx0OmUuYWx0S2V5LHNoaWZ0OmUuc2hpZnRLZXkmJih0Lmxlbmd0aD09PTF8fHQ9PT0idGFiIiksbWV0YTplLm1ldGFLZXl9fWZ1bmN0aW9uIG5sKGUsdCl7ZSYmRXQoZSx0KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIEN2KCl7bWwoKX1mdW5jdGlvbiBsdShlKXtyLmtleWJvYXJkUG9wdXBPcGVuPSExLGUhPT0hMSYmTmkoKSxEdigpfWZ1bmN0aW9uIHd2KCl7b3UoKSYmS24oIXIudGVybWluYWxJbnRlcmFjdGl2ZSl9ZnVuY3Rpb24gS24oZSl7dmFyIHQ9ISFlJiZvdSgpO3IudGVybWluYWxJbnRlcmFjdGl2ZSE9PXQmJihyLnRlcm1pbmFsSW50ZXJhY3RpdmU9dCx0PyhrdigpLGx1KCExKSxDdigpLHgoIlx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mlx1NkEyMVx1NUYwRlx1NURGMlx1NUYwMFx1NTQyRiIsImluZm8iKSk6KEF2KCksTmkoKSksUnIoKSl9ZnVuY3Rpb24gZHUoKXt2YXIgZT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obil7cmV0dXJuIG4uaWQ9PT1yLnNlbGVjdGVkSWR9KSx0PSFlfHxlLnN0YXR1cyE9PSJydW5uaW5nInx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCI7aWYodCYmci50ZXJtaW5hbEludGVyYWN0aXZlKXtLbighMSk7cmV0dXJufSghZXx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpJiZyLmtleWJvYXJkUG9wdXBPcGVuJiYoci5rZXlib2FyZFBvcHVwT3Blbj0hMSksUnIoKX1mdW5jdGlvbiBScigpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih5KXtyZXR1cm4geS5pZD09PXIuc2VsZWN0ZWRJZH0pLHQ9ZmUoZSksbj1lJiZlLnByb3ZpZGVyPT09ImNvZGV4IixpPXQ/ISEoZSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KTohIWUmJmUuc3RhdHVzPT09InJ1bm5pbmciLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLHU9WyJ0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wIl07dS5mb3JFYWNoKGZ1bmN0aW9uKHkpe3ZhciBCPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHkpO2lmKEIpe0IuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixyLnRlcm1pbmFsSW50ZXJhY3RpdmUpLEIuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtb24iLHIudGVybWluYWxJbnRlcmFjdGl2ZSksQi5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLHR8fHIuY3VycmVudFZpZXchPT0idGVybWluYWwifHwhZSksQi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsci50ZXJtaW5hbEludGVyYWN0aXZlPyJ0cnVlIjoiZmFsc2UiKTt2YXIgRT1CLnF1ZXJ5U2VsZWN0b3IoIi5wbHVzLXBvcG92ZXItdG9nZ2xlLXN0YXRlIik7RSYmKEUudGV4dENvbnRlbnQ9ci50ZXJtaW5hbEludGVyYWN0aXZlPyJcdTVGMDAiOiJcdTUxNzMiKX19KTt2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtaGludCIpO28mJihvLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsdD8hMDpyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiksIXQmJmUmJihvLnRleHRDb250ZW50PW4/IkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IGNoYXQgXHU0RTNBXHU4OUUzXHU2NzkwXHU4OUM2XHU1NkZFXHVGRjBDdGVybWluYWwgXHU0RTNBXHU1MzlGXHU1OUNCXHU4RjkzXHU1MUZBIjoiRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgU2hpZnQrRW50ZXIgXHU2MzYyXHU4ODRDIikpO3ZhciBzPSF0JiYhaSYmYXUoZSk7YSYmKGEucGxhY2Vob2xkZXI9amwoZSxyLnRlcm1pbmFsSW50ZXJhY3RpdmUpLGEuZGlzYWJsZWQ9IXQmJiEhZSYmIWkmJiFzLGEuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIixhLmRpc2FibGVkPyJ0cnVlIjoiZmFsc2UiKSxhLnJlYWRPbmx5PSExLGEuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtdGVybWluYWwtcGFzc3Rocm91Z2giLCEhci50ZXJtaW5hbEludGVyYWN0aXZlJiYhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpKSk7dmFyIGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7bCYmci50ZXJtaW5hbEludGVyYWN0aXZlJiZsLmNsYXNzTGlzdC5jb250YWlucygidm9pY2UtbW9kZSIpJiYobC5jbGFzc0xpc3QucmVtb3ZlKCJ2b2ljZS1tb2RlIiksTGUucmVjb3JkaW5nPSExLG51KCkpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZW5kLWlucHV0LWJ1dHRvbiIpLGY9dCYmaTtkJiYoZC5kaXNhYmxlZD0hdCYmISFlJiYhaSYmIXMsZC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0P2Y/Ilx1NjM5Mlx1OTYxRlx1NTNEMVx1OTAwMVx1RkYwOFx1NUY1M1x1NTI0RFx1NTZERVx1NTkwRFx1N0VEM1x1Njc1Rlx1NTQwRVx1NTkwNFx1NzQwNlx1RkYwOSI6Ilx1NTNEMVx1OTAwMSI6bj9pPyJcdTUzRDFcdTkwMDFcdTdFRDkgQ29kZXgiOiJDb2RleCBcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiOiFlfHxpfHxzPyJcdTUzRDFcdTkwMDEiOiJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiKSxkLmNsYXNzTGlzdC50b2dnbGUoInF1ZXVlLW1vZGUiLGYpKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtpZihjKXt2YXIgdj1RdShlKTtjLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIXYuYWN0aXZlKX12YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RvcC1idXR0b24iKTtpZihoKXt2YXIgbT1RdShlKTtoLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIW0uYWN0aXZlKX12YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7ZyYmZy5jbGFzc0xpc3QudG9nZ2xlKCJpbnRlcmFjdGl2ZSIsIXQmJnIudGVybWluYWxJbnRlcmFjdGl2ZSkseXMoKX1mdW5jdGlvbiBIaSgpe3ZhciBlPXdpbmRvdy5nZXRTZWxlY3Rpb24mJndpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighZXx8ZS5pc0NvbGxhcHNlZClyZXR1cm4hMTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoIXQpcmV0dXJuITE7dmFyIG49ZS5hbmNob3JOb2RlO3JldHVybiBuJiZuLm5vZGVUeXBlPT09MyYmKG49bi5wYXJlbnROb2RlKSwhIShuJiZ0LmNvbnRhaW5zKG4pKX1mdW5jdGlvbiBjdShlKXtpZihacyhlKSYmIWUubWV0YUtleSl7dmFyIHQ9RXYoZSk7aWYodCl7dmFyIG49RnYoZSx0KTtpZighdGwodCkmJiEobi5jdHJsJiZ0Lmxlbmd0aD09PTEmJnQudG9Mb3dlckNhc2UoKT09PSJjIiYmSGkoKSkpe3ZhciBpPWlsKHQsbik7aSYmKGUucHJldmVudERlZmF1bHQoKSxubChpLHQpKX19fX1mdW5jdGlvbiBCdigpe3IudGVybWluYWwmJllmKDUwMCl9ZnVuY3Rpb24gRHYoKXtMcigpfWZ1bmN0aW9uIHhoKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCEoci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCJ8fCFyLnNlbGVjdGVkSWQpJiYoci5rZXlib2FyZFBvcHVwT3Blbj0hci5rZXlib2FyZFBvcHVwT3BlbixScigpKX1mdW5jdGlvbiBybCgpe3Iua2V5Ym9hcmRQb3B1cE9wZW49ITEsUnIoKX1mdW5jdGlvbiBrdigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGN1LCEwKX1mdW5jdGlvbiBBdigpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGN1LCEwKX1mdW5jdGlvbiBpbChlLHQpe3ZhciBuPXR8fHtjdHJsOiExLGFsdDohMSxzaGlmdDohMX07aWYodGwoZSkpcmV0dXJuIiI7aWYoZT09PSJ0YWIiJiZuLnNoaWZ0KXJldHVybiJceDFCW1oiO3ZhciBpPXl2KGUpO2lmKGkpcmV0dXJuIGk7aWYoZS5pbmRleE9mKCJjdHJsXyIpPT09MClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSktOTYpO3ZhciBhPVdyKGUpO2lmKGEpcmV0dXJuIGE7aWYoIWUpcmV0dXJuIiI7dmFyIHU9ZS5sZW5ndGg9PT0xP2U6IiI7cmV0dXJuIHU/KG4uc2hpZnQmJih1PXUudG9VcHBlckNhc2UoKSksbi5jdHJsP2J2KHUpOm4uYWx0PyJceDFCIit1OnUpOiIifWZ1bmN0aW9uIE5pKCl7ci5tb2RpZmllcnMuY3RybD0hMSxyLm1vZGlmaWVycy5hbHQ9ITEsci5tb2RpZmllcnMuc2hpZnQ9ITEseHYoKX1mdW5jdGlvbiB4digpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaW5pLWtleWJvYXJkIik7ZSYmWyJjdHJsIiwiYWx0Iiwic2hpZnQiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPWUucXVlcnlTZWxlY3RvcignW2RhdGEta2V5PSInK3QrJyJdJyk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhci5tb2RpZmllcnNbdF0pfSl9ZnVuY3Rpb24gV3IoZSl7c3dpdGNoKGUpe2Nhc2UieWVzIjpyZXR1cm4ieVxyIjtjYXNlIm5vIjpyZXR1cm4iblxyIjtjYXNlInVwIjpyZXR1cm4iXHgxQltBIjtjYXNlImRvd24iOnJldHVybiJceDFCW0IiO2Nhc2UibGVmdCI6cmV0dXJuIlx4MUJbRCI7Y2FzZSJyaWdodCI6cmV0dXJuIlx4MUJbQyI7Y2FzZSJlbnRlciI6cmV0dXJuIlxyIjtjYXNlImN0cmxfYyI6cmV0dXJuIgMiO2Nhc2UiY3RybF9kIjpyZXR1cm4iBCI7Y2FzZSJjdHJsX2wiOnJldHVybiJcZiI7Y2FzZSJjdHJsX3UiOnJldHVybiIVIjtjYXNlImN0cmxfayI6cmV0dXJuIlx2IjtjYXNlImN0cmxfdyI6cmV0dXJuIhciO2Nhc2UiY3RybF96IjpyZXR1cm4iGiI7Y2FzZSJlc2NhcGUiOnJldHVybiJceDFCIjtkZWZhdWx0OnJldHVybiIifX1mdW5jdGlvbiBTdigpe2lmKHIucGVuZGluZ01lc3NhZ2VzLmxlbmd0aCE9PTApe3ZhciBlPV90KCk7aWYoZmUoZSkpe3IucGVuZGluZ01lc3NhZ2VzPVtdO3JldHVybn12YXIgdD1EYXRlLm5vdygpLG49W10saT0wO3IucGVuZGluZ01lc3NhZ2VzLmZvckVhY2goZnVuY3Rpb24odSl7aWYodHlwZW9mIHU9PSJzdHJpbmciKXtuLnB1c2godSk7cmV0dXJufWlmKCEoIXV8fHR5cGVvZiB1LmlucHV0IT0ic3RyaW5nIikpe2lmKHQtKHUuYXR8fDApPml2KXtpKys7cmV0dXJufW4ucHVzaCh1LmlucHV0KX19KSxyLnBlbmRpbmdNZXNzYWdlcz1bXSxpPjAmJmNvbnNvbGUubG9nKCJbd2FuZF0gZmx1c2hQZW5kaW5nTWVzc2FnZXM6IGRyb3BwZWQgIitpKyIgc3RhbGUgaW5wdXQocykiKTt2YXIgYT1Qcm9taXNlLnJlc29sdmUoKTtuLmZvckVhY2goZnVuY3Rpb24odSl7YT1hLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gSXYodSkuY2F0Y2goZnVuY3Rpb24oKXt9KX0pfSl9fWZ1bmN0aW9uIEl2KGUpe2lmKCFlfHwhci5zZWxlY3RlZElkKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgdD1yLnNlbGVjdGVkSWQ7cmV0dXJuIGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrdCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6ZSx2aWV3OnIuY3VycmVudFZpZXd9KX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4ub2s/bi5qc29uKCk6bi5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57ZXJyb3I6Ilx1OEJGN1x1NkM0Mlx1NTkzMVx1OEQyNSJ9fSkudGhlbihmdW5jdGlvbihpKXt2YXIgYT0kcyhpKTtpZihhLmh0dHBTdGF0dXM9bi5zdGF0dXMsWHMoYSkpcmV0dXJuIGNvbnNvbGUubG9nKCJbd2FuZF0gc2VuZElucHV0RGlyZWN0OiBzZXNzaW9uIHVuYXZhaWxhYmxlLCBkcm9wcGluZyIse3Nlc3Npb25JZDp0LGVycm9yQ29kZTphLmVycm9yQ29kZX0pLG51bGw7dGhyb3cgYX0pfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5pZCYmKG5lKG4pLG4uaWQ9PT1yLnNlbGVjdGVkSWQmJihuLm1lc3NhZ2VzJiZuLm1lc3NhZ2VzLmxlbmd0aD4wJiYoci5jdXJyZW50TWVzc2FnZXM9bi5tZXNzYWdlcyksVWUoITApKSksbn0pfWZ1bmN0aW9uIGZ1KCl7aWYoci5zZWxlY3RlZElkKXt2YXIgZT1yLnNlbGVjdGVkSWQ7UWEoU2UoInN0b3AuY29uZmlybS5tZXNzYWdlIikse3RpdGxlOlNlKCJzdG9wLmNvbmZpcm0udGl0bGUiKSxkYW5nZXI6ITAsb2tMYWJlbDpTZSgic3RvcC5jb25maXJtLm9rIiksY2FuY2VsTGFiZWw6U2UoInN0b3AuY29uZmlybS5jYW5jZWwiKX0pLnRoZW4oZnVuY3Rpb24odCl7dCYmci5zZWxlY3RlZElkPT09ZSYmZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlKyIvc3RvcCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oTnQpfSl9fWZ1bmN0aW9uIHB1KGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZXNzaW9uLWl0ZW1bZGF0YS1zZXNzaW9uLWlkPSInK2UrJyJdJyksbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1lfSksaT1uJiZuLmNsYXVkZVNlc3Npb25JZDt0JiZ0LmNsYXNzTGlzdC5hZGQoImRlbGV0aW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2ZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoYSYmYS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoYS5lcnJvcik7cmV0dXJuIHIuc2VsZWN0ZWRJZD09PWUmJihyLnNlbGVjdGVkSWQ9bnVsbCxrZSgpKSxpJiYoci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuY2xhdWRlU2Vzc2lvbklkIT09aX0pLHIuY29kZXhIaXN0b3J5PXIuY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5jbGF1ZGVTZXNzaW9uSWQhPT1pfSkpLE50KCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiZGVsZXRpbmciKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7cWUoYSwiXHU2NUUwXHU2Q0Q1XHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREXHUzMDAyIil9KX0sMjUwKX1mdW5jdGlvbiBhbChlLHQpe3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvIitlbmNvZGVVUklDb21wb25lbnQoZSkse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3IpdGhyb3cgbmV3IEVycm9yKG4uZXJyb3IpO3IuY2xhdWRlSGlzdG9yeT1yLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLmNsYXVkZVNlc3Npb25JZCE9PWV9KSxkZWxldGUgci5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV0sRWUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJkZWxldGluZyIpO3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtxZShuLCJcdTY1RTBcdTZDRDVcdTUyMjBcdTk2NjRcdTRGMUFcdThCRERcdTMwMDIiKX0pfSwyNTApfWZ1bmN0aW9uIFNoKGUsdCl7YWwoZSx0KX1mdW5jdGlvbiBUdihlLHQsbil7ZSYmZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3Rvcnk/Y3dkPSIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpJiZpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtyLmNsYXVkZUhpc3Rvcnk9ci5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jd2QhPT1lfSksRWUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dWwobiwhMSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFjdGlvbi1lcnJvciIpO3FlKGksIlx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNlx1OEJFNVx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIpfSl9ZnVuY3Rpb24gdWwoZSx0KXtlLmZvckVhY2goZnVuY3Rpb24obil7bi5jbGFzc0xpc3QudG9nZ2xlKCJkZWxldGluZyIsdCl9KX1mdW5jdGlvbiBMdihlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNsYXVkZS1oaXN0b3J5LWl0ZW1bZGF0YS1jd2Q9Iicrd2luZG93LkNTUy5lc2NhcGUoU3RyaW5nKGUpKSsnIl0nKSl9dmFyIG9sPW51bGwsenI9bnVsbDtmdW5jdGlvbiBWcigpe2lmKHpyKXt6ci5jbGFzc0xpc3QucmVtb3ZlKCJzd2lwZWQiKTt2YXIgZT16ci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1pdGVtLWNvbnRlbnQiKTtlJiYoZS5zdHlsZS50cmFuc2Zvcm09IiIpLHpyPW51bGx9fWZ1bmN0aW9uIE12KGUpe29sPW51bGwsenI9bnVsbH1mdW5jdGlvbiBPdihlLHQsbil7KGU9PT0iY2xhdWRlInx8ZT09PSJjb2RleCJ8fGU9PT0ib3BlbmNvZGUiKSYmKHIucHJlZmVycmVkQ29tbWFuZD1lLHIuY2hhdE1vZGU9ZnQoZSxyLmNoYXRNb2RlKSk7dmFyIGk9ZT09PSJjbGF1ZGUifHxlPT09ImNvZGV4Inx8ZT09PSJvcGVuY29kZSI/UXIoZSk6IiI7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh2dCh7Y29tbWFuZDplLHByb3ZpZGVyOmU9PT0iY2xhdWRlInx8ZT09PSJjb2RleCJ8fGU9PT0ib3BlbmNvZGUiP2U6dm9pZCAwLGN3ZDp0fHwiIixtb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIsbW9kZWw6aXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0OnIuY2hhdFRoaW5raW5nfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXJyb3I/KG4mJnFlKG4sYS5lcnJvciksbnVsbCk6KHIuc2VsZWN0ZWRJZD1hLmlkLGtlKCksci5kcmFmdHNbYS5pZF09IiIsYSl9KX12YXIgdnU9ITE7ZnVuY3Rpb24gc2woZSx0KXtyZXR1cm4hZXx8dnU/UHJvbWlzZS5yZXNvbHZlKG51bGwpOih2dT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodnQoe21vZGU6ci5jaGF0TW9kZXx8ci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5lcnJvcj8odD9xZSh0LG4uZXJyb3IpOngobi5lcnJvciwiZXJyb3IiKSxudWxsKTooci5zZWxlY3RlZElkPW4uaWQsa2UoKSxyLmRyYWZ0c1tuLmlkXT0iIixuKX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3ZhciBpPW4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiI7cmV0dXJuIHQ/cWUodCxpKTp4KGksImVycm9yIiksbnVsbH0pLmZpbmFsbHkoZnVuY3Rpb24oKXt2dT0hMX0pKX1mdW5jdGlvbiBJaChlLHQpe3JldHVybiBlP2ZldGNoKCIvYXBpL2NsYXVkZS1zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodnQoe21vZGU6ci5jaGF0TW9kZXx8ci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5lcnJvcj8odD9xZSh0LG4uZXJyb3IpOngobi5lcnJvciwiZXJyb3IiKSxudWxsKTooci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLHIuc2VsZWN0ZWRJZD1uLmlkLGtlKCksci5kcmFmdHNbbi5pZF09IiIsbil9KS5jYXRjaChmdW5jdGlvbihuKXt2YXIgaT1uJiZuLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYzMDkgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCBcdTYwNjJcdTU5MERcdTRGMUFcdThCRERcdTMwMDIiO3JldHVybiB0P3FlKHQsaSk6eChpLCJlcnJvciIpLG51bGx9KTpQcm9taXNlLnJlc29sdmUobnVsbCl9ZnVuY3Rpb24gd24oZSl7cmV0dXJuIWV8fCFlLmlkP1Byb21pc2UucmVzb2x2ZSgpOihyLnNlbGVjdGVkSWQ9ZS5pZCxrZSgpLHIuY3VycmVudE1lc3NhZ2VzPVtdLE1yKCksa3QoKSxqcihlLmlkKSxuZShlKSxFZSgpLEduKGUuaWQpLGtuKGUuaWQpLnRoZW4oZnVuY3Rpb24oKXtIdCghMCl9KSl9ZnVuY3Rpb24gbGwoZSl7cmV0dXJuIHNsKGUpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuY2xhdWRlU2Vzc2lvbklkJiYodC5wcm92aWRlcj09PSJjb2RleCI/ci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNsYXVkZVNlc3Npb25JZCE9PXQuY2xhdWRlU2Vzc2lvbklkfSk6ci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG4uY2xhdWRlU2Vzc2lvbklkIT09dC5jbGF1ZGVTZXNzaW9uSWR9KSksd24odCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0fSkpOm51bGx9KX1mdW5jdGlvbiBUaChlLHQsbil7cmV0dXJuIE92KGUsdCxuKS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpP3duKGkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaX0pOm51bGx9KX1mdW5jdGlvbiBMaChlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS1pbnB1dCIpO2lmKHQpe3QucGxhY2Vob2xkZXI9Ilx1NkI2M1x1NTcyOFx1NjAxRFx1ODAwM1x1MjAyNiIsdC5kaXNhYmxlZD0hMDt2YXIgbj1yLmNoYXRNb2RlfHwibWFuYWdlZCIsaT1aZSgpLGE9ZXQoKSx1PVFyKGEpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh2dCh7Y29tbWFuZDphLGN3ZDppLG1vZGU6bixpbml0aWFsSW5wdXQ6ZSxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6ci5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5lcnJvcj8oeChvLmVycm9yLCJlcnJvciIpLHQucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsdC5kaXNhYmxlZD0hMSxudWxsKTp3bihvKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe3gobyYmby5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSx0LnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLHQuZGlzYWJsZWQ9ITF9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dC5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIix0LmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIE1oKGUsdCxuKXt2YXIgaT1yLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1aZSgpLHU9ZXQoKSxvPVFyKHUpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh2dCh7Y29tbWFuZDp1LGN3ZDphLG1vZGU6aSxpbml0aWFsSW5wdXQ6ZXx8dm9pZCAwLG1vZGVsOm98fHZvaWQgMCx0aGlua2luZ0VmZm9ydDpyLmNoYXRUaGlua2luZ3x8dm9pZCAwfSkpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmVycm9yPyh4KHMuZXJyb3IsImVycm9yIiksbnVsbCk6KHQmJih0LnZhbHVlPSIiKSxuJiYobi52YWx1ZT0iIiksd24ocykpfSkuY2F0Y2goZnVuY3Rpb24ocyl7eChzJiZzLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9ZnVuY3Rpb24gUHYoZSl7ZS5kaXNhYmxlZD0hMCxsbChlLmRhdGFzZXQuc2Vzc2lvbklkKS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pfWZ1bmN0aW9uIHF2KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQsbj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLGppKHQsbikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYoci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXVkZVNlc3Npb25JZCE9PXR9KSxyLnNlbGVjdGVkSWQ9aS5pZCxrZSgpLHIuZHJhZnRzW2kuaWRdPSIiLHduKGkpLnRoZW4oZnVuY3Rpb24oKXtSdCgpfSkpfSkuZmluYWxseShmdW5jdGlvbigpe2UuZGlzYWJsZWQ9ITF9KSl9ZnVuY3Rpb24gamkoZSx0KXtyZXR1cm4gZmV0Y2goIi9hcGkvY29kZXgtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHZ0KHttb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yPyh4KG4uZXJyb3IsImVycm9yIiksbnVsbCk6bn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiB4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIF92KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQ7dCYmam4oIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NFx1OEZEOVx1Njc2MSBDb2RleCBcdTRGMUFcdThCRERcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24obil7aWYobil7dmFyIGk9ZS5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aSYmKGkuc3R5bGUub3BhY2l0eT0iMC41IiksZmV0Y2goIi9hcGkvY29kZXgtaGlzdG9yeS8iK2VuY29kZVVSSUNvbXBvbmVudCh0KSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7YSYmYS5vaz8oci5jb2RleEhpc3Rvcnk9ci5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiB1LmNsYXVkZVNlc3Npb25JZCE9PXR9KSxFZSgpKTppJiYoaS5zdHlsZS5vcGFjaXR5PSIxIil9KS5jYXRjaChmdW5jdGlvbigpe2kmJihpLnN0eWxlLm9wYWNpdHk9IjEiKX0pfX0pfWZ1bmN0aW9uIEh2KGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQsbj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLFJpKHQsbikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYoci5jbGF1ZGVIaXN0b3J5PXIuY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLHIuc2VsZWN0ZWRJZD1pLmlkLGtlKCksci5kcmFmdHNbaS5pZF09IiIsd24oaSkudGhlbihmdW5jdGlvbigpe1J0KCl9KSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pKX1mdW5jdGlvbiBSaShlLHQpe3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHZ0KHttb2RlOnIuY2hhdE1vZGV8fHIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yPyh4KG4uZXJyb3IsImVycm9yIiksbnVsbCk6bn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3JldHVybiB4KG4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIFVyKCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIEh0KGUpe2lmKCFyLnRlcm1pbmFsSW50ZXJhY3RpdmUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshdHx8IXIuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQmJihlJiZVcigpfHxtdSh0KSl9fWZ1bmN0aW9uIE9oKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtlJiYoZS5zY3JvbGxUb3A9MCl9ZnVuY3Rpb24gZGwoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlJiZlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWtleWJvYXJkLW9mZnNldCIpfWZ1bmN0aW9uIGNsKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1rZXlib2FyZC1vZmZzZXQiKX1mdW5jdGlvbiBXaShlKXtpZihlKXt2YXIgdD1lLnNlbGVjdGlvblN0YXJ0LG49ZS5zZWxlY3Rpb25FbmQ7emkoZSksdHlwZW9mIHQ9PSJudW1iZXIiJiZ0eXBlb2Ygbj09Im51bWJlciImJmUuc2V0U2VsZWN0aW9uUmFuZ2UodCxuKX19ZnVuY3Rpb24gZmwoZSl7IWV8fGUuZGF0YXNldC50b3VjaFNjcm9sbEJvdW5kPT09InRydWUifHwoZS5kYXRhc2V0LnRvdWNoU2Nyb2xsQm91bmQ9InRydWUiLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oKXtlLnNjcm9sbEhlaWdodDw9ZS5jbGllbnRIZWlnaHQrMXx8KGUuc2Nyb2xsVG9wPD0wP2Uuc2Nyb2xsVG9wPTE6ZS5zY3JvbGxUb3ArZS5jbGllbnRIZWlnaHQ+PWUuc2Nyb2xsSGVpZ2h0JiYoZS5zY3JvbGxUb3A9TWF0aC5tYXgoMSxlLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC0xKSkpfSx7cGFzc2l2ZTohMH0pKX1mdW5jdGlvbiBwbChlKXtlJiYoQXQoZSksV2koZSkpfWZ1bmN0aW9uIE52KGUpe3ZhciB0PWUmJmUudGFyZ2V0P2UudGFyZ2V0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt0JiYoZGwoKSxwbCh0KSl9ZnVuY3Rpb24ganYoZSl7dmFyIHQ9ZSYmZS50YXJnZXQ/ZS50YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2NsKCksY3MoMjIwMCx0KTt2YXIgbj1bODAsMjAwLDM4MCw2MjAsOTAwXTtuLmZvckVhY2goZnVuY3Rpb24oaSxhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cnIoITEpLGE9PT0xJiZVcigpJiYoWGUoImtleWJvYXJkLWJsdXIiLHtmb3JjZVJlcGxheTohMH0pLGJ0KCJrZXlib2FyZCIpKX0saSl9KX1mdW5jdGlvbiBSdihlKXtlJiYoZS5zZXRTZWxlY3Rpb25SYW5nZShlLnZhbHVlLmxlbmd0aCxlLnZhbHVlLmxlbmd0aCksV2koZSkpfWZ1bmN0aW9uIG11KGUpe2UmJihlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksUnYoZSkpfWZ1bmN0aW9uIFd2KGUpe2ZsKGUpLHBsKGUpfWZ1bmN0aW9uIHp2KGUpe211KGUpfWZ1bmN0aW9uIFBoKGUpe2RsKCksV2koZSl9ZnVuY3Rpb24gVnYoKXtjbCgpfWZ1bmN0aW9uIFV2KGUpe1dpKGUpfWZ1bmN0aW9uIHFoKGUpe3p2KGUpfWZ1bmN0aW9uIEt2KGUpe1d2KGUpfWZ1bmN0aW9uIF9oKCl7VnYoKX1mdW5jdGlvbiBIaChlKXtVdihlKX1mdW5jdGlvbiBKdihlLHQpe2lmKCFlfHwhdHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpcmV0dXJuITE7dmFyIG49d2luZG93LmlubmVySGVpZ2h0LWUuaGVpZ2h0LWUub2Zmc2V0VG9wO2lmKG48PTUwKXJldHVybiExO3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkuYm90dG9tPmUuaGVpZ2h0LTEyfWZ1bmN0aW9uIHppKGUpe2lmKGUpe3ZhciB0PWUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KzE7aWYoIXQpe2Uuc2Nyb2xsVG9wPTA7cmV0dXJufWUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0fX1mdW5jdGlvbiB2bCgpe2lmKHIudGVybWluYWxJbnRlcmFjdGl2ZSl7bWwoKTtyZXR1cm59aWYoIVVyKCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshZXx8IXIuc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWV8fG11KGUpfX1mdW5jdGlvbiBtbCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtlJiYoZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLGUuZm9jdXMoKSxyLnRlcm1pbmFsJiZyLnRlcm1pbmFsLmZvY3VzJiZyLnRlcm1pbmFsLmZvY3VzKCkpfWZ1bmN0aW9uIEd2KCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKCJ2aXJ0dWFsS2V5Ym9hcmQiaW4gbmF2aWdhdG9yKXt2YXIgbj1uYXZpZ2F0b3IudmlydHVhbEtleWJvYXJkO24uYWRkRXZlbnRMaXN0ZW5lcigiZ2VvbWV0cnljaGFuZ2UiLGZ1bmN0aW9uKCl7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGluZy1ib3R0b20iKX0pfXZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZsKCl9KSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXt2YXIgdT1hLnRhcmdldDt1LnRhZ05hbWUhPT0iQSImJnUudGFnTmFtZSE9PSJCVVRUT04iJiYhdS5jbG9zZXN0KCJidXR0b24iKSYmIXUuY2xvc2VzdCgiW2RhdGEtdG9vbC10b2dnbGVdIikmJnZsKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7aWYoVXIoKSl7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCEoIXV8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT11KSl7dmFyIG89YS50YXJnZXQ7IW98fHR5cGVvZiBvLmNsb3Nlc3QhPSJmdW5jdGlvbiJ8fG8uY2xvc2VzdCgiLmlucHV0LXBhbmVsIil8fG8uY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8by5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC1mYWIiKXx8by5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC10b2dnbGUiKXx8by5jbG9zZXN0KCIjdGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIil8fG8uY2xvc2VzdCgiLndhbmQtam95c3RpY2stcm9vdCIpfHx1LmJsdXIoKX19fSwhMCl9ZnVuY3Rpb24gZ3UoKXt0cnl7d2luZG93LnNjcm9sbFRvKDAsMCl9Y2F0Y2h7fWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQmJihkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD0wKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPTApLGRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD0wKX1mdW5jdGlvbiBVZShlKXtyLnJlbmRlclBlbmRpbmcmJiFlfHwoci5yZW5kZXJQZW5kaW5nPSEwLGU/KFZpKCEwKSxyLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1ZpKCExKSxyLnJlbmRlclBlbmRpbmc9ITF9KSl9ci5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBodShlKXtpZighKHIuY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKHIuY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQoci5jaGF0UmVuZGVyVGltZXIpLGUpe3IuY2hhdFJlbmRlclRpbWVyPW51bGwsVWUoKTtyZXR1cm59dHJ5e3dpbmRvdy5fX3NjaGVkdWxlQ2hhdFJlbmRlcj1mdW5jdGlvbigpe2h1KCEwKX19Y2F0Y2h7fXZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PXIuc2VsZWN0ZWRJZH0pLG49dCYmdC5zdGF0dXM9PT0icnVubmluZyImJnQuc2Vzc2lvbktpbmQhPT0ic3RydWN0dXJlZCIsaT1uP3dzOkJzO3IuY2hhdFJlbmRlclRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmNoYXRSZW5kZXJUaW1lcj1udWxsO3ZhciBhPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbih1KXtyZXR1cm4gdS5pZD09PXIuc2VsZWN0ZWRJZH0pO2EmJihyLmN1cnJlbnRNZXNzYWdlcz1WZShhLG50KGEsYS5vdXRwdXQsITApKSksVWUoKX0saSl9fWZ1bmN0aW9uIFl2KGUsdCl7aWYoIWV8fCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuW107ZnVuY3Rpb24gbihCKXtyZXR1cm4gQi5yZXBsYWNlKC9ceDFCKD86W0AtWlxcLV9dfFxbWzAtP10qWyAtL10qW0Atfl0pL2csIiIpfWZvcih2YXIgaT1uKGUpLGE9W10sdT1bXSxvPTA7bzx0Lmxlbmd0aDtvKyspaWYodFtvXS5yb2xlPT09InVzZXIiKXt2YXIgcz0iIixsPXRbb10uY29udGVudDtpZih0eXBlb2YgbD09InN0cmluZyIpcz1sO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShsKSl7Zm9yKHZhciBkPTA7ZDxsLmxlbmd0aDtkKyspaWYobFtkXS50eXBlPT09InRleHQiKXtzPWxbZF0udGV4dDticmVha319cyYmdS5wdXNoKHt0ZXh0OnMsaW5kZXg6b30pfWZvcih2YXIgZj0wLG89MDtvPHUubGVuZ3RoO28rKyl7dmFyIGM9dVtvXSx2PWkuaW5kZXhPZigiXHUyNzZGICIrYy50ZXh0LGYpO2lmKHY9PT0tMSYmKHY9aS5pbmRleE9mKGAKXHUyNzZGIGArYy50ZXh0LGYpLHYhPT0tMSYmKHYrPTEpKSx2PmYpe2Zvcih2YXIgaD1pLnN1YnN0cmluZyhmLHYpLG09aC5zcGxpdChgCmApLGc9W10sZD0wO2Q8bS5sZW5ndGg7ZCsrKXt2YXIgeT1tW2RdLnRyaW0oKTsheXx8eS5zdGFydHNXaXRoKCJcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAiKXx8eT09PSJcdTI3NkYifHx5PT09Ij8ifHx5PT09IiJ8fHkuaW5jbHVkZXMoIkNsYXVkZSBDb2RlIHYiKXx8eS5pbmNsdWRlcygiT3B1cyIpJiZ5LmluY2x1ZGVzKCJ3aXRoIil8fHkuaW5jbHVkZXMoIlNvbm5ldCIpJiZ5LmluY2x1ZGVzKCJ3aXRoIil8fHkuaW5jbHVkZXMoIkFQSSBVc2FnZSIpfHx5LmluY2x1ZGVzKCJCaWxsaW5nIil8fHkuaW5jbHVkZXMoImZvciBzaG9ydGN1dHMiKXx8eS5pbmNsdWRlcygiL2VmZm9ydCIpfHx5Lm1hdGNoKC9eW+KWuOKWkOKWneKWmOKWl+KWluKWiOKWjOKWjeKWjuKWj+KWlOKWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWiF0vKXx8eS5tYXRjaCgvXlvilrjilpDilp3ilpjilpfilpbilojilozilo3ilo7ilo/ilpTiloHiloLiloPiloTiloXilobilofilojilohdezMsfS8pfHx5Lmxlbmd0aD4zJiZnLnB1c2goeSl9Zy5sZW5ndGg+MCYmYS5wdXNoKHtiZWZvcmVNZXNzYWdlOmMuaW5kZXgsY29udGVudDpnLmpvaW4oYApgKX0pfWY9ditjLnRleHQubGVuZ3RoKzJ9cmV0dXJuIGF9ZnVuY3Rpb24geXUoZSl7aWYoIWUpcmV0dXJuIG51bGw7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO3JldHVybiB0fHwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0LmNsYXNzTmFtZT0iY2hhdC1tZXNzYWdlcyIsZS5hcHBlbmRDaGlsZCh0KSx0KX1mdW5jdGlvbiBnbChlLHQpe3ZhciBuPXl1KGUpO3JldHVybiBuPyhuLmlubmVySFRNTD10LHp0KG4pLEVyKCksJGUoKSxuKTpudWxsfWZ1bmN0aW9uIFZpKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2lmKCF0KXJldHVybjt2YXIgbj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oJCl7cmV0dXJuICQuaWQ9PT1yLnNlbGVjdGVkSWR9KTtpZighbil7ci5sYXN0UmVuZGVyZWRFbXB0eSE9PSJub25lIiYmKGdsKHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NjcyQVx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERDwvc3Ryb25nPjxicj5cdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0JcdTRGNjBcdTc2ODRcdTdCMkNcdTRFMDBcdTZCMjFcdTVCRjlcdThCRERcdTMwMDI8L2Rpdj4nKSxyLmxhc3RSZW5kZXJlZEVtcHR5PSJub25lIixyLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTApO3JldHVybn12YXIgaT1yLmN1cnJlbnRNZXNzYWdlcyxhPXdtKGkpO2lmKEZ1PUJtKGkpLGkubGVuZ3RoPT09MCl7aWYoci5sYXN0UmVuZGVyZWRFbXB0eSE9PSJlbXB0eSIpe3ZhciB1PSIiO2ZlKG4pJiYodT0nPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtdHJpby13cmFwIj48ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS10cmlvLWhpbnQiPlx1OUVEOFx1OEJBNFx1NEYxQVx1NjMwOVx1NEVFNVx1NEUwQlx1OEJCRVx1N0Y2RVx1NTNEMVx1OTAwMVx1RkYwQ1x1NTNFRlx1NzBCOVx1NTFGQlx1OEMwM1x1NjU3NFx1RkYxQTwvZGl2PicrSm0obix7a2luZDoiZHJvcGRvd24ifSkrIjwvZGl2PiIpLGdsKHQsJzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj48c3Ryb25nPlx1NUJGOVx1OEJERFx1NURGMlx1NUYwMFx1NTlDQjwvc3Ryb25nPjxicj5cdTU3MjhcdTRFMEJcdTY1QjlcdThGOTNcdTUxNjVcdTY4NDZcdTUzRDFcdTkwMDFcdTZEODhcdTYwNkZcdUZGMENDbGF1ZGUgXHU0RjFBXHU4MUVBXHU1MkE4XHU1NkRFXHU1OTBEXHUzMDAyPC9kaXY+Jyt1KSxyLmxhc3RSZW5kZXJlZEVtcHR5PSJlbXB0eSIsci5sYXN0UmVuZGVyZWRNc2dDb3VudD0wfVh1KG51bGwsbiksRXUoW10pO3JldHVybn12YXIgbz1pLmxlbmd0aDtvPnIuY2hhdFJlbmRlcmVkQ291bnQmJihyLmNoYXRSZW5kZXJlZENvdW50PW8pO3ZhciBzPU1hdGgubWF4KDAsby1yLmNoYXRSZW5kZXJlZENvdW50KSxsPXM+MD9pLnNsaWNlKHMpOmksZD10eXBlb2Ygbi5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIiYmbi5tZXNzYWdlT2Zmc2V0PjAsZj1zPjB8fGQsYz1sLmxlbmd0aCx2PW4ub3V0cHV0P24ub3V0cHV0Lmxlbmd0aDowO2lmKG4ubWVzc2FnZXMmJm4ubWVzc2FnZXMubGVuZ3RoPjApe2Zvcih2YXIgaD0wLG09MCxnPTA7ZzxuLm1lc3NhZ2VzLmxlbmd0aDtnKyspe3ZhciB5PW4ubWVzc2FnZXNbZ10uY29udGVudDtpZih5KWlmKEFycmF5LmlzQXJyYXkoeSkpe2grPXkubGVuZ3RoO2Zvcih2YXIgQj0wO0I8eS5sZW5ndGg7QisrKXt2YXIgRT15W0JdO0UudGV4dCYmKG0rPUUudGV4dC5sZW5ndGgpLEUudGhpbmtpbmcmJihtKz1FLnRoaW5raW5nLmxlbmd0aCksRS5jb250ZW50JiYobSs9RS5jb250ZW50Lmxlbmd0aCksRS5pZCYmKG0rPUUuaWQubGVuZ3RoKSxFLnRvb2xfdXNlX2lkJiYobSs9RS50b29sX3VzZV9pZC5sZW5ndGgpLEUuZGVzY3JpcHRpb24mJihtKz1FLmRlc2NyaXB0aW9uLmxlbmd0aCksRS5pbnB1dCYmKG0rPUpTT04uc3RyaW5naWZ5KEUuaW5wdXQpLmxlbmd0aCl9aWYobi5tZXNzYWdlc1tnXS51c2FnZSl7dmFyIEM9bi5tZXNzYWdlc1tnXS51c2FnZTttKz0oQy5pbnB1dFRva2Vuc3x8MCkrKEMub3V0cHV0VG9rZW5zfHwwKSsoQy5jYWNoZVJlYWRJbnB1dFRva2Vuc3x8MCkrKEMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwKSsoQy5yZWFzb25pbmdPdXRwdXRUb2tlbnN8fDApK01hdGgucm91bmQoKEMudG90YWxDb3N0VXNkfHwwKSoxZTYpKyhDLmVzdGltYXRlZD09PSEwPzE6MCl9fWVsc2UgaCs9MSxtPVN0cmluZyh5KS5sZW5ndGh9dj1jKjFlNStoKjFlMyttfXZhciBEPWV8fGMhPT1yLmxhc3RSZW5kZXJlZE1zZ0NvdW50O2lmKCFEJiZjPT09ci5sYXN0UmVuZGVyZWRNc2dDb3VudCYmdj09PXIubGFzdFJlbmRlcmVkSGFzaCl7dmFyIEY9dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO0YmJlh1KEYsbiksRXUoaSk7cmV0dXJufXZhciBMPXIubGFzdFJlbmRlcmVkSGFzaCxJPXIubGFzdFJlbmRlcmVkTXNnQ291bnQ7aWYoci5sYXN0UmVuZGVyZWRNc2dDb3VudD1jLHIubGFzdFJlbmRlcmVkSGFzaD12LEY9eXUodCksIUYpcmV0dXJuO3ZhciBOPWJhKEYpLEs9IXIuY2hhdEluaXRpYWxSZW5kZXJEb25lLFc9Ri5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIikubGVuZ3RoLGs9RHx8Vz09PTB8fGMhPT1XO2Z1bmN0aW9uIFQoKXtmb3IodmFyICQ9WXYobi5vdXRwdXQsbCksc2U9IiIsbGU9bC5zbGljZSgpLnJldmVyc2UoKSxkZT1sLmxlbmd0aCxPPTA7TzxsZS5sZW5ndGg7TysrKXtmb3IodmFyIGdlPWxlW09dLEtlPWRlLTEtTyxfZT1LZStzLEdlPW51bGwsc3Q9MDtzdDwkLmxlbmd0aDtzdCsrKWlmKCRbc3RdLmJlZm9yZU1lc3NhZ2U9PT1LZSl7R2U9JFtzdF07YnJlYWt9R2UmJihzZSs9JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBzeXN0ZW0taW5mbyI+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8tY2FyZCI+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8taGVhZGVyIj5cdTIxMzlcdUZFMEYgXHU3Q0ZCXHU3RURGXHU0RkUxXHU2MDZGPC9kaXY+PGRpdiBjbGFzcz0ic3lzdGVtLWluZm8tY29udGVudCI+JytwKEdlLmNvbnRlbnQpKyI8L2Rpdj48L2Rpdj48L2Rpdj4iKSxzZSs9d3UoZ2UsTVtfZV18fG51bGwsX2UsYSl9aWYoZil7dmFyIFZ0PXM+MD8iXHU1MkEwXHU4RjdEXHU2NkY0XHU2NUU5XHU3Njg0ICIrTWF0aC5taW4oci5jaGF0UGFnZVNpemUscykrIiBcdTY3NjFcdTZEODhcdTYwNkYiOiJcdTUyQTBcdThGN0RcdTY2RjRcdTY1RTlcdTc2ODRcdTZEODhcdTYwNkYiO3NlKz0nPGRpdiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUiIGlkPSJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCI+PGJ1dHRvbiBjbGFzcz0iY2hhdC1sb2FkLW1vcmUtYnRuIiB0eXBlPSJidXR0b24iPicrVnQrIjwvYnV0dG9uPjwvZGl2PiJ9dmFyIFN0PS0xLGl0PTA7aWYoVz4wJiYhTilmb3IodmFyIFBlPUYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLEhlPUYucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLEFlPTA7QWU8SGUubGVuZ3RoO0FlKyspe3ZhciB3PUhlW0FlXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih3LmJvdHRvbT49UGUpe3ZhciBJdD1IZVtBZV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO0l0IT1udWxsJiYoU3Q9cGFyc2VJbnQoSXQsMTApLGl0PXcudG9wLVBlKTticmVha319aWYoRi5pbm5lckhUTUw9c2UsKGZ1bmN0aW9uKCl7Zm9yKHZhciBVdD1GLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSxLdD1VdC5sZW5ndGgsTWU9MDtNZTxLdDtNZSsrKVV0W01lXS5zZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4IixTdHJpbmcocytLdC0xLU1lKSl9KSgpLHp0KEYpLEk9PT0wJiYhci5jaGF0SW5pdGlhbFJlbmRlckRvbmUpRi5zY3JvbGxUb3A9MCxyLmNoYXRTdGlja1RvQm90dG9tPSEwLHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksci5jaGF0SW5pdGlhbFJlbmRlckRvbmU9ITA7ZWxzZSBpZihJPT09MCYmci5jaGF0U3RpY2tUb0JvdHRvbSlGLnNjcm9sbFRvcD0wO2Vsc2UgaWYoTilGLnNjcm9sbFRvcD0wO2Vsc2UgaWYoU3Q+PTApe3ZhciBOZT1GLnF1ZXJ5U2VsZWN0b3IoJy5jaGF0LW1lc3NhZ2VbZGF0YS1tc2ctaW5kZXg9IicrU3QrJyJdJyk7aWYoTmUpe3ZhciBhdD1GLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxhbj1OZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT1hbi50b3AtYXQtaXQ7TWF0aC5hYnMob2UpPi41JiYoci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsRi5zY3JvbGxUb3ArPW9lLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3IuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpfX1obChGKSxFcigpLEJhKEYpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe0VhKEYpLCRlKCksVmQoKX0pfXZhciBNPXt9O2lmKChmdW5jdGlvbigpe2Zvcih2YXIgJD17aW5wdXRUb2tlbnM6MCxvdXRwdXRUb2tlbnM6MCxjYWNoZVJlYWRJbnB1dFRva2VuczowLGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczowLHJlYXNvbmluZ091dHB1dFRva2VuczowLHRvdGFsQ29zdFVzZDowLGVzdGltYXRlZDohMX0sc2U9ITEsbGU9LTEsZGU9MDtkZTxpLmxlbmd0aDtkZSsrKXt2YXIgTz1pW2RlXTtpZihPLnJvbGU9PT0idXNlciIpbGU+PTAmJnNlJiYoTVtsZV09JCksJD17aW5wdXRUb2tlbnM6MCxvdXRwdXRUb2tlbnM6MCxjYWNoZVJlYWRJbnB1dFRva2VuczowLGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczowLHJlYXNvbmluZ091dHB1dFRva2VuczowLHRvdGFsQ29zdFVzZDowLGVzdGltYXRlZDohMX0sc2U9ITEsbGU9LTE7ZWxzZSBpZihPLnJvbGU9PT0iYXNzaXN0YW50IiYmTy51c2FnZSl7dmFyIGdlPU8udXNhZ2U7c2U9ITAsJC5pbnB1dFRva2Vucys9Z2UuaW5wdXRUb2tlbnN8fDAsJC5vdXRwdXRUb2tlbnMrPWdlLm91dHB1dFRva2Vuc3x8MCwkLmNhY2hlUmVhZElucHV0VG9rZW5zKz1nZS5jYWNoZVJlYWRJbnB1dFRva2Vuc3x8MCwkLmNhY2hlQ3JlYXRpb25JbnB1dFRva2Vucys9Z2UuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zfHwwLCQucmVhc29uaW5nT3V0cHV0VG9rZW5zKz1nZS5yZWFzb25pbmdPdXRwdXRUb2tlbnN8fDAsJC50b3RhbENvc3RVc2QrPWdlLnRvdGFsQ29zdFVzZHx8MCwkLmVzdGltYXRlZD0kLmVzdGltYXRlZHx8Z2UuZXN0aW1hdGVkPT09ITAsbGU9ZGV9ZWxzZSBPLnJvbGU9PT0iYXNzaXN0YW50IiYmKGxlPWRlKX1sZT49MCYmc2UmJihNW2xlXT0kKX0pKCksaylUKCk7ZWxzZSBpZihjPlcpe3ZhciBYPWwuc2xpY2UoVyk7WC5yZXZlcnNlKCk7Zm9yKHZhciBqPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxKPVtdLFA9W10sdWU9cytXLGllPTA7aWU8WC5sZW5ndGg7aWUrKyl7dmFyIGNlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLEc9cytXKyhYLmxlbmd0aC0xLWllKTtjZS5pbm5lckhUTUw9d3UoWFtpZV0sTVtHXXx8bnVsbCxHLGEpO3ZhciBlZT1jZS5maXJzdEVsZW1lbnRDaGlsZDtlZSYmKGVlLmNsYXNzTGlzdC5hZGQoImFuaW1hdGUtaW4iKSxlZS5zZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4IixTdHJpbmcoRykpLEoucHVzaChlZSksUC5wdXNoKEcpLGouYXBwZW5kQ2hpbGQoZWUpKX1GLmluc2VydEJlZm9yZShqLEYuZmlyc3RDaGlsZCksRXIoKSxobChGKSxCYShGKSxOP3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe0YuaXNDb25uZWN0ZWQmJk1hdGguYWJzKEYuc2Nyb2xsVG9wKT4xJiYoci5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITAsRi5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMX0pKSxxbih7cmVtb3ZlRGl2aWRlcjohMH0pLCRlKCl9KTooci5jaGF0VW5yZWFkU3RhcnRJbmRleDwwJiYoci5jaGF0VW5yZWFkU3RhcnRJbmRleD11ZSksci5jaGF0VW5yZWFkQ291bnQrPUoubGVuZ3RoLEVhKEYpLCRlKCkpfWVsc2UgaWYoYz09PVcmJnYhPT1MKXtmb3IodmFyIGFlPUFycmF5LmZyb20oRi5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIikpLEZlPWwuc2xpY2UoKS5yZXZlcnNlKCksUz0hMSxxPU1hdGgubWluKDQsRmUubGVuZ3RoLGFlLmxlbmd0aCksXz0wO188cTtfKyspe3ZhciBWPWFlW19dLFo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikscGU9cytGZS5sZW5ndGgtMS1fO1ouaW5uZXJIVE1MPXd1KEZlW19dLE1bcGVdfHxudWxsLHBlLGEpO3ZhciByZT1aLmZpcnN0RWxlbWVudENoaWxkO2lmKHJlKXtpZihWLmlubmVySFRNTCE9PXJlLmlubmVySFRNTHx8Vi5jbGFzc05hbWUhPT1yZS5jbGFzc05hbWUpRi5yZXBsYWNlQ2hpbGQocmUsViksWHYocmUpLFM9ITA7ZWxzZSBpZihfPjApYnJlYWt9fWlmKCFTJiZGZS5sZW5ndGg+cSYmVCgpLFMpe0VyKCksQmEoRikscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7TiYmRi5pc0Nvbm5lY3RlZCYmTWF0aC5hYnMoRi5zY3JvbGxUb3ApPjEmJihyLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxGLnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3IuY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpLEVhKEYpLCRlKCl9KTt2YXIgdmU9Ri5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlIiksQmU9Ri5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKSxtZT1udWxsO0JlLmZvckVhY2goZnVuY3Rpb24oJCl7dmFyIHNlPXdhKCQpO3d0KHNlKT09PW51bGwmJigkLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXIiKSYmISQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlci1hbnN3ZXJlZCIpfHwodmUmJnZlLmNvbnRhaW5zKCQpP21lPyQuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIik6bWU9JDokLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpKSl9KX19ZWxzZSBjPFcmJlQoKTtlcChGKSxDbShGLG4pLGdtKHQsRixpLEspLFh1KEYsbiksRXUoaSl9dmFyIGJ1PSExO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtpZighKCF0fHwhKHQgaW5zdGFuY2VvZiBFbGVtZW50KSkpe3ZhciBuPXQuY2xvc2VzdCgiI3RvZG8tcHJvZ3Jlc3MtdG9nZ2xlIik7aWYobil7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksYnU9IWJ1O3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy1ib2R5Iik7aSYmYSYmKGJ1PyhpLmNsYXNzTGlzdC5hZGQoImV4cGFuZGVkIiksYS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpKTooaS5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpLGEuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSkpLFVpKCl9fX0pO2Z1bmN0aW9uIFVpKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoYXQtb3V0cHV0IC5jaGF0LW1lc3NhZ2VzIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy1ib2R5Iik7aWYoISghZXx8IXQpKXt2YXIgbj1lLGk9IXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxhPXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJleHBhbmRlZCIpLHU9dC5vZmZzZXRIZWlnaHQ7aSYmYSYmdT4wP24uc3R5bGUucGFkZGluZ0JvdHRvbT11KzgrInB4IjpuLnN0eWxlLnBhZGRpbmdCb3R0b209IiJ9fWZ1bmN0aW9uIFF2KGUpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIilyZXR1cm4gZTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHQ9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgaT1lW25dO3R5cGVvZiBpPT0ic3RyaW5nIj90LnB1c2goaSk6aSYmdHlwZW9mIGkudGV4dD09InN0cmluZyImJnQucHVzaChpLnRleHQpfXJldHVybiB0LmpvaW4oIiIpfXJldHVybiIifWZ1bmN0aW9uICR2KGUsdCl7Zm9yKHZhciBuPXt9LGk9dDtpPGUubGVuZ3RoO2krKyl7dmFyIGE9ZVtpXTtpZighKCFhfHwhQXJyYXkuaXNBcnJheShhLmNvbnRlbnQpKSlmb3IodmFyIHU9MDt1PGEuY29udGVudC5sZW5ndGg7dSsrKXt2YXIgbz1hLmNvbnRlbnRbdV07byYmby50eXBlPT09InRvb2xfcmVzdWx0IiYmby50b29sX3VzZV9pZCYmKG5bby50b29sX3VzZV9pZF09UXYoby5jb250ZW50KSl9fWZvcih2YXIgcz17fSxsPTAsZD0wLGY9ITEsYz10O2M8ZS5sZW5ndGg7YysrKXt2YXIgdj1lW2NdO2lmKCEoIXZ8fCFBcnJheS5pc0FycmF5KHYuY29udGVudCkpKWZvcih2YXIgaD0wO2g8di5jb250ZW50Lmxlbmd0aDtoKyspe3ZhciBtPXYuY29udGVudFtoXTtpZighKCFtfHxtLnR5cGUhPT0idG9vbF91c2UiKSl7dmFyIGc9bS5pbnB1dHx8e307aWYobS5uYW1lPT09IlRhc2tDcmVhdGUiKXtmPSEwLGQrKzt2YXIgeT1uW20uaWRdfHwiIixCPXkubWF0Y2goLyMoXGQrKS8pLEU9Qj9CWzFdOlN0cmluZyhkKTtzW0VdPXtpZDpFLGNvbnRlbnQ6Zy5zdWJqZWN0fHwiIixhY3RpdmVGb3JtOmcuYWN0aXZlRm9ybXx8IiIsc3RhdHVzOiJwZW5kaW5nIixvcmRlcjpsKyt9fWVsc2UgaWYobS5uYW1lPT09IlRhc2tVcGRhdGUiKXtmPSEwO3ZhciBDPVN0cmluZyhnLnRhc2tJZCksRD1zW0NdO0R8fChEPXtpZDpDLGNvbnRlbnQ6IiIsYWN0aXZlRm9ybToiIixzdGF0dXM6InBlbmRpbmciLG9yZGVyOmwrK30sc1tDXT1EKSxnLnN0YXR1cyYmKEQuc3RhdHVzPWcuc3RhdHVzKSxnLnN1YmplY3QmJihELmNvbnRlbnQ9Zy5zdWJqZWN0KSxnLmFjdGl2ZUZvcm0mJihELmFjdGl2ZUZvcm09Zy5hY3RpdmVGb3JtKX19fX1pZighZilyZXR1cm4gbnVsbDt2YXIgRj1bXTtmb3IodmFyIEwgaW4gcylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyxMKSYmc1tMXS5zdGF0dXMhPT0iZGVsZXRlZCImJkYucHVzaChzW0xdKTtyZXR1cm4gRi5zb3J0KGZ1bmN0aW9uKEksTil7cmV0dXJuIEkub3JkZXItTi5vcmRlcn0pLEYubGVuZ3RoP0Y6bnVsbH1mdW5jdGlvbiBFdShlKXtmb3IodmFyIHQ9MCxuPWUubGVuZ3RoLTE7bj49MDtuLS0paWYoZVtuXSYmZVtuXS5yb2xlPT09InVzZXIiKXt0PW4rMTticmVha31mb3IodmFyIGk9bnVsbCxhPWUubGVuZ3RoLTE7YT49dDthLS0pe3ZhciB1PWVbYV07aWYoISghdS5jb250ZW50fHwhQXJyYXkuaXNBcnJheSh1LmNvbnRlbnQpKSl7Zm9yKHZhciBvPXUuY29udGVudC5sZW5ndGgtMTtvPj0wO28tLSl7dmFyIHM9dS5jb250ZW50W29dO2lmKHMudHlwZT09PSJ0b29sX3VzZSImJnMubmFtZT09PSJUb2RvV3JpdGUiJiZzLmlucHV0JiZzLmlucHV0LnRvZG9zKXtpPXMuaW5wdXQudG9kb3M7YnJlYWt9fWlmKGkpYnJlYWt9fWl8fChpPSR2KGUsdCkpO3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy1ib2R5Iik7aWYobCl7aWYoIWl8fGkubGVuZ3RoPT09MCl7bC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxkJiZkLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLFVpKCk7cmV0dXJufWZvcih2YXIgZj0wLGM9MCx2PSIiLGg9MDtoPGkubGVuZ3RoO2grKylpW2hdLnN0YXR1cz09PSJjb21wbGV0ZWQiJiZmKyssaVtoXS5zdGF0dXM9PT0iaW5fcHJvZ3Jlc3MiJiYoYysrLHZ8fCh2PWlbaF0uYWN0aXZlRm9ybXx8aVtoXS5jb250ZW50fHwiIikpO3ZhciBtPWY9PT1pLmxlbmd0aCxnPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihqKXtyZXR1cm4gai5pZD09PXIuc2VsZWN0ZWRJZH0pLHk9ISFnJiZnLnN0YXR1cz09PSJydW5uaW5nIjtpZigheXx8bSl7bC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxkJiZkLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLFVpKCk7cmV0dXJufWwuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbC5jbGFzc0xpc3QucmVtb3ZlKCJhbGwtZG9uZSIpLGQmJmQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dmFyIEI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtY291bnRlciIpO0ImJihCLnRleHRDb250ZW50PWYrIi8iK2kubGVuZ3RoKTt2YXIgRT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcy10YXNrIik7aWYoRSl7aWYoIXYpe2Zvcih2YXIgQz0wO0M8aS5sZW5ndGg7QysrKWlmKGlbQ10uc3RhdHVzPT09InBlbmRpbmciJiYoaVtDXS5hY3RpdmVGb3JtfHxpW0NdLmNvbnRlbnQpKXt2PWlbQ10uYWN0aXZlRm9ybXx8aVtDXS5jb250ZW50O2JyZWFrfX1FLnRleHRDb250ZW50PXZ8fCJcdTUxQzZcdTU5MDdcdTRFMkRcdTIwMjYifXZhciBEPWkubGVuZ3RoPjA/Zi9pLmxlbmd0aDowLEY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtcmluZyIpO0YmJkYuc3R5bGUuc2V0UHJvcGVydHkoIi0tcHJvZ3Jlc3MiLEQudG9GaXhlZCgzKSk7dmFyIEw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtZmlsbCIpO0wmJkwuc3R5bGUuc2V0UHJvcGVydHkoIi0tcHJvZ3Jlc3MiLEQudG9GaXhlZCgzKSk7dmFyIEk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtbGlzdCIpO2lmKEkpe2Zvcih2YXIgTj0iIixLPTA7SzxpLmxlbmd0aDtLKyspe3ZhciBXPWlbS10saz1XLnN0YXR1c3x8InBlbmRpbmciLFQ9az09PSJpbl9wcm9ncmVzcyI/ImFjdGl2ZSI6az09PSJjb21wbGV0ZWQiPyJkb25lIjoiIixNPWs9PT0iaW5fcHJvZ3Jlc3MiPyJhY3RpdmUiOms9PT0iY29tcGxldGVkIj8iZG9uZSI6InBlbmRpbmciLFg9az09PSJjb21wbGV0ZWQiPyJcdTI3MTMiOms9PT0iaW5fcHJvZ3Jlc3MiPyJcdTIwM0EiOiJcdTI1Q0IiO04rPSc8bGkgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtaXRlbSAnK1QrJyI+PHNwYW4gY2xhc3M9InRvZG8taXRlbS1pY29uICcrTSsnIj4nK1grIjwvc3Bhbj48c3Bhbj4iK3AoVy5jb250ZW50fHwiIikrIjwvc3Bhbj48L2xpPiJ9SS5pbm5lckhUTUw9Tn1yLnNlbGVjdGVkSWQmJmV1KHIuc2VsZWN0ZWRJZCksVWkoKX19ZnVuY3Rpb24gWHYoZSl7ZS5xdWVyeVNlbGVjdG9yQWxsKCIuY29kZS1jb3B5IikuZm9yRWFjaChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBuPXQuY2xvc2VzdCgiLmNvZGUtYmxvY2siKSxpPW4/bi5xdWVyeVNlbGVjdG9yKCJjb2RlIik6bnVsbDtpJiZhaShpLnRleHRDb250ZW50fHwiIixudWxsLGZ1bmN0aW9uKCl7dC50ZXh0Q29udGVudD0iQ29waWVkISIsdC5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC50ZXh0Q29udGVudD0iQ29weSIsdC5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX0pfSl9KX1mdW5jdGlvbiBobChlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb2RlLWNvcHkiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuY2xvbmVOb2RlKCEwKTt0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4sdCksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgaT1uLmNsb3Nlc3QoIi5jb2RlLWJsb2NrIiksYT1pP2kucXVlcnlTZWxlY3RvcigiY29kZSIpOm51bGw7YSYmYWkoYS50ZXh0Q29udGVudHx8IiIsbnVsbCxmdW5jdGlvbigpe24udGV4dENvbnRlbnQ9IkNvcGllZCEiLG4uY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dChmdW5jdGlvbigpe24udGV4dENvbnRlbnQ9IkNvcHkiLG4uY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIil9LDJlMyl9KX0pfSksWnYoZSl9dmFyIE5oPXt0aW1lcjpudWxsLGFjdGl2ZUJ0bjpudWxsfTtmdW5jdGlvbiBadihlKXt2YXIgdD13aW5kb3cubWF0Y2hNZWRpYSgiKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzO3QmJmUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZSIpLmZvckVhY2goZnVuY3Rpb24obil7aWYoIW4ucXVlcnlTZWxlY3RvcigiLm1zZy1jb3B5LWJ0biIpKXt2YXIgaT1uLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2UtYnViYmxlIik7aWYoaSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7YS5jbGFzc05hbWU9Im1zZy1jb3B5LWJ0biIsYS50ZXh0Q29udGVudD0iXHU1OTBEXHU1MjM2IixhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih1KXt1LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBvPWkuaW5uZXJUZXh0fHxpLnRleHRDb250ZW50fHwiIjthaShvLnRyaW0oKSxudWxsLGZ1bmN0aW9uKCl7YS50ZXh0Q29udGVudD0iXHU1REYyXHU1OTBEXHU1MjM2IixhLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnRleHRDb250ZW50PSJcdTU5MERcdTUyMzYiLGEuY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIiksYS5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9LDE1MDApfSl9KSxuLmFwcGVuZENoaWxkKGEpfX19KX0oZnVuY3Rpb24oKXt2YXIgdD13aW5kb3cubWF0Y2hNZWRpYSgiKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzO2lmKHQpe3ZhciBuPW51bGwsaT0wO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe3ZhciB1PWEudGFyZ2V0LmNsb3Nlc3QoIi5jaGF0LW1lc3NhZ2UiKTtpZih1KXt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2UtYnViYmxlIik7byYmKGk9YS50b3VjaGVzWzBdLmNsaWVudFksbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHM9dS5xdWVyeVNlbGVjdG9yKCIubXNnLWNvcHktYnRuIik7cyYmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tc2ctY29weS1idG4udmlzaWJsZSIpLmZvckVhY2goZnVuY3Rpb24obCl7bC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9KSxzLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKSl9LDUwMCkpfX0se3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGZ1bmN0aW9uKGEpe24mJk1hdGguYWJzKGEudG91Y2hlc1swXS5jbGllbnRZLWkpPjEwJiYoY2xlYXJUaW1lb3V0KG4pLG49bnVsbCl9LHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGZ1bmN0aW9uKCl7biYmKGNsZWFyVGltZW91dChuKSxuPW51bGwpfSx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXthLnRhcmdldC5jbG9zZXN0KCIubXNnLWNvcHktYnRuIil8fGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tc2ctY29weS1idG4udmlzaWJsZSIpLmZvckVhY2goZnVuY3Rpb24odSl7dS5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIil9KX0pfX0pKCk7ZnVuY3Rpb24gZW0oZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9U3RyaW5nKGUpLnRyaW0oKTtyZXR1cm4gdD8hISh0LmluZGV4T2YoIlx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCIpPT09MHx8dD09PSJcdTI3NkYifHx0PT09Ilx1MjAzQSJ8fC9eW+KVreKVsOKUguKUjOKUlOKUkOKUmOKUnOKUpOKUrOKUtOKUvOKUgOKVkF17Mix9JC8udGVzdCh0KXx8L15b4paB4paC4paD4paE4paF4paG4paH4paI4paU4paV4paP4paQXSskLy50ZXN0KHQpfHx0LmluZGV4T2YoImVzYyB0byBpbnRlcnJ1cHQiKSE9PS0xfHx0LmluZGV4T2YoIkNsYXVkZSBDb2RlIHYiKSE9PS0xfHwvXlNvbm5ldFxiLy50ZXN0KHQpfHx0LmluZGV4T2YoIkZhaWxlZCB0byBpbnN0YWxsIEFudGhyb3BpYyIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIENvZGUgaGFzIHN3aXRjaGVkIikhPT0tMXx8dC5pbmRleE9mKCI/IGZvciBzaG9ydGN1dHMiKSE9PS0xfHx0LmluZGV4T2YoIkNsYXVkZSBpcyB3YWl0aW5nIikhPT0tMXx8dC5pbmRleE9mKCJbd2FuZF0iKSE9PS0xfHx0LmluZGV4T2YoIjA7Iik9PT0wfHx0LmluZGV4T2YoIjk7Iik9PT0wfHx0LmluZGV4T2YoImN0cmwrZyIpIT09LTF8fHQuaW5kZXhPZigiL2VmZm9ydCIpIT09LTF8fC9eVXNpbmcgLiogZm9yIC4qIHNlc3Npb24vLnRlc3QodCl8fHQuaW5kZXhPZigiUHJlc3MgIik9PT0wJiZ0LmluZGV4T2YoIiBmb3IiKSE9PS0xfHx0LmluZGV4T2YoInR5cGUgIik9PT0wJiZ0LmluZGV4T2YoIiB0byAiKSE9PS0xfHx0LmluZGV4T2YoImF1dG8gbW9kZSBpcyB1bmF2YWlsYWJsZSIpIT09LTF8fC9NQ1Agc2VydmVyLipmYWlsZWQvaS50ZXN0KHQpfHx0LmluZGV4T2YoIkdlcm1pbmF0aW5nIikhPT0tMXx8dC5pbmRleE9mKCJEb29kbGluZyIpIT09LTF8fHQuaW5kZXhPZigiQnJld2luZyIpIT09LTF8fHQuaW5kZXhPZigiUGVybWlzc2lvbnMiKSE9PS0xJiZ0LmluZGV4T2YoIm1vZGUiKSE9PS0xfHx0LmluZGV4T2YoIlx1MjVDRiIpPT09MCYmdC5pbmRleE9mKCJceEI3IikhPT0tMXx8dC5pbmRleE9mKCJbPiIpPT09MHx8dC5pbmRleE9mKCJbPCIpPT09MHx8dC5pbmRleE9mKCJDYXB0dXJlZCBDbGF1ZGUgc2Vzc2lvbiBJRCIpIT09LTF8fC9ePl9ccypPcGVuQUkgQ29kZXhcYi8udGVzdCh0KXx8L15PcGVuQUkgQ29kZXhcYi9pLnRlc3QodCl8fC9eKG1vZGVsfGRpcmVjdG9yeSk6XHMrL2kudGVzdCh0KXx8L14odGlwfGNvbnRleHQpOlxzKy9pLnRlc3QodCl8fC9ed29yayh0cmVlfHNwYWNlKTpccysvaS50ZXN0KHQpfHwvXihhcHByb3ZhbHM/fHNhbmRib3h8cHJvdmlkZXJ8c2Vzc2lvbiBpZCk6XHMrL2kudGVzdCh0KXx8L14odGhpbmtpbmd8d29ya2luZykoXC5cLlwufOKApik/JC9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzK1dvcmtpbmdcYi9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzKyhSdW5uaW5nfFBsYW5uaW5nfEFwcGx5aW5nfFJlYWRpbmd8U2VhcmNoaW5nKVxiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrKEluc3BlY3Rpbmd8UmV2aWV3aW5nfFN1bW1hcml6aW5nfEVkaXRpbmd8VXBkYXRpbmd8V3JpdGluZylcYi9pLnRlc3QodCl8fC9eW+KAouKXpsK3XVxzK0NvbXBsZXRlZFxiL2kudGVzdCh0KXx8L14oY3RybHxlbnRlcnx0YWJ8c2hpZnR8ZXNjfGFsdClcKy9pLnRlc3QodCl8fC9cYihvcGVufGNsb3NlfHRvZ2dsZSkgKGNoYXR8dGVybWluYWwpXGIvaS50ZXN0KHQpfHwvXGIoYXBwcm92ZXxkZW55KVxiLipcYihwZXJtaXNzaW9ufGFwcHJvdmFsKVxiL2kudGVzdCh0KXx8L14odXNlfHByZXNzKSAuKiAodG98Zm9yKSAuKi9pLnRlc3QodCl8fC9eKD86dG9rZW58Y29udGV4dCB3aW5kb3d8cmVtYWluaW5nIGNvbnRleHR8Y29udmVyc2F0aW9uKTpccysvaS50ZXN0KHQpfHwvXig/OmN3ZHxwYXRoKTpccytcLy9pLnRlc3QodCl8fC9eWzw+4pSC4pSG4pWOXS4qWzw+4pSC4pSG4pWOXSQvLnRlc3QodCkmJnQubGVuZ3RoPDgpOiExfWZ1bmN0aW9uIHRtKGUpe3JldHVybiBTdHJpbmcoZXx8IiIpLnJlcGxhY2UoL1x4MWJcXVteXHgwN10qKFx4MDd8XHgxYlxcKS9nLCIiKS5yZXBsYWNlKC9ceDFiXFsoXGQrKUMvZyxmdW5jdGlvbih0LG4pe3JldHVybiIgIi5yZXBlYXQoTnVtYmVyKG4pfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbc3VdL2csIiIpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0hmSktyXS9nLGAKYCkucmVwbGFjZSgvXHgxYk0vZyxgCmApLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbYS16QS1aXS9nLCIiKS5yZXBsYWNlKC9ceDFiWz48PWVQWF5fXS9nLCIiKS5yZXBsYWNlKC9bXHUwMGEwXHUyMDBiLVx1MjAwZFx1ZmVmZl0vZywiICIpLnJlcGxhY2UoL1tceDAwLVx4MDhceDBiXHgwY1x4MGUtXHgxZl0vZywiIikucmVwbGFjZSgvXHJcbj8vZyxgCmApLnJlcGxhY2UoL1sgXHRdK1xuL2csYApgKS5yZXBsYWNlKC9cbnszLH0vZyxgCgpgKX1mdW5jdGlvbiBubShlLHQpe3ZhciBuPVtdO2lmKCFlKXJldHVybiBuO3ZhciBpPVN0cmluZyhlfHwiIiksYT1gCmAsdT0iXHIiLG89Ilx4MUIiO2lmKC9eY29kZXhcYi8udGVzdChTdHJpbmcodHx8IiIpLnRyaW0oKSkpe2xldCBZZT1mdW5jdGlvbihZKXtyZXR1cm4gU3RyaW5nKFl8fCIiKS5yZXBsYWNlKC9ceDFiXF1bXlx4MDddKihceDA3fFx4MWJcXCkvZywiIikucmVwbGFjZSgvXHgxYlxbKFxkKylDL2csZnVuY3Rpb24oUix0ZSl7cmV0dXJuIiAiLnJlcGVhdChOdW1iZXIodGUpfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW3N1XS9nLCIiKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltIZkpLcl0vZyxhKS5yZXBsYWNlKC9ceDFiTS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW2EtekEtWl0vZywiIikucmVwbGFjZSgvXHgxYls+PD1lUFheX10vZywiIikucmVwbGFjZSgvW1x1MDBhMFx1MjAwYi1cdTIwMGRcdWZlZmZdL2csIiAiKS5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwYlx4MGNceDBlLVx4MWZdL2csIiIpLnJlcGxhY2UoL1sgXHRdK1xuL2csYSl9LGhlPWZ1bmN0aW9uKFkpe3JldHVybiBTdHJpbmcoWXx8IiIpLnJlcGxhY2UoL1xzKy9nLCIgIikucmVwbGFjZSgvW01dKyQvZywiIikudHJpbSgpfSxsbj1mdW5jdGlvbihZKXtyZXR1cm4gU3RyaW5nKFl8fCIiKS5yZXBsYWNlKC9e4oC6XHMqLywiIikucmVwbGFjZSgvXj5ccyovLCIiKS50cmltKCl9LGplPWZ1bmN0aW9uKFkpe3ZhciBSPVN0cmluZyhZfHwiIikudHJpbSgpO3JldHVybiEhKCFSfHxlbShSKXx8RS50ZXN0KFIpfHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdLy50ZXN0KFIpfHwvXlxbPlswLTk7P10qdSQvaS50ZXN0KFIpfHwvXk0rJC9pLnRlc3QoUil8fC9eKD86T3BlbkFJIENvZGV4fENvZGV4KVxiL2kudGVzdChSKXx8L14oPzp0b2tlbnM/fGNvbnRleHQgd2luZG93fHJlbWFpbmluZyBjb250ZXh0fGFwcHJvdmFscz98c2FuZGJveHxwcm92aWRlcnxzZXNzaW9uIGlkKTpccyovaS50ZXN0KFIpfHwvXig/OnRoaW5raW5nfHdvcmtpbmcpXHMqKD86XC5cLlwufOKApik/JC9pLnRlc3QoUil8fC9eW+KAouKXpsK3XVxzKyg/OnRoaW5raW5nfHdvcmtpbmd8cnVubmluZ3xwbGFubmluZ3xhcHBseWluZ3xyZWFkaW5nfHNlYXJjaGluZ3xpbnNwZWN0aW5nfHJldmlld2luZ3xzdW1tYXJpemluZ3xlZGl0aW5nfHVwZGF0aW5nfHdyaXRpbmd8Y29tcGxldGVkKVxiL2kudGVzdChSKXx8L14oPzptb2RlbHxkaXJlY3Rvcnl8dGlwfGNvbnRleHR8Y3dkfHBhdGgpOlxzKy9pLnRlc3QoUikpfSxkbj1mdW5jdGlvbihZKXt2YXIgUj1TdHJpbmcoWXx8IiIpLnRyaW0oKTtpZighL17igLooPzpcc3wkKS8udGVzdChSKXx8RS50ZXN0KFIpKXJldHVybiBudWxsO3ZhciB0ZT1oZShsbihSKSk7cmV0dXJuIXRlfHxqZSh0ZSk/bnVsbDp0ZX0sY249ZnVuY3Rpb24oWSl7dmFyIFI9U3RyaW5nKFl8fCIiKS50cmltKCk7aWYoIS9eW+KAouKXpsK34o+6XS8udGVzdChSKSlyZXR1cm4gbnVsbDt2YXIgdGU9Ui5yZXBsYWNlKC9eW+KAouKXpsK3XVxzKi8sIiIpLnJlcGxhY2UoL17ij7pccysvLCIiKS5yZXBsYWNlKC9e4pSCXHMqLywiIikudHJpbSgpO3JldHVybiF0ZXx8L15b4oCi4pemwrfij7pdJC8udGVzdCh0ZSl8fCh0ZT10ZS5yZXBsYWNlKC9ccypcKFxkK1tzbWhdP1xzKuKAolxzKmVzYyB0byBpbnRlcnJ1cHRcKVtcc1xTXSokL2ksIiIpLnJlcGxhY2UoLyg/OlthLXpdezEsNn0pP+KAultcc1xTXSokLywiIikucmVwbGFjZSgvXHN7Mix9Z3B0LVxkW1xzXFNdKiQvaSwiIikucmVwbGFjZSgvXGIoPzpPcGVuQUkgQ29kZXh8bW9kZWw6fGRpcmVjdG9yeTp8VGlwOilcYltcc1xTXSokL2ksIiIpLHRlPWhlKHRlKSwhdGV8fHRlLmxlbmd0aDwyfHxDLnRlc3QodGUpfHxqZSh0ZSkpP251bGw6dGV9LEd0PWZ1bmN0aW9uKFkpe3ZhciBSPWhlKFkpO3JldHVybiFSfHxqZShSKXx8L15b4oCi4pemwrfij7rigLpdLy50ZXN0KFIpfHwvXltcW1xdPD4wLTk7P10rdT8kL2kudGVzdChSKXx8L15b4pWt4pWw4pSC4pSM4pSU4pSQ4pSY4pSc4pSk4pSs4pS04pS84pSA4pWQXS8udGVzdChSKXx8Ui5sZW5ndGg+NTAwP251bGw6Un0sZm49ZnVuY3Rpb24oWSxSKXtpZihZLmluZGV4T2YoUikhPT0wKXJldHVybiExO3ZhciB0ZT1ZLnNsaWNlKFIubGVuZ3RoKTtyZXR1cm4vXlthLXpdezEsNH0kL2kudGVzdCh0ZSl9LGx0PWZ1bmN0aW9uKFkpe2Zvcih2YXIgUj1bXSx0ZT0wO3RlPFkubGVuZ3RoO3RlKyspe3ZhciB5ZT1oZShZW3RlXSk7aWYoISgheWV8fHllLmxlbmd0aDwyfHxqZSh5ZSkpKXt2YXIgUT1SW1IubGVuZ3RoLTFdO2lmKCFRKXtSLnB1c2goeWUpO2NvbnRpbnVlfWlmKHllIT09USl7aWYoeWUuaW5kZXhPZihRKT09PTApe1JbUi5sZW5ndGgtMV09eWU7Y29udGludWV9aWYoUS5pbmRleE9mKHllKT09PTApe2ZuKFEseWUpJiYoUltSLmxlbmd0aC0xXT15ZSk7Y29udGludWV9Ui5wdXNoKHllKX19fXJldHVybiBSLmpvaW4oYSkudHJpbSgpfSxMdD1mdW5jdGlvbihZKXtmb3IodmFyIFI9MDtSPFkubGVuZ3RoO1IrKyl7dmFyIHRlPVN0cmluZyhZW1JdfHwiIikudHJpbSgpO2lmKHRlKXt2YXIgeWU9ZG4odGUpO2lmKHllKXJldHVybiB5ZTtpZih0ZT09PSJcdTIwM0EiKWZvcih2YXIgUT1SKzE7UTxZLmxlbmd0aDtRKyspe3ZhciBDZT1oZShZW1FdKTtpZighKCFDZXx8RS50ZXN0KENlKXx8amUoQ2UpKSlyZXR1cm4gQ2V9fX1yZXR1cm4gbnVsbH0sbXQ9ZnVuY3Rpb24oWSl7Zm9yKHZhciBSPVtdLHRlPSExLHllPTA7eWU8WS5sZW5ndGg7eWUrKyl7dmFyIFE9U3RyaW5nKFlbeWVdfHwiIikudHJpbSgpO2lmKCFRKXtpZih0ZSlicmVhaztjb250aW51ZX12YXIgQ2U9Y24oUSk7aWYoQ2Upe1IucHVzaChDZSksdGU9ITA7Y29udGludWV9aWYodGUpe2lmKFE9PT0iXHUyMDNBInx8L17igLooPzpcc3wkKS8udGVzdChRKXx8RS50ZXN0KFEpfHxqZShRKSlicmVhaztSLnB1c2goaGUoUSkpfX1yZXR1cm4gUn07Zm9yKHZhciBzPVllLGw9aGUsZD1sbixmPWplLGM9ZG4sdj1jbixoPUd0LG09Zm4sZz1sdCx5PUx0LEI9bXQsRT0vXGJncHQtXGQrKD86XC5cZCspPyg/OlxzK1thLXowLTkuLV0rKT9ccyvCt1xzK1xkKyVccytsZWZ0XHMrwrdccysoPzpcL3x+XC8pLisvaSxDPS9eKD86dGhpbmtpbmd8d29ya2luZ3xydW5uaW5nfHBsYW5uaW5nfGFwcGx5aW5nfHJlYWRpbmd8c2VhcmNoaW5nfGluc3BlY3Rpbmd8cmV2aWV3aW5nfHN1bW1hcml6aW5nfGVkaXRpbmd8dXBkYXRpbmd8d3JpdGluZ3xjb21wbGV0ZWQpXGIvaSxEPVtdLEY9MCxMPWkucmVwbGFjZSgvXHJcbj8vZyxhKS5zcGxpdChhKSxJPTA7STxMLmxlbmd0aDtJKyspZm9yKHZhciBOPVllKExbSV0pLEs9Ti5zcGxpdChhKSxXPTA7VzxLLmxlbmd0aDtXKyspe3ZhciBrPVN0cmluZyhLW1ddfHwiIikudHJpbSgpO2lmKGspe3ZhciBUPWRuKGspO2lmKFQpe0QucHVzaCh7a2luZDoidXNlciIsb3JkZXI6RisrLHRleHQ6VH0pO2NvbnRpbnVlfXZhciBNPWNuKGspO2lmKE0pe0QucHVzaCh7a2luZDoiYXNzaXN0YW50IixvcmRlcjpGKyssdGV4dDpNfSk7Y29udGludWV9dmFyIFg9R3Qoayk7WCYmRC5wdXNoKHtraW5kOiJlY2hvIixvcmRlcjpGKyssdGV4dDpYfSl9fWZvcih2YXIgaj1ELmZpbHRlcihmdW5jdGlvbihZLFIsdGUpe3ZhciB5ZT10ZVtSLTFdO3JldHVybiF5ZXx8eWUua2luZCE9PVkua2luZHx8eWUudGV4dCE9PVkudGV4dH0pLEo9ai5maWx0ZXIoZnVuY3Rpb24oWSl7cmV0dXJuIFkua2luZD09PSJ1c2VyIn0pLFA9ai5maWx0ZXIoZnVuY3Rpb24oWSl7cmV0dXJuIFkua2luZD09PSJhc3Npc3RhbnQifSksdWU9ai5maWx0ZXIoZnVuY3Rpb24oWSl7cmV0dXJuIFkua2luZD09PSJlY2hvIn0pLGllPXRtKGkpLGNlPWllLnNwbGl0KGEpLm1hcChmdW5jdGlvbihZKXtyZXR1cm4gU3RyaW5nKFl8fCIiKS50cmltRW5kKCl9KSxHPUx0KGNlKSxlZT1KLmxlbmd0aD9KW0oubGVuZ3RoLTFdOm51bGwsYWU9dWUubWFwKGZ1bmN0aW9uKFkpe3JldHVybiBZLnRleHR9KS5maWx0ZXIoZnVuY3Rpb24oWSl7cmV0dXJuIFkubGVuZ3RoPj0zfSksRmU9bnVsbCxTPWFlLmxlbmd0aC0xO1M+PTA7Uy0tKWlmKGFlW1NdIT09Ryl7RmU9YWVbU107YnJlYWt9IUZlJiZhZS5sZW5ndGgmJihGZT1hZVthZS5sZW5ndGgtMV0pO2Zvcih2YXIgcT1lZT9lZS50ZXh0OkZlLF89UC5maWx0ZXIoZnVuY3Rpb24oWSl7cmV0dXJuIWVlfHxZLm9yZGVyPmVlLm9yZGVyfSkubWFwKGZ1bmN0aW9uKFkpe3JldHVybiBZLnRleHR9KSxWPVtdLFo9aWUubWF0Y2goL15bIFx0XSpb4oCi4pemwrfij7pdWyBcdF0qKC4rKSQvZ20pfHxbXSxwZT0wO3BlPFoubGVuZ3RoO3BlKyspe3ZhciByZT1oZShaW3BlXS5yZXBsYWNlKC9eWyBcdF0qW+KAouKXpsK34o+6XVsgXHRdKi8sIiIpKTtyZSYmKEMudGVzdChyZSl8fEUudGVzdChyZSl8fC9cYig/Ok9wZW5BSSBDb2RleHxtb2RlbDp8ZGlyZWN0b3J5OnxUaXA6fGVzYyB0byBpbnRlcnJ1cHQpXGIvaS50ZXN0KHJlKXx8Vi5wdXNoKHJlKSl9dmFyIHZlPWx0KF8pfHxsdChtdChjZSkpfHwoVi5sZW5ndGg/VltWLmxlbmd0aC0xXTpudWxsKTtyZXR1cm4gcSYmbi5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OnF9KSx2ZSYmbi5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6dmV9KSwhbi5sZW5ndGgmJmVlP24ucHVzaCh7cm9sZToidXNlciIsY29udGVudDplZS50ZXh0fSk6IW4ubGVuZ3RoJiZGZSYmbi5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OkZlfSksbn1mb3IodmFyIEJlPSJcMCIsbWU9IlxiIiwkPSJcdiIsc2U9IlxmIixsZT0iDiIsZGU9Ih8iLE89Ilx4QTAiLGdlPSJceDA3IixLZT1uZXcgUmVnRXhwKG8rIlxcW1swLTk7P10qW2EtekEtWl18IitvKyJcXF1bXiIrZ2UrIl0qKCIrZ2UrInwiK28rIlxcXFxcXFxcKXwiK28rIls+PD1lUF9YXl18WyIrQmUrIi0iK21lKyQrc2UrbGUrIi0iK2RlKyJdfCIrTysifCIrdSwiZyIpLF9lPWkucmVwbGFjZShLZSxmdW5jdGlvbihZZSl7cmV0dXJuIFllPT09Tz8iICI6WWU9PT11P2E6IiJ9KS5zcGxpdCh1KS5qb2luKGEpLEdlPV9lLnNwbGl0KGEpLm1hcChmdW5jdGlvbihZZSl7cmV0dXJuIFllLnRyaW0oKX0pLmZpbHRlcihCb29sZWFuKSxzdD1bL3RoaW5raW5nIHdpdGggaGlnaCBlZmZvcnQvaSwvdGhpbmtpbmcgd2l0aCBtZWRpdW0gZWZmb3J0L2ksL3RoaW5raW5nIHdpdGggbG93IGVmZm9ydC9pLG5ldyBSZWdFeHAoInRob3VnaHQgZm9yIFswLTldK3MiLCJpIiksbmV3IFJlZ0V4cCgiU2F1dGVlZCBmb3IgWzAtOV0rbSIsImkiKSwvR2VybWluYXRpbmcvaSwvRG9vZGxpbmcvaSwvQnJld2luZy9pXSxWdD1udWxsLFN0PS0xLGl0PVtdLFBlPVtdLEhlPVtdLEFlPTA7QWU8R2UubGVuZ3RoO0FlKyspe3ZhciB3PUdlW0FlXSxJdD13LnJlcGxhY2UoL17ina9ccyovLCIiKTtpZihJdC5pbmRleE9mKCdUcnkiJyk9PT0wfHxJdC5pbmRleE9mKCdUcnkgIicpPT09MCl7aXQucHVzaChJdCk7Y29udGludWV9Zm9yKHZhciBOZT0hMSxhdD0wO2F0PHN0Lmxlbmd0aDthdCsrKWlmKHN0W2F0XS50ZXN0KHcpKXtOZT0hMCxIZS5wdXNoKHcpO2JyZWFrfWlmKCFOZSYmdyYmdy5pbmRleE9mKCJcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAiKSE9PTAmJnchPT0iXHUyNzZGIiYmdy5pbmRleE9mKCJlc2MgdG8gaW50ZXJydXB0Iik9PT0tMSYmdy5pbmRleE9mKCJDbGF1ZGUgQ29kZSB2Iik9PT0tMSYmdy5pbmRleE9mKCJTb25uZXQiKT09PS0xJiZ3LmluZGV4T2YoIn4vIikhPT0wJiZ3LmluZGV4T2YoIlx1MjVDRiBoaWdoIik9PT0tMSYmdy5pbmRleE9mKCJGYWlsZWQgdG8gaW5zdGFsbCBBbnRocm9waWMgbWFya2V0cGxhY2UiKT09PS0xJiZ3LmluZGV4T2YoIkNsYXVkZSBDb2RlIGhhcyBzd2l0Y2hlZCBmcm9tIG5wbSB0byBuYXRpdmUgaW5zdGFsbGVyIik9PT0tMSYmdy5pbmRleE9mKCJGbHV0dGVyaW5nIik9PT0tMSYmdy5pbmRleE9mKCI/IGZvciBzaG9ydGN1dHMiKT09PS0xJiZ3LmluZGV4T2YoIjA7IikhPT0wJiZ3LmluZGV4T2YoIjk7IikhPT0wJiZ3LmluZGV4T2YoIkNsYXVkZSBpcyB3YWl0aW5nIik9PT0tMSYmISh3LmluZGV4T2YoIlx1MjcyMiIpIT09LTF8fHcuaW5kZXhPZigiXHUyNzMzIikhPT0tMXx8dy5pbmRleE9mKCJcdTI3MzYiKSE9PS0xfHx3LmluZGV4T2YoIlx1MjczQiIpIT09LTF8fHcuaW5kZXhPZigiXHUyNzNEIikhPT0tMSkmJiEody5pbmRleE9mKCJcdTI1OTAiKT09PTB8fHcuaW5kZXhPZigiXHUyNTlEIik9PT0wfHx3LmluZGV4T2YoIlx1MjU5OCIpPT09MCkmJiEoKHc9PT0ibHUifHx3PT09InVlInx8dz09PSJ0ciJ8fHc9PT0idGkifHx3PT09ImcifHx3PT09Im4ifHx3PT09ImlcdTIwMjYifHx3PT09Ilx1MjAyNiJ8fHc9PT0idXRzInx8dz09PSJsdCJ8fHc9PT0icmcifHx3PT09Ilx4QjciKSYmdy5sZW5ndGg8NCkmJiEody5pbmRleE9mKCJcdTI3M0RGIik9PT0wfHx3LmluZGV4T2YoIlx1MjczQkYiKT09PTApJiZ3LmluZGV4T2YoIm5wbSBXQVJOIik9PT0tMSYmdy5pbmRleE9mKCJucG0gbm90aWNlIik9PT0tMSYmISh3LmluZGV4T2YoImFkZGVkICIpIT09LTEmJncuaW5kZXhPZigiIHBhY2thZ2VzIikhPT0tMSkmJncuaW5kZXhPZigiYXVkaXRlZCAiKT09PS0xJiYhKHcuaW5kZXhPZigiZm91bmQgIikhPT0tMSYmdy5pbmRleE9mKCIgdnVsbmVyYWJpbGl0aWVzIikhPT0tMSkmJiEody5pbmRleE9mKCJVc2luZyAiKSE9PS0xJiZ3LmluZGV4T2YoIiBmb3IgIikhPT0tMSYmdy5pbmRleE9mKCJzZXNzaW9uIikhPT0tMSkmJncuaW5kZXhPZigiWW91IGNhbiB1c2UiKT09PS0xJiYhKHcuaW5kZXhPZigiUHJlc3MgIikhPT0tMSYmdy5pbmRleE9mKCIgZm9yIikhPT0tMSkmJiEody5pbmRleE9mKCJ0eXBlICIpPT09MCYmdy5pbmRleE9mKCIgdG8gIikhPT0tMSkmJncuaW5kZXhPZigiW3dhbmRdIikhPT0wJiZ3LmluZGV4T2YoIkNhcHR1cmVkIENsYXVkZSBzZXNzaW9uIElEIik9PT0tMSYmdy5pbmRleE9mKCJcdTIzRjUiKT09PS0xJiZ3LmluZGV4T2YoImFjY2VwdGVkaXQiKT09PS0xJiZ3LmluZGV4T2YoInNoaWZ0K3RhYiIpPT09LTEmJncuaW5kZXhPZigidGFidG9jeWNsZSIpPT09LTEmJncuaW5kZXhPZigiY3RybCtnIik9PT0tMSYmdy5pbmRleE9mKCIvZWZmb3J0Iik9PT0tMSYmISh3LmluZGV4T2YoIk9wdXMiKSE9PS0xJiZ3LmluZGV4T2YoIm1vZGVsIikhPT0tMSkmJncuaW5kZXhPZigiSGFpa3UiKT09PS0xJiZ3LmluZGV4T2YoInRvIGN5Y2xlIik9PT0tMSYmISh3LmluZGV4T2YoImhpZ2ggXHhCNyIpIT09LTF8fHcuaW5kZXhPZigiaGlnaFx4QjciKSE9PS0xKSYmISh3LmluZGV4T2YoIm1lZGl1bSBceEI3IikhPT0tMXx8dy5pbmRleE9mKCJtZWRpdW1ceEI3IikhPT0tMSkmJiEody5pbmRleE9mKCJsb3cgXHhCNyIpIT09LTF8fHcuaW5kZXhPZigibG93XHhCNyIpIT09LTEpKXtpZih3LmluZGV4T2YoIlx1MjVDRiIpPT09MCl7aWYodz13LnNsaWNlKDEpLnRyaW0oKSwhdyljb250aW51ZTtQZS5wdXNoKHcpO2NvbnRpbnVlfXcubGVuZ3RoPDMmJiEvXlthLXpBLVpdezN9JC8udGVzdCh3KXx8UGUucHVzaCh3KX19aWYoSGUubGVuZ3RoPjApe3ZhciBhbj1IZVtIZS5sZW5ndGgtMV0sb2U9YW4ubWF0Y2gobmV3IFJlZ0V4cCgiZm9yIChbMC05XStbbXNdK3wgWzAtOV0rbSBbMC05XStzKSIsImkiKSksVXQ9b2U/Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwMyAiK29lWzBdLnJlcGxhY2UoL2ZvciAvaSwiIik6Ilx1NkRGMVx1NUVBNlx1NjAxRFx1ODAwM1x1NEUyRC4uLiI7bi5wdXNoKHtyb2xlOiJ0aGlua2luZyIsY29udGVudDpVdCx0eXBlOiJkZWVwLXRob3VnaHQifSl9aWYoaXQubGVuZ3RoPjApe3ZhciBLdD1pdFtpdC5sZW5ndGgtMV0ucmVwbGFjZSgvXlRyeVxzKi8sIiIpLnRyaW0oKTtuLnB1c2goe3JvbGU6InByb21wdCIsY29udGVudDpLdCx0eXBlOiJzdWdnZXN0aW9uIn0pfWlmKCFQZS5sZW5ndGgpcmV0dXJuIG47Zm9yKHZhciBNZT1bXSx1dD1udWxsLEplPVtdLEFlPTA7QWU8UGUubGVuZ3RoO0FlKyspaWYodz1QZVtBZV0sdy5pbmRleE9mKCJcdTI3NkYiKT09PTApe3ZhciBKdD13LnJlcGxhY2UoL17ina9ccyovLCIiKS50cmltKCk7aWYoSnQuaW5kZXhPZignVHJ5IicpPT09MHx8SnQuaW5kZXhPZignVHJ5ICInKT09PTApY29udGludWU7dXQhPT1udWxsJiZKZS5sZW5ndGg+MCYmKE1lLnB1c2goe3VzZXI6dXQsYXNzaXN0YW50TGluZXM6SmV9KSxKZT1bXSksSnQ/dXQ9SnQ6KHV0IT09bnVsbCYmSmUubGVuZ3RoPjAmJihNZS5wdXNoKHt1c2VyOnV0LGFzc2lzdGFudExpbmVzOkplfSksSmU9W10pLHV0PW51bGwpfWVsc2UgdXQhPT1udWxsJiYody5pbmRleE9mKCJcdTIzRkEiKSE9PS0xJiYody5pbmRleE9mKCJIaSEiKSE9PS0xfHx3LmluZGV4T2YoIkhlbGxvIikhPT0tMXx8dy5pbmRleE9mKCJXaGF0IikhPT0tMXx8dy5pbmRleE9mKCJ3b3JraW5nIikhPT0tMSk/SmUucHVzaCh3KTp3LmluZGV4T2YoIlx1MjNGQSIpPT09MD9KZS5wdXNoKHcuc2xpY2UoMSkudHJpbSgpfHx3KTp3Lmxlbmd0aD49OCYmdy5pbmRleE9mKCJcdTI3MjIiKT09PS0xJiZ3LmluZGV4T2YoIlx1MjczMyIpPT09LTEmJncuaW5kZXhPZigiXHUyNzM2Iik9PT0tMSYmdy5pbmRleE9mKCJcdTI3M0IiKT09PS0xJiZ3LmluZGV4T2YoIlx1MjczRCIpPT09LTEmJncuaW5kZXhPZigiXHUyNTkwIikhPT0wJiZ3LmluZGV4T2YoIlx1MjU5RCIpIT09MCYmdy5pbmRleE9mKCJcdTI1OTgiKSE9PTAmJncuaW5kZXhPZigiZXNjdG9pbnRlcnJ1cHQiKT09PS0xJiZ3LmluZGV4T2YoIj9mb3IiKSE9PTAmJncuaW5kZXhPZigiPyBmb3IiKSE9PTAmJkplLnB1c2godykpO2lmKHV0IT09bnVsbCYmSmUubGVuZ3RoPjAmJk1lLnB1c2goe3VzZXI6dXQsYXNzaXN0YW50TGluZXM6SmV9KSxNZS5sZW5ndGg9PT0wKXtmb3IodmFyIHVuPSIiLG9uPS0xLEFlPTA7QWU8UGUubGVuZ3RoO0FlKyspaWYodz1QZVtBZV0sISh3LmluZGV4T2YoJ1RyeSInKT09PTB8fHcuaW5kZXhPZignVHJ5ICInKT09PTApJiZ3LmluZGV4T2YoIkZhaWxlZCB0byBpbnN0YWxsIik9PT0tMSYmdy5pbmRleE9mKCJjdHJsK2ciKT09PS0xJiZ3LmluZGV4T2YoIlx1MjVDRiAiKSE9PTAmJiEody5sZW5ndGg8Mnx8dy5sZW5ndGg+MTAwKSYmL15bYS16QS1aXS8udGVzdCh3KSl7dW49dy50cmltKCksb249QWU7YnJlYWt9aWYodW4mJm9uPj0wKXt2YXIgSW49UGUuc2xpY2Uob24rMSkuZmlsdGVyKGZ1bmN0aW9uKFllKXtyZXR1cm4gWWUubGVuZ3RoPj04fSk7SW4ubGVuZ3RoPjAmJk1lLnB1c2goe3VzZXI6dW4sYXNzaXN0YW50TGluZXM6SW59KX19Zm9yKHZhciBUdD0wO1R0PE1lLmxlbmd0aDtUdCsrKWlmKG4ucHVzaCh7cm9sZToidXNlciIsY29udGVudDpNZVtUdF0udXNlcn0pLE1lW1R0XS5hc3Npc3RhbnRMaW5lcy5sZW5ndGg+MCl7dmFyIHNuPUhtKE1lW1R0XS5hc3Npc3RhbnRMaW5lcy5qb2luKGEpKTtuLnB1c2goe3JvbGU6ImFzc2lzdGFudCIsY29udGVudDpzbn0pfXJldHVybiBufXZhciB5bD0idHJhbnNwYXJlbnQiO2Z1bmN0aW9uIEtpKGUsdCl7Zm9yKHZhciBuPXR8fDMsaT1lWzBdLmxlbmd0aCpuLGE9ZS5sZW5ndGgqbix1PSIiLG89MDtvPGUubGVuZ3RoO28rKylmb3IodmFyIHM9MDtzPGVbb10ubGVuZ3RoO3MrKyllW29dW3NdIT09eWwmJih1Kz0nPHJlY3QgeD0iJytzKm4rJyIgeT0iJytvKm4rJyIgd2lkdGg9IicrbisnIiBoZWlnaHQ9IicrbisnIiBmaWxsPSInK2Vbb11bc10rJyIvPicpO3JldHVybic8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwICcraSsiICIrYSsnIiBjbGFzcz0icGl4ZWwtYXZhdGFyLXN2ZyI+Jyt1KyI8L3N2Zz4ifWZ1bmN0aW9uIEppKGUpe3ZhciB0PXlsLG49ZS5iYXNlLGk9ZS5kYXJrLGE9ZS5saWdodHx8ZS5iYXNlLHU9ZS5hY2NlbnR8fCIjRkZGRkZGIixvPWUuZXllfHwiIzJEMkQyRCIscz1lLm1vdXRofHwiI0YyOEI5QSIsbD1lLm5vc2V8fGUuZGFyaztyZXR1cm5bW3QsaSx0LHQsdCx0LHQsdCxpLHRdLFtpLG4saSx0LHQsdCx0LGksbixpXSxbaSxuLG4sbixuLG4sbixuLG4saV0sW24sbix1LG8sbixuLHUsbyxuLG5dLFtuLG4sdSx1LG4sbix1LHUsbixuXSxbbixuLG4sbixzLHMsbixuLG4sbl0sW24sbCxuLGEsbixuLGEsbixsLG5dLFt0LG4sbixuLG4sbixuLG4sbix0XSxbdCx0LG4saSxuLG4saSxuLHQsdF0sW3QsdCx0LG4sdCx0LG4sdCx0LHRdXX12YXIgcm09e2Jhc2U6IiNGMDkyM0EiLGRhcms6IiNDNDZBMUEiLGxpZ2h0OiIjRjA5MjNBIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLG5vc2U6IiNFODdENUEifSxpbT17YmFzZToiIzlFQUFCOCIsZGFyazoiIzZCN0I4RCIsbGlnaHQ6IiNDNUNFRDgiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjN0VDODhCIixtb3V0aDoiI0YyOEI5QSJ9LGJsPVt7YmFzZToiIzVBOEZFMCIsZGFyazoiIzJFNUJCMyIsbGlnaHQ6IiM5Q0MwRjIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZENjZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzVBOEZFMCJ9LHtiYXNlOiIjQTA2RkUwIixkYXJrOiIjNkI0NUE4IixsaWdodDoiI0M4QTRGMiIsYWNjZW50OiIjRkZGRkZGIixleWU6IiNGRkUzNkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjQTA2RkUwIn0se2Jhc2U6IiM3QkI3NkIiLGRhcms6IiM0RjhBNDAiLGxpZ2h0OiIjQTlENDlDIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM3QkI3NkIifSx7YmFzZToiI0Q4NkE4OCIsZGFyazoiIzlDM0E1NyIsbGlnaHQ6IiNFOEE0QjUiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0ZGRkZGRiIscHJpbWFyeToiI0Q4NkE4OCJ9LHtiYXNlOiIjNUJCN0IwIixkYXJrOiIjMkU3ODczIixsaWdodDoiIzlDRDZEMiIsYWNjZW50OiIjRkZGRkZGIixleWU6IiNGRkQ2NkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjNUJCN0IwIn0se2Jhc2U6IiM0QTRBNjAiLGRhcms6IiMxRjFGMkUiLGxpZ2h0OiIjNkU2RTg0IixhY2NlbnQ6IiNGNUY1RjUiLGV5ZToiI0ZGRDY2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM0QTRBNjAifSx7YmFzZToiI0Q4QTg1QSIsZGFyazoiIzlDNzAyOCIsbGlnaHQ6IiNFQkM3OEEiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjMkQyRDJEIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiI0Q4QTg1QSJ9XTtmdW5jdGlvbiBhbShlLHQpe2Zvcih2YXIgbj1TdHJpbmcoZXx8IiIpLGk9MCxhPTA7YTxuLmxlbmd0aDthKyspaT0oaTw8NSktaStuLmNoYXJDb2RlQXQoYSl8MDtyZXR1cm4gTWF0aC5hYnMoaSkldH12YXIgRWw9eyJnZW5lcmFsLXB1cnBvc2UiOiJcdTRFMDdcdTgwRkRcdTczMkIiLEV4cGxvcmU6Ilx1NEZBNlx1NjNBMlx1NzMyQiIsImNvZGUtZXhwbG9yZXIiOiJcdTRGQTZcdTYzQTJcdTczMkIiLCJjb2RlLXJldmlld2VyIjoiXHU1QkExXHU2N0U1XHU3MzJCIiwiY29kZS1hcmNoaXRlY3QiOiJcdTY3QjZcdTY3ODRcdTczMkIiLCJjb2RlLXNpbXBsaWZpZXIiOiJcdTdCODBcdTUzMTZcdTczMkIiLCJjb2RlLWd1aWRlIjoiXHU1NDExXHU1QkZDXHU3MzJCIixQbGFuOiJcdTdCNTZcdTUyMTJcdTczMkIiLCJmZWF0dXJlLWRldiI6Ilx1NUYwMFx1NTNEMVx1NzMyQiIsInByLXRlc3QtYW5hbHl6ZXIiOiJcdTZENEJcdThCRDVcdTczMkIiLCJzaWxlbnQtZmFpbHVyZS1odW50ZXIiOiJcdTYyQTRcdTUzNkJcdTczMkIiLCJ0eXBlLWRlc2lnbi1hbmFseXplciI6Ilx1N0M3Qlx1NTc4Qlx1NzMyQiIsImNvbW1lbnQtYW5hbHl6ZXIiOiJcdTZDRThcdTkxQ0FcdTczMkIifSxGdT1udWxsO2Z1bmN0aW9uIEZsKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PWUuYWdlbnRUeXBlfHwiIjtyZXR1cm4gdCYmRWxbdF0/RWxbdF06dHx8KGlvKCk9PT0iRW5nbGlzaCI/IlN1YnRhc2siOiJcdTVCNTBcdTRFRkJcdTUyQTEiKX1mdW5jdGlvbiB1bShlKXt2YXIgdD1TdHJpbmcoZXx8IiIpLnRyaW0oKTtyZXR1cm4gdD90LmluZGV4T2YoIlx1NzMyQlx1NzMyQiIpPT09MD90OiJcdTczMkJcdTczMkIgIit0OiJcdTczMkJcdTczMkJcdTVCNTAgQWdlbnQifWZ1bmN0aW9uIENsKGUpe3ZhciB0PUZsKGUpO2lmKCF0KXJldHVybiB0O3ZhciBuPUZ1JiZlJiZlLnRhc2tJZD9GdS5nZXQoZS50YXNrSWQpOm51bGw7cmV0dXJuIHVtKG4/dCtuOnQpfWZ1bmN0aW9uIHdsKGUpe3ZhciB0PWUmJihlLmFnZW50VHlwZXx8ZS50YXNrSWQpfHwic3ViYWdlbnQiO3JldHVybiBibFthbSh0LGJsLmxlbmd0aCldfWZ1bmN0aW9uIGpoKGUpe3ZhciB0PXdsKGUpLG49Q2woZSksaT1LaShKaSh0KSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1hdmF0YXIgYXNzaXN0YW50IHN1YmFnZW50IiBzdHlsZT0iLS1hZ2VudC1jb2xvcjonK3QucHJpbWFyeSsnIj48ZGl2IGNsYXNzPSJwaXhlbC1hdmF0YXIiPicraSsnPC9kaXY+PHNwYW4gY2xhc3M9ImF2YXRhci1uYW1lIj4nK3AobikrIjwvc3Bhbj48L2Rpdj4ifWZ1bmN0aW9uIG9tKGUsdCl7aWYoIWV8fGUudHlwZSE9PSJ0b29sX3Jlc3VsdCIpcmV0dXJuIiI7dmFyIG49Qm4oZS5jb250ZW50KSxpPWUuaXNfZXJyb3I9PT0hMCxhPXR5cGVvZiBuPT0ic3RyaW5nIj9uOm49PW51bGw/IiI6U3RyaW5nKG4pO2lmKCFpJiYhYS50cmltKCkpcmV0dXJuJzxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5IHBlbmRpbmciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXIgcGVuZGluZyI+JytwKFNlKCJzdWJhZ2VudC5ydW5uaW5nIikpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj4nO3ZhciB1PWEudHJpbSgpP2E6U2UoInN1YmFnZW50Lm5vX291dHB1dCIpLG89YS50cmltKCk/eHUodSk6cCh1KSxzPVNlKGk/InN1YmFnZW50LnRhc2suZmFpbGVkIjoic3ViYWdlbnQudGFzay5kb25lIiksbD1pPyJcdTI3MTciOiJcdTI3MTMiO3JldHVybic8ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseSBmaW5hbCcrKGk/IiBlcnJvciI6IiIpKyciPjxkaXYgY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlciAnKyhpPyJlcnJvciI6ImRvbmUiKSsnIj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2wrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyLWxhYmVsIj4nK3AocykrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseS1jb250ZW50Ij4nK28rIjwvZGl2PjwvZGl2PiJ9dmFyIEdpPXthc3Npc3RhbnQ6S2koSmkocm0pKSx1c2VyOktpKEppKGltKSl9LEJsPXt1c2VyOntuYW1lOiJcdThENUJcdTUzNUFcdTg2NEVcdTU5OUUiLGF2YXRhclN2ZzpHaS51c2VyfSxhc3Npc3RhbnQ6e25hbWU6Ilx1NTJFNFx1NTJCM1x1NTIxRFx1NEU4QyIsYXZhdGFyU3ZnOkdpLmFzc2lzdGFudH19O2Z1bmN0aW9uIEN1KGUpe3ZhciB0PXIuY29uZmlnJiZyLmNvbmZpZy5zdHJ1Y3R1cmVkQ2hhdFBlcnNvbmEsbj10JiZ0W2VdP3RbZV06bnVsbCxpPUJsW2VdfHxCbC5hc3Npc3RhbnQ7cmV0dXJue25hbWU6biYmdHlwZW9mIG4ubmFtZT09InN0cmluZyImJm4ubmFtZS50cmltKCk/bi5uYW1lLnRyaW0oKTppLm5hbWUsYXZhdGFyOm4mJnR5cGVvZiBuLmF2YXRhcj09InN0cmluZyImJm4uYXZhdGFyLnRyaW0oKT9uLmF2YXRhci50cmltKCk6bnVsbCxhdmF0YXJTdmc6aS5hdmF0YXJTdmd9fWZ1bmN0aW9uIERsKGUpe3JldHVybic8ZGl2IGNsYXNzPSJwaXhlbC1hdmF0YXIiPicrZSsiPC9kaXY+In1mdW5jdGlvbiBSaChlLHQpe2lmKCEoIWV8fCFlLnBhcmVudE5vZGUpKXt2YXIgbj1DdSh0PT09InVzZXIiPyJ1c2VyIjoiYXNzaXN0YW50Iik7ZS5vdXRlckhUTUw9RGwobi5hdmF0YXJTdmcpfX1mdW5jdGlvbiBzcihlKXt2YXIgdD1lPT09InVzZXIiPyJ1c2VyIjoiYXNzaXN0YW50IixuPUN1KHQpLGk9bi5hdmF0YXI/JzxpbWcgY2xhc3M9InBpeGVsLWF2YXRhci1pbWFnZSIgc3JjPSInK3Aobi5hdmF0YXIpKyciIGFsdD0iJytwKG4ubmFtZSkrJyIgb25lcnJvcj0iaGFuZGxlQ2hhdEF2YXRhckltYWdlRXJyb3IodGhpcywgJytKU09OLnN0cmluZ2lmeSh0KSsnKSIgLz4nOkRsKG4uYXZhdGFyU3ZnKTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWF2YXRhciAnK2UrJyI+JytpKyc8c3BhbiBjbGFzcz0iYXZhdGFyLW5hbWUiPicrcChuLm5hbWUpKyI8L3NwYW4+PC9kaXY+In1mdW5jdGlvbiB3dShlLHQsbixpKXtpZihlLnJvbGU9PT0idGhpbmtpbmciKXt2YXIgYT10eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIj9lLmNvbnRlbnQ6IiI7aWYoIWEudHJpbSgpKXJldHVybiIiO3ZhciB1PU10KCJ0aGlua2luZyIsW2hvKGUsbiksInB0eSJdKSxvPXd0KHUpLHM9bz09PW51bGw/V24oInRoaW5raW5nIik6bztyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHRoaW5raW5nIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctcHR5ICcrKHM/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKHUpKyciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChhKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyhzPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PjwvZGl2PiJ9aWYoZS5yb2xlPT09InByb21wdCIpcmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBwcm9tcHQiPjxkaXYgY2xhc3M9InByb21wdC1jYXJkIj48ZGl2IGNsYXNzPSJwcm9tcHQtaWNvbiI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icHJvbXB0LWNvbnRlbnQiPlx1OEJENVx1OEJENVx1RkYxQTxzcGFuIGNsYXNzPSJwcm9tcHQtdGV4dCI+JytwKGUuY29udGVudCkrIjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj4iO2lmKEFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gQW0oZSx0LG4saSk7dmFyIGw9c3IoZS5yb2xlKSxkPWUucm9sZT09PSJhc3Npc3RhbnQiP3h1KGUuY29udGVudCk6ZS5yb2xlPT09InVzZXIiP0xsKGUuY29udGVudCk6cChlLmNvbnRlbnQpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJytlLnJvbGUrJyI+JytsKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYnViYmxlIj4nK2QrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gc20oZSl7dmFyIHQ9e307aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aWYoaSYmaS50eXBlPT09InRvb2xfcmVzdWx0Iil7dmFyIGE9aS50b29sX3VzZV9pZDtpZighYSljb250aW51ZTt0W2FdfHwodFthXT1bXSksdFthXS5wdXNoKGkpfX1yZXR1cm4gdH1mdW5jdGlvbiBrbChlLHQpe3ZhciBuPWUmJnQ/ZVt0XTpudWxsO2lmKCFufHwhbi5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKHZhciBpPTA7aTxuLmxlbmd0aC0xO2krKylpZihWbChuW2ldLG5baSsxXSkpcmV0dXJuIG5baSsxXTtyZXR1cm4gbltuLmxlbmd0aC0xXX1mdW5jdGlvbiBsbShlLHQpe3ZhciBuPWUmJnQ/ZVt0XTpudWxsO2lmKCFufHxuLmxlbmd0aDwyKXJldHVybiExO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGgtMTtpKyspaWYoVmwobltpXSxuW2krMV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGRtKGUpe3JldHVybic8ZGl2IGNsYXNzPSJzdHJ1Y3R1cmVkLXRvb2wtaGludCI+XHU1REYyXHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU0RTAwXHU2QjIxICcrcChBdShlKSkrIiBcdTUzQzJcdTY1NzBcdTk1RUVcdTk4OTg8L2Rpdj4ifXZhciBjbT17UmVhZDoxLEdsb2I6MSxHcmVwOjEsV2ViRmV0Y2g6MSxXZWJTZWFyY2g6MSxUb2RvUmVhZDoxfTtmdW5jdGlvbiBBbChlKXtpZighZXx8ZS50eXBlIT09InRvb2xfdXNlInx8IWNtW2UubmFtZV0pcmV0dXJuITE7aWYoZS5uYW1lPT09IlJlYWQiKXt2YXIgdD1lLmlucHV0fHx7fTtpZihadSh0LmZpbGVfcGF0aHx8dC5wYXRofHwiIikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gZm0oZSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoOyl7dmFyIGk9ZVtuXTtpZihpLnR5cGU9PT0idG9vbF9yZXN1bHQiKXtuKys7Y29udGludWV9aWYoQWwoaSkpe2Zvcih2YXIgYT1be2Jsb2NrOmksaW5kZXg6bn1dLHU9bisxO3U8ZS5sZW5ndGg7KXtpZihlW3VdLnR5cGU9PT0idG9vbF9yZXN1bHQiKXt1Kys7Y29udGludWV9aWYoQWwoZVt1XSkpYS5wdXNoKHtibG9jazplW3VdLGluZGV4OnV9KSx1Kys7ZWxzZSBicmVha31hLmxlbmd0aD49Mj90LnB1c2goe3R5cGU6Imdyb3VwIixpdGVtczphLGVuZEluZGV4OnV9KTp0LnB1c2goe3R5cGU6InNpbmdsZSIsYmxvY2s6aSxpbmRleDpufSksbj11fWVsc2UgdC5wdXNoKHt0eXBlOiJzaW5nbGUiLGJsb2NrOmksaW5kZXg6bn0pLG4rK31yZXR1cm4gdH12YXIgcG09e1JlYWQ6Ilx1OEJGQlx1NTNENiIsR2xvYjoiXHU2NDFDXHU3RDIyIixHcmVwOiJcdTY0MUNcdTdEMjIiLFdlYkZldGNoOiJcdTYyOTNcdTUzRDYiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyIixUb2RvUmVhZDoiXHU1Rjg1XHU1MjlFIn07ZnVuY3Rpb24gdm0oZSx0LG4saSxhKXtmb3IodmFyIHU9YXx8e30sbz17fSxzPTA7czxlLmxlbmd0aDtzKyspe3ZhciBsPWVbc10uYmxvY2submFtZTtvW2xdPShvW2xdfHwwKSsxfWZvcih2YXIgZD0hMCxmPSExLHM9MDtzPGUubGVuZ3RoO3MrKyl7dmFyIGM9ZVtzXS5ibG9jayx2PWtsKG4sYy5pZCk7dj92LmlzX2Vycm9yJiYoZj0hMCk6ZD0hMX12YXIgaD1kP2Y/Ilx1MjcxNyI6Ilx1MjcxMyI6Ilx1MjAyNiIsbT1kP2Y/ImVycm9yIjoiZG9uZSI6InBlbmRpbmciLGc9W107Zm9yKHZhciB5IGluIG8pZy5wdXNoKG9beV0rIiAiKyhwbVt5XXx8eSkpO2Zvcih2YXIgQj1nLmpvaW4oIiBceEI3ICIpLEU9TXQoInRvb2wtZ3JvdXAiLFtpLGVbMF0mJmVbMF0uaW5kZXgsZS5sZW5ndGhdKSxDPXd0KEUpLEQ9dS5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDpDPT09bnVsbD9XbigidG9vbEdyb3VwIik6QyxGPSIiLHM9MDtzPGUubGVuZ3RoO3MrKyl0cnl7Ris9TWwoZVtzXS5ibG9jayx0LG4sZVtzXS5pbmRleCxpLHUpfWNhdGNoe0YrPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NURFNVx1NTE3N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9cmV0dXJuJzxkaXYgY2xhc3M9InRvb2wtZ3JvdXAiIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtZ3JvdXAiIGRhdGEtZXhwYW5kLWtleT0iJytwKEUpKyciIGRhdGEtZXhwYW5kZWQ9IicrKEQ/InRydWUiOiJmYWxzZSIpKyciIGRhdGEtc3RhdHVzPSInK20rJyI+PGRpdiBjbGFzcz0idG9vbC1ncm91cC1zdW1tYXJ5IiBvbmNsaWNrPSJfX3Rvb2xHcm91cFRvZ2dsZSh0aGlzLnBhcmVudE5vZGUpIj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC1zdGF0dXMiPicraCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLWdyb3VwLXRleHQiPicrcChCKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLWdyb3VwLWNvdW50Ij4nK2UubGVuZ3RoKycgXHU0RTJBXHU4QzAzXHU3NTI4PC9zcGFuPjxzdmcgY2xhc3M9InRvb2wtZ3JvdXAtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3R5bGU9InRyYW5zZm9ybTonKyhEPyJyb3RhdGUoMTgwZGVnKSI6IiIpKyciPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC1ncm91cC1ib2R5IiBzdHlsZT0iZGlzcGxheTonKyhEPyJibG9jayI6Im5vbmUiKSsnOyI+JytGKyI8L2Rpdj48L2Rpdj4ifXdpbmRvdy5fX3Rvb2xHcm91cFRvZ2dsZT1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO2Uuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIix0PyJmYWxzZSI6InRydWUiKTt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWJvZHkiKTtuJiYobi5zdHlsZS5kaXNwbGF5PXQ/Im5vbmUiOiJibG9jayIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLnRvb2wtZ3JvdXAtY2hldnJvbiIpO2kmJihpLnN0eWxlLnRyYW5zZm9ybT10PyIiOiJyb3RhdGUoMTgwZGVnKSIpLCRuKGUsInRvb2wtZ3JvdXAiKX19O2Z1bmN0aW9uIG1tKGUsdCl7Zm9yKHZhciBuPTAsaT0wLGE9MCx1PXt9LG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHM9ZVt0W29dXTtpZihzKXtzLnJvbGU9PT0idXNlciImJm4rKzt2YXIgbD1zLmNvbnRlbnQ7aWYoQXJyYXkuaXNBcnJheShsKSlmb3IodmFyIGQ9MDtkPGwubGVuZ3RoO2QrKyl7dmFyIGY9bFtkXTtpZihmKWlmKGYuX19zdWJhZ2VudCYmZi5fX3N1YmFnZW50LnRhc2tJZCYmKHVbZi5fX3N1YmFnZW50LnRhc2tJZF09MSksZi50eXBlPT09InRvb2xfdXNlIil7aSsrO3ZhciBjPVlpKGYpO2MmJmMudGFza0lkJiYodVtjLnRhc2tJZF09MSl9ZWxzZSBmLnR5cGU9PT0idG9vbF9yZXN1bHQiJiZmLmlzX2Vycm9yJiZhKyt9fX12YXIgdj0wO2Zvcih2YXIgaCBpbiB1KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh1LGgpJiZ2Kys7cmV0dXJue3JvdW5kczpuLHRvb2xzOmksYWdlbnRzOnYsZXJyb3JzOmF9fWZ1bmN0aW9uIHhsKGUpe3ZhciB0PVtdO3JldHVybiB0LnB1c2goU2UoImhpc3Rvcnkucm91bmRzIix7bjpTdHJpbmcoZS5yb3VuZHMpfSkpLGUudG9vbHM+MCYmdC5wdXNoKFNlKCJoaXN0b3J5LnRvb2xzIix7bjpTdHJpbmcoZS50b29scyl9KSksZS5hZ2VudHM+MCYmdC5wdXNoKFNlKCJoaXN0b3J5LmFnZW50cyIse246U3RyaW5nKGUuYWdlbnRzKX0pKSxlLmVycm9ycz4wJiZ0LnB1c2goU2UoImhpc3RvcnkuZXJyb3JzIix7bjpTdHJpbmcoZS5lcnJvcnMpfSkpLHQuam9pbigiIFx4QjcgIil9ZnVuY3Rpb24gQnUoZSx0KXtmb3IodmFyIG49ZS5uZXh0RWxlbWVudFNpYmxpbmc7bjspbi5jbGFzc0xpc3QuY29udGFpbnMoImNoYXQtbG9hZC1tb3JlIil8fCh0P24uY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpOm4uY2xhc3NMaXN0LmFkZCgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpKSxuPW4ubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGdtKGUsdCxuLGkpeyFlfHwhdHx8KGhtKGUsdCwhMSksRHUodCksRW0oZSkpfWZ1bmN0aW9uIFdoKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiI2NoYXQtZm9sZC1iYXIiKTtyZXR1cm4gdHx8KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5pZD0iY2hhdC1mb2xkLWJhciIsdC5jbGFzc05hbWU9ImNoYXQtZm9sZC1iYXIgaGlkZGVuIixlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCksdCl9ZnVuY3Rpb24gaG0oZSx0LG4pe2UmJmUuY2xhc3NMaXN0LnRvZ2dsZSgiYXV0by1mb2xkIiwhIW4pfWZ1bmN0aW9uIHpoKGUsdCl7Zm9yKHZhciBuPVtdLGk9MDtpPHQ7aSsrKWVbaV0mJm4ucHVzaChpKTtyZXR1cm4gbn1mdW5jdGlvbiBEdShlKXtpZihlKWZvcih2YXIgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWF1dG8tZm9sZC1oaWRkZW4iKSxuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXS5jbGFzc0xpc3QucmVtb3ZlKCJjaGF0LWF1dG8tZm9sZC1oaWRkZW4iKX1mdW5jdGlvbiBWaChlLHQsbil7aWYoRHUoZSksISghbnx8dDwxKSl7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLGE9MDthPGkubGVuZ3RoO2ErKyl7dmFyIHU9aVthXS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYodSE9bnVsbCl7dmFyIG89cGFyc2VJbnQodSwxMCk7IWlzTmFOKG8pJiZvPHQmJmlbYV0uY2xhc3NMaXN0LmFkZCgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIil9fXltKGUpfX1mdW5jdGlvbiB5bShlKXt2YXIgdD1lP2UucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5Iik6bnVsbDtpZih0KXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsImZhbHNlIik7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuIik7biYmbi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LXRpdGxlIik7aSYmKGkudGV4dENvbnRlbnQ9U2UoImhpc3RvcnkuZXhwYW5kIikpLEJ1KHQsITEpLHQuY2xhc3NMaXN0LmFkZCgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIik7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKTtpZihhKXt2YXIgdT1hLnNwbGl0KCI6Iik7dS5sZW5ndGg+PTMmJih1WzJdPSIwIixlLnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIsdS5qb2luKCI6IikpKX19fWZ1bmN0aW9uIGJtKGUpeyFlfHwhZS5pc0Nvbm5lY3RlZHx8KHFuKHtyZW1vdmVEaXZpZGVyOiEwfSksb28oITApKX1mdW5jdGlvbiBFbShlKXtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNjaGF0LWZvbGQtYmFyIik7dCYmKHQuaW5uZXJIVE1MPSIiLHQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci5jaGF0QXV0b0ZvbGRTbmFwc2hvdD1udWxsKX19ZnVuY3Rpb24gVWgoZSx0LG4pe3ZhciBpPVNsKGUpfHwiXHU2NUIwXHU2RDg4XHU2MDZGIixhPXQ/U2wodCk6Ilx1N0I0OVx1NUY4NVx1NTZERVx1NTkwRC4uLiIsdT0iIjtyZXR1cm4gbiYmKHU9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2hhdC1mb2xkLXJvdyBoaXN0b3J5IiBvbmNsaWNrPSJ3aW5kb3cuX19jaGF0Rm9sZFRvZ2dsZUhpc3RvcnkgJiYgd2luZG93Ll9fY2hhdEZvbGRUb2dnbGVIaXN0b3J5KCkiIHRpdGxlPSJcdTVDNTVcdTVGMDBcdTYyMTZcdTY1MzZcdThENzdcdTY2RjRcdTY1RTlcdTVCRjlcdThCREQiPjxzcGFuIGNsYXNzPSJjaGF0LWZvbGQtcm9sZSI+XHU1Mzg2XHU1M0YyPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWZvbGQtdGV4dCI+XHU1REYyXHU2NTM2XHU4RDc3ICcrcCh4bChuKSkrIjwvc3Bhbj48L2J1dHRvbj4iKSx1Kyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNoYXQtZm9sZC1yb3cgdXNlciIgb25jbGljaz0id2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3QgJiYgd2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3QoKSIgdGl0bGU9Ilx1NUI5QVx1NEY0RFx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtZm9sZC1yb2xlIj5cdTYyMTE8L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtZm9sZC10ZXh0Ij4nK3AoaSkrJzwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNoYXQtZm9sZC1yb3cgYXNzaXN0YW50IiBvbmNsaWNrPSJ3aW5kb3cuX19jaGF0Rm9sZEp1bXBUb0xhdGVzdCAmJiB3aW5kb3cuX19jaGF0Rm9sZEp1bXBUb0xhdGVzdCgpIiB0aXRsZT0iXHU1QjlBXHU0RjREXHU1MjMwXHU2NzAwXHU2NUIwXHU1NkRFXHU1OTBEIj48c3BhbiBjbGFzcz0iY2hhdC1mb2xkLXJvbGUiPkNsYXVkZTwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC1mb2xkLXRleHQiPicrcChhKSsiPC9zcGFuPjwvYnV0dG9uPiJ9ZnVuY3Rpb24gU2woZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9W107ZnVuY3Rpb24gbihvKXtpZih0eXBlb2Ygbz09InN0cmluZyIpe3ZhciBzPW8ucmVwbGFjZSgvXHMrL2csIiAiKS50cmltKCk7cyYmdC5wdXNoKHMpfX1pZih0eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIiluKGUuY29udGVudCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUuY29udGVudCkpZm9yKHZhciBpPTA7aTxlLmNvbnRlbnQubGVuZ3RoJiZ0LmpvaW4oIiAiKS5sZW5ndGg8MTgwO2krKyl7dmFyIGE9ZS5jb250ZW50W2ldO2EmJihhLnR5cGU9PT0idGV4dCI/bihhLnRleHQpOmEudHlwZT09PSJ0aGlua2luZyI/bihhLnRoaW5raW5nKTphLnR5cGU9PT0idG9vbF91c2UiP24oYS5uYW1lPyJcdThDMDNcdTc1MjggIithLm5hbWU6Ilx1NURFNVx1NTE3N1x1OEMwM1x1NzUyOCIpOmEudHlwZT09PSJ0b29sX3Jlc3VsdCI/bihhLmlzX2Vycm9yPyJcdTVERTVcdTUxNzdcdThGRDRcdTU2REVcdTk1MTlcdThCRUYiOiJcdTVERTVcdTUxNzdcdThGRDRcdTU2REVcdTdFRDNcdTY3OUMiKTphLnRleHQmJm4oYS50ZXh0KSl9dmFyIHU9dC5qb2luKCIgXHhCNyAiKTtyZXR1cm4gdS5sZW5ndGg+MTgwP3Uuc2xpY2UoMCwxNzcpKyIuLi4iOnV9d2luZG93Ll9fY2hhdEZvbGRKdW1wVG9MYXRlc3Q9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2hhdC1vdXRwdXQgLmNoYXQtbWVzc2FnZXMiKTtlJiZibShlKX0sd2luZG93Ll9fY2hhdEZvbGRUb2dnbGVIaXN0b3J5PWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoYXQtb3V0cHV0IC5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpLHQ9ZT9lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeS1idG4iKTpudWxsO2UmJmUuY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1hdXRvLWZvbGQtaGlkZGVuIiksdCYmd2luZG93Ll9faGlzdG9yeVN1bW1hcnlUb2dnbGUmJndpbmRvdy5fX2hpc3RvcnlTdW1tYXJ5VG9nZ2xlKHQpfTtmdW5jdGlvbiBGbShlLHQsbixpKXt2YXIgYT17c2hvdWxkQ29sbGFwc2VGb3JWaWV3cG9ydDohMSxoaXN0b3J5SW5kaWNlczpbXSxmaXJzdEhpc3RvcnlFbDpudWxsfTtpZighZXx8bjwwKXJldHVybiBhO2Zvcih2YXIgdT1pJiYoZS5jbGllbnRIZWlnaHR8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KXx8MCxvPW51bGwscz1udWxsLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGQ9dFtsXS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYoZCE9bnVsbCl7dmFyIGY9cGFyc2VJbnQoZCwxMCk7aXNOYU4oZil8fChmPG4/KGEuaGlzdG9yeUluZGljZXMucHVzaChmKSxhLmZpcnN0SGlzdG9yeUVsfHwoYS5maXJzdEhpc3RvcnlFbD10W2xdKSk6aSYmKG98fChvPXRbbF0pLHM9dFtsXSkpfX1pZihpJiZ1PjAmJm8mJnMpe3ZhciBjPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdj1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGg9TWF0aC5tYXgoYy5ib3R0b20sdi5ib3R0b20pLU1hdGgubWluKGMudG9wLHYudG9wKSxtPU1hdGgubWF4KDIyMCx1LTI0KTthLnNob3VsZENvbGxhcHNlRm9yVmlld3BvcnQ9aD49bX1yZXR1cm4gYX1mdW5jdGlvbiBDbShlLHQpe2lmKCFlKXJldHVybjt2YXIgbj1yLmN1cnJlbnRNZXNzYWdlc3x8W107dHx8KHQ9X3QoKSk7Zm9yKHZhciBpPS0xLGE9bi5sZW5ndGgtMTthPj0wO2EtLSlpZihuW2FdJiZuW2FdLnJvbGU9PT0idXNlciIpe2k9YTticmVha31mdW5jdGlvbiB1KCl7dmFyIEY9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1oaXN0b3J5LXN1bW1hcnkiKTtGJiZGLnJlbW92ZSgpO2Zvcih2YXIgTD1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LWhpc3RvcnktaGlkZGVuIiksST0wO0k8TC5sZW5ndGg7SSsrKUxbSV0uY2xhc3NMaXN0LnJlbW92ZSgiY2hhdC1oaXN0b3J5LWhpZGRlbiIpO2UucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWhpc3Rvcnktc2lnIil9aWYoaTwxKXt1KCk7cmV0dXJufXZhciBvPWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpLHM9emwodCksbD1GbShlLG8saSxzJiZyLmNoYXRTdGlja1RvQm90dG9tKTtpZihzJiYoIXIuY2hhdFN0aWNrVG9Cb3R0b218fCFsLnNob3VsZENvbGxhcHNlRm9yVmlld3BvcnQpKXt1KCk7cmV0dXJufXZhciBkPWwuaGlzdG9yeUluZGljZXMsZj1sLmZpcnN0SGlzdG9yeUVsO2lmKGQubGVuZ3RoPDJ8fCFmKXt1KCk7cmV0dXJufXZhciBjPW1tKG4sZCksdj1NdCgiaGlzdG9yeS1zdW1tYXJ5IixbaV0pLGg9d3Qodik9PT0hMCxtPWkrIjoiK2QubGVuZ3RoKyI6IisoaD8xOjApKyI6IitjLnJvdW5kcysiOiIrYy50b29scysiOiIrYy5hZ2VudHMrIjoiK2MuZXJyb3JzO2lmKCEoZS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKT09PW0mJmUucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5IikpKXt2YXIgZz1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpO2cmJmcucmVtb3ZlKCk7Zm9yKHZhciB5PWUucXVlcnlTZWxlY3RvckFsbCgiLmNoYXQtaGlzdG9yeS1oaWRkZW4iKSxCPTA7Qjx5Lmxlbmd0aDtCKyspeVtCXS5jbGFzc0xpc3QucmVtb3ZlKCJjaGF0LWhpc3RvcnktaGlkZGVuIik7dmFyIEU9eGwoYyksQz1TZShoPyJoaXN0b3J5LmNvbGxhcHNlIjoiaGlzdG9yeS5leHBhbmQiKSxEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0QuY2xhc3NOYW1lPSJjaGF0LWhpc3Rvcnktc3VtbWFyeSIsRC5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kLWtleSIsdiksRC5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLGg/InRydWUiOiJmYWxzZSIpLEQuaW5uZXJIVE1MPSc8YnV0dG9uIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1idG4iIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0id2luZG93Ll9faGlzdG9yeVN1bW1hcnlUb2dnbGUodGhpcykiIGFyaWEtZXhwYW5kZWQ9IicrKGg/InRydWUiOiJmYWxzZSIpKyciPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1pY29uIj4nK1UoImZvbGRlciIse3NpemU6MTV9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1ib2R5Ij48c3BhbiBjbGFzcz0iY2hhdC1oaXN0b3J5LXN1bW1hcnktdGl0bGUiPicrcChDKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LWhpc3Rvcnktc3VtbWFyeS1tZXRhIj4nK3AoRSkrJzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImNoYXQtaGlzdG9yeS1zdW1tYXJ5LWNoZXZyb24iPicrVSgiY2hldnJvbkRvd24iLHtzaXplOjE2fSkrIjwvc3Bhbj48L2J1dHRvbj4iLGUuaW5zZXJ0QmVmb3JlKEQsZiksQnUoRCxoKSxlLnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIsbSl9fXdpbmRvdy5fX2hpc3RvcnlTdW1tYXJ5VG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuY2xvc2VzdD9lLmNsb3Nlc3QoIi5jaGF0LWhpc3Rvcnktc3VtbWFyeSIpOm51bGw7aWYodCl7dmFyIG49dC5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kLWtleSIpLGk9dC5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKSE9PSJ0cnVlIjt0LnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsaT8idHJ1ZSI6ImZhbHNlIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGk/InRydWUiOiJmYWxzZSIpO3ZhciBhPXQucXVlcnlTZWxlY3RvcigiLmNoYXQtaGlzdG9yeS1zdW1tYXJ5LXRpdGxlIik7YSYmKGEudGV4dENvbnRlbnQ9U2UoaT8iaGlzdG9yeS5jb2xsYXBzZSI6Imhpc3RvcnkuZXhwYW5kIikpLG4mJmdvKG4saSksQnUodCxpKTt2YXIgdT10LnBhcmVudEVsZW1lbnQ7aWYoaSYmRHUodSksdSl7dmFyIG89dS5nZXRBdHRyaWJ1dGUoImRhdGEtaGlzdG9yeS1zaWciKTtpZihvKXt2YXIgcz1vLnNwbGl0KCI6Iik7cy5sZW5ndGg+PTMmJihzWzJdPWk/IjEiOiIwIix1LnNldEF0dHJpYnV0ZSgiZGF0YS1oaXN0b3J5LXNpZyIscy5qb2luKCI6IikpKX19fX07ZnVuY3Rpb24gWWkoZSl7aWYoIWV8fGUudHlwZSE9PSJ0b29sX3VzZSIpcmV0dXJuIG51bGw7dmFyIHQ9ZS5pbnB1dHx8e30sbj10eXBlb2YgdC5zdWJhZ2VudF90eXBlPT0ic3RyaW5nIj90LnN1YmFnZW50X3R5cGU6bnVsbDtyZXR1cm4hbiYmZS5uYW1lIT09IlRhc2siJiZlLm5hbWUhPT0iQWdlbnQiP251bGw6e3Rhc2tJZDplLmlkLGFnZW50VHlwZTpufHx2b2lkIDAsdGFza0Rlc2NyaXB0aW9uOnR5cGVvZiB0LmRlc2NyaXB0aW9uPT0ic3RyaW5nIj90LmRlc2NyaXB0aW9uOnZvaWQgMH19ZnVuY3Rpb24gd20oZSl7dmFyIHQ9bmV3IE1hcDtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpZighKCFpfHxpLnJvbGUhPT0iYXNzaXN0YW50Inx8IUFycmF5LmlzQXJyYXkoaS5jb250ZW50KSkpZm9yKHZhciBhPTA7YTxpLmNvbnRlbnQubGVuZ3RoO2ErKyl7dmFyIHU9aS5jb250ZW50W2FdO2lmKCEoIXV8fHUudHlwZSE9PSJ0b29sX3VzZSIpKXt2YXIgbz11Ll9fc3ViYWdlbnR8fFlpKHUpO28mJnQuc2V0KHUuaWQsbyl9fX1yZXR1cm4gdH1mdW5jdGlvbiBCbShlKXt2YXIgdD1uZXcgTWFwO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O3ZhciBuPW5ldyBNYXAsaT1uZXcgU2V0O2Z1bmN0aW9uIGEoZil7aWYoISghZnx8IWYudGFza0lkKSYmIWkuaGFzKGYudGFza0lkKSl7aS5hZGQoZi50YXNrSWQpO3ZhciBjPUZsKGYpO2MmJihuLmhhcyhjKXx8bi5zZXQoYyxbXSksbi5nZXQoYykucHVzaChmLnRhc2tJZCkpfX1mb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIG89ZVt1XTtpZighKCFvfHwhQXJyYXkuaXNBcnJheShvLmNvbnRlbnQpKSlmb3IodmFyIHM9MDtzPG8uY29udGVudC5sZW5ndGg7cysrKXt2YXIgbD1vLmNvbnRlbnRbc107aWYobCl7dmFyIGQ9bC5fX3N1YmFnZW50fHwobC50eXBlPT09InRvb2xfdXNlIj9ZaShsKTpudWxsKTtkJiZhKGQpfX19cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihmKXtpZighKGYubGVuZ3RoPDIpKWZvcih2YXIgYz0wO2M8Zi5sZW5ndGg7YysrKXQuc2V0KGZbY10sIiAjIisoYysxKSl9KSx0fWZ1bmN0aW9uIElsKGUsdCl7dmFyIG49W107aWYoIUFycmF5LmlzQXJyYXkoZSl8fCFlLmxlbmd0aClyZXR1cm4gbjtmb3IodmFyIGk9bnVsbCxhPTA7YTxlLmxlbmd0aDthKyspe3ZhciB1PWVbYV0sbz11JiZ1LnR5cGU9PT0idGV4dCImJnUuX19wcm9jZXNzaW5nPT09ITA7aWYobyYmaSl7aS5ibG9ja3MucHVzaCh1KTtjb250aW51ZX12YXIgcz11JiZ1Ll9fc3ViYWdlbnQ/dS5fX3N1YmFnZW50Om51bGw7c3x8KHM9WWkodSkpLCFzJiZ1JiZ1LnR5cGU9PT0idG9vbF9yZXN1bHQiJiZ0JiZ0Lmhhcyh1LnRvb2xfdXNlX2lkKSYmKHM9dC5nZXQodS50b29sX3VzZV9pZCkpO3ZhciBsPXM/cy50YXNrSWQ6bnVsbDsoIWl8fGkua2V5IT09bCkmJihpPXtrZXk6bCxzdWJhZ2VudDpzLGJsb2NrczpbXSxmaXJzdEluZGV4OmF9LG4ucHVzaChpKSksaS5ibG9ja3MucHVzaCh1KX1yZXR1cm4gbn1mdW5jdGlvbiBrdShlLHQsbixpLGEsdSl7dmFyIG89IiIscz11fHx7fTt0cnl7Zm9yKHZhciBsPWZtKGUpLGQ9MDtkPGwubGVuZ3RoO2QrKyl7dmFyIGY9bFtkXTt0cnl7aWYoZi50eXBlPT09Imdyb3VwIil7Zm9yKHZhciBjPVtdLHY9MDt2PGYuaXRlbXMubGVuZ3RoO3YrKyljLnB1c2goe2Jsb2NrOmYuaXRlbXNbdl0uYmxvY2ssaW5kZXg6Zi5pdGVtc1t2XS5pbmRleCt0fSk7bys9dm0oYyxuLGksYSxzKX1lbHNlIG8rPU1sKGYuYmxvY2ssbixpLGYuaW5kZXgrdCxhLHMpfWNhdGNoe28rPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NkQ4OFx1NjA2Rlx1NTc1N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9fX1jYXRjaHtvKz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTZEODhcdTYwNkZcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybiBvfWZ1bmN0aW9uIFRsKGUsdCxuLGksYSx1KXtmb3IodmFyIG89dXx8e30scz1vLnNob3dIYW5kb2ZmIT09ITEsbD0iIixkPW51bGwsZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgYz1lW2ZdLHY9Yy5zdWJhZ2VudD97aW5TdWJhZ2VudFBhbmVsOiEwfTp7fSxoPWt1KGMuYmxvY2tzLGMuZmlyc3RJbmRleCx0LGksYSx2KTtpZighKCFofHwhaC50cmltKCkpKWlmKGMuc3ViYWdlbnQpe3ZhciBtPXMmJmQhPT1jLnN1YmFnZW50LnRhc2tJZDtsKz1EbShjLG4saCxhLG0pLGQ9Yy5zdWJhZ2VudC50YXNrSWR9ZWxzZSBsKz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLXNlZ21lbnQgcGFyZW50Ij4nK3NyKHQpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+JytoKyI8L2Rpdj48L2Rpdj4iLGQ9bnVsbH1yZXR1cm4gbH1mdW5jdGlvbiBEbShlLHQsbixpLGEpe3ZhciB1PWUuc3ViYWdlbnQsbz13bCh1KSxzPUNsKHUpLGw9dS50YXNrSWR8fCIiLGQ9S2koSmkobykpLGY9a20oZS5ibG9ja3MpLGM7aWYoYSl7dmFyIHY9ISEodS50YXNrRGVzY3JpcHRpb24mJlN0cmluZyh1LnRhc2tEZXNjcmlwdGlvbikudHJpbSgpKSxoPXY/JzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YXNrLWRlc2MiPicrcCh1LnRhc2tEZXNjcmlwdGlvbikrIjwvc3Bhbj4iOic8c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtdGFzay1kZXNjIj4nK3AoU2UoInN1YmFnZW50LmNvbnRpbnVlZCIpKSsiPC9zcGFuPiI7Yz0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9uIj48c3Ryb25nIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1uYW1lIj4nK3AocykrJzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YWciIHRpdGxlPSInK3AoU2UoInN1YmFnZW50LnRhZ190aXRsZSIpKSsnIj4nK3AoU2UoInN1YmFnZW50LnRhZyIpKSsiPC9zcGFuPiIraCsiPC9zcGFuPiJ9ZWxzZSBjPSc8c3BhbiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtYXR0cmlidXRpb24iPjxzdHJvbmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLW5hbWUiPicrcChzKSsnPC9zdHJvbmc+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhc2stZGVzYyI+ICcrcChTZSgic3ViYWdlbnQuY29udGludWVkIikpKyI8L3NwYW4+PC9zcGFuPiI7dmFyIG09TXQoInN1YmFnZW50LXBhbmVsIixbaSxsXSk7cmV0dXJuJzxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsIiBkYXRhLWV4cGFuZC1raW5kPSJzdWJhZ2VudC1wYW5lbCIgZGF0YS1leHBhbmQta2V5PSInK3AobSkrJyIgZGF0YS1hZ2VudC1pZD0iJytwKGwpKyciIGRhdGEtZXhwYW5kZWQ9InRydWUiIHN0eWxlPSItLWFnZW50LWNvbG9yOicrby5wcmltYXJ5KyciPjxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsLWhlYWRlciIgYXJpYS1sYWJlbD0iJytwKFNlKCJzdWJhZ2VudC50aXRsZV9hcmlhIikpKyciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1hdmF0YXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2QrIjwvc3Bhbj4iK2MrJzxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1jb3VudCI+JytwKGYrIiBcdTY3NjFcdTUxODVcdTVCQjkiKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN1YmFnZW50LXBhbmVsLWJvZHkiPicrbisiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBrbShlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07IWl8fCFpLnR5cGV8fGkudHlwZSE9PSJ0b29sX3Jlc3VsdCImJihpLnR5cGU9PT0idGV4dCImJiFTdHJpbmcoaS50ZXh0fHwiIikudHJpbSgpJiYhaS5fX3Byb2Nlc3Npbmd8fGkudHlwZT09PSJ0aGlua2luZyImJiFTdHJpbmcoaS50aGlua2luZ3x8IiIpLnRyaW0oKXx8dCsrKX1yZXR1cm4gTWF0aC5tYXgoMSx0KX1mdW5jdGlvbiBBbShlLHQsbixpKXt2YXIgYT1lLnJvbGUsdT1obyhlLG4pLG89YT09PSJhc3Npc3RhbnQiP3htKHQpOiIiLHM9YT09PSJ1c2VyIiYmZS5jb250ZW50JiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5fX3F1ZXVlZH0pO2lmKCFlLmNvbnRlbnR8fGUuY29udGVudC5sZW5ndGg9PT0wKXJldHVybiBhPT09ImFzc2lzdGFudCI/JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyI+JytzcihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPjxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2PicrbysiPC9kaXY+PC9kaXY+IjonPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIGVtcHR5LW1lc3NhZ2UiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK3NyKGEpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+PHNwYW4gY2xhc3M9ImVtcHR5LW1lc3NhZ2UtaGludCI+XHVGRjA4XHU3QTdBXHU2RDg4XHU2MDZGXHVGRjA5PC9zcGFuPjwvZGl2PjwvZGl2Pic7dmFyIGw9c20oZS5jb250ZW50KSxkPUN1KCJhc3Npc3RhbnQiKTtpZihhIT09ImFzc2lzdGFudCIpe3ZhciBmPUlsKGUuY29udGVudCxpKSxjPWYuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5zdWJhZ2VudH0pLHY9cz8iIHF1ZXVlZCI6IiIsaD1zPyc8c3BhbiBjbGFzcz0icXVldWVkLWJhZGdlIj5cdTYzOTJcdTk2MUZcdTRFMkQ8L3NwYW4+JzoiIjtpZihjKXt2YXIgbT1UbChmLGEsZC5uYW1lLGwsdSx7c2hvd0hhbmRvZmY6ITF9KTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSt2KycgbXVsdGktYWdlbnQiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK20raCsiPC9kaXY+In12YXIgZz1rdShlLmNvbnRlbnQsMCxhLGwsdSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErdisnIiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytzcihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicrZytoKyI8L2Rpdj48L2Rpdj4ifXZhciB5PUlsKGUuY29udGVudCxpKSxCPXkuc29tZShmdW5jdGlvbihEKXtyZXR1cm4gRC5zdWJhZ2VudH0pO2lmKCFCKXt2YXIgRT1rdShlLmNvbnRlbnQsMCxhLGwsdSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyIgZGF0YS1tZXNzYWdlLWtleT0iJytwKHUpKyciPicrc3IoYSkrJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZS1jb250ZW50Ij4nK0UrbysiPC9kaXY+PC9kaXY+In12YXIgQz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JztyZXR1cm4gQys9VGwoeSxhLGQubmFtZSxsLHUse3Nob3dIYW5kb2ZmOiEwfSksQys9byxDKz0iPC9kaXY+IixDfWZ1bmN0aW9uIEtyKGUpe3JldHVybiBlPj0xZTY/KGUvMWU2KS50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCIiKSsiTSI6ZT49MWUzPyhlLzFlMykudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLywiIikrImsiOlN0cmluZyhNYXRoLm1heCgwLE1hdGgucm91bmQoZXx8MCkpKX1mdW5jdGlvbiB4bShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1lLmVzdGltYXRlZD09PSEwLG49W107cmV0dXJuKGUuaW5wdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU4RjkzXHU1MTY1ICIrS3IoZS5pbnB1dFRva2VucykpLChlLmNhY2hlUmVhZElucHV0VG9rZW5zfHwwKT4wJiZuLnB1c2goIlx1N0YxM1x1NUI1OFx1NTQ3RFx1NEUyRCAiK0tyKGUuY2FjaGVSZWFkSW5wdXRUb2tlbnMpKSwoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU3RjEzXHU1QjU4XHU1MTk5XHU1MTY1ICIrS3IoZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMpKSwoZS5vdXRwdXRUb2tlbnN8fDApPjAmJm4ucHVzaCgiXHU4RjkzXHU1MUZBICIrKHQ/Ilx1MjI0OCI6IiIpK0tyKGUub3V0cHV0VG9rZW5zKSksKGUucmVhc29uaW5nT3V0cHV0VG9rZW5zfHwwKT4wJiZuLnB1c2goIlx1NjNBOFx1NzQwNiAiKyh0PyJcdTIyNDgiOiIiKStLcihlLnJlYXNvbmluZ091dHB1dFRva2VucykpLChlLnRvdGFsQ29zdFVzZHx8MCk+MCYmbi5wdXNoKCIkIitOdW1iZXIoZS50b3RhbENvc3RVc2QpLnRvRml4ZWQoNCkucmVwbGFjZSgvMCskLywiIikucmVwbGFjZSgvXC4kLywiIikpLG4ubGVuZ3RoPT09MCYmdCYmbi5wdXNoKCJcdTZCNjNcdTU3MjhcdTdFREZcdThCQTFcdTc1MjhcdTkxQ0ZcdTIwMjYiKSxuLmxlbmd0aD09PTA/IiI6JzxkaXYgY2xhc3M9InR1cm4tdXNhZ2Utc3VtbWFyeScrKHQ/IiBpcy1lc3RpbWF0ZWQiOiIiKSsnIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWxhYmVsPSJcdTY3MkNcdThGNkVcdTc1MjhcdTkxQ0YgJytwKG4uam9pbigiXHVGRjBDIikpKyciPjxzdmcgY2xhc3M9InR1cm4tdXNhZ2UtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIuNSAxMy41aDExTTQgMTFWNy41TTggMTFWM00xMiAxMVY1LjUiLz48L3N2Zz48c3Bhbj4nK3Aobi5qb2luKCIgXHhCNyAiKSkrIjwvc3Bhbj48L2Rpdj4ifXZhciBTbT0vXlxzKlxb6ZmE5Lu25bey5LiK5Lyg77yM6K+35p+l55yL5Lul5LiL5paH5Lu2OlxuKFtcc1xTXSo/KVxdXG4rLztmdW5jdGlvbiBJbShlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtpZighdClyZXR1cm4iIjt2YXIgbj10LnNwbGl0KCIvIikucG9wKCl8fHQ7aWYoWnUodCkpe3ZhciBpPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodCk7cmV0dXJuJzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC1pbWFnZSI+PGltZyBjbGFzcz0idXNlci1hdHRhY2htZW50LXRodW1iIiBsb2FkaW5nPSJsYXp5IiBzcmM9IicraSsnIiBhbHQ9IicrcChuKSsnIiBkYXRhLXBhdGg9IicrcCh0KStgIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXdpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXRoJykpOyIgb25lcnJvcj0idmFyIHc9dGhpcy5jbG9zZXN0KCcudXNlci1hdHRhY2htZW50LWltYWdlJyk7IGlmKHcpdy5zdHlsZS5kaXNwbGF5PSdub25lJzsiIC8+PC9kaXY+YH1yZXR1cm4nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUiIGRhdGEtcGF0aD0iJytwKHQpK2AiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpZih3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcpd2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXBhdGgnKSk7Ij48c3BhbiBjbGFzcz0idXNlci1hdHRhY2htZW50LWZpbGUtaWNvbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNOSAxLjVINGExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xVjUuNUw5IDEuNXoiLz48cGF0aCBkPSJNOSAxLjVWNS41aDQiLz48L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9InVzZXItYXR0YWNobWVudC1maWxlLW5hbWUiPmArcChuKSsiPC9zcGFuPjwvZGl2PiJ9ZnVuY3Rpb24gTGwoZSl7dmFyIHQ9ZXx8IiIsbj10Lm1hdGNoKFNtKTtpZighbilyZXR1cm4gcCh0KTtmb3IodmFyIGk9IiIsYT1uWzFdLnNwbGl0KGAKYCksdT0wO3U8YS5sZW5ndGg7dSsrKWkrPUltKGFbdV0pO3ZhciBvPXQuc2xpY2UoblswXS5sZW5ndGgpLHM9aT8nPGRpdiBjbGFzcz0idXNlci1hdHRhY2htZW50cyI+JytpKyI8L2Rpdj4iOiIiLGw9by50cmltKCk/JzxkaXYgY2xhc3M9InVzZXItYXR0YWNobWVudC10ZXh0Ij4nK3AobykrIjwvZGl2PiI6IiI7cmV0dXJuIHMrbH1mdW5jdGlvbiBNbChlLHQsbixpLGEsdSl7dmFyIG89dXx8e307aWYoIWV8fCFlLnR5cGV8fCFvLmluU3ViYWdlbnRQYW5lbCYmZS50eXBlPT09InRvb2xfdXNlIiYmZS5fX3N1YmFnZW50JiZlLl9fc3ViYWdlbnQudGFza0lkPT09ZS5pZClyZXR1cm4iIjtpZihlLnR5cGU9PT0idG9vbF9yZXN1bHQiJiZlLl9fc3ViYWdlbnQmJmUuX19zdWJhZ2VudC50YXNrSWQ9PT1lLnRvb2xfdXNlX2lkKXJldHVybiBvbShlLHQpO3N3aXRjaChlLnR5cGUpe2Nhc2UidGV4dCI6cmV0dXJuIHQ9PT0iYXNzaXN0YW50IiYmZS5fX3Byb2Nlc3Npbmc/JzxkaXYgY2xhc3M9InR5cGluZy1pbmRpY2F0b3IiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvZGl2Pic6dD09PSJhc3Npc3RhbnQiP3h1KGUudGV4dHx8IiIpOkxsKGUudGV4dHx8IiIpO2Nhc2UidGhpbmtpbmciOnZhciBzPWUudGhpbmtpbmd8fCIiLGw9ZS50aGlua2luZz09PXZvaWQgMCYmZS50eXBlPT09InRoaW5raW5nIjtpZihsKXJldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctc3RyZWFtaW5nIiBkYXRhLXRoaW5raW5nPSIiPjxkaXYgY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pbm5lciI+PHNwYW4gY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy1pY29uIHNwaW5uaW5nIj5cdTI5QkY8L3NwYW4+PGRpdiBjbGFzcz0idGhpbmtpbmctc3RyZWFtaW5nLXRleHQiPjwvZGl2PjwvZGl2PjwvZGl2Pic7aWYoIXMudHJpbSgpKXJldHVybiIiO3ZhciBkPXMubGVuZ3RoPjYwP3Muc2xpY2UoMCw1NykrIlx1MjAyNiI6cyxmPU10KCJ0aGlua2luZyIsW2EsaV0pLGM9d3QoZiksdj1jPT09bnVsbD9XbigidGhpbmtpbmciKTpjO3JldHVybic8ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgJysodj8iZXhwYW5kZWQiOiJjb2xsYXBzZWQiKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0aGlua2luZyIgZGF0YS1leHBhbmQta2V5PSInK3AoZikrJyIgZGF0YS10aGlua2luZz0iJytwKHMpKyciIG9uY2xpY2s9Il9fdGhpbmtpbmdUb2dnbGUodGhpcykiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtaWNvbiI+XHUyOUJGPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtcHJldmlldyI+JytwKHY/czpkKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyh2PyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PiI7Y2FzZSJ0b29sX3VzZSI6dmFyIGg9a2wobixlLmlkKSxtPVBtKGUsaCxpLGEsbyk7cmV0dXJuIGxtKG4sZS5pZCkmJihtPWRtKGUubmFtZXx8Ilx1NURFNVx1NTE3NyIpK20pLG07Y2FzZSJ0b29sX3Jlc3VsdCI6cmV0dXJuIiI7ZGVmYXVsdDp2YXIgZz1lJiZlLnR5cGU/U3RyaW5nKGUudHlwZSk6Ilx1NjcyQVx1NzdFNSIseT0iIjt0cnl7eT1KU09OLnN0cmluZ2lmeShlLG51bGwsMil9Y2F0Y2h7eT0ie30ifXJldHVybmA8ZGl2IGNsYXNzPSJ1bmtub3duLWJsb2NrIGNvbGxhcHNlZCIgb25jbGljaz0idGhpcy5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKSI+PGRpdiBjbGFzcz0idW5rbm93bi1ibG9jay1oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLWljb24iPj88L3NwYW4+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2stbGFiZWwiPlx1NjcyQVx1OEJDNlx1NTIyQlx1NzY4NFx1NTE4NVx1NUJCOVx1NTc1N1x1RkYxQWArcChnKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ1bmtub3duLWJsb2NrLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxwcmUgY2xhc3M9InVua25vd24tYmxvY2stYm9keSI+JytwKHkpKyI8L3ByZT48L2Rpdj4ifX1mdW5jdGlvbiBUbShlLHQsbixpLGEsdSxvLHMpe3ZhciBsPXN8fHt9LGQ9ZS5pZHx8InRvb2wtIituLGY9TXQoImlubGluZS10b29sIixbdSxkfHxvLG9dKSxjPXd0KGYpLHY9ZS5pbnB1dHx8e30saD1Cbih0JiZ0LmNvbnRlbnQpLG09dCYmdC5pc19lcnJvcixnPWgubGVuZ3RoPjAseT1tPyJcdTI3MTciOmc/Ilx1MjcxMyI6Ilx1MjAyNiIsQj0iIixFPSIiLEM9IiIsRD0iIjtpZihuPT09IlJlYWQiKXtCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNMSAzLjVBMS41IDEuNSAwIDAgMSAyLjUgMmgyLjc2NGMuOTU4IDAgMS43Ni41NiAyLjMxMSAxLjE4NEM4LjQwNSAzLjc3IDkuMTQ2IDQgMTAgNGgzLjVBMS41IDEuNSAwIDAgMSAxNSA1LjV2N2ExLjUgMS41IDAgMCAxLTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgMSAxMi41di05eiIvPjxwYXRoIGQ9Ik0yIDUuNWgxMk0yIDhoOE0yIDEwLjVoNSIvPjwvc3ZnPic7dmFyIEY9di5maWxlX3BhdGh8fHYucGF0aHx8aXx8IiIsTD0iIjt2LmxpbWl0JiYoTD0iICIrdi5vZmZzZXQrIi0iKyh2Lm9mZnNldCt2LmxpbWl0KSksRT1GLEM9TH1lbHNlIGlmKG49PT0iR2xvYiIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSI1Ii8+PHBhdGggZD0iTTEwLjUgMTAuNUwxNCAxNCIvPjwvc3ZnPic7dmFyIEk9di5wYXR0ZXJufHwiIixOPXYucGF0aHx8aXx8IiI7RT1JLEM9Tn1lbHNlIGlmKG49PT0iR3JlcCIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjYuNSIgY3k9IjYuNSIgcj0iNC41Ii8+PHBhdGggZD0iTTExLjUgMTEuNUwxNSAxNSIvPjwvc3ZnPic7dmFyIEk9di5wYXR0ZXJufHwiIixOPXYucGF0aHx8aXx8IiI7RT1JLEM9Tix2LmNvbnRleHQmJihDKz0iIC1DIit2LmNvbnRleHQpfWVsc2UgaWYobj09PSJXZWJGZXRjaCIpe0I9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSI2LjUiLz48cGF0aCBkPSJNOCAxLjV2MTNNMS41IDhoMTMiLz48L3N2Zz4nO3ZhciBLPXYudXJsfHwiIjtFPUssQz1hfHwiIn1lbHNlIGlmKG49PT0iV2ViU2VhcmNoIil7Qj0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PGNpcmNsZSBjeD0iNyIgY3k9IjciIHI9IjUiLz48cGF0aCBkPSJNMTAuNSAxMC41TDE0IDE0Ii8+PHBhdGggZD0iTTUgN2g0TTcgNXY0Ii8+PC9zdmc+Jzt2YXIgVz12LnF1ZXJ5fHwiIjtFPVcsQz1hfHwiIn1lbHNlIG49PT0iVG9kb1JlYWQiPyhCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIyIi8+PHBhdGggZD0iTTUgOGwyIDIgNC00Ii8+PC9zdmc+JyxFPSJcdThCRkJcdTUzRDZcdTVGODVcdTUyOUVcdTUyMTdcdTg4NjgiLEM9YXx8IiIpOihCPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI4IiBjeT0iOCIgcj0iNi41Ii8+PHBhdGggZD0iTTggNXYzLjVNOCAxMWguMDEiLz48L3N2Zz4nLEU9QXUobiksQz1hfHwiIik7aWYoZyl7dmFyIGs9aC5zcGxpdChgCmApO2subGVuZ3RoPjEwP0Q9ay5zbGljZSgwLDEwKS5qb2luKGAKYCkrYApcdTIwMjZgOkQ9aH12YXIgVD1wKGgpLE09cChEKSxYPWgsaj0iIixKPWwuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6Yz09PW51bGw/V24oImlubGluZVRvb2xzIik6YztnP2o9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLWV4cGFuZGVkIiBzdHlsZT0iZGlzcGxheTogJysoSj8iYmxvY2siOiJub25lIikrJzsiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdCI+JytQbChoLG4pKyI8L2Rpdj48L2Rpdj4iOm0/aj0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhKPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0IGlubGluZS10b29sLWVycm9yIj4nK3AoaHx8Ilx1NjRDRFx1NEY1Q1x1NTkzMVx1OEQyNSIpKyI8L2Rpdj48L2Rpdj4iOnR8fChqPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1leHBhbmRlZCIgc3R5bGU9ImRpc3BsYXk6ICcrKEo/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1sb2FkaW5nIj5cdTdCNDlcdTVGODVcdTU0Q0RcdTVFOTRcdTIwMjY8L2Rpdj48L2Rpdj4nKTt2YXIgUD10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCx1ZT0iIjtpZihuPT09IlJlYWQiKXt2YXIgaWU9di5maWxlX3BhdGh8fHYucGF0aHx8aXx8IiI7aWYoaWUmJlp1KGllKSl7dmFyIGNlPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQoaWUpO3VlPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1pbWFnZSIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij48aW1nIGNsYXNzPSJpbmxpbmUtdG9vbC1pbWFnZS10aHVtYiIgbG9hZGluZz0ibGF6eSIgc3JjPSInK2NlKyciIGFsdD0iJytwKEYpKyciIGRhdGEtcGF0aD0iJytwKGllKStgIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXdpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXRoJykpOyIgb25lcnJvcj0idmFyIHc9dGhpcy5jbG9zZXN0KCcuaW5saW5lLXRvb2wtaW1hZ2UnKTsgaWYodyl3LnN0eWxlLmRpc3BsYXk9J25vbmUnOyIgLz48L2Rpdj5gfX12YXIgRz1DPyc8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtbWV0YSI+JytwKEMpKyI8L3NwYW4+IjoiIixlZT1tPyJpbmxpbmUtdG9vbC1lcnJvci1pbmxpbmUiOiIiO0omJihlZSs9IiBpbmxpbmUtdG9vbC1vcGVuIik7dmFyIGFlPVA/J2RhdGEtdHJ1bmNhdGVkPSJ0cnVlIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AoZS5pZHx8IiIpKyciICc6IiI7cmV0dXJuJzxkaXYgY2xhc3M9ImlubGluZS10b29sICcrZWUrJyIgZGF0YS1leHBhbmQta2luZD0iaW5saW5lLXRvb2wiIGRhdGEtZXhwYW5kLWtleT0iJytwKGYpKyciIGRhdGEtcmVzdWx0PSInK3AoWCkrJyIgZGF0YS1wcmV2aWV3PSInK00rJyIgZGF0YS1zdGF0dXM9IicrKG0/ImVycm9yIjpnPyJkb25lIjoicGVuZGluZyIpKyciICcrYWUrJ29uY2xpY2s9Il9faW5saW5lVG9vbFRvZ2dsZSh0aGlzKSI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcm93Ij48c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtc3RhdHVzIj4nK3krIjwvc3Bhbj4iK0IrJzxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC10aXRsZSI+JytwKEUpKyI8L3NwYW4+IitHKyI8L2Rpdj4iK3VlK2orIjwvZGl2PiJ9ZnVuY3Rpb24gTG0oZSx0LG4saSxhLHUpe3ZhciBvPXV8fHt9LHM9ZS5pbnB1dHx8e30sbD1zLmNvbW1hbmR8fHMuY21kfHwiIixkPUJuKHQmJnQuY29udGVudCksZj1lLmlkfHwidG9vbC0iK24sYz1NdCgidGVybWluYWwiLFtpLGZ8fGEsYV0pLHY9d3QoYyksaD10JiZ0LmlzX2Vycm9yLG09cy5leGl0Q29kZSxnPWQubGVuZ3RoPjAseT0iIjt0P2g/eT0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLWVycm9yIj48L3NwYW4+JzptPT09MHx8bT09PXZvaWQgMD95PSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0tc3VjY2VzcyI+PC9zcGFuPic6eT0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLXdhcm4iPjwvc3Bhbj4nOnk9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS1ydW5uaW5nIj48L3NwYW4+Jztmb3IodmFyIEI9JzxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4nLEU9cChsKSxDPWQuc3BsaXQoYApgKSxEPSIiLEY9MDtGPEMubGVuZ3RoO0YrKyl7dmFyIEw9Q1tGXTshTCYmRj09PUMubGVuZ3RoLTF8fChEKz0nPGRpdiBjbGFzcz0idGVybS1saW5lIj4nK3AoTCkrIjwvZGl2PiIpfXZhciBJPSIiO2lmKHQmJm0hPT12b2lkIDApe3ZhciBOPW09PT0wPyJ0ZXJtLWV4aXQtc3VjY2VzcyI6InRlcm0tZXhpdC1lcnJvciI7ST0nPGRpdiBjbGFzcz0idGVybS1leGl0ICcrTisnIj5leGl0ICcrbSsiPC9kaXY+In12YXIgSz1sLmxlbmd0aD44MD9sLnNsaWNlKDAsNzcpKyJcdTIwMjYiOmwsVz1vLmZvcmNlRXhwYW5kZWRUb29sQm9kaWVzPyEwOnY9PT1udWxsP1duKCJ0ZXJtaW5hbCIpOnYsaz10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCxUPWs/JyBkYXRhLXRydW5jYXRlZD0idHJ1ZSIgZGF0YS10b29sLXVzZS1pZD0iJytwKGUuaWR8fCIiKSsnIic6IiI7cmV0dXJuJzxkaXYgY2xhc3M9ImlubGluZS10ZXJtaW5hbCIgZGF0YS1leHBhbmQta2luZD0idGVybWluYWwiIGRhdGEtZXhwYW5kLWtleT0iJytwKGMpKyciIGRhdGEtZXhwYW5kZWQ9IicrKFc/InRydWUiOiJmYWxzZSIpKyciJytUKyc+PGRpdiBjbGFzcz0idGVybS1oZWFkZXIiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGFyaWEtZXhwYW5kZWQ9IicrKFc/InRydWUiOiJmYWxzZSIpK2AiIG9uY2xpY2s9Il9fdGVybWluYWxFeHBhbmQodGhpcykiIG9ua2V5ZG93bj0iaWYoZXZlbnQua2V5PT09J0VudGVyJ3x8ZXZlbnQua2V5PT09JyAnKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO19fdGVybWluYWxFeHBhbmQodGhpcyk7fSI+YCt5Kyc8c3BhbiBjbGFzcz0idGVybS1jbWQtcHJldmlldyI+PHNwYW4gY2xhc3M9InRlcm0tcHJvbXB0Ij4kPC9zcGFuPiAnK3AoSykrJzwvc3Bhbj48c3BhbiBjbGFzcz0idGVybS10b2dnbGUtaWNvbiI+JysoVz8iXHUyNUJDIjoiXHUyNUI2IikrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXJtLWJvZHkiIGFyaWEtaGlkZGVuPSInKyhXPyJmYWxzZSI6InRydWUiKSsnIiBzdHlsZT0iZGlzcGxheTonKyhXPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0idGVybS1jb21tYW5kIj48c3BhbiBjbGFzcz0idGVybS1wcm9tcHQiPiQ8L3NwYW4+ICcrRSsiPC9kaXY+IisoRD8nPGRpdiBjbGFzcz0idGVybS1vdXRwdXQiPicrRCsiPC9kaXY+IjoiIikrSSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBCbihlKXtyZXR1cm4gZT90eXBlb2YgZT09InN0cmluZyI/ZTpBcnJheS5pc0FycmF5KGUpP2UubWFwKGZ1bmN0aW9uKHQpe2lmKCF0fHx0eXBlb2YgdCE9Im9iamVjdCIpcmV0dXJuIiI7aWYodC50eXBlPT09InRleHQiJiZ0eXBlb2YgdC50ZXh0PT0ic3RyaW5nIilyZXR1cm4gdC50ZXh0O3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9Y2F0Y2h7cmV0dXJuIiJ9fSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oYApgKToiIjoiIn1mdW5jdGlvbiBNbShlLHQsbixpLGEsdSl7dmFyIG89dXx8e30scz1lLmlucHV0fHx7fSxsPXMuZmlsZV9wYXRofHxzLnBhdGh8fCIiLGQ9bC5zcGxpdCgiLyIpLnBvcCgpfHxsLGY9ZS5pZHx8InRvb2wtIituKyItIisodHlwZW9mIGE9PSJudW1iZXIiP2E6MCksYz1zLm9sZF9zdHJpbmd8fCIiLHY9cy5uZXdfc3RyaW5nfHxzLmNvbnRlbnR8fCIiLGg9cy5vbGRfY29udGVudHx8IiIsbT1zLm5ld19jb250ZW50fHwiIixnPXMudW5pZmllZF9kaWZmfHxzLmRpZmZ8fCIiLHk9cy5raW5kfHwiIixCPW49PT0iV3JpdGUifHxuPT09Ik11bHRpRWRpdCIsRT10JiZ0LmlzX2Vycm9yLEM9Qm4odCYmdC5jb250ZW50KSxEPSEhKEMmJkMudHJpbSgpLmxlbmd0aD4wKSxGPSIiLEw9IiIsST0iIjtnP0k9JzxkaXYgY2xhc3M9ImRpZmYtY29sIGRpZmYtY29sLWZ1bGwiPjxkaXYgY2xhc3M9ImRpZmYtY29sLWxhYmVsIj5EaWZmPC9kaXY+JytPbShnKSsiPC9kaXY+IjpCP0w9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLWFkZCI+KyAnK3AobSkrIjwvZGl2PiI6KGMmJihGPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgZGlmZi1yZW1vdmUiPi0gJytwKGMpKyI8L2Rpdj4iKSx2JiYoTD0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtYWRkIj4rICcrcCh2KSsiPC9kaXY+IikpO3ZhciBOPSIiLEs9IiI7dD9FPyhOPSJkaWZmLWVycm9yIixLPUMuaW5kZXhPZigiaGF2ZW4ndCBncmFudGVkIikhPT0tMXx8Qy5pbmRleE9mKCJwZXJtaXNzaW9uIikhPT0tMT8iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjoiXHU1OTMxXHU4RDI1Iik6KE49ImRpZmYtc3VjY2VzcyIsSz15PT09ImFkZCI/Ilx1NURGMlx1NjVCMFx1NTg5RSI6eT09PSJkZWxldGUiPyJcdTVERjJcdTUyMjBcdTk2NjQiOnk9PT0ibW92ZSI/Ilx1NURGMlx1NzlGQlx1NTJBOCI6Ilx1NURGMlx1NEZFRVx1NjUzOSIpOihOPSJkaWZmLXBlbmRpbmciLEs9Ilx1NjI2N1x1ODg0Q1x1NEUyRCIpO3ZhciBXPU10KCJkaWZmIixbaSxmfHxhLGFdKSxrPXd0KFcpLFQ9V24oImVkaXRDYXJkcyIpLE09by5mb3JjZUV4cGFuZGVkVG9vbEJvZGllcz8hMDprPT09bnVsbD9UOmssWD1NPyIiOiIgY29sbGFwc2VkIixqPSFJJiZGJiZMLEo9aj8iZGlmZi1jb2wtaGFsZiI6ImRpZmYtY29sLWZ1bGwiLFA9SXx8KGo/JzxkaXYgY2xhc3M9ImRpZmYtY29sICcrSisnIj48ZGl2IGNsYXNzPSJkaWZmLWNvbC1sYWJlbCI+XHU2NUU3PC9kaXY+JytGKyI8L2Rpdj4iOiIiKSsnPGRpdiBjbGFzcz0iZGlmZi1jb2wgJytKKyciPjxkaXYgY2xhc3M9ImRpZmYtY29sLWxhYmVsIj4nKyhqPyJcdTY1QjAiOiIiKSsiPC9kaXY+IisoTHx8Rnx8T2wobCkpKyI8L2Rpdj4iLHVlPWw/JzxidXR0b24gY2xhc3M9ImRpZmYtb3Blbi1maWxlIiB0eXBlPSJidXR0b24iIGRhdGEtcGF0aD0iJytwKGwpK2AiIHRpdGxlPSJcdTYyNTNcdTVGMDBcdTY1ODdcdTRFRjYiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBpZih3aW5kb3cuX19vcGVuRmlsZVByZXZpZXcpd2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXBhdGgnKSk7Ij5cdTYyNTNcdTVGMDA8L2J1dHRvbj5gOiIiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtZGlmZicrWCsnIiBkYXRhLXRvb2wtbmFtZT0iJytwKG4pKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImRpZmYiIGRhdGEtZXhwYW5kLWtleT0iJytwKFcpKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcChmKSsnIiBkYXRhLXBhdGg9IicrcChsKSsnIj48ZGl2IGNsYXNzPSJkaWZmLWhlYWRlciIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJysoTT8idHJ1ZSI6ImZhbHNlIikrYCIgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSIgb25rZXlkb3duPSJpZihldmVudC5rZXk9PT0nRW50ZXInfHxldmVudC5rZXk9PT0nICcpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7X190Y1RvZ2dsZShldmVudCx0aGlzKTt9Ij48c3BhbiBjbGFzcz0iZGlmZi1maWxlLWljb24iPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1maWxlLW5hbWUiPmArcChkKSsiPC9zcGFuPiIrRnQobCwiZGlmZi1wYXRoIikrJzxzcGFuIGNsYXNzPSJkaWZmLXN0YXR1cyAnK04rJyI+JytLKyI8L3NwYW4+Iit1ZSsnPHNwYW4gY2xhc3M9ImRpZmYtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iZGlmZi1ib2R5IiBhcmlhLWhpZGRlbj0iJysoTT8iZmFsc2UiOiJ0cnVlIikrJyI+PGRpdiBjbGFzcz0iZGlmZi1jb2x1bW5zIj4nK1ArIjwvZGl2PjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gT20oZSl7Zm9yKHZhciB0PVN0cmluZyhlfHwiIikuc3BsaXQoYApgKSxuPTYwMCxpPSIiLGE9MDthPHQubGVuZ3RoJiZhPG47YSsrKXt2YXIgdT10W2FdLG89ImRpZmYtY29udGV4dCI7L15AQC8udGVzdCh1KT9vPSJkaWZmLWh1bmsiOi9eXCsvLnRlc3QodSkmJiEvXlwrXCtcKy8udGVzdCh1KT9vPSJkaWZmLWFkZCI6L14tLy50ZXN0KHUpJiYhL14tLS0vLnRlc3QodSkmJihvPSJkaWZmLXJlbW92ZSIpLGkrPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgJytvKyciPicrcCh1fHwiICIpKyI8L2Rpdj4ifXJldHVybiB0Lmxlbmd0aD5uJiYoaSs9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLWNvbnRleHQiPlx1MjAyNlx1RkYwOFx1NURGMlx1NjIyQVx1NjVBRCAnKyh0Lmxlbmd0aC1uKSsiIFx1ODg0Q1x1RkYwOTwvZGl2PiIpLGl8fE9sKCIiKX1mdW5jdGlvbiBPbChlKXt2YXIgdD1lPyJcdUZGMENcdTUzRUZcdTYyNTNcdTVGMDBcdTY1ODdcdTRFRjZcdTY3RTVcdTc3MEJcdTVGNTNcdTUyNERcdTUxODVcdTVCQjkiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJkaWZmLWVtcHR5Ij5Db2RleCBcdTY3MkFcdTYzRDBcdTRGOUJcdTUxODVcdTgwNTQgZGlmZicrdCsiXHUzMDAyPC9kaXY+In1mdW5jdGlvbiBQbChlLHQpe3JldHVybiBlPyc8cHJlIGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQtdGV4dCIgc3R5bGU9Im1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvOyI+JytwKGUpKyI8L3ByZT4iOic8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtZW1wdHkiPlx1NjVFMFx1OEY5M1x1NTFGQTwvc3Bhbj4nfWZ1bmN0aW9uIFBtKGUsdCxuLGksYSl7dmFyIHU9YXx8e30sbz1lLm5hbWV8fCJ1bmtub3duIixzPWUuaWR8fCJ0b29sLSIrbysiLSIrKHR5cGVvZiBuPT0ibnVtYmVyIj9uOjApLGw9X20obyxlLmlucHV0KTtpZihvPT09IlJlYWQifHxvPT09Ikdsb2IifHxvPT09IkdyZXAifHxvPT09IldlYkZldGNoInx8bz09PSJXZWJTZWFyY2gifHxvPT09IlRvZG9SZWFkIilyZXR1cm4gVG0oZSx0LG8sbCwiIixpLG4sdSk7aWYobz09PSJCYXNoIilyZXR1cm4gTG0oZSx0LG8saSxuLHUpO2lmKG89PT0iRWRpdCJ8fG89PT0iV3JpdGUifHxvPT09Ik11bHRpRWRpdCIpcmV0dXJuIE1tKGUsdCxvLGksbix1KTtpZihvPT09IkFza1VzZXJRdWVzdGlvbiImJmUuaW5wdXQmJmUuaW5wdXQucXVlc3Rpb25zKXt2YXIgZD1lLmlucHV0LnF1ZXN0aW9ucztpZihkJiZkLmxlbmd0aD4wKXtmb3IodmFyIGY9ISF0LGM9ci5hc2tVc2VyU2VsZWN0aW9uc1tzXXx8e30sdj0hIWMuc3VibWl0dGVkLGg9Zj9Cbih0LmNvbnRlbnQpOiIiLG09aD9oLnRyaW0oKS5zcGxpdChgCmApOltdLGc9IiIseT0wO3k8ZC5sZW5ndGg7eSsrKWlmKGRbeV0uaGVhZGVyKXtnPWRbeV0uaGVhZGVyO2JyZWFrfXZhciBCPWc/JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zdW1tYXJ5Ij4nK3AoZykrIjwvc3Bhbj4iOiIiLEU9IiI7ZC5mb3JFYWNoKGZ1bmN0aW9uKG1lLCQpe3ZhciBzZT0hIW1lLm11bHRpU2VsZWN0LGxlPW1lLnF1ZXN0aW9uPyc8ZGl2IGNsYXNzPSJhc2stdXNlci10aXRsZSI+JytwKG1lLnF1ZXN0aW9uKSsiPC9kaXY+IjoiIixkZT0iIjttZS5vcHRpb25zJiZtZS5vcHRpb25zLmxlbmd0aD4wJiYoZGU9JzxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbnMiIGRhdGEtbXVsdGktc2VsZWN0PSInK3NlKyciPicsbWUub3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKE8sZ2Upe3ZhciBLZT1PLmxhYmVsP3AoTy5sYWJlbCk6Ilx1OTAwOVx1OTg3OSAiKyhnZSsxKSxfZT1PLmRlc2NyaXB0aW9uPyc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tZGVzYyI+JytwKE8uZGVzY3JpcHRpb24pKyI8L2Rpdj4iOiIiO2lmKGYpe3ZhciBHZT1tWyRdfHxtWzBdfHwiIixzdD1HZS5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbihQZSl7cmV0dXJuIFBlLnRyaW0oKX0pLFZ0PXN0LmluZGV4T2YoTy5sYWJlbHx8IiIpIT09LTE7ZGUrPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24gYXNrLXVzZXItb3B0aW9uLXJlYWRvbmx5JysoVnQ/IiBhc2stdXNlci1vcHRpb24tY2hvc2VuIjoiIikrJyI+PHNwYW4gY2xhc3M9ImFzay11c2VyLWluZGljYXRvciI+PC9zcGFuPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1jb250ZW50Ij48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tbGFiZWwiPicrS2UrIjwvZGl2PiIrX2UrIjwvZGl2PjwvZGl2PiJ9ZWxzZXt2YXIgU3Q9KGNbJF18fFtdKS5pbmRleE9mKGdlKSE9PS0xLGl0PXY/IiBkaXNhYmxlZCI6IiI7ZGUrPSc8YnV0dG9uIGNsYXNzPSJhc2stdXNlci1vcHRpb24nKyhTdD8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1vcHRpb24taW5kZXg9IicrZ2UrJyIgZGF0YS1xdWVzdGlvbi1pbmRleD0iJyskKyciIGRhdGEtb3B0aW9uLWxhYmVsPSInK3AoTy5sYWJlbHx8Ilx1OTAwOVx1OTg3OSAiKyhnZSsxKSkrYCIgb25jbGljaz0iX19hc2tTZWxlY3QoJ2ArcChzKSsiJywiKyQrIiwiK2dlKyIsIitzZSsnKSInK2l0Kyc+PHNwYW4gY2xhc3M9ImFzay11c2VyLWluZGljYXRvciI+PC9zcGFuPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1jb250ZW50Ij48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tbGFiZWwiPicrS2UrIjwvZGl2PiIrX2UrIjwvZGl2PjwvYnV0dG9uPiJ9fSksZGUrPSI8L2Rpdj4iKSxFKz0nPGRpdiBjbGFzcz0iYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXAiIGRhdGEtcXVlc3Rpb24taW5kZXg9IicrJCsnIj4nK2xlK2RlKyI8L2Rpdj4ifSk7dmFyIEM9IiI7aWYoIWYpe2Zvcih2YXIgRD0hMCxGPTA7RjxkLmxlbmd0aDtGKyspaWYoIWNbRl18fGNbRl0ubGVuZ3RoPT09MCl7RD0hMTticmVha312YXIgTD0hRHx8dj8iIGRpc2FibGVkIjoiIixJPXY/IiBhc2stdXNlci1zdWJtaXR0ZWQiOiIiLE49dj8iXHU1REYyXHU2M0QwXHU0RUE0Li4uIjoiXHU3ODZFXHU4QkE0XHU2M0QwXHU0RUE0IjtDPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJhc2stdXNlci1zdWJtaXQnK0krJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKHMpK2AiIG9uY2xpY2s9Il9fYXNrU3VibWl0KCdgK3AocykrYCcpImArTCsiPiIrTisiPC9idXR0b24+PC9kaXY+In12YXIgSz0iIjtpZihmJiZoKXt2YXIgVz1oLnRyaW0oKS5yZXBsYWNlKC9cbi9nLCIsICIpO1cubGVuZ3RoPjQwJiYoVz1XLnNsaWNlKDAsMzcpKyIuLi4iKSxLPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtZmlsZSI+JytwKFcpKyI8L3NwYW4+In12YXIgaz1NdCgidG9vbC1jYXJkIixbaSxzXSksVD13dChrKSxNPXUuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6VD09PW51bGw/IWY6VCxYPU0/IiI6IiBjb2xsYXBzZWQiLGo9Zj8iIGFzay11c2VyLWFuc3dlcmVkIjoiIjtyZXR1cm4nPGRpdiBjbGFzcz0idG9vbC11c2UtY2FyZCBhc2stdXNlcicraitYKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcChzKSsnIiBkYXRhLWV4cGFuZC1raW5kPSJ0b29sLWNhcmQiIGRhdGEtZXhwYW5kLWtleT0iJytwKGspKyciPjxkaXYgY2xhc3M9InRvb2wtdXNlLWhlYWRlciIgZGF0YS10b29sLXRvZ2dsZSBvbmNsaWNrPSJfX3RjVG9nZ2xlKGV2ZW50LHRoaXMpIj48c3BhbiBjbGFzcz0idG9vbC11c2UtaWNvbiI+JysoZj8iXHUyNzEzIjoiPyIpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InRvb2wtdXNlLW5hbWUiPlx1NjNEMFx1OTVFRTwvc3Bhbj4nK0IrSysnPHNwYW4gY2xhc3M9InRvb2wtdXNlLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InRvb2wtdXNlLWJvZHkgYXNrLXVzZXItYm9keSI+JytFK0MrIjwvZGl2PjwvZGl2PiJ9fXZhciBKPWUuZGVzY3JpcHRpb258fGUuaW5wdXQmJmUuaW5wdXQuZGVzY3JpcHRpb258fCIiLFA9cW0oZS5uYW1lLGUuaW5wdXQpLHVlPSIiLGllPSIiO0o/KHVlPUoubGVuZ3RoPjgwP0ouc2xpY2UoMCw3NykrIi4uLiI6SixsJiYoaWU9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1maWxlIj4nK3AobCkrIjwvc3Bhbj4iKSk6KHVlPUF1KG8pLGwmJihpZT0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcChsKSsiPC9zcGFuPiIpLFAmJihpZSs9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zdW1tYXJ5Ij4nK3AoUCkrIjwvc3Bhbj4iKSk7dmFyIGNlPWUuaW5wdXQ/SlNPTi5zdHJpbmdpZnkoZS5pbnB1dCxudWxsLDIpOiJ7fSIsRz0ibG9hZGluZyIsZWU9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zcGlubmVyIj48L3NwYW4+JyxhZT0iIjtpZih0KXt2YXIgRmU9dC5pc19lcnJvcixTPUJuKHQuY29udGVudCk7Rz1GZT8iZXJyb3IiOiJzdWNjZXNzIixlZT1xbChvKTt2YXIgcT1TJiZTLnRyaW0oKS5sZW5ndGg+MDtxP2FlPSc8cHJlIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtY29udGVudCI+JytwKFMpKyI8L3ByZT4iOmFlPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWVtcHR5Ij5cdTY1RTBcdThGOTNcdTUxRkE8L3NwYW4+J31lbHNlIGVlPXFsKG8pO3ZhciBfPU10KCJ0b29sLWNhcmQiLFtpLHNdKSxWPXd0KF8pLFo9V24oImVkaXRDYXJkcyIpLHBlPXUuZm9yY2VFeHBhbmRlZFRvb2xCb2RpZXM/ITA6Vj09PW51bGw/WjpWLHJlPXQmJnQuX3RydW5jYXRlZD09PSEwLHZlPXBlPyIiOiIgY29sbGFwc2VkIixCZT0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPic7cmV0dXJuJzxkaXYgY2xhc3M9InRvb2wtdXNlLWNhcmQgJytHK3ZlKyciIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtY2FyZCIgZGF0YS1leHBhbmQta2V5PSInK3AoXykrJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKHMpKyciJysocmU/JyBkYXRhLXRydW5jYXRlZD0idHJ1ZSInOiIiKSsnPjxkaXYgY2xhc3M9InRvb2wtdXNlLWhlYWRlciIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJysocGU/InRydWUiOiJmYWxzZSIpK2AiIGRhdGEtdG9vbC10b2dnbGUgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSIgb25rZXlkb3duPSJpZihldmVudC5rZXk9PT0nRW50ZXInfHxldmVudC5rZXk9PT0nICcpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7X190Y1RvZ2dsZShldmVudCx0aGlzKTt9Ij48c3BhbiBjbGFzcz0idG9vbC11c2UtaWNvbiI+YCtlZSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1uYW1lIj4nK3AodWUpKyI8L3NwYW4+IitpZStCZSsnPC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSIgYXJpYS1oaWRkZW49IicrKHBlPyJmYWxzZSI6InRydWUiKSsnIj4nKyhKPyc8ZGl2IGNsYXNzPSJ0b29sLXVzZS1tZXRhIj48c3BhbiBjbGFzcz0idG9vbC11c2UtbWV0YS1sYWJlbCI+XHU1REU1XHU1MTc3XHVGRjFBPC9zcGFuPicrcChvKSsiPC9kaXY+IjoiIikrJzxwcmUgY2xhc3M9InRvb2wtdXNlLWNvbnRlbnQiPicrcChjZSkrIjwvcHJlPiIrKGFlPyc8ZGl2IGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQiPicrYWUrIjwvZGl2PiI6IiIpKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEF1KGUpe3ZhciB0PXtSZWFkOiJcdThCRkJcdTUzRDZcdTY1ODdcdTRFRjYiLFdyaXRlOiJcdTUxOTlcdTUxNjVcdTY1ODdcdTRFRjYiLEVkaXQ6Ilx1N0YxNlx1OEY5MVx1NjU4N1x1NEVGNiIsTXVsdGlFZGl0OiJcdTU5MUFcdTU5MDRcdTdGMTZcdThGOTEiLEJhc2g6Ilx1NjI2N1x1ODg0Q1x1NTQ3RFx1NEVFNCIsR3JlcDoiXHU2NDFDXHU3RDIyXHU1MTg1XHU1QkI5IixHbG9iOiJcdTY3RTVcdTYyN0VcdTY1ODdcdTRFRjYiLFdlYkZldGNoOiJcdTgzQjdcdTUzRDZcdTdGNTFcdTk4NzUiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyXHU3RjUxXHU5ODc1IixUYXNrOiJcdTRFRkJcdTUyQTEiLFRvZG9Xcml0ZToiXHU2NkY0XHU2NUIwXHU1Rjg1XHU1MjlFIixUb2RvUmVhZDoiXHU4QkZCXHU1M0Q2XHU1Rjg1XHU1MjlFIixOb3RlYm9va0VkaXQ6Ilx1N0YxNlx1OEY5MVx1N0IxNFx1OEJCMFx1NjcyQyIsQWdlbnQ6Ilx1NUI1MFx1NEVFM1x1NzQwNiIsQXNrVXNlclF1ZXN0aW9uOiJcdTYzRDBcdTk1RUUiLEV4aXQ6Ilx1OTAwMFx1NTFGQSJ9O3JldHVybiB0W2VdfHxlfWZ1bmN0aW9uIHFsKGUpe3ZhciB0PXtSZWFkOiJSIixXcml0ZToiVyIsRWRpdDoiRSIsTXVsdGlFZGl0OiJFIixCYXNoOiIkIixHcmVwOiJHIixHbG9iOiJGIixXZWJGZXRjaDoiXHUyMUUzIixXZWJTZWFyY2g6Ilx1MjFFMiIsVGFzazoiVCIsVG9kb1dyaXRlOiJcdTI2MTAiLFRvZG9SZWFkOiJcdTI2MTEiLE5vdGVib29rRWRpdDoiTiIsQWdlbnQ6IkEiLEV4aXQ6Ilx4RDcifTtyZXR1cm4gdFtlXXx8Ilx4QjcifWZ1bmN0aW9uIHFtKGUsdCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aD09PTApcmV0dXJuInt9IjtpZihlPT09IlJlYWQiKXJldHVybiJcdThCRkJcdTUzRDZcdTY1ODdcdTRFRjYiO2lmKGU9PT0iV3JpdGUiKXJldHVybiJcdTUxOTlcdTUxNjVcdTY1ODdcdTRFRjYiO2lmKGU9PT0iRWRpdCIpe3ZhciBpPXQuZWRpdHM/dC5lZGl0cy5sZW5ndGg6MDtyZXR1cm4iXHU3RjE2XHU4RjkxICgiK2krIiBcdTU5MDRcdTRGRUVcdTY1MzkpIn1pZihlPT09IkJhc2giKXt2YXIgYT10LmNvbW1hbmR8fCIiO2lmKGEpe3ZhciB1PWEubGVuZ3RoPjYwP2Euc2xpY2UoMCw2MCkrIi4uLiI6YTtyZXR1cm4iXHU1NDdEXHU0RUU0XHVGRjFBIit1fX1pZihlPT09IkdyZXAiKXt2YXIgbz10LnBhdHRlcm58fCIiLHM9dC5wYXRofHwiIjtpZihvKXJldHVybiJcdTY0MUNcdTdEMjJcdUZGMUEiK28rKHM/IiAoXHU1NzI4ICIrcysiKSI6IiIpfWlmKGU9PT0iR2xvYiIpe3ZhciBvPXQucGF0dGVybnx8IiI7aWYobylyZXR1cm4iXHU2N0U1XHU2MjdFXHVGRjFBIitvfWlmKGU9PT0iQWdlbnQiKXt2YXIgbD10LnByb21wdHx8dC50YXNrfHwiIjtpZihsKXt2YXIgZD1sLmxlbmd0aD40MD9sLnNsaWNlKDAsNDApKyIuLi4iOmw7cmV0dXJuIlx1NEVGQlx1NTJBMVx1RkYxQSIrZH19aWYoZT09PSJUYXNrIil7dmFyIGw9dC50YXNrfHx0LmRlc2NyaXB0aW9ufHwiIjtpZihsKXt2YXIgZD1sLmxlbmd0aD40MD9sLnNsaWNlKDAsNDApKyIuLi4iOmw7cmV0dXJuIlx1NEVGQlx1NTJBMVx1RkYxQSIrZH19aWYoZT09PSJUb2RvV3JpdGUiKXt2YXIgZj10LnRvZG9zfHxbXTtyZXR1cm4iXHU2NkY0XHU2NUIwXHU1Rjg1XHU1MjlFICgiK2YubGVuZ3RoKyIgXHU5ODc5KSJ9aWYoZT09PSJXZWJTZWFyY2giKXt2YXIgYz10LnF1ZXJ5fHwiIjtpZihjKXJldHVybiJcdTY0MUNcdTdEMjJcdUZGMUEiK2N9dmFyIHY9blswXSxoPXRbdl07aWYodHlwZW9mIGg9PSJzdHJpbmciKXt2YXIgbT1oLmxlbmd0aD41MD9oLnNsaWNlKDAsNTApKyIuLi4iOmg7cmV0dXJuIHYrIjogIittfXJldHVybiBuLmxlbmd0aCsiIFx1NEUyQVx1NTNDMlx1NjU3MCJ9ZnVuY3Rpb24gX20oZSx0KXtpZighdClyZXR1cm4gbnVsbDt2YXIgbj10LmZpbGVfcGF0aHx8dC5wYXRofHx0LmN3ZDtyZXR1cm4gbj9uLmxlbmd0aD41MD8iLi4uIituLnNsaWNlKC00Nyk6bjpudWxsfWZ1bmN0aW9uIEhtKGUpe2lmKCFlKXJldHVybiIiO2Zvcih2YXIgdD1gCmAsbj1lLnNwbGl0KHQpLGk9W10sYT0hMSx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBvPW5bdV0scz1vLnRyaW0oKTtpZighKCFhJiYhcykpe2lmKGE9ITAscy5pbmRleE9mKCJcdTIzRkEiKT09PTAmJnMubGVuZ3RoPjIpe2kucHVzaChzLnNsaWNlKDEpLnRyaW0oKSk7Y29udGludWV9aWYocy5pbmRleE9mKCJcdTI1Q0YiKT09PTApe2lmKHM9cy5zbGljZSgxKS50cmltKCksIXMpY29udGludWU7bz1zfWkucHVzaChvKX19Zm9yKDtpLmxlbmd0aD4wJiYhaVtpLmxlbmd0aC0xXS50cmltKCk7KWkucG9wKCk7Zm9yKHZhciBsPVtdLGQ9e30sZj0wO2Y8aS5sZW5ndGg7ZisrKXt2YXIgYz1pW2ZdLnJlcGxhY2UoL1xzKy9nLCIiKTtjLmxlbmd0aD41JiZkW2NdfHwoYy5sZW5ndGg+NSYmKGRbY109ITApLGwucHVzaChpW2ZdKSl9cmV0dXJuIGwuam9pbih0KX1mdW5jdGlvbiBfbChlKXt2YXIgdD1gCmAsbj1lLnNwbGl0KHQpLGk9W10sYT0wO2Z1bmN0aW9uIHUoZyl7dmFyIHk9Zy50cmltKCk7cmV0dXJuIHkuY2hhckF0KDApPT09InwiJiYoeT15LnNsaWNlKDEpKSx5LmNoYXJBdCh5Lmxlbmd0aC0xKT09PSJ8IiYmKHk9eS5zbGljZSgwLC0xKSkseS5zcGxpdCgifCIpfWZ1bmN0aW9uIG8oZyl7cmV0dXJuIGc/JyBzdHlsZT0idGV4dC1hbGlnbjonK2crJyInOiIifWZ1bmN0aW9uIHMoZyx5LEIpe3ZhciBFPSI8dGhlYWQ+PHRyPiIrZy5tYXAoZnVuY3Rpb24oRCxGKXtyZXR1cm4iPHRoIitvKHlbRl0pKyI+IitELnRyaW0oKSsiPC90aD4ifSkuam9pbigiIikrIjwvdHI+PC90aGVhZD4iLEM9Qi5sZW5ndGg/Ijx0Ym9keT4iK0IubWFwKGZ1bmN0aW9uKEQpe3JldHVybiI8dHI+IitELm1hcChmdW5jdGlvbihGLEwpe3JldHVybiI8dGQiK28oeVtMXSkrIj4iK0YudHJpbSgpKyI8L3RkPiJ9KS5qb2luKCIiKSsiPC90cj4ifSkuam9pbigiIikrIjwvdGJvZHk+IjoiIjtyZXR1cm4nPGRpdiBjbGFzcz0ibWQtdGFibGUtd3JhcCI+PHRhYmxlIGNsYXNzPSJtZC10YWJsZSI+JytFK0MrIjwvdGFibGU+PC9kaXY+In1mb3IoO2E8bi5sZW5ndGg7KXt2YXIgbD1uW2FdO2lmKGwuaW5kZXhPZigifCIpIT09LTEmJmErMTxuLmxlbmd0aCl7dmFyIGQ9blthKzFdLnRyaW0oKTtpZigvXlx8P1xzKjo/LSs6PyhccypcfFxzKjo/LSs6PykrXHMqXHw/JC8udGVzdChkKSl7Zm9yKHZhciBmPXUobCksYz11KGQpLm1hcChmdW5jdGlvbihnKXt2YXIgeT1nLnRyaW0oKSxCPXkuY2hhckF0KDApPT09IjoiLEU9eS5jaGFyQXQoeS5sZW5ndGgtMSk9PT0iOiI7cmV0dXJuIEImJkU/ImNlbnRlciI6RT8icmlnaHQiOkI/ImxlZnQiOiIifSksdj1bXSxoPWErMjtoPG4ubGVuZ3RoOyl7dmFyIG09bltoXS50cmltKCk7aWYoIW18fG0uaW5kZXhPZigifCIpPT09LTEpYnJlYWs7di5wdXNoKHUobltoXSkpLGgrPTF9aS5wdXNoKCIiLHMoZixjLHYpLCIiKSxhPWg7Y29udGludWV9fWkucHVzaChsKSxhKz0xfXJldHVybiBpLmpvaW4odCl9ZnVuY3Rpb24geHUoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9W10sbj1wKHMoU3RyaW5nKGUpKSksaT0iYCIsYT1gCmA7ZnVuY3Rpb24gdShTKXt2YXIgcT1TdHJpbmcoU3x8IiIpLnRyaW0oKTtpZighcSlyZXR1cm4gbnVsbDtpZihxLmNoYXJBdCgwKT09PSI8IiYmcS5jaGFyQXQocS5sZW5ndGgtMSk9PT0iPiImJihxPXEuc2xpY2UoMSwtMSkudHJpbSgpKSwvXmZpbGU6XC9cLy9pLnRlc3QocSkpdHJ5e3ZhciBfPW5ldyBVUkwocSk7aWYoXy5wcm90b2NvbCE9PSJmaWxlOiIpcmV0dXJuIG51bGw7cT1kZWNvZGVVUklDb21wb25lbnQoXy5wYXRobmFtZXx8IiIpfWNhdGNoe3E9cS5yZXBsYWNlKC9eZmlsZTpcL1wvKD86bG9jYWxob3N0KT8vaSwiIik7dHJ5e3E9ZGVjb2RlVVJJQ29tcG9uZW50KHEpfWNhdGNoe319ZWxzZSBpZihxLmNoYXJBdCgwKSE9PSIvInx8cS5pbmRleE9mKCIvLyIpPT09MClyZXR1cm4gbnVsbDtyZXR1cm4vXlwvKD86YXBpfGFuZHJvaWR8bWFjb3MpKD86XC98JCkvLnRlc3QocSk/bnVsbDoocT1xLnJlcGxhY2UoLyNMXGQrKD86Q1xkKyk/JC9pLCIiKSxxPXEucmVwbGFjZSgvOlxkKyg/OjpcZCspPyQvLCIiKSxxLmNoYXJBdCgwKT09PSIvIj9xOm51bGwpfWZ1bmN0aW9uIG8oUyxxKXt2YXIgXz1TdHJpbmcoU3x8IiIpLnRyaW0oKTtpZihfLmNoYXJBdCgwKT09PSI8IiYmXy5jaGFyQXQoXy5sZW5ndGgtMSk9PT0iPiImJihfPV8uc2xpY2UoMSwtMSkudHJpbSgpKSwhL14oPzpodHRwcz86XC9cL3xtYWlsdG86fCMpL2kudGVzdChfKSlyZXR1cm4gcTt2YXIgVj1wKF8pLFo9L15odHRwcz86XC9cLy9pLnRlc3QoXyk7cmV0dXJuJzxhIGhyZWY9IicrVisnIicrKFo/JyB0YXJnZXQ9Il9ibGFuayInOiIiKSsnIHJlbD0ibm9vcGVuZXIiPicrcSsiPC9hPiJ9ZnVuY3Rpb24gcyhTKXtmdW5jdGlvbiBxKE8pe2lmKFMuY2hhckF0KE8pPT09IjwiKXt2YXIgZ2U9Uy5pbmRleE9mKCI+IixPKzEpO3JldHVybiBnZT49MCYmUy5jaGFyQXQoZ2UrMSk9PT0iKSI/Z2UrMTotMX1mb3IodmFyIEtlPTAsX2U9TztfZTxTLmxlbmd0aDtfZSs9MSl7aWYoUy5jaGFyQXQoX2UpPT09IlxcIil7X2UrPTE7Y29udGludWV9aWYoUy5jaGFyQXQoX2UpPT09IigiKUtlKz0xO2Vsc2UgaWYoUy5jaGFyQXQoX2UpPT09IikiKXtpZihLZT09PTApcmV0dXJuIF9lO0tlLT0xfX1yZXR1cm4tMX1mb3IodmFyIF89IiIsVj0wLFo9ITEscGU9ITE7VjxTLmxlbmd0aDspe2lmKFMuc2xpY2UoVixWKzMpPT09ImBgYCIpe1o9IVosXys9ImBgYCIsVis9Mztjb250aW51ZX1pZighWiYmUy5jaGFyQXQoVik9PT0iYCIpe3BlPSFwZSxfKz0iYCIsVis9MTtjb250aW51ZX1pZighWiYmIXBlJiZTLmNoYXJBdChWKT09PSJbIiYmUy5jaGFyQXQoVi0xKSE9PSIhIil7dmFyIHJlPVMuaW5kZXhPZigiXSgiLFYrMSksdmU9cmU+PTA/cShyZSsyKTotMTtpZihyZT5WKzEmJnZlPnJlKzIpe3ZhciBCZT1wKFMuc2xpY2UoVisxLHJlKSksbWU9Uy5zbGljZShyZSsyLHZlKS50cmltKCksJD11KG1lKSxzZTtpZigkKXt2YXIgbGU9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZhbXA7cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCgkKTtzZT0nPGEgY2xhc3M9InNlcnZlci1maWxlLWxpbmsiIGhyZWY9IicrbGUrJyIgZGF0YS1zZXJ2ZXItZmlsZS1wYXRoPSInK3AoJCkrYCIgdGl0bGU9Ilx1NjI1M1x1NUYwMFx1NjIxNlx1NEUwQlx1OEY3RFx1NjcwRFx1NTJBMVx1N0FFRlx1NjU4N1x1NEVGNiIgb25jbGljaz0iaWYod2luZG93Ll9fb3BlbkZpbGVQcmV2aWV3KXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO3dpbmRvdy5fX29wZW5GaWxlUHJldmlldyh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zZXJ2ZXItZmlsZS1wYXRoJykpO30iPmArQmUrIjwvYT4ifWVsc2Ugc2U9byhtZSxCZSk7dmFyIGRlPSJXQU5ETUFSS0RPV05MSU5LVE9LRU4iK3QubGVuZ3RoKyJFTkQiO3QucHVzaChzZSksXys9ZGUsVj12ZSsxO2NvbnRpbnVlfX1fKz1TLmNoYXJBdChWKSxWKz0xfXJldHVybiBffWZ1bmN0aW9uIGwoUyl7Zm9yKHZhciBxPTA7cTx0Lmxlbmd0aDtxKz0xKVM9Uy5zcGxpdCgiV0FORE1BUktET1dOTElOS1RPS0VOIitxKyJFTkQiKS5qb2luKHRbcV0pO3JldHVybiBTfWZ1bmN0aW9uIGQoUyxxLF8sVil7Zm9yKHZhciBaPTA7Oyl7dmFyIHBlPVMuaW5kZXhPZihxLFopO2lmKHBlPT09LTEpYnJlYWs7dmFyIHJlPVMuaW5kZXhPZihxLHBlK3EubGVuZ3RoKTtpZihyZT09PS0xKWJyZWFrO3ZhciB2ZT1TLnNsaWNlKHBlK3EubGVuZ3RoLHJlKTtpZighdmUpe1o9cmUrcS5sZW5ndGg7Y29udGludWV9dmFyIEJlPV8rdmUrVjtTPVMuc2xpY2UoMCxwZSkrQmUrUy5zbGljZShyZStxLmxlbmd0aCksWj1wZStCZS5sZW5ndGh9cmV0dXJuIFN9ZnVuY3Rpb24gZihTKXtyZXR1cm4gUz49NDgmJlM8PTU3fHxTPj02NSYmUzw9OTB8fFM+PTk3JiZTPD0xMjJ8fFM9PT05NX1mdW5jdGlvbiBjKFMscSxfKXtmb3IodmFyIFY9MDtWPFMubGVuZ3RoOyl7dmFyIFo9Uy5pbmRleE9mKCJfIixWKTtpZihaPT09LTEpYnJlYWs7dmFyIHBlPVo+MD9TLmNoYXJDb2RlQXQoWi0xKTowO2lmKGYocGUpKXtWPVorMTtjb250aW51ZX1mb3IodmFyIHJlPVorMSx2ZT0tMTtyZTxTLmxlbmd0aDspe3ZhciBCZT1TLmluZGV4T2YoIl8iLHJlKTtpZihCZT09PS0xKWJyZWFrO3ZhciBtZT1CZSsxLCQ9bWU8Uy5sZW5ndGg/Uy5jaGFyQ29kZUF0KG1lKTowO2lmKCFmKCQpKXt2ZT1CZTticmVha31yZT1CZSsxfWlmKHZlPT09LTEpYnJlYWs7dmFyIHNlPVMuc2xpY2UoWisxLHZlKTtpZighc2Upe1Y9dmUrMTtjb250aW51ZX12YXIgbGU9cStzZStfO1M9Uy5zbGljZSgwLFopK2xlK1Muc2xpY2UodmUrMSksVj1aK2xlLmxlbmd0aH1yZXR1cm4gU31mdW5jdGlvbiB2KFMscSxfLFYpe3JldHVybiBTLnNwbGl0KGEpLm1hcChmdW5jdGlvbihaKXtyZXR1cm4gWi5pbmRleE9mKHEpIT09MD9aOl8rWi5zbGljZShxLmxlbmd0aCkrVn0pLmpvaW4oYSl9ZnVuY3Rpb24gaChTKXtyZXR1cm4gUy5zcGxpdChhKS5tYXAoZnVuY3Rpb24ocSl7dmFyIF89cS5pbmRleE9mKCIuICIpO2lmKF88PTApcmV0dXJuIHE7Zm9yKHZhciBWPTA7VjxfO1YrPTEpe3ZhciBaPXEuY2hhckNvZGVBdChWKTtpZihaPDQ4fHxaPjU3KXJldHVybiBxfXJldHVybiI8bGk+IitxLnNsaWNlKF8rMikrIjwvbGk+In0pLmpvaW4oYSl9ZnVuY3Rpb24gbShTKXtyZXR1cm4gUy5zcGxpdChhK2EpLm1hcChmdW5jdGlvbihxKXt2YXIgXz1xLnRyaW0oKTtyZXR1cm4gXz9fLmluZGV4T2YoIjxkaXYiKT09PTB8fF8uaW5kZXhPZigiPGgxIik9PT0wfHxfLmluZGV4T2YoIjxoMiIpPT09MHx8Xy5pbmRleE9mKCI8aDMiKT09PTB8fF8uaW5kZXhPZigiPGg0Iik9PT0wfHxfLmluZGV4T2YoIjxoNSIpPT09MHx8Xy5pbmRleE9mKCI8aDYiKT09PTB8fF8uaW5kZXhPZigiPHVsIik9PT0wfHxfLmluZGV4T2YoIjxvbCIpPT09MHx8Xy5pbmRleE9mKCI8bGkiKT09PTB8fF8uaW5kZXhPZigiPGJsb2NrcXVvdGUiKT09PTB8fF8uaW5kZXhPZigiPHByZSIpPT09MD9fOiI8cD4iK18uc3BsaXQoYSkuam9pbigiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oIiIpfWZvcih2YXIgZz0wOzspe3ZhciB5PW4uaW5kZXhPZihpK2kraSxnKTtpZih5PT09LTEpYnJlYWs7dmFyIEI9bi5pbmRleE9mKGkraStpLHkrMyk7aWYoQj09PS0xKWJyZWFrO3ZhciBFPW4uc2xpY2UoeSszLEIpLEM9RS5pbmRleE9mKGEpLEQ9IiIsRj1FO2lmKEMhPT0tMSYmQzwzMCl7Zm9yKHZhciBMPUUuc2xpY2UoMCxDKS50cmltKCksST1MLmxlbmd0aD4wLE49MDtOPEwubGVuZ3RoO04rPTEpe3ZhciBLPUwuY2hhckNvZGVBdChOKSxXPUs+PTQ4JiZLPD01NyxrPUs+PTY1JiZLPD05MCxUPUs+PTk3JiZLPD0xMjI7aWYoIVcmJiFrJiYhVCl7ST0hMTticmVha319SSYmKEQ9TCxGPUUuc2xpY2UoQysxKSl9dmFyIE09Tm0oRi50cmltKCksRCksWD1NLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpLGo9JzxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPjxkaXYgY2xhc3M9ImNvZGUtYmxvY2staGVhZGVyIj48c3BhbiBjbGFzcz0iY29kZS1sYW5nIj4nKyhEfHwiY29kZSIpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iY29kZS1jb3B5Ij5Db3B5PC9idXR0b24+PC9kaXY+PHByZT48Y29kZT4nK1grIjwvY29kZT48L3ByZT48L2Rpdj4iO249bi5zbGljZSgwLHkpK2orbi5zbGljZShCKzMpLGc9eStqLmxlbmd0aH1mb3IoZz0wOzspe3ZhciBKPW4uaW5kZXhPZihpLGcpO2lmKEo9PT0tMSlicmVhazt2YXIgUD1uLmluZGV4T2YoaSxKKzEpO2lmKFA9PT0tMSlicmVhaztpZihQPT09SisxKXtnPVArMTtjb250aW51ZX12YXIgdWU9bi5zbGljZShKKzEsUCksaWU9dWUucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IiksY2U9Jzxjb2RlIGNsYXNzPSJjb2RlLWlubGluZSI+JytpZSsiPC9jb2RlPiI7bj1uLnNsaWNlKDAsSikrY2Urbi5zbGljZShQKzEpLGc9SitjZS5sZW5ndGh9bj1kKG4sIioqIiwiPHN0cm9uZz4iLCI8L3N0cm9uZz4iKSxuPWQobiwiKiIsIjxlbT4iLCI8L2VtPiIpLG49YyhuLCI8ZW0+IiwiPC9lbT4iKSxuPXYobiwiIyMjICIsIjxoMz4iLCI8L2gzPiIpLG49dihuLCIjIyAiLCI8aDI+IiwiPC9oMj4iKSxuPXYobiwiIyAiLCI8aDE+IiwiPC9oMT4iKSxuPXYobiwiJmd0OyAiLCI8YmxvY2txdW90ZT4iLCI8L2Jsb2NrcXVvdGU+Iiksbj12KG4sIi0gIiwiPGxpPiIsIjwvbGk+Iiksbj12KG4sIiogIiwiPGxpPiIsIjwvbGk+Iiksbj1oKG4pLG49X2wobik7dmFyIEc9bi5zcGxpdChhKSxlZT1bXSxhZT1bXTtmdW5jdGlvbiBGZSgpe2FlLmxlbmd0aCYmKGVlLnB1c2goIjx1bD4iK2FlLmpvaW4oIiIpKyI8L3VsPiIpLGFlPVtdKX1yZXR1cm4gRy5mb3JFYWNoKGZ1bmN0aW9uKFMpe2lmKFMuaW5kZXhPZigiPGxpPiIpPT09MCYmUy5sYXN0SW5kZXhPZigiPC9saT4iKT09PVMubGVuZ3RoLTUpe2FlLnB1c2goUyk7cmV0dXJufUZlKCksZWUucHVzaChTKX0pLEZlKCksbj1tKGVlLmpvaW4oYSkpLG49bChuKSwnPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+JytuKyI8L2Rpdj4ifWZ1bmN0aW9uIE5tKGUsdCl7cmV0dXJuIGU9ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IiksZX1mdW5jdGlvbiBscihlKXt2YXIgdD1TdHJpbmcoZXx8IiIpLnRyaW0oKTtyZXR1cm4gdC5sZW5ndGg8PTI0P3R8fCJcdTY3MkFcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQiOnQuc2xpY2UoMCwyMSkrIi4uLiJ9ZnVuY3Rpb24gU3UoZSl7cmV0dXJuIFN0cmluZyhlfHwiIikucmVwbGFjZSgvXHJcclxuL2csYFxyCmApLnJlcGxhY2UoL1x1MDAwMC9nLCIiKX1mdW5jdGlvbiBqbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWhpbnQiKTtlJiZlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWh0dHAtbGluayIpO3QmJih0LmhyZWY9Imh0dHA6Ly8iK2xvY2F0aW9uLmhvc3QrbG9jYXRpb24ucGF0aG5hbWUsdC5zdHlsZS5kaXNwbGF5PWxvY2F0aW9uLnByb3RvY29sPT09Imh0dHBzOiI/IiI6Im5vbmUiKX1mdW5jdGlvbiBSbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1jZXJ0LWhpbnQiKTtlJiZlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfWZ1bmN0aW9uIEl1KCl7aWYoIXIubG9naW5QZW5kaW5nKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1lcnJvciIpOyFlfHwhdHx8IW58fChUaShuKSxSbSgpLGUuZGF0YXNldC5lcnJvcj0iZmFsc2UiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJmYWxzZSIpLHIubG9naW5QZW5kaW5nPSEwLHQuZGlzYWJsZWQ9ITAsdC50ZXh0Q29udGVudD0iXHU3NjdCXHU1RjU1XHU0RTJELi4uIixmZXRjaCgiL2FwaS9sb2dpbiIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtwYXNzd29yZDplLnZhbHVlfSksY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuc3RhdHVzPT09NDI5PyhxZShuLCJcdTc2N0JcdTVGNTVcdTVDMURcdThCRDVcdTZCMjFcdTY1NzBcdThGQzdcdTU5MUFcdUZGMENcdThCRjdcdTdBMERcdTU0MEVcdTUxOERcdThCRDVcdTMwMDIiKSxQcm9taXNlLnJlamVjdCgiaGFuZGxlZCIpKTppLm9rP2ZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTooZS5kYXRhc2V0LmVycm9yPSJ0cnVlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwidHJ1ZSIpLHFlKG4sIlx1NUJDNlx1NzgwMVx1OTUxOVx1OEJFRlx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJoYW5kbGVkIikpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5vaz9pLmpzb24oKToobG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij9qbSgpOnFlKG4sIlx1NzY3Qlx1NUY1NVx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJoYW5kbGVkIikpfSkudGhlbihmdW5jdGlvbihpKXtyLmNvbmZpZz1pO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMtZG90IiksdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzLXRleHQiKTtyZXR1cm4gYSYmYS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx1JiYodS50ZXh0Q29udGVudD0iXHU1REYyXHU3NjdCXHU1RjU1IiksTnQoKX0pLnRoZW4oZnVuY3Rpb24oKXtucygpLFp0KCl9KS5jYXRjaChmdW5jdGlvbihpKXtpIT09ImhhbmRsZWQiJiYoY29uc29sZS5lcnJvcigiW3dhbmRdIExvZ2luIGVycm9yOiIsaSkscWUobiwiXHU3NjdCXHU1RjU1XHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIikpfSkuZmluYWxseShmdW5jdGlvbigpe3IubG9naW5QZW5kaW5nPSExLHQuZGlzYWJsZWQ9ITEsdC50ZXh0Q29udGVudD0iXHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwIn0pKX19ZnVuY3Rpb24gVHUoKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5zd2l0Y2hTZXJ2ZXI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gSGwoKXtpZihUdSgpKXRyeXtXYW5kTmF0aXZlLnN3aXRjaFNlcnZlcigpfWNhdGNoe319ZnVuY3Rpb24gV20oKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5iYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiI/ITA6dHlwZW9mIHdpbmRvdy5fX3dhbmRCYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gem0oKXt0cnl7aWYodHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5iYWNrVG9OYXRpdmU9PSJmdW5jdGlvbiIpe1dhbmROYXRpdmUuYmFja1RvTmF0aXZlKCk7cmV0dXJufXR5cGVvZiB3aW5kb3cuX193YW5kQmFja1RvTmF0aXZlPT0iZnVuY3Rpb24iJiZ3aW5kb3cuX193YW5kQmFja1RvTmF0aXZlKCl9Y2F0Y2h7fX1mdW5jdGlvbiBObCgpe2ZldGNoKCIvYXBpL2xvZ291dCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLmNhdGNoKGZ1bmN0aW9uKCl7fSksc3MoKSxLbighMSksbHUoKSxNcigpLHIuY29uZmlnPW51bGwsci5zZWxlY3RlZElkPW51bGwsa2UoKSxyLnNlc3Npb25zPVtdLHIuY2xhdWRlSGlzdG9yeT1bXSxyLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITEsci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWQ9ITEsci5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzPXt9LHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLFp0KCl9ZnVuY3Rpb24gTnQoKXtyZXR1cm4gbm4oKX1mdW5jdGlvbiBMdShlKXtyZXR1cm4gZT09PSJmdWxsLWFjY2VzcyI/Ilx1NTE2OFx1Njc0M1x1OTY1MCI6ZT09PSJkZWZhdWx0Ij8iXHU5RUQ4XHU4QkE0IjplPT09Im5hdGl2ZSI/Ilx1NTM5Rlx1NzUxRiI6ZT09PSJhdXRvLWVkaXQiPyJcdTgxRUFcdTUyQThcdTdGMTZcdThGOTEiOmU9PT0ibWFuYWdlZCI/Ilx1NjI1OFx1N0JBMSI6ZX1mdW5jdGlvbiBldCgpe3JldHVybiByLnNlc3Npb25Ub29sfHxyLnByZWZlcnJlZENvbW1hbmR8fCJjbGF1ZGUifWZ1bmN0aW9uIFZtKCl7dmFyIGU9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIGUmJmUucHJvdmlkZXJ8fHIucHJlZmVycmVkQ29tbWFuZHx8ImNsYXVkZSJ9ZnVuY3Rpb24gamwoZSx0KXtyZXR1cm4gdD8iXHU5NTJFXHU3NkQ4XHU4RjkzXHU1MTY1XHU1QzA2XHU1M0QxXHU5MDAxXHU1MjMwXHU3RUM4XHU3QUVGIjplJiYoZS5zdGF0dXM9PT0iZXhpdGVkInx8ZS5zdGF0dXM9PT0iZmFpbGVkInx8ZS5zdGF0dXM9PT0ic3RvcHBlZCIpP2F1KGUpPyJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkZcdTRFRTVcdTdFRTdcdTdFRURcdTRGMUFcdThCREQiOiJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUYiOmZlKGUpJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQ/Ilx1NTZERVx1NTkwRFx1NEUyRFx1RkYwQ1x1NTNFRlx1N0VFN1x1N0VFRFx1OEY5M1x1NTE2NSI6Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiJ9ZnVuY3Rpb24gUmwoZSx0KXtyZXR1cm4gZT09PSJjb2RleCI/IkNvZGV4IFx1NjUyRlx1NjMwMSBQVFkgXHU3RUM4XHU3QUVGXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2XHVGRjA4SlNPTkxcdUZGMDlcdTRFMjRcdTc5Q0RcdTRGMUFcdThCRERcdUZGMENcdTdFRDNcdTY3ODRcdTUzMTZcdTZBMjFcdTVGMEZcdTYzMDkgZnVsbC1hY2Nlc3MgXHU1NDJGXHU1MkE4XHUzMDAyIjplPT09Im9wZW5jb2RlIj90PT09ImZ1bGwtYWNjZXNzInx8dD09PSJtYW5hZ2VkInx8dD09PSJhdXRvLWVkaXQiPyJPcGVuQ29kZSBcdTVDMDZcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTY3MkFcdTY2M0VcdTVGMEZcdTYyRDJcdTdFRERcdTc2ODRcdTY3NDNcdTk2NTBcdUZGMUJcdTY1MkZcdTYzMDEgVFVJIFx1NEUwRSBKU09OIFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1MzAwMiI6Ik9wZW5Db2RlIFx1NEY3Rlx1NzUyOFx1ODFFQVx1OEVBQlx1Njc0M1x1OTY1MFx1OTE0RFx1N0Y2RVx1RkYxQlx1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NEYxQVx1ODFFQVx1NTJBOFx1NjJEMlx1N0VERFx1NjcyQVx1NjI3OVx1NTFDNlx1NzY4NFx1Njc0M1x1OTY1MFx1OEJGN1x1NkM0Mlx1MzAwMiI6dD09PSJmdWxsLWFjY2VzcyI/Ilx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1OEJGN1x1NkM0Mlx1NEUwRVx1OUFEOFx1Njc0M1x1OTY1MFx1NjRDRFx1NEY1Q1x1RkYwQ1x1OTAwMlx1NTQwOFx1NEY2MFx1Nzg2RVx1OEJBNFx1NzNBRlx1NTg4M1x1NUI4OVx1NTE2OFx1NTQwRVx1NzY4NFx1OEZERVx1N0VFRFx1NEZFRVx1NjUzOVx1MzAwMiI6dD09PSJhdXRvLWVkaXQiPyJcdTRGRERcdTc1NTlcdTRFQTRcdTRFOTJcdTVGMEZcdTRGMUFcdThCRERcdUZGMENcdTU0MENcdTY1RjZcdTY2RjRcdTUwNEZcdTU0MTFcdTc2RjRcdTYzQTVcdTdGMTZcdThGOTFcdTRFRTNcdTc4MDFcdTMwMDIiOnQ9PT0ibmF0aXZlIj8iXHU4QzAzXHU3NTI4IENsYXVkZSBcdTUzOUZcdTc1MUYgQVBJIFx1OEY5M1x1NTFGQVx1RkYwQ1x1OTAwMlx1NTQwOFx1NUZFQlx1OTAxRlx1OTVFRVx1N0I1NFx1NjIxNlx1NEUwMFx1NkIyMVx1NjAyN1x1NzUxRlx1NjIxMFx1MzAwMiI6dD09PSJtYW5hZ2VkIj8iQUkgXHU4MUVBXHU1MkE4XHU1QjhDXHU2MjEwXHU2MjQwXHU2NzA5XHU1REU1XHU0RjVDXHVGRjBDXHU2NUUwXHU5NzAwXHU0RTJEXHU5MDE0XHU3ODZFXHU4QkE0XHVGRjBDXHU5MDAyXHU1NDA4XHU2NzA5XHU2NjBFXHU3ODZFXHU3NkVFXHU2ODA3XHU3Njg0XHU0RUZCXHU1MkExXHUzMDAyIjoiXHU0RkREXHU3NTU5XHU2ODA3XHU1MUM2XHU0RUE0XHU0RTkyXHU2RDQxXHU3QTBCXHVGRjBDXHU5MDAyXHU1NDA4XHU2MjRCXHU1MkE4XHU3ODZFXHU4QkE0XHU2QkNGXHU0RTAwXHU2QjY1XHUzMDAyIn1mdW5jdGlvbiBNdShlKXtyZXR1cm4gZT09PSJjb2RleCI/WyJmdWxsLWFjY2VzcyJdOmU9PT0ib3BlbmNvZGUiP1siZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwibWFuYWdlZCJdOlsiZGVmYXVsdCIsImZ1bGwtYWNjZXNzIiwiYXV0by1lZGl0IiwibmF0aXZlIiwibWFuYWdlZCJdfWZ1bmN0aW9uIGZ0KGUsdCl7dmFyIG49TXUoZSk7aWYobi5pbmRleE9mKHQpIT09LTEpcmV0dXJuIHQ7dmFyIGk9ci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRNb2RlP3IuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0IjtyZXR1cm4gbi5pbmRleE9mKGkpIT09LTE/aTpuWzBdfWZ1bmN0aW9uIEtoKGUsdCl7cmV0dXJuIE11KGUpLm1hcChmdW5jdGlvbihuKXt2YXIgaT1XbChuKTtyZXR1cm4nPG9wdGlvbiB2YWx1ZT0iJytwKG4pKyciJysobj09PXQ/IiBzZWxlY3RlZCI6IiIpKycgdGl0bGU9IicraSsnIj4nK3AoTHUobikpKyI8L29wdGlvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gV2woZSl7dmFyIHQ9e2RlZmF1bHQ6Ilx1NjgwN1x1NTFDNlx1NkEyMVx1NUYwRiAtIFx1OTcwMFx1ODk4MVx1Nzg2RVx1OEJBNFx1NjU4N1x1NEVGNlx1NEZFRVx1NjUzOSIsImZ1bGwtYWNjZXNzIjoiXHU1QjhDXHU1MTY4XHU4QkJGXHU5NUVFIC0gXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU2NzQzXHU5NjUwXHU0RTBFXHU2NENEXHU0RjVDIiwiYXV0by1lZGl0IjoiXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIC0gXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU2NTg3XHU0RUY2XHU0RkVFXHU2NTM5IixuYXRpdmU6Ilx1NTM5Rlx1NzUxRlx1NkEyMVx1NUYwRiAtIFx1OEZENFx1NTZERVx1N0VEM1x1Njc4NFx1NTMxNlx1OEY5M1x1NTFGQSIsbWFuYWdlZDoiXHU2MjU4XHU3QkExXHU2QTIxXHU1RjBGIC0gQUkgXHU4MUVBXHU1MkE4XHU1QjhDXHU2MjEwXHU2MjQwXHU2NzA5XHU1REU1XHU0RjVDIn07cmV0dXJuIHRbZV18fCIifWZ1bmN0aW9uIFVtKGUpe3ZhciB0PWUmJmUucHJvdmlkZXI/ZS5wcm92aWRlcjoiY2xhdWRlIjtyZXR1cm4oZmUoZSk/Ilx1N0VEM1x1Njc4NFx1NTMxNiI6Ilx1N0VDOFx1N0FFRiIpKyIgXHhCNyAiK3R9ZnVuY3Rpb24gS20oZSl7cmV0dXJuIGZlKGUpPyJcdTdFRDNcdTY3ODRcdTUzMTYgXHhCNyBcdTU3NTdcdTdFQTdcdThCQjBcdTVGNTUiOmUmJmUucHJvdmlkZXI9PT0iY29kZXgiPyJcdTdFQzhcdTdBRUYgXHhCNyBDb2RleCBQVFlcdUZGMDhjaGF0IFx1NEUzQVx1ODlFM1x1Njc5MFx1ODlDNlx1NTZGRVx1RkYwOSI6Ilx1N0VDOFx1N0FFRiBceEI3IFBUWSBcdTRGMUFcdThCREQifWZ1bmN0aW9uIHpsKGUpe3JldHVybiBlP2ZlKGUpfHxlLnByb3ZpZGVyPT09ImNvZGV4IjohMX1mdW5jdGlvbiBWbChlLHQpe2lmKCFlfHwhZS5pc19lcnJvcnx8IXR8fHQuaXNfZXJyb3IpcmV0dXJuITE7dmFyIG49Qm4oZS5jb250ZW50KS50b0xvd2VyQ2FzZSgpLGk9Qm4odC5jb250ZW50KS50b0xvd2VyQ2FzZSgpO3JldHVybiBuP24uaW5kZXhPZigiaW52YWxpZCBwYWdlcyBwYXJhbWV0ZXIiKSE9PS0xJiZpLmxlbmd0aD4wOiExfWZ1bmN0aW9uIGZlKGUpe3JldHVybiEhZSYmKGUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUucnVubmVyPT09ImNsYXVkZS1jbGktcHJpbnQiKX1mdW5jdGlvbiBRaSgpe3IuY2hhdE1vZGU9ZnQoImNsYXVkZSIsci5jaGF0TW9kZSk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGUtaGludCIpO2UmJihlLnRleHRDb250ZW50PVdsKHIuY2hhdE1vZGUpKSx0bigpfXZhciBVbD1PYmplY3QuY3JlYXRlKG51bGwpLCRpPU9iamVjdC5jcmVhdGUobnVsbCksWGk9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBLbChlKXtyZXR1cm4gZSYmWGlbZV18fG51bGx9ZnVuY3Rpb24gWmkoZSx0LG4pe2lmKGUpe3ZhciBpPVhpW2VdfHwoWGlbZV09e30pO2lbdF09bn19ZnVuY3Rpb24gSmwoZSl7ZSYmZGVsZXRlIFhpW2VdfWZ1bmN0aW9uIE91KGUsdCl7dmFyIG49KCRpW2VdfHwwKSsxOyRpW2VdPW47dmFyIGk9VWxbZV18fFByb21pc2UucmVzb2x2ZSgpLGE9aS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4odCk7cmV0dXJuIFVsW2VdPWEuY2F0Y2goZnVuY3Rpb24oKXt9KSxhLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJue2RhdGE6dSxsYXRlc3Q6JGlbZV09PT1ufX0sZnVuY3Rpb24odSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHtlcnJvcjp1LGxhdGVzdDokaVtlXT09PW59KX0pfWZ1bmN0aW9uIEpyKGUsdCl7SmwoZSksUHJvbWlzZS5yZXNvbHZlKG5uKCkpLmNhdGNoKGZ1bmN0aW9uKCl7fSkuZmluYWxseShmdW5jdGlvbigpe3RuKCl9KSx4KHQsImVycm9yIil9ZnVuY3Rpb24gUHUoZSx0KXtpZighdC5sYXRlc3QpcmV0dXJuITE7dmFyIG49dC5kYXRhO3JldHVybiBuJiZuLmVycm9yPyhKcihlLG4uZXJyb3IpLCExKTohbnx8IW4uaWQ/KEpyKGUsIlx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RVx1NjZGNFx1NjVCMFx1NTkzMVx1OEQyNSIpLCExKToobmUobiksSmwoZSksdG4oKSwhMCl9ZnVuY3Rpb24gSm0oZSx0KXt0PXR8fHt9O3ZhciBuPXQua2luZD09PSJjb21wYWN0Inx8dC5raW5kPT09InBvcG92ZXIiP3Qua2luZDoiZHJvcGRvd24iLGk9ZXQoKSxhPXIuY2hhdE1vZGV8fCJkZWZhdWx0Iix1PSRyKGUpfHwiIixvPWVhKHUsZSkscz1yYShlKTtmdW5jdGlvbiBsKGQsZixjLHYpe3ZhciBoPW49PT0iY29tcGFjdCI/IiI6JzxzcGFuIGNsYXNzPSJjaGF0LW1vZGUtdHJpby10YWciPicrcChmKSsiPC9zcGFuPiI7cmV0dXJuJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LXBpbGwgY2hhdC1tb2RlLXRyaW8tcGlsbCIgZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0iJytkKyciIHRpdGxlPSInK3AoZikrJyI+JytoKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1sYWJlbCI+JytwKGMpKyc8L3NwYW4+PHNlbGVjdCBjbGFzcz0iY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0IiBkYXRhLW1vZGUtY29udHJvbD0iJytkKyciIGFyaWEtbGFiZWw9IicrcChmKSsnIj4nK3YrIjwvc2VsZWN0Pjwvc3Bhbj4ifXJldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1vZGUtdHJpbyBjaGF0LW1vZGUtdHJpby0nK24rJyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9Ilx1NEYxQVx1OEJERFx1OEJCRVx1N0Y2RSI+JytsKCJtb2RlIiwiXHU2QTIxXHU1RjBGIixhLHRhKGksYSkpKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceEI3PC9zcGFuPicrbCgibW9kZWwiLCJcdTZBMjFcdTU3OEIiLG8sJGwodSxlKSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LXNlcCIgYXJpYS1oaWRkZW49InRydWUiPlx4Qjc8L3NwYW4+JytsKCJ0aGlua2luZyIsIlx1NjAxRFx1ODAwMyIsSm4ocyxlKSxxdShzLGUpKSsiPC9kaXY+In1mdW5jdGlvbiBKbihlLHQpe3ZhciBuPSRtKGUsdCk7cmV0dXJuIG49PT0ibG93Ij8iXHU0RjRFIjpuPT09Im1lZGl1bSI/Ilx1NEUyRCI6bj09PSJoaWdoIj8iXHU5QUQ4IjpuPT09InhoaWdoIj8iXHU4RDg1XHU5QUQ4IjpuPT09Im1heCI/Ilx1Njc4MVx1OUFEOCI6bj09PSJ1bHRyYSI/Ilx1Njc4MVx1OTY1MCI6Ilx1ODFFQVx1NTJBOCJ9ZnVuY3Rpb24gR3IoZSx0KXt2YXIgbj1lfHwiIixpPUh1KHQpO2lmKCFufHxuPT09ImRlZmF1bHQiKXtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylpZihpW2FdLmlkPT09ImRlZmF1bHQiKXJldHVybiBpW2FdLmxhYmVsfHxpW2FdLmlkO3JldHVybiJcdTlFRDhcdThCQTQifWZvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKWlmKGlbdV0uaWQ9PT1uKXJldHVybiBpW3VdLmxhYmVsfHxpW3VdLmlkO3JldHVybiBufWZ1bmN0aW9uIGVhKGUsdCl7dmFyIG49R3IoZSx0KTtpZighbnx8bj09PSJcdThEREZcdTk2OEZcdTY3MERcdTUyQTFcdTdBRUZcdTlFRDhcdThCQTQiKXJldHVybiJcdTlFRDhcdThCQTQiO3ZhciBpPW4uc2VhcmNoKC9b77yIKF0vKTtpPjAmJihuPW4uc2xpY2UoMCxpKS50cmltKCkpO3ZhciBhPW4ubGFzdEluZGV4T2YoIi8iKTthPj0wJiZhPG4ubGVuZ3RoLTEmJihuPW4uc2xpY2UoYSsxKS50cmltKCkpO3ZhciB1PW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gdS5pbmRleE9mKCJvcHVzIikhPT0tMT8iT3B1cyI6dS5pbmRleE9mKCJzb25uZXQiKSE9PS0xPyJTb25uZXQiOnUuaW5kZXhPZigiaGFpa3UiKSE9PS0xPyJIYWlrdSI6dS5pbmRleE9mKCJncHQtNS41IikhPT0tMT8iR1BULTUuNSI6dS5pbmRleE9mKCJncHQtNSIpIT09LTE/IkdQVC01Ijp1LmluZGV4T2YoImdwdC00IikhPT0tMT8iR1BULTQiOm4ubGVuZ3RoPjEyP24uc2xpY2UoMCwxMCkrIlx1MjAyNiI6bn1mdW5jdGlvbiBxdShlLHQpe3ZhciBuPVpyKHQpLGk9bi5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZX0pP2U6Im9mZiI7cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKGEpe3ZhciB1PWEuaWQ9PT0ib2ZmIj8iXHU4MUVBXHU1MkE4XHVGRjA4XHU2QTIxXHU1NzhCXHU5RUQ4XHU4QkE0XHVGRjA5IjpKbihhLmlkLHQpO3JldHVybic8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09aT8iIHNlbGVjdGVkIjoiIikrIj4iK3AodSkrIjwvb3B0aW9uPiJ9KS5qb2luKCIiKX1mdW5jdGlvbiBHbChlLHQsbil7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2w9InRoaW5raW5nIl0nKTtpJiYoaS5pbm5lckhUTUw9cXUodCxuKSxpLnZhbHVlPVpyKG4pLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT10fSk/dDoib2ZmIil9ZnVuY3Rpb24gWWwoZSl7dmFyIHQ9ZXQoKSxuPXIuY2hhdE1vZGV8fCJkZWZhdWx0IixpPSRyKGUpfHwiIixhPXJhKGUpLHU9THUobiksbz1lYShpLGUpLHM9Sm4oYSxlKSxsPSJcdTZBMjFcdTVGMEYgIit1KyIgXHhCNyBcdTZBMjFcdTU3OEIgIitvKyIgXHhCNyBcdTYwMURcdTgwMDMgIitzO3JldHVybic8ZGl2IGNsYXNzPSJjb21wb3Nlci1jb25maWctY29udHJvbHMiIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJcdTRGMUFcdThCRERcdThCQkVcdTdGNkUiIHRpdGxlPSInK3AobCkrJyI+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jaGlwIGNvbXBvc2VyLWNvbmZpZy1jaGlwLW1vZGUiIGRhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGUiIHRpdGxlPSJcdTZBMjFcdTVGMEZcdUZGMUEnK3AodSkrJyI+JytVKCJzaGllbGQiLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK3AodSkrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJtb2RlIiBhcmlhLWxhYmVsPSJcdTZBMjFcdTVGMEYiPicrdGEodCxuKSsnPC9zZWxlY3Q+PC9zcGFuPjxzcGFuIGNsYXNzPSJjb21wb3Nlci1jb25maWctY2hpcCBjb21wb3Nlci1jb25maWctbW9kZWwiIGRhdGEtbW9kZS1jb250cm9sLXBpbGw9Im1vZGVsIiB0aXRsZT0iXHU2QTIxXHU1NzhCXHVGRjFBJytwKG8pKyciPicrVSgiY3B1Iix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjgsY2xzOiJjb21wb3Nlci1jb25maWctaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1sYWJlbCI+JytwKG8pKyc8L3NwYW4+PHNlbGVjdCBjbGFzcz0iY29tcG9zZXItdGV4dC1oaWRkZW4tc2VsZWN0IiBkYXRhLW1vZGUtY29udHJvbD0ibW9kZWwiIGFyaWEtbGFiZWw9Ilx1NkEyMVx1NTc4QiI+JytRbChpLGUpKyc8L3NlbGVjdD48L3NwYW4+PHNwYW4gY2xhc3M9ImNvbXBvc2VyLWNvbmZpZy1jaGlwIGNvbXBvc2VyLWNvbmZpZy10aGlua2luZyIgZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0idGhpbmtpbmciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiB0aXRsZT0iXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2XHVGRjFBJytwKHMpKyciPicrVSgiYnJhaW4iLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuOCxjbHM6ImNvbXBvc2VyLWNvbmZpZy1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItY29uZmlnLWxhYmVsIj4nK3AocykrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSJ0aGlua2luZyIgYXJpYS1sYWJlbD0iXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2Ij4nK3F1KGEsZSkrIjwvc2VsZWN0Pjwvc3Bhbj48L2Rpdj4ifWZ1bmN0aW9uIHRuKCl7dmFyIGU9dHQoKSx0PWV0KCksbj1yLmNoYXRNb2RlfHwiZGVmYXVsdCIsaT0kcihlKXx8IiIsYT1lYShpLGUpLHU9cmEoZSksbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tb2RlLXRyaW8iKTtvLmZvckVhY2goZnVuY3Rpb24ocyl7ZnVuY3Rpb24gbChkLGYsYyx2KXt2YXIgaD1zLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSInK2QrJyJdJyk7aWYoaCl7dmFyIG09aC5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItdGV4dC1sYWJlbCIpO2lmKG0mJihtLnRleHRDb250ZW50PXZ8fGYpLGQ9PT0idGhpbmtpbmciKXtHbChoLGYsZSk7cmV0dXJufXZhciBnPWgucXVlcnlTZWxlY3RvcignW2RhdGEtbW9kZS1jb250cm9sPSInK2QrJyJdJyk7ZyYmKGMmJihnLmlubmVySFRNTD1jKSxnLnZhbHVlIT09ZiYmKGcudmFsdWU9ZikpfX1sKCJtb2RlIixuLHRhKHQsbikpLGwoIm1vZGVsIixpLCRsKGksZSksYSksbCgidGhpbmtpbmciLHUsIiIsSm4odSxlKSl9KSxHbShlLG4sJHIoZSl8fCIiLHUpfWZ1bmN0aW9uIEdtKGUsdCxuLGkpe3ZhciBhPWV0KCksdT1MdSh0KSxvPWVhKG4sZSkscz1KbihpLGUpLGw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNvbXBvc2VyLWNvbmZpZy1jb250cm9scyIpO2wuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgZj0iXHU2QTIxXHU1RjBGICIrdSsiIFx4QjcgXHU2QTIxXHU1NzhCICIrbysiIFx4QjcgXHU2MDFEXHU4MDAzICIrcztkLnNldEF0dHJpYnV0ZSgidGl0bGUiLGYpO2Z1bmN0aW9uIGMoRSxDLEQpe3ZhciBGPUUucXVlcnlTZWxlY3RvcigiW2RhdGEtbW9kZS1jb250cm9sXSIpO0YmJihGLmlubmVySFRNTD1ELEYudmFsdWU9Qyl9dmFyIHY9ZC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0ibW9kZSJdJyk7aWYodil7dmFyIGg9di5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7aCYmKGgudGV4dENvbnRlbnQ9dSksdi5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QTIxXHU1RjBGXHVGRjFBIit1KSxjKHYsdCx0YShhLHQpKX12YXIgbT1kLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSJtb2RlbCJdJyk7aWYobSl7dmFyIGc9bS5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7ZyYmKGcudGV4dENvbnRlbnQ9byksbS5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QTIxXHU1NzhCXHVGRjFBIitvKSxjKG0sbixRbChuLGUpKX12YXIgeT1kLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbC1waWxsPSJ0aGlua2luZyJdJyk7aWYoeSl7dmFyIEI9eS5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItY29uZmlnLWxhYmVsIik7QiYmKEIudGV4dENvbnRlbnQ9cykseS5zZXRBdHRyaWJ1dGUoImRhdGEtdGhpbmtpbmciLGkpLHkuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NjAxRFx1ODAwM1x1NkRGMVx1NUVBNlx1RkYxQSIrcyksR2woeSxpLGUpfX0pfWZ1bmN0aW9uIHRhKGUsdCl7cmV0dXJuIE11KGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4nPG9wdGlvbiB2YWx1ZT0iJytwKG4pKyciJysobj09PXQ/IiBzZWxlY3RlZCI6IiIpKyI+IitwKG4pKyI8L29wdGlvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gcHQoZSl7cmV0dXJuIGU9PT0iY29kZXgifHxlPT09Im9wZW5jb2RlIj9lOiJjbGF1ZGUifWZ1bmN0aW9uIFlyKGUpe3JldHVybiBwdChlJiZlLnByb3ZpZGVyfHxyLnNlc3Npb25Ub29sfHwiY2xhdWRlIil9ZnVuY3Rpb24gX3UoKXt2YXIgZT1yLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdE1vZGVscyYmdHlwZW9mIHIuY29uZmlnLmRlZmF1bHRNb2RlbHM9PSJvYmplY3QiP3IuY29uZmlnLmRlZmF1bHRNb2RlbHM6e307cmV0dXJue2NsYXVkZTp0eXBlb2YgZS5jbGF1ZGU9PSJzdHJpbmciP2UuY2xhdWRlOnIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiLGNvZGV4OnR5cGVvZiBlLmNvZGV4PT0ic3RyaW5nIj9lLmNvZGV4OnIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0Q29kZXhNb2RlbHx8IiIsb3BlbmNvZGU6dHlwZW9mIGUub3BlbmNvZGU9PSJzdHJpbmciP2Uub3BlbmNvZGU6ci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRPcGVuQ29kZU1vZGVsfHwiIn19ZnVuY3Rpb24gWW0oZSl7dmFyIHQ9X3UoKSxuPXB0KGUpO3JldHVybiBuPT09ImNvZGV4Ij90LmNvZGV4fHwiIjpuPT09Im9wZW5jb2RlIj90Lm9wZW5jb2RlfHwiIjp0LmNsYXVkZXx8IiJ9ZnVuY3Rpb24gUXIoZSl7dmFyIHQ9cHQoZSksbj1yLmNoYXRNb2RlbHMmJnR5cGVvZiByLmNoYXRNb2RlbHNbdF09PSJzdHJpbmciP3IuY2hhdE1vZGVsc1t0XToiIjtyZXR1cm4hbiYmdD09PSJjbGF1ZGUiJiYobj1yLmNoYXRNb2RlbHx8IiIpLG58fCIifWZ1bmN0aW9uIG5hKGUsdCl7dmFyIG49cHQoZSksaT0odHx8IiIpLnRyaW0oKTtyLmNoYXRNb2RlbHN8fChyLmNoYXRNb2RlbHM9e2NsYXVkZToiIixjb2RleDoiIixvcGVuY29kZToiIn0pLHIuY2hhdE1vZGVsc1tuXT1pLHIuY2hhdE1vZGVsPWk7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWNoYXQtbW9kZWwtIituLGkpLGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLWNoYXQtbW9kZWwiKX1jYXRjaHt9fWZ1bmN0aW9uICRyKGUpe3ZhciB0PWUmJmUuaWQ/S2woZS5pZCk6bnVsbDtpZih0JiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwibW9kZWwiKSlyZXR1cm4gdC5tb2RlbHx8IiI7aWYoZSYmZS5zZWxlY3RlZE1vZGVsKXJldHVybiBlLnNlbGVjdGVkTW9kZWw7dmFyIG49WXIoZSksaT1RcihuKTtyZXR1cm4gaXx8WW0obil8fCIifWZ1bmN0aW9uIEh1KGUpe3ZhciB0PWUmJmUucHJvdmlkZXJ8fHIuc2Vzc2lvblRvb2x8fCJjbGF1ZGUiO3JldHVybiB0PT09ImNvZGV4Ij9yLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXTp0PT09Im9wZW5jb2RlIj9yLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzfHxbXTpyLmF2YWlsYWJsZU1vZGVsc3x8W119ZnVuY3Rpb24gUWwoZSx0KXtmb3IodmFyIG49SHUodCksaT1lPT09ImRlZmF1bHQiPyIiOmV8fCIiLGE9JzxvcHRpb24gdmFsdWU9IiInKyhpPyIiOiIgc2VsZWN0ZWQiKSsiPlx1OUVEOFx1OEJBNCBceEI3ICIrcChHcigiIix0KSkrIjwvb3B0aW9uPiIsdT0wO3U8bi5sZW5ndGg7dSsrKXt2YXIgbz1uW3VdO2lmKG8uaWQhPT0iZGVmYXVsdCIpe3ZhciBzPW8ubGFiZWx8fG8uaWQsbD1Zcih0KT09PSJjbGF1ZGUiP28uYXZhaWxhYmlsaXR5PT09InZlcmlmaWVkIj8iIFx4QjcgXHU1REYyXHU5QThDXHU4QkMxIjpvLmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/IiBceEI3IFx1NUY4NVx1NTIzN1x1NjVCMCI6by5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/IiBceEI3IEFQSSBcdTUwMTlcdTkwMDkiOiIgXHhCNyBcdTUwMTlcdTkwMDkiOiIiO2ErPSc8b3B0aW9uIHZhbHVlPSInK3Aoby5pZCkrJyInKyhvLmlkPT09aT8iIHNlbGVjdGVkIjoiIikrIj4iK3AocytsKSsiPC9vcHRpb24+In19cmV0dXJuIGkmJiFuLnNvbWUoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT1pfSkmJihhKz0nPG9wdGlvbiB2YWx1ZT0iJytwKGkpKyciIHNlbGVjdGVkPicrcChpKSsiXHVGRjA4XHU4MUVBXHU1QjlBXHU0RTQ5XHVGRjA5PC9vcHRpb24+IiksYX1mdW5jdGlvbiAkbChlLHQpe2Zvcih2YXIgbj1IdSh0KSxpPWU9PT0iZGVmYXVsdCI/IiI6ZXx8IiIsYT0nPG9wdGlvbiB2YWx1ZT0iIicrKGk/IiI6IiBzZWxlY3RlZCIpKyI+IitwKEdyKCIiLHQpKSsiPC9vcHRpb24+Iix1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBvPW5bdV07aWYoby5pZCE9PSJkZWZhdWx0Iil7dmFyIHM9WXIodCk9PT0iY2xhdWRlIj9vLmF2YWlsYWJpbGl0eT09PSJ2ZXJpZmllZCI/IiBceEI3IHZlcmlmaWVkIjpvLmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/IiBceEI3IHN0YWxlIjpvLnNvdXJjZT09PSJtb2RlbHMtYXBpIj8iIFx4QjcgQVBJIGNhbmRpZGF0ZSI6IiBceEI3IGNhbmRpZGF0ZSI6IiI7YSs9JzxvcHRpb24gdmFsdWU9IicrcChvLmlkKSsnIicrKG8uaWQ9PT1pPyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChvLmlkK3MpKyI8L29wdGlvbj4ifX1yZXR1cm4gaSYmIW4uc29tZShmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PWl9KSYmKGErPSc8b3B0aW9uIHZhbHVlPSInK3AoaSkrJyIgc2VsZWN0ZWQ+JytwKGkpKyI8L29wdGlvbj4iKSxhfWZ1bmN0aW9uIGRyKGUpe3RuKCl9dmFyIFhyPVt7aWQ6Im9mZiIsbGFiZWw6ImF1dG8iLGhpbnQ6Ilx1NEY3Rlx1NzUyOCBwcm92aWRlciAvIFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1NjAxRFx1ODAwM1x1Njg2M1x1NEY0RCJ9LHtpZDoic3RhbmRhcmQiLGxhYmVsOiJsb3ciLGhpbnQ6IkNsYXVkZS9Db2RleDogbG93IFx4QjcgT3BlbkNvZGUgdmFyaWFudDogbG93In0se2lkOiJkZWVwIixsYWJlbDoibWVkaXVtIixoaW50OiJDbGF1ZGUvQ29kZXg6IG1lZGl1bSBceEI3IE9wZW5Db2RlIHZhcmlhbnQ6IGhpZ2gifSx7aWQ6Im1heCIsbGFiZWw6Im1heCIsaGludDoiQ2xhdWRlOiBtYXggXHhCNyBDb2RleDogeGhpZ2ggXHhCNyBPcGVuQ29kZSB2YXJpYW50OiBtYXgifV07ZnVuY3Rpb24gUW0oZSl7cmV0dXJuIGU9PT0ibG93Ij8ic3RhbmRhcmQiOmU9PT0ibWVkaXVtIj8iZGVlcCI6ZT09PSJ4aGlnaCI/Im1heCI6ImNvZGV4OiIrZX1mdW5jdGlvbiBacihlKXtpZihZcihlKSE9PSJjb2RleCIpcmV0dXJuIFhyO3ZhciB0PSRyKGUpfHwiZGVmYXVsdCIsbj1yLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXSxpPW4uZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PXR9KXx8bi5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09ImRlZmF1bHQifSksYT1pJiZBcnJheS5pc0FycmF5KGkucmVhc29uaW5nRWZmb3J0cyk/aS5yZWFzb25pbmdFZmZvcnRzOltdO2lmKCFhLmxlbmd0aClyZXR1cm4gWHI7dmFyIHU9aS5kZWZhdWx0UmVhc29uaW5nRWZmb3J0fHwiIjtyZXR1cm5be2lkOiJvZmYiLGxhYmVsOiJhdXRvIixoaW50OnU/Ilx1NEY3Rlx1NzUyOFx1NkEyMVx1NTc4Qlx1OUVEOFx1OEJBNFx1Njg2M1x1NEY0RFx1RkYwOCIrdSsiXHVGRjA5IjoiXHU0RjdGXHU3NTI4XHU2QTIxXHU1NzhCXHU5RUQ4XHU4QkE0XHU2ODYzXHU0RjREIn1dLmNvbmNhdChhLm1hcChmdW5jdGlvbihvKXt2YXIgcz1TdHJpbmcoby5lZmZvcnR8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybntpZDpRbShzKSxsYWJlbDpzLGhpbnQ6by5kZXNjcmlwdGlvbnx8c319KS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIG8ubGFiZWx9KSl9ZnVuY3Rpb24gJG0oZSx0KXtmb3IodmFyIG49WnIodCksaT0wO2k8bi5sZW5ndGg7aSsrKWlmKG5baV0uaWQ9PT1lKXJldHVybiBuW2ldLmxhYmVsO2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmZS5pbmRleE9mKCJjb2RleDoiKT09PTApcmV0dXJuIGUuc2xpY2UoNik7Zm9yKHZhciBhPTA7YTxYci5sZW5ndGg7YSsrKWlmKFhyW2FdLmlkPT09ZSlyZXR1cm4gWHJbYV0ubGFiZWw7cmV0dXJuImF1dG8ifWZ1bmN0aW9uIHJhKGUpe3ZhciB0PWUmJmUuaWQ/S2woZS5pZCk6bnVsbDtyZXR1cm4gdCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsInRoaW5raW5nIik/dC50aGlua2luZ3x8Im9mZiI6ZSYmZS50aGlua2luZ0VmZm9ydD9lLnRoaW5raW5nRWZmb3J0OnIuY2hhdFRoaW5raW5nP3IuY2hhdFRoaW5raW5nOiJvZmYifWZ1bmN0aW9uIEpoKGUpe3RuKCl9ZnVuY3Rpb24gWGwoZSl7ci5jaGF0VGhpbmtpbmc9ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGhpbmtpbmctZWZmb3J0IixlKX1jYXRjaHt9fWZ1bmN0aW9uIFpsKGUsdCxuLGkpe3JldHVybiBPdShlLmlkLGZ1bmN0aW9uKCl7cmV0dXJuIGkmJiFpLm9rP3tlcnJvcjppLmVycm9yfHwiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1In06ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZS5pZCkrIi90aGlua2luZy1lZmZvcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHt0aGlua2luZ0VmZm9ydDp0fSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pfSkudGhlbihmdW5jdGlvbihhKXtQdShlLmlkLGEpJiZ0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeChufHwiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK0puKHQsdHQoKSksInN1Y2Nlc3MiKX0pLmNhdGNoKGZ1bmN0aW9uKGEpe2EmJmEubGF0ZXN0JiZKcihlLmlkLCJcdTUyMDdcdTYzNjJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIFhtKGUpe3ZhciB0PShlfHwib2ZmIikudHJpbSgpLG49dHQoKSxpPVpyKG4pLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT10fSk7aXx8KHQ9Im9mZiIpLFhsKHQpLG4mJlppKG4uaWQsInRoaW5raW5nIix0KSx0bigpLG4mJlpsKG4sdCwiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK0puKHQsbikpfWZ1bmN0aW9uIGVkKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUubW9kZTtyZXR1cm4gdD09PSJtYW5hZ2VkInx8dD09PSJmdWxsLWFjY2VzcyJ9ZnVuY3Rpb24gWm0oZSl7aWYoIWV8fGVkKGUpKXJldHVybiIiO3ZhciB0PSEhZS5hdXRvQXBwcm92ZVBlcm1pc3Npb25zO3JldHVybiB0Pyc8YnV0dG9uIGlkPSJhdXRvLWFwcHJvdmUtdG9nZ2xlIiBjbGFzcz0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciBhY3RpdmUiIHR5cGU9ImJ1dHRvbiIgYXJpYS1wcmVzc2VkPSJ0cnVlIiBhcmlhLWxhYmVsPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjhcdUZGMENcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjggXHUyMDE0IFx1NzBCOVx1NTFGQlx1NTE3M1x1OTVFRCI+JytVKCJzaGllbGRDaGVjayIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU4MUVBXHU1MkE4PC9zcGFuPjwvYnV0dG9uPic6JzxidXR0b24gaWQ9ImF1dG8tYXBwcm92ZS10b2dnbGUiIGNsYXNzPSJjb21wb3Nlci1waWxsIGNvbXBvc2VyLXBpbGwtY2hpcCBhdXRvLWFwcHJvdmUtaW5kaWNhdG9yIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iZmFsc2UiIGFyaWEtbGFiZWw9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRFx1RkYwQ1x1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiIgdGl0bGU9Ilx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1NURGMlx1NTE3M1x1OTVFRCBcdTIwMTQgXHU3MEI5XHU1MUZCXHU1RjAwXHU1NDJGIj4nK1UoInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPjwvYnV0dG9uPid9ZnVuY3Rpb24gdGQoKXtyZXR1cm4gZmV0Y2goIi9hcGkvbW9kZWxzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkuaXNBcnJheShlLm1vZGVscykmJihyLmF2YWlsYWJsZU1vZGVscz1lLm1vZGVscyxyLmF2YWlsYWJsZUNvZGV4TW9kZWxzPUFycmF5LmlzQXJyYXkoZS5jb2RleE1vZGVscyk/ZS5jb2RleE1vZGVsczpbXSxyLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzPUFycmF5LmlzQXJyYXkoZS5vcGVuY29kZU1vZGVscyk/ZS5vcGVuY29kZU1vZGVsczpbXSxkcih0dCgpKSx1YShlKSxhYSghMSkpLGV9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBudWxsfSl9ZnVuY3Rpb24gbmQoKXtpZihyLm1vZGVsc1JlZnJlc2hpbmcpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtyLm1vZGVsc1JlZnJlc2hpbmc9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI2NmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2gsICNjZmctY29tbWl0LW1vZGVsLXJlZnJlc2giKTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPXQsaT1uLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTtuLmRpc2FibGVkPSEwLG4uY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpLG4uc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIiksaSYmKGkudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NkQ0Qlx1NEUyRCIpfSksZmV0Y2goIi9hcGkvbW9kZWxzL3JlZnJlc2giLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYodCYmQXJyYXkuaXNBcnJheSh0Lm1vZGVscykmJihyLmF2YWlsYWJsZU1vZGVscz10Lm1vZGVscyxyLmF2YWlsYWJsZUNvZGV4TW9kZWxzPUFycmF5LmlzQXJyYXkodC5jb2RleE1vZGVscyk/dC5jb2RleE1vZGVsczpbXSxyLmF2YWlsYWJsZU9wZW5Db2RlTW9kZWxzPUFycmF5LmlzQXJyYXkodC5vcGVuY29kZU1vZGVscyk/dC5vcGVuY29kZU1vZGVsczpbXSxkcih0dCgpKSx1YSh0KSxhYSghMSksdHlwZW9mIHg9PSJmdW5jdGlvbiIpKXt2YXIgbj10Lm1vZGVscy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXZhaWxhYmlsaXR5PT09InZlcmlmaWVkIn0pLmxlbmd0aCxpPSJcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTVERjJcdTUyMzdcdTY1QjAiKyh0LmNsYXVkZVZlcnNpb24/Ilx1RkYwOGNsYXVkZSAiK3QuY2xhdWRlVmVyc2lvbisiXHVGRjA5IjoiIik7biYmKGkrPSJcdUZGMUJcdTVERjJcdTlBOENcdThCQzEgIituKyIgXHU0RTJBIikseChpLCJzdWNjZXNzIil9cmV0dXJuIHR9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgeD09ImZ1bmN0aW9uIiYmeCgiXHU1MjM3XHU2NUIwXHU2QTIxXHU1NzhCXHU1MjE3XHU4ODY4XHU1OTMxXHU4RDI1IiwiZXJyb3IiKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3IubW9kZWxzUmVmcmVzaGluZz0hMSxlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIG49dCxpPW4ucXVlcnlTZWxlY3Rvcigic3BhbiIpO24uZGlzYWJsZWQ9ITEsbi5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIiksbi5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYnVzeSIpLGkmJihpLnRleHRDb250ZW50PSJcdTUyMzdcdTY1QjBcdTUyMTdcdTg4NjgiKX0pfSl9ZnVuY3Rpb24gZWcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtpZighZSl7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIiksZS5pZD0iZW52LXByZXZpZXctbW9kYWwiLGUuY2xhc3NOYW1lPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iLGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtb2RhbCBlbnYtcHJldmlldy1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9ImVudi1wcmV2aWV3LXRpdGxlIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXRpdGxlIj5cdTVDMDZcdTZDRThcdTUxNjVcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0Y8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXN1YnRpdGxlIj5cdThGRDlcdTRFOUJcdTUzRDhcdTkxQ0ZcdTRGMUFcdTg4QUJcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXggLyBvcGVuY29kZVx1RkYwOFBUWSBcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTZcdThGRDBcdTg4NENcdTU2NjhcdTRFMDBcdTgxRjRcdUZGMDlcdTMwMDI8L3A+PC9kaXY+PGJ1dHRvbiBpZD0iZW52LXByZXZpZXctY2xvc2UiIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5IGVudi1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXRvb2xiYXIiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LW1ldGEiIGlkPSJlbnYtcHJldmlldy1tZXRhIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1jb250cm9scyI+PGlucHV0IGlkPSJlbnYtcHJldmlldy1zZWFyY2giIGNsYXNzPSJlbnYtcHJldmlldy1zZWFyY2giIHR5cGU9InNlYXJjaCIgcGxhY2Vob2xkZXI9Ilx1NjQxQ1x1N0QyMlx1NTNEOFx1OTFDRlx1NTQwRFx1MjAyNiIgLz48bGFiZWwgY2xhc3M9ImVudi1wcmV2aWV3LXJldmVhbCI+PGlucHV0IGlkPSJlbnYtcHJldmlldy1yZXZlYWwtdG9nZ2xlIiB0eXBlPSJjaGVja2JveCIgLz48c3Bhbj5cdTY2M0VcdTc5M0FcdTY1NEZcdTYxMUZcdTUwM0M8L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1saXN0IiBpZD0iZW52LXByZXZpZXctbGlzdCIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciBlbnYtcHJldmlldy1mb290ZXIiPjxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1oaW50Ij5cdTY1NEZcdTYxMUZcdTVCNTdcdTZCQjVcdUZGMDhcdTU0MkIgS0VZL1RPS0VOL1NFQ1JFVCBcdTdCNDlcdUZGMDlcdTlFRDhcdThCQTRcdTYzQTlcdTc4MDFcdUZGMENcdTUzRUZcdTUyRkVcdTkwMDlcdTMwMENcdTY2M0VcdTc5M0FcdTY1NEZcdTYxMUZcdTUwM0NcdTMwMERcdTRFMzRcdTY1RjZcdThGRDhcdTUzOUZcdTMwMDI8L3NwYW4+PGJ1dHRvbiBpZD0iZW52LXByZXZpZXctY2xvc2UtMiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIj5cdTUxNzNcdTk1RUQ8L2J1dHRvbj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocyl7cy50YXJnZXQ9PT1lJiZOdSgpfSk7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctY2xvc2UiKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOdSk7dmFyIG49ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctY2xvc2UtMiIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE51KTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1zZWFyY2giKTthJiZhLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe2lkKCl9KTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1yZXZlYWwtdG9nZ2xlIik7aSYmaS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7cmQoaS5jaGVja2VkKX0pfWUuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIpO2kmJihpLmNoZWNrZWQ9ITEpO3ZhciBhPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LXNlYXJjaCIpO2EmJihhLnZhbHVlPSIiKSxyZCghMSl9ZnVuY3Rpb24gTnUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtlJiZWdShlKX1mdW5jdGlvbiByZChlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbGlzdCIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LW1ldGEiKTt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdTUyQTBcdThGN0RcdTRFMkRcdTIwMjYiKTt2YXIgaT0iL2FwaS9zZXR0aW5ncy9lbnYtcHJldmlldyIrKGU/Ij9yZXZlYWw9MSI6IiIpO2ZldGNoKGkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWF8fCFBcnJheS5pc0FycmF5KGEuZW50cmllcykpe3QmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1OEJGQlx1NTNENlx1NTkzMVx1OEQyNVx1MzAwMjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdThCRkJcdTUzRDZcdTU5MzFcdThEMjUiKTtyZXR1cm59aWYoci5fZW52UHJldmlldz1hLG4pe3ZhciB1PWEuaW5oZXJpdEVudj8iXHU3RUU3XHU2MjdGXHU3MjM2XHU4RkRCXHU3QTBCIjoiXHU2NzAwXHU1QzBGXHU3NjdEXHU1NDBEXHU1MzU1IjtuLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LXBpbGwgJysoYS5pbmhlcml0RW52PyJpcy1pbmhlcml0IjoiaXMtbWluaW1hbCIpKyciPicrdSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1jb3VudCI+XHU1MTcxICcrYS50b3RhbCsiIFx1OTg3OTwvc3Bhbj4ifWlkKCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJih0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1OEJGQlx1NTNENlx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1N0EwRFx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMjwvZGl2PicpLG4mJihuLnRleHRDb250ZW50PSJcdThCRkJcdTUzRDZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIGlkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LWxpc3QiKTtpZihlKXt2YXIgdD1yLl9lbnZQcmV2aWV3O2lmKCF0fHwhQXJyYXkuaXNBcnJheSh0LmVudHJpZXMpKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1NUMxQVx1NjcyQVx1NTJBMFx1OEY3RFx1MzAwMjwvZGl2Pic7cmV0dXJufWZvcih2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctc2VhcmNoIiksaT0obiYmbi52YWx1ZXx8IiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLGE9IiIsdT0wLG89MDtvPHQuZW50cmllcy5sZW5ndGg7bysrKXt2YXIgcz10LmVudHJpZXNbb107aWYoIShpJiZzLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGkpPT09LTEpKXt1Kys7dmFyIGw9dHlwZW9mIHMudmFsdWU9PSJzdHJpbmciJiZzLnZhbHVlLmNoYXJBdCgwKT09PSI8IiYmcy52YWx1ZS5jaGFyQXQocy52YWx1ZS5sZW5ndGgtMSk9PT0iPiI7YSs9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXJvdycrKHMuc2Vuc2l0aXZlPyIgaXMtc2Vuc2l0aXZlIjoiIikrJyI+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbmFtZSI+JytwKHMubmFtZSkrKHMuc2Vuc2l0aXZlPyc8c3BhbiBjbGFzcz0iZW52LXByZXZpZXctYmFkZ2UiIHRpdGxlPSJcdTg4QUJcdThCQzZcdTUyMkJcdTRFM0FcdTY1NEZcdTYxMUZcdTVCNTdcdTZCQjUiPlx1NjU0Rlx1NjExRjwvc3Bhbj4nOiIiKSsobD8nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LWJhZGdlIGVudi1wcmV2aWV3LWJhZGdlLXJ1bnRpbWUiIHRpdGxlPSJcdTYzMDlcdTRGMUFcdThCRERcdTUyQThcdTYwMDFcdTZDRThcdTUxNjUiPlx1OEZEMFx1ODg0Q1x1NjVGNjwvc3Bhbj4nOiIiKSsnPC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctdmFsdWUnKyhsPyIgaXMtcnVudGltZSI6IiIpKyciIHRpdGxlPSInK3AoU3RyaW5nKHMudmFsdWUpKSsnIj4nK3AoU3RyaW5nKHMudmFsdWUpKSsnPC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbGVuIj4nK3MubGVuZ3RoKyIgXHU1QjU3XHU3QjI2PC9kaXY+PC9kaXY+In19dT09PTAmJihhPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1lbXB0eSI+XHU2Q0ExXHU2NzA5XHU1MzM5XHU5MTREXHU3Njg0XHU1M0Q4XHU5MUNGXHUzMDAyPC9kaXY+JyksZS5pbm5lckhUTUw9YX19ZnVuY3Rpb24gYWQoZSl7cmV0dXJuIGU9PT0iY29kZXgiP3IuYXZhaWxhYmxlQ29kZXhNb2RlbHN8fFtdOmU9PT0ib3BlbmNvZGUiP3IuYXZhaWxhYmxlT3BlbkNvZGVNb2RlbHN8fFtdOnIuYXZhaWxhYmxlTW9kZWxzfHxbXX1mdW5jdGlvbiB1ZChlKXtpZihlKXt2YXIgdD1wdChlLmdldEF0dHJpYnV0ZSgiZGF0YS1wcm92aWRlciIpKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0IiksaT1lLmNsb3Nlc3QoIi5zZXR0aW5ncy1tb2RlbC1maWVsZCIpLGE9aT9pLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLW1vZGVsLXN0YXR1c10iKTpudWxsO2lmKCEoIW58fCFhKSl7Zm9yKHZhciB1PShuLnZhbHVlfHwiIikudHJpbSgpLG89YWQodCkscz1udWxsLGw9MDtsPG8ubGVuZ3RoO2wrKylpZihvW2xdLmlkPT09dSl7cz1vW2xdO2JyZWFrfWlmKGEuY2xhc3NMaXN0LnJlbW92ZSgiaXMtY3VzdG9tIiwiaXMta25vd24iKSwhdSl7YS50ZXh0Q29udGVudD0iXHU4RERGXHU5NjhGIENMSSBcdTlFRDhcdThCQTQiO3JldHVybn1pZihzKXtzLmF2YWlsYWJpbGl0eT09PSJ2ZXJpZmllZCI/YS50ZXh0Q29udGVudD0iXHU1REYyXHU3NTMxIENsYXVkZSBDb2RlIFx1OUE4Q1x1OEJDMSI6cy5hdmFpbGFiaWxpdHk9PT0ic3RhbGUiP2EudGV4dENvbnRlbnQ9Ilx1OUE4Q1x1OEJDMVx1OEJCMFx1NUY1NVx1NUY4NVx1NTIzN1x1NjVCMCI6cy5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/YS50ZXh0Q29udGVudD0iQVBJIFx1NTAxOVx1OTAwOVx1RkYwQ1x1NUMxQVx1NjcyQVx1OUE4Q1x1OEJDMSI6YS50ZXh0Q29udGVudD0iXHU1REYyXHU2OEMwXHU2RDRCXHU1MjMwXHVGRjBDXHU1QzFBXHU2NzJBXHU5QThDXHU4QkMxIixhLmNsYXNzTGlzdC5hZGQoImlzLWtub3duIik7cmV0dXJufWEudGV4dENvbnRlbnQ9Ilx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMCIsYS5jbGFzc0xpc3QuYWRkKCJpcy1jdXN0b20iKX19fWZ1bmN0aW9uIGNyKGUpe2lmKGUpe3ZhciB0PXB0KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIikpLG49ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKSxpPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKTtpZighKCFufHwhaSkpe2Zvcih2YXIgYT1uLnZhbHVlfHwiIix1PWEudHJpbSgpLG89ZS5jbGFzc0xpc3QuY29udGFpbnMoImlzLWZpbHRlcmluZyIpP3UudG9Mb3dlckNhc2UoKToiIixzPWFkKHQpLGw9bnVsbCxkPSExLGY9W10sYz0wO2M8cy5sZW5ndGg7YysrKXt2YXIgdj1zW2NdO2lmKHYuaWQ9PT0iZGVmYXVsdCIpe2w9djtjb250aW51ZX12LmlkPT09dSYmKGQ9ITApO3ZhciBoPXYubGFiZWx8fHYuaWQ7aWYoIShvJiZ2LmlkLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKT09PS0xJiZoLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKT09PS0xKSl7dmFyIG09dCE9PSJjbGF1ZGUiP2g9PT12LmlkPyJcdTVERjJcdTY4QzBcdTZENEJcdTZBMjFcdTU3OEIiOnYuaWQ6di5hdmFpbGFiaWxpdHk9PT0idmVyaWZpZWQiPyJcdTVERjJcdTc1MzEgQ2xhdWRlIENvZGUgXHU5QThDXHU4QkMxIjp2LmF2YWlsYWJpbGl0eT09PSJzdGFsZSI/Ilx1OUE4Q1x1OEJDMVx1OEJCMFx1NUY1NVx1NUY4NVx1NTIzN1x1NjVCMCI6di5zb3VyY2U9PT0ibW9kZWxzLWFwaSI/IkFQSSBcdTUwMTlcdTkwMDlcdUZGMENcdTVDMUFcdTY3MkFcdTlBOENcdThCQzEiOnYubm90ZXx8Ilx1NUMxQVx1NjcyQVx1OUE4Q1x1OEJDMSI7Zi5wdXNoKHt2YWx1ZTp2LmlkLGxhYmVsOmgsbWV0YTptLGN1c3RvbTohMX0pfX12YXIgZz10PT09ImNvZGV4Ij8iXHU4RERGXHU5NjhGIENvZGV4IFx1OUVEOFx1OEJBNCI6dD09PSJvcGVuY29kZSI/Ilx1OERERlx1OTY4RiBPcGVuQ29kZSBcdTlFRDhcdThCQTQiOiJcdThEREZcdTk2OEYgQ2xhdWRlIENvZGUgXHU5RUQ4XHU4QkE0Iix5PWwmJmwubGFiZWw/bC5sYWJlbDoiXHU0RTBEXHU0RjIwIC0tbW9kZWwgXHU1M0MyXHU2NTcwIixCPSIiOyghb3x8Zy50b0xvd2VyQ2FzZSgpLmluZGV4T2YobykhPT0tMXx8eS50b0xvd2VyQ2FzZSgpLmluZGV4T2YobykhPT0tMSkmJihCKz0nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24nKyh1PyIiOiIgaXMtc2VsZWN0ZWQiKSsnIiByb2xlPSJvcHRpb24iIGFyaWEtc2VsZWN0ZWQ9IicrKHU/ImZhbHNlIjoidHJ1ZSIpKyciIGRhdGEtbW9kZWwtdmFsdWU9IiI+PHNwYW4gY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbi1jaGVjayIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJtNSAxMiA0IDRMMTkgNiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPicrcChnKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbWV0YSI+JytwKHkpKyI8L3NwYW4+PC9zcGFuPjwvYnV0dG9uPiIpO2Zvcih2YXIgRT0wO0U8Zi5sZW5ndGg7RSsrKXt2YXIgQz1mW0VdLEQ9Qy52YWx1ZT09PXU7Qis9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uJysoRD8iIGlzLXNlbGVjdGVkIjoiIikrJyIgcm9sZT0ib3B0aW9uIiBhcmlhLXNlbGVjdGVkPSInKyhEPyJ0cnVlIjoiZmFsc2UiKSsnIiBkYXRhLW1vZGVsLXZhbHVlPSInK3AoQy52YWx1ZSkrJyI+PHNwYW4gY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbi1jaGVjayIgYXJpYS1oaWRkZW49InRydWUiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJtNSAxMiA0IDRMMTkgNiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPicrcChDLmxhYmVsKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbWV0YSI+JytwKEMubWV0YSkrIjwvc3Bhbj48L3NwYW4+PC9idXR0b24+In11JiYhZCYmKEIrPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im1vZGVsLWNvbWJvYm94LW9wdGlvbiBtb2RlbC1jb21ib2JveC1vcHRpb24tY3VzdG9tIGlzLXNlbGVjdGVkIiByb2xlPSJvcHRpb24iIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGRhdGEtbW9kZWwtdmFsdWU9IicrcCh1KSsnIj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWN1c3RvbS1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEgMi4xIDAgMCAxIDMgM0w4IDE4bC00IDEgMS00WiIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHkiPjxzcGFuIGNsYXNzPSJtb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwiPlx1NEY3Rlx1NzUyOFx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtb3B0aW9uLW1ldGEiPicrcCh1KSsiPC9zcGFuPjwvc3Bhbj48L2J1dHRvbj4iKSxCfHwoQj0nPGRpdiBjbGFzcz0ibW9kZWwtY29tYm9ib3gtZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTMzOVx1OTE0RFx1NzY4NFx1NkEyMVx1NTc4Qlx1RkYwQ1x1NTNFRlx1NEVFNVx1N0VFN1x1N0VFRFx1OEY5M1x1NTE2NVx1ODFFQVx1NUI5QVx1NEU0OVx1NTQwRFx1NzlGMFx1MzAwMjwvZGl2PicpLGkuaW5uZXJIVE1MPUI7Zm9yKHZhciBGPWkucXVlcnlTZWxlY3RvckFsbCgiLm1vZGVsLWNvbWJvYm94LW9wdGlvbiIpLEw9LTEsST0wO0k8Ri5sZW5ndGg7SSsrKWlmKEZbSV0uZ2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIik9PT0idHJ1ZSIpe0w9STticmVha31lLl93YW5kTW9kZWxBY3RpdmVJbmRleD1MPj0wP0w6Ri5sZW5ndGg/MDotMSxvZChlKSx1ZChlKX19fWZ1bmN0aW9uIG9kKGUpe2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0Iik7aWYoISghdHx8IW4pKXtmb3IodmFyIGk9dC5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3gtb3B0aW9uIiksYT10eXBlb2YgZS5fd2FuZE1vZGVsQWN0aXZlSW5kZXg9PSJudW1iZXIiP2UuX3dhbmRNb2RlbEFjdGl2ZUluZGV4Oi0xLHU9MDt1PGkubGVuZ3RoO3UrKylpW3VdLmNsYXNzTGlzdC50b2dnbGUoImlzLWFjdGl2ZSIsdT09PWEpLHU9PT1hJiYoaVt1XS5pZHx8KGlbdV0uaWQ9KHQuaWR8fCJtb2RlbC1saXN0Ym94IikrIi1vcHRpb24tIit1KSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixpW3VdLmlkKSk7YTwwJiZuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iil9fX1mdW5jdGlvbiBpYShlKXtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1pbnB1dCIpLG49ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtbWVudSIpOyF0fHwhbnx8KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC5pcy1vcGVuIikuZm9yRWFjaChmdW5jdGlvbihpKXtpIT09ZSYmRG4oaSl9KSxjcihlKSxlLmNsYXNzTGlzdC5hZGQoImlzLW9wZW4iKSxuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpKX19ZnVuY3Rpb24gRG4oZSl7aWYoZSl7dmFyIHQ9ZS5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKSxuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LW1lbnUiKTtlLmNsYXNzTGlzdC5yZW1vdmUoImlzLW9wZW4iKSxlLmNsYXNzTGlzdC5yZW1vdmUoImlzLWZpbHRlcmluZyIpLG4mJm4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdCYmKHQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSx0LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IikpfX1mdW5jdGlvbiBzZChlLHQpe2lmKGUpe3ZhciBuPWUucXVlcnlTZWxlY3RvcigiLm1vZGVsLWNvbWJvYm94LWlucHV0Iik7aWYobil7dmFyIGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PW47bi52YWx1ZT10fHwiIixuLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIsbi5kYXRhc2V0Lm1vZGVsRGlydHk9InRydWUiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaXMtZmlsdGVyaW5nIiksdWQoZSksRG4oZSksaSYmbi5mb2N1cygpfX19ZnVuY3Rpb24gdGcoKXt3aW5kb3cuX193YW5kU2V0dGluZ3NNb2RlbE91dHNpZGVCb3VuZHx8KHdpbmRvdy5fX3dhbmRTZXR0aW5nc01vZGVsT3V0c2lkZUJvdW5kPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgbj10LnRhcmdldDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3guaXMtb3BlbiIpLmZvckVhY2goZnVuY3Rpb24oaSl7KCFufHwhaS5jb250YWlucyhuKSkmJkRuKGkpfSl9KSk7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1vZGVsLWNvbWJvYm94Iik7ZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQuZGF0YXNldC5ib3VuZCE9PSJ0cnVlIil7dC5kYXRhc2V0LmJvdW5kPSJ0cnVlIjt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1pbnB1dCIpLGk9dC5xdWVyeVNlbGVjdG9yKCIubW9kZWwtY29tYm9ib3gtdG9nZ2xlIiksYT10LnF1ZXJ5U2VsZWN0b3IoIi5tb2RlbC1jb21ib2JveC1tZW51Iik7IW58fCFpfHwhYXx8KG4uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7aWEodCl9KSxuLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe24uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkPSJ0cnVlIixuLmRhdGFzZXQubW9kZWxEaXJ0eT0idHJ1ZSIsdC5jbGFzc0xpc3QuYWRkKCJpcy1maWx0ZXJpbmciKSxpYSh0KX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odSl7aWYodS5rZXk9PT0iRXNjYXBlIil7dS5wcmV2ZW50RGVmYXVsdCgpLERuKHQpO3JldHVybn1pZighKHUua2V5IT09IkFycm93RG93biImJnUua2V5IT09IkFycm93VXAiJiZ1LmtleSE9PSJFbnRlciIpKXtpZighdC5jbGFzc0xpc3QuY29udGFpbnMoImlzLW9wZW4iKSl7aWYodS5rZXk9PT0iRW50ZXIiKXJldHVybjtpYSh0KX12YXIgbz1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC1vcHRpb24iKTtpZihvLmxlbmd0aCl7dS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBzPXR5cGVvZiB0Ll93YW5kTW9kZWxBY3RpdmVJbmRleD09Im51bWJlciI/dC5fd2FuZE1vZGVsQWN0aXZlSW5kZXg6LTE7aWYodS5rZXk9PT0iQXJyb3dEb3duIiYmKHM9czxvLmxlbmd0aC0xP3MrMTowKSx1LmtleT09PSJBcnJvd1VwIiYmKHM9cz4wP3MtMTpvLmxlbmd0aC0xKSx0Ll93YW5kTW9kZWxBY3RpdmVJbmRleD1zLG9kKHQpLHUua2V5PT09IkVudGVyIil7dmFyIGw9b1tzXTtsJiZzZCh0LGwuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGVsLXZhbHVlIil8fCIiKX1lbHNle3ZhciBkPW9bc107ZCYmdHlwZW9mIGQuc2Nyb2xsSW50b1ZpZXc9PSJmdW5jdGlvbiImJmQuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJuZWFyZXN0In0pfX19fSksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKHUpe3UucHJldmVudERlZmF1bHQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dC5jbGFzc0xpc3QuY29udGFpbnMoImlzLW9wZW4iKT9Ebih0KTppYSh0KX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih1KXt1LnByZXZlbnREZWZhdWx0KCl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih1KXt2YXIgbz11LnRhcmdldC5jbG9zZXN0KCIubW9kZWwtY29tYm9ib3gtb3B0aW9uIik7byYmc2QodCxvLmdldEF0dHJpYnV0ZSgiZGF0YS1tb2RlbC12YWx1ZSIpfHwiIil9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpfHxEbih0KX0sMCl9KSxjcih0KSl9fSl9ZnVuY3Rpb24gYWEoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtY2xpIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbC1jb21ib2JveCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtbW9kZWwiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY29tbWl0LW1vZGVsLXByb3ZpZGVyIik7aWYoISghdHx8IW58fCFpKSl7dmFyIHU9cHQodC52YWx1ZSk7bi5zZXRBdHRyaWJ1dGUoImRhdGEtcHJvdmlkZXIiLHUpLGkucGxhY2Vob2xkZXI9dT09PSJjb2RleCI/Ilx1OERERlx1OTY4RiBDb2RleCBcdTlFRDhcdThCQTQiOnU9PT0ib3BlbmNvZGUiPyJcdThEREZcdTk2OEYgT3BlbkNvZGUgXHU5RUQ4XHU4QkE0IjoiXHU4RERGXHU5NjhGIENsYXVkZSBDb2RlIFx1OUVEOFx1OEJBNCIsYSYmKGEudGV4dENvbnRlbnQ9dT09PSJjb2RleCI/IkNvZGV4IENMSSI6dT09PSJvcGVuY29kZSI/Ik9wZW5Db2RlIENMSSI6IkNsYXVkZSBDb2RlIiksZSYmKGkudmFsdWU9IiIsaS5kYXRhc2V0Lm1vZGVsRGlydHk9InRydWUiKSxjcihuKX19ZnVuY3Rpb24gdWEoZSl7dmFyIHQ9X3UoKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbCIpO2lmKG4pe24uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkIT09InRydWUiJiYobi52YWx1ZT1yLmNvbmZpZ0RlZmF1bHRNb2RlbHMmJnIuY29uZmlnRGVmYXVsdE1vZGVscy5jbGF1ZGV8fHQuY2xhdWRlfHwiIixuLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciBpPW4uY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7aSYmY3IoaSl9dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LWNvZGV4LW1vZGVsIik7aWYoYSl7YS5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQhPT0idHJ1ZSImJihhLnZhbHVlPXIuY29uZmlnRGVmYXVsdE1vZGVscyYmci5jb25maWdEZWZhdWx0TW9kZWxzLmNvZGV4fHx0LmNvZGV4fHwiIixhLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciB1PWEuY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7dSYmY3IodSl9dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW9wZW5jb2RlLW1vZGVsIik7aWYobyl7by5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQhPT0idHJ1ZSImJihvLnZhbHVlPXIuY29uZmlnRGVmYXVsdE1vZGVscyYmci5jb25maWdEZWZhdWx0TW9kZWxzLm9wZW5jb2RlfHx0Lm9wZW5jb2RlfHwiIixvLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0idHJ1ZSIpO3ZhciBzPW8uY2xvc2VzdCgiLm1vZGVsLWNvbWJvYm94Iik7cyYmY3Iocyl9dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsLXZlcnNpb24iKTtsJiZlJiYobC50ZXh0Q29udGVudD1lLmNsYXVkZVZlcnNpb24/Ilx1NURGMlx1NjhDMFx1NkQ0Qlx1NTIzMCBDbGF1ZGUgQ0xJICIrZS5jbGF1ZGVWZXJzaW9uKyJcdUZGMUJcdTUyMTdcdTg4NjhcdTVERjJcdTU0MENcdTZCNjUgQ29kZXggXHU0RTBFIE9wZW5Db2RlIFx1NTNFRlx1NzUyOFx1NkEyMVx1NTc4Qlx1MzAwMiI6Ilx1NjcyQVx1OEJGQlx1NTNENlx1NTIzMCBDbGF1ZGUgQ0xJIFx1NzI0OFx1NjcyQ1x1RkYxQlx1NEVDRFx1NTNFRlx1NzZGNFx1NjNBNVx1OEY5M1x1NTE2NVx1ODFFQVx1NUI5QVx1NEU0OVx1NkEyMVx1NTc4Qlx1NTQwRFx1NzlGMFx1MzAwMiIpfWZ1bmN0aW9uIHR0KCl7aWYoIXIuc2VsZWN0ZWRJZClyZXR1cm4gbnVsbDtmb3IodmFyIGU9MDtlPHIuc2Vzc2lvbnMubGVuZ3RoO2UrKylpZihyLnNlc3Npb25zW2VdLmlkPT09ci5zZWxlY3RlZElkKXJldHVybiByLnNlc3Npb25zW2VdO3JldHVybiBudWxsfWZ1bmN0aW9uIG5nKGUpe3ZhciB0PShlfHwiIikudHJpbSgpLG49dHQoKSxpPVlyKG4pO25hKGksdCksbiYmWmkobi5pZCwibW9kZWwiLHQpO3ZhciBhPSExO2lmKFpyKG4pLnNvbWUoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1yYShuKX0pfHwoYT0hMCxYbCgib2ZmIiksbiYmWmkobi5pZCwidGhpbmtpbmciLCJvZmYiKSksdG4oKSwhIW4pe3ZhciB1PXtvazohMSxlcnJvcjoiIn07aWYoT3Uobi5pZCxmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmlkKSsiL21vZGVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7bW9kZWw6dHx8bnVsbH0pfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiB1Lm9rPSEhKHMmJnMuaWQmJiFzLmVycm9yKSx1LmVycm9yPXMmJnMuZXJyb3I/cy5lcnJvcjoiIixzfSl9KS50aGVuKGZ1bmN0aW9uKHMpe2lmKCFhJiZQdShuLmlkLHMpJiZ0eXBlb2YgeD09ImZ1bmN0aW9uIil7dmFyIGw9R3IodCx0dCgpfHxuKSxkPW4ucHJvdmlkZXI9PT0iY29kZXgiPyJcdUZGMDhcdTRFMEJcdTZCMjFcdTVCRjlcdThCRERcdTc1MUZcdTY1NDhcdUZGMDkiOiIiO3goIlx1NURGMlx1NTIwN1x1NjM2Mlx1NkEyMVx1NTc4QiBcdTIxOTIgIitsK2QsInN1Y2Nlc3MiKX19KS5jYXRjaChmdW5jdGlvbihzKXt1Lm9rPSExLCFhJiZzJiZzLmxhdGVzdCYmSnIobi5pZCwiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1Iil9KSxhKXt2YXIgbz1Hcih0LG4pO1psKG4sIm9mZiIsIlx1NURGMlx1NTIwN1x1NjM2Mlx1NkEyMVx1NTc4QiBcdTIxOTIgIitvKyJcdUZGMUJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTVERjJcdTU2REVcdTg0M0RcdTRFM0FcdTgxRUFcdTUyQTgiLHUpfX19ZnVuY3Rpb24gcmcoZSl7dmFyIHQ9ZnQoZXQoKSwoZXx8ImRlZmF1bHQiKS50cmltKCkpO3IuY2hhdE1vZGU9dCx0bigpO3ZhciBuPXR0KCk7aWYoIW58fCFuLmlkKXt4JiZ4KCJcdTY1QjBcdTRGMUFcdThCRERcdTZBMjFcdTVGMEZcdUZGMUEiK3QsImluZm8iKTtyZXR1cm59Wmkobi5pZCwibW9kZSIsdCksT3Uobi5pZCxmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmlkKSsiL21vZGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHttb2RlOnR9KX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKFB1KG4uaWQsaSkmJnR5cGVvZiB4PT0iZnVuY3Rpb24iKXt2YXIgYT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLmlkfSl8fG4sdT1hLm1vZGV8fHQ7ci5jaGF0TW9kZT1mdChhLnByb3ZpZGVyfHxldCgpLHUpLHRuKCk7dmFyIG89bi5wcm92aWRlcj09PSJjb2RleCI/Ilx1RkYwOENvZGV4IFx1NTZGQVx1NUI5QVx1NTE2OFx1Njc0M1x1OTY1MFx1RkYwOSI6IiI7eCgiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1RjBGIFx1MjE5MiAiK3Urbywic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2kmJmkubGF0ZXN0JiZKcihuLmlkLCJcdTUyMDdcdTYzNjJcdTZBMjFcdTVGMEZcdTU5MzFcdThEMjUiKX0pfWZ1bmN0aW9uIGxkKGUsdCxuLGkpe3ZhciBhPXB0KHIuc2Vzc2lvblRvb2wpLHU9UXIoYSksbz1yLmNoYXRUaGlua2luZ3x8Im9mZiIscz17Y3dkOnR8fFplKCksbW9kZTpufHxyLmNoYXRNb2RlfHxyLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixwcm92aWRlcjphLHJ1bm5lcjphPT09ImNvZGV4Ij8iY29kZXgtY2xpLWV4ZWMiOmE9PT0ib3BlbmNvZGUiPyJvcGVuY29kZS1jbGktcnVuIjpyLmNvbmZpZyYmci5jb25maWcuc3RydWN0dXJlZFJ1bm5lcj09PSJzZGsiPyJjbGF1ZGUtc2RrIjpyLnN0cnVjdHVyZWRSdW5uZXJ8fCJjbGF1ZGUtY2xpLXByaW50Iixwcm9tcHQ6ZXx8dm9pZCAwLHdvcmt0cmVlRW5hYmxlZDppPT09ITAsbW9kZWw6dXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0Om8sc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifTtyZXR1cm4gZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkocyl9KS50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBsLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obCl7aWYobC5lcnJvcil0aHJvdyBuZXcgRXJyb3IobC5lcnJvcik7cmV0dXJuIHIuc2VsZWN0ZWRJZD1sLmlkLGtlKCksci5kcmFmdHNbbC5pZF09IiIsa3QoKSxuZShsKSxFZSgpLGpyKGwuaWQpLEduKGwuaWQpLGtuKGwuaWQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbH0pfSl9ZnVuY3Rpb24gb2EoKXt2YXIgZT0hIXIuc2VsZWN0ZWRJZCx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxhPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PXIuc2VsZWN0ZWRJZH0pLHU9ZmUoYSksbz1lJiYhdSYmci5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCIscz1lJiYodXx8ci5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpO3U/ci5jdXJyZW50Vmlldz0iY2hhdCI6ZXx8KHIuY3VycmVudFZpZXc9InRlcm1pbmFsIiksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixvKSx0LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIW8pKSxuJiYobi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHMpLG4uY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhcykpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixlKSxuJiZzJiZ5dShuKSxFcigpLCRlKCksUnIoKX1mdW5jdGlvbiBmcigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWRlc2NyaXB0aW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWRlc2NyaXB0aW9uIiksbj1yLnNlc3Npb25Ub29sfHwiY2xhdWRlIixpPXIuc2Vzc2lvbkNyZWF0ZUtpbmR8fCJzdHJ1Y3R1cmVkIjtyLnNlc3Npb25Ub29sPW4sci5tb2RlVmFsdWU9ZnQobixyLm1vZGVWYWx1ZXx8ci5jaGF0TW9kZXx8ImRlZmF1bHQiKTt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcHJvdmlkZXItY2FyZHMgLnByb3ZpZGVyLWNhcmQiKTthLmxlbmd0aCYmYS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciBsPXMuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7cy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGw9PT1uKSxzLmNsYXNzTGlzdC5yZW1vdmUoImRpc2FibGVkIil9KTt2YXIgdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjc2Vzc2lvbi1raW5kLWNhcmRzIC5zZXNzaW9uLWtpbmQtY2FyZCIpO3UubGVuZ3RoJiZ1LmZvckVhY2goZnVuY3Rpb24ocyl7dmFyIGw9cy5nZXRBdHRyaWJ1dGUoImRhdGEtc2Vzc2lvbi1raW5kIiksZD0hMTtzLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbD09PWkpLHMuY2xhc3NMaXN0LnRvZ2dsZSgiZGlzYWJsZWQiLGQpfSk7dmFyIG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI21vZGUtY2FyZHMgLm1vZGUtY2FyZCIpO28ubGVuZ3RoJiZvLmZvckVhY2goZnVuY3Rpb24ocyl7cy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHMuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKT09PXIubW9kZVZhbHVlKX0pLHQmJih0LnRleHRDb250ZW50PUtvKGkpKSxlJiYoZS50ZXh0Q29udGVudD1SbChuLHIubW9kZVZhbHVlKSl9ZnVuY3Rpb24gbmUoZSl7aWYoISghZXx8IWUuaWQpKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lLmlkfSl8fG51bGwsbj1HZChlLHQpO2lmKEFycmF5LmlzQXJyYXkobi5tZXNzYWdlcykmJnR5cGVvZiBuLm1lc3NhZ2VPZmZzZXQ9PSJudW1iZXIiKXt2YXIgaT16ZCh0LG4ubWVzc2FnZXMsbi5tZXNzYWdlT2Zmc2V0LG4ubWVzc2FnZVRvdGFsKTtuLm1lc3NhZ2VzPWkubWVzc2FnZXMsbi5tZXNzYWdlT2Zmc2V0PWkubWVzc2FnZU9mZnNldCxuLm1lc3NhZ2VUb3RhbD1pLm1lc3NhZ2VUb3RhbH12YXIgYT0hMSx1PW51bGw7ci5zZXNzaW9ucz1yLnNlc3Npb25zLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZCE9PW4uaWQ/czoodT1zLGE9ITAsT2JqZWN0LmFzc2lnbih7fSxzLG4pKX0pLGF8fHIuc2Vzc2lvbnMudW5zaGlmdChuKTt2YXIgbz1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLmlkfSl8fG47byYmQXJyYXkuaXNBcnJheShvLnF1ZXVlZE1lc3NhZ2VzKSYmbi5pZD09PXIuc2VsZWN0ZWRJZCYmKHZpKG8pLGZvKCksRm4oKSksbi5pZD09PXIuc2VsZWN0ZWRJZCYmKGR1KCksJHQoKSksbi5zdGF0dXMmJm4uc3RhdHVzIT09InJ1bm5pbmciJiZyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZzZXRUaW1lb3V0KFBpLDApfX1mdW5jdGlvbiBHbihlKXshZXx8IXIud3N8fHIud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOfHxyLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InN1YnNjcmliZSIsc2Vzc2lvbklkOmV9KSl9ZnVuY3Rpb24gaWcoZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgbj1PYmplY3QuYXNzaWduKHt9LGUsdCksaT1lLm91dHB1dHx8IiIsYT10Lm91dHB1dHx8IiIsdT1pLmxlbmd0aD5hLmxlbmd0aCxvPWUuc3RydWN0dXJlZFN0YXRlfHxudWxsLHM9dC5zdHJ1Y3R1cmVkU3RhdGV8fG51bGwsbD1lLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHx0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGQ9ISEoZS5tZXNzYWdlcyYmZS5tZXNzYWdlcy5sZW5ndGgmJihmdW5jdGlvbigpe3ZhciBnPWUubWVzc2FnZXNbZS5tZXNzYWdlcy5sZW5ndGgtMV07cmV0dXJuIGcmJmcucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGcuY29udGVudCkmJmcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSksZj1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2w/Q3IoZS5tZXNzYWdlcyk6ZS5tZXNzYWdlczpbXSxjPUFycmF5LmlzQXJyYXkodC5tZXNzYWdlcyk/bD9Dcih0Lm1lc3NhZ2VzKTp0Lm1lc3NhZ2VzOltdLHY9Yy5sZW5ndGg+MCYmKGZ1bmN0aW9uKCl7dmFyIGc9Y1tjLmxlbmd0aC0xXTtyZXR1cm4gZyYmZy5yb2xlPT09ImFzc2lzdGFudCImJkFycmF5LmlzQXJyYXkoZy5jb250ZW50KSYmIWcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSxoPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCImJiEhbyYmby5pbkZsaWdodD09PSEwJiYoIXN8fHMuaW5GbGlnaHQhPT0hMCkmJmQmJiEhby5hY3RpdmVSZXF1ZXN0SWQmJiEhcyYmISFzLmFjdGl2ZVJlcXVlc3RJZCYmcy5hY3RpdmVSZXF1ZXN0SWQ9PT1vLmFjdGl2ZVJlcXVlc3RJZCYmIXYsbT1mLmxlbmd0aD5jLmxlbmd0aHx8Zi5sZW5ndGg+MCYmYy5sZW5ndGg+MCYmSlNPTi5zdHJpbmdpZnkoZltmLmxlbmd0aC0xXSkhPT1KU09OLnN0cmluZ2lmeShjW2MubGVuZ3RoLTFdKSYmSlNPTi5zdHJpbmdpZnkoZikubGVuZ3RoPkpTT04uc3RyaW5naWZ5KGMpLmxlbmd0aDtyZXR1cm4gdSYmKG4ub3V0cHV0PWkpLGgmJihuLnN0YXR1cz1lLnN0YXR1c3x8bi5zdGF0dXMsbi5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxzfHx7fSxvLHtpbkZsaWdodDohMH0pLG4ubWVzc2FnZXM9ZS5tZXNzYWdlcyksbSYmKG4ubWVzc2FnZXM9ZiksZS5pZD09PXIuc2VsZWN0ZWRJZCYmKGUucGVybWlzc2lvbkJsb2NrZWQmJnQucGVybWlzc2lvbkJsb2NrZWQ9PT0hMXx8ZS5wZXJtaXNzaW9uQmxvY2tlZCYmIXQucGVybWlzc2lvbkJsb2NrZWQmJihuLnBlcm1pc3Npb25CbG9ja2VkPSEwKSxlLnBlbmRpbmdFc2NhbGF0aW9uJiYhdC5wZW5kaW5nRXNjYWxhdGlvbiYmdC5wZXJtaXNzaW9uQmxvY2tlZCE9PSExJiYobi5wZW5kaW5nRXNjYWxhdGlvbj1lLnBlbmRpbmdFc2NhbGF0aW9uKSxlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wJiYoIXQubWVzc2FnZXN8fHQubWVzc2FnZXMubGVuZ3RoPT09MCkmJihuLm1lc3NhZ2VzPWUubWVzc2FnZXMpKSxufWZ1bmN0aW9uIG50KGUsdCxuKXtpZihlJiZlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wKXJldHVybiBlLm1lc3NhZ2VzO2lmKGUmJmUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpcmV0dXJuW107aWYoIW4pcmV0dXJuW107dmFyIGk9dHlwZW9mIHQ9PSJzdHJpbmciP3Q6ZSYmZS5vdXRwdXR8fCIiO3JldHVybiBpP25tKGksZSYmZS5jb21tYW5kKTpbXX1mdW5jdGlvbiBhZyhlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiBudWxsO2lmKHIuc2VsZWN0ZWRJZCl7dmFyIHQ9ZS5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5zZWxlY3RlZElkfSk7cmV0dXJuIHQ/dC5pZDpudWxsfXZhciBuPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGF0dXM9PT0icnVubmluZyJ9KTtpZihuKXJldHVybiBuLmlkO3ZhciBpPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4hYS5hcmNoaXZlZH0pO3JldHVybiBpP2kuaWQ6ZVswXS5pZH1mdW5jdGlvbiBubihlKXt2YXIgdD1lfHx7fTtyZXR1cm4gZmV0Y2goIi9hcGkvc2Vzc2lvbnMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtpZihuLnN0YXR1cz09PTQwMSl7TmwoKTtyZXR1cm59cmV0dXJuIG4uanNvbigpfSkudGhlbihmdW5jdGlvbihuKXt2YXIgaT1ufHxbXSxhPW5ldyBTZXQoaS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWR9KSk7T2JqZWN0LmtleXMoci5kcmFmdHMpLmZvckVhY2goZnVuY3Rpb24oYyl7YS5oYXMoYyl8fGRlbGV0ZSByLmRyYWZ0c1tjXX0pLHIuc2Vzc2lvbnM9aS5tYXAoZnVuY3Rpb24oYyl7dmFyIHY9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGgpe3JldHVybiBoLmlkPT09Yy5pZH0pO3JldHVybiBpZyh2LGMpfSk7dmFyIHU9YWcoci5zZXNzaW9ucyk7aWYodSE9PXZvaWQgMCYmKHIuc2VsZWN0ZWRJZD11KSx2bygpLEZuKCksci5ib290c3RyYXBwaW5nPSExLGtlKCksci5tb2RhbE9wZW4pRWUoKTtlbHNle3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1saXN0Iikscz1NYSgpO2lmKG8mJm8uaW5uZXJIVE1MPT09cyl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtsJiYobC50ZXh0Q29udGVudD1TdHJpbmcoci5zZXNzaW9ucy5sZW5ndGgpKX1lbHNle28mJihvLmlubmVySFRNTD1zLHp0KG8pKTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1jb3VudCIpO2wmJihsLnRleHRDb250ZW50PVN0cmluZyhyLnNlc3Npb25zLmxlbmd0aCkpfX1laSgpLHIuc2VsZWN0ZWRJZCYmci5naXRTdGF0dXNTZXNzaW9uSWQhPT1yLnNlbGVjdGVkSWQmJl9uKHIuc2VsZWN0ZWRJZCk7dmFyIGQ9UHJvbWlzZS5yZXNvbHZlKCk7aWYoIXQuc2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkJiZyLnNlbGVjdGVkSWQpZD1rbihyLnNlbGVjdGVkSWQpO2Vsc2UgaWYoci5zZWxlY3RlZElkKXt2YXIgZj1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1yLnNlbGVjdGVkSWR9KTtmZShmKSYmKGt0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxodSghMCkpfXJldHVybiBkLnRoZW4oZnVuY3Rpb24oKXtyLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZQaSgpLHh0KCksWmEoKX0pfSkuY2F0Y2goZnVuY3Rpb24obil7dmFyIGk9biYmbi5tZXNzYWdlfHwiIixhPWk9PT0iRmFpbGVkIHRvIGZldGNoInx8aT09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fGk9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KGkpO2F8fGNvbnNvbGUuZXJyb3IoIlt3YW5kXSBsb2FkU2Vzc2lvbnMgZmFpbGVkOiIsbil9KX12YXIganU9bnVsbDtmdW5jdGlvbiBSdSgpe2p1fHwoanU9c2V0VGltZW91dChmdW5jdGlvbigpe2p1PW51bGwsRWUoKX0sMjAwKSl9ZnVuY3Rpb24gRWUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtlJiYoZS5pbm5lckhUTUw9TWEoKSx6dChlKSksdCYmKHQudGV4dENvbnRlbnQ9U3RyaW5nKHIuc2Vzc2lvbnMubGVuZ3RoKSksdHlwZW9mIHJuPT0iZnVuY3Rpb24iJiZybigpLGVpKCksci5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCYmeHQoKX1mdW5jdGlvbiBlaSgpe3ZhciBlPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PXIuc2VsZWN0ZWRJZH0pO2V8fChLbighMSksbHUoKSxybCgpKTt2YXIgdD1lP2xyKGUuY29tbWFuZCk6IldhbmQiLG49ZT9EcihlKToiXHU1RjAwXHU1OUNCXHU1QkY5XHU4QkREIixpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN1bW1hcnktdmFsdWUiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC10aXRsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWluZm8iKSxvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50b3BiYXItc2Vzc2lvbi10aXRsZSwgLnRvcGJhci10YWdsaW5lIik7byYmZSYmKG8uY2xhc3NMaXN0LnJlbW92ZSgidG9wYmFyLXRhZ2xpbmUiKSxvLmNsYXNzTGlzdC5hZGQoInRvcGJhci1zZXNzaW9uLXRpdGxlIiksby50ZXh0Q29udGVudD1lLnRpdGxlfHxscihlLmNvbW1hbmQpLG8uc2V0QXR0cmlidXRlKCJ0aXRsZSIsZS5kZXNjcmlwdGlvbnx8ZS5jb21tYW5kfHwiIikpO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0IiksbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2kmJmkudGV4dENvbnRlbnQhPT10JiYoaS50ZXh0Q29udGVudD10KSxhJiZhLnRleHRDb250ZW50IT09dCYmKGEudGV4dENvbnRlbnQ9dCksdSYmKHUudGV4dENvbnRlbnQ9ZT9uKyIgXHhCNyAiK0ttKGUpOm4pO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWtpbmQtZGlzcGxheSIpLHY9ZT9VbShlKToiXHU3RUM4XHU3QUVGIjtjJiZjLnRleHRDb250ZW50IT09diYmKGMudGV4dENvbnRlbnQ9diksb3MoKSwhci50ZXJtaW5hbCYmbCYmZSYmdXIoKSxyLnRlcm1pbmFsJiZsJiYhbC5jb250YWlucyhyLnRlcm1pbmFsLmVsZW1lbnQpJiYoTXIoKSx1cigpKSxlfHwoci50ZXJtaW5hbFNlc3Npb25JZD1udWxsLHIudGVybWluYWxPdXRwdXQ9IiIsci50ZXJtaW5hbE91dHB1dE1hcmtlcj0wKSxyLnRlcm1pbmFsJiZlJiZyLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmYnQoInZpZXciKTt2YXIgaD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlPyhzJiZzLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGwmJmwuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZCYmZC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxoJiZoLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKToocyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxsJiZsLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGQmJmQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZiYmZi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxoJiZoLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSxRaSgpLGRyKHR0KCkpLG9hKCksZHUoKX1mdW5jdGlvbiBrbihlKXtyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pLG49Ii9hcGkvc2Vzc2lvbnMvIitlO3JldHVybiB6bCh0KSYmKG4rPSI/Zm9ybWF0PWNoYXQiKSxmZXRjaChuLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe3Iuc2VsZWN0ZWRJZD09PWUmJihyLnNlbGVjdGVkSWQ9bnVsbCxrZSgpKSxubigpO3JldHVybn1pZihuZShpKSxlaSgpLHIudGVybWluYWwmJmU9PT1yLnNlbGVjdGVkSWQmJmkub3V0cHV0IT09dm9pZCAwKXt2YXIgYT0hIXIud3MmJihyLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTnx8ci53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0LkNPTk5FQ1RJTkcpO2E/WGUoInNlc3Npb24tc3dpdGNoIik6KFNpKGUsaS5vdXRwdXQse21vZGU6ImFwcGVuZCJ9KSxYZSgic2Vzc2lvbi1zd2l0Y2giLHtmb3JjZVJlcGxheTohMH0pKX12YXIgdT1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1lfSk7ci5jdXJyZW50TWVzc2FnZXM9VmUodSxudCh1LGkub3V0cHV0LCExKSksVWUoITEpfSl9dmFyIFd1PSExO2Z1bmN0aW9uIHVnKCl7aWYoV3UpcmV0dXJuITE7dmFyIGU9ci5zZWxlY3RlZElkO2lmKCFlKXJldHVybiExO3ZhciB0PXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KTtpZighdClyZXR1cm4hMTt2YXIgbj10eXBlb2YgdC5tZXNzYWdlT2Zmc2V0PT0ibnVtYmVyIj90Lm1lc3NhZ2VPZmZzZXQ6MDtpZihuPD0wKXJldHVybiExO3ZhciBpPTQwLGE9TWF0aC5tYXgoMCxuLWkpLHU9bi1hO3JldHVybiBXdT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL21lc3NhZ2VzP29mZnNldD0iK2ErIiZsaW1pdD0iK3Use2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obyl7aWYobyYmQXJyYXkuaXNBcnJheShvLm1lc3NhZ2VzKSYmdC5tZXNzYWdlT2Zmc2V0PT09bil7dmFyIHM9QXJyYXkuaXNBcnJheSh0Lm1lc3NhZ2VzKT90Lm1lc3NhZ2VzOltdO3QubWVzc2FnZXM9by5tZXNzYWdlcy5jb25jYXQocyksdC5tZXNzYWdlT2Zmc2V0PWEsdHlwZW9mIG8udG90YWw9PSJudW1iZXIiJiYodC5tZXNzYWdlVG90YWw9by50b3RhbCksZT09PXIuc2VsZWN0ZWRJZCYmKHIuY3VycmVudE1lc3NhZ2VzPVZlKHQsbnQodCx0Lm91dHB1dCwhMSkpLHIuY2hhdFJlbmRlcmVkQ291bnQ9ci5jdXJyZW50TWVzc2FnZXMubGVuZ3RoLFVlKCEwKSl9fSkuY2F0Y2goZnVuY3Rpb24oKXt9KS5maW5hbGx5KGZ1bmN0aW9uKCl7V3U9ITF9KSwhMH1mdW5jdGlvbiBqdChlKXt2YXIgdD1yLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24obyl7cmV0dXJuIG8uaWQ9PT1lfSk7aWYodCl7ci5zZWxlY3RlZElkIT09ZSYmTXIoKSxyLnNlbGVjdGVkSWQ9ZSxrZSgpLHIudG9vbENvbnRlbnRDYWNoZT17fSxyLm1lc3NhZ2VRdWV1ZT1bXSxyLnBlbmRpbmdNZXNzYWdlcz1bXSx2aSh0KSx2bygpLEZuKCksa3QoKSxyLmN1cnJlbnRNZXNzYWdlcz1bXSxyLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChyLmNoYXRSZW5kZXJUaW1lciksci5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MiKTtuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKTtpJiZpLnJlbW92ZSgpLHIuX3N0YXR1c0JhclRpbWVySWQmJihjbGVhckludGVydmFsKHIuX3N0YXR1c0JhclRpbWVySWQpLHIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbCksci5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7YSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKTt2YXIgdT10O3IucHJlZmVycmVkQ29tbWFuZD1ldCgpLHIuY2hhdE1vZGU9ZnQoImNsYXVkZSIsdSYmdS5tb2RlP3UubW9kZTpyLmNoYXRNb2RlKSxyLnRlcm1pbmFsSW50ZXJhY3RpdmUmJnUmJnUuc3RhdHVzIT09InJ1bm5pbmciJiZLbighMSksRWUoKSxqcihlKSxyLmZpbGVQYW5lbE9wZW4mJihaZCh1KSxPdCgpKSxrbihlKS50aGVuKGZ1bmN0aW9uKCl7SHQoITApfSksR24oZSksci5naXRTdGF0dXM9bnVsbCxyLmdpdFN0YXR1c1Nlc3Npb25JZD1udWxsLHhhKCksX24oZSx7Zm9yY2U6ITB9KX19ZnVuY3Rpb24gb2coKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKSxuPVdlKCksaT0hIXIuc2lkZWJhclBpbm5lZCYmISFyLnNpZGViYXJDb2xsYXBzZWQsYT1pfHwhbiYmKCEhci5zaWRlYmFyUGlubmVkfHwhIXIuc2Vzc2lvbnNEcmF3ZXJPcGVuKTtlJiYoZS5jbGFzc0xpc3QudG9nZ2xlKCJwaW5uZWQiLGEpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIixpKSksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1waW5uZWQiLGEpLHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1jb2xsYXBzZWQiLGkpKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgicGlubmVkIiwhIXIuc2lkZWJhclBpbm5lZCksdS50aXRsZT1yLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsdS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHIuc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIiksdS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsci5zaWRlYmFyUGlubmVkPyJ0cnVlIjoiZmFsc2UiKSl9ZnVuY3Rpb24gdGkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLGJvKCkpLG4mJm4uY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1vcGVuIixyLnNlc3Npb25zRHJhd2VyT3Blbik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsci5zZXNzaW9uc0RyYXdlck9wZW4pLG9nKCl9ZnVuY3Rpb24gc2coKXt2YXIgZT1XZSgpO2lmKCFlKXt2YXIgdD1yLnNpZGViYXJQaW5uZWQ/ITE6IXIuc2Vzc2lvbnNEcmF3ZXJPcGVuO3Iuc2Vzc2lvbnNEcmF3ZXJPcGVuPXQsdCYmKHIuc2lkZWJhckNvbGxhcHNlZD0hMSx4ZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpKSx4ZSgid2FuZC1zaWRlYmFyLW9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxobigpLHJpKCk7cmV0dXJufWlmKHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSFyLnNlc3Npb25zRHJhd2VyT3Blbix4ZSgid2FuZC1zaWRlYmFyLW9wZW4iLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuKSxyLnNlc3Npb25zRHJhd2VyT3Blbil7ci5maWxlUGFuZWxPcGVuPSExO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLCJmYWxzZSIpfWNhdGNoe319aG4oKX1mdW5jdGlvbiBuaSgpe3ZhciBlPVdlKCk7aWYoIWUpe2lmKCFyLnNpZGViYXJQaW5uZWQmJiFyLnNlc3Npb25zRHJhd2VyT3BlbilyZXR1cm47VnIoKSxyLnNpZGViYXJQaW5uZWQ9ITEsci5zZXNzaW9uc0RyYXdlck9wZW49ITEseGUoIndhbmQtc2lkZWJhci1waW5uZWQiLCExKSx4ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxobigpLHJpKCk7cmV0dXJufXIuc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoVnIoKSxyLnNlc3Npb25zRHJhd2VyT3Blbj0hMSx4ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxobigpKX1mdW5jdGlvbiBsZygpe2lmKFdlKCkpe25pKCk7cmV0dXJufXIuc2lkZWJhclBpbm5lZHx8ci5zaWRlYmFyQ29sbGFwc2VkfHwhci5zZXNzaW9uc0RyYXdlck9wZW58fChWcigpLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLGhuKCkscmkoKSl9ZnVuY3Rpb24gZGQoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtyLnBsdXNQb3BvdmVyT3Blbj0hIWUsdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFlKSxuJiYobi5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhZSksbi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGU/InRydWUiOiJmYWxzZSIpKX1mdW5jdGlvbiBkZygpe2RkKCFyLnBsdXNQb3BvdmVyT3Blbil9ZnVuY3Rpb24gc2EoKXtyLnBsdXNQb3BvdmVyT3BlbiYmZGQoITEpfWZ1bmN0aW9uIFJ0KCl7V2UoKSYmci5zZXNzaW9uc0RyYXdlck9wZW4mJm5pKCl9ZnVuY3Rpb24gcmkoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtpZihlKXt2YXIgdD1mdW5jdGlvbihuKXtuLnByb3BlcnR5TmFtZT09PSJwYWRkaW5nLWxlZnQiJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0KSxxdCghMCkpfTtlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHQpfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtxdCghMCl9LDM1MCl9dmFyIFd0PW51bGw7ZnVuY3Rpb24gY2coKXtyZXR1cm4gV3QmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoV3QpfHwoV3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksV3QuY2xhc3NOYW1lPSJzaWRlYmFyLXRpbGUtYnViYmxlIixXdC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sdGlwIiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChXdCkpLFd0fWZ1bmN0aW9uIHJuKCl7V3QmJld0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX1mdW5jdGlvbiBmZyhlLHQpe2lmKCF0KXtybigpO3JldHVybn12YXIgbj1jZygpO24udGV4dENvbnRlbnQ9dC5sZW5ndGg+NDAwP3Quc2xpY2UoMCw0MDApKyJcdTIwMjYiOnQ7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtuLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKTt2YXIgYT1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9aS50b3AraS5oZWlnaHQvMixvPXUtYS5oZWlnaHQvMixzPTgsbD13aW5kb3cuaW5uZXJIZWlnaHQtYS5oZWlnaHQtODtvPHMmJihvPXMpLG8+bCYmKG89TWF0aC5tYXgocyxsKSksbi5zdHlsZS5sZWZ0PWkucmlnaHQrMTIrInB4IixuLnN0eWxlLnRvcD1vKyJweCIsbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1idWJibGUtdGFpbC15Iix1LW8rInB4Iil9ZnVuY3Rpb24gcGcoZSl7aWYoZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7dmFyIHQ9ci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZH0pO2lmKCF0KXJldHVybiIiO3ZhciBuPU1jKHQpO3JldHVybiBufHx0LnN1bW1hcnl8fHQuY29tbWFuZHx8IiJ9aWYoZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7dmFyIGk9ci5jbGF1ZGVIaXN0b3J5LmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZH0pO2lmKGkmJmkuZmlyc3RVc2VyTWVzc2FnZSlyZXR1cm4gaS5maXJzdFVzZXJNZXNzYWdlfXJldHVybiIifWZ1bmN0aW9uIHZnKGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIG49dC5jbG9zZXN0KCIuc2lkZWJhci1jb2xsYXBzZWQtdGlsZSIpO2lmKCFuKXtybigpO3JldHVybn12YXIgaT1wZyhuKTtpZighaSl7cm4oKTtyZXR1cm59ZmcobixpKX19ZnVuY3Rpb24gbWcoZSl7dmFyIHQ9ZS5yZWxhdGVkVGFyZ2V0O3QmJnQgaW5zdGFuY2VvZiBFbGVtZW50JiZ0LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIil8fHJuKCl9ZnVuY3Rpb24gZ2coKXt2YXIgZT1XZSgpO3Iuc2lkZWJhclBpbm5lZHx8KHIuc2lkZWJhclBpbm5lZD0hMCx4ZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsITApKSxyLnNpZGViYXJDb2xsYXBzZWQ9IXIuc2lkZWJhckNvbGxhcHNlZCx4ZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsci5zaWRlYmFyQ29sbGFwc2VkKSxyLnNpZGViYXJDb2xsYXBzZWQ/ci5zZXNzaW9uc0RyYXdlck9wZW49ITE6ZT8oci5zaWRlYmFyUGlubmVkPSExLHIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHhlKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMSkpOnIuc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLHhlKCJ3YW5kLXNpZGViYXItb3BlbiIsci5zZXNzaW9uc0RyYXdlck9wZW4pLGhuKCksRWUoKSx5ZygpLHJuKCkscmkoKX1mdW5jdGlvbiBoZygpe1dlKCl8fChyLnNpZGViYXJQaW5uZWQ9IXIuc2lkZWJhclBpbm5lZCxyLnNlc3Npb25zRHJhd2VyT3Blbj0hMCx4ZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsci5zaWRlYmFyUGlubmVkKSx4ZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxobigpLHJpKCkpfWZ1bmN0aW9uIHlnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7aWYoZSl7dmFyIHQ9ISFyLnNpZGViYXJQaW5uZWQmJiEhci5zaWRlYmFyQ29sbGFwc2VkO2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIix0KSxlLnRpdGxlPXQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIpLGUuaW5uZXJIVE1MPXQ/Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTAgNiAxNiAxMiAxMCAxOCIvPjxsaW5lIHgxPSIyMCIgeTE9IjUiIHgyPSIyMCIgeTI9IjE5Ii8+PC9zdmc+JzonPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNCA2IDggMTIgMTQgMTgiLz48bGluZSB4MT0iNCIgeTE9IjUiIHgyPSI0IiB5Mj0iMTkiLz48L3N2Zz4nfX1mdW5jdGlvbiBiZyhlKXtpZihlKXtlLnN0eWxlLmxlZnQ9IiIsZS5zdHlsZS5yaWdodD0iIjt2YXIgdD1lLm9mZnNldFBhcmVudHx8ZS5wYXJlbnRFbGVtZW50O2lmKHQpe3ZhciBuPTgsaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PXdpbmRvdy5pbm5lcldpZHRoO2EubGVmdDxuPyhlLnN0eWxlLnJpZ2h0PSJhdXRvIixlLnN0eWxlLmxlZnQ9bi1pLmxlZnQrInB4Iik6YS5yaWdodD51LW4mJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9aS5yaWdodC0odS1uKSsicHgiKX19fWZ1bmN0aW9uIEVnKGUpe2lmKCEoIWV8fHR5cGVvZiBlIT0ib2JqZWN0Iikpe3IuY29uZmlnPWU7dmFyIHQ9cHQoZS5kZWZhdWx0UHJvdmlkZXIpO3Iuc2Vzc2lvblRvb2w9dCxyLnByZWZlcnJlZENvbW1hbmQ9dCxyLnNlc3Npb25DcmVhdGVLaW5kPWUuZGVmYXVsdFNlc3Npb25LaW5kPT09InB0eSI/InB0eSI6InN0cnVjdHVyZWQiLHIubW9kZVZhbHVlPWZ0KHQsZS5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiKX19dmFyIGxhPVByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIGRhKGUpe3JldHVybiFlfHx0eXBlb2YgZSE9Im9iamVjdCI/UHJvbWlzZS5yZXNvbHZlKCk6KGxhPWxhLmNhdGNoKGZ1bmN0aW9uKCl7fSkudGhlbihmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGUpfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKS50aGVuKGZ1bmN0aW9uKG4pe2lmKCF0Lm9rfHxuLmVycm9yKXRocm93IG5ldyBFcnJvcihuLmVycm9yfHwiXHU0RkREXHU1QjU4XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU1MDRGXHU1OTdEXHU1OTMxXHU4RDI1Iik7cmV0dXJuIG4uY29uZmlnJiYoci5jb25maWc9bi5jb25maWcpLG59KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiW3dhbmRdIEZhaWxlZCB0byBwZXJzaXN0IG5ldy1zZXNzaW9uIGRlZmF1bHRzIix0KX0pLGxhKX1mdW5jdGlvbiB6dSgpe3ZyKCksci5tb2RhbE9wZW49ITAsci5zZXNzaW9uc0RyYXdlck9wZW49ITEseGUoIndhbmQtc2lkZWJhci1vcGVuIiwhMSksdGkoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2UmJihlLl93YW5kQ2xvc2VUaW1lciYmKGNsZWFyVGltZW91dChlLl93YW5kQ2xvc2VUaW1lciksZS5fd2FuZENsb3NlVGltZXI9bnVsbCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxyLmxhc3RGb2N1c2VkRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHIuc2Vzc2lvblRvb2w9cHQoci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRQcm92aWRlciksci5wcmVmZXJyZWRDb21tYW5kPXIuc2Vzc2lvblRvb2wsci5zZXNzaW9uQ3JlYXRlS2luZD1yLmNvbmZpZyYmci5jb25maWcuZGVmYXVsdFNlc3Npb25LaW5kPT09InB0eSI/InB0eSI6InN0cnVjdHVyZWQiLHIuc2Vzc2lvbkNyZWF0ZVdvcmt0cmVlPSExLHIubW9kZVZhbHVlPWZ0KHIuc2Vzc2lvblRvb2wsci5jb25maWcmJnIuY29uZmlnLmRlZmF1bHRNb2RlP3IuY29uZmlnLmRlZmF1bHRNb2RlOiJkZWZhdWx0IiksZnIoKSxsYS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQub2s/dC5qc29uKCk6bnVsbH0pLnRoZW4oZnVuY3Rpb24odCl7IXR8fCFyLm1vZGFsT3Blbnx8KEVnKHQpLGZyKCkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSxLZygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kZS1jYXJkcyIpO3QmJnQuZm9jdXMoKX0sMjApLGNhKGUpKX1mdW5jdGlvbiBBbigpe3IubW9kYWxPcGVuPSExO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7ZSYmKHIuZm9jdXNUcmFwSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHIuZm9jdXNUcmFwSGFuZGxlciksci5mb2N1c1RyYXBIYW5kbGVyPW51bGwpLHIubGFzdEZvY3VzZWRFbGVtZW50JiZ0eXBlb2Ygci5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXM9PSJmdW5jdGlvbiImJnIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzKCksVnUoZSkpLGdyKCl9ZnVuY3Rpb24gVnUoZSl7aWYoZSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSl7dmFyIHQ9ITE7dHJ5e3Q9d2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXN9Y2F0Y2h7fWlmKHR8fGRvY3VtZW50LmhpZGRlbil7ZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59ZS5fd2FuZENsb3NlVGltZXImJihjbGVhclRpbWVvdXQoZS5fd2FuZENsb3NlVGltZXIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGwpLGUuY2xhc3NMaXN0LmFkZCgiY2xvc2luZyIpLGUuX3dhbmRDbG9zZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGx9LDE3MCl9fWZ1bmN0aW9uIGNhKGUpe3IuZm9jdXNUcmFwSGFuZGxlciYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsci5mb2N1c1RyYXBIYW5kbGVyKTt2YXIgdD0nYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgaW5wdXQ6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksIGFbaHJlZl0sIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknO3IuZm9jdXNUcmFwSGFuZGxlcj1mdW5jdGlvbihuKXtpZihuLmtleT09PSJUYWIiKXt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3JBbGwodCksYT1pWzBdLHU9aVtpLmxlbmd0aC0xXTshYXx8IXV8fChuLnNoaWZ0S2V5P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1hJiYobi5wcmV2ZW50RGVmYXVsdCgpLHUuZm9jdXMoKSk6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXUmJihuLnByZXZlbnREZWZhdWx0KCksYS5mb2N1cygpKSl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpfWZ1bmN0aW9uIEZnKCl7cmV0dXJuIHIuYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZCYmci5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09ci5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkfSl8fG51bGx9ZnVuY3Rpb24gaWkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtY29udGVudCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWNvbmZpcm0tYnV0dG9uIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid29ya3RyZWUtbWVyZ2UtZXJyb3IiKSxpPUZnKCksYT1yLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdDtpZighKCFlfHwhdCkpe2lmKCFpfHwhaS53b3JrdHJlZSl7ZS5pbm5lckhUTUw9JzxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTY3MkFcdTYyN0VcdTUyMzBcdTUzRUZcdTU0MDhcdTVFNzZcdTc2ODQgd29ya3RyZWUgXHU0RjFBXHU4QkREXHUzMDAyPC9wPicsdC5kaXNhYmxlZD0hMDtyZXR1cm59biYmKHIud29ya3RyZWVNZXJnZUVycm9yP3FlKG4sci53b3JrdHJlZU1lcmdlRXJyb3IpOlRpKG4pKTt2YXIgdT1bJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU2NzY1XHU2RTkwXHU1MjA2XHU2NTJGPC9zcGFuPjxzdHJvbmc+JytwKGkud29ya3RyZWUuYnJhbmNofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iLCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvc3Bhbj48c3Ryb25nPicrcChpLndvcmt0cmVlLnBhdGh8fCItIikrIjwvc3Ryb25nPjwvZGl2PiJdO2E/KHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTc2RUVcdTY4MDdcdTUyMDZcdTY1MkY8L3NwYW4+PHN0cm9uZz4nK3AoYS50YXJnZXRCcmFuY2h8fCItIikrIjwvc3Ryb25nPjwvZGl2PiIpLHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTVGODVcdTU0MDhcdTVFNzZcdTYzRDBcdTRFQTQ8L3NwYW4+PHN0cm9uZz4nK3AoU3RyaW5nKGEuYWhlYWRDb3VudHx8MCkpKyI8L3N0cm9uZz48L2Rpdj4iKSx1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU2NzJBXHU2M0QwXHU0RUE0XHU2NTM5XHU1MkE4PC9zcGFuPjxzdHJvbmc+JytwKGEuaGFzVW5jb21taXR0ZWRDaGFuZ2VzPyJcdTY3MDkiOiJcdTY1RTAiKSsiPC9zdHJvbmc+PC9kaXY+IiksdS5wdXNoKCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NTFCMlx1N0E4MVx1OThDRVx1OTY2OTwvc3Bhbj48c3Ryb25nPicrcChhLmhhc0NvbmZsaWN0cz8iXHU2NzA5IjoiXHU2NUUwIikrIjwvc3Ryb25nPjwvZGl2PiIpLGEucmVhc29uJiZ1LnB1c2goJzxwIGNsYXNzPSJmaWVsZC1oaW50Ij4nK3AoYS5yZWFzb24pKyI8L3A+IikpOnIud29ya3RyZWVNZXJnZUxvYWRpbmcmJnUucHVzaCgnPHAgY2xhc3M9ImZpZWxkLWhpbnQiPlx1NkI2M1x1NTcyOFx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTIwMjY8L3A+JyksZS5pbm5lckhUTUw9dS5qb2luKCIiKSx0LmRpc2FibGVkPXIud29ya3RyZWVNZXJnZUxvYWRpbmd8fHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmd8fCFhfHxhLm9rIT09ITAsdC50ZXh0Q29udGVudD1yLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nPyJcdTU0MDhcdTVFNzZcdTRFMkQuLi4iOiJcdTc4NkVcdThCQTRcdTU0MDhcdTVFNzZcdTVFNzZcdTZFMDVcdTc0MDYifX1mdW5jdGlvbiBjZChlKXtyLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQ9ZSxyLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1udWxsLHIud29ya3RyZWVNZXJnZUxvYWRpbmc9ITAsci53b3JrdHJlZU1lcmdlU3VibWl0dGluZz0hMSxyLndvcmt0cmVlTWVyZ2VFcnJvcj0iIixBbigpLHZyKCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7dCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksci5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxjYSh0KSksaWkoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3dvcmt0cmVlL21lcmdlL2NoZWNrIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG4pe2lmKG4mJm4uZXJyb3IpdGhyb3cgbmV3IEVycm9yKG4uZXJyb3IpO24mJm4uc2Vzc2lvbiYmbmUobi5zZXNzaW9uKSxyLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1uLnJlc3VsdHx8bnVsbCxyLndvcmt0cmVlTWVyZ2VFcnJvcj0iIn0pLmNhdGNoKGZ1bmN0aW9uKG4pe3Iud29ya3RyZWVNZXJnZUVycm9yPW4mJm4ubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe3Iud29ya3RyZWVNZXJnZUxvYWRpbmc9ITEsaWkoKX0pfWZ1bmN0aW9uIHByKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7ci5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPW51bGwsci53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxyLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSExLHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsci53b3JrdHJlZU1lcmdlRXJyb3I9IiIsZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxyLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpLHIuZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxyLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIHIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZyLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpfWZ1bmN0aW9uIENnKCl7IXIuYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZHx8ci53b3JrdHJlZU1lcmdlU3VibWl0dGluZ3x8KHIud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITAsci53b3JrdHJlZU1lcmdlRXJyb3I9IiIsaWkoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChyLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQpKyIvd29ya3RyZWUvbWVyZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlJiZlLmVycm9yKXRocm93IG5ldyBFcnJvcihlLmVycm9yKTtyZXR1cm4gZSYmZS5zZXNzaW9uJiZuZShlLnNlc3Npb24pLHgoIlx1NURGMlx1NTQwOFx1NUU3Nlx1NTIzMCAiK3AoZS5yZXN1bHQmJmUucmVzdWx0LnRhcmdldEJyYW5jaHx8Ilx1NEUzQlx1NTIwNlx1NjUyRiIpKyhlLnJlc3VsdCYmZS5yZXN1bHQuY2xlYW51cERvbmU9PT0hMT8iXHVGRjBDXHU0RjQ2XHU1REU1XHU0RjVDXHU2ODExXHU1Rjg1XHU2RTA1XHU3NDA2XHUzMDAyIjoiXHUzMDAyIiksImluZm8iKSxwcigpLE50KCl9KS5jYXRjaChmdW5jdGlvbihlKXtyLndvcmt0cmVlTWVyZ2VFcnJvcj1lJiZlLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTU0MDhcdTVFNzYgd29ya3RyZWVcdTMwMDIiLGlpKCl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ci53b3JrdHJlZU1lcmdlU3VibWl0dGluZz0hMSxpaSgpfSkpfWZ1bmN0aW9uIGZkKGUpe2ZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvd29ya3RyZWUvY2xlYW51cCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtpZih0JiZ0LmVycm9yKXRocm93IG5ldyBFcnJvcih0LmVycm9yKTtyZXR1cm4gdCYmdC5zZXNzaW9uJiZuZSh0LnNlc3Npb24pLHgoIlx1NURGMlx1NUI4Q1x1NjIxMCB3b3JrdHJlZSBcdTZFMDVcdTc0MDZcdTMwMDIiLCJpbmZvIiksTnQoKX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3godCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3NDA2IHdvcmt0cmVlXHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIHdnKCl7QW4oKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtpZihlKXtlLl93YW5kQ2xvc2VUaW1lciYmKGNsZWFyVGltZW91dChlLl93YW5kQ2xvc2VUaW1lciksZS5fd2FuZENsb3NlVGltZXI9bnVsbCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxyLmxhc3RGb2N1c2VkRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXctcGFzc3dvcmQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maXJtLXBhc3N3b3JkIik7dCYmKHQudmFsdWU9IiIpLG4mJihuLnZhbHVlPSIiKSxwZCgpLGNhKGUpLERnKCksZS5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3gtaW5wdXQiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MuZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIsYy5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQ9ImZhbHNlIn0pLFV1KCJhYm91dCIpLFNnKCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtpJiYoaS5jaGVja2VkPXIubm90aWZTb3VuZCksYSYmKGEuY2hlY2tlZD1yLm5vdGlmQnViYmxlKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXZvbHVtZSIpLG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIik7aWYodSl7dS52YWx1ZT1yLm5vdGlmVm9sdW1lLG8mJihvLnRleHRDb250ZW50PXIubm90aWZWb2x1bWUrIiUiKTt0cnl7dS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiLHtidWJibGVzOiEwfSkpfWNhdGNoe319dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2lmKHMmJihzLnN0eWxlLmRpc3BsYXk9ci5ub3RpZlNvdW5kPyIiOiJub25lIiksU24oKSx0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiIpdHJ5e3lkKFdhbmROYXRpdmUuZ2V0QXBwSWNvbigpfHwic2hvcnRoYWlyIil9Y2F0Y2h7fWlmKHplJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXROb3RpZmljYXRpb25Tb3VuZD09ImZ1bmN0aW9uIil0cnl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKTtsJiYobC52YWx1ZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCkpfWNhdGNoe31pZih6ZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXt2YXIgZD1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblZvbHVtZSgpO2lmKHIubm90aWZWb2x1bWU9ZCx1JiYodS52YWx1ZT1TdHJpbmcoZCkpLG8mJihvLnRleHRDb250ZW50PWQrIiUiKSx1KXRyeXt1LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSl9Y2F0Y2h7fXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiLFN0cmluZyhkKSl9Y2F0Y2h7fX1jYXRjaHt9aWYoemUmJnR5cGVvZiBXYW5kTmF0aXZlLmlzSGFwdGljRW5hYmxlZD09ImZ1bmN0aW9uIil0cnl7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2YmJihmLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKSl9Y2F0Y2h7fX19ZnVuY3Rpb24gdnIoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtlJiYoZS5xdWVyeVNlbGVjdG9yQWxsKCIubW9kZWwtY29tYm9ib3guaXMtb3BlbiIpLmZvckVhY2goZnVuY3Rpb24odCl7RG4odCl9KSxyLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixyLmZvY3VzVHJhcEhhbmRsZXIpLHIuZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxyLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIHIubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZyLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpLFZ1KGUpKX1mdW5jdGlvbiBwZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1lcnJvciIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXN1Y2Nlc3MiKTtlJiZlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9ZnVuY3Rpb24gQmcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV3LXBhc3N3b3JkIikudmFsdWUsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpLnZhbHVlLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWVycm9yIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3Mtc3VjY2VzcyIpO2lmKHBkKCksIWV8fGUubGVuZ3RoPDYpe24udGV4dENvbnRlbnQ9Ilx1NUJDNlx1NzgwMVx1OTU3Rlx1NUVBNlx1ODFGM1x1NUMxMVx1NEUzQSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1MzAwMiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59aWYoZSE9PXQpe24udGV4dENvbnRlbnQ9Ilx1NEUyNFx1NkIyMVx1OEY5M1x1NTE2NVx1NzY4NFx1NUJDNlx1NzgwMVx1NEUwRFx1NEUwMFx1ODFGNFx1MzAwMiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59ZmV0Y2goIi9hcGkvc2V0LXBhc3N3b3JkIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3Bhc3N3b3JkOmV9KSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKGEuZXJyb3Ipe24udGV4dENvbnRlbnQ9YS5lcnJvcixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3JldHVybn1pLnRleHRDb250ZW50PSJcdTVCQzZcdTc4MDFcdTRGRUVcdTY1MzlcdTYyMTBcdTUyOUZcdUZGMDEiLGkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5ldy1wYXNzd29yZCIpLnZhbHVlPSIiLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maXJtLXBhc3N3b3JkIikudmFsdWU9IiJ9KS5jYXRjaChmdW5jdGlvbigpe24udGV4dENvbnRlbnQ9IkZhaWxlZCB0byBzYXZlIHBhc3N3b3JkLiIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX0pfWZ1bmN0aW9uIFV1KGUpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tb2RlbC1jb21ib2JveC5pcy1vcGVuIikuZm9yRWFjaChmdW5jdGlvbihzKXtEbihzKX0pO2Zvcih2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtcGFuZWwiKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV0uZ2V0QXR0cmlidXRlKCJkYXRhLXRhYiIpPT09ZTthP3RbaV0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik6dFtpXS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSx0W2ldLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsYT8idHJ1ZSI6ImZhbHNlIiksdFtpXS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixhPyIwIjoiLTEiKX1mb3IodmFyIHU9MDt1PG4ubGVuZ3RoO3UrKyl7dmFyIG89blt1XS5pZD09PSJzZXR0aW5ncy10YWItIitlO28/KG5bdV0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksblt1XS5yZW1vdmVBdHRyaWJ1dGUoImhpZGRlbiIpKTooblt1XS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuW3VdLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwiaGlkZGVuIikpfX1mdW5jdGlvbiB2ZChlKXtpZihlJiYhKGUua2V5IT09IkFycm93VXAiJiZlLmtleSE9PSJBcnJvd0Rvd24iJiZlLmtleSE9PSJBcnJvd0xlZnQiJiZlLmtleSE9PSJBcnJvd1JpZ2h0IiYmZS5rZXkhPT0iSG9tZSImJmUua2V5IT09IkVuZCIpKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIikpO2lmKHQubGVuZ3RoKXt2YXIgbj1lLmN1cnJlbnRUYXJnZXQmJmUuY3VycmVudFRhcmdldC5jbG9zZXN0P2UuY3VycmVudFRhcmdldC5jbG9zZXN0KCIuc2V0dGluZ3MtdGFicyIpOm51bGwsaT1uJiZuLmdldEF0dHJpYnV0ZSgiYXJpYS1vcmllbnRhdGlvbiIpPT09Imhvcml6b250YWwiO2lmKCEoaSYmKGUua2V5PT09IkFycm93VXAifHxlLmtleT09PSJBcnJvd0Rvd24iKSkmJiEoIWkmJihlLmtleT09PSJBcnJvd0xlZnQifHxlLmtleT09PSJBcnJvd1JpZ2h0IikpKXt2YXIgYT10LmluZGV4T2YoZS5jdXJyZW50VGFyZ2V0KTtpZihhIT09LTEpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdT1hOyhlLmtleT09PSJBcnJvd1VwInx8ZS5rZXk9PT0iQXJyb3dMZWZ0IikmJih1PWE+MD9hLTE6dC5sZW5ndGgtMSksKGUua2V5PT09IkFycm93RG93biJ8fGUua2V5PT09IkFycm93UmlnaHQiKSYmKHU9YTx0Lmxlbmd0aC0xP2ErMTowKSxlLmtleT09PSJIb21lIiYmKHU9MCksZS5rZXk9PT0iRW5kIiYmKHU9dC5sZW5ndGgtMSk7dmFyIG89dFt1XTtpZihvKXt2YXIgcz1vLmdldEF0dHJpYnV0ZSgiZGF0YS10YWIiKTtzJiZVdShzKSx0eXBlb2Ygby5mb2N1cz09ImZ1bmN0aW9uIiYmby5mb2N1cygpfX19fX19ZnVuY3Rpb24gRGcoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2V0dGluZ3MtdGFicyIpO2lmKGUpe3ZhciB0PSExO3RyeXt0PSEhKHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNzYwcHgpIikubWF0Y2hlcyl9Y2F0Y2h7fWUuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIix0PyJob3Jpem9udGFsIjoidmVydGljYWwiKX1mb3IodmFyIG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLGk9MDtpPG4ubGVuZ3RoO2krKyluW2ldLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHZkKSxuW2ldLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHZkKX1mdW5jdGlvbiBrZyhlKXtpZihlKXt2YXIgdD1lLmNvbmZpZ3x8e30sbj17YWJvdXQ6ZS52ZXJzaW9uPyJcdTVGNTNcdTUyNEQgdiIrZS52ZXJzaW9uOiJcdTcyNDhcdTY3MkNcdTRFMEVcdTY2RjRcdTY1QjBcdTRGRTFcdTYwNkYiLGdlbmVyYWw6W3QuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iix0Lmxhbmd1YWdlfHwiXHU4MUVBXHU1MkE4XHU4QkVEXHU4QTAwIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiBceEI3ICIpLG5vdGlmaWNhdGlvbnM6ci5ub3RpZlNvdW5kPyJcdTYzRDBcdTc5M0FcdTk3RjMgIityLm5vdGlmVm9sdW1lKyIlIjoiXHU2M0QwXHU3OTNBXHU5N0YzXHU1REYyXHU1MTczXHU5NUVEIixzZWN1cml0eTplLmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IjoiXHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2XHU3QkExXHU3NDA2IixwcmVzZXRzOnQuY29tbWFuZFByZXNldHMmJnQuY29tbWFuZFByZXNldHMubGVuZ3RoP3QuY29tbWFuZFByZXNldHMubGVuZ3RoKyIgXHU2NzYxXHU5ODg0XHU4QkJFIjoiXHU2NjgyXHU2NUUwXHU5ODg0XHU4QkJFIixkaXNwbGF5OiJcdTYzQTdcdTUyMzZcdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDAifTtmb3IodmFyIGkgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixpKSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNldHRpbmdzLXRhYltkYXRhLXRhYj0iJytpKyciXSAuc2V0dGluZ3MtdGFiLW1ldGEnKTtpZihhKXt2YXIgdT1uW2ldfHwiIjthLnRleHRDb250ZW50PXUsYS5zZXRBdHRyaWJ1dGUoInRpdGxlIix1KX19fX1mdW5jdGlvbiBBZyhlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksaT13aW5kb3cuUVJDb2RlTGliO2lmKHQpe2lmKCFpfHx0eXBlb2YgaS50b0NhbnZhcyE9ImZ1bmN0aW9uIil7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NUU5M1x1NjcyQVx1NTJBMFx1OEY3RCIpO3JldHVybn10cnl7aS50b0NhbnZhcyh0LGUse3dpZHRoOjIyMCxtYXJnaW46MSxlcnJvckNvcnJlY3Rpb25MZXZlbDoiTSIsY29sb3I6e2Rhcms6IiMxZjFiMTciLGxpZ2h0OiIjZmZmZmZmMDAifX0sZnVuY3Rpb24oYSl7aWYoYSl7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsbi5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJufW4mJihuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0LnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUifSl9Y2F0Y2h7biYmKG4udGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsbi5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9fX1mdW5jdGlvbiB4ZyhlKXt2YXIgdD13aW5kb3cuUVJDb2RlTGliO2lmKCF0fHx0eXBlb2YgdC50b0NhbnZhcyE9ImZ1bmN0aW9uIilyZXR1cm47dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbm5lY3QtcXItbW9kYWwiKTtuJiZuLnJlbW92ZSgpO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuaWQ9ImNvbm5lY3QtcXItbW9kYWwiLGkuY2xhc3NOYW1lPSJjb25uZWN0LXFyLW1vZGFsLW92ZXJsYXkiLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb25uZWN0LXFyLW1vZGFsLWNhcmQiPjxjYW52YXMgaWQ9ImNvbm5lY3QtcXItbW9kYWwtY2FudmFzIj48L2NhbnZhcz48cCBjbGFzcz0iY29ubmVjdC1xci1tb2RhbC1oaW50Ij5cdTc1MjggV2FuZCBBcHAgXHU2MjZCXHU0RTAwXHU2MjZCXHVGRjBDXHU4RkRFXHU2M0E1XHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU1NjY4PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGNvbm5lY3QtcXItbW9kYWwtY2xvc2UiPlx1NTE3M1x1OTVFRDwvYnV0dG9uPjwvZGl2PicsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTt2YXIgYT1pLnF1ZXJ5U2VsZWN0b3IoIiNjb25uZWN0LXFyLW1vZGFsLWNhbnZhcyIpLHU9TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KSouNzt1PDI0MCYmKHU9MjQwKSx1PjQ4MCYmKHU9NDgwKTt0cnl7dC50b0NhbnZhcyhhLGUse3dpZHRoOnUsbWFyZ2luOjIsZXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ik0iLGNvbG9yOntkYXJrOiIjMWYxYjE3IixsaWdodDoiI2ZmZmZmZiJ9fSl9Y2F0Y2h7fWZ1bmN0aW9uIG8oKXtpLnJlbW92ZSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGwpe2wudGFyZ2V0PT09aSYmbygpfSk7dmFyIHM9aS5xdWVyeVNlbGVjdG9yKCIuY29ubmVjdC1xci1tb2RhbC1jbG9zZSIpO3MmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8pfWZ1bmN0aW9uIGFpKGUsdCxuKXtpZighZSlyZXR1cm47ZnVuY3Rpb24gaSgpe2lmKG9yKCJsaWdodCIpLG4pe24oKTtyZXR1cm59aWYodCl7dmFyIGE9dC50ZXh0Q29udGVudDt0LnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PWF9LDE1MDApfX1pZih6ZSYmdHlwZW9mIFdhbmROYXRpdmUuY29weVRvQ2xpcGJvYXJkPT0iZnVuY3Rpb24iKXRyeXtpZihXYW5kTmF0aXZlLmNvcHlUb0NsaXBib2FyZChlKT09PSJvayIpe2koKTtyZXR1cm59fWNhdGNoe31uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKGkpLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTthLnZhbHVlPWUsYS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGEuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxhLnNlbGVjdCgpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKSxpKCl9KX1mdW5jdGlvbiB4bihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFpc0Zpbml0ZShlKXx8ZTwwKXJldHVybiItIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjtmb3IodmFyIHQ9WyJLQiIsIk1CIiwiR0IiLCJUQiJdLG49ZS8xMDI0LGk9MDtuPj0xMDI0JiZpPHQubGVuZ3RoLTE7KW49bi8xMDI0LGkrPTE7dmFyIGE9bj49MTA/bi50b0ZpeGVkKDApOm4udG9GaXhlZCgxKTtyZXR1cm4gYSsiICIrdFtpXX1mdW5jdGlvbiBTZygpe3ZhciBlPSFyLmNvbmZpZ3x8ci5jb25maWcuY2FuTWFuYWdlU2V0dGluZ3MhPT0hMSx0PWU/Ii9hcGkvc2V0dGluZ3MiOiIvYXBpL3NldHRpbmdzL2Fib3V0IjtmZXRjaCh0LHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtpZihuLm9rKXJldHVybiBuLmpzb24oKTtpZihuLnN0YXR1cz09PTQwMyYmdD09PSIvYXBpL3NldHRpbmdzIilyZXR1cm4gZmV0Y2goIi9hcGkvc2V0dGluZ3MvYWJvdXQiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtpZighaS5vayl0aHJvdyBuZXcgRXJyb3IoIlx1NjVFMFx1NkNENVx1NTJBMFx1OEY3RFx1NTE3M1x1NEU4RVx1NEZFMVx1NjA2RiAoSFRUUCAiK2kuc3RhdHVzKyIpIik7cmV0dXJuIGkuanNvbigpfSk7dGhyb3cgbmV3IEVycm9yKCJcdTY1RTBcdTZDRDVcdTUyQTBcdThGN0RcdThCQkVcdTdGNkUgKEhUVFAgIituLnN0YXR1cysiKSIpfSkudGhlbihmdW5jdGlvbihuKXt2YXIgaT1uLnNldHRpbmdzQWNjZXNzIT09InJlYWQtb25seSIsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYWJvdXQtYWNjZXNzLW5vdGUiKTthJiZhLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsaSk7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNsaS11cGRhdGUtc2VjdGlvbiIpO3UmJnUuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhaSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1zZWN0aW9uIik7byYmby5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKSxbImNoZWNrLXVwZGF0ZS1idXR0b24iLCJkby11cGRhdGUtYnV0dG9uIiwiZG8tcmVzdGFydC1idXR0b24iXS5mb3JFYWNoKGZ1bmN0aW9uKFEpe3ZhciBDZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChRKSx3ZT1DZSYmQ2UuY2xvc2VzdCgiLnNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIik7d2UmJndlLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWkpfSksWyJiZXRhLWNoYW5uZWwtdG9nZ2xlIiwiYXV0by11cGRhdGUtd2ViLXRvZ2dsZSJdLmZvckVhY2goZnVuY3Rpb24oUSl7dmFyIENlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFEpLHdlPUNlJiZDZS5jbG9zZXN0KCIuc2V0dGluZ3MtdG9nZ2xlLXJvdyIpO3dlJiZ3ZS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKX0pLGtnKG4pO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1wa2ctbmFtZSIpLGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXZlcnNpb24iKSxkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1ub2RlLXJlcSIpLGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXJlcG8tdXJsIik7cyYmKHMudGV4dENvbnRlbnQ9bi5wYWNrYWdlTmFtZXx8Ii0iKSxsJiYobC50ZXh0Q29udGVudD1uLnZlcnNpb258fCItIiksZCYmKGQudGV4dENvbnRlbnQ9bi5ub2RlVmVyc2lvbnx8Ii0iKSxmJiZuLnJlcG9VcmwmJihmLmlubmVySFRNTD0nPGEgaHJlZj0iJytwKG4ucmVwb1VybCkrJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPicrcChuLnJlcG9VcmwpKyI8L2E+Iik7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIiksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpO24ubGF0ZXN0VmVyc2lvbiYmYyYmKGMudGV4dENvbnRlbnQ9bi5sYXRlc3RWZXJzaW9uLG4udXBkYXRlQXZhaWxhYmxlJiZ2JiZ2LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO2gmJihoLmNoZWNrZWQ9bi51cGRhdGVDaGFubmVsPT09ImJldGEiKTt2YXIgbT1uLmF1dG9VcGRhdGV8fHt9LGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLXdlYi10b2dnbGUiKTtnJiYoZy5jaGVja2VkPSEhbS53ZWIpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1hcGstdG9nZ2xlIik7eSYmKHkuY2hlY2tlZD0hIXpuJiYhIW0uYXBrKTt2YXIgQj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtZG1nLXRvZ2dsZSIpO0ImJihCLmNoZWNrZWQ9ISFibiYmISFtLmRtZyk7dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWNsaS10b2dnbGUiKTtFJiYoRS5jaGVja2VkPSEhbS5jbGkpLGkmJmhkKCExKTtmdW5jdGlvbiBDKFEsQ2Upe0FzKFEse3R5cGU6Q2U9PT0iZXJyb3IiPyJkYW5nZXIiOiJpbmZvIn0pfWZ1bmN0aW9uIEQoUSxDZSx3ZSl7dmFyIGR0PXdlP3dlLnRleHRDb250ZW50OiIiO3dlJiYod2UuZGlzYWJsZWQ9ITAsd2UudGV4dENvbnRlbnQ9Ilx1NEUwQlx1OEY3RFx1NEUyRFx1MjAyNiIpO2Z1bmN0aW9uIGd0KCl7d2UmJih3ZS5kaXNhYmxlZD0hMSx3ZS50ZXh0Q29udGVudD1kdCl9ZmV0Y2goUSx7bWV0aG9kOiJIRUFEIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihSZSl7aWYoIVJlLm9rKXtDKFJlLnN0YXR1cz09PTQwND8iXHU0RTBCXHU4RjdEXHU2NzJBXHU1NDJGXHU3NTI4XHU2MjE2XHU2NTg3XHU0RUY2XHU1REYyXHU3OUZCXHU5NjY0IjoiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1IChIVFRQICIrUmUuc3RhdHVzKyIpIiwiZXJyb3IiKSxndCgpO3JldHVybn12YXIgUWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1FlLmhyZWY9USxRZS5kb3dubG9hZD1DZXx8IiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChRZSksUWUuY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKFFlKSxDKCJcdTVERjJcdTVGMDBcdTU5Q0JcdTRFMEJcdThGN0RcdUZGMENcdThCRjdcdTU3MjhcdTkwMUFcdTc3RTVcdTY4MEYvXHU0RTBCXHU4RjdEXHU3QkExXHU3NDA2XHU0RTJEXHU2N0U1XHU3NzBCIiwiaW5mbyIpLGd0KCl9KS5jYXRjaChmdW5jdGlvbihSZSl7QygiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1OiAiKyhSZSYmUmUubWVzc2FnZT9SZS5tZXNzYWdlOlJlKSwiZXJyb3IiKSxndCgpfSl9ZnVuY3Rpb24gRihRLENlKXtmdW5jdGlvbiB3ZShNbil7dmFyIFluPVN0cmluZyhNbnx8IiIpLnJlcGxhY2UoL152LywiIikscG49WW4uaW5kZXhPZigiLSIpLFFuPXBuPj0wP1luLnNsaWNlKDAscG4pOlluLGJlPXBuPj0wP1luLnNsaWNlKHBuKzEpOiIiO3JldHVybntwYXJ0czpRbi5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihzaSl7cmV0dXJuIHBhcnNlSW50KHNpLDEwKXx8MH0pLHByZTpiZSxpc0RlYnVnOmJlLmluZGV4T2YoImRlYnVnIik9PT0wfX1mb3IodmFyIGR0PXdlKFEpLGd0PXdlKENlKSxSZT0wO1JlPDM7UmUrKyl7dmFyIFFlPShkdC5wYXJ0c1tSZV18fDApLShndC5wYXJ0c1tSZV18fDApO2lmKFFlIT09MClyZXR1cm4gUWU+MD8xOi0xfWlmKGR0LmlzRGVidWchPT1ndC5pc0RlYnVnKXJldHVybiBkdC5pc0RlYnVnPzE6LTE7aWYoZHQuaXNEZWJ1ZyYmZ3QuaXNEZWJ1Zylmb3IodmFyIFRuPWR0LnByZS5zcGxpdCgiLiIpLExuPWd0LnByZS5zcGxpdCgiLiIpLGh0PTA7aHQ8TWF0aC5tYXgoVG4ubGVuZ3RoLExuLmxlbmd0aCk7aHQrKyl7aWYoVG5baHRdPT09dm9pZCAwKXJldHVybi0xO2lmKExuW2h0XT09PXZvaWQgMClyZXR1cm4gMTt2YXIgeXI9cGFyc2VJbnQoVG5baHRdLDEwKSxJZT1wYXJzZUludChMbltodF0sMTApO2lmKCFpc05hTih5cikmJiFpc05hTihJZSkpe2lmKHlyIT09SWUpcmV0dXJuIHlyPkllPzE6LTF9ZWxzZSBpZihUbltodF0hPT1MbltodF0pcmV0dXJuIFRuW2h0XT5MbltodF0/MTotMX1yZXR1cm4gMH1mdW5jdGlvbiBMKFEsQ2Usd2UsZHQsZ3QsUmUpe1EuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksUS5kaXNhYmxlZD0hMSxDZT4wP1EudGV4dENvbnRlbnQ9Ilx1NTM0N1x1N0VBNyI6Q2U9PT0wPyhRLnRleHRDb250ZW50PSJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAiLFEuZGlzYWJsZWQ9ITApOlJlP1EudGV4dENvbnRlbnQ9Ilx1OTFDRFx1NjVCMFx1NUI4OVx1ODhDNSI6KFEudGV4dENvbnRlbnQ9Ilx1NzI0OFx1NjcyQ1x1OEY4M1x1NjVFNyIsUS5kaXNhYmxlZD0hMCksUS5vbmNsaWNrPVEuZGlzYWJsZWQ/bnVsbDpmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLmRvd25sb2FkVXBkYXRlKHdlLGR0LGd0KX1jYXRjaChRZSl7QygiXHU4QzAzXHU3NTI4XHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1OiAiKyhRZSYmUWUubWVzc2FnZT9RZS5tZXNzYWdlOlFlKSwiZXJyb3IiKX19fXZhciBJPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWFway1zZWN0aW9uIiksTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstY3VycmVudC1yb3ciKSxLPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1hbmRyb2lkLWFway1jdXJyZW50IiksVz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstZ2l0aHViLXJvdyIpLGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWFuZHJvaWQtYXBrLWdpdGh1YiIpLFQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWdpdGh1Yi1hcGstYnRuIiksTT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstbG9jYWwtcm93IiksWD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYW5kcm9pZC1hcGstbG9jYWwiKSxqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3dubG9hZC1sb2NhbC1hcGstYnRuIiksSj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstbWVzc2FnZSIpLFA9bi5hbmRyb2lkQXBrfHx7fSx1ZT0hIXpuLGllPVAuZW5hYmxlZCE9PSExLGNlPXVlfHxpZSYmKCEhUC5naXRodWJ8fCEhUC5sb2NhbCk7aWYoSSYmKGNlP0kuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6SS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSksdWUpe2lmKE4mJksmJihLLnRleHRDb250ZW50PSJ2Iit6bixOLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxQLmdpdGh1YiYmVyYmayl7dmFyIEc9UC5naXRodWIudmVyc2lvbj8idiIrUC5naXRodWIudmVyc2lvbjpQLmdpdGh1Yi5maWxlTmFtZTtpZih0eXBlb2YgUC5naXRodWIuc2l6ZT09Im51bWJlciImJihHKz0iIFx4QjcgIit4bihQLmdpdGh1Yi5zaXplKSksay50ZXh0Q29udGVudD1HLFcuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVCl7dmFyIGVlPVAuZ2l0aHViLnZlcnNpb24/RihQLmdpdGh1Yi52ZXJzaW9uLHpuKToxO0woVCxlZSxQLmdpdGh1Yi5kb3dubG9hZFVybCxQLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsImdpdGh1YiIsITEpfX1pZihQLmxvY2FsJiZNJiZYKXt2YXIgYWU9UC5sb2NhbC52ZXJzaW9uPyJ2IitQLmxvY2FsLnZlcnNpb246UC5sb2NhbC5maWxlTmFtZTtpZih0eXBlb2YgUC5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKGFlKz0iIFx4QjcgIit4bihQLmxvY2FsLnNpemUpKSxYLnRleHRDb250ZW50PWFlLE0uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksail7dmFyIEZlPVAubG9jYWwudmVyc2lvbj9GKFAubG9jYWwudmVyc2lvbix6bik6MTtMKGosRmUsUC5sb2NhbC5kb3dubG9hZFVybCxQLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuYXBrIiwibG9jYWwiLCExKX19IVAuZ2l0aHViJiYhUC5sb2NhbCYmSiYmKEoudGV4dENvbnRlbnQ9Ilx1NjY4Mlx1NjVFMFx1NTNFRlx1NzUyOFx1NjZGNFx1NjVCMCIsSi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIFM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXV0by11cGRhdGUtcm93IikscT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hdXRvLXVwZGF0ZS1oaW50Iik7UyYmUy5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKSxxJiZxLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWkpfWVsc2V7aWYoUC5naXRodWImJlcmJmspe3ZhciBfPVAuZ2l0aHViLnZlcnNpb24/InYiK1AuZ2l0aHViLnZlcnNpb246UC5naXRodWIuZmlsZU5hbWU7dHlwZW9mIFAuZ2l0aHViLnNpemU9PSJudW1iZXIiJiYoXys9IiBceEI3ICIreG4oUC5naXRodWIuc2l6ZSkpLGsudGV4dENvbnRlbnQ9XyxXLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLFQmJihULnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLFQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVC5vbmNsaWNrPWZ1bmN0aW9uKCl7d2luZG93Lm9wZW4oUC5naXRodWIuZG93bmxvYWRVcmwsIl9ibGFuayIpLEMoIlx1NkI2M1x1NTcyOFx1NjI1M1x1NUYwMFx1NEUwQlx1OEY3RFx1OTg3NVx1MjAyNiIsImluZm8iKX0pfWlmKFAubG9jYWwmJk0mJlgpe3ZhciBWPVAubG9jYWwudmVyc2lvbj8idiIrUC5sb2NhbC52ZXJzaW9uOlAubG9jYWwuZmlsZU5hbWU7dHlwZW9mIFAubG9jYWwuc2l6ZT09Im51bWJlciImJihWKz0iIFx4QjcgIit4bihQLmxvY2FsLnNpemUpKSxYLnRleHRDb250ZW50PVYsTS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxqJiYoai50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEIixqLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGoub25jbGljaz1mdW5jdGlvbigpe0QoUC5sb2NhbC5kb3dubG9hZFVybCxQLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuYXBrIixqKX0pfSFQLmdpdGh1YiYmIVAubG9jYWwmJkomJihKLnRleHRDb250ZW50PWllPyJcdTU3MjhcdTdFQkZcdTcyNDhcdTY3MkNcdTY2ODJcdTY1RjZcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdTUzRUZcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDUiOiJBbmRyb2lkIFx1NEUwQlx1OEY3RFx1NjcyQVx1NTcyOFx1NjcwRFx1NTJBMVx1N0FFRlx1NTQyRlx1NzUyOCIsSi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIFo9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1zZWN0aW9uIikscGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1jdXJyZW50LXJvdyIpLHJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tYWNvcy1kbWctY3VycmVudCIpLHZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctZ2l0aHViLXJvdyIpLEJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tYWNvcy1kbWctZ2l0aHViIiksbWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWdpdGh1Yi1kbWctYnRuIiksJD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLWxvY2FsLXJvdyIpLHNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tYWNvcy1kbWctbG9jYWwiKSxsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWQtbG9jYWwtZG1nLWJ0biIpLGRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctbWVzc2FnZSIpLE89bi5tYWNvc0RtZ3x8e30sZ2U9ISFibixLZT1PLmVuYWJsZWQhPT0hMSxfZT1nZXx8S2UmJighIU8uZ2l0aHVifHwhIU8ubG9jYWwpO2lmKFomJihfZT9aLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOlouY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikpLGdlKXtpZihwZSYmcmUmJihyZS50ZXh0Q29udGVudD0idiIrYm4scGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLE8uZ2l0aHViJiZ2ZSYmQmUpe3ZhciBHZT1PLmdpdGh1Yi52ZXJzaW9uPyJ2IitPLmdpdGh1Yi52ZXJzaW9uOk8uZ2l0aHViLmZpbGVOYW1lO2lmKHR5cGVvZiBPLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKEdlKz0iIFx4QjcgIit4bihPLmdpdGh1Yi5zaXplKSksQmUudGV4dENvbnRlbnQ9R2UsdmUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbWUpe3ZhciBzdD1PLmdpdGh1Yi52ZXJzaW9uP0YoTy5naXRodWIudmVyc2lvbixibik6MTtMKG1lLHN0LE8uZ2l0aHViLmRvd25sb2FkVXJsLE8uZ2l0aHViLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuZG1nIiwiZ2l0aHViIiwhMCl9fWlmKE8ubG9jYWwmJiQmJnNlKXt2YXIgVnQ9Ty5sb2NhbC52ZXJzaW9uPyJ2IitPLmxvY2FsLnZlcnNpb246Ty5sb2NhbC5maWxlTmFtZTtpZih0eXBlb2YgTy5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKFZ0Kz0iIFx4QjcgIit4bihPLmxvY2FsLnNpemUpKSxzZS50ZXh0Q29udGVudD1WdCwkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlKXt2YXIgU3Q9Ty5sb2NhbC52ZXJzaW9uP0YoTy5sb2NhbC52ZXJzaW9uLGJuKToxO0wobGUsU3QsTy5sb2NhbC5kb3dubG9hZFVybCxPLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuZG1nIiwibG9jYWwiLCEwKX19IU8uZ2l0aHViJiYhTy5sb2NhbCYmZGUmJihkZS50ZXh0Q29udGVudD0iXHU2NjgyXHU2NUUwXHU1M0VGXHU3NTI4XHU2NkY0XHU2NUIwIixkZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIGl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1hdXRvLXVwZGF0ZS1yb3ciKSxQZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtYXV0by11cGRhdGUtaGludCIpO2l0JiZpdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFpKSxQZSYmUGUuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhaSl9ZWxzZXtpZihPLmdpdGh1YiYmdmUmJkJlKXt2YXIgSGU9Ty5naXRodWIudmVyc2lvbj8idiIrTy5naXRodWIudmVyc2lvbjpPLmdpdGh1Yi5maWxlTmFtZTt0eXBlb2YgTy5naXRodWIuc2l6ZT09Im51bWJlciImJihIZSs9IiBceEI3ICIreG4oTy5naXRodWIuc2l6ZSkpLEJlLnRleHRDb250ZW50PUhlLHZlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG1lJiYobWUudGV4dENvbnRlbnQ9Ilx1NEUwQlx1OEY3RCIsbWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbWUub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKE8uZ2l0aHViLmRvd25sb2FkVXJsLCJfYmxhbmsiKSxDKCJcdTZCNjNcdTU3MjhcdTYyNTNcdTVGMDBcdTRFMEJcdThGN0RcdTk4NzVcdTIwMjYiLCJpbmZvIil9KX1pZihPLmxvY2FsJiYkJiZzZSl7dmFyIEFlPU8ubG9jYWwudmVyc2lvbj8idiIrTy5sb2NhbC52ZXJzaW9uOk8ubG9jYWwuZmlsZU5hbWU7dHlwZW9mIE8ubG9jYWwuc2l6ZT09Im51bWJlciImJihBZSs9IiBceEI3ICIreG4oTy5sb2NhbC5zaXplKSksc2UudGV4dENvbnRlbnQ9QWUsJC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxsZSYmKGxlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLGxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlLm9uY2xpY2s9ZnVuY3Rpb24oKXtEKE8ubG9jYWwuZG93bmxvYWRVcmwsTy5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsbGUpfSl9IU8uZ2l0aHViJiYhTy5sb2NhbCYmZGUmJihkZS50ZXh0Q29udGVudD1LZT8iXHU1NzI4XHU3RUJGXHU3MjQ4XHU2NzJDXHU2NjgyXHU2NUY2XHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1XHVGRjBDXHU1M0VGXHU3QTBEXHU1NDBFXHU5MUNEXHU4QkQ1IjoibWFjT1MgXHU0RTBCXHU4RjdEXHU2NzJBXHU1NzI4XHU2NzBEXHU1MkExXHU3QUVGXHU1NDJGXHU3NTI4IixkZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1jb2RlIiksSXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1xciIpLE5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtcXItZW1wdHkiKSxhdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLXdyYXAiKTtpZih3JiZpKXt3LnRleHRDb250ZW50PSJcdTUyQTBcdThGN0RcdTRFMkQuLi4iLE5lJiYoTmUudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NEUyRFx1MjAyNiIpLEl0JiYoSXQuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIik7dmFyIGFuPSIvYXBpL2FwcC1jb25uZWN0LWNvZGUiO3dpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLm9yaWdpbiYmKGFuKz0iP29yaWdpbj0iK2VuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKSksZmV0Y2goYW4se2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKFEpe3JldHVybiBRLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oUSl7US5jb2RlPyh3LnRleHRDb250ZW50PVEuY29kZSxyLmFuZHJvaWRDb25uZWN0Q29kZT1RLmNvZGUsQWcoUS5jb2RlKSk6KHcudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsTmUmJihOZS50ZXh0Q29udGVudD0iXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1IikpfSkuY2F0Y2goZnVuY3Rpb24oKXt3LnRleHRDb250ZW50PSJcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjUiLE5lJiYoTmUudGV4dENvbnRlbnQ9Ilx1ODNCN1x1NTNENlx1NTkzMVx1OEQyNSIpfSl9YXQmJiFhdC5kYXRhc2V0LmJvdW5kJiYoYXQuZGF0YXNldC5ib3VuZD0iMSIsYXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5hbmRyb2lkQ29ubmVjdENvZGUmJnhnKHIuYW5kcm9pZENvbm5lY3RDb2RlKX0pKTt2YXIgb2U9bi5jb25maWd8fHt9LFV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaG9zdCIpLEt0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctcG9ydCIpLE1lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaHR0cHMiKSx1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW1vZGUiKSxKZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWN3ZCIpLEp0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc2hlbGwiKTtVdCYmKFV0LnZhbHVlPW9lLmhvc3R8fCIiKSxLdCYmKEt0LnZhbHVlPW9lLnBvcnR8fCIiKSxNZSYmKE1lLmNoZWNrZWQ9b2UuaHR0cHM9PT0hMCksdXQmJih1dC52YWx1ZT1vZS5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiKSxKZSYmKEplLnZhbHVlPW9lLmRlZmF1bHRDd2R8fCIiKSxKdCYmKEp0LnZhbHVlPW9lLnNoZWxsfHwiIik7dmFyIHVuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbGFuZ3VhZ2UiKTt1biYmKHVuLnZhbHVlPW9lLmxhbmd1YWdlfHwiIik7dmFyIG9uPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc3RydWN0dXJlZC1ydW5uZXIiKTtvbiYmKG9uLnZhbHVlPW9lLnN0cnVjdHVyZWRSdW5uZXJ8fCJjbGkiKTt2YXIgSW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1pbmhlcml0LWVudiIpO0luJiYoSW4uY2hlY2tlZD1vZS5pbmhlcml0RW52IT09ITEpO3ZhciBUdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1jbGkiKSxzbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbCIpO1R0JiYoVHQudmFsdWU9cHQob2UuY29tbWl0Q2xpKSksc24mJihzbi52YWx1ZT1vZS5jb21taXRNb2RlbHx8IiIsc24uZGF0YXNldC5tb2RlbEluaXRpYWxpemVkPSJ0cnVlIixzbi5kYXRhc2V0Lm1vZGVsRGlydHk9ImZhbHNlIiksYWEoITEpO3ZhciBZZT1vZS5kZWZhdWx0TW9kZWxzJiZ0eXBlb2Ygb2UuZGVmYXVsdE1vZGVscz09Im9iamVjdCI/b2UuZGVmYXVsdE1vZGVsczp7Y2xhdWRlOm9lLmRlZmF1bHRNb2RlbHx8IiIsY29kZXg6b2UuZGVmYXVsdENvZGV4TW9kZWx8fCIiLG9wZW5jb2RlOm9lLmRlZmF1bHRPcGVuQ29kZU1vZGVsfHwiIn07ci5jb25maWdEZWZhdWx0TW9kZWxzPXtjbGF1ZGU6WWUuY2xhdWRlfHwiIixjb2RleDpZZS5jb2RleHx8IiIsb3BlbmNvZGU6WWUub3BlbmNvZGV8fCIifSxyLmNvbmZpZ0RlZmF1bHRNb2RlbD1yLmNvbmZpZ0RlZmF1bHRNb2RlbHMuY2xhdWRlO3ZhciBoZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtbW9kZWwiKSxsbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtY29kZXgtbW9kZWwiKSxqZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtb3BlbmNvZGUtbW9kZWwiKTtoZSYmaGUuZGF0YXNldC5tb2RlbERpcnR5IT09InRydWUiJiYoaGUuZGF0YXNldC5tb2RlbEluaXRpYWxpemVkPSJmYWxzZSIpLGxuJiZsbi5kYXRhc2V0Lm1vZGVsRGlydHkhPT0idHJ1ZSImJihsbi5kYXRhc2V0Lm1vZGVsSW5pdGlhbGl6ZWQ9ImZhbHNlIiksamUmJmplLmRhdGFzZXQubW9kZWxEaXJ0eSE9PSJ0cnVlIiYmKGplLmRhdGFzZXQubW9kZWxJbml0aWFsaXplZD0iZmFsc2UiKSx1YSgpLHRkKCkudGhlbihmdW5jdGlvbigpe3VhKCl9KS5jYXRjaChmdW5jdGlvbigpe30pO3ZhciBkbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1zdGF0dXMiKTtkbiYmKGRuLnRleHRDb250ZW50PW4uaGFzQ2VydD8iXHU1REYyXHU1Qjg5XHU4OEM1IFNTTCBcdThCQzFcdTRFNjYiOiJcdTY3MkFcdTVCODlcdTg4QzVcdThCQzFcdTRFNjZcdUZGMDhcdTRGN0ZcdTc1MjhcdTgxRUFcdTdCN0VcdTU0MERcdTYyMTYgSFRUUFx1RkYwOSIsZG4uc3R5bGUuY29sb3I9bi5oYXNDZXJ0PyJ2YXIoLS1zdWNjZXNzKSI6InZhcigtLXRleHQtc2Vjb25kYXJ5KSIpO3ZhciBjbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJlc2V0cy1saXN0Iik7aWYoY24mJm9lLmNvbW1hbmRQcmVzZXRzKXtmb3IodmFyIEd0PSIiLGZuPTA7Zm48b2UuY29tbWFuZFByZXNldHMubGVuZ3RoO2ZuKyspe3ZhciBsdD1vZS5jb21tYW5kUHJlc2V0c1tmbl07R3QrPSc8ZGl2IGNsYXNzPSJwcmVzZXQtaXRlbSI+PHNwYW4gY2xhc3M9InByZXNldC1sYWJlbCI+JytwKGx0LmxhYmVsKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJwcmVzZXQtZGV0YWlsIj4nK3AobHQuY29tbWFuZCkrKGx0Lm1vZGU/IiAoIitwKGx0Lm1vZGUpKyIpIjoiIikrIjwvc3Bhbj48L2Rpdj4ifUd0fHwoR3Q9JzxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlLWNvbXBhY3QiPjxzcGFuIGNsYXNzPSJlbXB0eS1pY29uIj5cdTI2OTk8L3NwYW4+PHNwYW4+XHU2Q0ExXHU2NzA5XHU1NDdEXHU0RUU0XHU5ODg0XHU4QkJFPC9zcGFuPjxzcGFuIGNsYXNzPSJoaW50Ij5cdTU3MjggY29uZmlnLmpzb24gXHU3Njg0IGNvbW1hbmRQcmVzZXRzIFx1NEUyRFx1OTE0RFx1N0Y2RTwvc3Bhbj48L2Rpdj4nKSxjbi5pbm5lckhUTUw9R3R9dmFyIEx0PW9lLmNhcmREZWZhdWx0c3x8e30sbXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jYXJkLWVkaXQiKSxZPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1pbmxpbmUiKSxSPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10ZXJtaW5hbCIpLHRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10aGlua2luZyIpLHllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10b29sZ3JvdXAiKTttdCYmKG10LmNoZWNrZWQ9THQuZWRpdENhcmRzPT09ITApLFkmJihZLmNoZWNrZWQ9THQuaW5saW5lVG9vbHM9PT0hMCksUiYmKFIuY2hlY2tlZD1MdC50ZXJtaW5hbD09PSEwKSx0ZSYmKHRlLmNoZWNrZWQ9THQudGhpbmtpbmc9PT0hMCkseWUmJih5ZS5jaGVja2VkPUx0LnRvb2xHcm91cD09PSEwKX0pLmNhdGNoKGZ1bmN0aW9uKG4pe3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1hYm91dC1hY2Nlc3Mtbm90ZSIpO2kmJihpLnRleHRDb250ZW50PW4mJm4ubWVzc2FnZXx8Ilx1NTE3M1x1NEU4RVx1NEZFMVx1NjA2Rlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1N0EwRFx1NTQwRVx1OTFDRFx1OEJENVx1MzAwMiIsaS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pfWZ1bmN0aW9uIElnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbmZpZy1tZXNzYWdlIik7ZSYmKGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS50ZXh0Q29udGVudD0iIik7dmFyIHQ9KChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtbW9kZWwiKXx8e30pLnZhbHVlfHwiIikudHJpbSgpLG49KChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtY29kZXgtbW9kZWwiKXx8e30pLnZhbHVlfHwiIikudHJpbSgpLGk9KChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtb3BlbmNvZGUtbW9kZWwiKXx8e30pLnZhbHVlfHwiIikudHJpbSgpLGE9KChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNvbW1pdC1tb2RlbCIpfHx7fSkudmFsdWV8fCIiKS50cmltKCksdT17aG9zdDooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ob3N0Iil8fHt9KS52YWx1ZSxwb3J0Ok51bWJlcigoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1wb3J0Iil8fHt9KS52YWx1ZSksaHR0cHM6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaHR0cHMiKXx8e30pLmNoZWNrZWQsZGVmYXVsdE1vZGU6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbW9kZSIpfHx7fSkudmFsdWUsZGVmYXVsdEN3ZDooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jd2QiKXx8e30pLnZhbHVlLHNoZWxsOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXNoZWxsIil8fHt9KS52YWx1ZSxsYW5ndWFnZTooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1sYW5ndWFnZSIpfHx7fSkudmFsdWV8fCIiLGRlZmF1bHRNb2RlbDp0LGRlZmF1bHRDb2RleE1vZGVsOm4sZGVmYXVsdE9wZW5Db2RlTW9kZWw6aSxkZWZhdWx0TW9kZWxzOntjbGF1ZGU6dCxjb2RleDpuLG9wZW5jb2RlOml9LGNvbW1pdENsaTpwdCgoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jb21taXQtY2xpIil8fHt9KS52YWx1ZSksY29tbWl0TW9kZWw6YSxzdHJ1Y3R1cmVkUnVubmVyOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIil8fHt9KS52YWx1ZXx8ImNsaSIsaW5oZXJpdEVudjooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1pbmhlcml0LWVudiIpfHx7fSkuY2hlY2tlZCE9PSExfSxvPV91KCkscz11LmRlZmF1bHRNb2RlbHx8IiIsbD11LmRlZmF1bHRDb2RleE1vZGVsfHwiIixkPXUuZGVmYXVsdE9wZW5Db2RlTW9kZWx8fCIiO2ZldGNoKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodSl9KS50aGVuKGZ1bmN0aW9uKGYpe3JldHVybiBmLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZil7aWYoZSYmKGYuZXJyb3I/KGUudGV4dENvbnRlbnQ9Zi5lcnJvcixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiKTooZS50ZXh0Q29udGVudD1mLnJlc3RhcnRSZXF1aXJlZD8iXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHVGRjBDXHU5MEU4XHU1MjA2XHU5MEU4XHU3RjcyXHU1QjU3XHU2QkI1XHVGRjA4aG9zdC9wb3J0L2h0dHBzL3NoZWxsXHVGRjA5XHU5NzAwXHU4OTgxXHU5MUNEXHU1NDJGXHU2NzBEXHU1MkExXHU2MjREXHU3NTFGXHU2NTQ4XHUzMDAyIjoiXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLCFmfHwhZi5lcnJvcil7ci5jb25maWcmJihyLmNvbmZpZy5kZWZhdWx0TW9kZWw9cyxyLmNvbmZpZy5kZWZhdWx0Q29kZXhNb2RlbD1sLHIuY29uZmlnLmRlZmF1bHRPcGVuQ29kZU1vZGVsPWQsci5jb25maWcuZGVmYXVsdE1vZGVscz17Y2xhdWRlOnMsY29kZXg6bCxvcGVuY29kZTpkfSxyLmNvbmZpZy5jb21taXRDbGk9dS5jb21taXRDbGksci5jb25maWcuY29tbWl0TW9kZWw9dS5jb21taXRNb2RlbCksci5jb25maWdEZWZhdWx0TW9kZWxzPXtjbGF1ZGU6cyxjb2RleDpsLG9wZW5jb2RlOmR9LHIuY29uZmlnRGVmYXVsdE1vZGVsPXM7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsIiksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtY29kZXgtbW9kZWwiKSxoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1vcGVuY29kZS1tb2RlbCIpO2MmJihjLmRhdGFzZXQubW9kZWxEaXJ0eT0iZmFsc2UiKSx2JiYodi5kYXRhc2V0Lm1vZGVsRGlydHk9ImZhbHNlIiksaCYmKGguZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIpO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY29tbWl0LW1vZGVsIik7bSYmKG0uZGF0YXNldC5tb2RlbERpcnR5PSJmYWxzZSIpLHMhPT1vLmNsYXVkZSYmbmEoImNsYXVkZSIsIiIpLGwhPT1vLmNvZGV4JiZuYSgiY29kZXgiLCIiKSxkIT09by5vcGVuY29kZSYmbmEoIm9wZW5jb2RlIiwiIiksKHMhPT1vLmNsYXVkZXx8bCE9PW8uY29kZXh8fGQhPT1vLm9wZW5jb2RlKSYmZHIodHQoKSl9fSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9ZnVuY3Rpb24gVGcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGlzcGxheS1tZXNzYWdlIik7ZSYmKGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS50ZXh0Q29udGVudD0iIik7dmFyIHQ9e2NhcmREZWZhdWx0czp7ZWRpdENhcmRzOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1lZGl0Iil8fHt9KS5jaGVja2VkLGlubGluZVRvb2xzOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1pbmxpbmUiKXx8e30pLmNoZWNrZWQsdGVybWluYWw6ISEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jYXJkLXRlcm1pbmFsIil8fHt9KS5jaGVja2VkLHRoaW5raW5nOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10aGlua2luZyIpfHx7fSkuY2hlY2tlZCx0b29sR3JvdXA6ISEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1jYXJkLXRvb2xncm91cCIpfHx7fSkuY2hlY2tlZH19O2ZldGNoKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obil7ZSYmKG4uZXJyb3I/KGUudGV4dENvbnRlbnQ9bi5lcnJvcixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiKTooZS50ZXh0Q29udGVudD0iXHU2NjNFXHU3OTNBXHU4QkJFXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4IixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLCFuLmVycm9yJiZyLmNvbmZpZyYmKHIuY29uZmlnLmNhcmREZWZhdWx0cz10LmNhcmREZWZhdWx0cyl9KS5jYXRjaChmdW5jdGlvbigpe2UmJihlLnRleHRDb250ZW50PSJcdTRGRERcdTVCNThcdTU5MzFcdThEMjVcdTMwMDIiLGUuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9KX1mdW5jdGlvbiBMZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZXJ0LWtleS1maWxlIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1jZXJ0LWZpbGUiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZXJ0LW1lc3NhZ2UiKTtpZihuJiYobi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuLnRleHRDb250ZW50PSIiKSwhZXx8IWUuZmlsZXN8fCFlLmZpbGVzWzBdfHwhdHx8IXQuZmlsZXN8fCF0LmZpbGVzWzBdKXtuJiYobi50ZXh0Q29udGVudD0iXHU4QkY3XHU5MDA5XHU2MkU5XHU3OUMxXHU5NEE1XHU1NDhDXHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2XHUzMDAyIixuLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLG4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO3JldHVybn12YXIgaT1uZXcgRmlsZVJlYWRlcjtpLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBhPWkucmVzdWx0LHU9bmV3IEZpbGVSZWFkZXI7dS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgbz11LnJlc3VsdDtmZXRjaCgiL2FwaS9zZXR0aW5ncy91cGxvYWQtY2VydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2tleTphLGNlcnQ6b30pfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHMpe2lmKG4pe2lmKHMuZXJyb3Ipbi50ZXh0Q29udGVudD1zLmVycm9yLG4uc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSI7ZWxzZXtuLnRleHRDb250ZW50PSJcdThCQzFcdTRFNjZcdTVERjJcdTRFMEFcdTRGMjBcdUZGMENcdTkxQ0RcdTU0MkZcdTU0MEVcdTc1MUZcdTY1NDhcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIjt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1zdGF0dXMiKTtsJiYobC50ZXh0Q29udGVudD0iXHU1REYyXHU1Qjg5XHU4OEM1IFNTTCBcdThCQzFcdTRFNjYiLGwuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIil9bi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19KS5jYXRjaChmdW5jdGlvbigpe24mJihuLnRleHRDb250ZW50PSJcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjVcdTMwMDIiLG4uc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsbi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9KX0sdS5yZWFkQXNUZXh0KHQuZmlsZXNbMF0pfSxpLnJlYWRBc1RleHQoZS5maWxlc1swXSl9ZnVuY3Rpb24gbWQoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbGF0ZXN0LXZlcnNpb24iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby11cGRhdGUtYnV0dG9uIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLW1lc3NhZ2UiKTtlJiYoZS50ZXh0Q29udGVudD0iXHU2OEMwXHU2N0U1XHU0RTJELi4uIiksbiYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGZldGNoKCIvYXBpL2NoZWNrLXVwZGF0ZSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaS5lcnJvcil7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NTkzMVx1OEQyNSIpO3JldHVybn12YXIgYT1pLmNoYW5uZWw9PT0iYmV0YSI7aWYoZSYmKGUudGV4dENvbnRlbnQ9aS5sYXRlc3R8fChhPyJiZXRhIFx1NjcyQVx1NTNEMVx1NUUwMyI6Ii0iKSksIWkubGF0ZXN0KXtuJiYobi50ZXh0Q29udGVudD1hPyJcdTY1RTBcdTZDRDVcdThCRkJcdTUzRDYgbnBtIGJldGEgXHU3MjQ4XHU2NzJDXHUzMDAyIjoiXHU2NUUwXHU2Q0Q1XHU4RkRFXHU2M0E1XHU1MjMwIG5wbSByZWdpc3RyeVx1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTtyZXR1cm59dCYmKHQudGV4dENvbnRlbnQ9aS51cGRhdGVBdmFpbGFibGU/YT8iXHU2NkY0XHU2NUIwXHU1MjMwIEJldGEiOiJcdTY2RjRcdTY1QjBcdTUyMzBcdTY3MDBcdTY1QjBcdTcyNDgiOmE/Ilx1OTFDRFx1NjVCMFx1NUI4OVx1ODhDNSBCZXRhIjoiXHU5MUNEXHU2NUIwXHU1Qjg5XHU4OEM1XHU2NzAwXHU2NUIwXHU3MjQ4Iix0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSwhaS51cGRhdGVBdmFpbGFibGUmJm4mJihuLnRleHRDb250ZW50PWE/Ilx1NURGMlx1NjYyRlx1NjcwMFx1NjVCMCBCZXRhIFx1NzI0OFx1NjcyQ1x1MzAwMiI6Ilx1NURGMlx1NjYyRlx1NjcwMFx1NjVCMFx1NzI0OFx1NjcyQ1x1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLG4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU2OEMwXHU2N0U1XHU1OTMxXHU4RDI1Iil9KX1mdW5jdGlvbiBnZChlKXt2YXIgdD1lJiZBcnJheS5pc0FycmF5KGUuaXRlbXMpP2UuaXRlbXM6W10sbj0wO1siY2xhdWRlIiwiY29kZXgiLCJvcGVuY29kZSJdLmZvckVhY2goZnVuY3Rpb24odSl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNsaS1zdGF0dXMtIit1KTtpZihvKXt2YXIgcz10LmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaWQ9PT11fSk7aWYoIXMpe28udGV4dENvbnRlbnQ9Ilx1NjhDMFx1NkQ0Qlx1NTkzMVx1OEQyNSI7cmV0dXJufWlmKG8uc2V0QXR0cmlidXRlKCJ0aXRsZSIscy5lcnJvcnx8cy5leGVjdXRhYmxlfHwiIiksIXMuaW5zdGFsbGVkKXtvLnRleHRDb250ZW50PSJcdTY3MkFcdTVCODlcdTg4QzUiO3JldHVybn12YXIgbD1zLmN1cnJlbnRWZXJzaW9ufHwiXHU2NzJBXHU3N0U1XHU3MjQ4XHU2NzJDIjtpZihzLnVwZGF0ZUF2YWlsYWJsZSYmcy51cGRhdGVTdXBwb3J0ZWQpe24rKyxvLnRleHRDb250ZW50PWwrIiBcdTIxOTIgIisocy5sYXRlc3RWZXJzaW9ufHwiXHU2NzAwXHU2NUIwXHU3MjQ4Iik7cmV0dXJufWlmKHMudXBkYXRlQXZhaWxhYmxlJiYhcy51cGRhdGVTdXBwb3J0ZWQpe28udGV4dENvbnRlbnQ9bCsiIFx4QjcgXHU5NzAwXHU4RkMxXHU3OUZCIjtyZXR1cm59by50ZXh0Q29udGVudD1zLmxhdGVzdFZlcnNpb24/bCsiIFx4QjcgXHU2NzAwXHU2NUIwIjpsKyIgXHhCNyBcdTY3MkFcdThCRkJcdTUzRDZcdTUyMzBcdTY3MDBcdTY1QjBcdTcyNDgifX0pO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGRhdGUtcHJvdmlkZXItY2xpcyIpO2kmJihpLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsbj09PTApLGkudGV4dENvbnRlbnQ9bj4wPyJcdTVGRUJcdTkwMUZcdTY2RjRcdTY1QjAgKCIrbisiKSI6Ilx1NUZFQlx1OTAxRlx1NjZGNFx1NjVCMCIpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIik7YSYmdHlwZW9mIGUuYXV0b1VwZGF0ZT09ImJvb2xlYW4iJiYoYS5jaGVja2VkPWUuYXV0b1VwZGF0ZSl9ZnVuY3Rpb24gaGQoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrLXByb3ZpZGVyLWNsaS11cGRhdGVzIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvdmlkZXItY2xpLXVwZGF0ZS1tZXNzYWdlIik7cmV0dXJuIHQmJih0LmRpc2FibGVkPSEwLHQudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NkQ0Qlx1NEUyRFx1MjAyNiIpLGZldGNoKCIvYXBpL3Byb3ZpZGVyLWNsaS11cGRhdGVzIisoZT8iP3JlZnJlc2g9MSI6IiIpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGkuZXJyb3IpO3JldHVybiBnZChpKSxuJiZlJiYobi50ZXh0Q29udGVudD0iQ0xJIFx1NzI0OFx1NjcyQ1x1NjhDMFx1NjdFNVx1NUI4Q1x1NjIxMFx1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLG4uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGl9KS5jYXRjaChmdW5jdGlvbihpKXtyZXR1cm4gbiYmKG4udGV4dENvbnRlbnQ9aSYmaS5tZXNzYWdlfHwiQ0xJIFx1NzI0OFx1NjcyQ1x1NjhDMFx1NjdFNVx1NTkzMVx1OEQyNVx1MzAwMiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxudWxsfSkuZmluYWxseShmdW5jdGlvbigpe3QmJih0LmRpc2FibGVkPSExLHQudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NjZGNFx1NjVCMCIpfSl9ZnVuY3Rpb24gTWcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLXByb3ZpZGVyLWNsaXMiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjay1wcm92aWRlci1jbGktdXBkYXRlcyIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNsaS11cGRhdGUtbWVzc2FnZSIpO2UmJihlLmRpc2FibGVkPSEwLGUudGV4dENvbnRlbnQ9Ilx1NjZGNFx1NjVCMFx1NEUyRFx1MjAyNiIpLHQmJih0LmRpc2FibGVkPSEwKSxuJiYobi50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU0RjlEXHU2QjIxXHU2NkY0XHU2NUIwIENMSVx1RkYwQ1x1OEJGN1x1NTJGRlx1NTE3M1x1OTVFRFx1NjcwRFx1NTJBMVx1MjAyNiIsbi5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIixuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxmZXRjaCgiL2FwaS9wcm92aWRlci1jbGktdXBkYXRlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe30pfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGkuZXJyb3IpO2dkKGkpO3ZhciBhPUFycmF5LmlzQXJyYXkoaS5yZXN1bHRzKT9pLnJlc3VsdHM6W10sdT1hLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4hby5va30pO24mJihuLnRleHRDb250ZW50PWEubWFwKGZ1bmN0aW9uKG8pe3JldHVybiBvLm1lc3NhZ2V9KS5qb2luKCIgIil8fCJcdTZDQTFcdTY3MDlcdTk3MDBcdTg5ODFcdTY2RjRcdTY1QjBcdTc2ODQgQ0xJXHUzMDAyIixuLnN0eWxlLmNvbG9yPXUubGVuZ3RoPyJ2YXIoLS13YXJuaW5nKSI6InZhcigtLXN1Y2Nlc3MpIil9KS5jYXRjaChmdW5jdGlvbihpKXtuJiYobi50ZXh0Q29udGVudD1pJiZpLm1lc3NhZ2V8fCJDTEkgXHU2NkY0XHU2NUIwXHU1OTMxXHU4RDI1XHUzMDAyIixuLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlJiYoZS5kaXNhYmxlZD0hMSksdCYmKHQuZGlzYWJsZWQ9ITEpfSl9ZnVuY3Rpb24gT2coKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLW1lc3NhZ2UiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby11cGRhdGUtYnV0dG9uIik7aWYodCl7dmFyIG49dC50ZXh0Q29udGVudHx8Ilx1NjZGNFx1NjVCMFx1NTIzMFx1NjcwMFx1NjVCMFx1NzI0OCIsaT1mdW5jdGlvbigpe3QuZGlzYWJsZWQ9ITEsdC50ZXh0Q29udGVudD1uLHQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWJ1c3kiKX07dC5kaXNhYmxlZD0hMCx0LnRleHRDb250ZW50PSJcdTY2RjRcdTY1QjBcdTRFMkQuLi4iLHQuc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIiksZSYmKGUudGV4dENvbnRlbnQ9Ilx1NkI2M1x1NTcyOFx1NjZGNFx1NjVCMFx1RkYwQ1x1OEJGN1x1N0EwRFx1NTAxOS4uLiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhLmVycm9yKXtlJiYoZS50ZXh0Q29udGVudD1hLmVycm9yLGUuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksaSgpO3JldHVybn1pZihlJiYoZS50ZXh0Q29udGVudD0oYS5tZXNzYWdlfHwiXHU2NkY0XHU2NUIwXHU1QjhDXHU2MjEwIikrIlx1RkYwQ1x1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MjAyNiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLHQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWJ1c3kiKSx0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGEuZGV0YWNoZWRVcGRhdGUpRW4oYS5wcmV2aW91c0luc3RhbmNlSWR8fG51bGwsYS52ZXJzaW9ufHxudWxsKTtlbHNlIGlmKGEucmVzdGFydFJlcXVpcmVkIT09ITEpT3MobnVsbCxlKTtlbHNle3ZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby1yZXN0YXJ0LWJ1dHRvbiIpO3UmJnUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU2NkY0XHU2NUIwXHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGkoKX0pfX1mdW5jdGlvbiBQZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby1yZXN0YXJ0LWJ1dHRvbiIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1tZXNzYWdlIik7T3MoZSx0KX1mdW5jdGlvbiBxZygpe2ZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlLmFwaylyZXR1cm4gZmV0Y2goIi9hcGkvYW5kcm9pZC1hcGstdXBkYXRlP2N1cnJlbnRWZXJzaW9uPSIrZW5jb2RlVVJJQ29tcG9uZW50KHpuKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtpZighKCF0LnVwZGF0ZUF2YWlsYWJsZXx8IXQuZG93bmxvYWRVcmwpKXRyeXtXYW5kTmF0aXZlLmRvd25sb2FkVXBkYXRlKHQuZG93bmxvYWRVcmwsdC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsdC5zb3VyY2V8fCJsb2NhbCIpfWNhdGNoe319KX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gX2coKXtibiYmZmV0Y2goIi9hcGkvYXV0by11cGRhdGUiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGUpe2lmKGUuZG1nKXJldHVybiBmZXRjaCgiL2FwaS9tYWNvcy1kbWctdXBkYXRlP2N1cnJlbnRWZXJzaW9uPSIrZW5jb2RlVVJJQ29tcG9uZW50KGJuKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtpZighKCF0LnVwZGF0ZUF2YWlsYWJsZXx8IXQuZG93bmxvYWRVcmwpKXRyeXtXYW5kTmF0aXZlLmRvd25sb2FkVXBkYXRlKHQuZG93bmxvYWRVcmwsdC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsdC5zb3VyY2V8fCJsb2NhbCIpfWNhdGNoe319KX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gZmEoZSx0KXt2YXIgbj17fTtuW2VdPXQsZmV0Y2goIi9hcGkvYXV0by11cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG4pfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIiksdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpLG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1jbGktdG9nZ2xlIik7YSYmKGEuY2hlY2tlZD0hIWkud2ViKSx1JiYodS5jaGVja2VkPSEhaS5hcGspLG8mJihvLmNoZWNrZWQ9ISFpLmRtZykscyYmKHMuY2hlY2tlZD0hIWkuY2xpKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLSIrZSsiLXRvZ2dsZSIpO2kmJihpLmNoZWNrZWQ9IXQpfSl9ZnVuY3Rpb24gSGcoZSl7ZmV0Y2goIi9hcGkvdXBkYXRlLWNoYW5uZWwiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjaGFubmVsOmV9KX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO24mJihuLmNoZWNrZWQ9dC5jaGFubmVsPT09ImJldGEiKSxtZCgpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO3QmJih0LmNoZWNrZWQ9ZSE9PSJiZXRhIil9KX1mdW5jdGlvbiB5ZChlKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIpLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXS5nZXRBdHRyaWJ1dGUoImRhdGEtaWNvbiIpPT09ZTt0W25dLmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIixpKSx0W25dLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIixpPyJ0cnVlIjoiZmFsc2UiKX19ZnVuY3Rpb24gU24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXBlcm1pc3Npb24tc3RhdHVzIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXJlcXVlc3QtYnRuIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXJlc2V0LWJ0biIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKTtpZihlKXt2YXIgYT1MaSgpO2lmKGE9PT1udWxsKXtpZih0eXBlb2YgTm90aWZpY2F0aW9uPiJ1Iil7ZS50ZXh0Q29udGVudD0iXHU0RTBEXHU2NTJGXHU2MzAxIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1mZy1tdXRlZCkiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksbiYmbi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59YT1Ob3RpZmljYXRpb24ucGVybWlzc2lvbn1hPT09ImdyYW50ZWQiPyhlLnRleHRDb250ZW50PSJcdTVERjJcdTYzODhcdTY3NDMgXHUyNzEzIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIsdCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuJiZuLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKTphPT09ImRlbmllZCI/KGUudGV4dENvbnRlbnQ9Ilx1NURGMlx1NjJEMlx1N0VERCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZGFuZ2VyKSIsdCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuJiZuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTooZS50ZXh0Q29udGVudD0iXHU2NzJBXHU2Mzg4XHU2NzQzIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS13YXJuaW5nKSIsdCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxuJiZuLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX19ZnVuY3Rpb24gTmcoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtbWVzc2FnZSIpO2lmKHplKXt3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdD1mdW5jdGlvbih0KXtTbigpLGUmJih0PT09ImdyYW50ZWQiPyhlLnRleHRDb250ZW50PSJcdTI3MTMgXHU1REYyXHU2Mzg4XHU2NzQzIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpOihlLnRleHRDb250ZW50PSJcdTI3MTcgXHU2NzJBXHU2Mzg4XHU2NzQzXHVGRjBDXHU4QkY3XHU1NzI4XHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFXHU0RTJEXHU1RjAwXHU1NDJGIFdhbmQgXHU3Njg0XHU5MDFBXHU3N0U1XHU2NzQzXHU5NjUwIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1kYW5nZXIpIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksZGVsZXRlIHdpbmRvdy5fb25OYXRpdmVQZXJtaXNzaW9uUmVzdWx0fTt0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59dHlwZW9mIE5vdGlmaWNhdGlvbj4idSJ8fE5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24odCl7aWYoU24oKSx0PT09ImdyYW50ZWQiKWUmJihlLnRleHRDb250ZW50PSJcdTI3MTMgXHU1REYyXHU2Mzg4XHU2NzQzIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7ZWxzZSBpZih0PT09ImRlbmllZCImJmUpe3ZhciBuPWxvY2F0aW9uLm9yaWdpbjtlLmlubmVySFRNTD0nXHU2RDRGXHU4OUM4XHU1NjY4XHU1REYyXHU2MkU2XHU2MjJBXHU2Mzg4XHU2NzQzXHU1RjM5XHU3QTk3XHVGRjBDXHU4QkY3XHU2MjRCXHU1MkE4XHU5MUNEXHU3RjZFXHVGRjFBPGJyPjxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21hcmdpbjo0cHggMCI+XHUyNDYwIFx1NzBCOVx1NTFGQlx1NTczMFx1NTc0MFx1NjgwRlx1NURFNlx1NEZBN1x1NzY4NCA8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtmb250LXNpemU6MTFweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGUiPmk8L3NwYW4+IFx1NjIxNlx1OTUwMVx1NTZGRVx1NjgwNzwvc3Bhbj48YnI+XHUyNDYxIFx1NjI3RVx1NTIzMFx1MzAwQ1x1OTAxQVx1NzdFNVx1MzAwRFx1MjE5MiBcdTY1MzlcdTRFM0FcdTMwMENcdTUxNDFcdThCQjhcdTMwMEQ8YnI+XHUyNDYyIFx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mlx1NTM3M1x1NTNFRicsZS5zdHlsZS5jb2xvcj0idmFyKC0tZmctbXV0ZWQpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpfX0pfWZ1bmN0aW9uIGJkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWRlbGF5LWJ0biIpO2UmJihlLmRpc2FibGVkPSExLGUudGV4dENvbnRlbnQ9IjEwIFx1NzlEMlx1NTQwRVx1NTNEMVx1OTAwMSIpfWZ1bmN0aW9uIGpnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKTtyLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lciYmKGNsZWFyVGltZW91dChyLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lciksci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXI9bnVsbCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWRlbGF5LWJ0biIpO3QmJih0LmRpc2FibGVkPSEwLHQudGV4dENvbnRlbnQ9Ilx1NURGMlx1NUI4OVx1NjM5Mlx1RkYwODEwc1x1RkYwOSIpLGUmJihlLmlubmVySFRNTD0iXHU1REYyXHU1Qjg5XHU2MzkyIDEwIFx1NzlEMlx1NTQwRVx1NTNEMVx1OTAwMVx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNVx1RkYwQ1x1OEJGN1x1NTIwN1x1NTIzMFx1NTQwRVx1NTNGMFx1N0I0OVx1NUY4NVx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxyLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXI9bnVsbCxiZCgpLEVkKCl9LDFlNCl9ZnVuY3Rpb24gRWQoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtbWVzc2FnZSIpLHQ9W107ci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXImJihjbGVhclRpbWVvdXQoci5kZWxheWVkTm90aWZpY2F0aW9uVGltZXIpLHIuZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwsYmQoKSk7dmFyIG49QnAoKTt0LnB1c2gobj8iXHUyNzEzIFx1NjNEMFx1NzkzQVx1OTdGMyI6Ilx1MjcxNyBcdTYzRDBcdTc5M0FcdTk3RjNcdUZGMDhcdTY1RTBcdTZDRDVcdTY0QURcdTY1M0VcdUZGMDkiKTt2YXIgaT1yLm5vdGlmQnViYmxlO2lmKCRhKHt0aXRsZToiXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1Iixib2R5OiJcdThGRDlcdTY2MkZcdTRFMDBcdTY3NjFcdTZENEJcdThCRDVcdTkwMUFcdTc3RTVcdTMwMDIiLHR5cGU6ImluZm8iLGljb246Ilx1MjY2QSIsZHVyYXRpb246NWUzLHBsYXlTb3VuZDohMX0pLHQucHVzaChpPyJcdTI3MTMgXHU1RTk0XHU3NTI4XHU1MTg1XHU2QzE0XHU2Q0UxIjoiXHUyMDEzIFx1NUU5NFx1NzUyOFx1NTE4NVx1NkMxNFx1NkNFMVx1RkYwOFx1NURGMlx1NTE3M1x1OTVFRFx1RkYwOSIpLHplKXt2YXIgYT1MaSgpO2lmKGE9PT0iZ3JhbnRlZCIpdHJ5e1dhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbigiV2FuZCBcdTZENEJcdThCRDVcdTkwMUFcdTc3RTUiLCJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTVERjJcdTZCNjNcdTVFMzhcdTVERTVcdTRGNUNcdTMwMDIiLCJ3YW5kLXRlc3QiKSx0LnB1c2goIlx1MjcxMyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTUiKX1jYXRjaHt0LnB1c2goIlx1MjcxNyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjVcdUZGMDkiKX1lbHNlIGlmKGE9PT0iZGVuaWVkIil0LnB1c2goIlx1MjcxNyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTVERjJcdTYyRDJcdTdFRERcdUZGMENcdThCRjdcdTU3MjhcdTdDRkJcdTdFREZcdThCQkVcdTdGNkVcdTRFMkRcdTVGMDBcdTU0MkZcdUZGMDkiKTtlbHNle3dpbmRvdy5fb25OYXRpdmVQZXJtaXNzaW9uUmVzdWx0PWZ1bmN0aW9uKHMpe2lmKFNuKCkscz09PSJncmFudGVkIil0cnl7V2FuZE5hdGl2ZS5zZW5kTm90aWZpY2F0aW9uKCJXYW5kIFx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIsIlx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NkI2M1x1NUUzOFx1NURFNVx1NEY1Q1x1MzAwMiIsIndhbmQtdGVzdCIpLHQucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjM4OFx1Njc0M1x1RkYwOSIpfWNhdGNoe3QucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1RkYwOSIpfWVsc2UgdC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU2NzJBXHU2Mzg4XHU2NzQzXHVGRjA5Iik7bXIoZSx0KSxkZWxldGUgd2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHR9O3RyeXtXYW5kTmF0aXZlLnJlcXVlc3RQZXJtaXNzaW9uKCl9Y2F0Y2h7fXJldHVybn1tcihlLHQpO3JldHVybn1pZih0eXBlb2YgTm90aWZpY2F0aW9uPiJ1Iil7dC5wdXNoKCJcdTIwMTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU0RTBEXHU2NTJGXHU2MzAxXHVGRjA5IiksbXIoZSx0KTtyZXR1cm59dmFyIHU9Tm90aWZpY2F0aW9uLnBlcm1pc3Npb247aWYodT09PSJncmFudGVkIil7dHJ5e3ZhciBvPW5ldyBOb3RpZmljYXRpb24oIldhbmQgXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1Iix7Ym9keToiXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1REYyXHU2QjYzXHU1RTM4XHU1REU1XHU0RjVDXHUzMDAyIixpY29uOiIvZmF2aWNvbi5pY28iLHRhZzoid2FuZC10ZXN0In0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmNsb3NlKCl9LDVlMyksdC5wdXNoKCJcdTI3MTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1Iil9Y2F0Y2h7dC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHVGRjBDXHU1M0VGXHU4MEZEXHU5NzAwXHU4OTgxIEhUVFBTXHVGRjA5Iil9bXIoZSx0KX1lbHNlIHU9PT0iZGVuaWVkIj8odC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1REYyXHU2MkQyXHU3RUREXHVGRjA5IiksbXIoZSx0KSk6Tm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbihmdW5jdGlvbihzKXtTbigpLHM9PT0iZ3JhbnRlZCI/dC5wdXNoKCJcdTI3MTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1REYyXHU2Mzg4XHU2NzQzXHVGRjA5Iik6dC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU2NzJBXHU2Mzg4XHU2NzQzXHVGRjA5IiksbXIoZSx0KX0pfWZ1bmN0aW9uIG1yKGUsdCl7aWYoZSl7ZS5pbm5lckhUTUw9dC5tYXAoZnVuY3Rpb24oaSl7cmV0dXJuIHAoaSl9KS5qb2luKCI8YnI+Iik7dmFyIG49dC5ldmVyeShmdW5jdGlvbihpKXtyZXR1cm4gaS5pbmRleE9mKCJcdTI3MTMiKT09PTB8fGkuaW5kZXhPZigiXHUyMDEzIik9PT0wfSk7ZS5zdHlsZS5jb2xvcj1uPyJ2YXIoLS1zdWNjZXNzKSI6InZhcigtLXdhcm5pbmcpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpfX1mdW5jdGlvbiB2dChlKXtpZighZXx8dHlwZW9mIGUhPSJvYmplY3QifHwhci50ZXJtaW5hbClyZXR1cm4gZTt0cnl7dHlwZW9mIHIudGVybWluYWwucmVtZWFzdXJlPT0iZnVuY3Rpb24iJiZyLnRlcm1pbmFsLnJlbWVhc3VyZSgpfWNhdGNoe312YXIgdD1yLnRlcm1pbmFsLmNvbHMsbj1yLnRlcm1pbmFsLnJvd3M7cmV0dXJuIHR5cGVvZiB0PT0ibnVtYmVyIiYmdHlwZW9mIG49PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUodCkmJk51bWJlci5pc0Zpbml0ZShuKSYmdD4wJiZuPjAmJihlLmNvbHM9dCxlLnJvd3M9biksZX1mdW5jdGlvbiBGZCgpe3JldHVybiByLnRlcm1pbmFsJiZyLnRlcm1pbmFsLmNvbHM/UHJvbWlzZS5yZXNvbHZlKCk6bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7dmFyIHQ9ITEsbj1mdW5jdGlvbigpe3R8fCh0PSEwLGUoKSl9LGk9c2V0VGltZW91dChuLDJlMyk7dHJ5e3VyKCl9Y2F0Y2h7fXJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3IudGVybWluYWwmJnIudGVybWluYWwuY29scyYmKGNsZWFyVGltZW91dChpKSxuKCkpfSl9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGU9ZXQoKSx0PVplKCksbj1mdChlLHIuY29uZmlnJiZyLmNvbmZpZy5kZWZhdWx0TW9kZT9yLmNvbmZpZy5kZWZhdWx0TW9kZToiZGVmYXVsdCIpO3IucHJlZmVycmVkQ29tbWFuZD1lLHIuY2hhdE1vZGU9ZnQoZSxyLmNoYXRNb2RlKSxGZCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHZ0KHtjb21tYW5kOmUscHJvdmlkZXI6ZSxjd2Q6dCxtb2RlOm4sc2Vzc2lvblNvdXJjZToiaW50ZXJhY3RpdmUifSkpfSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaS5lcnJvcil7eChpLmVycm9yLCJlcnJvciIpO3JldHVybn1yZXR1cm4gci5zZWxlY3RlZElkPWkuaWQsa2UoKSxyLmRyYWZ0c1tpLmlkXT0iIixrdCgpLE50KCl9KS50aGVuKGZ1bmN0aW9uKCl7SHQoITApfSkuY2F0Y2goZnVuY3Rpb24oKXt4KCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9dmFyIHVpPSExO2Z1bmN0aW9uIFJnKCl7aWYoIXVpKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kYWwtZXJyb3IiKSxuPWV0KCksaT1yLnNlc3Npb25DcmVhdGVLaW5kfHwic3RydWN0dXJlZCIsYT1yLnNlc3Npb25DcmVhdGVXb3JrdHJlZT09PSEwO1RpKHQpO3ZhciB1PVplKCksbz0oZT9lLnZhbHVlLnRyaW0oKToiIil8fHUscz1mdChuLHIubW9kZVZhbHVlKTtpZihkYSh7ZGVmYXVsdFByb3ZpZGVyOm4sZGVmYXVsdFNlc3Npb25LaW5kOmksZGVmYXVsdE1vZGU6c30pLGk9PT0ic3RydWN0dXJlZCIpe1dnKG8scyxhLHQpO3JldHVybn16ZyhuLG8scyxhLHQpfX1mdW5jdGlvbiBXZyhlLHQsbixpKXt2YXIgYT1wdChyLnNlc3Npb25Ub29sKTtyZXR1cm4gdWk9ITAsci5tb2RlVmFsdWU9dCxyLmNoYXRNb2RlPXQsci5zZXNzaW9uVG9vbD1hLHIucHJlZmVycmVkQ29tbWFuZD1hLFFpKCksZHIodHQoKSksbGQodm9pZCAwLGUsdCxuKS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiBYdChlKSxBbigpLFJ0KCksdX0pLnRoZW4oZnVuY3Rpb24oKXtIdCghMCl9KS5jYXRjaChmdW5jdGlvbih1KXtxZShpLHUmJnUubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBDbGF1ZGUgXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHUzMDAyIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dWk9ITF9KX1mdW5jdGlvbiB6ZyhlLHQsbixpLGEpe3VpPSEwLHIubW9kZVZhbHVlPW4sci5jaGF0TW9kZT1uLHIuc2Vzc2lvblRvb2w9ZSxyLnByZWZlcnJlZENvbW1hbmQ9ZSxRaSgpLEZkKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodnQoe2NvbW1hbmQ6ZSxwcm92aWRlcjplLGN3ZDp0LG1vZGU6bix3b3JrdHJlZUVuYWJsZWQ6aSxzZXNzaW9uU291cmNlOiJpbnRlcmFjdGl2ZSJ9KSl9KX0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHUuanNvbigpfSkudGhlbihmdW5jdGlvbih1KXtpZih1LmVycm9yKXtxZShhLHUuZXJyb3IpO3JldHVybn1yZXR1cm4gci5zZWxlY3RlZElkPXUuaWQsa2UoKSxYdCh0KSxyLmRyYWZ0c1t1LmlkXT0iIixrdCgpLEFuKCksUnQoKSxOdCgpfSkudGhlbihmdW5jdGlvbigpe3Iuc2VsZWN0ZWRJZD9qdChyLnNlbGVjdGVkSWQpOkh0KCEwKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cWUoYSxlPT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBjb2RleCBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTVFNzZcdTUzRUZcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdTYyNjdcdTg4NENcdTMwMDIiOmU9PT0ib3BlbmNvZGUiPyJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggT3BlbkNvZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IG9wZW5jb2RlLWFpIFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IENsYXVkZSBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTMwMDIiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXt1aT0hMX0pfWZ1bmN0aW9uIFZnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkIik7ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLENkKSxlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpeyh0LmtleT09PSJFbnRlciJ8fHQua2V5PT09IiAiKSYmKHQucHJldmVudERlZmF1bHQoKSxDZCgpKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtZHJvcGRvd24iKTtpZighKCFufHxuLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpJiYhdC50YXJnZXQuY2xvc2VzdCgiLmJsYW5rLWNoYXQtY3dkLXdyYXAiKSl7bi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpJiYoaS50ZXh0Q29udGVudD0iXHUyNUJDIil9fSkpfWZ1bmN0aW9uIENkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpZihlKXt2YXIgbj1lLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIik7bj8oVWcoZSksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx0JiYodC50ZXh0Q29udGVudD0iXHUyNUIyIikpOihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQmJih0LnRleHRDb250ZW50PSJcdTI1QkMiKSl9fWZ1bmN0aW9uIFVnKGUpe3ZhciB0PWduKCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRC4uLjwvZGl2PicsV2EoZnVuY3Rpb24obil7dmFyIGk9IiIsYT1yLndvcmtpbmdEaXJ8fHQ7aWYoaSs9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0nKyhhPT09dD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKHQpKyciPjxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtLWxhYmVsIj5cdTlFRDhcdThCQTQ8L3NwYW4+JytGdCh0LCJibGFuay1jaGF0LWN3ZC1pdGVtLXBhdGgiKSsiPC9kaXY+IixuLmxlbmd0aCl7dmFyIHU9e307dVt0XT0hMCxuLmZvckVhY2goZnVuY3Rpb24obyl7dVtvLnBhdGhdfHwodVtvLnBhdGhdPSEwLGkrPSc8ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtJysoYT09PW8ucGF0aD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKG8ucGF0aCkrJyI+JytGdChvLnBhdGgsImJsYW5rLWNoYXQtY3dkLWl0ZW0tcGF0aCIpKyI8L2Rpdj4iKX0pfWUuaW5uZXJIVE1MPWksenQoZSksZS5xdWVyeVNlbGVjdG9yQWxsKCIuYmxhbmstY2hhdC1jd2QtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24obyl7by5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocyl7cy5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbD1vLmRhdGFzZXQucGF0aDtyLndvcmtpbmdEaXI9bDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiLGwpfWNhdGNoe312YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtcGF0aCIpO2VvKGQsbCksZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtmJiYoZi50ZXh0Q29udGVudD0iXHUyNUJDIik7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItaW5wdXQiKTtjJiYoYy52YWx1ZT1sKX0pfSl9KX1mdW5jdGlvbiBLZygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZWNlbnQtcGF0aHMtYnViYmxlcyIpO2UmJldhKGZ1bmN0aW9uKHQpe2lmKCF0Lmxlbmd0aCl7ZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuaW5uZXJIVE1MPXQubWFwKGZ1bmN0aW9uKG4pe3JldHVybic8YnV0dG9uIGNsYXNzPSJyZWNlbnQtcGF0aC1idWJibGUiIGRhdGEtcGF0aD0iJytwKG4ucGF0aCkrJyIgdGl0bGU9IicrcChuLnBhdGgpKyciPicrRnQobi5wYXRoLCJyZWNlbnQtcGF0aC1idWJibGUtcGF0aCIpKyI8L2J1dHRvbj4ifSkuam9pbigiIiksenQoZSksZS5xdWVyeVNlbGVjdG9yQWxsKCIucmVjZW50LXBhdGgtYnViYmxlIikuZm9yRWFjaChmdW5jdGlvbihuKXtuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKTtpJiYoaS52YWx1ZT1uLmRhdGFzZXQucGF0aHx8IiIsci5jd2RWYWx1ZT1uLmRhdGFzZXQucGF0aHx8IiIpfSl9KX0pfWZ1bmN0aW9uIHdkKCl7ci5zdWdnZXN0aW9uVGltZXImJmNsZWFyVGltZW91dChyLnN1Z2dlc3Rpb25UaW1lciksci5zdWdnZXN0aW9uVGltZXI9c2V0VGltZW91dChKZywxMjApfWZ1bmN0aW9uIEpnKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtpZihlJiZlLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpe2dyKCk7cmV0dXJufXZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKTt0JiZmZXRjaCgiL2FwaS9wYXRoLXN1Z2dlc3Rpb25zP3E9IitlbmNvZGVVUklDb21wb25lbnQodC52YWx1ZS50cmltKCkpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbi5qc29uKCl9KS50aGVuKEdnKS5jYXRjaChncil9ZnVuY3Rpb24gR2coZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZC1zdWdnZXN0aW9ucyIpO2lmKCF0fHwhZS5sZW5ndGgpe2dyKCk7cmV0dXJufXQuaW5uZXJIVE1MPWUubWFwKGZ1bmN0aW9uKG4pe3JldHVybic8YnV0dG9uIGNsYXNzPSJzdWdnZXN0aW9uLWl0ZW0iIGRhdGEtcGF0aD0iJytwKG4ucGF0aCkrJyI+PHN0cm9uZz4nK3Aobi5uYW1lKSsiPC9zdHJvbmc+PHNtYWxsPiIrRnQobi5wYXRoLCJzdWdnZXN0aW9uLWl0ZW0tcGF0aCIpKyI8L3NtYWxsPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSx6dCh0KSx0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdWdnZXN0aW9uLWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZCIpLnZhbHVlPW4uZGF0YXNldC5wYXRofHwiIixyLmN3ZFZhbHVlPW4uZGF0YXNldC5wYXRofHwiIixncigpfSl9KSx0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpfWZ1bmN0aW9uIGdyKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN3ZC1zdWdnZXN0aW9ucyIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUuaW5uZXJIVE1MPSIiKX1mdW5jdGlvbiBZZyhlKXtpZighZS5pc0NvbXBvc2luZyl7aWYoWnMoZSkpe2N1KGUpO3JldHVybn1pZihlLmtleT09PSJFbnRlciIpe2lmKGUuc2hpZnRLZXkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYodCl7dmFyIG49dC5zZWxlY3Rpb25TdGFydHx8MCxpPXQudmFsdWUsYT1pLnNsaWNlKDAsbikrYApgK2kuc2xpY2Uobik7dC52YWx1ZT1hLHQuc2VsZWN0aW9uU3RhcnQ9bisxLHQuc2VsZWN0aW9uRW5kPW4rMSxydChhLCEwKSxBdCh0KX1yZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB1PSEhKGUubWV0YUtleXx8ZS5jdHJsS2V5KTtVcyh1P3tpbnRlcnJ1cHQ6ITB9OnZvaWQgMCk7cmV0dXJufWlmKGUua2V5PT09IkJhY2tzcGFjZSIpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7ZyYmcnQoZy52YWx1ZSwhMCl9LDApO3JldHVybn1pZihlLmtleT09PSJUYWIiKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHQpe3ZhciBuPXQuc2VsZWN0aW9uU3RhcnR8fDAsaT10LnZhbHVlLGE9aS5zbGljZSgwLG4pKyIJIitpLnNsaWNlKG4pO3QudmFsdWU9YSxydChhLCEwKX1yZXR1cm59aWYoZS5rZXk9PT0iRXNjYXBlIil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBvPXR0KCk7ZmUobyk/byYmby5zdHJ1Y3R1cmVkU3RhdGUmJm8uc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZmdSgpOkV0KFdyKCJlc2NhcGUiKSwiZXNjYXBlIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iYyIpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxsPXMmJnMuc2VsZWN0aW9uU3RhcnQhPT1zLnNlbGVjdGlvbkVuZHx8SGkoKTtpZihsKXJldHVybjt2YXIgZD10dCgpO2lmKGZlKGQpKXtlLnByZXZlbnREZWZhdWx0KCksZCYmZC5zdHJ1Y3R1cmVkU3RhdGUmJmQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZmdSgpO3JldHVybn1lLnByZXZlbnREZWZhdWx0KCksRXQoV3IoImN0cmxfYyIpLCJjdHJsX2MiKTtyZXR1cm59aWYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJkIil7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGM9ZiYmZi5zZWxlY3Rpb25TdGFydCE9PWYuc2VsZWN0aW9uRW5kfHxIaSgpO2lmKGMpcmV0dXJuO3ZhciB2PXR0KCk7aWYoZmUodikpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLEV0KFdyKCJjdHJsX2QiKSwiY3RybF9kIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0ibCIpe2UucHJldmVudERlZmF1bHQoKTt2YXIgaD10dCgpO2lmKGZlKGgpKXJldHVybjtFdChXcigiY3RybF9sIiksImN0cmxfbCIpO3JldHVybn1pZighKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iYSIpJiYhKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0idiIpKXtpZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09IngiKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksbT10JiZ0LnNlbGVjdGlvblN0YXJ0IT09dC5zZWxlY3Rpb25FbmQ7aWYobSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLEV0KCIYIiwiY3RybF94Iik7cmV0dXJufWUua2V5Lmxlbmd0aD09PTEmJiFlLmN0cmxLZXkmJiFlLm1ldGFLZXkmJiFlLmFsdEtleSYmc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtnJiZydChnLnZhbHVlKX0sMCl9fX12YXIgUWc9MTAqMTAyNCoxMDI0O2Z1bmN0aW9uICRnKGUpe3JldHVybiBlPDEwMjQ/ZSsiIEIiOmU8MTAyNCoxMDI0PyhlLzEwMjQpLnRvRml4ZWQoMSkrIiBLQiI6KGUvKDEwMjQqMTAyNCkpLnRvRml4ZWQoMSkrIiBNQiJ9ZnVuY3Rpb24gWGcoZSl7cmV0dXJuL15pbWFnZVwvKHBuZ3xqcGU/Z3xnaWZ8d2VicHxibXB8c3ZnXCt4bWwpLy50ZXN0KGUpfWZ1bmN0aW9uIEp1KGUpe2lmKGUpe2lmKGUuc2l6ZT5RZyl7eCgiXHU2NTg3XHU0RUY2XHU4RkM3XHU1OTI3XHVGRjA4XHU0RTBBXHU5NjUwIDEwIE1CXHVGRjA5OiAiK2UubmFtZSwiZXJyb3IiKTtyZXR1cm59dmFyIHQ9e2ZpbGU6ZSxuYW1lOmUubmFtZSxzaXplOmUuc2l6ZSxwcmV2aWV3VXJsOm51bGx9O1hnKGUudHlwZSkmJih0LnByZXZpZXdVcmw9VVJMLmNyZWF0ZU9iamVjdFVSTChlKSksci5wZW5kaW5nQXR0YWNobWVudHMucHVzaCh0KSxHdSgpfX1mdW5jdGlvbiBaZyhlKXt2YXIgdD1yLnBlbmRpbmdBdHRhY2htZW50cy5zcGxpY2UoZSwxKTt0Lmxlbmd0aCYmdFswXS5wcmV2aWV3VXJsJiZVUkwucmV2b2tlT2JqZWN0VVJMKHRbMF0ucHJldmlld1VybCksR3UoKX1mdW5jdGlvbiBlaCgpe3IucGVuZGluZ0F0dGFjaG1lbnRzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5wcmV2aWV3VXJsJiZVUkwucmV2b2tlT2JqZWN0VVJMKGUucHJldmlld1VybCl9KSxyLnBlbmRpbmdBdHRhY2htZW50cz1bXSxHdSgpfWZ1bmN0aW9uIEd1KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaG1lbnQtcHJldmlldyIpO2lmKGUpe3ZhciB0PXIucGVuZGluZ0F0dGFjaG1lbnRzO2lmKHQubGVuZ3RoPT09MCl7ZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmlubmVySFRNTD0iIjtyZXR1cm59ZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtmb3IodmFyIG49IiIsaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldLHU9YS5wcmV2aWV3VXJsPyc8aW1nIHNyYz0iJytwKGEucHJldmlld1VybCkrJyIgYWx0PSIiPic6JzxzcGFuIGNsYXNzPSJhdHQtaWNvbiI+JytVKCJmaWxlIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsiPC9zcGFuPiI7bis9JzxzcGFuIGNsYXNzPSJhdHRhY2htZW50LXBpbGwiIGRhdGEtaW5kZXg9IicraSsnIj4nK3UrJzxzcGFuIGNsYXNzPSJhdHQtbmFtZSIgdGl0bGU9IicrcChhLm5hbWUpKyciPicrcChhLm5hbWUpKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImF0dC1zaXplIj4nKyRnKGEuc2l6ZSkrJzwvc3Bhbj48YnV0dG9uIGNsYXNzPSJhdHQtcmVtb3ZlIiBkYXRhLWluZGV4PSInK2krJyIgdGl0bGU9Ilx1NzlGQlx1OTY2NCI+XHhENzwvYnV0dG9uPjwvc3Bhbj4nfWUuaW5uZXJIVE1MPW4sZS5xdWVyeVNlbGVjdG9yQWxsKCIuYXR0LXJlbW92ZSIpLmZvckVhY2goZnVuY3Rpb24obyl7by5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24ocyl7cy5wcmV2ZW50RGVmYXVsdCgpLHMuc3RvcFByb3BhZ2F0aW9uKCksWmcocGFyc2VJbnQoby5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSwxMCkpfSl9KX19ZnVuY3Rpb24gdGgoZSl7aWYoIXIucGVuZGluZ0F0dGFjaG1lbnRzLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgdD1uZXcgRm9ybURhdGE7cmV0dXJuIHIucGVuZGluZ0F0dGFjaG1lbnRzLmZvckVhY2goZnVuY3Rpb24obil7dC5hcHBlbmQoImZpbGVzIixuLmZpbGUsbi5uYW1lKX0pLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvdXBsb2FkIix7bWV0aG9kOiJQT1NUIixib2R5OnQsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIG4ub2s/bi5qc29uKCk6bi5qc29uKCkudGhlbihmdW5jdGlvbihpKXt0aHJvdyBuZXcgRXJyb3IoaS5lcnJvcnx8Ilx1NEUwQVx1NEYyMFx1NTkzMVx1OEQyNSIpfSl9KS50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiBuLmZpbGVzfHxbXX0pfWZ1bmN0aW9uIG5oKGUpe2lmKCFlfHwhZS5sZW5ndGgpcmV0dXJuIiI7dmFyIHQ9ZS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uc2F2ZWRQYXRofSk7cmV0dXJuYFtcdTk2NDRcdTRFRjZcdTVERjJcdTRFMEFcdTRGMjBcdUZGMENcdThCRjdcdTY3RTVcdTc3MEJcdTRFRTVcdTRFMEJcdTY1ODdcdTRFRjY6CmArdC5qb2luKGAKYCkrYF0KCmB9ZnVuY3Rpb24gQmQoZSl7aWYoIXIudGVybWluYWxJbnRlcmFjdGl2ZXx8IWV8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImlzLXdhbmQtZW1iZWQtdGVybWluYWwiKSlyZXR1cm4hMTt2YXIgdD1lLnZhbHVlfHwiIjtyZXR1cm4gdD8oRXQodCwiaW50ZXJhY3RpdmVfdGV4dCIpLmNhdGNoKGZ1bmN0aW9uKCl7fSksZS52YWx1ZT0iIixBdChlKSxydCgiIiwhMCksITApOiExfWZ1bmN0aW9uIHJoKGUpe3ZhciB0PWUuY2xpcGJvYXJkRGF0YSYmZS5jbGlwYm9hcmREYXRhLml0ZW1zO2lmKHQmJiFyLnRlcm1pbmFsSW50ZXJhY3RpdmUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWlmKHRbbl0udHlwZS5pbmRleE9mKCJpbWFnZS8iKT09PTApe2UucHJldmVudERlZmF1bHQoKTt2YXIgaT10W25dLmdldEFzRmlsZSgpO2kmJkp1KGkpO3JldHVybn19dmFyIGE9ZS5jbGlwYm9hcmREYXRhJiZlLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dCIpO2lmKGEpe2lmKGUucHJldmVudERlZmF1bHQoKSxyLnRlcm1pbmFsSW50ZXJhY3RpdmUpe0V0KGEsInBhc3RlIikuY2F0Y2goZnVuY3Rpb24oKXt9KTtyZXR1cm59dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHUpe3ZhciBvPXUuc2VsZWN0aW9uU3RhcnR8fDAscz11LnNlbGVjdGlvbkVuZHx8MCxsPXUudmFsdWUsZD1sLnNsaWNlKDAsbykrYStsLnNsaWNlKHMpO3UudmFsdWU9ZCxydChkKX19fWZ1bmN0aW9uIEdoKGUpe0V0KGUpLHJ0KGloKCkrZSl9ZnVuY3Rpb24gaWgoKXtpZihyLnNlbGVjdGVkSWQpe2lmKHIuZHJhZnRzW3Iuc2VsZWN0ZWRJZF0hPT12b2lkIDApcmV0dXJuIHIuZHJhZnRzW3Iuc2VsZWN0ZWRJZF07dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLWRyYWZ0LSIrci5zZWxlY3RlZElkKTtpZihlKXJldHVybiBlfWNhdGNoe319cmV0dXJuIiJ9ZnVuY3Rpb24gcnQoZSx0KXtpZihyLnNlbGVjdGVkSWQpe3IuZHJhZnRzW3Iuc2VsZWN0ZWRJZF09ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtZHJhZnQtIityLnNlbGVjdGVkSWQsZSl9Y2F0Y2h7fWlmKCF0KXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7biYmKG4udmFsdWU9ZSl9fX12YXIgWXU9ITE7ZnVuY3Rpb24gYWgoKXtpZighWXUpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcm9tcHQtb3B0aW1pemUtYnRuIiksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtpZihlKXt2YXIgaT0oZS52YWx1ZXx8IiIpLnRyaW0oKTtpZighaSl7dHlwZW9mIHg9PSJmdW5jdGlvbiImJngoIlx1OEJGN1x1NTE0OFx1OEY5M1x1NTE2NVx1ODk4MVx1NEYxOFx1NTMxNlx1NzY4NFx1NTE4NVx1NUJCOVx1MzAwMiIsImluZm8iKSxlLmZvY3VzKCk7cmV0dXJufVl1PSEwLHQmJih0LmNsYXNzTGlzdC5hZGQoImlzLWxvYWRpbmciKSx0LmRpc2FibGVkPSEwLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NkI2M1x1NTcyOFx1NEYxOFx1NTMxNlx1MjAyNiIpKSxuJiZuLmNsYXNzTGlzdC5hZGQoImlzLW9wdGltaXppbmciKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1idXN5IiwidHJ1ZSIpO3ZhciBhPWUucmVhZE9ubHk7ZS5yZWFkT25seT0hMDt2YXIgdT17dGV4dDppfTtyJiZyLnNlbGVjdGVkSWQmJih1LnNlc3Npb25JZD1yLnNlbGVjdGVkSWQpLGZldGNoKCIvYXBpL29wdGltaXplLXByb21wdCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybntvazpvLm9rLGRhdGE6c319KX0pLnRoZW4oZnVuY3Rpb24obyl7aWYoIW8ub2spdGhyb3cgbmV3IEVycm9yKG8uZGF0YSYmby5kYXRhLmVycm9yfHwiXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2XHU1OTMxXHU4RDI1XHUzMDAyIik7dmFyIHM9by5kYXRhJiZvLmRhdGEub3B0aW1pemVkfHwiIjtpZighcyl0aHJvdyBuZXcgRXJyb3IoIkNsYXVkZSBcdThGRDRcdTU2REVcdTRFM0FcdTdBN0FcdTMwMDIiKTt1aChlLHMpfSkuY2F0Y2goZnVuY3Rpb24obyl7dHlwZW9mIHg9PSJmdW5jdGlvbiImJngobyYmby5tZXNzYWdlfHwiXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2XHU1OTMxXHU4RDI1XHUzMDAyIiwiZXJyb3IiKSx0JiYodC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1sb2FkaW5nIiksdC5jbGFzc0xpc3QuYWRkKCJpcy1zaGFrZSIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoImlzLXNoYWtlIil9LDQwMCkpfSkuZmluYWxseShmdW5jdGlvbigpe1l1PSExLHQmJih0LmNsYXNzTGlzdC5yZW1vdmUoImlzLWxvYWRpbmciKSx0LmRpc2FibGVkPSExLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlx1NjNEMFx1NzkzQVx1OEJDRFx1NEYxOFx1NTMxNlx1RkYwOEFJXHVGRjA5IikpLG4mJm4uY2xhc3NMaXN0LnJlbW92ZSgiaXMtb3B0aW1pemluZyIpLGUucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWJ1c3kiKSxlLnJlYWRPbmx5PWF9KX19fWZ1bmN0aW9uIHVoKGUsdCl7aWYoIWUpcmV0dXJuO3ZhciBuPUFycmF5LmZyb20odCksaT1uLmxlbmd0aDtpZihpPT09MCl7ZS52YWx1ZT0iIixydCgiIiwhMCksQXQoZSk7cmV0dXJufXZhciBhPU1hdGgubWluKDcwMCxNYXRoLm1heCgyMjAsaSo4KSksdT1NYXRoLm1pbihpLDYwKSxvPU1hdGguY2VpbChpL3UpLHM9YS91LGw9MDtlLnZhbHVlPSIiLEF0KGUpO2Z1bmN0aW9uIGQoKXtpZihsPU1hdGgubWluKGksbCtvKSxlLnZhbHVlPW4uc2xpY2UoMCxsKS5qb2luKCIiKSxBdChlKSxsPGkpc2V0VGltZW91dChkLHMpO2Vsc2V7cnQodCwhMCk7dHJ5e2Uuc2V0U2VsZWN0aW9uUmFuZ2UodC5sZW5ndGgsdC5sZW5ndGgpfWNhdGNoe319fWQoKX1mdW5jdGlvbiBwYShlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtpZih0KXt2YXIgbj1lfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksaT0hIShuJiZuLnZhbHVlJiZuLnZhbHVlLmxlbmd0aD4wKTt0LmNsYXNzTGlzdC50b2dnbGUoImhhcy10ZXh0IixpKX19ci5fc3RhdHVzQmFyVGltZXJJZD1udWxsLHIuX3N0YXR1c0JhclN0YXJ0VGltZT0wO3ZhciBvaT1udWxsLHZhPTA7ZnVuY3Rpb24gUXUoZSl7aWYoIWUpcmV0dXJue2FjdGl2ZTohMX07aWYoZS5hcmNoaXZlZClyZXR1cm57YWN0aXZlOiExfTt2YXIgdD0hIWUucGVybWlzc2lvbkJsb2NrZWQsbj0hIShmZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KSxpPSFmZShlKSYmZS5zdGF0dXM9PT0icnVubmluZyI7cmV0dXJue2FjdGl2ZTpufHxpfHx0LGluRmxpZ2h0Om4scHR5UnVubmluZzppLHBlcm1pc3Npb25CbG9ja2VkOnR9fWZ1bmN0aW9uIG9oKGUpe3ZhciB0PU1hdGgubWF4KDAsTWF0aC5mbG9vcihlLzFlMykpO2lmKHQ8NjApcmV0dXJuIHQrInMiO3ZhciBuPU1hdGguZmxvb3IodC82MCksaT10JTYwO2lmKG48NjApcmV0dXJuIG4rIm0iKyhpPyIgIitpKyJzIjoiIik7dmFyIGE9TWF0aC5mbG9vcihuLzYwKSx1PW4lNjA7cmV0dXJuIGErImgiKyh1PyIgIit1KyJtIjoiIil9ZnVuY3Rpb24gJHUoZSl7dmFyIHQ9UXUoZSksbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1oZWFkZXItcm93IiksaT1uP24ucXVlcnlTZWxlY3RvcigiLnNlc3Npb24tc3RhdHVzLXBpbGwiKTpudWxsLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtpZihuJiYobi5jbGFzc0xpc3QudG9nZ2xlKCJpcy1ydW5uaW5nIix0LmFjdGl2ZSksbi5jbGFzc0xpc3QudG9nZ2xlKCJpcy1wZXJtaXNzaW9uLWJsb2NrZWQiLHQucGVybWlzc2lvbkJsb2NrZWQpKSxpKXt2YXIgdT1pLnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN0YXR1cy1lbGFwc2VkIik7aWYodC5pbkZsaWdodCl7dmF8fCh2YT1yLl9zdGF0dXNCYXJTdGFydFRpbWU+MD9yLl9zdGF0dXNCYXJTdGFydFRpbWU6RGF0ZS5ub3coKSk7dmFyIG89b2goRGF0ZS5ub3coKS12YSk7dXx8KHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHUuY2xhc3NOYW1lPSJzZXNzaW9uLXN0YXR1cy1lbGFwc2VkIixpLmFwcGVuZENoaWxkKHUpKSx1LnRleHRDb250ZW50PW99ZWxzZSB2YT0wLHUmJnUucmVtb3ZlKCl9dC5hY3RpdmU/b2l8fChvaT1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBzPXIuc2Vzc2lvbnMuZmluZChmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PXIuc2VsZWN0ZWRJZH0pOyR1KHMpfSwxZTMpKTpvaSYmKGNsZWFySW50ZXJ2YWwob2kpLG9pPW51bGwpfWZ1bmN0aW9uIFh1KGUsdCl7JHUodCk7dmFyIG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNvbXBvc2VyLXRvcC1yb3ciKSxpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKSxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKCF0fHwhZmUodCkpe2kmJmkucmVtb3ZlKCksYSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKSxjbGVhckludGVydmFsKHIuX3N0YXR1c0JhclRpbWVySWQpLHIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbDtyZXR1cm59dmFyIHU9dC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0O2lmKHUpe2lmKHIuX3N0YXR1c0JhclRpbWVySWR8fChyLl9zdGF0dXNCYXJTdGFydFRpbWU9RGF0ZS5ub3coKSksYSYmYS5jbGFzc0xpc3QuYWRkKCJpbi1mbGlnaHQiKSwhaSYmbil7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5jbGFzc05hbWU9InN0cnVjdHVyZWQtc3RhdHVzLWJhciIsby5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJzdGF0dXMtYmFyLWRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFyLWxhYmVsIj5cdTU2REVcdTU5MERcdTRFMkQ8L3NwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYXItdGltZXIiPjAuMHM8L3NwYW4+JyxuLmFwcGVuZENoaWxkKG8pLGk9b31lbHNlIGlmKGkmJmkuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21wbGV0ZWQiKSl7aS5jbGFzc0xpc3QucmVtb3ZlKCJjb21wbGV0ZWQiKSxpLnN0eWxlLmFuaW1hdGlvbj0ibm9uZSIsaS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1sYWJlbCIpLnRleHRDb250ZW50PSJcdTU2REVcdTU5MERcdTRFMkQiO3ZhciBzPWkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItZG90Iik7cyYmKHMuc3R5bGUuZGlzcGxheT0iIiksci5fc3RhdHVzQmFyU3RhcnRUaW1lPURhdGUubm93KCl9ci5fc3RhdHVzQmFyVGltZXJJZHx8KHIuX3N0YXR1c0JhclRpbWVySWQ9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RydWN0dXJlZC1zdGF0dXMtYmFyOm5vdCguY29tcGxldGVkKSIpO2lmKCFkKXtjbGVhckludGVydmFsKHIuX3N0YXR1c0JhclRpbWVySWQpLHIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbDtyZXR1cm59dmFyIGY9KChEYXRlLm5vdygpLXIuX3N0YXR1c0JhclN0YXJ0VGltZSkvMWUzKS50b0ZpeGVkKDEpLGM9ZC5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci10aW1lciIpO2MmJihjLnRleHRDb250ZW50PWYrInMiKX0sMTAwKSl9ZWxzZSBpZihjbGVhckludGVydmFsKHIuX3N0YXR1c0JhclRpbWVySWQpLHIuX3N0YXR1c0JhclRpbWVySWQ9bnVsbCxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImluLWZsaWdodCIpLGkmJiFpLmNsYXNzTGlzdC5jb250YWlucygiY29tcGxldGVkIikpe3ZhciBsPXIuX3N0YXR1c0JhclN0YXJ0VGltZT8oKERhdGUubm93KCktci5fc3RhdHVzQmFyU3RhcnRUaW1lKS8xZTMpLnRvRml4ZWQoMSk6IjAuMCI7aS5jbGFzc0xpc3QuYWRkKCJjb21wbGV0ZWQiKSxpLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWxhYmVsIikudGV4dENvbnRlbnQ9Ilx1NUI4Q1x1NjIxMCIsaS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci10aW1lciIpLnRleHRDb250ZW50PWwrInMiO3ZhciBzPWkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItZG90Iik7cyYmKHMuc3R5bGUuZGlzcGxheT0ibm9uZSIpLHIuX3N0YXR1c0JhclN0YXJ0VGltZT0wLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLnBhcmVudE5vZGUmJmkucmVtb3ZlKCl9LDNlMyl9fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csIiYjMzk7Iil9ZnVuY3Rpb24gRnQoZSx0LG4pe3ZhciBpPVN0cmluZyhlfHwiIik7cmV0dXJuJzxzcGFuIGNsYXNzPSInK3QrJyB0YWlsLW1hcnF1ZWUtcGF0aCIgdGl0bGU9IicrcChpKSsnIicrKG58fCIiKSsnPjxzcGFuIGNsYXNzPSJ0YWlsLW1hcnF1ZWUtcGF0aC1pbm5lciI+JytwKGkpKyI8L3NwYW4+PC9zcGFuPiJ9dmFyIHNoPS9cLihwbmd8anBlP2d8Z2lmfHdlYnB8c3ZnfGF2aWZ8Ym1wfGljb3xoZWljfGhlaWYpJC9pO2Z1bmN0aW9uIFp1KGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIilyZXR1cm4hMTt2YXIgdD1lLnRyaW0oKS5zcGxpdCgvWz8jXS8pWzBdO3JldHVybiBzaC50ZXN0KHQpfWZ1bmN0aW9uIGhyKGUpe2lmKGUpe3ZhciB0PWZ1bmN0aW9uKCl7dHJ5e3ZhciBuPWUuZmlyc3RFbGVtZW50Q2hpbGQmJmUuZmlyc3RFbGVtZW50Q2hpbGQuY2xhc3NMaXN0JiZlLmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdC5jb250YWlucygidGFpbC1tYXJxdWVlLXBhdGgtaW5uZXIiKT9lLmZpcnN0RWxlbWVudENoaWxkOm51bGw7aWYobil7dmFyIGk9TWF0aC5tYXgoMCxuLnNjcm9sbFdpZHRoLWUuY2xpZW50V2lkdGgpO2UuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtb3ZlcmZsb3dpbmciLGk+MSksZS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS10YWlsLW1hcnF1ZWUtc2hpZnQiLGkrInB4Iik7dmFyIGE9TWF0aC5tYXgoNC44LGkvMTgpO2Uuc3R5bGUuc2V0UHJvcGVydHkoIi0tdGFpbC1tYXJxdWVlLWR1cmF0aW9uIixNYXRoLm1heCg2LjgsYS8uNjgpKyJzIik7cmV0dXJufWUuc2Nyb2xsV2lkdGg+ZS5jbGllbnRXaWR0aCYmKGUuc2Nyb2xsTGVmdD1lLnNjcm9sbFdpZHRoKX1jYXRjaHt9fTt0KCksdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfX1mdW5jdGlvbiB6dChlKXt2YXIgdD1lfHxkb2N1bWVudDshdHx8dHlwZW9mIHQucXVlcnlTZWxlY3RvckFsbCE9ImZ1bmN0aW9uInx8dC5xdWVyeVNlbGVjdG9yQWxsKCIudGFpbC1tYXJxdWVlLXBhdGgiKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2hyKG4pfSl9ZnVuY3Rpb24gZW8oZSx0KXtpZihlKXt2YXIgbj1TdHJpbmcodHx8IiIpLGk9ZS5xdWVyeVNlbGVjdG9yJiZlLnF1ZXJ5U2VsZWN0b3IoIi50YWlsLW1hcnF1ZWUtcGF0aC1pbm5lciIpO2k/aS50ZXh0Q29udGVudD1uOmUudGV4dENvbnRlbnQ9bixlLnNldEF0dHJpYnV0ZSYmZS5zZXRBdHRyaWJ1dGUoInRpdGxlIixuKSxocihlKX19ZnVuY3Rpb24gbGgoZSl7aWYoZSl7dmFyIHQ9ZnVuY3Rpb24oKXt0cnl7aWYodHlwZW9mIGUuc2V0U2VsZWN0aW9uUmFuZ2U9PSJmdW5jdGlvbiImJmUudmFsdWUhPW51bGwpe3ZhciBuPWUudmFsdWUubGVuZ3RoO3RyeXtlLnNldFNlbGVjdGlvblJhbmdlKG4sbil9Y2F0Y2h7fX1lLnNjcm9sbFdpZHRoPmUuY2xpZW50V2lkdGgmJihlLnNjcm9sbExlZnQ9ZS5zY3JvbGxXaWR0aCl9Y2F0Y2h7fX07dCgpLHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiImJnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KX19KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPW5hdmlnYXRvciYmbmF2aWdhdG9yLnVzZXJBZ2VudHx8IiI7L1dhbmRBcHBcLy8udGVzdChlKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXdhbmQtYXBwIiksL1dhbmRQbGF0Zm9ybVwvaU9TLy50ZXN0KGUpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtd2FuZC1pb3MiKSwvV2FuZFBsYXRmb3JtXC9BbmRyb2lkLy50ZXN0KGUpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtd2FuZC1hbmRyb2lkIil9Y2F0Y2h7fXRyeXtjb25zdCB0PW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLnNlYXJjaFBhcmFtczt0LmdldCgiZW1iZWQiKT09PSJ0ZXJtaW5hbCImJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCIpLHQuZ2V0KCJuYXRpdmVJbnB1dCIpPT09IjEiJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtd2FuZC1uYXRpdmUtaW5wdXQiKSl9Y2F0Y2h7fXRyeXt3aW5kb3cuX193YW5kTmF0aXZlQmFja0hvb2tlZD0hMH1jYXRjaHt9fSkoKX0pKCk7Cg=="),
|
|
9
9
|
stylesCss: decode("OnJvb3R7LS1iZy1wcmltYXJ5OiAjZjZmMWU4Oy0tYmctc2Vjb25kYXJ5OiByZ2JhKDI1NSwgMjUxLCAyNDUsIC45Mik7LS1iZy10ZXJ0aWFyeTogI2YwZTVkNzstLWJnLWVsZXZhdGVkOiAjZmZmYWYyOy0tYmctc3VyZmFjZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7LS1iZy10ZXJtaW5hbDogIzFmMWIxNzstLWJnLW92ZXJsYXk6IHJnYmEoNDIsIDI4LCAxOCwgLjQpOy0tYm9yZGVyLXN1YnRsZTogcmdiYSgxNTAsIDExOCwgODUsIC4xMik7LS1ib3JkZXItZGVmYXVsdDogcmdiYSgxMjUsIDkxLCA1NywgLjI1KTstLWJvcmRlci1zdHJvbmc6IHJnYmEoMTI1LCA5MSwgNTcsIC40KTstLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQpOy0tYm9yZGVyLWZvY3VzOiByZ2JhKDE5NywgMTAxLCA2MSwgLjUpOy0tdGV4dC1wcmltYXJ5OiAjMmExZjE2Oy0tdGV4dC1zZWNvbmRhcnk6ICM1YTQ1MzU7LS10ZXh0LXRlcnRpYXJ5OiAjN2E2MzUwOy0tdGV4dC1tdXRlZDogIzhjNzM1ZjstLXRleHQtaW52ZXJzZTogI2ZmZmZmZjstLXRleHQtbGluazogI2M1NjUzZDstLWFjY2VudDogI2M1NjUzZDstLWFjY2VudC1ob3ZlcjogI2Q0NzU1MDstLWFjY2VudC1hY3RpdmU6ICNhZjUzMzA7LS1hY2NlbnQtc29mdDogI2U4YzVhZTstLWFjY2VudC1tdXRlZDogcmdiYSgxOTcsIDEwMSwgNjEsIC4xMik7LS1hY2NlbnQtZ2xvdzogcmdiYSgxOTcsIDEwMSwgNjEsIC4yNSk7LS1zdWNjZXNzOiAjNGY3YTU4Oy0tc3VjY2Vzcy1ob3ZlcjogIzVhOGY2NjstLXN1Y2Nlc3MtbXV0ZWQ6IHJnYmEoNzksIDEyMiwgODgsIC4xNCk7LS1zdWNjZXNzLWdsb3c6IHJnYmEoNzksIDEyMiwgODgsIC4zKTstLXdhcm5pbmc6ICNhOTZhMmY7LS13YXJuaW5nLWhvdmVyOiAjYzA3YTM1Oy0td2FybmluZy1tdXRlZDogcmdiYSgxNjksIDEwNiwgNDcsIC4xNCk7LS13YXJuaW5nLWdsb3c6IHJnYmEoMTY5LCAxMDYsIDQ3LCAuMjUpOy0tZGFuZ2VyOiAjYjI0ZjQ1Oy0tZGFuZ2VyLWhvdmVyOiAjYzk2MDU1Oy0tZGFuZ2VyLW11dGVkOiByZ2JhKDE3OCwgNzksIDY5LCAuMTQpOy0tZGFuZ2VyLWdsb3c6IHJnYmEoMTc4LCA3OSwgNjksIC4yNSk7LS1pbmZvOiAjNGE2ZmE1Oy0taW5mby1tdXRlZDogcmdiYSg3NCwgMTExLCAxNjUsIC4xNCk7LS1zaGFkb3cteHM6IDAgMXB4IDNweCByZ2JhKDg5LCA1OCwgMzIsIC4wNCk7LS1zaGFkb3ctc206IDAgMnB4IDhweCByZ2JhKDg5LCA1OCwgMzIsIC4wNik7LS1zaGFkb3ctbWQ6IDAgNHB4IDE2cHggcmdiYSg4OSwgNTgsIDMyLCAuMDgpOy0tc2hhZG93LWxnOiAwIDhweCAzMnB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy14bDogMCAxMnB4IDQ4cHggcmdiYSg4OSwgNTgsIDMyLCAuMTYpOy0tc2hhZG93LXNvZnQ6IDAgMjBweCA1MHB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy1lbGV2YXRlZDogMCA4cHggMjRweCByZ2JhKDg5LCA1OCwgMzIsIC4wOCk7LS1zaGFkb3ctZ2xvdzogMCAwIDI0cHggdmFyKC0tYWNjZW50LWdsb3cpOy0tc2hhZG93LWdsb3ctc3VjY2VzczogMCAwIDIwcHggdmFyKC0tc3VjY2Vzcy1nbG93KTstLXJhZGl1cy14czogNnB4Oy0tcmFkaXVzLXNtOiAxMHB4Oy0tcmFkaXVzLW1kOiAxNHB4Oy0tcmFkaXVzLWxnOiAyMHB4Oy0tcmFkaXVzLXhsOiAyOHB4Oy0tcmFkaXVzLWZ1bGw6IDk5OTlweDstLWZvbnQtc2FuczogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiSGVsdmV0aWNhIE5ldWUiLCAiUGluZ0ZhbmcgU0MiLCAiTm90byBTYW5zIFNDIiwgIk1pY3Jvc29mdCBZYUhlaSIsIHNhbnMtc2VyaWY7LS1mb250LW1vbm86ICJTRiBNb25vIiwgIkZpcmEgQ29kZSIsICJDYXNjYWRpYSBDb2RlIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIE1vbmFjbywgIkNvbnNvbGFzIiwgbW9ub3NwYWNlOy0tZm9udC1zaXplLXhzOiAuNjg3NXJlbTstLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW07LS1mb250LXNpemUtYmFzZTogLjkzNzVyZW07LS1mb250LXNpemUtbGc6IDEuMDYyNXJlbTstLWZvbnQtc2l6ZS14bDogMS4yNXJlbTstLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7LS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwOy0tZm9udC13ZWlnaHQtYm9sZDogNzAwOy0tbGluZS1oZWlnaHQtdGlnaHQ6IDEuMzstLWxpbmUtaGVpZ2h0LWJhc2U6IDEuNjstLWxpbmUtaGVpZ2h0LXJlbGF4ZWQ6IDEuNzU7LS10cmFuc2l0aW9uLWZhc3Q6IC4xNXMgZWFzZTstLXRyYW5zaXRpb24tbm9ybWFsOiAuMjVzIGVhc2U7LS10cmFuc2l0aW9uLXNsb3c6IC40cyBlYXNlOy0tdHJhbnNpdGlvbi1zcHJpbmc6IC41cyBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpOy0tc2lkZWJhci13aWR0aDogMzAwcHg7LS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNTZweDstLWZpbGUtcGFuZWwtd2lkdGg6IDMyMHB4Oy0tc2FmZS1ib3R0b206IDBweDstLWVhc2Utb3V0LWV4cG86IGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTstLWVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSk7LS1lYXNlLWluLW91dC1zbW9vdGg6IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tZWFzZS1zcHJpbmc6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KTstLWVhc2Utc3ByaW5nLWJvdW5jeTogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS40KTstLWVhc2UtYm91bmNlOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upe2h0bWw6bm90KC5pcy13YW5kLWFwcCkgKixodG1sOm5vdCguaXMtd2FuZC1hcHApICo6YmVmb3JlLGh0bWw6bm90KC5pcy13YW5kLWFwcCkgKjphZnRlcnthbmltYXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnQ7c2Nyb2xsLWJlaGF2aW9yOmF1dG8haW1wb3J0YW50fX06cm9vdHstLWFwcC1pbnNldC10b3A6IDBweDstLWFwcC1pbnNldC1ib3R0b206IDBweDstLWFwcC1pbnNldC1sZWZ0OiAwcHg7LS1hcHAtaW5zZXQtcmlnaHQ6IDBweDstLXdhbmQtc2FmZS10b3A6IG1heCh2YXIoLS1hcHAtaW5zZXQtdG9wKSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpOy0td2FuZC1zYWZlLWJvdHRvbTogbWF4KHZhcigtLWFwcC1pbnNldC1ib3R0b20pLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7LS13YW5kLXNhZmUtbGVmdDogbWF4KHZhcigtLWFwcC1pbnNldC1sZWZ0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpKTstLXdhbmQtc2FmZS1yaWdodDogbWF4KHZhcigtLWFwcC1pbnNldC1yaWdodCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDBweCkpOy0tc2FmZS1ib3R0b206IHZhcigtLXdhbmQtc2FmZS1ib3R0b20pOy0taW5wdXQtc2FmZS1ib3R0b206IHZhcigtLXNhZmUtYm90dG9tKX0uaXMtd2FuZC1hcHB7LS13YW5kLXNhZmUtdG9wOiBtYXgodmFyKC0tYXBwLWluc2V0LXRvcCksIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpLCAzMnB4KTstLXdhbmQtc2FmZS1ib3R0b206IG1heCh2YXIoLS1hcHAtaW5zZXQtYm90dG9tKSwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCksIDBweCl9LmlzLXdhbmQtYXBwLW5hdGl2ZS1pbnNldHN7LS13YW5kLXNhZmUtdG9wOiAwcHg7LS13YW5kLXNhZmUtYm90dG9tOiAwcHg7LS13YW5kLXNhZmUtbGVmdDogMHB4Oy0td2FuZC1zYWZlLXJpZ2h0OiAwcHh9LmlzLXdhbmQtaW9zLmlzLWtleWJvYXJkLW9wZW57LS1pbnB1dC1zYWZlLWJvdHRvbTogMHB4fS5pcy13YW5kLWFwcCAuc2lkZWJhci1oZWFkZXIsaHRtbC5pcy13YW5kLWFwcCAuc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlcntwYWRkaW5nLXRvcDpjYWxjKDE0cHggKyB2YXIoLS13YW5kLXNhZmUtdG9wKSl9LmFwcC1jb250YWluZXJ7cGFkZGluZy10b3A6dmFyKC0td2FuZC1zYWZlLXRvcCl9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnNpZGViYXIsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLm1haW4taGVhZGVyLXJvdywuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuYmxhbmstY2hhdCwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAuZHJhd2VyLWJhY2tkcm9wLC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5maWxlLXBhbmVsLWJhY2tkcm9we2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLmFwcC1jb250YWluZXJ7cGFkZGluZy10b3A6MH1odG1sLmlzLXdhbmQtZW1iZWQtdGVybWluYWx7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7LS1lbWJlZC1wdHktYmc6ICMxNzEyMGZ9aHRtbC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsLGh0bWwuaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCBib2R5e2JhY2tncm91bmQ6dmFyKC0tZW1iZWQtcHR5LWJnKX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1sYXlvdXQsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLm1haW4tbGF5b3V0LnNpZGViYXItcGlubmVkLC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZC5zaWRlYmFyLWNvbGxhcHNlZHtwYWRkaW5nLWxlZnQ6MH0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAubWFpbi1jb250ZW50e2JhY2tncm91bmQ6dmFyKC0tZW1iZWQtcHR5LWJnKX0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtY29udGFpbmVye21hcmdpbjowO2JvcmRlci1yYWRpdXM6MDtib3JkZXI6MDtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowO2JhY2tncm91bmQ6dmFyKC0tZW1iZWQtcHR5LWJnKTtib3gtc2hhZG93Om5vbmV9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4sLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLWNvbnRhaW5lci5pbnRlcmFjdGl2ZXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1jb250YWluZXI6YWZ0ZXIsLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLXNjYWxlLW92ZXJsYXksLmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLnRlcm1pbmFsLXJlc2l6ZS1oYW5kbGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAudGVybWluYWwtc2Nyb2xsLXdyYXB7cGFkZGluZzo4cHggNHB4IDZweDstLXRlcm0tZm9udC1mYW1pbHk6ICJSb2JvdG8gTW9ubyIsICJEcm9pZCBTYW5zIE1vbm8iLCAiTm90byBTYW5zIE1vbm8iLCAiTm90byBTYW5zIFN5bWJvbHMgMiIsICJOb3RvIFNhbnMgU3ltYm9scyIsIG1vbm9zcGFjZTstLXRlcm0tZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7LS10ZXJtLXJvdy1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDstLXRlcm0tZmc6ICNmNWVhZGM7LS10ZXJtLWJnOiB0cmFuc3BhcmVudDstLXRlcm0tY3Vyc29yOiAjZDY3YjUyOy0tdGVybS1jb2xvci0wOiAjMWYxYjE3Oy0tdGVybS1jb2xvci0xOiAjZDI3NzY2Oy0tdGVybS1jb2xvci0yOiAjN2ZhMzZmOy0tdGVybS1jb2xvci0zOiAjZDVhMzViOy0tdGVybS1jb2xvci00OiAjODdhOWQ5Oy0tdGVybS1jb2xvci01OiAjYzU5NWM3Oy0tdGVybS1jb2xvci02OiAjN2ZiM2IxOy0tdGVybS1jb2xvci03OiAjZjVlYWRjOy0tdGVybS1jb2xvci04OiAjNjI1MzQ3Oy0tdGVybS1jb2xvci05OiAjZTM5YTg5Oy0tdGVybS1jb2xvci0xMDogIzljYzA4YTstLXRlcm0tY29sb3ItMTE6ICNlYmJiNmU7LS10ZXJtLWNvbG9yLTEyOiAjYThjMWVhOy0tdGVybS1jb2xvci0xMzogI2RiYjFkYzstLXRlcm0tY29sb3ItMTQ6ICM5YWNiY2E7LS10ZXJtLWNvbG9yLTE1OiAjZmZmN2VmfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC50ZXJtaW5hbC1zY3JvbGwtd3JhcCA6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiNkNjdiNTI0N30uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbC5pcy13YW5kLW5hdGl2ZS1pbnB1dCAuaW5wdXQtcGFuZWx7ZGlzcGxheTpub25lIWltcG9ydGFudH0uaXMtd2FuZC1lbWJlZC10ZXJtaW5hbCAud2FuZC1qb3lzdGljay1yb290e3otaW5kZXg6MTIwfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLXJvb3QudmlzaWJsZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLWJhY2tkcm9we3otaW5kZXg6MTIwfS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLWJhbGx7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtjb2xvcjojZmZmN2VmZjU7YmFja2dyb3VuZDojMjMxYzE4ZWI7Ym9yZGVyLWNvbG9yOiNmZmY3ZWYzZDtib3gtc2hhZG93OjAgMTBweCAyNnB4ICMwMDAwMDA2MSxpbnNldCAwIDFweCAjZmZmZmZmMWE7ei1pbmRleDoxMjN9LmlzLXdhbmQtZW1iZWQtdGVybWluYWwgLndhbmQtam95c3RpY2stYmFsbC5wYW5lbC1vcGVuLC5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLWJhbGw6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxLjA0KTtiYWNrZ3JvdW5kOiMxZDE3MTRmYTtib3JkZXItY29sb3I6I2ZmZjdlZjU3fS5pcy13YW5kLWVtYmVkLXRlcm1pbmFsIC53YW5kLWpveXN0aWNrLXBhbmVse3otaW5kZXg6MTI0O2JhY2tncm91bmQ6IzFkMTcxNGZhO2JvcmRlci1jb2xvcjojZmZmN2VmMmU7Ym94LXNoYWRvdzowIDE4cHggNDBweCAjMDAwMDAwNmIsaW5zZXQgMCAxcHggI2ZmZmZmZjE0fWh0bWwubm8tdHJhbnNpdGlvbixodG1sLm5vLXRyYW5zaXRpb24gKixodG1sLm5vLXRyYW5zaXRpb24gKjpiZWZvcmUsaHRtbC5uby10cmFuc2l0aW9uICo6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9Kntib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjA7cGFkZGluZzowfWh0bWx7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5O21pbi1oZWlnaHQ6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmNmYxZTh9Ym9keXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AgbGVmdCxyZ2JhKDIwOCwxMzgsOTIsLjE4KSx0cmFuc3BhcmVudCAzNSUpLHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tIHJpZ2h0LHJnYmEoMTQ4LDEwNyw3NCwuMSksdHJhbnNwYXJlbnQgNDAlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmYmY3ZjEsI2Y2ZjFlOCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTttaW4taGVpZ2h0OjEwMHZoO21pbi1oZWlnaHQ6MTAwZHZoO2hlaWdodDoxMDB2aDtoZWlnaHQ6MTAwZHZoO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO292ZXJmbG93OmhpZGRlbn06Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweDtoZWlnaHQ6OHB4fTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NDA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU2Nn06Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fTo6c2VsZWN0aW9ue2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LXNvZnQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5pbnB1dC10ZXh0YXJlYTo6c2VsZWN0aW9ue2JhY2tncm91bmQ6IzRmN2E1ODQ3O2NvbG9yOiMyNDE2MGZ9LmlucHV0LXRleHRhcmVhOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOiM0ZjdhNTg0Nztjb2xvcjojMjQxNjBmfS5jaGF0LW1lc3NhZ2UudXNlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZTo6c2VsZWN0aW9ue2JhY2tncm91bmQ6I2ZmZmZmZjUyO2NvbG9yOiNmZmZ9LmFwcC1jb250YWluZXJ7LS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoOiB2YXIoLS1maWxlLXBhbmVsLXdpZHRoKTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOmZpeGVkO3RvcDp2YXIoLS1hcHAtdmlld3BvcnQtdG9wLCAwcHgpO2xlZnQ6MDtyaWdodDowO2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpO292ZXJmbG93OmhpZGRlbn0uZmxvYXRpbmctc2lkZWJhci10b2dnbGV7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MDtiYWNrZ3JvdW5kOiNmZmZiZjVkOTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMnB4IDhweCAjMDAwMDAwMGY7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXttYXJnaW4tcmlnaHQ6MnB4fS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZXtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0b30ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZSAuaGFtYnVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMyl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCkgcm90YXRlKC00NWRlZyl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYmY1ZjI7Ym94LXNoYWRvdzowIDNweCAxMnB4ICMwMDAwMDAxYX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mil9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlOmhvdmVyIC5oYW1idXJnZXItaWNvbiBzcGFuLC5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVyIC5oYW1idXJnZXItaWNvbiBzcGFue2JhY2tncm91bmQ6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYmY1ZjI7Ym94LXNoYWRvdzowIDNweCAxMnB4ICMwMDAwMDAxYX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZle29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2V9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkyKX0uaGFtYnVyZ2VyLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5oYW1idXJnZXItaWNvbiBzcGFue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSxvcGFjaXR5IC4ycyBlYXNlLGJhY2tncm91bmQgLjE1cyBlYXNlO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbntiYWNrZ3JvdW5kOnZhcigtLXRleHQtcHJpbWFyeSl9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZSAuaGFtYnVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KSByb3RhdGUoNDVkZWcpfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpfS50b3BiYXItbG9nby1pY29ue3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNkNDc4NWEsI2I4NTczYSwjYTA0YTJlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2JveC1zaGFkb3c6MCAxcHggNHB4ICNiODVjMzc0MCxpbnNldCAwIDFweCAjZmZmMztsZXR0ZXItc3BhY2luZzotLjAyZW07ZmxleC1zaHJpbms6MH0uc3RhdHVzLWRvdHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5zdGF0dXMtZG90LmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6MCAwIDhweCB2YXIoLS1zdWNjZXNzKX0ubWFpbi1sYXlvdXR7ZGlzcGxheTpmbGV4O2ZsZXg6MTttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDowO3RyYW5zaXRpb246cGFkZGluZy1sZWZ0IHZhcigtLXRyYW5zaXRpb24tbm9ybWFsKX0uc2lkZWJhci1vcGVuOm5vdCguc2lkZWJhci1waW5uZWQpIC5pbnB1dC1wYW5lbHtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZHtwYWRkaW5nLWxlZnQ6dmFyKC0tc2lkZWJhci13aWR0aCk7dHJhbnNpdGlvbjpwYWRkaW5nLWxlZnQgLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZCAuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7ZGlzcGxheTpub25lfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZC5zaWRlYmFyLWNvbGxhcHNlZHtwYWRkaW5nLWxlZnQ6dmFyKC0tc2lkZWJhci1jb2xsYXBzZWQtd2lkdGgpfS5kcmF3ZXItYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDt6LWluZGV4OjQ0O2JhY2tncm91bmQ6dmFyKC0tYmctb3ZlcmxheSk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgdmFyKC0tZWFzZS1pbi1vdXQtc21vb3RoKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS5kcmF3ZXItYmFja2Ryb3Aub3BlbntvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpfS5zaWRlYmFye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtib3R0b206MDt6LWluZGV4OjQ1O3dpZHRoOm1pbih2YXIoLS1zaWRlYmFyLXdpZHRoKSxjYWxjKDEwMHZ3IC0gMjBweCkpO21heC13aWR0aDo5MHZ3O2JhY2tncm91bmQ6I2ZmZmJmNWY1O2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzo0cHggMCAzMnB4ICM1OTNhMjAxNDt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJveC1zaGFkb3cgLjM1cyBlYXNlLG9wYWNpdHkgLjI1cyBlYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfS5zaWRlYmFyLm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtib3gtc2hhZG93OjhweCAwIDQwcHggIzU5M2EyMDI2O3BvaW50ZXItZXZlbnRzOmF1dG87b3BhY2l0eToxfS5zaWRlYmFyLnBpbm5lZHt0cmFuc2Zvcm06dHJhbnNsYXRlKDApO3BvaW50ZXItZXZlbnRzOmF1dG87b3BhY2l0eToxO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOndpZHRoIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZX0uc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLnNpZGViYXItY2xvc2V7ZGlzcGxheTpub25lfS5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWR7d2lkdGg6dmFyKC0tc2lkZWJhci1jb2xsYXBzZWQtd2lkdGgpfS5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVye3BhZGRpbmc6MTRweCA4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MH0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1tYWluLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVyLW1vcmUsLnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1waW4tdG9nZ2xlLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItZm9vdGVye2Rpc3BsYXk6bm9uZX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1hY3Rpb25ze2dhcDowO3dpZHRoOjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWJvZHl7cGFkZGluZzo4cHggNHB4O292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbn0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjB9LnNpZGViYXItY29sbGFwc2VkLXRpbGVze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDthbGlnbi1pdGVtczpjZW50ZXJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjExcHg7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMzIpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZDQ3ODVhLCNiODU3M2EsI2EwNGEyZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2xldHRlci1zcGFjaW5nOi0uMDFlbTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDtib3gtc2hhZG93OjAgMXB4IDJweCAjYjg1YzM3MzgsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3O3RyYW5zaXRpb246ZmlsdGVyIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyAuMjJzIGVhc2UsdHJhbnNmb3JtIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnNpZGViYXItY29sbGFwc2VkLXRpbGU6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNik7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMHB4IC0zcHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmY1Mn0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hZGR7YmFja2dyb3VuZDojYjg1YzM3MGY7Ym9yZGVyOjEuNXB4IGRhc2hlZCByZ2JhKDE4NCw5Miw1NSwuNSk7Y29sb3I6I2EwNGEyZTtib3gtc2hhZG93Om5vbmU7bWFyZ2luLXRvcDoycHh9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYWRkOmhvdmVye2ZpbHRlcjpub25lO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JhY2tncm91bmQ6I2I4NWMzNzFmO2JvcmRlci1jb2xvcjojYjg1YzM3Yjg7Ym94LXNoYWRvdzowIDNweCA4cHggLTNweCAjYjg1YzM3NTJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYWRkOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguOTQpfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2QyNzM1OCwjYjM1NDM0LCM5MzQxMjgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCAwIDAgMnB4ICNjNTY1M2Q0ZCwwIDVweCAxNHB4IC00cHggI2EwNGEyZTczLGluc2V0IDAgMXB4ICNmZmY2fS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguOTQpO3RyYW5zaXRpb24tZHVyYXRpb246LjA4c30uc2lkZWJhci10aWxlLWJ1YmJsZXtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MzIwcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzo5cHggMTNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2ZmZmJmNWZjLCNmY2Y0ZTlmYyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlLCByZ2JhKDEyMCwgODgsIDU2LCAuMTgpKTtib3JkZXItcmFkaXVzOjE0cHg7Ym94LXNoYWRvdzowIDZweCAyNHB4IC00cHggIzU5M2EyMDM4LDAgMnB4IDZweCAjNTkzYTIwMTQsaW5zZXQgMCAxcHggI2ZmZmZmZmE2O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDY7Y29sb3I6IzM4MjQxMmViO3otaW5kZXg6MjAwO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTRweCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlLW91dC1leHBvLCBlYXNlKTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCkgc2F0dXJhdGUoMTYwJSl9LnNpZGViYXItdGlsZS1idWJibGUudmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0uc2lkZWJhci10aWxlLWJ1YmJsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi02cHg7dG9wOnZhcigtLWJ1YmJsZS10YWlsLXksIDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTt3aWR0aDoxMXB4O2hlaWdodDoxMXB4O2JhY2tncm91bmQ6aW5oZXJpdDtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSwgcmdiYSgxMjAsIDg4LCA1NiwgLjE4KSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSwgcmdiYSgxMjAsIDg4LCA1NiwgLjE4KSk7Ym94LXNoYWRvdzotMnB4IDJweCA1cHggLTJweCAjNTkzYTIwMTR9LnNpZGViYXItY29sbGFwc2UtdG9nZ2xle2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWNvbGxhcHNlLXRvZ2dsZS5jb2xsYXBzZWR7Y29sb3I6dmFyKC0tcHJpbWFyeSl9LnNpZGViYXItcGluLXRvZ2dsZXtmbGV4LXNocmluazowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSx0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLXBpbi10b2dnbGUucGlubmVke2JhY2tncm91bmQ6I2M1NjUzZDFmO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnNpZGViYXItaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMnB4IDE0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDojZmZmYmY1Y2M7ZmxleC1zaHJpbms6MDttaW4taGVpZ2h0OjUycHg7Z2FwOjEwcHh9LnNpZGViYXItaGVhZGVyLW1haW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O21pbi13aWR0aDowO2ZsZXg6MX0uc2lkZWJhci1oZWFkZXItYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7ZmxleC1zaHJpbms6MH0uc2lkZWJhci1oZWFkZXItbW9yZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyA2cHgpO3JpZ2h0OjA7bWluLXdpZHRoOjE1MHB4O2JhY2tncm91bmQ6I2ZmZmJmNWZhO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JveC1zaGFkb3c6MCA0cHggMjBweCAjNTkzYTIwMWY7cGFkZGluZzo0cHg7ei1pbmRleDo2MH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cub3BlbntkaXNwbGF5OmJsb2NrO2FuaW1hdGlvbjpmYWRlU2xpZGVEb3duIC4xNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt3aWR0aDoxMDAlO3BhZGRpbmc6OXB4IDEycHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjZweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Nyl9QGtleWZyYW1lcyBmYWRlU2xpZGVEb3duezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5zaWRlYmFyLWxvZ291dHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItbG9nb3V0OmhvdmVye29wYWNpdHk6MTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnNpZGViYXItc3dpdGNoLXNlcnZlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItc3dpdGNoLXNlcnZlcjpob3ZlcntvcGFjaXR5OjE7Y29sb3I6dmFyKC0tcHJpbWFyeSwgdmFyKC0tdGV4dC1zZWNvbmRhcnkpKX0ubG9naW4tc3dpdGNoLXNlcnZlcnttYXJnaW4tdG9wOjEwcHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0ubG9naW4tc3dpdGNoLXNlcnZlciBzdmd7b3BhY2l0eTouNzV9LmxvZ2luLXN3aXRjaC1zZXJ2ZXI6aG92ZXJ7Y29sb3I6dmFyKC0tcHJpbWFyeSwgdmFyKC0tdGV4dC1wcmltYXJ5KSl9LnNpZGViYXItdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4LXNocmluazowfS5zZXNzaW9uLWNvdW50e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC13ZWlnaHQ6NjAwfS5zaWRlYmFyLWNsb3Nle2ZsZXgtc2hyaW5rOjB9LmZpbGUtZXhwbG9yZXJ7ZmxleDoxO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjhweCAwO21pbi1oZWlnaHQ6MH0uZmlsZS1leHBsb3Jlci5lbXB0eXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoyNHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmlsZS10cmVle2ZvbnQtc2l6ZTouODEyNXJlbX0udHJlZS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjRweCAxMnB4O2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NnB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS50cmVlLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZmZmZiMywjZmZmY2Y3NjYpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZmIzfS50cmVlLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3ZWIsI2ZmZjRlOGJmKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICNjNTY1M2QzOCwwIDNweCAxMHB4IC0zcHggI2M1NjUzZDQwLGluc2V0IDAgMXB4ICNmZmZmZmZkOX0udHJlZS10b2dnbGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50cmVlLXRvZ2dsZS5vcGVue3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS50cmVlLXRvZ2dsZS5lbXB0eXt2aXNpYmlsaXR5OmhpZGRlbn0udHJlZS1pY29ue2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOjFyZW07bWFyZ2luLXJpZ2h0OjZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS50cmVlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZmxleDoxO21pbi13aWR0aDowfS50cmVlLWNoaWxkcmVue2Rpc3BsYXk6bm9uZX0udHJlZS1jaGlsZHJlbi5vcGVue2Rpc3BsYXk6YmxvY2t9LmZpbGUtZXhwbG9yZXItaGVhZGVye3BhZGRpbmc6MTBweCAxNHB4IDZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC1zaHJpbms6MDtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47c2Nyb2xsYmFyLXdpZHRoOnRoaW59LmZpbGUtZXhwbG9yZXItcGF0aHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6MTttaW4td2lkdGg6MDtmb250LXdlaWdodDo1MDB9aW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoe2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6NnB4IDEwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MS4yO2N1cnNvcjp0ZXh0O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7b3V0bGluZTpub25lO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNn1pbnB1dC5maWxlLWV4cGxvcmVyLXBhdGg6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9aW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmZvY3Vze2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0ZXh0LW92ZXJmbG93OmNsaXA7Ym94LXNoYWRvdzowIDAgMCAzcHggI2Q0OTg2MzFmfS5maWxlLWV4cGxvcmVyLXJlZnJlc2h7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxcmVtO3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5maWxlLWV4cGxvcmVyLXJlZnJlc2g6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5maWxlLXNpZGUtcGFuZWx7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6Y2FsYygtMSAqIHZhcigtLWZpbGUtcGFuZWwtd2lkdGgpKTt0b3A6MDtib3R0b206MDt3aWR0aDp2YXIoLS1maWxlLXBhbmVsLXdpZHRoKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3otaW5kZXg6NTU7dHJhbnNpdGlvbjpyaWdodCAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuM3MgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaGFkb3c6LTRweCAwIDI0cHggIzAwMDAwMDFhO3BhZGRpbmctdG9wOnZhcigtLXdhbmQtc2FmZS10b3ApO3BhZGRpbmctYm90dG9tOnZhcigtLXdhbmQtc2FmZS1ib3R0b20pfS5maWxlLXNpZGUtcGFuZWwub3BlbntyaWdodDowO2JveC1zaGFkb3c6LThweCAwIDMycHggIzU5M2EyMDI2fS5maWxlLXBhbmVsLWJhY2tkcm9we2Rpc3BsYXk6bm9uZX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuZmlsZS1wYW5lbC1iYWNrZHJvcHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMmExYzEyNGQ7ei1pbmRleDo1NDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KX0uZmlsZS1wYW5lbC1iYWNrZHJvcC5vcGVue29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS5zaWRlYmFyLXBpbi10b2dnbGV7ZGlzcGxheTpub25lfX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTJweCAxNHB4IDEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZmxleC1zaHJpbms6MDtnYXA6OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmNiwjZmZmMCl9LmZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWluLXdpZHRoOjA7ZmxleDoxfS5maWxlLXNpZGUtcGFuZWwtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLWFjY2VudCk7b3BhY2l0eTouODV9LmZpbGUtc2lkZS1wYW5lbC10aXRsZXtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDFlbX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlci1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmbGV4LXNocmluazowfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bnt3aWR0aDozMHB4O2hlaWdodDozMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX0uZmlsZS1zaWRlLXBhbmVsLWljb25idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNkNDk4NjM1OX0uZmlsZS1zaWRlLXBhbmVsLWljb25idG4uY2xvc2U6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiNkYzQ2NDYxNDtib3JkZXItY29sb3I6I2RjNDY0NjQwfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0biAud2FuZC1pY29ue2Rpc3BsYXk6YmxvY2t9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuOmhvdmVyIC53YW5kLWljb24tcmVmcmVzaHt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5maWxlLXNpZGUtcGFuZWwtYm9keXtmbGV4OjE7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufS5naXQtc3RhdHVzLWJhZGdle2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjFweCA1cHg7Ym9yZGVyLXJhZGl1czozcHg7bWluLXdpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZ2l0LWFkZGVke2JhY2tncm91bmQ6IzIyOGIyMjI2O2NvbG9yOiMyMjhiMjJ9LmdpdC1tb2RpZmllZHtiYWNrZ3JvdW5kOiNmZmE1MDAyNjtjb2xvcjpvcmFuZ2V9LmdpdC1kZWxldGVke2JhY2tncm91bmQ6I2RjMTQzYzI2O2NvbG9yOiNkYzE0M2N9LmdpdC1yZW5hbWVke2JhY2tncm91bmQ6IzQ2ODJiNDI2O2NvbG9yOiM0NjgyYjR9LmdpdC11bnN0YWdlZHtiYWNrZ3JvdW5kOiNmZjhjMDAyNjtjb2xvcjojZmY4YzAwfS5naXQtdW5zdGFnZWQtZGVsZXRlZHtiYWNrZ3JvdW5kOiNkYzE0M2MyNjtjb2xvcjojZGMxNDNjfS5naXQtdW50cmFja2Vke2JhY2tncm91bmQ6IzgwODA4MDI2O2NvbG9yOmdyYXl9LmZpbGUtc2VhcmNoLWJveHtwYWRkaW5nOjhweCAxMnB4IDEwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtmbGV4LXNocmluazowO3Bvc2l0aW9uOnJlbGF0aXZlfS5maWxlLXNlYXJjaC1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MjJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7b3BhY2l0eTouN30uZmlsZS1zZWFyY2gtaW5wdXR7ZmxleDoxO3BhZGRpbmc6N3B4IDMycHggN3B4IDMwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9LmZpbGUtc2VhcmNoLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym94LXNoYWRvdzowIDAgMCAzcHggI2Q0OTg2MzFmfS5maWxlLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmZpbGUtc2VhcmNoLWNsZWFye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzo0cHg7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2V9LmZpbGUtc2VhcmNoLWNsZWFyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmZpbGUtc2VhcmNoLWNsZWFyLnZpc2libGV7ZGlzcGxheTppbmxpbmUtZmxleH0uZmlsZS1zZWFyY2gtY2xlYXI6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zaWRlYmFyLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7bWluLWhlaWdodDowO292ZXJmbG93LXk6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2lkZWJhci1pbnRyb3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmbGV4LXNocmluazowfS5zZXNzaW9ucy1saXN0e2ZsZXg6MSAwIGF1dG87bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjEwcHggMTBweCAxMnB4fSNzZXNzaW9ucy1wYW5lbHtkaXNwbGF5OmNvbnRlbnRzfS5zZXNzaW9ucy1saXN0OmVtcHR5OmJlZm9yZXtjb250ZW50OiJcNjY4Mlw2NWUwXDRmMWFcOGJkZCI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6MjAwcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44NzVyZW19LnNlc3Npb24tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNHB4fS5zZXNzaW9uLWdyb3VwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zZXNzaW9uLWdyb3VwLXRpdGxle3BhZGRpbmc6NHB4IDZweCAxMHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHh9LnNlc3Npb24tZ3JvdXAtdGl0bGU6YmVmb3Jle2NvbnRlbnQ6IiI7d2lkdGg6M3B4O2hlaWdodDoxMnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtvcGFjaXR5Oi42NTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0uY2xhdWRlLWhpc3RvcnktcHJldmlld3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNlc3Npb24taXRlbXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOiNmZmZjZjdlYjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTBweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3BhZGRpbmc6MTBweCAxMnB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLHRyYW5zZm9ybSAuMXMgZWFzZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO21hcmdpbi1ib3R0b206NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1pdGVtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6NnB4O2JvdHRvbTo2cHg7d2lkdGg6M3B4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWSgwKTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtib3JkZXItcmFkaXVzOjJweH0uc2Vzc2lvbi1pdGVtLXJvd3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnNlc3Npb24taXRlbS1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6aW5oZXJpdDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksYmFja2dyb3VuZCAuMThzIGVhc2U7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5zZXNzaW9uLWl0ZW0uc3dpcGVkIC5zZXNzaW9uLWl0ZW0tY29udGVudHt0cmFuc2Zvcm06dHJhbnNsYXRlKC03MnB4KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2Y1LCNmY2Y2ZWRmMCl9LnNlc3Npb24tc3dpcGUtYmd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMThzIGVhc2V9LnNlc3Npb24taXRlbS5zd2lwZWQgLnNlc3Npb24tc3dpcGUtYmd7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnNlc3Npb24tc3dpcGUtZGVsZXRle3dpZHRoOjcycHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDozcHg7Zm9udDppbmhlcml0O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXJ9LnNlc3Npb24tc3dpcGUtZGVsZXRlIHN2Z3tmbGV4LXNocmluazowfS5zZXNzaW9uLW1hbmFnZS1jaGVja3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW4tcmlnaHQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcn0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgc3Bhbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtiYWNrZ3JvdW5kOiNmZmZiZjU4Yztib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmY2O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlfS5zZXNzaW9uLW1hbmFnZS1jaGVjazpob3ZlciBzcGFue2JhY2tncm91bmQ6I2ZmZmJmNWNjO2JvcmRlci1jb2xvcjojN2Q1YjM5NTl9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbjphZnRlcntjb250ZW50OiJcMjcxMyI7Y29sb3I6I2ZmZjtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjcwMH0uc2Vzc2lvbi1pdGVtLnNlbGVjdGVke2JvcmRlci1jb2xvcjojYzU2NTNkNTk7YmFja2dyb3VuZDojZmZmNWVlZjV9LnNlc3Npb24taXRlbS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9QGtleWZyYW1lcyBzZXNzaW9uLWRlbGV0ZS1jb2xsYXBzZXt0b3ttYXgtaGVpZ2h0OjA7b3BhY2l0eTowO21hcmdpbi1ib3R0b206MDtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7Ym9yZGVyLXdpZHRoOjB9fS5zZXNzaW9uLWl0ZW0uZGVsZXRpbmd7YW5pbWF0aW9uOnNlc3Npb24tZGVsZXRlLWNvbGxhcHNlIC4zcyBlYXNlLW91dCBmb3J3YXJkcztvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMjBweDtwb2ludGVyLWV2ZW50czpub25lfS5zZXNzaW9uLW1haW57ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjNweDtwYWRkaW5nLXJpZ2h0OjYwcHh9LnNlc3Npb24tdGl0bGUtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHh9LnNlc3Npb24tdGl0bGUtcm93IC5zZXNzaW9uLXRpdGxlLC5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi1jb21tYW5ke2ZsZXg6MTttaW4td2lkdGg6MH0uc2Vzc2lvbi10aW1le2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZy10b3A6MXB4fS5zZXNzaW9uLWFjdGl2aXR5e2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS1hY2NlbnQpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsaW5lLWhlaWdodDoxLjM7b3BhY2l0eTouODV9LnNlc3Npb24tZGVzY3JpcHRpb257Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsaW5lLWhlaWdodDoxLjM1fS5zZXNzaW9uLXJlY292ZXJ5LWhpbnR7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDojOTY3NjU1MTQ7cGFkZGluZzoxcHggNXB4O2JvcmRlci1yYWRpdXM6M3B4fS5zZXNzaW9uLWFjdGlvbnN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmbGV4LXNocmluazowfS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4taGVpZ2h0OjI4cHg7bWluLXdpZHRoOjI4cHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6LjgxMjVyZW07YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcn0uc2Vzc2lvbi1hY3Rpb24tYnRuOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTFhO2NvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24tYWN0aW9uLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uc2Vzc2lvbi1hY3Rpb24tYnRuIHN2Z3tmbGV4LXNocmluazowfS5zZXNzaW9uLWFjdGlvbi1idG4uZGVsZXRlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNlNzRjM2MxNDtjb2xvcjojZDM1MjQ0fS5zZXNzaW9uLWFjdGlvbi1idG4ubWVyZ2UtYnRuOmhvdmVye2JhY2tncm91bmQ6IzJmODBlZDFhO2NvbG9yOiMyZjgwZWR9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZXtiYWNrZ3JvdW5kOiMyZjgwZWQxZjtjb2xvcjojMmY4MGVkfS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UuZmFpbGVke2JhY2tncm91bmQ6I2U3NGMzYzFmO2NvbG9yOiNkMzUyNDR9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZS5tZXJnZWR7YmFja2dyb3VuZDojMjdhZTYwMWY7Y29sb3I6IzIxOTY1M30uc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdlLm1lcmdpbmcsLnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZS5jaGVja2luZ3tiYWNrZ3JvdW5kOiNmMjk5NGExZjtjb2xvcjojYzE3YzJifS53b3JrdHJlZS1tZXJnZS1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9Lndvcmt0cmVlLW1lcmdlLXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjE2cHg7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmZmZmODA7Zm9udC1zaXplOi44NzVyZW19Lndvcmt0cmVlLW1lcmdlLXJvdyBzcGFue2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0ud29ya3RyZWUtbWVyZ2Utcm93IHN0cm9uZ3tjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3dvcmQtYnJlYWs6YnJlYWstYWxsO3RleHQtYWxpZ246cmlnaHR9Lndvcmt0cmVlLW1lcmdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6MTBweDttYXJnaW4tdG9wOjE2cHh9Lndvcmt0cmVlLW1lcmdlLW1vZGFse21heC13aWR0aDo2MjBweH0ubW9kYWwtc3VidGl0bGV7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLWFjdGlvbi1idG5bZGlzYWJsZWRde29wYWNpdHk6LjQ1O2N1cnNvcjpub3QtYWxsb3dlZH0uc2Vzc2lvbi1hY3Rpb24tYnRuW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS53b3JrdHJlZS1tZXJnZS1hY3Rpb25zIC5idG5bZGlzYWJsZWRde29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS53b3JrdHJlZS1tZXJnZS1hY3Rpb25zIC5idG5bZGlzYWJsZWRdOmhvdmVyLC53b3JrdHJlZS1tZXJnZS1hY3Rpb25zIC5idG5bZGlzYWJsZWRdOmFjdGl2ZXt0cmFuc2Zvcm06bm9uZX0ud29ya3RyZWUtbWVyZ2UtYWN0aW9ucyAuYnRue21pbi13aWR0aDoxMjBweH0ud29ya3RyZWUtbWVyZ2UtbW9kYWwgLm1vZGFsLWJvZHl7bWluLWhlaWdodDoyNjBweH0ud29ya3RyZWUtbWVyZ2UtbW9kYWwgLmVycm9yLW1lc3NhZ2V7bWFyZ2luLXRvcDoxMnB4fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50e21hcmdpbi10b3A6MH0ud29ya3RyZWUtbWVyZ2Utcm93Ky5maWVsZC1oaW50e21hcmdpbi10b3A6MnB4fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50Ky5maWVsZC1oaW50e21hcmdpbi10b3A6NHB4fS53b3JrdHJlZS1tZXJnZS1tb2RhbCAubW9kYWwtc3VidGl0bGV7bWF4LXdpZHRoOjQyMHB4fS53b3JrdHJlZS1tZXJnZS1tb2RhbCBzdHJvbmd7Zm9udC13ZWlnaHQ6NjAwfS53b3JrdHJlZS1tZXJnZS1tb2RhbCAubW9kYWwtaGVhZGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgcHttYXJnaW46MH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludCBzdHJvbmd7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ud29ya3RyZWUtbWVyZ2Utcm93IHN0cm9uZzplbXB0eTphZnRlcntjb250ZW50OiItIjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludCBjb2Rle2ZvbnQtZmFtaWx5OmluaGVyaXR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQ6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lndvcmt0cmVlLW1lcmdlLXJvdzpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjJweH0ud29ya3RyZWUtbWVyZ2Utcm93Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50Lm11dGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50LmVycm9ye2NvbG9yOiNkMzUyNDR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQuc3VjY2Vzc3tjb2xvcjojMjE5NjUzfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50Lndhcm5pbmd7Y29sb3I6I2MxN2MyYn0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludC5pbmZve2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludCsud29ya3RyZWUtbWVyZ2Utcm93e21hcmdpbi10b3A6MnB4fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3crLndvcmt0cmVlLW1lcmdlLXJvd3ttYXJnaW4tdG9wOjB9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyBzdHJvbmcgc21hbGx7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyBzdHJvbmcgY29kZSwud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IHNwYW4gY29kZXtmb250LWZhbWlseTppbmhlcml0fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgY29kZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IGVte2ZvbnQtc3R5bGU6bm9ybWFsO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgc21hbGwsLndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAubXV0ZWR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAud2FybmluZ3tjb2xvcjojYzE3YzJifS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnN1Y2Nlc3N7Y29sb3I6IzIxOTY1M30ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5lcnJvcntjb2xvcjojZDM1MjQ0fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmluZm97Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLm1vbm9zcGFjZXtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLG1vbm9zcGFjZX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5zbWFsbHtmb250LXNpemU6LjgxMjVyZW19Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAubm9ybWFse2ZvbnQtc2l6ZTouODc1cmVtfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmJsb2Nre2Rpc3BsYXk6YmxvY2t9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuaW5saW5le2Rpc3BsYXk6aW5saW5lfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmZsZXh7ZGlzcGxheTpmbGV4fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmdyaWR7ZGlzcGxheTpncmlkfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHh9QG1lZGlhKGhvdmVyOmhvdmVyKXsuc2Vzc2lvbi1pdGVtIC5zZXNzaW9uLWFjdGlvbnN7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZX0uc2Vzc2lvbi1pdGVtOmhvdmVyIC5zZXNzaW9uLWFjdGlvbnMsLnNlc3Npb24taXRlbS5hY3RpdmUgLnNlc3Npb24tYWN0aW9ucywuc2Vzc2lvbi1pdGVtLnN3aXBlZCAuc2Vzc2lvbi1hY3Rpb25ze29wYWNpdHk6MX0uc2Vzc2lvbi1pdGVtIC5zZXNzaW9uLWFjdGlvbnM6aGFzKC5zZXNzaW9uLWFjdGlvbi1idG5bZGF0YS1hY3Rpb249cmVzdW1lXSl7b3BhY2l0eToxfX1AbWVkaWEoaG92ZXI6bm9uZSl7LnNlc3Npb24taXRlbSAuc2Vzc2lvbi1hY3Rpb25ze29wYWNpdHk6MX19LnNlc3Npb24taXRlbTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZkZmFmNTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JveC1zaGFkb3c6MCAycHggOHB4ICM1OTNhMjAxMn0uc2Vzc2lvbi1pdGVtOmhvdmVyOmJlZm9yZXtvcGFjaXR5Oi41O3RyYW5zZm9ybTpzY2FsZVkoMSl9LnNlc3Npb24taXRlbS5hY3RpdmV7YmFja2dyb3VuZDojZmZmN2YwZjU7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q0ZDtib3gtc2hhZG93OjAgMnB4IDhweCAjYzU2NTNkMWF9LnNlc3Npb24taXRlbTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45OSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9LnNlc3Npb24tY29tbWFuZHtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5zZXNzaW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6LjgxMjVyZW07d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO2xpbmUtaGVpZ2h0OjEuM30uc2Vzc2lvbi1tZXRhe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7ZmxleC13cmFwOndyYXB9LnNlc3Npb24tc3RhdHVze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6LjY4NzVyZW07dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2Vzc2lvbi1zdGF0dXMtZG90e3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tc3RhdHVzLnJ1bm5pbmcgLnNlc3Npb24tc3RhdHVzLWRvdHtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6MCAwIDVweCB2YXIoLS1zdWNjZXNzLWdsb3cpO2FuaW1hdGlvbjpzdGF0dXMtcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnNlc3Npb24tc3RhdHVzLmV4aXRlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCl9LnNlc3Npb24tc3RhdHVzLmZhaWxlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1zdGF0dXMuc3RvcHBlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0td2FybmluZyl9LnNlc3Npb24tc3RhdHVzLnJ1bm5pbmd7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1zdGF0dXMuZmFpbGVke2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy5zdG9wcGVke2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LnNlc3Npb24tc3RhdHVzLnBlcm1pc3Npb24tYmxvY2tlZHtiYWNrZ3JvdW5kOiNmMGE1MDAyNDtjb2xvcjojZDE4YjAwfS5zZXNzaW9uLXN0YXR1cy5leGl0ZWQsLnNlc3Npb24tc3RhdHVzLmFyY2hpdmVke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfUBrZXlmcmFtZXMgc3RhdHVzLXB1bHNlezAlLHRve29wYWNpdHk6MX01MCV7b3BhY2l0eTouNX19LnNlc3Npb24taWR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM5Njc2NTUxZjtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC13ZWlnaHQ6NTAwfS5zaWRlYmFyLWZvb3RlcntwYWRkaW5nOjEycHggMTJweCAxNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7YmFja2dyb3VuZDojZmZmYmY1YjN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDU2cHgsMWZyKSk7Z2FwOjRweH0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo3cHggNHB4O21pbi1oZWlnaHQ6NDZweDtib3JkZXItcmFkaXVzOjlweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3Zne3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NTt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDojOTY3NjU1MTQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjpob3ZlciBzdmd7b3BhY2l0eToxfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXR7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLnNpZGViYXItbG9nb3V0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTNweDt0b3A6MjIlO2JvdHRvbToyMiU7d2lkdGg6MXB4O2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLXN1YnRsZSk7cG9pbnRlci1ldmVudHM6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6aG92ZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLnNpZGViYXItbG9nb3V0OmhvdmVyIHN2Z3tjb2xvcjp2YXIoLS1kYW5nZXIpfS50b3BiYXItYnRue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjVweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtoZWlnaHQ6MzJweDttaW4taGVpZ2h0OjMycHg7d2hpdGUtc3BhY2U6bm93cmFwO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS50b3BiYXItYnRuOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjgwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpfS50b3BiYXItYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOiNmZmZmZmZiMztjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjYwMDtib3gtc2hhZG93OjAgMXB4IDRweCAjNTkzYTIwMWF9LnRvcGJhci1idG4uc3F1YXJle3dpZHRoOjMycHg7cGFkZGluZzowO2ZvbnQtc2l6ZTouODc1cmVtfSN0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6I2M1NjUzZDMzfSN0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QyZX0uYnRue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAwNWVtO3BhZGRpbmc6MCAxNnB4O2hlaWdodDozOHB4O21pbi1oZWlnaHQ6MzhweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLGJvcmRlci1jb2xvciAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bjpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1iZy1wcmltYXJ5KSwwIDAgMCA0cHggdmFyKC0tYWNjZW50KX0uYnRuOmRpc2FibGVkLC5idG5bZGlzYWJsZWRde29wYWNpdHk6LjQ1O2N1cnNvcjpub3QtYWxsb3dlZDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50LWhvdmVyKSAwJSx2YXIoLS1hY2NlbnQpIDEwMCUpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSk7Ym94LXNoYWRvdzowIDFweCAycHggI2M1NjUzZDUyLDAgNHB4IDEwcHggLTJweCAjYzU2NTNkNTIsaW5zZXQgMCAxcHggI2ZmZmZmZjM4LGluc2V0IDAgLTFweCAjNTkzYTIwMmV9LmJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZDY4NTVlIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDJweCA0cHggI2M1NjUzZDUyLDAgOHB4IDIwcHggLTRweCAjYzU2NTNkNjYsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3LGluc2V0IDAgLTFweCAjNTkzYTIwMmV9LmJ0bi1wcmltYXJ5OmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSAwJSx2YXIoLS1hY2NlbnQtYWN0aXZlKSAxMDAlKTtib3gtc2hhZG93OjAgMXB4IDJweCAjYzU2NTNkNDcsaW5zZXQgMCAxcHggIzU5M2EyMDJlO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLXNlY29uZGFyeXtiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkyNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5idG4tc2Vjb25kYXJ5OmFjdGl2ZXtiYWNrZ3JvdW5kOiM3ZDViMzkzMzt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LmJ0bi1naG9zdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5idG4tZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQ6IzdkNWIzOTI0O3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLWRhbmdlcntiYWNrZ3JvdW5kOiNiMjRmNDUxNDtjb2xvcjp2YXIoLS1kYW5nZXIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUyOTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5idG4tZGFuZ2VyOmFjdGl2ZXtiYWNrZ3JvdW5kOiNiMjRmNDUzZDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LmJ0bi1kYW5nZXI6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1iZy1wcmltYXJ5KSwwIDAgMCA0cHggdmFyKC0tZGFuZ2VyKX0uYnRuLXN1Y2Nlc3N7YmFja2dyb3VuZDojNGY3YTU4MWE7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kOiM0ZjdhNTgyZTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uYnRuLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQ6IzRmN2E1ODQyO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLXN1Y2Nlc3M6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1iZy1wcmltYXJ5KSwwIDAgMCA0cHggdmFyKC0tc3VjY2Vzcyl9LmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5idG4teHN7aGVpZ2h0OjI2cHg7bWluLWhlaWdodDoyNnB4O3BhZGRpbmc6MCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07Ym9yZGVyLXJhZGl1czo3cHg7Z2FwOjRweH0uYnRuLXNte2hlaWdodDozMnB4O21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6LjgxMjVyZW07Ym9yZGVyLXJhZGl1czo4cHg7Z2FwOjVweH0uYnRuLWljb257cGFkZGluZzowO3dpZHRoOjM2cHg7bWluLXdpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6OHB4O2dhcDowfS5idG4taWNvbi5idG4tc217d2lkdGg6MzBweDttaW4td2lkdGg6MzBweDtoZWlnaHQ6MzBweDttaW4taGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo3cHh9LmJ0bi1pY29uIHN2Z3tmbGV4LXNocmluazowfS5tYWluLWNvbnRlbnR7ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7bWluLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5tYWluLWNvbnRlbnQuZmlsZS1wYW5lbC1vcGVue21hcmdpbi1yaWdodDp2YXIoLS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoKTt0cmFuc2l0aW9uOm1hcmdpbi1yaWdodCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS50ZXJtaW5hbC1pbmZve2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjUwMH0ubWFpbi1oZWFkZXItcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzo2cHggMTBweDtmbGV4LXNocmluazowO21pbi1oZWlnaHQ6NDRweDtnYXA6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5tYWluLWhlYWRlci1yb3c6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC44NSkgMzUlLHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwxKSA1MCUscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC44NSkgNjUlLHRyYW5zcGFyZW50IDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMjAlIDEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIGNlbnRlcjtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZX0ubWFpbi1oZWFkZXItcm93LmlzLXJ1bm5pbmc6YWZ0ZXJ7b3BhY2l0eToxO2FuaW1hdGlvbjp0b3BiYXJQcm9ncmVzc0Zsb3cgMS42cyBsaW5lYXIgaW5maW5pdGV9Lm1haW4taGVhZGVyLXJvdy5pcy1wZXJtaXNzaW9uLWJsb2NrZWQ6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgxNjksMTA2LDQ3LC44NSkgMzUlLHJnYmEoMTY5LDEwNiw0NywxKSA1MCUscmdiYSgxNjksMTA2LDQ3LC44NSkgNjUlLHRyYW5zcGFyZW50IDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMjAlIDEwMCU7YW5pbWF0aW9uLWR1cmF0aW9uOjIuNHN9QGtleWZyYW1lcyB0b3BiYXJQcm9ncmVzc0Zsb3d7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIGNlbnRlcn10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDAlIGNlbnRlcn19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubWFpbi1oZWFkZXItcm93LmlzLXJ1bm5pbmc6YWZ0ZXJ7YW5pbWF0aW9uOm5vbmU7b3BhY2l0eTouN319LnRvcGJhci1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXNocmluazowfS50b3BiYXItY2VudGVye2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7b3ZlcmZsb3c6aGlkZGVufS50b3BiYXItcmlnaHR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZsZXgtc2hyaW5rOjB9LnRvcGJhci1icmFuZHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCksdmFyKC0tYWNjZW50LWFjdGl2ZSkpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouODVyZW07bGV0dGVyLXNwYWNpbmc6LjAyZW07Ym94LXNoYWRvdzowIDFweCAzcHggIzU5M2EyMDJlO3VzZXItc2VsZWN0Om5vbmU7ZmxleC1zaHJpbms6MH0udG9wYmFyLXNlc3Npb24tdGl0bGV7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZmxleC1zaHJpbms6MDttYXgtd2lkdGg6MjQwcHh9LnRvcGJhci1jd2R7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43MnJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MDtmbGV4OjEgMSAwO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjZweDtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246bGVmdDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b3BiYXItY3dkOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NHB4fS50b3BiYXItY3dkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU0Nztib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0udG9wYmFyLWN3ZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1ODB9LnRvcGJhci1jd2Q6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmOGM7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS50YWlsLW1hcnF1ZWUtcGF0aHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOmJvdHRvbTstLXRhaWwtbWFycXVlZS1zaGlmdDogMHB4Oy0tdGFpbC1tYXJxdWVlLWR1cmF0aW9uOiAxMnM7LS10YWlsLW1hcnF1ZWUtZGVsYXk6IDIuNHN9LnRhaWwtbWFycXVlZS1wYXRoLWlubmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoLTEgKiB2YXIoLS10YWlsLW1hcnF1ZWUtc2hpZnQpKSl9LnRhaWwtbWFycXVlZS1wYXRoLmlzLW92ZXJmbG93aW5nIC50YWlsLW1hcnF1ZWUtcGF0aC1pbm5lcnthbmltYXRpb246dGFpbFBhdGhNYXJxdWVlIHZhcigtLXRhaWwtbWFycXVlZS1kdXJhdGlvbikgbGluZWFyIHZhcigtLXRhaWwtbWFycXVlZS1kZWxheSkgaW5maW5pdGUgYWx0ZXJuYXRlIGJvdGh9QGtleWZyYW1lcyB0YWlsUGF0aE1hcnF1ZWV7MCUsMjIle3RyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtMSAqIHZhcigtLXRhaWwtbWFycXVlZS1zaGlmdCkpKX03OCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsudGFpbC1tYXJxdWVlLXBhdGguaXMtb3ZlcmZsb3dpbmcgLnRhaWwtbWFycXVlZS1wYXRoLWlubmVye2FuaW1hdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoLTEgKiB2YXIoLS10YWlsLW1hcnF1ZWUtc2hpZnQpKSl9fS50b3BiYXItdGFnbGluZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljc4cmVtO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uc2Vzc2lvbi1zdGF0dXMtcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MnB4IDlweCAycHggN3B4O2ZsZXgtc2hyaW5rOjA7bWF4LXdpZHRoOjE0MHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24tc3RhdHVzLXBpbGwgLnNlc3Npb24tc3RhdHVzLWRvdHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tc3RhdHVzLXBpbGwgLnNlc3Npb24tc3RhdHVzLXRleHR7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnNlc3Npb24tc3RhdHVzLXBpbGwucnVubmluZ3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2JvcmRlci1jb2xvcjojNGY3YTU4NGQ7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnNlc3Npb24tc3RhdHVzLXBpbGwucnVubmluZyAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7YW5pbWF0aW9uOnRhc2stcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5wZXJtaXNzaW9uLWJsb2NrZWR7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtib3JkZXItY29sb3I6I2E5NmEyZjU5O2NvbG9yOnZhcigtLXdhcm5pbmcpfS5zZXNzaW9uLXN0YXR1cy1waWxsLnBlcm1pc3Npb24tYmxvY2tlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0td2FybmluZyk7YW5pbWF0aW9uOnRhc2stcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5leGl0ZWQsLnNlc3Npb24tc3RhdHVzLXBpbGwuc3RvcHBlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2JvcmRlci1jb2xvcjojYjI0ZjQ1NGQ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5mYWlsZWQgLnNlc3Npb24tc3RhdHVzLWRvdHtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcil9LnNlc3Npb24tc3RhdHVzLXBpbGwuYXJjaGl2ZWR7b3BhY2l0eTouN30uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtZWxhcHNlZHtmbGV4LXNocmluazowO21hcmdpbi1sZWZ0OjRweDtwYWRkaW5nLWxlZnQ6NnB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCBjdXJyZW50Q29sb3I7b3BhY2l0eTouNzU7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtmb250LXNpemU6LjY1cmVtO2xldHRlci1zcGFjaW5nOi0uMDFlbX0uY3VycmVudC10YXNre2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMik7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MnB4IDhweCAycHggNXB4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtd2lkdGg6MjQwcHg7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO2ZsZXgtc2hyaW5rOjE7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmN1cnJlbnQtdGFzazpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7ZmxleC1zaHJpbms6MDthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdGFzay1wdWxzZXswJSx0b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXtvcGFjaXR5Oi41O3RyYW5zZm9ybTpzY2FsZSguOCl9fS50b3BiYXItbW9yZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRvcGJhci1tb3JlLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMTAwJSArIDZweCk7cmlnaHQ6MDttaW4td2lkdGg6MTY4cHg7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO3BhZGRpbmc6NHB4O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKTt6LWluZGV4OjYwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjFweH0udG9wYmFyLW1vcmUtbWVudS5oaWRkZW57ZGlzcGxheTpub25lfS50b3BiYXItbW9yZS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo1MDA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvcGJhci1tb3JlLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCl9LnRvcGJhci1tb3JlLWl0ZW0gc3Zne2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTouODV9LnRvcGJhci1tb3JlLWl0ZW0udG9wYmFyLW1vcmUtaXRlbS1kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udG9wYmFyLW1vcmUtaXRlbS50b3BiYXItbW9yZS1pdGVtLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyLWhvdmVyKX0udG9wYmFyLW1vcmUtaXRlbS5oaWRkZW57ZGlzcGxheTpub25lfS50b3BiYXItbW9yZS1pdGVtW2Rpc2FibGVkXXtvcGFjaXR5Oi41O2N1cnNvcjpub3QtYWxsb3dlZH0udG9wYmFyLW1vcmUtaXRlbVtkaXNhYmxlZF06aG92ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS50b3BiYXItbW9yZS1kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjRweCA2cHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItZGVmYXVsdCk7b3BhY2l0eTouNn0udGVybWluYWwtY29udGFpbmVye2ZsZXg6MTtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCByaWdodCxyZ2JhKDkxLDU4LDM0LC4yKSx0cmFuc3BhcmVudCAzNSUpLHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tIGxlZnQscmdiYSgxOTcsMTAxLDYxLC4wOCksdHJhbnNwYXJlbnQgNDAlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMyYTIyMWMsIzFmMWIxNywjMWExNjEzKTtvdmVyZmxvdzpoaWRkZW47bWluLWhlaWdodDowO21pbi13aWR0aDowO21hcmdpbjowIDZweCA2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNDAsMTEwLDg1LC4zNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmMGYsMCA4cHggMzJweCAjMDAwMDAwNTksMCAycHggOHB4ICMwMDAzO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tbm9ybWFsKSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tbm9ybWFsKX0udGVybWluYWwtY29udGFpbmVyLmFjdGl2ZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaH0udGVybWluYWwtc2Nyb2xsLXdyYXB7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47c2Nyb2xsYmFyLXdpZHRoOm5vbmU7cGFkZGluZzoxMnB4O2JvcmRlci1yYWRpdXM6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7dGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9uZTtmb250LWZlYXR1cmUtc2V0dGluZ3M6ImxpZ2EiIDAsImNsaWciIDAsImNhbHQiIDAsImRsaWciIDA7Zm9udC1rZXJuaW5nOm5vbmU7LS10ZXJtLWZnOiAjZjVlYWRjOy0tdGVybS1iZzogdHJhbnNwYXJlbnQ7LS10ZXJtLWN1cnNvcjogI2Q2N2I1MjstLXRlcm0tZm9udC1mYW1pbHk6ICJHZWlzdCBNb25vIiwgIlNGIE1vbm8iLCBtb25vc3BhY2U7LS10ZXJtLWZvbnQtc2l6ZTogMTNweDstLXRlcm0tbGluZS1oZWlnaHQ6IHZhcigtLXRlcm0tcm93LWhlaWdodCk7LS10ZXJtLXJvdy1oZWlnaHQ6IDIwcHg7LS10ZXJtLWNvbG9yLTA6ICMxZjFiMTc7LS10ZXJtLWNvbG9yLTE6ICNkMjc3NjY7LS10ZXJtLWNvbG9yLTI6ICM3ZmEzNmY7LS10ZXJtLWNvbG9yLTM6ICNkNWEzNWI7LS10ZXJtLWNvbG9yLTQ6ICM4N2E5ZDk7LS10ZXJtLWNvbG9yLTU6ICNjNTk1Yzc7LS10ZXJtLWNvbG9yLTY6ICM3ZmIzYjE7LS10ZXJtLWNvbG9yLTc6ICNmNWVhZGM7LS10ZXJtLWNvbG9yLTg6ICM2MjUzNDc7LS10ZXJtLWNvbG9yLTk6ICNlMzlhODk7LS10ZXJtLWNvbG9yLTEwOiAjOWNjMDhhOy0tdGVybS1jb2xvci0xMTogI2ViYmI2ZTstLXRlcm0tY29sb3ItMTI6ICNhOGMxZWE7LS10ZXJtLWNvbG9yLTEzOiAjZGJiMWRjOy0tdGVybS1jb2xvci0xNDogIzlhY2JjYTstLXRlcm0tY29sb3ItMTU6ICNmZmY3ZWZ9LnRlcm1pbmFsLXNjcm9sbC13cmFwOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnRlcm1pbmFsLXNjcm9sbC13cmFwIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6I2Q2N2I1MjQ3fS50ZXJtaW5hbC1zY3JvbGwtd3JhcCAudGVybS1ncmlke21pbi1oZWlnaHQ6MTAwJX0udGVybWluYWwtc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7cmlnaHQ6MnB4O2JvdHRvbTo0cHg7d2lkdGg6MTRweDt6LWluZGV4OjEwO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7cG9pbnRlci1ldmVudHM6bm9uZX0udGVybWluYWwtc2Nyb2xsYmFyLnZpc2libGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnRlcm1pbmFsLXNjcm9sbGJhci10cmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO3dpZHRoOjE0cHg7Ym9yZGVyLXJhZGl1czo3cHh9LnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozcHg7d2lkdGg6OHB4O21pbi1oZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNiNDk2Nzg1OTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLHdpZHRoIC4xNXMgZWFzZSxyaWdodCAuMTVzIGVhc2V9LnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiNjOGFhOGM4Yzt3aWR0aDoxMHB4O3JpZ2h0OjJweH0udGVybWluYWwtc2Nyb2xsYmFyLXRodW1iLmRyYWdnaW5nLC50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWI6YWN0aXZle2JhY2tncm91bmQ6I2RjYjk5NmIzO3dpZHRoOjEwcHg7cmlnaHQ6MnB4fUBtZWRpYShwb2ludGVyOmNvYXJzZSl7LnRlcm1pbmFsLXNjcm9sbGJhciwudGVybWluYWwtc2Nyb2xsYmFyLXRyYWNre3dpZHRoOjIwcHh9LnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYnt3aWR0aDoxMnB4O3JpZ2h0OjRweDttaW4taGVpZ2h0OjM2cHh9LnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYjpob3ZlciwudGVybWluYWwtc2Nyb2xsYmFyLXRodW1iLmRyYWdnaW5ne3dpZHRoOjE0cHg7cmlnaHQ6M3B4fX0udGVybWluYWwtY29udGFpbmVyOmZvY3VzLXdpdGhpbntib3JkZXItY29sb3I6I2M1NjUzZDgwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjE0LDAgOHB4IDMycHggIzAwMDYsMCAwIDAgMnB4ICNjNTY1M2QyNn0udGVybWluYWwtcmVzaXplLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206M3B4O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7d2lkdGg6NDhweDtoZWlnaHQ6NXB4O2JhY2tncm91bmQ6I2ZmZmZmZjE0O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2N1cnNvcjpucy1yZXNpemU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTo3cHg7Y29sb3I6I2ZmZmZmZjQwO29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pO3otaW5kZXg6MTA7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtcmVzaXplLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiXDIyZWVcMjJlZSI7bGV0dGVyLXNwYWNpbmc6OHB4O2ZvbnQtc2l6ZTo2cHh9LnRlcm1pbmFsLXJlc2l6ZS1oYW5kbGU6aG92ZXJ7b3BhY2l0eToxO2JhY2tncm91bmQ6I2ZmZmZmZjI2O2NvbG9yOiNmZmZmZmY4MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHNjYWxlKDEuMSl9LnRlcm1pbmFsLWNvbnRhaW5lcjpob3ZlciAudGVybWluYWwtcmVzaXplLWhhbmRsZXtvcGFjaXR5Oi43fS50ZXJtaW5hbC1jb250YWluZXIuaW50ZXJhY3RpdmV7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg4Yztib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYwZiwwIDAgMCAycHggIzRmN2E1ODQwLDAgOHB4IDMycHggIzAwMDAwMDU5fS50ZXJtaW5hbC1jb250YWluZXIuaW50ZXJhY3RpdmU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx0cmFuc3BhcmVudCx2YXIoLS1zdWNjZXNzKSx0cmFuc3BhcmVudCk7YW5pbWF0aW9uOnRlcm1pbmFsLWFjdGl2ZS1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRlcm1pbmFsLWFjdGl2ZS1wdWxzZXswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fS50ZXJtaW5hbC1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NDhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgyNiwyMiwxOSwuNSksdHJhbnNwYXJlbnQpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTt6LWluZGV4OjEyO2JvcmRlci1yYWRpdXM6MCAwIHZhcigtLXJhZGl1cy1tZCkgdmFyKC0tcmFkaXVzLW1kKX0udGVybWluYWwtY29udGFpbmVyLmhhcy1qdW1wLWJ0bjphZnRlcntvcGFjaXR5OjF9LnRlcm1pbmFsLXNjYWxlLWJ0bnttaW4td2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgNHB4O2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMH0udGVybWluYWwtc2NhbGUtbGFiZWx7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21pbi13aWR0aDozMnB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAycHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDtyaWdodDo4cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjFweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjdweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtiYWNrZ3JvdW5kOiMxODE0MTE2MTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JveC1zaGFkb3c6MCA2cHggMThweCAjMDAwMDAwMmU7b3BhY2l0eTouNzI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgZWFzZSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlO3otaW5kZXg6MTI7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtY29udGFpbmVyOmhvdmVyIC50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LC50ZXJtaW5hbC1zY2FsZS1vdmVybGF5OmZvY3VzLXdpdGhpbntvcGFjaXR5OjE7YmFja2dyb3VuZDojMTgxNDExOGY7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG57bWluLXdpZHRoOjIycHg7aGVpZ2h0OjIycHg7cGFkZGluZzowIDNweDtjb2xvcjojZjVlYWRjZTA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG46aG92ZXJ7YmFja2dyb3VuZDojZDY3YjUyMmU7Y29sb3I6I2ZmZjdlZmY1fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVse2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOiNmNWVhZGNhODttaW4td2lkdGg6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgM3B4fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWRpdmlkZXJ7d2lkdGg6MXB4O2hlaWdodDoxNHB4O2JhY2tncm91bmQ6I2Y1ZWFkYzMzO21hcmdpbjowIDJweH0udGVybWluYWwtanVtcC1ib3R0b217cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDtib3R0b206MTZweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFjMTYxMmM3O2NvbG9yOiNmZmY3ZWZlYjtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDAsMCA4cHggMjJweCAjMDAwMDAwNTIsaW5zZXQgMCAxcHggI2ZmZmZmZjBmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMztvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoLjg2KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMjZzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHRyYW5zZm9ybSAuMzJzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2V9LnRlcm1pbmFsLWp1bXAtYm90dG9tLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3BvaW50ZXItZXZlbnRzOmF1dG99LnRlcm1pbmFsLWp1bXAtYm90dG9tIHN2Z3t0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnRlcm1pbmFsLWp1bXAtYm90dG9tOmhvdmVye2JhY2tncm91bmQ6I2Q2N2I1MmViO2JvcmRlci1jb2xvcjojZmZmZmZmMmU7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDcsMCAxMHB4IDI2cHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmYyZX0udGVybWluYWwtanVtcC1ib3R0b206aG92ZXIgc3Zne3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEuNXB4KX0udGVybWluYWwtanVtcC1ib3R0b206YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDcsMCAxMHB4IDI2cHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmYyZSwwIDAgMCAzcHggI2Q2N2I1MjU5fS50ZXJtaW5hbC1jb250YWluZXIuaW50ZXJhY3RpdmV7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg4MDtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYwYSwwIDAgMCAycHggIzRmN2E1ODQwLHZhcigtLXNoYWRvdy1zb2Z0KX0ubWluaS1rZXlib2FyZC1mYWJ7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjYwcHg7cmlnaHQ6MTZweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlcjpub25lO2ZvbnQtc2l6ZToxLjEyNXJlbTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNiODVjMzc1OTt6LWluZGV4OjEwMDt0cmFuc2l0aW9uOmFsbCAuMnMgdmFyKC0tZWFzZS1zcHJpbmcpfS5taW5pLWtleWJvYXJkLWZhYi52aXNpYmxle2Rpc3BsYXk6ZmxleH0ubWluaS1rZXlib2FyZC1mYWI6aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMSk7Ym94LXNoYWRvdzowIDZweCAyMHB4ICNiODVjMzc3M30ubWluaS1rZXlib2FyZC1mYWI6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpfS5taW5pLWtleWJvYXJke3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo2MHB4O3JpZ2h0OjE2cHg7YmFja2dyb3VuZDojMmExZjE2ZjU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyMiw5MSw2NCwuNSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6MCA4cHggMzJweCAjMDAwNjt6LWluZGV4OjEwMDA7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDoyNjBweDthbmltYXRpb246bWtTbGlkZVVwIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0ubWluaS1rZXlib2FyZC5oaWRkZW57ZGlzcGxheTpub25lfUBrZXlmcmFtZXMgbWtTbGlkZVVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7Lm1pbmkta2V5Ym9hcmR7Ym90dG9tOjIwcHg7cmlnaHQ6MTBweDtsZWZ0OjEwcHg7bWluLXdpZHRoOjB9Lm1pbmkta2V5Ym9hcmQtZmFie2JvdHRvbToyMHB4O3JpZ2h0OjE2cHh9fS5jaGF0LWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjE7ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAyMHB4IDE2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMjU1LDI1MiwyNDgsLjUpIDAlLHRyYW5zcGFyZW50IDEwMCUpfS5jaGF0LXVucmVhZC1idWJibGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDtib3R0b206MTBweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo2cHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7cGFkZGluZzowIDEwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNzIpO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojZmZmY2Y4ZWI7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxO2xldHRlci1zcGFjaW5nOi4wMWVtO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpO2JveC1zaGFkb3c6MCAxcHggM3B4ICM1OTNhMjAxZiwwIDEwcHggMjRweCAjYjg1YzM3MmUsaW5zZXQgMCAxcHggI2ZmZjk7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMztvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KSBzY2FsZSguOSk7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI2cyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjMycyB2YXIoLS1lYXNlLXNwcmluZyksYmFja2dyb3VuZCAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4ycyBlYXNlLGNvbG9yIC4xOHMgZWFzZSxwYWRkaW5nIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmNoYXQtdW5yZWFkLWJ1YmJsZS52aXNpYmxle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtwb2ludGVyLWV2ZW50czphdXRvfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2ZmZmZmZmM3O3BhZGRpbmc6MCAxMnB4IDAgMTBweDtib3gtc2hhZG93OjAgMXB4IDNweCAjNTkzYTIwMmUsMCAxMnB4IDI4cHggI2I4NWMzNzUyLGluc2V0IDAgMXB4ICNmZmZmZmY0N30uY2hhdC11bnJlYWQtYnViYmxlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC11bnJlYWQtYnViYmxlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmFmMjtib3gtc2hhZG93OjAgMnB4IDRweCAjNTkzYTIwMjksMCAxNHB4IDMwcHggI2I4NWMzNzNkLGluc2V0IDAgMXB4ICNmZmZmZmZiM30uY2hhdC11bnJlYWQtYnViYmxlLmhhcy11bnJlYWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtaG92ZXIpO2JveC1zaGFkb3c6MCAycHggNXB4ICM1OTNhMjAzOCwwIDE0cHggMzJweCAjYjg1YzM3NmIsaW5zZXQgMCAxcHggI2ZmZmZmZjUyfS5jaGF0LXVucmVhZC1idWJibGU6aG92ZXIgLmNoYXQtdW5yZWFkLWJ1YmJsZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEuNXB4KX0uY2hhdC11bnJlYWQtYnViYmxlOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguOTQpO3RyYW5zaXRpb24tZHVyYXRpb246LjA4c30uY2hhdC11bnJlYWQtYnViYmxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAycHggNHB4ICM1OTNhMjAzMywwIDEycHggMjhweCAjYjg1YzM3NTIsaW5zZXQgMCAxcHggI2ZmZmZmZjUyLDAgMCAwIDNweCAjYzU2NTNkNTJ9LmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudHtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjE7bGV0dGVyLXNwYWNpbmc6LjAxZW07cG9pbnRlci1ldmVudHM6bm9uZX0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50LnZpc2libGV7ZGlzcGxheTppbmxpbmUtZmxleDthbmltYXRpb246Y2hhdFVucmVhZENvdW50UG9wIC4yMnMgdmFyKC0tZWFzZS1vdXQtYmFjaywgY3ViaWMtYmV6aWVyKC4zNCwgMS41NiwgLjY0LCAxKSl9LmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudDphZnRlcntjb250ZW50OiIgXDY3NjFcNjViMFw2ZDg4XDYwNmYiO21hcmdpbi1sZWZ0OjJweDtmb250LXdlaWdodDo1MDA7b3BhY2l0eTouOTV9QGtleWZyYW1lcyBjaGF0VW5yZWFkQ291bnRQb3B7MCV7dHJhbnNmb3JtOnNjYWxlKC42KTtvcGFjaXR5OjB9dG97dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19LmNoYXQtdW5yZWFkLWRpdmlkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttYXJnaW46NnB4IDRweCAycHg7cGFkZGluZzowIDJweDtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1hY2NlbnQpO2xldHRlci1zcGFjaW5nOi4wNGVtO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7YW5pbWF0aW9uOmNoYXRVbnJlYWREaXZpZGVySW4gLjMycyB2YXIoLS1lYXNlLW91dC1leHBvKSBmb3J3YXJkc30uY2hhdC11bnJlYWQtZGl2aWRlci1saW5le2ZsZXg6MTtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNjNTY1M2QwZCwjYzU2NTNkNTIsI2M1NjUzZDBkKX0uY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbHtmbGV4LXNocmluazowO3BhZGRpbmc6M3B4IDEwcHg7YmFja2dyb3VuZDojZmZmOGYwZjI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE4KTtib3JkZXItcmFkaXVzOjk5OXB4O2JveC1zaGFkb3c6MCAxcHggM3B4ICNiODVjMzcxYTt3aGl0ZS1zcGFjZTpub3dyYXB9QGtleWZyYW1lcyBjaGF0VW5yZWFkRGl2aWRlckluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5jaGF0LWNvbnRhaW5lci5hY3RpdmV7ZGlzcGxheTpmbGV4fS5jaGF0LWNvbnRhaW5lcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo0OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDI1NSwyNTIsMjQ4LC42KSx0cmFuc3BhcmVudCk7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3otaW5kZXg6MTJ9LmNoYXQtY29udGFpbmVyLmhhcy1qdW1wLWJ0bjphZnRlcntvcGFjaXR5OjF9LmNoYXQtbWVzc2FnZXN7ZmxleDoxO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7Z2FwOjE2cHg7cGFkZGluZzoyMHB4IDRweCAxMnB4O21pbi1oZWlnaHQ6MDttaW4td2lkdGg6MDtzY3JvbGxiYXItZ3V0dGVyOnN0YWJsZTtvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6Y29udGFpbjstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt0b3VjaC1hY3Rpb246cGFuLXk7b3ZlcmZsb3ctYW5jaG9yOm5vbmU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS5jaGF0LWxvYWQtbW9yZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjhweCAwfS5jaGF0LWxvYWQtbW9yZS1idG57YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcik7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07cGFkZGluZzo2cHggMTZweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZX0uY2hhdC1sb2FkLW1vcmUtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfUBtZWRpYShwb2ludGVyOmNvYXJzZSksKG1heC13aWR0aDo3NjhweCl7LmNoYXQtbG9hZC1tb3Jle3BhZGRpbmc6MTJweCAwfS5jaGF0LWxvYWQtbW9yZS1idG57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OHB4IDE4cHg7Zm9udC1zaXplOi43OHJlbX0uY2hhdC1tZXNzYWdlLmFuaW1hdGUtaW57YW5pbWF0aW9uLWR1cmF0aW9uOi4xOHN9LmNoYXQtbWVzc2FnZS51c2VyLmFuaW1hdGUtaW57YW5pbWF0aW9uLWR1cmF0aW9uOi4xN3N9fUBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45ODUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19QGtleWZyYW1lcyBtZXNzYWdlU2xpZGVVc2VyezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDEwcHgpIHRyYW5zbGF0ZVkoNHB4KSBzY2FsZSguOTg1KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKSB0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1Aa2V5ZnJhbWVzIG1lc3NhZ2VGbG9hdHswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCl9fS5jaGF0LW1lc3NhZ2V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDttYXJnaW46NHB4IDA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLHRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7LS1jaGF0LWNhcmQtbWF4LXdpZHRoOiA3MjBweH0uY2hhdC1tZXNzYWdlOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfUBtZWRpYShob3Zlcjpub25lKXsuY2hhdC1tZXNzYWdlOmhvdmVye3RyYW5zZm9ybTpub25lfS5jaGF0LW1lc3NhZ2U6aG92ZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50OmhvdmVyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSl9fS5jaGF0LW1lc3NhZ2UudXNlcnthbGlnbi1zZWxmOmZsZXgtZW5kfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50e2FsaWduLXNlbGY6ZmxleC1zdGFydDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5jaGF0LW1lc3NhZ2Uuc3lzdGVtLWluZm97YWxpZ24tc2VsZjpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7d2lkdGg6MTAwJTttYXJnaW46MTBweCAwO2FuaW1hdGlvbjptZXNzYWdlRmxvYXQgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnN5c3RlbS1pbmZvLWNhcmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM2MzY2ZjExNCwjNjM2NmYxMGEpO2JvcmRlcjoxcHggc29saWQgcmdiYSg5OSwxMDIsMjQxLC4yKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzoxMnB4IDE2cHg7Zm9udC1zaXplOi44MTI1cmVtO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKX0uc3lzdGVtLWluZm8taGVhZGVye2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNjM2NmYxZjI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1zaXplOi42ODc1cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDhlbTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LnN5c3RlbS1pbmZvLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiIjt3aWR0aDo4cHg7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOiM2MzY2ZjE5OTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0uc3lzdGVtLWluZm8tY29udGVudHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7bWF4LWhlaWdodDoyMDBweDtvdmVyZmxvdy15OmF1dG99LmNoYXQtbWVzc2FnZS5hbmltYXRlLWlue2FuaW1hdGlvbjptZXNzYWdlU2xpZGUgLjIycyB2YXIoLS1lYXNlLW91dC1leHBvKTt3aWxsLWNoYW5nZTpvcGFjaXR5LHRyYW5zZm9ybX0uY2hhdC1tZXNzYWdlLnVzZXIuYW5pbWF0ZS1pbnthbmltYXRpb246bWVzc2FnZVNsaWRlVXNlciAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmNoYXQtbWVzc2FnZS1hdmF0YXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6MCAycHggNHB4fS5jaGF0LW1lc3NhZ2UtYXZhdGFyLmFzc2lzdGFudHtmbGV4LWRpcmVjdGlvbjpyb3d9LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlcntmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ucGl4ZWwtYXZhdGFye3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOjZweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Ym94LXNoYWRvdzowIDFweCAzcHggIzAwMDAwMDI2fS5waXhlbC1hdmF0YXItaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXJ9LnBpeGVsLWF2YXRhci1zdmd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWR9LmF2YXRhci1uYW1le2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAzZW07bGluZS1oZWlnaHQ6MX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudCAuYXZhdGFyLW5hbWV7Y29sb3I6dmFyKC0tYWNjZW50KX0uY2hhdC1tZXNzYWdlLnVzZXIgLmF2YXRhci1uYW1le2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpfS5jaGF0LW1lc3NhZ2UtYnViYmxle3BhZGRpbmc6MTJweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1yZWxheGVkKTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbWVzc2FnZTpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCl9LmNoYXQtbWVzc2FnZS51c2VyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZykgdmFyKC0tcmFkaXVzLWxnKSB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1sZyk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmZmZmMjZ9LmNoYXQtbWVzc2FnZS51c2Vye21heC13aWR0aDoxMDAlfS51c2VyLWF0dGFjaG1lbnRze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjZweDttYXJnaW4tYm90dG9tOjZweH0udXNlci1hdHRhY2htZW50LWltYWdle2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MH0udXNlci1hdHRhY2htZW50LXRodW1ie2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOm1pbigxMDAlLDI0MHB4KTttYXgtaGVpZ2h0OjIwMHB4O3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO29iamVjdC1maXQ6Y29udGFpbjtjdXJzb3I6em9vbS1pbjtib3gtc2hhZG93OjAgMnB4IDhweCAjMDAwMDAwMjQ7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMTZzIGVhc2V9LnVzZXItYXR0YWNobWVudC10aHVtYjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgNHB4IDE0cHggIzAwMDM7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnVzZXItYXR0YWNobWVudC1maWxle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo1cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljc1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2V9LnVzZXItYXR0YWNobWVudC1maWxlOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnVzZXItYXR0YWNobWVudC1maWxlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO2NvbG9yOnZhcigtLWFjY2VudCl9LnVzZXItYXR0YWNobWVudC1maWxlLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS51c2VyLWF0dGFjaG1lbnQtdGV4dHt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudCAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtiYWNrZ3JvdW5kOnZhcigtLWJnLXN1cmZhY2UpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7cGFkZGluZzoxNHB4IDE4cHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSl9LmNoYXQtbWVzc2FnZS5hc3Npc3RhbnQ6aG92ZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudC1zb2Z0KTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCl9LmNoYXQtbWVzc2FnZS1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0LXJlbGF4ZWQpO3dvcmQtd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LW1lc3NhZ2UtY29udGVudD4udGhpbmtpbmctaW5saW5lLC5jaGF0LW1lc3NhZ2UtY29udGVudD4uaW5saW5lLXRvb2wsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi50b29sLXVzZS1jYXJkLC5jaGF0LW1lc3NhZ2UtY29udGVudD4udG9vbC1ncm91cHttYXJnaW46M3B4IDB9LnR1cm4tdXNhZ2Utc3VtbWFyeXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NnB4O3dpZHRoOjEwMCU7bWluLWhlaWdodDoyMHB4O21hcmdpbi10b3A6NnB4O3BhZGRpbmc6MnB4IDJweCAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsbW9ub3NwYWNlO2ZvbnQtc2l6ZTouNjdyZW07bGluZS1oZWlnaHQ6MS40NTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Ym94LXNpemluZzpib3JkZXItYm94fS50dXJuLXVzYWdlLXN1bW1hcnkuaXMtZXN0aW1hdGVke29wYWNpdHk6LjgyfS50dXJuLXVzYWdlLWljb257d2lkdGg6MTNweDtoZWlnaHQ6MTNweDttYXJnaW4tdG9wOjFweDtmbGV4OjAgMCBhdXRvO2ZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxLjM1O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweDt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2hhdC1tZXNzYWdlLnVzZXIubXVsdGktYWdlbnR7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmNoYXQtbWVzc2FnZS5tdWx0aS1hZ2VudCAuY2hhdC1tZXNzYWdlLXNlZ21lbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtbWVzc2FnZS5tdWx0aS1hZ2VudCAuY2hhdC1tZXNzYWdlLXNlZ21lbnQuc3ViYWdlbnR7cGFkZGluZy1sZWZ0OjEwcHg7bWFyZ2luLWxlZnQ6NnB4O2JvcmRlci1sZWZ0OjJweCBzb2xpZCB2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYm9yZGVyLXN1YnRsZSkpO2JvcmRlci1yYWRpdXM6MCA0cHggNHB4IDA7d2lkdGg6Y2FsYygxMDAlIC0gNnB4KTttYXgtd2lkdGg6Y2FsYygxMDAlIC0gNnB4KX0uY2hhdC1tZXNzYWdlLm11bHRpLWFnZW50IC5jaGF0LW1lc3NhZ2Utc2VnbWVudC5zdWJhZ2VudCAuY2hhdC1tZXNzYWdlLWNvbnRlbnR7b3BhY2l0eTouOTZ9LmNoYXQtbWVzc2FnZS5tdWx0aS1hZ2VudCAuY2hhdC1tZXNzYWdlLXNlZ21lbnQgLmNoYXQtbWVzc2FnZS1hdmF0YXJ7cGFkZGluZy1ib3R0b206NHB4fS5jaGF0LW1lc3NhZ2UtYXZhdGFyLnN1YmFnZW50IC5hdmF0YXItbmFtZXtjb2xvcjp2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSl9LnN1YmFnZW50LXJlcGx5e2JhY2tncm91bmQ6I2M1NjUzZDBmO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYlLHZhcigtLWJnLXN1cmZhY2UpKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMik7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjAlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7bWFyZ2luOjRweCAwO2xpbmUtaGVpZ2h0OjEuNTU7Zm9udC1zaXplOi44NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbn0uc3ViYWdlbnQtcmVwbHk+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcmVwbHk+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zdWJhZ2VudC1yZXBseS5lcnJvcntiYWNrZ3JvdW5kOiNlMjU3NGMxNDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlciwgI2UyNTc0YykgOCUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci1jb2xvcjojZTI1NzRjNTk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlciwgI2UyNTc0YykgMzUlLHRyYW5zcGFyZW50KX0uc3ViYWdlbnQtcmVwbHkucGVuZGluZ3tvcGFjaXR5Oi43O3BhZGRpbmc6MTRweCAxNnB4fS5zdWJhZ2VudC1yZXBseTpub3QoLmNvbGxhcHNpYmxlKXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NnB4fS5zdWJhZ2VudC1yZXBseSBwcmUsLnN1YmFnZW50LXJlcGx5IGNvZGV7Zm9udC1zaXplOi44MnJlbX0uc3ViYWdlbnQtcmVwbHkgcHJle2JhY2tncm91bmQ6IzAwMDAwMDBhO3BhZGRpbmc6MTBweCAxMnB4O2JvcmRlci1yYWRpdXM6NnB4O292ZXJmbG93LXg6aGlkZGVuO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO21hcmdpbjo4cHggMDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0uc3ViYWdlbnQtcGFuZWx7bWFyZ2luOjhweCAwO2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDI1JSx0cmFuc3BhcmVudCk7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA1NSUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMyUsdmFyKC0tYmctc3VyZmFjZSkpO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDAwOH0uc3ViYWdlbnQtcGFuZWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjhweCAxMnB4O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDEwJSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDE2JSx0cmFuc3BhcmVudCk7Zm9udC1zaXplOi43OHJlbTtsaW5lLWhlaWdodDoxLjM1fS5zdWJhZ2VudC1wYW5lbC1oZWFkZXI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNTUlLHRyYW5zcGFyZW50KTtvdXRsaW5lLW9mZnNldDotMnB4fS5zdWJhZ2VudC1wYW5lbC1hdmF0YXJ7ZmxleDowIDAgYXV0bzt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JvcmRlci1yYWRpdXM6NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxOCUsdHJhbnNwYXJlbnQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnN1YmFnZW50LXBhbmVsLWF2YXRhciBzdmcsLnN1YmFnZW50LXBhbmVsLWF2YXRhciBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5zdWJhZ2VudC1wYW5lbC1hcnJvd3tmbGV4OjAgMCBhdXRvO2NvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA2NSUsdmFyKC0tdGV4dC1wcmltYXJ5KSk7b3BhY2l0eTouODtmb250LXdlaWdodDo2MDB9LnN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9ue2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXBhbmVsLW5hbWV7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDg4JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtmb250LXdlaWdodDo2MDB9LnN1YmFnZW50LXBhbmVsLXRhZ3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA2cHg7cGFkZGluZzowIDZweDtmb250LXNpemU6LjYycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDRlbTtjb2xvcjp2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTIlLHRyYW5zcGFyZW50KTtib3JkZXI6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAzMCUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6NHB4O3ZlcnRpY2FsLWFsaWduOjFweDtsaW5lLWhlaWdodDoxLjQ7d2hpdGUtc3BhY2U6bm93cmFwfS5zdWJhZ2VudC1wYW5lbC10YXNrLWRlc2N7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NDAwfS5zdWJhZ2VudC1wYW5lbC1jb3VudHtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDI0JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgOSUsdmFyKC0tYmctc3VyZmFjZSkpO2NvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA3MiUsdmFyKC0tdGV4dC1wcmltYXJ5KSk7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjYwMDt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXBhbmVsLXRvZ2dsZXtkaXNwbGF5Om5vbmU7ZmxleDowIDAgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCAxMHB4O2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4zO2NvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA3OCUsdmFyKC0tdGV4dC1wcmltYXJ5KSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgOCUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMwJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo5OTlweDtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSx0cmFuc2Zvcm0gLjFzIGVhc2V9LnN1YmFnZW50LXBhbmVsLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxOCUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNDUlLHRyYW5zcGFyZW50KX0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xlOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfS5zdWJhZ2VudC1wYW5lbC10b2dnbGUtaWNvbnt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbywgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpKX0uc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD10cnVlXSAuc3ViYWdlbnQtcGFuZWwtdG9nZ2xlLWljb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zdWJhZ2VudC1wYW5lbC1ib2R5e3BhZGRpbmc6MTBweCAxNHB4O2hlaWdodDozMjBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO3Njcm9sbGJhci1ndXR0ZXI6c3RhYmxlO292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0uc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD1mYWxzZV0gLnN1YmFnZW50LXBhbmVsLWJvZHksLnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9dHJ1ZV0gLnN1YmFnZW50LXBhbmVsLWJvZHl7aGVpZ2h0OjMyMHB4fS5zdWJhZ2VudC1wYW5lbC1ib2R5PjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnN1YmFnZW50LXBhbmVsLWJvZHk+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zdWJhZ2VudC1wYW5lbC1ib2R5IC50b29sLXVzZS1jYXJkLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC50b29sLWdyb3VwLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC5pbmxpbmUtdG9vbCwuc3ViYWdlbnQtcGFuZWwtYm9keSAuaW5saW5lLXRlcm1pbmFsLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC5pbmxpbmUtZGlmZnttYXJnaW46NHB4IDB9LnN1YmFnZW50LXBhbmVsLWJvZHkgLm1hcmtkb3duLWNvbnRlbnR7Zm9udC1zaXplOi44NzVyZW19LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjdweDtoZWlnaHQ6N3B4fS5zdWJhZ2VudC1wYW5lbC1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAzMiUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6NHB4fS5zdWJhZ2VudC1wYW5lbC1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA1MCUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1wYW5lbC1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zdWJhZ2VudC1wYW5lbC1mb290ZXJ7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjZweCAxMnB4O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYlLHZhcigtLWJnLXN1cmZhY2UpKTtib3JkZXItdG9wOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTQlLHRyYW5zcGFyZW50KTtmb250LXNpemU6LjdyZW19LnN1YmFnZW50LXBhbmVsLWZvb3Rlci1oaW50e2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNztmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2xldHRlci1zcGFjaW5nOi4wNGVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ViYWdlbnQtcmVwbHkuY29sbGFwc2libGV7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbn0uc3ViYWdlbnQtcmVwbHkuZmluYWx7bWFyZ2luOjZweCAwIDA7cGFkZGluZzoxMHB4IDEycHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA2MCUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDUlLHZhcigtLWJnLXN1cmZhY2UpKX0uc3ViYWdlbnQtcmVwbHkuZmluYWwuZXJyb3J7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tZGFuZ2VyLCAjZTI1NzRjKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlciwgI2UyNTc0YykgNSUsdmFyKC0tYmctc3VyZmFjZSkpfS5zdWJhZ2VudC1yZXBseS1tYXJrZXJ7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDttYXJnaW4tYm90dG9tOjRweDtmb250LXNpemU6LjY4cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDc4JSx2YXIoLS10ZXh0LXByaW1hcnkpKX0uc3ViYWdlbnQtcmVwbHktbWFya2VyLmVycm9ye2NvbG9yOnZhcigtLWRhbmdlciwgI2UyNTc0Yyl9LnN1YmFnZW50LXJlcGx5LW1hcmtlci5wZW5kaW5ne2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6MDtmb250LXdlaWdodDo1MDB9LnN1YmFnZW50LXJlcGx5LW1hcmtlci1pY29ue2ZvbnQtd2VpZ2h0OjcwMH0uc3ViYWdlbnQtcmVwbHkuZmluYWwgLnN1YmFnZW50LXJlcGx5LWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcmVwbHkuZmluYWwgLnN1YmFnZW50LXJlcGx5LWNvbnRlbnQ+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5lbXB0eS1tZXNzYWdlIC5lbXB0eS1tZXNzYWdlLWhpbnR7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC1zaXplOi44MTI1cmVtO29wYWNpdHk6Ljd9LnVua25vd24tYmxvY2t7bWFyZ2luOjRweCAwO2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXRleHQtbXV0ZWQpIDYlLHRyYW5zcGFyZW50KTtmb250LXNpemU6Ljc1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS51bmtub3duLWJsb2NrOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tdGV4dC1tdXRlZCkgMTAlLHRyYW5zcGFyZW50KX0udW5rbm93bi1ibG9jay1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NnB4IDEwcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS51bmtub3duLWJsb2NrLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCk7Y29sb3I6dmFyKC0tYmctc3VyZmFjZSk7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjYwMH0udW5rbm93bi1ibG9jay1sYWJlbHtmbGV4OjE7Zm9udC13ZWlnaHQ6NTAwfS51bmtub3duLWJsb2NrLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LXNpemU6LjdyZW07dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udW5rbm93bi1ibG9jay5jb2xsYXBzZWQgLnVua25vd24tYmxvY2stdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udW5rbm93bi1ibG9jay1ib2R5e21hcmdpbjowO3BhZGRpbmc6OHB4IDEwcHggMTBweDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtaGVpZ2h0OjI0MHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNpemluZzpib3JkZXItYm94fS51bmtub3duLWJsb2NrLmNvbGxhcHNlZCAudW5rbm93bi1ibG9jay1ib2R5e2Rpc3BsYXk6bm9uZX0udG9vbC11c2UtY2FyZFtkYXRhLXRydW5jYXRlZD10cnVlXSAudG9vbC11c2UtbmFtZTphZnRlciwuaW5saW5lLXRvb2xbZGF0YS10cnVuY2F0ZWQ9dHJ1ZV0gLmlubGluZS10b29sLXRpdGxlOmFmdGVye2NvbnRlbnQ6Ilw1ZGYyXDYyMmFcNjVhZCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4O3BhZGRpbmc6MXB4IDZweDtmb250LXNpemU6LjZyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSwgI2ZmZik7YmFja2dyb3VuZDp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtib3JkZXItcmFkaXVzOjk5OXB4O2xldHRlci1zcGFjaW5nOi4wMmVtO3ZlcnRpY2FsLWFsaWduOjFweDtvcGFjaXR5Oi44NX0uY2hhdC1tZXNzYWdlLnRoaW5raW5ne2FsaWduLXNlbGY6ZmxleC1zdGFydDttYXgtd2lkdGg6MTAwJTttYXJnaW46NHB4IDB9LmNoYXQtbWVzc2FnZS5wcm9tcHR7YWxpZ24tc2VsZjpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjRweCAwfS5wcm9tcHQtY2FyZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo0cHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5wcm9tcHQtaWNvbntmb250LXNpemU6Ljg3NXJlbX0ucHJvbXB0LWNvbnRlbnR7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpY30ucHJvbXB0LXRleHR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjojYzU2NTNkY2M7Zm9udC13ZWlnaHQ6NTAwfS50eXBpbmctaW5kaWNhdG9ye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtwYWRkaW5nOjZweCAwfS50eXBpbmctaW5kaWNhdG9yIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc29mdCk7YW5pbWF0aW9uOnR5cGluZ0JvdW5jZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS50eXBpbmctaW5kaWNhdG9yIHNwYW46bnRoLWNoaWxkKDIpe2FuaW1hdGlvbi1kZWxheTouMTVzfS50eXBpbmctaW5kaWNhdG9yIHNwYW46bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTouM3N9QGtleWZyYW1lcyB0eXBpbmdCb3VuY2V7MCUsNjAlLHRve29wYWNpdHk6LjM1O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTMwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9fS50b29sLXVzZS1jYXJke21hcmdpbjo0cHggMDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmJmNWUwLCNmZmY2ZWFiOCk7Ym94LXNoYWRvdzowIDFweCAycHggIzU5M2EyMDBhO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4yMnMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBlYXNlfS50b29sLXVzZS1jYXJkOmhvdmVye2JvcmRlci1jb2xvcjojNGY3YTU4NGQ7Ym94LXNoYWRvdzowIDNweCAxMnB4ICM0ZjdhNTgxNH0udG9vbC11c2UtY2FyZC5sb2FkaW5ne2JvcmRlci1jb2xvcjojYTk2YTJmNGQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY0ZTJlMCwjZmZmMWRhYjgpfS50b29sLXVzZS1jYXJkLnN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg1Mn0udG9vbC11c2UtY2FyZC5lcnJvcntib3JkZXItY29sb3I6I2IyNGY0NTUyO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmNmMGVlZTAsI2ZjZWJlOWI4KX0udG9vbC11c2UtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo5cHggMTRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouODEyNXJlbTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlO21pbi1oZWlnaHQ6MzhweDtmbGV4LXdyYXA6bm93cmFwfS50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGF9LnRvb2wtdXNlLWhlYWRlcjphY3RpdmV7YmFja2dyb3VuZDojYzU2NTNkMTJ9LnRvb2wtdXNlLWNhcmQubG9hZGluZyAudG9vbC11c2UtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2E5NmEyZjBmfS50b29sLXVzZS1jYXJkLnN1Y2Nlc3MgLnRvb2wtdXNlLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiM0ZjdhNTgwZn0udG9vbC11c2UtY2FyZC5lcnJvciAudG9vbC11c2UtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTBmfS50b29sLXVzZS1pY29ue2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtd2VpZ2h0OjcwMDtmbGV4LXNocmluazowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7aGVpZ2h0OjIycHg7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtsZXR0ZXItc3BhY2luZzotLjAyZW19LnRvb2wtdXNlLWNhcmQubG9hZGluZyAudG9vbC11c2UtaWNvbntiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2NvbG9yOnZhcigtLXdhcm5pbmcpfS50b29sLXVzZS1jYXJkLmVycm9yIC50b29sLXVzZS1pY29ue2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpfS50b29sLXVzZS1zcGlubmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS13YXJuaW5nLW11dGVkKTtib3JkZXItdG9wLWNvbG9yOnZhcigtLXdhcm5pbmcpO2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjp0b29sLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHRvb2wtc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS50b29sLXVzZS1uYW1le2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnRvb2wtdXNlLWZpbGV7Zm9udC1zaXplOi43NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO21heC13aWR0aDozMjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6MH0udG9vbC11c2Utc3VtbWFyeXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tbGVmdDoycHh9LnRvb2wtdXNlLXRvZ2dsZXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLXNwcmluZyksY29sb3IgLjE4cyBlYXNlO2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5Oi42fS50b29sLXVzZS1jYXJkOmhvdmVyIC50b29sLXVzZS10b2dnbGV7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO29wYWNpdHk6MX0udG9vbC11c2UtY2FyZC5jb2xsYXBzZWQgLnRvb2wtdXNlLXRvZ2dsZXt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LnRvb2wtdXNlLWJvZHl7cGFkZGluZzoxMnB4IDE0cHg7YmFja2dyb3VuZDojZmZmZGY4YTY7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTttYXgtaGVpZ2h0OjYwMHB4O292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjI0cyB2YXIoLS1lYXNlLW91dC1leHBvKSxwYWRkaW5nIC4yNHMgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMThzIGVhc2UsdHJhbnNmb3JtIC4yNHMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7b3BhY2l0eToxO3RyYW5zZm9ybS1vcmlnaW46dG9wfS50b29sLXVzZS1jYXJkLmNvbGxhcHNlZCAudG9vbC11c2UtYm9keXttYXgtaGVpZ2h0OjA7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVZKC45NSk7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0udG9vbC11c2UtY29udGVudHttYXJnaW46MDtmb250LXNpemU6Ljc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkO21heC1oZWlnaHQ6NDAwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2xpbmUtaGVpZ2h0OjEuNTV9LnRvb2wtdXNlLXJlc3VsdHttYXJnaW4tdG9wOjEwcHg7cGFkZGluZy10b3A6MTBweDtib3JkZXItdG9wOjFweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjE0KX0udG9vbC11c2UtcmVzdWx0LWNvbnRlbnR7bWFyZ2luOjA7Zm9udC1zaXplOi43NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC1oZWlnaHQ6MzIwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2xpbmUtaGVpZ2h0OjEuNTU7YmFja2dyb3VuZDojN2Q1YjM5MDk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO3BhZGRpbmc6OHB4IDEwcHg7Ym94LXNpemluZzpib3JkZXItYm94fS50b29sLXVzZS1yZXN1bHQtZW1wdHl7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpY30udG9vbC11c2UtbWV0YXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZy1ib3R0b206OHB4O2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCByZ2JhKDEyNSw5MSw1NywuMTQpfS50b29sLXVzZS1tZXRhLWxhYmVse2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo2MDB9LnRvb2wtdXNlLWNhcmQuYXNrLXVzZXJ7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q0ZDtiYWNrZ3JvdW5kOiNjNTY1M2QwYX0udG9vbC11c2UtY2FyZC5hc2stdXNlciAudG9vbC11c2UtaGVhZGVye2JhY2tncm91bmQ6I2M1NjUzZDE0fS5hc2stdXNlci1ib2R5e3BhZGRpbmc6MTBweCAxMnB4fS5hc2stdXNlci1xdWVzdGlvbi1ncm91cHttYXJnaW4tYm90dG9tOjEwcHh9LmFzay11c2VyLXF1ZXN0aW9uLWdyb3VwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5hc2stdXNlci10aXRsZXtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTttYXJnaW4tYm90dG9tOjEwcHh9LmFzay11c2VyLW9wdGlvbnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4fS5hc2stdXNlci1vcHRpb257ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxMnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt0ZXh0LWFsaWduOmxlZnR9LmFzay11c2VyLW9wdGlvbjpob3Zlcjpub3QoOmRpc2FibGVkKXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNjNTY1M2QwZn0uYXNrLXVzZXItb3B0aW9uOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5hc2stdXNlci1vcHRpb24uc2VsZWN0ZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMmU7Ym94LXNoYWRvdzowIDAgMCAxcHggI2M1NjUzZDU5IGluc2V0fS50b29sLXVzZS1jYXJkLmFzay11c2VyLmFzay11c2VyLWFuc3dlcmVke2JvcmRlci10b3A6MnB4IHNvbGlkIHZhcigtLXN1Y2Nlc3MsICM0Y2FmNTApfS5hc2stdXNlci1vcHRpb24uYXNrLXVzZXItb3B0aW9uLWNob3NlbntiYWNrZ3JvdW5kOiNjNTY1M2QyOTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uYXNrLXVzZXItaW5kaWNhdG9ye3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZmxleC1zaHJpbms6MDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uYXNrLXVzZXItb3B0aW9uc1tkYXRhLW11bHRpLXNlbGVjdD10cnVlXSAuYXNrLXVzZXItaW5kaWNhdG9ye2JvcmRlci1yYWRpdXM6M3B4fS5hc2stdXNlci1vcHRpb24uc2VsZWN0ZWQgLmFzay11c2VyLWluZGljYXRvcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LmFzay11c2VyLW9wdGlvbi5zZWxlY3RlZCAuYXNrLXVzZXItaW5kaWNhdG9yOmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6NnB4O2hlaWdodDo2cHg7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlfS5hc2stdXNlci1vcHRpb25zW2RhdGEtbXVsdGktc2VsZWN0PXRydWVdIC5hc2stdXNlci1vcHRpb24uc2VsZWN0ZWQgLmFzay11c2VyLWluZGljYXRvcjphZnRlcnt3aWR0aDo0cHg7aGVpZ2h0OjhweDtib3JkZXI6c29saWQgd2hpdGU7Ym9yZGVyLXdpZHRoOjAgMnB4IDJweCAwO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOm5vbmU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7bWFyZ2luLWJvdHRvbToycHh9LmFzay11c2VyLW9wdGlvbi1jb250ZW50e2ZsZXg6MTttaW4td2lkdGg6MH0uYXNrLXVzZXItb3B0aW9uLWxhYmVse2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uYXNrLXVzZXItb3B0aW9uLWRlc2N7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bWFyZ2luLXRvcDoycHg7bGluZS1oZWlnaHQ6MS40fS5hc2stdXNlci1hY3Rpb25ze21hcmdpbi10b3A6MTBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5hc2stdXNlci1zdWJtaXR7cGFkZGluZzo2cHggMTZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo1MDA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uYXNrLXVzZXItc3VibWl0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2ZpbHRlcjpicmlnaHRuZXNzKDEuMSl9LmFzay11c2VyLXN1Ym1pdDpkaXNhYmxlZHtvcGFjaXR5Oi40O2N1cnNvcjpub3QtYWxsb3dlZH0uYXNrLXVzZXItc3VibWl0LmFzay11c2VyLXN1Ym1pdHRlZHtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1kZWZhdWx0KTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwb2ludGVyLWV2ZW50czpub25lfS5hc2stdXNlci1hbnN3ZXJlZCAuYXNrLXVzZXItb3B0aW9ue2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTouNn0uYXNrLXVzZXItYW5zd2VyZWQgLmFzay11c2VyLW9wdGlvbi5hc2stdXNlci1vcHRpb24tY2hvc2Vue29wYWNpdHk6MTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZDojNGY3YTU4MGZ9LmFzay11c2VyLWFuc3dlcmVkIC5hc2stdXNlci1vcHRpb24uYXNrLXVzZXItb3B0aW9uLWNob3NlbiAuYXNrLXVzZXItaW5kaWNhdG9ye2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpfS5hc2stdXNlci1vcHRpb24tcmVhZG9ubHl7cG9pbnRlci1ldmVudHM6bm9uZX0udGhpbmtpbmctaW5saW5le2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtnYXA6NXB4O21hcmdpbjoycHggMDt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOiM4YTZjYjIwYTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojOGE2Y2IyOGM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS50aGlua2luZy1pbmxpbmU6aG92ZXJ7YmFja2dyb3VuZDojOGE2Y2IyMTQ7Y29sb3I6IzhhNmNiMmNjfS50aGlua2luZy1pbmxpbmUuZXhwYW5kZWR7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3doaXRlLXNwYWNlOnByZS13cmFwO2xpbmUtaGVpZ2h0OjEuNjttYXgtaGVpZ2h0OjMwMHB4O292ZXJmbG93LXk6YXV0b30udGhpbmtpbmctaW5saW5lLWljb257ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjYyNXJlbX0udGhpbmtpbmctaW5saW5lLXByZXZpZXd7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udGhpbmtpbmctaW5saW5lLmV4cGFuZGVkIC50aGlua2luZy1pbmxpbmUtcHJldmlld3t3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZH0udGhpbmtpbmctaW5saW5lLWFjdGlvbntmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOiM4YTZjYjI2NjtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6IzhhNmNiMjE0O21hcmdpbi1sZWZ0OmF1dG99LnRoaW5raW5nLWlubGluZTpob3ZlciAudGhpbmtpbmctaW5saW5lLWFjdGlvbntjb2xvcjojOGE2Y2IyYjN9LnRoaW5raW5nLWlubGluZS50aGlua2luZy1wdHl7YmFja2dyb3VuZDojOGE2Y2IyMDh9LnRoaW5raW5nLXN0cmVhbWluZ3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NXB4O21hcmdpbjoycHggMDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZDojOGE2Y2IyMGE7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6IzhhNmNiMjhjfS50aGlua2luZy1zdHJlYW1pbmctaW5uZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjVweDt3aWR0aDoxMDAlfS50aGlua2luZy1zdHJlYW1pbmctaWNvbntmb250LXNpemU6LjYyNXJlbTtmbGV4LXNocmluazowO21hcmdpbi10b3A6MXB4fS50aGlua2luZy1zdHJlYW1pbmctdGV4dHtmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojOGE2Y2IyY2M7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkO21heC1oZWlnaHQ6NC41ZW07b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjpyZ2JhKDEzOCwxMDgsMTc4LC4zKSB0cmFuc3BhcmVudH0udGhpbmtpbmctc3RyZWFtaW5nLXRleHQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjRweH0udGhpbmtpbmctc3RyZWFtaW5nLXRleHQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzhhNmNiMjRkO2JvcmRlci1yYWRpdXM6MnB4fS50b29sLWdyb3Vwe21hcmdpbjo0cHggMDt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZDksI2ZmZjhlZWIzKTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMDg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBlYXNlfS50b29sLWdyb3VwOmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MmU7Ym94LXNoYWRvdzowIDJweCA4cHggIzU5M2EyMDBmfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPXBlbmRpbmdde2JvcmRlci1jb2xvcjojYTk2YTJmMzg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY0ZTJkOSwjZmZmMWRhYjMpfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPWVycm9yXXtib3JkZXItY29sb3I6I2IyNGY0NTQ3O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmNmMGVlZDksI2ZjZWNlYWIzKX0udG9vbC1ncm91cC1zdW1tYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweDtwYWRkaW5nOjhweCAxMnB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHMgZWFzZX0udG9vbC1ncm91cC1zdW1tYXJ5OmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDBhfS50b29sLWdyb3VwLXN0YXR1c3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2ZsZXgtc2hyaW5rOjA7bGV0dGVyLXNwYWNpbmc6MH0udG9vbC1ncm91cFtkYXRhLXN0YXR1cz1kb25lXSAudG9vbC1ncm91cC1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0udG9vbC1ncm91cFtkYXRhLXN0YXR1cz1lcnJvcl0gLnRvb2wtZ3JvdXAtc3RhdHVze2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpfS50b29sLWdyb3VwW2RhdGEtc3RhdHVzPXBlbmRpbmddIC50b29sLWdyb3VwLXN0YXR1c3tiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2NvbG9yOnZhcigtLXdhcm5pbmcpO2FuaW1hdGlvbjp0b29sLWdyb3VwLXB1bHNlIDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0b29sLWdyb3VwLXB1bHNlezAlLHRve29wYWNpdHk6MX01MCV7b3BhY2l0eTouNTV9fS50b29sLWdyb3VwLXRleHR7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS50b29sLWdyb3VwLWNvdW50e2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOiM3ZDViMzkxMjtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnRvb2wtZ3JvdXAtY2hldnJvbntmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNn0udG9vbC1ncm91cDpob3ZlciAudG9vbC1ncm91cC1jaGV2cm9ue29wYWNpdHk6MX0udG9vbC1ncm91cFtkYXRhLWV4cGFuZGVkPXRydWVdIC50b29sLWdyb3VwLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS50b29sLWdyb3VwLWJvZHl7ZGlzcGxheTpub25lO3BhZGRpbmc6NHB4IDhweCA4cHggMThweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDYpO2JvcmRlci1sZWZ0OjJweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO2JhY2tncm91bmQ6I2ZmZmRmODhjfS50b29sLWdyb3VwLWJvZHk+LmlubGluZS10b29se21hcmdpbjowfS50b29sLWdyb3VwLWJvZHk+LmlubGluZS10b29sKy5pbmxpbmUtdG9vbHtib3JkZXItdG9wOjFweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjA2KX0udG9vbC1ncm91cFtkYXRhLWV4cGFuZGVkPXRydWVdIC50b29sLWdyb3VwLWJvZHl7ZGlzcGxheTpibG9jazthbmltYXRpb246dG9vbC1ncm91cC1yZXZlYWwgLjE4cyB2YXIoLS1lYXNlLW91dC1leHBvKX1Aa2V5ZnJhbWVzIHRvb2wtZ3JvdXAtcmV2ZWFsezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5jaGF0LWZvbGQtYmFye2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O21heC1oZWlnaHQ6MTI0cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6OHB4IDRweCA3cHg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y4ZjUsI2ZmZmFmNGViKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpO2JveC1zaGFkb3c6MCA0cHggMTJweCAtOHB4ICM1OTNhMjAyZX0uY2hhdC1mb2xkLWJhci5oaWRkZW57ZGlzcGxheTpub25lfS5jaGF0LWZvbGQtcm93e3dpZHRoOm1pbigxMDAlLHZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KSk7bWluLWhlaWdodDozMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzo1cHggMTBweDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjU0cHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQsIDhweCk7YmFja2dyb3VuZDojZmZmZmZmOWU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2hhdC1mb2xkLXJvdzpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTMzO2JhY2tncm91bmQ6I2ZmZmZmZmQxfS5jaGF0LWZvbGQtcm93Lmhpc3Rvcnl7YmFja2dyb3VuZDojZmZmOGVlYjg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5jaGF0LWZvbGQtcm9sZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjcwMDt3aGl0ZS1zcGFjZTpub3dyYXB9LmNoYXQtZm9sZC10ZXh0e21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXNpemU6Ljc4cmVtO2xpbmUtaGVpZ2h0OjEuMjV9LmNoYXQtY29udGFpbmVyLmF1dG8tZm9sZCAuY2hhdC1tZXNzYWdlc3tmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MH1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuY2hhdC1mb2xkLWJhcnttYXgtaGVpZ2h0OjExMnB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9LmNoYXQtZm9sZC1yb3d7bWluLWhlaWdodDoyOHB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczo0NHB4IG1pbm1heCgwLDFmcik7cGFkZGluZzo0cHggOHB4fS5jaGF0LWZvbGQtcm9sZXtmb250LXNpemU6LjY4cmVtfS5jaGF0LWZvbGQtdGV4dHtmb250LXNpemU6Ljc0cmVtfX0uY2hhdC1mb2xkLWJhci1zcGFjZXJ7ZGlzcGxheTpub25lfS5jaGF0LWhpc3RvcnktaGlkZGVuLC5jaGF0LWF1dG8tZm9sZC1oaWRkZW57ZGlzcGxheTpub25lIWltcG9ydGFudH0uY2hhdC1oaXN0b3J5LXN1bW1hcnl7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21hcmdpbjoxMHB4IGF1dG87Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1idG57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3dpZHRoOjEwMCU7cGFkZGluZzo3cHggMTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCwgOTk5cHgpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjVlNiwjZmZmN2VjYzcpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM1OTNhMjAwYTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQ6aW5oZXJpdDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2UsYmFja2dyb3VuZCAuMThzIGVhc2V9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWJ0bjpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTMzO2JveC1zaGFkb3c6MCAycHggOHB4ICM1OTNhMjAwZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmFmM2YyLCNmZmY1ZThkOSl9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc1fS5jaGF0LWhpc3Rvcnktc3VtbWFyeS1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjFweDtmbGV4OjE7bWluLXdpZHRoOjB9LmNoYXQtaGlzdG9yeS1zdW1tYXJ5LXRpdGxle2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktbWV0YXtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uY2hhdC1oaXN0b3J5LXN1bW1hcnktY2hldnJvbntmbGV4LXNocmluazowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6LjY7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC1oaXN0b3J5LXN1bW1hcnktYnRuOmhvdmVyIC5jaGF0LWhpc3Rvcnktc3VtbWFyeS1jaGV2cm9ue29wYWNpdHk6MX0uY2hhdC1oaXN0b3J5LXN1bW1hcnlbZGF0YS1leHBhbmRlZD10cnVlXSAuY2hhdC1oaXN0b3J5LXN1bW1hcnktY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmlubGluZS10b29se2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjFweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2V9LnRvb2wtZ3JvdXAtYm9keT4uaW5saW5lLXRvb2x7bWF4LXdpZHRoOjEwMCV9LmlubGluZS10b29sLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2xpbmUtaGVpZ2h0OjEuNDU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlfS5pbmxpbmUtdG9vbDpob3ZlciAuaW5saW5lLXRvb2wtcm93e2JhY2tncm91bmQ6I2M1NjUzZDBmO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmlubGluZS10b29sLXN0YXR1c3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2xpbmUtaGVpZ2h0OjF9LmlubGluZS10b29sW2RhdGEtc3RhdHVzPXBlbmRpbmddIC5pbmxpbmUtdG9vbC1zdGF0dXN7Y29sb3I6dmFyKC0td2FybmluZyl9LmlubGluZS10b29sW2RhdGEtc3RhdHVzPWVycm9yXSAuaW5saW5lLXRvb2wtc3RhdHVzLC5pbmxpbmUtdG9vbC1lcnJvci1pbmxpbmUgLmlubGluZS10b29sLXN0YXR1c3tjb2xvcjp2YXIoLS1kYW5nZXIpfS5pbmxpbmUtdG9vbC1pY29ue2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7b3BhY2l0eTouODV9LmlubGluZS10b29sOmhvdmVyIC5pbmxpbmUtdG9vbC1pY29ue2NvbG9yOnZhcigtLWFjY2VudCk7b3BhY2l0eToxfS5pbmxpbmUtdG9vbC10aXRsZXtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljc1cmVtfS5pbmxpbmUtdG9vbDpob3ZlciAuaW5saW5lLXRvb2wtdGl0bGV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uaW5saW5lLXRvb2wtbWV0YXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXgtd2lkdGg6MjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsZXR0ZXItc3BhY2luZzotLjAxZW19LmlubGluZS10b29sLWltYWdle3BhZGRpbmc6MnB4IDEwcHggOHB4IDMycHg7Y3Vyc29yOmRlZmF1bHR9LmlubGluZS10b29sLWltYWdlLXRodW1ie2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOm1pbigxMDAlLDM2MHB4KTttYXgtaGVpZ2h0OjI0MHB4O3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjE0KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDEyNSw5MSw1NywuMDUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNzUlLHJnYmEoMTI1LDkxLDU3LC4wNSkgNzUlKSAwIDAgLyAxNnB4IDE2cHgsbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMTI1LDkxLDU3LC4wNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA3NSUscmdiYSgxMjUsOTEsNTcsLjA1KSA3NSUpIDhweCA4cHggLyAxNnB4IDE2cHg7b2JqZWN0LWZpdDpjb250YWluO2N1cnNvcjp6b29tLWluO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZX0uaW5saW5lLXRvb2wtaW1hZ2UtdGh1bWI6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDJweCAxMHB4ICMwMDAwMDAxZn0uaW5saW5lLXRvb2wtZXhwYW5kZWR7ZGlzcGxheTpub25lO3BhZGRpbmc6MCAxMHB4IDhweH0uaW5saW5lLXRvb2wtb3BlbiAuaW5saW5lLXRvb2wtZXhwYW5kZWR7ZGlzcGxheTpibG9jazthbmltYXRpb246dG9vbC1ncm91cC1yZXZlYWwgLjE2cyB2YXIoLS1lYXNlLW91dC1leHBvKX0uaW5saW5lLXRvb2wtcmVzdWx0e2JhY2tncm91bmQ6IzdkNWIzOTBhO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA3KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luLXRvcDo2cHg7bWF4LWhlaWdodDozMjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMTI1LDkxLDU3LC4yKSB0cmFuc3BhcmVudH0uaW5saW5lLXRvb2wtcmVzdWx0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo2cHh9LmlubGluZS10b29sLXJlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojN2Q1YjM5MzM7Ym9yZGVyLXJhZGl1czozcHh9LmlubGluZS10b29sLXJlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5NTJ9LmlubGluZS10b29sLXJlc3VsdC10ZXh0e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjU1O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO21hcmdpbjowfS5pbmxpbmUtdG9vbC1lcnJvci1pbmxpbmV7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHZhcigtLWRhbmdlcik7cGFkZGluZy1sZWZ0OjJweDttYXJnaW4tbGVmdDotMnB4fS5pbmxpbmUtdG9vbC1lcnJvci1pbmxpbmUgLmlubGluZS10b29sLXJvd3tjb2xvcjp2YXIoLS1kYW5nZXIpfS5pbmxpbmUtdG9vbC1yZXN1bHQuaW5saW5lLXRvb2wtZXJyb3J7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2JvcmRlci1jb2xvcjojYjI0ZjQ1MmV9LmlubGluZS10b29sLWxvYWRpbmd7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS13YXJuaW5nKTtmb250LXN0eWxlOml0YWxpYztwYWRkaW5nOjZweCAwO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LmlubGluZS10b29sLWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0td2FybmluZy1tdXRlZCk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS13YXJuaW5nKTtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246dG9vbC1jb250ZW50LXNwaW4gLjdzIGxpbmVhciBpbmZpbml0ZX0uaW5saW5lLXRvb2wtZW1wdHl7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpY30udG9vbC1jb250ZW50LWxvYWRpbmd7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpYztwYWRkaW5nOjhweCAwfS50b29sLWNvbnRlbnQtbG9hZGluZzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JvcmRlcjoycHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246dG9vbC1jb250ZW50LXNwaW4gLjZzIGxpbmVhciBpbmZpbml0ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjZweH1Aa2V5ZnJhbWVzIHRvb2wtY29udGVudC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnRvb2wtY29udGVudC1lcnJvcntmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLWVycm9yKTtwYWRkaW5nOjhweCAwO2N1cnNvcjpwb2ludGVyfS50b29sLWNvbnRlbnQtZXJyb3I6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uaW5saW5lLXRlcm1pbmFse21hcmdpbjo0cHggMDt3aWR0aDoxMDAlO21heC13aWR0aDp2YXIoLS1jaGF0LWNhcmQtbWF4LXdpZHRoLCA3MjBweCk7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgxNSwxMiw5LC42KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7YmFja2dyb3VuZDojMWYxYjE3O2JveC1zaGFkb3c6MCAxcHggI2ZmZmZmZjBhIGluc2V0LDAgMnB4IDEycHggIzBmMGMwOTJlO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjIycyBlYXNlLHRyYW5zZm9ybSAuMjJzIGVhc2UsYm9yZGVyLWNvbG9yIC4yMnMgZWFzZX0uaW5saW5lLXRlcm1pbmFsOmhvdmVye2JveC1zaGFkb3c6MCAxcHggI2ZmZmZmZjBkIGluc2V0LDAgNHB4IDE4cHggIzBmMGMwOTNkO2JvcmRlci1jb2xvcjojZmZmZmZmMWF9LnRlcm0taGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZjBhLCNmZmZmZmYwNCksIzAwMDAwMDJlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA0KTtmb250LXNpemU6Ljc1cmVtO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LnRlcm0taGVhZGVyOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmMGYsI2ZmZmZmZjA2KSwjMDAwMDAwMmV9LnRlcm0tc3RhdHVzLWRvdHt3aWR0aDo5cHg7aGVpZ2h0OjlweDtib3JkZXItcmFkaXVzOjUwJTtmbGV4LXNocmluazowO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldH0udGVybS1zdGF0dXMtZG90LnRlcm0tc3VjY2Vzc3tiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzUlIDMwJSwjYjZmMGM0LCM2ZWUwOWEsIzNhYTc2NSk7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCA2cHggIzZlZTA5YTU5fS50ZXJtLXN0YXR1cy1kb3QudGVybS1lcnJvcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzUlIDMwJSwjZmZiNWI5LCNmMDcxNzgsI2I1M2I0MSk7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCA2cHggI2YwNzE3ODU5fS50ZXJtLXN0YXR1cy1kb3QudGVybS13YXJue2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCNmZmQwN2EsI2YwYTUwMCwjYWQ3NDAwKTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwIDZweCAjZjBhNTAwNTl9LnRlcm0tc3RhdHVzLWRvdC50ZXJtLXJ1bm5pbmd7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2QxZDVkYiwjOWNhM2FmLCM0YjU1NjMpO2FuaW1hdGlvbjp0ZXJtLXB1bHNlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdGVybS1wdWxzZXswJSx0b3tvcGFjaXR5OjE7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCAjOWNhM2FmMDB9NTAle29wYWNpdHk6LjU1O2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgOHB4ICM5Y2EzYWY1OX19LnRlcm0tY21kLXByZXZpZXd7ZmxleDoxO21pbi13aWR0aDowO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtjb2xvcjojZThkY2M4Yzc7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnRlcm0tY21kLXByZXZpZXcgLnRlcm0tcHJvbXB0e2NvbG9yOiM2ZWUwOWE7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1yaWdodDo2cHg7Zm9udC1zaXplOi43NXJlbTtvcGFjaXR5Oi45fS50ZXJtLXRvZ2dsZS1pY29ue2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOiNmZmZmZmY1OTt0cmFuc2l0aW9uOmNvbG9yIC4xOHMgZWFzZTtmbGV4LXNocmluazowfS50ZXJtLWhlYWRlcjpob3ZlciAudGVybS10b2dnbGUtaWNvbntjb2xvcjojZmZmZmZmYTZ9LnRlcm0tYm9keXtwYWRkaW5nOjEycHggMTRweCAxNHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwMDAwMmUsIzAwMDAgMjRweCksIzFmMWIxN30udGVybS1jb21tYW5ke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOiNmNGU5ZDQ7bGluZS1oZWlnaHQ6MS41NTttYXJnaW4tYm90dG9tOjZweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS50ZXJtLXByb21wdHtjb2xvcjojNmVlMDlhO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tcmlnaHQ6NnB4O3RleHQtc2hhZG93OjAgMCA2cHggcmdiYSgxMTAsMjI0LDE1NCwuMjUpfS50ZXJtLW91dHB1dHttYXJnaW4tdG9wOjhweDtwYWRkaW5nLXRvcDo4cHg7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTttYXgtaGVpZ2h0OjM2MHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpIHRyYW5zcGFyZW50fS50ZXJtLW91dHB1dDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NnB4fS50ZXJtLW91dHB1dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojZmZmZmZmMjY7Ym9yZGVyLXJhZGl1czozcHh9LnRlcm0tb3V0cHV0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY0MH0udGVybS1saW5le2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOiNkNGMyYTM7bGluZS1oZWlnaHQ6MS41NTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS50ZXJtLWV4aXR7bWFyZ2luLXRvcDoxMHB4O3BhZGRpbmctdG9wOjhweDtib3JkZXItdG9wOjFweCBkYXNoZWQgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42ODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtsZXR0ZXItc3BhY2luZzouMDRlbX0udGVybS1leGl0LXN1Y2Nlc3N7Y29sb3I6IzZlZTA5YWJmfS50ZXJtLWV4aXQtZXJyb3J7Y29sb3I6I2YwNzE3OGM3fS5pbmxpbmUtZGlmZnttYXJnaW46NHB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjVlMCwjZmZmNmVhYjgpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM1OTNhMjAwYTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMjJzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2V9LmlubGluZS1kaWZmOmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5Mzg7Ym94LXNoYWRvdzowIDNweCAxMnB4ICM1OTNhMjAwZn0uZGlmZi1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxNHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOi44MTI1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2U7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LmRpZmYtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDBhfS5kaWZmLXRvZ2dsZXtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZS1zcHJpbmcpLGNvbG9yIC4xOHMgZWFzZTtmbGV4LXNocmluazowO21hcmdpbi1sZWZ0OmF1dG87b3BhY2l0eTouNn0uaW5saW5lLWRpZmY6aG92ZXIgLmRpZmYtdG9nZ2xle2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtvcGFjaXR5OjF9LmlubGluZS1kaWZmLmNvbGxhcHNlZCAuZGlmZi10b2dnbGV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5pbmxpbmUtZGlmZi5jb2xsYXBzZWQgLmRpZmYtYm9keXttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxvcGFjaXR5IC4yNXMgZWFzZTt2aXNpYmlsaXR5OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS5kaWZmLWZpbGUtbmFtZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi44MTI1cmVtO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LmRpZmYtcGF0aHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouNjg3NXJlbX0uZGlmZi1zdGF0dXN7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmRpZmYtc3RhdHVzLmRpZmYtc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5kaWZmLXN0YXR1cy5kaWZmLWVycm9ye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5kaWZmLXN0YXR1cy5kaWZmLXBlbmRpbmd7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0uZGlmZi1vcGVuLWZpbGV7ZmxleC1zaHJpbms6MDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNik7YmFja2dyb3VuZDojZmZmZGY4Yjg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3BhZGRpbmc6M3B4IDlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjUwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsY29sb3IgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2V9LmRpZmYtb3Blbi1maWxlOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDFhO2JvcmRlci1jb2xvcjojYzU2NTNkNDc7Y29sb3I6dmFyKC0tYWNjZW50KX0uZGlmZi1ib2R5e292ZXJmbG93OmhpZGRlbjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO2JhY2tncm91bmQ6I2ZmZmRmOGE2fS5kaWZmLWNvbHVtbnN7ZGlzcGxheTpmbGV4O2dhcDoxcHg7YmFja2dyb3VuZDojN2Q1YjM5MTQ7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LmRpZmYtY29se2ZsZXg6MSAxIDA7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmZGY4ZDk7b3ZlcmZsb3c6aGlkZGVufS5kaWZmLWNvbC1oYWxme2ZsZXg6MX0uZGlmZi1jb2wtZnVsbHtmbGV4Om5vbmU7d2lkdGg6MTAwJX0uZGlmZi1jb2wtbGFiZWx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW07YmFja2dyb3VuZDojN2Q1YjM5MGQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KX0uZGlmZi1saW5le3BhZGRpbmc6M3B4IDEycHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmRpZmYtYWRke2JhY2tncm91bmQ6IzRmN2E1ODE0O2NvbG9yOiMyYzU1MzU7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoNzksMTIyLDg4LC41KX0uZGlmZi1yZW1vdmV7YmFja2dyb3VuZDojYjI0ZjQ1MGY7Y29sb3I6IzdjMmEyMztib3JkZXItbGVmdDoycHggc29saWQgcmdiYSgxNzgsNzksNjksLjQ1KX0uZGlmZi1jb250ZXh0e2JhY2tncm91bmQ6I2ZmZmRmOGRiO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItbGVmdDoycHggc29saWQgdHJhbnNwYXJlbnR9LmRpZmYtaHVua3tiYWNrZ3JvdW5kOiM0YTZmYTUxNztjb2xvcjp2YXIoLS1pbmZvKTtib3JkZXItbGVmdDoycHggc29saWQgcmdiYSg3NCwxMTEsMTY1LC4zNSk7Zm9udC13ZWlnaHQ6NjUwfS5kaWZmLWVtcHR5e3BhZGRpbmc6MTBweCAxMnB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7YmFja2dyb3VuZDojZmZmZGY4ZGJ9Lm1hcmtkb3duLWNvbnRlbnR7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3JtYWw7b3ZlcmZsb3cteDpoaWRkZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2sgcHJle292ZXJmbG93LXg6aGlkZGVuO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5tYXJrZG93bi1jb250ZW50IHB7bWFyZ2luOjAgMCA4cHg7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Lm1hcmtkb3duLWNvbnRlbnQgcDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tY29udGVudCBzdHJvbmd7Zm9udC13ZWlnaHQ6NjAwfS5tYXJrZG93bi1jb250ZW50IGVte2ZvbnQtc3R5bGU6aXRhbGljfS5tYXJrZG93bi1jb250ZW50IHVsLC5tYXJrZG93bi1jb250ZW50IG9se21hcmdpbjo4cHggMDtwYWRkaW5nLWxlZnQ6MjBweH0ubWFya2Rvd24tY29udGVudCBsaXttYXJnaW46NHB4IDA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Lm1hcmtkb3duLWNvbnRlbnQgaDEsLm1hcmtkb3duLWNvbnRlbnQgaDIsLm1hcmtkb3duLWNvbnRlbnQgaDN7bWFyZ2luOjE2cHggMCA4cHg7Zm9udC13ZWlnaHQ6NjAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGgxe2ZvbnQtc2l6ZToxLjI1cmVtfS5tYXJrZG93bi1jb250ZW50IGgye2ZvbnQtc2l6ZToxLjFyZW19Lm1hcmtkb3duLWNvbnRlbnQgaDN7Zm9udC1zaXplOjFyZW19Lm1hcmtkb3duLWNvbnRlbnQgYmxvY2txdW90ZXttYXJnaW46OHB4IDA7cGFkZGluZzo4cHggMTJweDtib3JkZXItbGVmdDozcHggc29saWQgdmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNjNTY1M2QwZjtib3JkZXItcmFkaXVzOjAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Lm1hcmtkb3duLWNvbnRlbnQgYXtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsfS5tYXJrZG93bi1jb250ZW50IGltZ3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30ubWFya2Rvd24tY29udGVudCBjb2RlOm5vdCguY29kZS1ibG9jayk6bm90KC5jb2RlLWlubGluZSl7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07YmFja2dyb3VuZDojOTY3NjU1MWY7cGFkZGluZzoycHggNXB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGx9Lm1hcmtkb3duLWNvbnRlbnQgY29kZS5jb2RlLWlubGluZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtiYWNrZ3JvdW5kOiM5Njc2NTUxZjtwYWRkaW5nOjJweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGUtd3JhcHttYXJnaW46MTJweCAwO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6YXV0bztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7d2lkdGg6MTAwJTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7Zm9udC1zaXplOi44MTI1cmVtO3doaXRlLXNwYWNlOm5vcm1hbH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGUgdGgsLm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRke2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nOjZweCAxMHB4O3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRoe2JhY2tncm91bmQ6Izk2NzY1NTFhO2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDJuKXtiYWNrZ3JvdW5kOiM5Njc2NTUwYX0ubWFya2Rvd24tY29udGVudCAuY29kZS1ibG9ja3ttYXJnaW46MTJweCAwO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMWYxYjE3O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjIsOTEsNjQsLjM1KTtib3gtc2hhZG93OjAgMnB4IDhweCAjMDAwMDAwMjZ9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2staGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzo2cHggMTJweDtiYWNrZ3JvdW5kOiM3YTViNDAzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDEyMiw5MSw2NCwuMik7Z2FwOjhweH0ubWFya2Rvd24tY29udGVudCAuY29kZS1sYW5ne2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43cmVtO2NvbG9yOiM4YzczNWY7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi43cmVtO3BhZGRpbmc6NHB4IDEwcHg7Ym9yZGVyLXJhZGl1czo2cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7YmFja2dyb3VuZDojZmZmZmZmMWE7Y29sb3I6I2Q5YzRiMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4LXNocmluazowfS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWNvcHk6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmMmU7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2ZmZmZmZjQwfS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWNvcHkuY29waWVke2NvbG9yOiM3ZmEzNmY7Ym9yZGVyLWNvbG9yOiM3ZmEzNmY4MDtiYWNrZ3JvdW5kOiM3ZmEzNmYyNn0ubWFya2Rvd24tY29udGVudCBwcmV7bWFyZ2luOjA7cGFkZGluZzoxMnB4O292ZXJmbG93LXg6aGlkZGVuO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5tYXJrZG93bi1jb250ZW50IHByZSBjb2Rle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojZjVlYWRjO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cGFkZGluZzowO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2t9LmlucHV0LXBhbmVse3BhZGRpbmc6NnB4IDEwcHg7cGFkZGluZy1ib3R0b206Y2FsYyg2cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKTtmbGV4LXNocmluazowO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjY7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3RvdWNoLWFjdGlvbjpwYW4teTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdmlzaWJpbGl0eSAwc30uaW5wdXQtY29tcG9zZXJ7YmFja2dyb3VuZDojZmZmZmZmZTA7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czoyMnB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDAgMTZweCAjYzU2NTNkMTQ7YmFja2dyb3VuZDojZmZmZmZmZmF9LmNvbXBvc2VyLXN0YXR1cy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MCAxMHB4O21pbi1oZWlnaHQ6MDt0cmFuc2l0aW9uOnBhZGRpbmcgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY29tcG9zZXItc3RhdHVzLXJvdz4qe2ZsZXgtc2hyaW5rOjB9LmNvbXBvc2VyLXN0YXR1cy1yb3c6aGFzKD4qOm5vdCguaGlkZGVuKSl7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjB9QHN1cHBvcnRzIG5vdCBzZWxlY3Rvcig6aGFzKCopKXsuY29tcG9zZXItc3RhdHVzLXJvdzpub3QoOmVtcHR5KXtwYWRkaW5nLXRvcDo0cHh9fS5jb21wb3Nlci1tYWluLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6NDRweH0uY29tcG9zZXItYWN0aW9ucy1sZWZ0LC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmbGV4LXNocmluazowfS5jb21wb3Nlci1pbnB1dC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uY29tcG9zZXItaW5saW5lLWNvbmZpZ3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjA7Z2FwOjRweH0uY29tcG9zZXItY29uZmlnLWNvbnRyb2xze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7bWluLXdpZHRoOjB9LmNvbXBvc2VyLWNvbmZpZy1jaGlwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDttaW4taGVpZ2h0OjI4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6cG9pbnRlcn0uY29tcG9zZXItY29uZmlnLWNoaXB7bWF4LXdpZHRoOjc2cHg7cGFkZGluZzowIDhweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojZjZmMWU4Yjg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY29tcG9zZXItY29uZmlnLWNoaXAtbW9kZXtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDFhO2JvcmRlci1jb2xvcjojYzU2NTNkMzh9LmNvbXBvc2VyLWNvbmZpZy1jaGlwOmhvdmVyLC5jb21wb3Nlci1jb25maWctY2hpcDpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojZmZmOGYyZjV9LmNvbXBvc2VyLWNvbmZpZy1jaGlwOmZvY3VzLXdpdGhpbntvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO291dGxpbmUtb2Zmc2V0OjFweH0uY29tcG9zZXItY29uZmlnLW1vZGVse21heC13aWR0aDo5NnB4fS5jb21wb3Nlci1jb25maWctdGhpbmtpbmd7bWF4LXdpZHRoOjc2cHh9LmNvbXBvc2VyLWNvbmZpZy10aGlua2luZ1tkYXRhLXRoaW5raW5nPW9mZl17Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmNvbXBvc2VyLWNvbmZpZy1pY29ue2ZsZXg6MCAwIGF1dG87d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0uY29tcG9zZXItY29uZmlnLWxhYmVse21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjF9LmNvbXBvc2VyLXRleHQtcGlsbHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2JveC1zaXppbmc6Ym9yZGVyLWJveDt1c2VyLXNlbGVjdDpub25lO21heC13aWR0aDoxMTBweDtsZXR0ZXItc3BhY2luZzouMDFlbX0uY29tcG9zZXItdGV4dC1waWxsOmhvdmVyLC5jb21wb3Nlci10ZXh0LXBpbGw6Zm9jdXMtd2l0aGlue2NvbG9yOnZhcigtLWFjY2VudCl9LmNvbXBvc2VyLXRleHQtcGlsbDpmb2N1cy13aXRoaW57b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lLW9mZnNldDoxcHh9LmNvbXBvc2VyLXRleHQtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udDppbmhlcml0O29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcjthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdDpmb2N1c3tvdXRsaW5lOm5vbmV9LmNvbXBvc2VyLXRleHQtc2Vwe2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnksICNiNWE4OWEpO2ZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDoxO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5Oi42NX0ucGVybWlzc2lvbi1hY3Rpb25ze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7YW5pbWF0aW9uOnBlcm1pc3Npb24tZmFkZS1pbiAuMnMgZWFzZS1vdXR9LnBlcm1pc3Npb24tYWN0aW9ucy5oaWRkZW57ZGlzcGxheTpub25lfS5wZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWx7Zm9udC1zaXplOi43cmVtO2NvbG9yOiNkMThiMDA7bWF4LXdpZHRoOjE4MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYnRuLXBlcm1pc3Npb257Zm9udC1zaXplOi42NXJlbTtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxLjQ7Zm9udC13ZWlnaHQ6NTAwO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGJvcmRlci1jb2xvciAuMTVzfS5idG4tcGVybWlzc2lvbjpkaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpub3QtYWxsb3dlZH0uYnRuLXBlcm1pc3Npb24tYXBwcm92ZXtiYWNrZ3JvdW5kOiNmMGE1MDAyNjtjb2xvcjojZDE4YjAwO2JvcmRlci1jb2xvcjojZjBhNTAwNGR9LmJ0bi1wZXJtaXNzaW9uLWFwcHJvdmU6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDojZjBhNTAwNDB9LmJ0bi1wZXJtaXNzaW9uLWRlbnl7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYnRuLXBlcm1pc3Npb24tZGVueTpob3Zlcjpub3QoOmRpc2FibGVkKXtiYWNrZ3JvdW5kOiNkYzMyMzIxNDtjb2xvcjp2YXIoLS1kYW5nZXIpO2JvcmRlci1jb2xvcjojZGMzMjMyNGR9QGtleWZyYW1lcyBwZXJtaXNzaW9uLWZhZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9fS5hdXRvLWFwcHJvdmUtaW5kaWNhdG9yLmFjdGl2ZXtjb2xvcjojMjJjNTVlO2JvcmRlci1jb2xvcjojMjJjNTVlODA7YmFja2dyb3VuZDojMjJjNTVlMWZ9LmF1dG8tYXBwcm92ZS1pbmRpY2F0b3IuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6IzIyYzU1ZTMzO2JvcmRlci1jb2xvcjojMjJjNTVlfS5hcHByb3ZhbC1zdGF0c3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0uYXBwcm92YWwtc3RhdHMuaGlkZGVue2Rpc3BsYXk6bm9uZX0uYXBwcm92YWwtc3RhdHMtZGl2aWRlcnt3aWR0aDowO2hlaWdodDoxNnB4O21hcmdpbjowIDFweH0uYXBwcm92YWwtc3RhdHMtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjNweDttaW4taGVpZ2h0OjIycHg7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiMyMmM1NWUxYTtjb2xvcjojMjJjNTVlO2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6ZGVmYXVsdDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cztsaW5lLWhlaWdodDoxO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uYXBwcm92YWwtc3RhdHMtYmFkZ2U6aG92ZXJ7YmFja2dyb3VuZDojMjJjNTVlMmV9LmFwcHJvdmFsLXN0YXRzLWljb257c3Ryb2tlOiMyMmM1NWU7ZmxleC1zaHJpbms6MH0uYXBwcm92YWwtc3RhdHMtdG90YWx7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfUBrZXlmcmFtZXMgYXBwcm92YWwtcHVsc2V7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSl9dG97dHJhbnNmb3JtOnNjYWxlKDEpfX0uYXBwcm92YWwtc3RhdHMtcHVsc2V7YW5pbWF0aW9uOmFwcHJvdmFsLXB1bHNlIC4zcyBlYXNlLW91dH0uYXBwcm92YWwtc3RhdHMtcG9wdXB7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKDEwMCUgKyA2cHgpO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCwgIzFlMWUyZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6OHB4IDEwcHg7bWluLXdpZHRoOjE0MHB4O2JveC1zaGFkb3c6MCA0cHggMTZweCAjMDAwMDAwNDA7ei1pbmRleDoxMDA7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHh9LmFwcHJvdmFsLXN0YXRzOmhvdmVyIC5hcHByb3ZhbC1zdGF0cy1wb3B1cHtkaXNwbGF5OmZsZXh9LmFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxle2ZvbnQtc2l6ZTouNjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uYXBwcm92YWwtc3RhdHMtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnksICNjY2MpO3doaXRlLXNwYWNlOm5vd3JhcH0uYXBwcm92YWwtc3RhdHMtcm93LWljb257d2lkdGg6MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNzJyZW19LmFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbHtmbGV4OjF9LmFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudHtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5LCAjZWVlKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWluLXdpZHRoOjIwcHg7dGV4dC1hbGlnbjpyaWdodH0uYXBwcm92YWwtc3RhdHMtcm93LXRvdGFse2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZy10b3A6NHB4O21hcmdpbi10b3A6MnB4O2NvbG9yOiMyMmM1NWV9LmFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCAuYXBwcm92YWwtc3RhdHMtcm93LWNvdW50e2NvbG9yOiMyMmM1NWV9LnF1ZXVlLWJhcnstLXFiLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNCk7LS1xYi1iZy1zdHJvbmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIyKTstLXFiLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjQpOy0tcWItdGV4dDogdmFyKC0tdGV4dC1wcmltYXJ5LCAjMWYxZDFhKTstLXFiLXRleHQtbXV0ZWQ6IHZhcigtLXRleHQtbXV0ZWQsICM2YjY1NWMpOy0tcWItc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMCwgMCwgMCwgLjEpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMDYpOy0tcWItc2hhZG93LWhvdmVyOiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgLjA2KX1bZGF0YS10aGVtZT1kYXJrXSAucXVldWUtYmFyLC50aGVtZS1kYXJrIC5xdWV1ZS1iYXJ7LS1xYi1iZzogcmdiYSg0MCwgMzgsIDM0LCAuNik7LS1xYi1iZy1zdHJvbmc6IHJnYmEoNjAsIDU2LCA1MCwgLjc0KTstLXFiLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpfS5pbnB1dC1wYW5lbD4ucXVldWUtYmFyLWhvc3R7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmNhbGMoMTAwJSArIDZweCk7ei1pbmRleDozMDttYXgtd2lkdGg6bWluKDQ0MHB4LGNhbGMoMTAwJSAtIDIwcHgpKTtwb2ludGVyLWV2ZW50czpub25lfS5xdWV1ZS1iYXItaG9zdFtoaWRkZW5de2Rpc3BsYXk6bm9uZX0ucXVldWUtYmFye3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6NXB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO3BhZGRpbmc6MDttYXJnaW46MH1Aa2V5ZnJhbWVzIHF1ZXVlQmFySXRlbUVudGVyezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucXVldWUtYmFyLWhlYWR7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6M3B4IDZweCAzcHggMTBweDtiYWNrZ3JvdW5kOnZhcigtLXFiLWJnKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcWItYm9yZGVyKTtib3JkZXItcmFkaXVzOjEzcHg7Ym94LXNoYWRvdzp2YXIoLS1xYi1zaGFkb3cpLGluc2V0IDAgMXB4ICNmZmYzO2FuaW1hdGlvbjpxdWV1ZUJhckl0ZW1FbnRlciAuMjJzIGN1YmljLWJlemllciguMiwuOCwuMiwxKSBib3RofS5xdWV1ZS1iYXItaGVhZC1jb3VudHtmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1xYi10ZXh0LW11dGVkKTtsZXR0ZXItc3BhY2luZzouMDJlbTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0ucXVldWUtYmFyLWNsZWFyLWFsbHtmb250LXNpemU6MTFweDtwYWRkaW5nOjJweCA5cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO2NvbG9yOnZhcigtLXFiLXRleHQtbXV0ZWQpO2JvcmRlci1yYWRpdXM6MTBweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlfS5xdWV1ZS1iYXItY2xlYXItYWxsOmhvdmVye2JhY2tncm91bmQ6I2RjNTA0NjFmO2JvcmRlci1jb2xvcjojZGM1MDQ2NTk7Y29sb3I6I2Q4NDgzY30ucXVldWUtYmFyLWxpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDo1cHg7d2lkdGg6MTAwJX0ucXVldWUtYmFyLWl0ZW17cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6NHB4IDZweCA0cHggNXB4O21heC13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOnZhcigtLXFiLWJnKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcWItYm9yZGVyKTtib3JkZXItcmFkaXVzOjE1cHg7Ym94LXNoYWRvdzp2YXIoLS1xYi1zaGFkb3cpLGluc2V0IDAgMXB4ICNmZmYzO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuMzU7Y29sb3I6dmFyKC0tcWItdGV4dCk7Y3Vyc29yOmdyYWI7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2U7YW5pbWF0aW9uOnF1ZXVlQmFySXRlbUVudGVyIC4yMnMgY3ViaWMtYmV6aWVyKC4yLC44LC4yLDEpIGJvdGh9LnF1ZXVlLWJhci1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tcWItYmctc3Ryb25nKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdy1ob3ZlciksaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS5xdWV1ZS1iYXItaXRlbS5kcmFnZ2luZ3tjdXJzb3I6Z3JhYmJpbmc7dHJhbnNmb3JtOnNjYWxlKDEuMDQpO2JveC1zaGFkb3c6MCA4cHggMjJweCAjMDAwMzt6LWluZGV4OjUwO29wYWNpdHk6Ljk0fS5xdWV1ZS1iYXItaXRlbS1zbGlkaW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnMgY3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpfS5xdWV1ZS1iYXItaXRlbS1pbmRleHtmbGV4OjAgMCBhdXRvO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UsICNmZmYpO2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxfS5xdWV1ZS1iYXItaXRlbS10ZXh0e2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXFiLXRleHQpO2ZvbnQtd2VpZ2h0OjUwMH0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZSwucXVldWUtYmFyLWl0ZW0tZGVsZXRle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOiNmZmZmZmYyOTtjb2xvcjp2YXIoLS1xYi10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjtmbGV4OjAgMCBhdXRvO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsdHJhbnNmb3JtIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UsZmlsdGVyIC4xNXMgZWFzZTtwYWRkaW5nOjB9LnF1ZXVlLWJhci1pdGVtLXByb21vdGV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQsICNjNTY1M2QpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSwgI2ZmZil9LnF1ZXVlLWJhci1pdGVtLXByb21vdGU6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4wOCk7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfS5xdWV1ZS1iYXItaXRlbS1kZWxldGU6aG92ZXJ7YmFja2dyb3VuZDojZGM1MDQ2MmU7Y29sb3I6I2Q4NDgzY30ucXVldWUtYmFyLWl0ZW0tZGVsZXRlOmFjdGl2ZSwucXVldWUtYmFyLWl0ZW0tcHJvbW90ZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LnF1ZXVlLWJhci1pdGVtLXByb21vdGUgc3ZnLC5xdWV1ZS1iYXItaXRlbS1kZWxldGUgc3Zne2ZsZXgtc2hyaW5rOjB9LnF1ZXVlLWJhci5xdWV1ZS1iYXItY2FwYWNpdHkgLnF1ZXVlLWJhci1pdGVtey0tcWItYmc6IHJnYmEoMjIwLCAxMjAsIDYwLCAuMik7LS1xYi1iZy1zdHJvbmc6IHJnYmEoMjIwLCAxMjAsIDYwLCAuMjgpfS5xdWV1ZS1iYXIucXVldWUtYmFyLWluZmxpZ2h0IC5xdWV1ZS1iYXItaXRlbXtib3gtc2hhZG93OnZhcigtLXFiLXNoYWRvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjQwLDAgMCAwIDFweCAjYzU2NTNkMmV9QG1lZGlhKG1heC13aWR0aDo1NjBweCl7LmlucHV0LXBhbmVsPi5xdWV1ZS1iYXItaG9zdHtyaWdodDo4cHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE2cHgpfX0uaW5wdXQtaGludHtmb250LXNpemU6LjVyZW07bGluZS1oZWlnaHQ6MS4yO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcDt1c2VyLXNlbGVjdDpub25lO29wYWNpdHk6Ljc7bWF4LXdpZHRoOjM4Y2g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmNvbXBvc2VyLXRvcC1yb3d7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDowfS5jb21wb3Nlci10b3Atcm93Omhhcyg+LnRvZG8tcHJvZ3Jlc3M6bm90KC5oaWRkZW4pKSwuY29tcG9zZXItdG9wLXJvdzpoYXMoPi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIpe21hcmdpbi1ib3R0b206NnB4fS50b2RvLXByb2dyZXNze21hcmdpbi1ib3R0b206NnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvZG8tcHJvZ3Jlc3MuaGlkZGVue2Rpc3BsYXk6bm9uZX0uY29tcG9zZXItdG9wLXJvdz4udG9kby1wcm9ncmVzc3tmbGV4OjE7bWluLXdpZHRoOjA7bWFyZ2luLWJvdHRvbTowfS50b2RvLXByb2dyZXNzLWhlYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6NHB4IDhweDtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO2dhcDo4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b2RvLXByb2dyZXNzLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0udG9kby1wcm9ncmVzcy1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4td2lkdGg6MDtmbGV4LXNocmluazowO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0udG9kby1wcm9ncmVzcy1yaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDttaW4td2lkdGg6MTZweDtmbGV4LXNocmluazowfS50b2RvLXByb2dyZXNzLXJpbmcgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS50b2RvLXJpbmctdHJhY2t7c3Ryb2tlOiNjNTY1M2QyZX0udG9kby1yaW5nLWZpbGx7c3Ryb2tlOnZhcigtLWFjY2VudCk7c3Ryb2tlLWRhc2hhcnJheTo5Ny4zOTtzdHJva2UtZGFzaG9mZnNldDpjYWxjKDk3LjM5ICogKDEgLSB2YXIoLS1wcm9ncmVzcywgMCkpKTt0cmFuc2l0aW9uOnN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZX0udG9kby1wcm9ncmVzcy1yaW5nOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTFweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MS41cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjM1KTthbmltYXRpb246dG9kb1Byb2dyZXNzU3BpbiAuOXMgbGluZWFyIGluZmluaXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9QGtleWZyYW1lcyB0b2RvUHJvZ3Jlc3NTcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXtodG1sOm5vdCguaXMtd2FuZC1hcHApIC50b2RvLXByb2dyZXNzLXJpbmc6YWZ0ZXJ7YW5pbWF0aW9uOm5vbmU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9fS50b2RvLXByb2dyZXNzLWNvdW50ZXJ7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS50b2RvLXByb2dyZXNzLWZpbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2JvdHRvbTowO3dpZHRoOmNhbGModmFyKC0tcHJvZ3Jlc3MsIDApICogMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2M1NjUzZDQ3LCNjNTY1M2QxYSk7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4O3RyYW5zaXRpb246d2lkdGggLjM1cyBlYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDowfS50b2RvLXByb2dyZXNzLWZpbGw6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4O2JvdHRvbTo0cHg7cmlnaHQ6LTFweDt3aWR0aDoycHg7YmFja2dyb3VuZDojYzU2NTNkOTk7Ym9yZGVyLXJhZGl1czoxcHh9LnRvZG8tcHJvZ3Jlc3MtdGFzay13cmFwe2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nLWxlZnQ6OHB4fS50b2RvLXByb2dyZXNzLXRhc2t7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDoxO21pbi13aWR0aDowO3RleHQtYWxpZ246cmlnaHR9LnRvZG8tcHJvZ3Jlc3MtaGVhZGVyOmhhcygudG9kby1wcm9ncmVzcy10YXNrOm5vdCg6ZW1wdHkpKSAudG9kby1wcm9ncmVzcy10YXNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYwLCNmZmZmZmY4YyAxMiUgODglLCNmZmYwKTtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnRvZG8tcHJvZ3Jlc3MtY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0udG9kby1wcm9ncmVzcy5leHBhbmRlZCAudG9kby1wcm9ncmVzcy1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udG9kby1wcm9ncmVzcy1ib2R5e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTpjYWxjKDEwMCUgKyA2cHgpO2JhY2tncm91bmQ6I2ZmZmJmNmZhO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjhweCAxMHB4O2JveC1zaGFkb3c6MCA4cHggMjRweCAjMDAwMDAwMTQsMCAycHggNnB4ICMwMDAwMDAwYTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTttYXgtaGVpZ2h0OjMyMHB4O292ZXJmbG93LXk6YXV0bzt6LWluZGV4OjMwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjE4cyBlYXNlfS50b2RvLXByb2dyZXNzLWJvZHkuaGlkZGVue2Rpc3BsYXk6bm9uZX0udG9kby1wcm9ncmVzcy1ib2R5LmV4cGFuZGVke29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtwb2ludGVyLWV2ZW50czphdXRvfS50b2RvLXByb2dyZXNzLWxpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxcHh9LnRvZG8tcHJvZ3Jlc3MtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDhweDtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xpbmUtaGVpZ2h0OjEuMzU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvZG8tcHJvZ3Jlc3MtaXRlbSsudG9kby1wcm9ncmVzcy1pdGVte2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MH0udG9kby1wcm9ncmVzcy1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6OHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjhweH0udG9kby1wcm9ncmVzcy1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6OHB4fS50b2RvLXByb2dyZXNzLWl0ZW0uYWN0aXZle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6I2M1NjUzZDEyfS50b2RvLXByb2dyZXNzLWl0ZW0uZG9uZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO3RleHQtZGVjb3JhdGlvbi1jb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0udG9kby1wcm9ncmVzcy1pdGVtPnNwYW46bGFzdC1jaGlsZHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50b2RvLWl0ZW0taWNvbnt3aWR0aDoxNnB4O21pbi13aWR0aDoxNnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTouNzVyZW07ZmxleC1zaHJpbms6MH0udG9kby1pdGVtLWljb24ucGVuZGluZ3tjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0udG9kby1pdGVtLWljb24uYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudCl9LnRvZG8taXRlbS1pY29uLmRvbmV7Y29sb3I6IzRhN2E0Zn0uZm9sZGVyLXBpY2tlci1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTo4cHh9LmZvbGRlci1waWNrZXItcXVpY2stYnRue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjRweCA4cHg7YmFja2dyb3VuZDojZmZmOTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5mb2xkZXItcGlja2VyLXF1aWNrLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmZlNjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2xkZXItYnJlYWRjcnVtYntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO2dhcDoycHg7cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6I2ZmZjY7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bWFyZ2luLWJvdHRvbTo0cHh9LmZvbGRlci1waWNrZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6NnB4IDhweDtiYWNrZ3JvdW5kOiNmZmZmZmY4MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKX0uZm9sZGVyLXBpY2tlci1pY29ue2ZvbnQtc2l6ZToxcmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXgtc2hyaW5rOjB9LmZvbGRlci1waWNrZXItaW5wdXR7ZmxleDoxO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtvdXRsaW5lOm5vbmU7cGFkZGluZzo0cHh9LmZvbGRlci1waWNrZXItaW5wdXQ6Zm9jdXN7YmFja2dyb3VuZDojZmZmYztib3JkZXItcmFkaXVzOjRweH0uZm9sZGVyLXBpY2tlci1kcm9wZG93bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWVsZXZhdGVkKTt6LWluZGV4OjUwO21heC1oZWlnaHQ6MjQwcHg7b3ZlcmZsb3cteTphdXRvO21hcmdpbi10b3A6NHB4fS5mb2xkZXItcGlja2VyLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi44MTI1cmVtO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5mb2xkZXItcGlja2VyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LmZvbGRlci1waWNrZXItaXRlbS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS5mb2xkZXItcGlja2VyLWl0ZW0taWNvbntmb250LXNpemU6Ljg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uZm9sZGVyLXBpY2tlci1sb2FkaW5ne3BhZGRpbmc6OHB4IDEwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NXJlbX0uZm9sZGVyLXBpY2tlci1lcnJvcntwYWRkaW5nOjhweCAxMHB4O2NvbG9yOnZhcigtLWRhbmdlcik7Zm9udC1zaXplOi43NXJlbTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luOjRweCA4cHh9LmZvbGRlci1waWNrZXItY29udGFpbmVyLmRyYWctb3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pfS5mb2xkZXItcGlja2VyLWNvbnRhaW5lci5kcmFnLW92ZXIgLmZvbGRlci1waWNrZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvbGRlci1yZWNlbnQtc2VjdGlvbntwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7bWFyZ2luLWJvdHRvbTo0cHh9LmZvbGRlci1yZWNlbnQtdGl0bGV7Zm9udC1zaXplOi42ODc1cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDVlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tYm90dG9tOjRweH0uZm9sZGVyLXJlY2VudC1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCA4cHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi43NXJlbTtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uZm9sZGVyLXJlY2VudC1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5mb2xkZXItcmVjZW50LWl0ZW0tcGF0aHtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5mb2xkZXItcGlja2VyLWlucHV0LmludmFsaWR7Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcik7YmFja2dyb3VuZDojYjI0ZjQ1MTR9LmZvbGRlci1waWNrZXItaW5wdXQuaW52YWxpZDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIDJweCAjYjI0ZjQ1MzN9LmZvbGRlci1waWNrZXItdmFsaWRhdGlvbntmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tZGFuZ2VyKTtwYWRkaW5nOjJweCA0cHg7bWFyZ2luLXRvcDoycHg7ZGlzcGxheTpub25lfS5mb2xkZXItcGlja2VyLXZhbGlkYXRpb24udmlzaWJsZXtkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLWNvbXBhY3R7cG9zaXRpb246c3RpY2t5O21hcmdpbi1ib3R0b206OHB4fS5mb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxMHB4O2JhY2tncm91bmQ6I2ZmZmZmZjgwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZvbGRlci1waWNrZXItY29tcGFjdC1yb3c6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQ6I2ZmZmM7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvbGRlci1waWNrZXItY29tcGFjdC1pY29ue2ZvbnQtc2l6ZTouODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXgtc2hyaW5rOjB9LmZvbGRlci1waWNrZXItY29tcGFjdC1pbnB1dHtmbGV4OjE7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO291dGxpbmU6bm9uZTtwYWRkaW5nOjJweCAwO21pbi13aWR0aDowfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5mb2xkZXItcGlja2VyLXRvZ2dsZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzo0cHggNnB4O2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NHB4O3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZvbGRlci1waWNrZXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uZm9sZGVyLXBpY2tlci1xdWljay1yb3d7ZGlzcGxheTpmbGV4O2dhcDo2cHg7cGFkZGluZzo2cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS5mb2xkZXItcGlja2VyLXF1aWNrLXJvdyAuZm9sZGVyLXBpY2tlci1xdWljay1idG57ZmxleDoxO3BhZGRpbmc6NHB4IDhweDtmb250LXNpemU6LjY4NzVyZW19LndvcmtpbmctZGlyLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7Ym90dG9tOjVweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6MnB4IDZweDtiYWNrZ3JvdW5kOiNjNTY1M2QxNDtib3JkZXItcmFkaXVzOjRweDtmb250LXNpemU6LjY1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTttYXgtd2lkdGg6MTgwcHg7ei1pbmRleDoyO3BvaW50ZXItZXZlbnRzOmF1dG99LndvcmtpbmctZGlyLWluZGljYXRvcjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KX0ud29ya2luZy1kaXItaW5kaWNhdG9yLWljb257Zm9udC1zaXplOi43NXJlbTtmbGV4LXNocmluazowfS53b3JraW5nLWRpci1pbmRpY2F0b3ItcGF0aHtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbn0ud29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGg6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDozcHh9LndvcmtpbmctZGlyLWluZGljYXRvci1wYXRoOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU1Mjtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0ud29ya2luZy1kaXItaW5kaWNhdG9yOmhvdmVyIC53b3JraW5nLWRpci1pbmRpY2F0b3ItcGF0aHtzY3JvbGxiYXItd2lkdGg6dGhpbn0ud29ya2luZy1kaXItaW5kaWNhdG9yOmhvdmVyIC53b3JraW5nLWRpci1pbmRpY2F0b3ItcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjRweH0uaW5wdXQtdGV4dGFyZWF7LS1pbnB1dC1tYXgtaGVpZ2h0OiAxMjBweDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7cGFkZGluZzo5cHggOHB4O291dGxpbmU6bm9uZTtyZXNpemU6bm9uZTttaW4taGVpZ2h0OjM2cHg7bWF4LWhlaWdodDp2YXIoLS1pbnB1dC1tYXgtaGVpZ2h0KTt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpoaWRkZW47b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RyYW5zaXRpb246aGVpZ2h0IC4xNXMgZWFzZS1vdXQ7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjEuNDt0b3VjaC1hY3Rpb246cGFuLXk7c2Nyb2xsYmFyLWd1dHRlcjpzdGFibGV9QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsuaW5wdXQtdGV4dGFyZWF7LS1pbnB1dC1tYXgtaGVpZ2h0OiBtaW4oMTYwcHgsIDM1ZHZoKTtvdmVyZmxvdy15OmF1dG99fUBzdXBwb3J0cyBub3QgKGhlaWdodDogMWR2aCl7QG1lZGlhKHBvaW50ZXI6Y29hcnNlKXsuaW5wdXQtdGV4dGFyZWF7LS1pbnB1dC1tYXgtaGVpZ2h0OiBtaW4oMTYwcHgsIDM1dmgpfX19LmlucHV0LXRleHRhcmVhOmZvY3Vze291dGxpbmU6bm9uZX0uaW5wdXQtdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOjA7b3BhY2l0eTouNjJ9LmlucHV0LXRleHRhcmVhLmlzLXRlcm1pbmFsLXBhc3N0aHJvdWdoe29wYWNpdHk6Ljc7Y3Vyc29yOmRlZmF1bHR9LmlucHV0LXRleHRhcmVhLmlzLXRlcm1pbmFsLXBhc3N0aHJvdWdoOjpwbGFjZWhvbGRlcntmb250LXN0eWxlOml0YWxpY30uY29tcG9zZXItcGlsbHthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTttaW4taGVpZ2h0OjIycHg7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2Y2ZjFlOGIzO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O3VzZXItc2VsZWN0Om5vbmV9LmNvbXBvc2VyLXBpbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZC1jb2xvcjojZjZmMWU4fS5jb21wb3Nlci1waWxsOmZvY3VzLC5jb21wb3Nlci1waWxsOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lOm5vbmV9LmNvbXBvc2VyLXBpbGwuZGlzYWJsZWQsLmNvbXBvc2VyLXBpbGxbZGlzYWJsZWRde29wYWNpdHk6LjU1O2N1cnNvcjpub3QtYWxsb3dlZH0uY29tcG9zZXItcGlsbC1jaGlwe3BhZGRpbmc6MXB4IDhweDtmb250LXNpemU6LjYyNXJlbX0uY29tcG9zZXItcGlsbC1jaGlwLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xMikpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LmNvbXBvc2VyLXBpbGwtY2hpcC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMmV9LmlzLXdhbmQtYXBwIC5pbnB1dC1jb21wb3Nlcjpub3QoOmZvY3VzLXdpdGhpbik6bm90KC5oYXMtdGV4dCkgLmF1dG8tYXBwcm92ZS1pbmRpY2F0b3J7d2lkdGg6MjRweDttaW4td2lkdGg6MjRweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7Z2FwOjB9LmlzLXdhbmQtYXBwIC5pbnB1dC1jb21wb3Nlcjpub3QoOmZvY3VzLXdpdGhpbik6bm90KC5oYXMtdGV4dCkgLmF1dG8tYXBwcm92ZS1pbmRpY2F0b3IgLmNvbXBvc2VyLXBpbGwtbGFiZWx7ZGlzcGxheTpub25lfS5jaGF0LW1vZGUtc2VsZWN0e21heC13aWR0aDo3OHB4fS5idG4tY2lyY2xle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWluLXdpZHRoOjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZsZXgtc2hyaW5rOjA7cGFkZGluZzowfS5idG4tY2lyY2xlLXNlbmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudCkgMCUsI2E4NTIyZiAxMDAlKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAxcHggNnB4ICNjNTY1M2Q0MH0uYnRuLWNpcmNsZS1zZW5kOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjA4KTtib3gtc2hhZG93OjAgM3B4IDEwcHggI2M1NjUzZDU5fS5idG4tY2lyY2xlLXNlbmQ6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpfS5idG4tY2lyY2xlLXN0b3B7YmFja2dyb3VuZDojYjI0ZjQ1MWY7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uYnRuLWNpcmNsZS1zdG9wOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKTtjb2xvcjojZmZmO3RyYW5zZm9ybTpzY2FsZSgxLjA4KX0uYnRuLWNpcmNsZS1zdG9wOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNjNTY1M2Q4YywjYTg1MjJmOGMpO2JveC1zaGFkb3c6MCAxcHggNHB4ICNjNTY1M2QyNn0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGU6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudCkgMCUsI2E4NTIyZiAxMDAlKTtib3gtc2hhZG93OjAgM3B4IDEwcHggI2M1NjUzZDU5fS5wcm9tcHQtb3B0aW1pemUtYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7cmlnaHQ6NnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjIyKTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMmYyLCNlOGM1YWU1OSk7Y29sb3I6dmFyKC0tYWNjZW50KTt6LWluZGV4OjQ7Ym94LXNoYWRvdzowIDFweCA0cHggI2M1NjUzZDFhO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmZmYWYyLCNlOGM1YWU4Yyk7Y29sb3I6dmFyKC0tYWNjZW50LWhvdmVyKTt0cmFuc2Zvcm06c2NhbGUoMS4xMik7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q1OTtib3gtc2hhZG93OjAgMnB4IDEwcHggI2M1NjUzZDM4LDAgMCAwIDNweCAjYzU2NTNkMGZ9LnByb21wdC1vcHRpbWl6ZS1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTIpO2JveC1zaGFkb3c6MCAxcHggM3B4ICNjNTY1M2QyNn0ucHJvbXB0LW9wdGltaXplLWJ0bjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNn0ucHJvbXB0LW9wdGltaXplLWJ0bjpkaXNhYmxlZDpob3Zlcnt0cmFuc2Zvcm06bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMmYyLCNlOGM1YWU1OSk7Ym94LXNoYWRvdzowIDFweCA0cHggI2M1NjUzZDFhO2JvcmRlci1jb2xvcjojYzU2NTNkMzh9LnByb21wdC1vcHRpbWl6ZS1pY29ue3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgZWFzZSxvcGFjaXR5IC4ycyBlYXNlO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMTk3LDEwMSw2MSwuMykpfS5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVyIC5wcm9tcHQtb3B0aW1pemUtaWNvbnthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXR3aW5rbGUgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDNweCByZ2JhKDE5NywxMDEsNjEsLjQpKX1Aa2V5ZnJhbWVzIHByb21wdC1vcHRpbWl6ZS10d2lua2xlezAlLHRve3RyYW5zZm9ybTpyb3RhdGUoMCkgc2NhbGUoMSl9NTAle3RyYW5zZm9ybTpyb3RhdGUoMTJkZWcpIHNjYWxlKDEuMTIpfX0ucHJvbXB0LW9wdGltaXplLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtiYWNrZ3JvdW5kOmNvbmljLWdyYWRpZW50KGZyb20gMGRlZyx0cmFuc3BhcmVudCAwZGVnLHZhcigtLWFjY2VudCkgMjcwZGVnLHRyYW5zcGFyZW50IDM2MGRlZyk7bWFzazpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMTFweCk7LXdlYmtpdC1tYXNrOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsdHJhbnNwYXJlbnQgMTBweCxibGFjayAxMXB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlfS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLWxvYWRpbmd7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMiwjZThjNWFlODApO2JvcmRlci1jb2xvcjojYzU2NTNkNjY7Ym94LXNoYWRvdzowIDJweCAxMnB4ICNjNTY1M2Q0MCwwIDAgMCAzcHggI2M1NjUzZDE0fS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLWxvYWRpbmcgLnByb21wdC1vcHRpbWl6ZS1pY29ue2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtcHVsc2UgMS4xcyBlYXNlLWluLW91dCBpbmZpbml0ZX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5nIC5wcm9tcHQtb3B0aW1pemUtc3Bpbm5lcntvcGFjaXR5OjE7YW5pbWF0aW9uOnByb21wdC1vcHRpbWl6ZS1zcGluIC45cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXB1bHNlezAlLHRve3RyYW5zZm9ybTpzY2FsZSguODgpO29wYWNpdHk6Ljh9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KTtvcGFjaXR5OjF9fS5pbnB1dC1jb21wb3Nlci5pcy1vcHRpbWl6aW5ne2JvcmRlci1jb2xvcjojYzU2NTNkNmI7Ym94LXNoYWRvdzowIDAgMCAycHggI2M1NjUzZDFhLDAgMCAxOHB4ICNjNTY1M2QyNH0uaW5wdXQtY29tcG9zZXIuaXMtb3B0aW1pemluZyAuY29tcG9zZXItaW5wdXQtd3JhcDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTAwZGVnLHRyYW5zcGFyZW50IDAlLHRyYW5zcGFyZW50IDM4JSxyZ2JhKDIxNCwxMjMsODIsLjE2KSA1MCUsdHJhbnNwYXJlbnQgNjIlLHRyYW5zcGFyZW50IDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMjAlIDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246MjIwJSAwO2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtZmxvdyAxLjZzIGxpbmVhciBpbmZpbml0ZTt6LWluZGV4OjB9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtZmxvd3swJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIyMCUgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjAlIDB9fS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLXNoYWtle2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtc2hha2UgLjRzIGVhc2Utb3V0O2NvbG9yOnZhcigtLWRhbmdlcil9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtc2hha2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtM3B4KX00MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgzcHgpfTYwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCl9fUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey5wcm9tcHQtb3B0aW1pemUtYnRue3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHh9LnByb21wdC1vcHRpbWl6ZS1pY29ue3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9fS5idG4tY2lyY2xlLWFjdGlvbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZsZXgtc2hyaW5rOjA7cGFkZGluZzowfS5idG4tY2lyY2xlLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpzY2FsZSgxLjA4KX0uYnRuLWNpcmNsZS1hY3Rpb246YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS5idG4tY2lyY2xlLWFjdGlvbi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQsIHJnYmEoMTk3LCAxMDEsIDYxLCAuMTQpKTtjb2xvcjp2YXIoLS1hY2NlbnQpfS5idG4tY2lyY2xlLWFjdGlvbi5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMzh9LmNoYXQtbW9kZS10cmlve2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXB9LmNoYXQtbW9kZS10cmlvLXBpbGx7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0uY2hhdC1tb2RlLXRyaW8tdGFne2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5LCAjYjVhODlhKTtsZXR0ZXItc3BhY2luZzouMDRlbTttYXJnaW4tcmlnaHQ6NHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtvcGFjaXR5Oi43NX0uZW1wdHktc3RhdGUtdHJpby13cmFwe21hcmdpbi10b3A6MTRweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2FuaW1hdGlvbjplbXB0eVN0YXRlVHJpb0ZhZGVJbiAuNHMgZWFzZS1vdXR9LmVtcHR5LXN0YXRlLXRyaW8taGludHtmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMmVtfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93bntnYXA6NHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojZjZmMWU4OTk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDFweCAzcHggIzAwMDAwMDBhfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6Ljc4cmVtO3BhZGRpbmc6M3B4IDZweDtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGZ9LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxsOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNvbXBvc2VyLXRleHQtbGFiZWx7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21heC13aWR0aDoxNDBweH1Aa2V5ZnJhbWVzIGVtcHR5U3RhdGVUcmlvRmFkZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdHttYXJnaW4tcmlnaHQ6NHB4O2dhcDozcHg7b3BhY2l0eTouNTU7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlcjpob3ZlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdCwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmZvY3VzLXdpdGhpbiwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmhvdmVye29wYWNpdHk6MX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6LjY4NzVyZW07cGFkZGluZzoycHggNnB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiNmNmYxZTg4Yztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2xpbmUtaGVpZ2h0OjF9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMWE7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY29tcG9zZXItdGV4dC1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07bWF4LXdpZHRoOjg4cHg7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNvbXBvc2VyLXRleHQtc2Vwe2Rpc3BsYXk6bm9uZX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuY2hhdC1tb2RlLXRyaW8tZHJvcGRvd257cGFkZGluZzo2cHggMTBweDtnYXA6MnB4fS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY29tcG9zZXItdGV4dC1sYWJlbHttYXgtd2lkdGg6MTAwcHh9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGx7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoycHggNXB4fS5jaGF0LW1vZGUtdHJpby1jb21wYWN0IC5jb21wb3Nlci10ZXh0LWxhYmVse21heC13aWR0aDo2NHB4fX0uY29tcG9zZXItcGx1cy1wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtib3R0b206Y2FsYyh2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSArIDU2cHgpO3otaW5kZXg6Mjg7bWluLXdpZHRoOjI0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAyOHB4KTtiYWNrZ3JvdW5kOiNmZmZmZmZmYTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjE2cHg7Ym94LXNoYWRvdzowIDEycHggMjhweCAjMDAwMDAwMmUsMCAycHggNnB4ICMwMDAwMDAxNDtwYWRkaW5nOjZweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7YW5pbWF0aW9uOnBsdXNQb3BvdmVySW4gLjE4cyBlYXNlLW91dDt0cmFuc2Zvcm0tb3JpZ2luOjE2cHggY2FsYygxMDAlICsgOHB4KX0uY29tcG9zZXItcGx1cy1wb3BvdmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBwbHVzUG9wb3ZlckluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucGx1cy1wb3BvdmVyLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxMHB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOi44MnJlbTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCV9LnBsdXMtcG9wb3Zlci1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDE0fS5wbHVzLXBvcG92ZXItaXRlbTphY3RpdmV7YmFja2dyb3VuZDojYzU2NTNkMjR9LnBsdXMtcG9wb3Zlci1pY29ue2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmbGV4LXNocmluazowfS5wbHVzLXBvcG92ZXItbGFiZWx7ZmxleDoxO2xpbmUtaGVpZ2h0OjEuMn0ucGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZXtmb250LXNpemU6LjY4cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMwMDAwMDAwZDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnBsdXMtcG9wb3Zlci1pdGVtLmlzLW9uLC5wbHVzLXBvcG92ZXItaXRlbS5pcy1vbiAucGx1cy1wb3BvdmVyLWljb257Y29sb3I6dmFyKC0tYWNjZW50KX0ucGx1cy1wb3BvdmVyLWl0ZW0uaXMtb24gLnBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnBsdXMtcG9wb3Zlci1zZXB7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1zdWJ0bGUpfS5wbHVzLXBvcG92ZXItdHJpby13cmFwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0ucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAuY29tcG9zZXItY29uZmlnLWNvbnRyb2xze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NnB4fS5wbHVzLXBvcG92ZXItdHJpby13cmFwIC5jb21wb3Nlci1jb25maWctY2hpcHt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO21pbi1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjEycHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzowIDEwcHh9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDoycHh9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNvbXBvc2VyLXRleHQtc2Vwe2Rpc3BsYXk6bm9uZX0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAuY2hhdC1tb2RlLXRyaW8tcGlsbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo3cHggMTBweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOi44MnJlbTttYXgtd2lkdGg6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxsOmhvdmVyLC5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxsOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNjNTY1M2QxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby10YWd7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xldHRlci1zcGFjaW5nOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjE7bWFyZ2luLXJpZ2h0OjA7ZmxleC1zaHJpbms6MDt3aWR0aDozNnB4fS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jb21wb3Nlci10ZXh0LWxhYmVse2ZsZXg6MTtmb250LXNpemU6LjgycmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dGV4dC1hbGlnbjpyaWdodDttYXgtd2lkdGg6MTAwJTtmb250LXdlaWdodDo1MDB9QG1lZGlhKG1heC13aWR0aDo3MjBweCl7LmNvbXBvc2VyLXBsdXMtcG9wb3ZlcnttaW4td2lkdGg6MjIwcHg7bGVmdDoxMHB4O2JvdHRvbTpjYWxjKHZhcigtLXNhZmUtYm90dG9tLCAwcHgpICsgNjBweCl9LmNvbXBvc2VyLW1haW4tcm93e2dhcDozcHg7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweH0uY29tcG9zZXItaW5saW5lLWNvbmZpZ3tnYXA6M3B4fS5jb21wb3Nlci1jb25maWctY2hpcCwucGx1cy1wb3BvdmVyLXRyaW8td3JhcCAuY29tcG9zZXItY29uZmlnLWNoaXAsLmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxse21pbi1oZWlnaHQ6NDRweH0uY29tcG9zZXItY29uZmlnLWNoaXB7cGFkZGluZzowIDdweDttYXgtd2lkdGg6NjRweH0uY29tcG9zZXItY29uZmlnLW1vZGVse21heC13aWR0aDo3NnB4fS5jb21wb3Nlci1jb25maWctdGhpbmtpbmd7bWF4LXdpZHRoOjY4cHh9LmNvbXBvc2VyLWNvbmZpZy1sYWJlbHtmb250LXNpemU6LjY4cmVtfX1AbWVkaWEobWF4LXdpZHRoOjQzMHB4KXsuY29tcG9zZXItaW5saW5lLWNvbmZpZ3tkaXNwbGF5Om5vbmV9fS5wcm9tcHQtb3B0aW1pemUtYnRue2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDphdXRvIDRweCA0cHggYXV0bzt0cmFuc2Zvcm06bm9uZTt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O3otaW5kZXg6NH0uaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLnByb21wdC1vcHRpbWl6ZS1idG57ZGlzcGxheTppbmxpbmUtZmxleH0uaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLnByb21wdC1vcHRpbWl6ZS1idG46aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMTIpfS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAucHJvbXB0LW9wdGltaXplLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mil9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5pbnB1dC10ZXh0YXJlYXtwYWRkaW5nLXJpZ2h0OjM2cHh9LnZvaWNlLWlucHV0LW1vZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDRweH0udm9pY2UtaW5wdXQtbW9kZS5oaWRkZW57ZGlzcGxheTpub25lfS52b2ljZS1yZWNvcmQtYnRue2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo5OTlweDtib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7YmFja2dyb3VuZDojZjZmMWU4ODA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo4cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS52b2ljZS1yZWNvcmQtYnRuOmhvdmVye2JhY2tncm91bmQ6I2Y2ZjFlOGU2O2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCl9LnZvaWNlLXJlY29yZC1idG46YWN0aXZlLC52b2ljZS1yZWNvcmQtYnRuLmlzLXJlY29yZGluZ3tiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCwgcmdiYSgxOTcsIDEwMSwgNjEsIC4xNCkpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXN0eWxlOnNvbGlkfS52b2ljZS1yZWNvcmQtcHVsc2V7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7b3BhY2l0eTouNTV9LnZvaWNlLXJlY29yZC1idG4uaXMtcmVjb3JkaW5nIC52b2ljZS1yZWNvcmQtcHVsc2V7b3BhY2l0eToxO2FuaW1hdGlvbjp2b2ljZS1wdWxzZSAxLjFzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdm9pY2UtcHVsc2V7MCUsdG97dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX01MCV7dHJhbnNmb3JtOnNjYWxlKDEuNDUpO29wYWNpdHk6LjQ1fX0udm9pY2UtY2FuY2VsLWJ0bnt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnZvaWNlLWNhbmNlbC1idG46aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MWE7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uaW5wdXQtY29tcG9zZXIudm9pY2UtbW9kZSAuaW5wdXQtdGV4dGFyZWF7dmlzaWJpbGl0eTpoaWRkZW59LmlucHV0LWNvbXBvc2VyLnZvaWNlLW1vZGUgLnByb21wdC1vcHRpbWl6ZS1idG57ZGlzcGxheTpub25lfS5pbnB1dC1jb21wb3Nlci52b2ljZS1tb2RlIC52b2ljZS1pbnB1dC1tb2Rle2Rpc3BsYXk6ZmxleH0jdm9pY2UtYnRue2Rpc3BsYXk6bm9uZX0uaW5wdXQtY29tcG9zZXIudm9pY2UtbW9kZSAjdm9pY2UtYnRue2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkLCByZ2JhKDE5NywgMTAxLCA2MSwgLjE4KSk7Y29sb3I6dmFyKC0tYWNjZW50KX0udm9pY2UtdHJhbnNjcmlwdC1idWJibGV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym90dG9tOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDo0MDtwYWRkaW5nOjEycHggMTZweCAxMHB4O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgNnB4IDI0cHggIzAwMDAwMDJlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybS1vcmlnaW46Ym90dG9tIGNlbnRlcjthbmltYXRpb246dm9pY2UtYnViYmxlLWluIC4xOHMgZWFzZX0udm9pY2UtdHJhbnNjcmlwdC1idWJibGUuaGlkZGVue2Rpc3BsYXk6bm9uZX1Aa2V5ZnJhbWVzIHZvaWNlLWJ1YmJsZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KSBzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19LnZvaWNlLXRyYW5zY3JpcHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MS41O2ZvbnQtd2VpZ2h0OjUwMDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bWluLWhlaWdodDoxLjRlbTtjb2xvcjojZmZmfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZTpub3QoLmhhcy10ZXh0KSAudm9pY2UtdHJhbnNjcmlwdC10ZXh0OmJlZm9yZXtjb250ZW50OiJcOGJmN1w1ZjAwXDU5Y2JcOGJmNFw4YmRkXDIwMjYiO29wYWNpdHk6LjZ9LnZvaWNlLXRyYW5zY3JpcHQtaGludHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOi43MnJlbTtvcGFjaXR5Oi44NX0udm9pY2UtdHJhbnNjcmlwdC1zdGF0dXN7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnZvaWNlLXdhdmV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MnB4O2hlaWdodDoxMnB4fS52b2ljZS13YXZlPml7d2lkdGg6Mi41cHg7Ym9yZGVyLXJhZGl1czoycHg7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7YW5pbWF0aW9uOnZvaWNlLXdhdmUtYm91bmNlIC45cyBlYXNlLWluLW91dCBpbmZpbml0ZX0udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgxKXtoZWlnaHQ6NXB4O2FuaW1hdGlvbi1kZWxheTowc30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgyKXtoZWlnaHQ6MTJweDthbmltYXRpb24tZGVsYXk6LjE1c30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCgzKXtoZWlnaHQ6OHB4O2FuaW1hdGlvbi1kZWxheTouM3N9LnZvaWNlLXdhdmU+aTpudGgtY2hpbGQoNCl7aGVpZ2h0OjExcHg7YW5pbWF0aW9uLWRlbGF5Oi40NXN9QGtleWZyYW1lcyB2b2ljZS13YXZlLWJvdW5jZXswJSx0b3t0cmFuc2Zvcm06c2NhbGVZKC40KTtvcGFjaXR5Oi42fTUwJXt0cmFuc2Zvcm06c2NhbGVZKDEpO29wYWNpdHk6MX19LnZvaWNlLWJ1YmJsZS1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjI4cHg7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjhweCBzb2xpZCB2YXIoLS1hY2NlbnQsICNjNTY1M2QpfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZS5pcy1jYW5jZWxpbmd7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIsICNiMjRmNDUpfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZS5pcy1jYW5jZWxpbmcgLnZvaWNlLWJ1YmJsZS1hcnJvd3tib3JkZXItdG9wLWNvbG9yOnZhcigtLWRhbmdlciwgI2IyNGY0NSl9QG1lZGlhKG1heC13aWR0aDo3MjBweCl7LmJ0bi1jaXJjbGUtYWN0aW9ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWluLXdpZHRoOjMwcHh9LmNvbXBvc2VyLW1haW4tcm93e3BhZGRpbmc6M3B4IDRweDttaW4taGVpZ2h0OjQycHg7Z2FwOjJweH19LmF0dGFjaG1lbnQtcHJldmlld3tkaXNwbGF5OmZsZXg7Z2FwOjZweDtwYWRkaW5nOjZweCAxMHB4O2ZsZXgtd3JhcDp3cmFwO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS5hdHRhY2htZW50LXByZXZpZXcuaGlkZGVue2Rpc3BsYXk6bm9uZX0uYXR0YWNobWVudC1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzozcHggOHB4O2JhY2tncm91bmQ6I2M1NjUzZDBmO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xOCk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOi43MnJlbTttYXgtd2lkdGg6MjAwcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2FuaW1hdGlvbjpwZXJtaXNzaW9uLWZhZGUtaW4gLjJzIGVhc2Utb3V0fS5hdHRhY2htZW50LXBpbGwgaW1ne3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7b2JqZWN0LWZpdDpjb3Zlcjtib3JkZXItcmFkaXVzOjRweDtmbGV4LXNocmluazowfS5hdHRhY2htZW50LXBpbGwgLmF0dC1pY29ue3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi44NXJlbX0uYXR0YWNobWVudC1waWxsIC5hdHQtbmFtZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDoxO21pbi13aWR0aDowfS5hdHRhY2htZW50LXBpbGwgLmF0dC1zaXple2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjVyZW07ZmxleC1zaHJpbms6MH0uYXR0YWNobWVudC1waWxsIC5hdHQtcmVtb3Zle2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouOHJlbTtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MCAycHg7ZmxleC1zaHJpbms6MDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmV9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LXJlbW92ZTpob3Zlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS5pbnB1dC1jb21wb3Nlci5kcmFnLW92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCkhaW1wb3J0YW50O2JhY2tncm91bmQ6I2M1NjUzZDBhIWltcG9ydGFudDtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1hY2NlbnQtbXV0ZWQpLGluc2V0IDAgMCAyMHB4ICNjNTY1M2QwOH0uZm9sZGVyLXBpY2tlci1tb2RhbHttYXgtd2lkdGg6NDgwcHh9LmZvbGRlci1waWNrZXItbW9kYWwgLm1vZGFsLWJvZHl7cGFkZGluZzoxNnB4fS5sb2dpbi1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6MTAwdmg7bWluLWhlaWdodDoxMDBkdmg7cGFkZGluZzoyNHB4fS5sb2dpbi1jYXJke3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM4MHB4O2JhY2tncm91bmQ6I2ZmZmJmNWViO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNTAsMTE4LDg1LC4xNik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zb2Z0KX0ubG9naW4taGVhZGVye3BhZGRpbmc6MjhweCAyNHB4IDIycHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCxyZ2JhKDIxNCwxNDQsMTAwLC4yNiksdHJhbnNwYXJlbnQgNDUlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY2ZWJkOSwjZmZmYmY1ZDkpfS5ib290LWxvYWRpbmd7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoyNHB4fS5ib290LWxvYWRpbmctY2FyZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTZweCAxOHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1lbGV2YXRlZCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uYm9vdC1sb2FkaW5nLXNwaW5uZXJ7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO2JvcmRlcjoycHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xNik7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OTk5cHg7YW5pbWF0aW9uOmxvZ2luU3BpbiAuOHMgbGluZWFyIGluZmluaXRlfS5ib290LWxvYWRpbmctdGV4dHtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NTAwfS5sb2dpbi1sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjhweH0ubG9naW4tbG9nby1pY29ue3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNkNjdiNTIsI2FiNTIyZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmY1OTtmb250LXNpemU6MThweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjcwMH0ubG9naW4tbG9nby10ZXh0e2ZvbnQtc2l6ZToxLjZyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDJlbX0ubG9naW4tc3VidGl0bGV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44NzVyZW19LmxvZ2luLWJvZHl7cGFkZGluZzoyMnB4IDI0cHggMjRweH0ubG9naW4tY2FyZC1sb2FkaW5nIC5sb2dpbi1ib2R5e3BhZGRpbmctdG9wOjE4cHg7cGFkZGluZy1ib3R0b206MjRweH0ubG9naW4taGludHtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbi1ib3R0b206MTZweDtsaW5lLWhlaWdodDoxLjV9LmxvZ2luLW11dGVke21hcmdpbjo0cHggMCAwO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS40NX0ubG9naW4tc3RhdHVze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxNHB4O3BhZGRpbmc6MnB4IDB9LmxvZ2luLXNwaW5uZXJ7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xNik7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OTk5cHg7YW5pbWF0aW9uOmxvZ2luU3BpbiAuOHMgbGluZWFyIGluZmluaXRlfS5wYXNzd29yZC1maWVsZHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5wYXNzd29yZC1pbnB1dHtwYWRkaW5nLXJpZ2h0Ojc4cHg7bWluLWhlaWdodDo0NnB4fS5wYXNzd29yZC10b2dnbGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzo2cHggOHB4O2JvcmRlci1yYWRpdXM6OHB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnBhc3N3b3JkLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wYXNzd29yZC10b2dnbGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH1Aa2V5ZnJhbWVzIGxvZ2luU3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmJ0bjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNzI7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lfS5sb2dpbi1ib2R5IC5maWVsZHttYXJnaW4tYm90dG9tOjIwcHh9LmxvZ2luLWJvZHkgLmhpbnR7bWFyZ2luLXRvcDoxMHB4fS5sb2dpbi1ib2R5IC5lcnJvci1tZXNzYWdle21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjB9LmxvZ2luLWNlcnQtaGludHttYXJnaW4tdG9wOjE0cHg7cGFkZGluZzoxNHB4IDE2cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTAsMTIwLDQwLC4zMik7YmFja2dyb3VuZDojZGM5NjNjMWE7dGV4dC1hbGlnbjpsZWZ0fS5sb2dpbi1jZXJ0LWhpbnQtdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luLWJvdHRvbTo2cHh9LmxvZ2luLWNlcnQtaGludC1ib2R5e2ZvbnQtc2l6ZTouODEyNXJlbTtsaW5lLWhlaWdodDoxLjY7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbjowIDAgMTJweH0ubG9naW4tY2VydC1oaW50IC5idG57bWFyZ2luLXRvcDowfS5tb2RhbC1zdWJ0aXRsZXttYXJnaW4tdG9wOjRweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtYm9keXtwYWRkaW5nLXRvcDoxNnB4O3BhZGRpbmctYm90dG9tOjhweH0uc2Vzc2lvbi1tb2RhbCAuZmllbGQ6bGFzdC1vZi10eXBle21hcmdpbi1ib3R0b206NnB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXJ7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjEycHggMjJweCAxOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXIgLmVycm9yLW1lc3NhZ2V7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWJvdHRvbTowfS5tb2RlLWNhcmRze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NnB4fS5tb2RlLWNhcmR7ZmxleDoxIDEgMDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O3BhZGRpbmc6MTBweCA4cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4yKTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojZmZmOTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dGV4dC1hbGlnbjpjZW50ZXI7b3V0bGluZTpub25lfS5tb2RlLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q1OTtiYWNrZ3JvdW5kOiNmZmZjfS5tb2RlLWNhcmQuYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2ZmZjdlZmYyO2JveC1zaGFkb3c6MCAwIDAgMS41cHggdmFyKC0tYWNjZW50LW11dGVkKX0ubW9kZS1jYXJkOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAxLjVweCB2YXIoLS1hY2NlbnQtbXV0ZWQpfS5tb2RlLWNhcmQtbGFiZWx7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjEuM30ubW9kZS1jYXJkLWRlc2N7Zm9udC1zaXplOi42OHJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjN9Lm1vZGUtY2FyZC5hY3RpdmUgLm1vZGUtY2FyZC1sYWJlbHtjb2xvcjp2YXIoLS1hY2NlbnQpfS5tb2RlLWNhcmQuZGlzYWJsZWR7b3BhY2l0eTouNDU7Y3Vyc29yOm5vdC1hbGxvd2VkO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1vZGUtY2FyZC5kaXNhYmxlZDpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTMzO2JhY2tncm91bmQ6I2ZmZjl9Lm1vZGUtY2FyZC5kaXNhYmxlZCAubW9kZS1jYXJkLWxhYmVsLC5tb2RlLWNhcmQuZGlzYWJsZWQgLm1vZGUtY2FyZC1kZXNje2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5tb2RlLWNhcmQuYWN0aXZlLmRpc2FibGVke2JveC1zaGFkb3c6bm9uZX0ucGFzc3dvcmQtaW5wdXRbZGF0YS1lcnJvcj10cnVlXSwucGFzc3dvcmQtaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWRhbmdlci1tdXRlZCl9LnBhc3N3b3JkLWlucHV0W2RhdGEtZXJyb3I9dHJ1ZV0rLnBhc3N3b3JkLXRvZ2dsZSwucGFzc3dvcmQtaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdKy5wYXNzd29yZC10b2dnbGV7Y29sb3I6dmFyKC0tZGFuZ2VyKX0ucGFzc3dvcmQtaW5wdXQ6Zm9jdXMrLnBhc3N3b3JkLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wYXNzd29yZC10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC45OCl9LnBhc3N3b3JkLWlucHV0OjotbXMtcmV2ZWFsLC5wYXNzd29yZC1pbnB1dDo6LW1zLWNsZWFye2Rpc3BsYXk6bm9uZX0ucGFzc3dvcmQtaW5wdXQ6Oi13ZWJraXQtY3JlZGVudGlhbHMtYXV0by1maWxsLWJ1dHRvbiwucGFzc3dvcmQtaW5wdXQ6Oi13ZWJraXQtY29udGFjdHMtYXV0by1maWxsLWJ1dHRvbnt2aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5Om5vbmUhaW1wb3J0YW50O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ucGFzc3dvcmQtaW5wdXRbdHlwZT10ZXh0XXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5maWVsZHttYXJnaW4tYm90dG9tOjE4cHh9LmZpZWxkLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bWFyZ2luLWJvdHRvbTo4cHh9LmZpZWxkLWlucHV0e3dpZHRoOjEwMCU7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljg3NXJlbTtiYWNrZ3JvdW5kOiNmZmZmZmZiZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4yMik7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7cGFkZGluZzoxMnB4IDE0cHg7b3V0bGluZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTttaW4taGVpZ2h0OjQ0cHh9LmZpZWxkLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCAwIDIwcHggI2M1NjUzZDE0O2JhY2tncm91bmQ6I2ZmZmZmZmU2fS5maWVsZC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo1MDA7YmFja2dyb3VuZDojMTQwZTA4NTc7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLXRvcCkpO3BhZGRpbmctYm90dG9tOm1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTtwYWRkaW5nLWxlZnQ6bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLWxlZnQpKTtwYWRkaW5nLXJpZ2h0Om1heCgzMnB4LHZhcigtLXdhbmQtc2FmZS1yaWdodCkpO2FuaW1hdGlvbjpsaXF1aWRCYWNrZHJvcEluIC4yOHMgdmFyKC0tZWFzZS1vdXQtZXhwbywgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpKSBib3RofS5tb2RhbC1iYWNrZHJvcC5jbG9zaW5ne2FuaW1hdGlvbjpsaXF1aWRCYWNrZHJvcE91dCAuMThzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCwgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkpIGJvdGg7cG9pbnRlci1ldmVudHM6bm9uZX1Aa2V5ZnJhbWVzIGxpcXVpZEJhY2tkcm9wSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBsaXF1aWRCYWNrZHJvcE91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0ubW9kYWx7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTYwcHg7bWF4LWhlaWdodDo4OHZoO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YmFja2dyb3VuZDojZmZmY2Y3YmQ7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNik7Ym9yZGVyLXJhZGl1czoyNnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0MHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDQwcHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAzMnB4IDgwcHggLTE2cHggIzE0MGUwODU3LDAgOHB4IDI0cHggLThweCAjMTQwZTA4MmUsMCAwIDAgLjVweCAjN2Q1YjM5MTQsaW5zZXQgMCAxcHggI2ZmZmZmZmIzO2FuaW1hdGlvbjpsaXF1aWRNb2RhbEluIC4zMnMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpIGJvdGh9Lm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcgLm1vZGFse2FuaW1hdGlvbjpsaXF1aWRNb2RhbE91dCAuMThzIHZhcigtLWVhc2UtaW4tb3V0LXNtb290aCwgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkpIGJvdGh9QGtleWZyYW1lcyBsaXF1aWRNb2RhbEluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk0KSB0cmFuc2xhdGVZKDEycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBsaXF1aWRNb2RhbE91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTcpIHRyYW5zbGF0ZVkoNHB4KX19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubW9kYWwtYmFja2Ryb3AsLm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcsLm1vZGFsLC5tb2RhbC1iYWNrZHJvcC5jbG9zaW5nIC5tb2RhbHthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9fUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4OTl9Lm1vZGFse2JhY2tncm91bmQ6I2ZmZmFmMjtib3JkZXItY29sb3I6IzdkNWIzOTJlfX1AbWVkaWEocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Lm1vZGFsLWJhY2tkcm9we2JhY2tncm91bmQ6IzA4MDUwMjgwfUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMDgwNTAyYzd9fX0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtaGVhZGVyLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVye3BhZGRpbmc6MjRweCAyOHB4IDE4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxNnB4O21pbi1oZWlnaHQ6MH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtdGl0bGUsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC10aXRsZS1ncm91cCAubW9kYWwtdGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMjJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjEuMn0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtc3VidGl0bGUsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1zdWJ0aXRsZXttYXJnaW4tdG9wOjVweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTttYXgtd2lkdGg6NDRjaH0ubW9kYWwtY2xvc2UtYnRuLC5zZXNzaW9uLW1vZGFsIC5tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdCwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0e3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM3ZDViMzkxMjtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4LXNocmluazowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHMgZWFzZSxjb2xvciAuMThzIGVhc2UsdHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpLGJveC1zaGFkb3cgLjE4cyBlYXNlfS5tb2RhbC1jbG9zZS1idG4gc3Zne2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX0ubW9kYWwtY2xvc2UtYnRuOmhvdmVyLC5zZXNzaW9uLW1vZGFsIC5tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdDpob3Zlciwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0OmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcik7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7Ym94LXNoYWRvdzowIDJweCA4cHggI2IyNGY0NTJlfS5tb2RhbC1jbG9zZS1idG46YWN0aXZlLC5zZXNzaW9uLW1vZGFsIC5tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdDphY3RpdmUsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdDphY3RpdmV7YmFja2dyb3VuZDojYjI0ZjQ1MzM7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZykgc2NhbGUoLjkyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9Lm1vZGFsLWNsb3NlLWJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6M3B4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1ib2R5LC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtYm9keXtwYWRkaW5nOjIwcHggMjhweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtZm9vdGVye3BhZGRpbmc6MTZweCAyOHB4IDIycHg7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KX0uc2Vzc2lvbi1tb2RhbCAuZmllbGQtaW5wdXQsLnNldHRpbmdzLW1vZGFsIC5maWVsZC1pbnB1dCwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNhcmQgLmZpZWxkLWlucHV0LC5zZXNzaW9uLW1vZGFsIHNlbGVjdC5maWVsZC1pbnB1dCwuc2V0dGluZ3MtbW9kYWwgc2VsZWN0LmZpZWxkLWlucHV0e2JhY2tncm91bmQ6I2ZmZmZmZmM3O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMXB4IDE0cHg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxLjVweCAjN2Q1YjM5MGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE1cyBlYXNlLGJhY2tncm91bmQgLjE1cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNlc3Npb24tbW9kYWwgLmZpZWxkLWlucHV0OmhvdmVyLC5zZXR0aW5ncy1tb2RhbCAuZmllbGQtaW5wdXQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3ZDViMzkzZDtiYWNrZ3JvdW5kOiNmZmZmZmZlYn0uc2Vzc2lvbi1tb2RhbCAuZmllbGQtaW5wdXQ6Zm9jdXMsLnNldHRpbmdzLW1vZGFsIC5maWVsZC1pbnB1dDpmb2N1cywuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNhcmQgLmZpZWxkLWlucHV0OmZvY3VzLC5zZXNzaW9uLW1vZGFsIHNlbGVjdC5maWVsZC1pbnB1dDpmb2N1cywuc2V0dGluZ3MtbW9kYWwgc2VsZWN0LmZpZWxkLWlucHV0OmZvY3Vze2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDEuNXB4ICM3ZDViMzkwYSwwIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKX0uc2Vzc2lvbi1tb2RhbCAubW9kZS1jYXJkc3tnYXA6OHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RlLWNhcmR7cGFkZGluZzoxMnB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6I2ZmZjk7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTA4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE2cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNlc3Npb24tbW9kYWwgLm1vZGUtY2FyZDpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmZlYjtib3JkZXItY29sb3I6IzdkNWIzOTMzO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTJweCAjN2Q1YjM5MTR9LnNlc3Npb24tbW9kYWwgLm1vZGUtY2FyZC5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmMiwjZmZmMGUwZDEpO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDAgMCAxcHggI2M1NjUzZDUyLDAgMCAwIDRweCAjYzU2NTNkMjQsMCA4cHggMjJweCAtNHB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmZmZmZjIsaW5zZXQgMCAtMXB4ICNjNTY1M2QxNDt0cmFuc2Zvcm06bm9uZX0uc2Vzc2lvbi1tb2RhbCAubW9kZS1jYXJkLmFjdGl2ZSAubW9kZS1jYXJkLWxhYmVse2NvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24tbW9kYWwgLnRvb2wtY2FyZHtiYWNrZ3JvdW5kOiNmZmZmZmZiMztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MTRweCAxNnB4O2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ZDViMzkwODt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXNzaW9uLW1vZGFsIC50b29sLWNhcmQ6aG92ZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojN2Q1YjM5Mzg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7Ym94LXNoYWRvdzowIDhweCAyMHB4ICM3ZDViMzkxYX0uc2Vzc2lvbi1tb2RhbCAudG9vbC1jYXJkLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2YyLCNmZmYwZTBkMSk7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkNGQsMCAwIDAgNHB4ICNjNTY1M2QyNCwwIDEwcHggMjhweCAtNnB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmZmZmZjIsaW5zZXQgMCAtMXB4ICNjNTY1M2QxNDt0cmFuc2Zvcm06bm9uZX0uc2Vzc2lvbi1tb2RhbCAucmVjZW50LXBhdGgtYnViYmxle2JhY2tncm91bmQ6I2ZmZmZmZjhjO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKTtib3gtc2hhZG93OjAgMXB4IDJweCAjN2Q1YjM5MDg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxib3JkZXItY29sb3IgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE2cyBlYXNlfS5zZXNzaW9uLW1vZGFsIC5yZWNlbnQtcGF0aC1idWJibGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmN2VmO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NnB4IDhweCA2cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6IzdkNWIzOTBkO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSxjb2xvciAuMThzIGVhc2U7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MTc7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyOX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlOmhhcyguc3dpdGNoLXRvZ2dsZTpjaGVja2VkKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZjdlZiwjZmZlZWQ4KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCA0cHggMTJweCAjYzU2NTNkMWZ9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZS1pY29ue2ZsZXgtc2hyaW5rOjA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjpjb2xvciAuMThzIGVhc2UsdHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGU6aGFzKC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQpIC5zZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbntjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpyb3RhdGUoOGRlZyl9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZS1sYWJlbHtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDA1ZW07Y29sb3I6aW5oZXJpdDt0cmFuc2l0aW9uOmNvbG9yIC4xOHMgZWFzZX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlIC5zd2l0Y2gtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDt3aWR0aDowO2hlaWdodDowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXNsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDozMnB4O2hlaWdodDoyMHB4O21pbi13aWR0aDozMnB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiM3ZDViMzkzODtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjN2Q1YjM5MmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4yMnMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlIC5zd2l0Y2gtc2xpZGVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtsZWZ0OjJweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZjtib3gtc2hhZG93OjAgMS41cHggM3B4ICMxNDBlMDgzOCwwIDAgMCAuNXB4ICM3ZDViMzkwZjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjRzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlIC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQrLnN3aXRjaC1zbGlkZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICMwMDAwMDAxYX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlIC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQrLnN3aXRjaC1zbGlkZXI6YWZ0ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMnB4KX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlIC5zd2l0Y2gtdG9nZ2xlOmZvY3VzLXZpc2libGUrLnN3aXRjaC1zbGlkZXJ7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24ta2luZC1oaW50LXJvd3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHh9LnNlc3Npb24tbW9kYWwgLnN1Z2dlc3Rpb25ze2JhY2tncm91bmQ6I2ZmZmNmN2Y1O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkwZCwwIDEycHggMjhweCAtOHB4ICMxNDBlMDgyZTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpIHNhdHVyYXRlKDE4MCUpO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1tb2RhbCAuc3VnZ2VzdGlvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2U4YzVhZTUyfS5zZXNzaW9uLW1vZGFsIC5lcnJvci1tZXNzYWdlLC5zZXR0aW5ncy1tb2RhbCAuZXJyb3ItbWVzc2FnZXtiYWNrZ3JvdW5kOiNiMjRmNDUxYTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTc4LDc5LDY5LC4yKTtjb2xvcjp2YXIoLS1kYW5nZXIpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEwcHggMTJweDtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXNzaW9uLW1vZGFsIC5maWVsZC1sYWJlbCwuc2V0dGluZ3MtbW9kYWwgLmZpZWxkLWxhYmVse2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44MTI1cmVtO21hcmdpbi1ib3R0b206OHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXIgLmJ0bi1wcmltYXJ5LC5zZXR0aW5ncy1tb2RhbCAuYnRuLXByaW1hcnl7Ym94LXNoYWRvdzowIDZweCAxNnB4IC00cHggI2M1NjUzZDY2LDAgMnB4IDZweCAtMnB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmMztib3JkZXItcmFkaXVzOjEycHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWZvb3RlciAuYnRuLXByaW1hcnk6aG92ZXIsLnNldHRpbmdzLW1vZGFsIC5idG4tcHJpbWFyeTpob3Zlcntib3gtc2hhZG93OjAgMTBweCAyNHB4IC00cHggI2M1NjUzZDc1LDAgNHB4IDEwcHggLTJweCAjYzU2NTNkNTcsaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS5zZXNzaW9uLW1vZGFsIC5idG4tc2Vjb25kYXJ5LC5zZXR0aW5ncy1tb2RhbCAuYnRuLXNlY29uZGFyeXtiYWNrZ3JvdW5kOiNmZmZmZmZjNztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNCk7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTBhO2JvcmRlci1yYWRpdXM6MTJweH0uc2Vzc2lvbi1tb2RhbCAuYnRuLXNlY29uZGFyeTpob3Zlciwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojN2Q1YjM5M2Q7Ym94LXNoYWRvdzowIDRweCAxMnB4ICM3ZDViMzkxNH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXNpZGViYXJ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO3BhZGRpbmctcmlnaHQ6MTJweH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXNpZGViYXItdGl0bGV7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWJze2dhcDoycHh9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWJ7cGFkZGluZzoxMXB4IDE0cHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE0cyBlYXNlLGNvbG9yIC4xNHMgZWFzZSx0cmFuc2Zvcm0gLjE0cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWI6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYjpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkwZjtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3RyYW5zZm9ybTpub25lO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmMiwjZmZmNGU4YzcpO2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjYzU2NTNkNDAsaW5zZXQgMCAxcHggI2ZmZmZmZmU2LGluc2V0IDAgLTFweCAjYzU2NTNkMTQsMCA0cHggMTRweCAtNHB4ICNjNTY1M2QzOCwwIDFweCAzcHggIzdkNWIzOTBmfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiLmFjdGl2ZSAuc2V0dGluZ3MtdGFiLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiLW1haW57Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDA1ZW19LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWItbWV0YXtmb250LXNpemU6LjcxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC1oZWFkZXJ7bWFyZ2luOjAgMCAxNnB4O3BhZGRpbmctYm90dG9tOjE0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZToxLjE4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi0uMDJlbX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXBhbmVsLWRlc2N7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtY2FyZCwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24sLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1hYm91dC1pbmZvLC5zZXR0aW5ncy1tb2RhbCAucHJlc2V0LWl0ZW17YmFja2dyb3VuZDojZmZmZmZmYTY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ZDViMzkwODtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtYWJvdXQtcm93e2JvcmRlci1ib3R0b20tY29sb3I6IzdkNWIzOTE0fS5zZXR0aW5ncy1tb2RhbCAuc3dpdGNoLWNhcmQtbGlzdHtnYXA6OHB4fS5zZXR0aW5ncy1tb2RhbCAuc3dpdGNoLWNhcmR7YmFja2dyb3VuZDojZmZmOTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xKTtib3JkZXItcmFkaXVzOjE0cHg7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTA4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zd2l0Y2gtY2FyZDpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmZkOTtib3JkZXItY29sb3I6IzdkNWIzOTJlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTJweCAjN2Q1YjM5MGZ9LnNldHRpbmdzLW1vZGFsIC5zd2l0Y2gtY2FyZDpoYXMoLnN3aXRjaC10b2dnbGU6Y2hlY2tlZCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY3ZWYsI2ZmZjFkZSk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAxcHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDRweCAxMnB4ICNjNTY1M2QxYX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRvZ2dsZS1yb3csLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1yYW5nZS1yb3d7YmFja2dyb3VuZDojZmZmZmZmOGM7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgMXB4IDFweCAjN2Q1YjM5MDU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNhcmQtaWNvbiwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXNlY3Rpb24taWNvbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2M1NjUzZDI5LCNjNTY1M2QwZik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE4KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmY5O2NvbG9yOnZhcigtLWFjY2VudCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb257YmFja2dyb3VuZDojZmZmZmZmYTY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ZDViMzkwODt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtYXBwLWljb24tb3B0aW9uOmhvdmVye2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6IzdkNWIzOTMzO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTJweCAjN2Q1YjM5MTR9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24uc2VsZWN0ZWQsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb25bYXJpYS1wcmVzc2VkPXRydWVde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmN2VmLCNmZmYxZGUpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCA0cHggMTJweCAjYzU2NTNkMWZ9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1jb25uZWN0LXVybC1ib3h7YmFja2dyb3VuZDojN2Q1YjM5MGQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTIpO2JvcmRlci1yYWRpdXM6MTJweH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFjdGlvbnMtc3RpY2t5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3MDAsI2ZmZmNmN2Q5IDI4cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3Mtc2VjdGlvbi10aXRsZXtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wMDVlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfUBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey5zZXNzaW9uLW1vZGFsIC5tb2RhbC1oZWFkZXIsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1oZWFkZXJ7cGFkZGluZzoxNnB4IDE4cHggMTRweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtYm9keSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWJvZHl7cGFkZGluZzoxNHB4IDE4cHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWZvb3RlcntwYWRkaW5nOjEycHggMThweCAxOHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC10aXRsZSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLXRpdGxlLWdyb3VwIC5tb2RhbC10aXRsZXtmb250LXNpemU6MS4xMjVyZW19LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC10aXRsZXtmb250LXNpemU6MS4wNjI1cmVtfX0uc2lkZWJhcntiYWNrZ3JvdW5kOiNmZmZjZjdiODtib3JkZXItcmlnaHQ6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41NSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMzZweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigzNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTBmLDRweCAwIDMycHggLThweCAjMTQwZTA4MmV9LnNpZGViYXIub3Blbntib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTBmLDEycHggMCA0OHB4IC0xMnB4ICMxNDBlMDg0N30uc2lkZWJhci5waW5uZWR7Ym94LXNoYWRvdzowIDAgMCAuNXB4ICM3ZDViMzkwZiwycHggMCAxMnB4IC04cHggIzE0MGUwODFmfS5kcmF3ZXItYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4NTI7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KX0uZHJhd2VyLWJhY2tkcm9wLm9wZW57YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKX0uc2lkZWJhci1oZWFkZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDYpO3BhZGRpbmc6MTRweCAxNnB4fS5zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMTJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zZXNzaW9uLWNvdW50e2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtwYWRkaW5nOjJweCA5cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsaW5lLWhlaWdodDoxLjV9LnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLmJ0bi1naG9zdC5idG4tc20sLmRyYXdlci1jbG9zZS1idG57d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtib3JkZXI6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSl9LnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLmJ0bi1naG9zdC5idG4tc206aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZHJhd2VyLWNsb3NlLWJ0bntiYWNrZ3JvdW5kOiM3ZDViMzkxMn0uZHJhd2VyLWNsb3NlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxZjtjb2xvcjp2YXIoLS1kYW5nZXIpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5kcmF3ZXItY2xvc2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOiNiMjRmNDUzMzt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSBzY2FsZSguOTIpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uZHJhd2VyLWNsb3NlLWJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6M3B4fS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvd3tiYWNrZ3JvdW5kOiNmZmZjZjdkYjtib3JkZXI6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41NSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigyNHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTE0LDAgMTJweCAyOHB4IC04cHggIzE0MGUwODM4O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjZweH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW17Ym9yZGVyLXJhZGl1czo5cHg7cGFkZGluZzo5cHggMTBweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbTpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZmU2LCNmZmZjZjc5OSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTE0LGluc2V0IDAgMXB4ICNmZmZmZmZkOX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW06YWN0aXZle2JhY2tncm91bmQ6I2M1NjUzZDFmO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnNjYWxlKC45OCl9LnNlc3Npb24tbWFuYWdlLWJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7cGFkZGluZzo0cHggNHB4IDRweCAxMHB4O2JvcmRlci1yYWRpdXM6MTBweDttYXJnaW4tYm90dG9tOjEwcHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlfS5zZXNzaW9uLW1hbmFnZS1iYXI6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MGR9LnNlc3Npb24tbWFuYWdlLWJhciAuc2lkZWJhci1pbnRyb3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMDVlbX0uc2Vzc2lvbi1tYW5hZ2UtYmFyLmFjdGl2ZXtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDo2O21hcmdpbjotMTBweCAtMTBweCA4cHg7cGFkZGluZzo5cHggMTBweCA5cHggNnB4O2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOiNmZmZiZjVmMDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpzYXR1cmF0ZSgxLjIpIGJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6c2F0dXJhdGUoMS4yKSBibHVyKDhweCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzpub25lfS5zZXNzaW9uLW1hbmFnZS1iYXIuYWN0aXZlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmJmNWYwfS5zZXNzaW9uLW1hbmFnZS1leGl0e2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTRzIGVhc2UsY29sb3IgLjE0cyBlYXNlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uc2Vzc2lvbi1tYW5hZ2UtZXhpdDpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxYTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zZXNzaW9uLW1hbmFnZS1zdW1tYXJ5e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWluLXdpZHRoOjA7ZmxleDoxO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjUwMH0uc2Vzc2lvbi1tYW5hZ2UtY291bnR7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjBweDtoZWlnaHQ6MThweDtwYWRkaW5nOjAgNnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnNlc3Npb24tbWFuYWdlLXN1bW1hcnktbGFiZWx7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0uc2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbC5tdXRlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo1MDB9LnNlc3Npb24tbWFuYWdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tbWFuYWdlLXRvZ2dsZXtnYXA6NXB4fS5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktY2xlYXItYnRue21hcmdpbi1sZWZ0OmF1dG99LnNlc3Npb24tZ3JvdXAtdGl0bGV7cGFkZGluZzoxMHB4IDZweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMWVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLWdyb3VwLXRpdGxlOmJlZm9yZXt3aWR0aDozcHg7aGVpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSxyZ2JhKDE5NywxMDEsNjEsLjQpKTtvcGFjaXR5OjF9LnNlc3Npb24taXRlbXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxMXB4O3BhZGRpbmc6OXB4IDEycHg7bWFyZ2luLWJvdHRvbToycHg7Ym94LXNoYWRvdzpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZX0uc2Vzc2lvbi1pdGVtOmJlZm9yZXtsZWZ0OjRweDt0b3A6OXB4O2JvdHRvbTo5cHg7d2lkdGg6M3B4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpLHJnYmEoMTk3LDEwMSw2MSwuNSkpfS5zZXNzaW9uLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MGY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5zZXNzaW9uLWl0ZW06aG92ZXI6YmVmb3Jle29wYWNpdHk6MH0uc2Vzc2lvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2ViLCNmZmY0ZThiZCk7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q0Nztib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmY4Y30uc2Vzc2lvbi1pdGVtLmFjdGl2ZTpiZWZvcmV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVkoMSl9LnNlc3Npb24taXRlbS5zZWxlY3RlZHtiYWNrZ3JvdW5kOiNjNTY1M2QxNztib3JkZXItY29sb3I6I2M1NjUzZDJlfS5zZXNzaW9uLWl0ZW0uc2VsZWN0ZWQ6YmVmb3Jle29wYWNpdHk6Ljc7dHJhbnNmb3JtOnNjYWxlWSgxKX0uc2Vzc2lvbi1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk5Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS5zZXNzaW9uLXRpdGxlLC5zZXNzaW9uLWNvbW1hbmR7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5zZXNzaW9uLXRpdGxlLXJvd3tnYXA6MTBweH0uc2Vzc2lvbi10aW1le2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnNlc3Npb24tYWN0aXZpdHl7b3BhY2l0eToxO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NTAwfS5zZXNzaW9uLXN0YXR1c3twYWRkaW5nOjJweCA4cHg7Zm9udC1zaXplOi42MjVyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wMmVtfS5zZXNzaW9uLWlke2JhY2tncm91bmQ6IzdkNWIzOTE0O2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZvbnQtc2l6ZTouNjI1cmVtO3BhZGRpbmc6MS41cHggNnB4O2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDttaW4taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojN2Q1YjM5MGY7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Ym9yZGVyOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpfS5zZXNzaW9uLWFjdGlvbi1idG46aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MjQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc2Vzc2lvbi1hY3Rpb24tYnRuLmRlbGV0ZS1idG46aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MjQ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1hY3Rpb24tYnRuLm1lcmdlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiM0ZjdhNTgyOTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1hY3Rpb24tYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uc2Vzc2lvbi1hY3Rpb24tYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnNlc3Npb24tbWFuYWdlLWNoZWNrIHNwYW57d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MS41cHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtiYWNrZ3JvdW5kOiNmZmY5O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICM3ZDViMzkwYTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDFweCAzcHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmYzfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW46YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDo2cHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCAjZmZmO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNmZmY7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC0xcHgsLTFweCl9LnNpZGViYXItZm9vdGVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA2KTtwYWRkaW5nOjE0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bntiYWNrZ3JvdW5kOiNmZmZmZmY3Mztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6OHB4IDRweDtnYXA6NHB4O2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDFlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMTZzIGVhc2V9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmZkOTtib3JkZXItY29sb3I6IzdkNWIzOTI5O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDJweCA4cHggIzdkNWIzOTBmfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTYpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2YyLCNmZmYyZTRjNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjI4KTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDNweCAxMHB4IC0zcHggI2M1NjUzZDM4LGluc2V0IDAgMXB4ICNmZmZmZmZiM30uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuLnNpZGViYXItbG9nb3V0OmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTE0O2JvcmRlci1jb2xvcjojYjI0ZjQ1MzM7Y29sb3I6dmFyKC0tZGFuZ2VyKTtvcGFjaXR5OjF9LnNpZGViYXItZm9vdGVyIC5idG4tcHJpbWFyeXtib3gtc2hhZG93OjAgNnB4IDE2cHggLTRweCAjYzU2NTNkNjYsMCAycHggNnB4IC0ycHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmYzO2JvcmRlci1yYWRpdXM6MTJweH0uc2lkZWJhci1mb290ZXIgLmJ0bi1wcmltYXJ5OmhvdmVye2JveC1zaGFkb3c6MCAxMHB4IDI0cHggLTRweCAjYzU2NTNkNzUsMCA0cHggMTBweCAtMnB4ICNjNTY1M2Q1NyxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnNlc3Npb25zLWxpc3Q6ZW1wdHk6YmVmb3Jle2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbTtsZXR0ZXItc3BhY2luZzouMDFlbX1Ac3VwcG9ydHMgbm90ICgoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIG9yICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSl7LnNpZGViYXJ7YmFja2dyb3VuZDojZmZmYmY1ZmF9LmRyYXdlci1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxNDBlMDg4Y30uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7YmFja2dyb3VuZDojZmZmYWYyfX0ubW9kYWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxOHB4IDIycHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtmbGV4LXNocmluazowO21pbi1oZWlnaHQ6NTZweH0ubW9kYWwtdGl0bGV7Zm9udC1zaXplOjEuMDYyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAxZW19Lm1vZGFsLWJvZHl7cGFkZGluZzoyMnB4O292ZXJmbG93LXk6YXV0bztmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MH0ubW9kYWwtYm9keSAuZmllbGR7bWFyZ2luLWJvdHRvbToxNHB4fS5tb2RhbC1ib2R5IC5maWVsZDpsYXN0LW9mLXR5cGV7bWFyZ2luLWJvdHRvbToxNnB4fS5zZXNzaW9uLWtpbmQtaGludC1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweH0uc2Vzc2lvbi1raW5kLWhpbnQtcm93ICNzZXNzaW9uLWtpbmQtZGVzY3JpcHRpb257ZmxleDoxIDEgYXV0b30uc2Vzc2lvbi1pbmxpbmUtdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lfS5zZXNzaW9uLWlubGluZS10b2dnbGUtbGFiZWx7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5maWVsZC1oaW50e21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41fS50b29sLWNhcmR7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMik7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZmE2O3BhZGRpbmc6MTRweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSx0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvb2wtY2FyZDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LXNvZnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA4cHggMjRweCAjNTkzYTIwMWE7YmFja2dyb3VuZDojZmZmZmZmZDl9LnRvb2wtY2FyZC5hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojZmZmN2VmZmE7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDZweCAyMHB4ICM1OTNhMjAxNH1zZWxlY3QuZmllbGQtaW5wdXR7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzOGM3MzVmJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J002IDlsNiA2IDYtNicvJTNFJTNDL3N2ZyUzRSIpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDE0cHggY2VudGVyO3BhZGRpbmctcmlnaHQ6NDBweDtjdXJzb3I6cG9pbnRlcn0uc3VnZ2VzdGlvbnMtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX0uc3VnZ2VzdGlvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMTAwJSArIDRweCk7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo1MDtiYWNrZ3JvdW5kOiNmZmZhZjRmYTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7bWF4LWhlaWdodDoyMDBweDtvdmVyZmxvdy15OmF1dG99LnN1Z2dlc3Rpb24taXRlbXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjEwcHggMTJweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnN1Z2dlc3Rpb24taXRlbTpob3ZlcntiYWNrZ3JvdW5kOiNlOGM1YWU1N30uc3VnZ2VzdGlvbi1pdGVtIHNtYWxse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6MnB4fS5zdWdnZXN0aW9uLWl0ZW0tcGF0aHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LnJlY2VudC1wYXRocy1idWJibGVze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NXB4O21hcmdpbi10b3A6NnB4fS5yZWNlbnQtcGF0aHMtYnViYmxlczplbXB0eXtkaXNwbGF5Om5vbmV9LnJlY2VudC1wYXRoLWJ1YmJsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweCAxMHB4O2JhY2tncm91bmQ6I2U4YzVhZTJlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42ODc1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtd2lkdGg6MTgwcHg7b3ZlcmZsb3c6aGlkZGVufS5yZWNlbnQtcGF0aC1idWJibGUtcGF0aHttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0ucmVjZW50LXBhdGgtYnViYmxlOmhvdmVye2JhY2tncm91bmQ6I2U4YzVhZTY2O2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItaG92ZXIsIHZhcigtLWJvcmRlci1kZWZhdWx0KSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZXJyb3ItbWVzc2FnZXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLWRhbmdlcik7cGFkZGluZzoxMHB4IDEycHg7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTttYXJnaW4tdG9wOjEycHg7YW5pbWF0aW9uOnNoYWtlIC4zcyBlYXNlfUBrZXlmcmFtZXMgc2hha2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNHB4KX03NSV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgpfX0uZmllbGQtaW5wdXRbZGF0YS1lcnJvcj10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1kYW5nZXItbXV0ZWQpfS5oaW50e2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW4tdG9wOjEycHh9LmVtcHR5LXN0YXRle3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NDBweCAyMHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbX0uZW1wdHktc3RhdGUgc3Ryb25ne2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouOTVyZW07bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC13ZWlnaHQ6NjAwfS5oaWRkZW57ZGlzcGxheTpub25lIWltcG9ydGFudH0ub2ZmbGluZS1iYW5uZXJ7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjgwcHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmcpO2NvbG9yOiNmZmY7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDt6LWluZGV4OjEwMDtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1lbGV2YXRlZCk7YW5pbWF0aW9uOnNsaWRlVXAgLjNzIGVhc2V9QGtleWZyYW1lcyBzbGlkZVVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMjBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgwKX19Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo2cHg7aGVpZ2h0OjZweH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU0ZDtib3JkZXItcmFkaXVzOjNweH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTgwfS5zZXNzaW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHh9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTQwO2JvcmRlci1yYWRpdXM6MnB4fS5zZXNzaW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU2Nn06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH1idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5zaWRlYmFyLnBpbm5lZDpub3QoLmNvbGxhcHNlZCk6bm90KC5vcGVuKXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH0ubWFpbi1sYXlvdXQuc2lkZWJhci1waW5uZWQ6bm90KC5zaWRlYmFyLWNvbGxhcHNlZCl7cGFkZGluZy1sZWZ0OjB9LmFwcC1jb250YWluZXJ7LS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoOiAwcHh9LnNpZGViYXJ7d2lkdGg6bWluKDMwMHB4LGNhbGMoMTAwdncgLSAyMHB4KSk7dG9wOjB9LnRlcm1pbmFsLWNvbnRhaW5lcnttYXJnaW46MCA2cHggNnB4O21pbi1oZWlnaHQ6MH0uYnRue21pbi1oZWlnaHQ6NDBweH0uYnRuLXNte21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTBweDtmb250LXNpemU6Ljc1cmVtO2hlaWdodDozNnB4fS5idG4taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O21pbi1oZWlnaHQ6MzZweH0uY2hhdC1jb250YWluZXJ7cGFkZGluZzowIDEycHggMTJweH0uY2hhdC1tZXNzYWdle21heC13aWR0aDoxMDAlfS5zZXNzaW9uLWl0ZW17bWluLWhlaWdodDo1MnB4O3BhZGRpbmc6MTJweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLXdpZHRoOjM2cHg7bWluLWhlaWdodDozNnB4fS5zZXNzaW9uLW1hbmFnZS1iYXIgLmJ0bnttaW4taGVpZ2h0OjMycHh9LmNsYXVkZS1oaXN0b3J5LXRvZ2dsZXttaW4taGVpZ2h0OjQwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue21pbi1oZWlnaHQ6NDRweH0udHJlZS1pdGVte21pbi1oZWlnaHQ6NDRweDtwYWRkaW5nOjhweCAxMnB4fS5mb2xkZXItcGlja2VyLWl0ZW17bWluLWhlaWdodDo0NHB4fX1AbWVkaWEobWluLXdpZHRoOjc2OXB4KXsuZHJhd2VyLWJhY2tkcm9we2Rpc3BsYXk6bm9uZX19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7OnJvb3R7LS1zaWRlYmFyLXdpZHRoOiAyODBweDstLWZpbGUtcGFuZWwtd2lkdGg6IDEwMCV9LmFwcC1jb250YWluZXJ7LS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoOiAwcHh9aHRtbCxib2R5e21pbi1oZWlnaHQ6MTAwZHZoO2hlaWdodDoxMDBkdmh9Ym9keXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmFwcC1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NnB4fS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSAuaGFtYnVyZ2VyLWljb257d2lkdGg6MTNweDtoZWlnaHQ6OXB4fS5zaWRlYmFye3RvcDowfS5zaWRlYmFyLWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDttaW4taGVpZ2h0OjQ4cHg7Z2FwOjhweH0uc2lkZWJhci1oZWFkZXItYWN0aW9uc3tnYXA6NHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDo0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnM6aGFzKC5zaWRlYmFyLWJhY2stdG8tbmF0aXZlKTpoYXMoLnNpZGViYXItc3dpdGNoLXNlcnZlcil7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bnttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo2cHggNHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3BhbntkaXNwbGF5Om5vbmV9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzdmd7d2lkdGg6MThweDtoZWlnaHQ6MThweH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gMjRweCl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVte3BhZGRpbmc6MTFweCAxNHB4O2ZvbnQtc2l6ZTouODc1cmVtfS50ZXJtaW5hbC1oZWFkZXJ7cGFkZGluZzo1cHggOHB4O21pbi1oZWlnaHQ6MzJweH0udGVybWluYWwtdGl0bGV7Z2FwOjRweDtmb250LXNpemU6LjY4NzVyZW19LnRlcm1pbmFsLWluZm97Zm9udC1zaXplOi41NjI1cmVtfS5jdXJyZW50LXRhc2t7Zm9udC1zaXplOi41NjI1cmVtO3BhZGRpbmc6MXB4IDZweCAxcHggNHB4O2dhcDozcHh9Lm1haW4taGVhZGVyLXJvd3twYWRkaW5nOjJweCA2cHg7Z2FwOjRweH0udG9wYmFyLWJyYW5kLC50b3BiYXItY3dke2Rpc3BsYXk6bm9uZX0udG9wYmFyLXNlc3Npb24tdGl0bGV7bWF4LXdpZHRoOjE0MHB4O2ZvbnQtc2l6ZTouNzhyZW19LnNlc3Npb24tc3RhdHVzLXBpbGx7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoxcHggN3B4IDFweCA1cHg7bWF4LXdpZHRoOjExMHB4fS5zZXNzaW9uLXN0YXR1cy1waWxsIC5zZXNzaW9uLXN0YXR1cy1kb3R7d2lkdGg6NXB4O2hlaWdodDo1cHh9LnRvcGJhci1tb3JlLW1lbnV7bWluLXdpZHRoOjE1NnB4fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5e3RvcDo2cHg7cmlnaHQ6NnB4O3BhZGRpbmc6MnB4O2dhcDoxcHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktYnRue21pbi13aWR0aDoyNnB4O2hlaWdodDoyNnB4O2ZvbnQtc2l6ZTouNzVyZW19LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXktbGFiZWx7bWluLXdpZHRoOjI4cHg7Zm9udC1zaXplOi41NjI1cmVtO3BhZGRpbmc6MCAycHh9Lm1haW4tbGF5b3V0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7bWluLWhlaWdodDowO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MH0uc2lkZWJhcnt0b3A6MDt3aWR0aDptaW4oMjYwcHgsY2FsYygxMDB2dyAtIDEycHgpKTttYXgtaGVpZ2h0Om5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5tYWluLWNvbnRlbnR7ZmxleDoxO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmhpZGRlbn0udGVybWluYWwtY29udGFpbmVye2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO21heC1oZWlnaHQ6bm9uZX0uc2Vzc2lvbnMtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAwIGF1dG87bWluLWhlaWdodDowO292ZXJmbG93OnZpc2libGU7cGFkZGluZzo0cHh9LnNlc3Npb24taXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO21hcmdpbi1ib3R0b206NHB4O3BhZGRpbmc6OHB4IDEwcHg7bWluLWhlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NnB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttaW4taGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7Ym9yZGVyLXJhZGl1czo2cHh9LmlucHV0LXBhbmVse3otaW5kZXg6MzA7cGFkZGluZzo0cHggNnB4O3BhZGRpbmctYm90dG9tOmNhbGMoNnB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSArIHZhcigtLWtleWJvYXJkLW9mZnNldCwgMHB4KSk7ZmxleDowIDAgYXV0bzttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmNmYxZTg4MCwjZjZmMWU4ZTAgMzAlLCNmNmYxZTgpLCNmNmYxZTg7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9LmlucHV0LXRleHRhcmVhe3BhZGRpbmctYm90dG9tOjRweH0uaW5wdXQtY29tcG9zZXJ7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCAzcHggMTRweCAjNTkzYTIwMTJ9LmJ0bi1jaXJjbGV7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDtib3JkZXItcmFkaXVzOjUwJX0uYnRuLWNpcmNsZS1zZW5kIHN2ZywuYnRuLWNpcmNsZS1zdG9wIHN2Z3t3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS5pbnB1dC10ZXh0YXJlYSwuZmllbGQtaW5wdXR7Zm9udC1zaXplOjE2cHh9LmlucHV0LXRleHRhcmVhe21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjdweCAzMHB4IDVweCA4cHg7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS4zNX0uaW5wdXQtdGV4dGFyZWE6OnBsYWNlaG9sZGVye2ZvbnQtc2l6ZToxNXB4fS5jaGF0LW1vZGUtc2VsZWN0e21heC13aWR0aDo2NXB4O2ZvbnQtc2l6ZTouNTYyNXJlbTtoZWlnaHQ6MjJweDttaW4taGVpZ2h0OjIycHg7cGFkZGluZzowIDE0cHggMCA0cHg7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWhpbnR7Zm9udC1zaXplOi40NXJlbTttYXgtd2lkdGg6MThjaDtvcGFjaXR5Oi42fS50ZXJtaW5hbC1qdW1wLWJvdHRvbXt3aWR0aDozMnB4O2hlaWdodDozMnB4O3BhZGRpbmc6MDtyaWdodDoxMHB4O2JvdHRvbToxMnB4fS5jaGF0LXVucmVhZC1idWJibGV7aGVpZ2h0OjMwcHg7bWluLXdpZHRoOjMwcHg7cmlnaHQ6MTBweDtib3R0b206OHB4O3BhZGRpbmc6MCA5cHg7Zm9udC1zaXplOi43MnJlbX0uY2hhdC11bnJlYWQtYnViYmxlLmhhcy11bnJlYWR7cGFkZGluZzowIDExcHggMCA5cHh9LmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudHtmb250LXNpemU6LjcycmVtfS5taW5pLWtleWJvYXJkLWZhYnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JvdHRvbTo1MHB4O3JpZ2h0OjEwcHg7Zm9udC1zaXplOjFyZW19Lm1pbmkta2V5Ym9hcmR7Ym90dG9tOjUwcHg7cmlnaHQ6OHB4O2xlZnQ6OHB4O21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6MTBweH0uY2hhdC1jb250YWluZXJ7bWluLWhlaWdodDowO2ZsZXg6MSAxIGF1dG87b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNoYXQtY29udGFpbmVyLmFjdGl2ZXtkaXNwbGF5OmZsZXh9LmZvbGRlci1waWNrZXItY29udGFpbmVye21hcmdpbi1ib3R0b206NHB4fS5mb2xkZXItcGlja2VyLXF1aWNrLWJ0bnttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo2cHggMTBweDtmb250LXNpemU6LjY4NzVyZW07Ym9yZGVyLXJhZGl1czo2cHh9LmZvbGRlci1icmVhZGNydW1ie3BhZGRpbmc6NHB4IDZweDtmb250LXNpemU6LjU2MjVyZW07bWFyZ2luLWJvdHRvbTozcHg7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5mb2xkZXItcGlja2Vye3BhZGRpbmc6OHB4IDEwcHg7bWluLWhlaWdodDozNnB4fS5mb2xkZXItcGlja2VyLWlucHV0e2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6NnB4fS5mb2xkZXItcGlja2VyLWRyb3Bkb3due21heC1oZWlnaHQ6MTgwcHh9LmZvbGRlci1waWNrZXItaXRlbXtwYWRkaW5nOjhweCAxMHB4O21pbi1oZWlnaHQ6MzZweH0uZm9sZGVyLXJlY2VudC1pdGVte3BhZGRpbmc6NnB4IDEwcHg7bWluLWhlaWdodDozNnB4fS5mb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93e3BhZGRpbmc6NnB4fS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXR7Zm9udC1zaXplOi42MjVyZW19LndvcmtpbmctZGlyLWluZGljYXRvcntmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzoxcHggNHB4O21heC13aWR0aDoxMjBweH0udG9kby1wcm9ncmVzcy1oZWFkZXJ7cGFkZGluZzozcHggNnB4O2dhcDo0cHh9LnRvZG8tcHJvZ3Jlc3MtY291bnRlciwudG9kby1wcm9ncmVzcy10YXNre2ZvbnQtc2l6ZTouNTYyNXJlbX0udG9kby1wcm9ncmVzcy1jaGV2cm9ue3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9LnRvZG8tcHJvZ3Jlc3MtYm9keXtwYWRkaW5nOjRweCA2cHh9LmxvZ2luLWNvbnRhaW5lcnttaW4taGVpZ2h0OjEwMGR2aDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6OHB4IDhweCBjYWxjKDhweCArIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKX0ubG9naW4tY2FyZHttYXJnaW4tdG9wOm1heCg2cHgsZW52KHNhZmUtYXJlYS1pbnNldC10b3AsMHB4KSl9LmxvZ2luLWhlYWRlcntwYWRkaW5nOjE0cHggMTJweCAxMHB4fS5sb2dpbi1ib2R5e3BhZGRpbmc6MTJweH0uYnRue21pbi1oZWlnaHQ6NDBweH0uYnRuLXNte21pbi1oZWlnaHQ6MzJweH0uY2hhdC1tZXNzYWdlLWJ1YmJsZXtwYWRkaW5nOjhweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW19LmNoYXQtbWVzc2FnZS1hdmF0YXJ7Zm9udC1zaXplOi42ODc1cmVtfS5tb2RhbC1iYWNrZHJvcHtwYWRkaW5nOjhweDtwYWRkaW5nLXRvcDptYXgoOHB4LHZhcigtLXdhbmQtc2FmZS10b3ApKTtwYWRkaW5nLWxlZnQ6bWF4KDhweCx2YXIoLS13YW5kLXNhZmUtbGVmdCkpO3BhZGRpbmctcmlnaHQ6bWF4KDhweCx2YXIoLS13YW5kLXNhZmUtcmlnaHQpKTthbGlnbi1pdGVtczpmbGV4LWVuZH0ubW9kYWx7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDo4NXZoO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKSB2YXIoLS1yYWRpdXMtbWQpIDAgMDttYXJnaW4tYm90dG9tOnZhcigtLXNhZmUtYm90dG9tLCAwcHgpfS5tb2RhbC1oZWFkZXJ7cGFkZGluZzoxMHB4IDEycHg7bWluLWhlaWdodDo0MHB4fS5tb2RhbC1ib2R5e3BhZGRpbmc6MTBweCAxMnB4fS5tb2RhbC1mb290ZXJ7cGFkZGluZzo4cHggMTJweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtZm9vdGVye3BhZGRpbmc6MTBweCAxMnB4IDE0cHh9LnRvb2wtY2FyZHtwYWRkaW5nOjEwcHg7bWluLWhlaWdodDozNnB4fS5tYWluLWNvbnRlbnQuZmlsZS1wYW5lbC1vcGVue21hcmdpbi1yaWdodDowfS5maWxlLXNpZGUtcGFuZWx7d2lkdGg6MTAwJX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDttaW4taGVpZ2h0OjQ4cHh9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRue3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHh9LmZpbGUtZXhwbG9yZXItaGVhZGVye3BhZGRpbmc6NnB4IDEwcHggNHB4O2dhcDo2cHh9LmZpbGUtZXhwbG9yZXItdXB7d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0uZmlsZS1zZWFyY2gtYm94e3BhZGRpbmc6NnB4IDEwcHggOHB4fS5maWxlLXNlYXJjaC1pY29ue2xlZnQ6MjBweH0uZmlsZS1zZWFyY2gtY2xlYXJ7cmlnaHQ6MTZweH0uZmlsZS1zZWFyY2gtaW5wdXR7bWluLWhlaWdodDozNHB4O2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6N3B4IDMycHggN3B4IDMwcHh9LmJsYW5rLWNoYXR7cGFkZGluZzoxNnB4IDEycHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uYmxhbmstY2hhdC1pbm5lcnttYXgtd2lkdGg6MTAwJX0uYmxhbmstY2hhdC1sb2dve3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbi1ib3R0b206MTBweH0uYmxhbmstY2hhdC10aXRsZXtmb250LXNpemU6MS4xMjVyZW19LmJsYW5rLWNoYXQtc3VidGl0bGV7Zm9udC1zaXplOi43NXJlbTttYXJnaW4tYm90dG9tOjE2cHh9LmJsYW5rLWNoYXQtdG9vbHN7Z2FwOjRweDttYXJnaW4tYm90dG9tOjhweH0uYmxhbmstY2hhdC10b29sLWJ0bntwYWRkaW5nOjZweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07bWluLWhlaWdodDo0NHB4fS5ub3RpZmljYXRpb24tYnViYmxle21heC13aWR0aDpjYWxjKDEwMHZ3IC0gMjRweCl9LmJsYW5rLWNoYXQtY3dkLWRyb3Bkb3due21pbi13aWR0aDowO3dpZHRoOmNhbGMoMTAwdncgLSAzMnB4KTttYXgtd2lkdGg6MzIwcHh9LnRvYXN0LW1lc3NhZ2V7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAzMnB4KX19QG1lZGlhKG1pbi13aWR0aDozOTFweClhbmQgKG1heC13aWR0aDo0MjBweCl7LnRlcm1pbmFsLWNvbnRhaW5lcnttYXJnaW46MCA2cHggNnB4O3BhZGRpbmc6NnB4fS5pbnB1dC1wYW5lbHtwYWRkaW5nOjZweCAxMHB4O3BhZGRpbmctYm90dG9tOmNhbGMoOHB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSl9fUBtZWRpYShtYXgtd2lkdGg6MzkwcHgpey5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSAuaGFtYnVyZ2VyLWljb257d2lkdGg6MTFweDtoZWlnaHQ6OHB4fS50ZXJtaW5hbC1oZWFkZXJ7cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6MjhweH0udGVybWluYWwtaW5mb3tkaXNwbGF5Om5vbmV9LnRlcm1pbmFsLWNvbnRhaW5lcnttYXJnaW46MCA0cHggNHB4O3BhZGRpbmc6NHB4fS5pbnB1dC1wYW5lbHtwYWRkaW5nOjVweCA2cHg7cGFkZGluZy1ib3R0b206Y2FsYyg2cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKX0uaW5wdXQtY29tcG9zZXJ7Ym9yZGVyLXJhZGl1czo4cHh9LmlucHV0LXRleHRhcmVhe21pbi1oZWlnaHQ6MjhweDtwYWRkaW5nOjVweCAyOHB4IDJweCA2cHg7Zm9udC1zaXplOjE2cHh9LmJ0bi1jaXJjbGV7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweH0uc2Vzc2lvbi1pdGVte3BhZGRpbmc6NnB4IDhweDttaW4taGVpZ2h0OjQwcHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozMHB4O2hlaWdodDozMHB4O21pbi13aWR0aDozMHB4O21pbi1oZWlnaHQ6MzBweH0uc2lkZWJhcnt0b3A6MDt3aWR0aDptaW4oMjQwcHgsY2FsYygxMDB2dyAtIDEwcHgpKX0uc2lkZWJhci1mb290ZXItYWN0aW9uc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uc2lkZWJhci1mb290ZXItYWN0aW9uczpoYXMoLnNpZGViYXItYmFjay10by1uYXRpdmUpOmhhcyguc2lkZWJhci1zd2l0Y2gtc2VydmVyKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuIHNwYW57ZGlzcGxheTpub25lfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6NnB4fS5tb2RhbHttYXgtaGVpZ2h0Ojgwdmh9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjhweCAxMHB4O21pbi1oZWlnaHQ6MzZweH0ubW9kYWwtYm9keXtwYWRkaW5nOjhweCAxMHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXJ7cGFkZGluZzo4cHggMTBweCAxMnB4fS5maWVsZC1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MH0uYnRue21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjhweCAxMnB4fS5idG4tc217bWluLWhlaWdodDoyOHB4O3BhZGRpbmc6NHB4IDhweH19QG1lZGlhKG1pbi13aWR0aDo2NDFweClhbmQgKG1heC13aWR0aDo3NjhweCl7LnNpZGViYXJ7dG9wOjA7d2lkdGg6bWluKDMyMHB4LGNhbGMoMTAwdncgLSA0MHB4KSl9LnNlc3Npb24taXRlbXttaW4taGVpZ2h0OjUycHg7cGFkZGluZzoxMXB4IDEycHh9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozNHB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4O21pbi1oZWlnaHQ6MzRweH0uYnRue21pbi1oZWlnaHQ6NDJweH0uYnRuLXNte21pbi1oZWlnaHQ6MzZweH0uZmxvYXRpbmctdG9nZ2xle21pbi13aWR0aDo0OHB4O21pbi1oZWlnaHQ6NDhweH19QG1lZGlhKG1heC1oZWlnaHQ6NDIwcHgpYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fS5zaWRlYmFye3RvcDowfS50ZXJtaW5hbC1jb250YWluZXJ7bWluLWhlaWdodDo1NXZoO21hcmdpbjo2cHg7cGFkZGluZzo4cHh9LmNoYXQtY29udGFpbmVye3BhZGRpbmc6MCAxMHB4IDhweH0uaW5wdXQtcGFuZWx7cGFkZGluZzo4cHg7cGFkZGluZy1ib3R0b206Y2FsYyg4cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKX19QG1lZGlhKG1heC13aWR0aDo0ODBweCl7LmNoYXQtY29udGFpbmVye3BhZGRpbmc6MCA2cHggOHB4fS5jaGF0LW1lc3NhZ2Vze3BhZGRpbmctbGVmdDoycHg7cGFkZGluZy1yaWdodDoycHg7Z2FwOjEycHh9LmNoYXQtbWVzc2FnZXstLWNoYXQtY2FyZC1tYXgtd2lkdGg6IDEwMCV9LnRvb2wtdXNlLWhlYWRlcntmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjRweDtwYWRkaW5nOjhweCAxMnB4fS50b29sLXVzZS1maWxle21heC13aWR0aDoxMDAlfS50b29sLXVzZS1ib2R5e3BhZGRpbmc6MTBweCAxMnB4fS5zdWJhZ2VudC1yZXBseXtwYWRkaW5nOjlweCAxMnB4fS5zdWJhZ2VudC1yZXBseS5jb2xsYXBzaWJsZXtwYWRkaW5nOjB9LnN1YmFnZW50LXJlcGx5LmZpbmFse3BhZGRpbmc6OXB4IDExcHh9LnN1YmFnZW50LXBhbmVse21hcmdpbjo2cHggMH0uc3ViYWdlbnQtcGFuZWwtaGVhZGVye3BhZGRpbmc6N3B4IDEwcHg7Z2FwOjZweDtmb250LXNpemU6Ljc0cmVtO2ZsZXgtd3JhcDp3cmFwfS5zdWJhZ2VudC1wYW5lbC1hdHRyaWJ1dGlvbnt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1oZWlnaHQ6MS40fS5zdWJhZ2VudC1wYW5lbC1jb3VudHttYXJnaW4tbGVmdDphdXRvfS5zdWJhZ2VudC1wYW5lbC10YWd7bWFyZ2luOjAgNHB4O3BhZGRpbmc6MCA0cHh9LnN1YmFnZW50LXBhbmVsLWJvZHl7aGVpZ2h0OjI2MHB4O3BhZGRpbmc6OXB4IDExcHh9LnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdIC5zdWJhZ2VudC1wYW5lbC1ib2R5LC5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPXRydWVdIC5zdWJhZ2VudC1wYW5lbC1ib2R5e2hlaWdodDoyNjBweDttYXgtaGVpZ2h0Om5vbmV9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntwYWRkaW5nOjVweCAxMHB4fS5zdWJhZ2VudC1wYW5lbC1mb290ZXItaGludHtkaXNwbGF5Om5vbmV9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjhweCAwfS5tYXJrZG93bi1jb250ZW50IHByZSwubWFya2Rvd24tY29udGVudCAuY29kZS1ibG9jayBwcmUsLnN1YmFnZW50LXJlcGx5IHByZXtwYWRkaW5nOjEwcHh9LmRpZmYtY29sdW1uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmRpZmYtY29sLC5kaWZmLWNvbC1oYWxmLC5kaWZmLWNvbC1mdWxse2ZsZXg6MSAxIGF1dG87d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0udGVybS1oZWFkZXIsLmRpZmYtaGVhZGVye2ZsZXgtd3JhcDp3cmFwO3Jvdy1nYXA6NHB4fS5kaWZmLXBhdGh7ZmxleC1iYXNpczoxMDAlO29yZGVyOjk5fS5pbmxpbmUtdG9vbC1yb3d7ZmxleC13cmFwOndyYXA7cm93LWdhcDoycHh9LmlubGluZS10b29sLW1ldGF7bWF4LXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlO3BhZGRpbmctbGVmdDoyMnB4fX0uc2Vzc2lvbi1raW5kLWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxOHB4O3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMWVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1raW5kLWJhZGdlLnB0eXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDojNzg4MDhjMWY7Ym9yZGVyLWNvbG9yOiM3ODgwOGMyZX0uc2Vzc2lvbi1raW5kLWJhZGdlLnN0cnVjdHVyZWR7Y29sb3I6I2QxOGI1MjtiYWNrZ3JvdW5kOiNkNzdhNTIxYTtib3JkZXItY29sb3I6I2Q3N2E1MjM4fS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWV7Y29sb3I6IzJmNmY1NDtiYWNrZ3JvdW5kOiM0ZjdhNTgxZjtib3JkZXItY29sb3I6IzRmN2E1ODM4fS5zZXNzaW9uLWtpbmQtZGlzcGxheXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiM4YTRiMjQ7YmFja2dyb3VuZDojZDc3YTUyMWY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxNSwxMjIsODIsLjIpfS5zdHJ1Y3R1cmVkLXRvb2wtaGludHttYXJnaW46NHB4IDAgOHB4O3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDojZDc3YTUyMTQ7Ym9yZGVyOjFweCBkYXNoZWQgcmdiYSgyMTUsMTIyLDgyLC4xOCl9LmJsYW5rLWNoYXR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXg6MTtwYWRkaW5nOjIwcHggMTZweDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0b30uYmxhbmstY2hhdC1pbm5lcnt3aWR0aDoxMDAlO21heC13aWR0aDo1NjBweDt0ZXh0LWFsaWduOmNlbnRlcn0uYmxhbmstY2hhdC1sb2dve3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNkNzdhNTIsI2E5NTEzMCk7Ym9yZGVyLXJhZGl1czoxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjttYXJnaW46MCBhdXRvIDE0cHg7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNjNTY1M2QzOH0uYmxhbmstY2hhdC10aXRsZXtmb250LXNpemU6MS4zNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luOjAgMCA2cHh9LmJsYW5rLWNoYXQtc3VidGl0bGV7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbjowIDAgMjBweH0uYmxhbmstY2hhdC10b29sc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTJweDtmbGV4LXdyYXA6d3JhcH0uYmxhbmstY2hhdC10b29sLWJ0bntwYWRkaW5nOjhweCAxNHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6I2ZmZmZmZmIzO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjQwcHh9LmJsYW5rLWNoYXQtdG9vbC1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4ICM1OTNhMjAxNH0uYmxhbmstY2hhdC10b29sLWJ0biAudG9vbC1pY29ue2ZvbnQtc2l6ZToxLjEyNXJlbX0uYmxhbmstY2hhdC1jd2Qtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjhweH0uYmxhbmstY2hhdC1jd2R7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6NHB4IDhweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt1c2VyLXNlbGVjdDpub25lfS5ibGFuay1jaGF0LWN3ZDpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKX0uYmxhbmstY2hhdC1jd2QtaWNvbntmb250LXNpemU6LjgxMjVyZW19LmJsYW5rLWNoYXQtY3dkLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjNweH0uYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NTI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9LmJsYW5rLWNoYXQtY3dkOmhvdmVyIC5ibGFuay1jaGF0LWN3ZC1wYXRoe3Njcm9sbGJhci13aWR0aDp0aGlufS5ibGFuay1jaGF0LWN3ZDpob3ZlciAuYmxhbmstY2hhdC1jd2QtcGF0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjRweH0uYmxhbmstY2hhdC1jd2QtYXJyb3d7Zm9udC1zaXplOi42MjVyZW07b3BhY2l0eTouNjt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5ibGFuay1jaGF0LWN3ZC1kcm9wZG93bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO21pbi13aWR0aDoyNjBweDttYXgtd2lkdGg6NDAwcHg7bWF4LWhlaWdodDoyNDBweDtvdmVyZmxvdy15OmF1dG87YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Ym94LXNoYWRvdzowIDRweCAxNnB4ICMwMDAwMDAxYTt6LWluZGV4OjUwO21hcmdpbi10b3A6NHB4O3BhZGRpbmc6NHB4fS5ibGFuay1jaGF0LWN3ZC1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uYmxhbmstY2hhdC1jd2QtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KX0uYmxhbmstY2hhdC1jd2QtaXRlbS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NTAwfS5ibGFuay1jaGF0LWN3ZC1pdGVtLWxhYmVse2ZvbnQtc2l6ZTouNjI1cmVtO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweDtmb250LXdlaWdodDo1MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5ibGFuay1jaGF0LWN3ZC1pdGVtLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9LmJsYW5rLWNoYXQtY3dkLWxvYWRpbmd7cGFkZGluZzo4cHggMTBweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtYWxpZ246Y2VudGVyfS5jaGF0LW1vZGUtc2VsZWN0e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lfS5jaGF0LW1vZGUtc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS50b2FzdC1tZXNzYWdle3Bvc2l0aW9uOmZpeGVkO3RvcDoyNHB4O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2ZvbnQtc2l6ZTouODc1cmVtO3otaW5kZXg6OTk5OTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7YW5pbWF0aW9uOnRvYXN0LWluIC4yMnMgY3ViaWMtYmV6aWVyKC4zNCwxLjU2LC42NCwxKX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpO2NvbG9yOiNmZmZ9QGtleWZyYW1lcyB0b2FzdC1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKC0xMnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfX0ubm90aWZpY2F0aW9uLWJ1YmJsZXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO3otaW5kZXg6MTAwMDA7bWluLXdpZHRoOjIyMHB4O21heC13aWR0aDozMjBweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO3BhZGRpbmc6OHB4IDEycHg7YW5pbWF0aW9uOm5vdGlmaWNhdGlvbi1zbGlkZS1pbiAuM3MgY3ViaWMtYmV6aWVyKC4zNCwxLjU2LC42NCwxKTt0cmFuc2l0aW9uOnRvcCAuMjVzIGVhc2Usb3BhY2l0eSAuMjVzIGVhc2V9Lm5vdGlmaWNhdGlvbi1idWJibGUuc2xpZGUtb3V0e2FuaW1hdGlvbjpub3RpZmljYXRpb24tc2xpZGUtb3V0IC4yNXMgZWFzZSBmb3J3YXJkczt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfS5ub3RpZmljYXRpb24tYnViYmxlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWFyZ2luLWJvdHRvbToycHh9Lm5vdGlmaWNhdGlvbi1idWJibGUtaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtmb250LXNpemU6MTBweH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uLmluZm97YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmZ9Lm5vdGlmaWNhdGlvbi1idWJibGUtaWNvbi53YXJuaW5ne2JhY2tncm91bmQ6dmFyKC0td2FybmluZyk7Y29sb3I6I2ZmZn0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uLnN1Y2Nlc3N7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTtjb2xvcjojZmZmfS5ub3RpZmljYXRpb24tYnViYmxlLXRpdGxle2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWZnLXByaW1hcnkpO2ZsZXg6MTttaW4td2lkdGg6MH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tZmctbXV0ZWQpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjE7cGFkZGluZzoxcHggM3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtmbGV4LXNocmluazowfS5ub3RpZmljYXRpb24tYnViYmxlLWNsb3NlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIpO2NvbG9yOnZhcigtLWZnLXByaW1hcnkpfS5ub3RpZmljYXRpb24tYnViYmxlLWJvZHl7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLWZnLXNlY29uZGFyeSk7bGluZS1oZWlnaHQ6MS40O21hcmdpbi1ib3R0b206MDttYXgtaGVpZ2h0OjQuMmVtO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25ze21hcmdpbi10b3A6NnB4O2Rpc3BsYXk6ZmxleDtnYXA6NnB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbntmb250LXNpemU6LjdyZW07cGFkZGluZzoycHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtjb2xvcjp2YXIoLS1mZy1wcmltYXJ5KTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1c30ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyKX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbi5wcmltYXJ5e2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uLnByaW1hcnk6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4xKX1Aa2V5ZnJhbWVzIG5vdGlmaWNhdGlvbi1zbGlkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKC0yMHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIG5vdGlmaWNhdGlvbi1zbGlkZS1vdXR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKC0yMHB4KX19Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b246ZGlzYWJsZWR7b3BhY2l0eTouNjtjdXJzb3I6bm90LWFsbG93ZWQ7ZmlsdGVyOm5vbmV9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24uc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uLnN1Y2Nlc3M6aG92ZXI6bm90KDpkaXNhYmxlZCl7ZmlsdGVyOmJyaWdodG5lc3MoMS4xKX0ubm90aWZpY2F0aW9uLWJ1YmJsZS51cGRhdGUtY2FyZHt3aWR0aDptaW4oMzYwcHgsY2FsYygxMDB2dyAtIDI0cHgpKTttYXgtd2lkdGg6bWluKDM2MHB4LGNhbGMoMTAwdncgLSAyNHB4KSk7bWluLXdpZHRoOjA7cGFkZGluZzoxNHB4IDE0cHggMTJweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTIwJSAxMjAlIGF0IDAlIDAlLHZhcigtLWFjY2VudC1tdXRlZCkgMCUsdHJhbnNwYXJlbnQgNTUlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWJnLWVsZXZhdGVkKSAwJSx2YXIoLS1iZy1wcmltYXJ5KSAxMDAlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdHJvbmcpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhsKSwwIDAgMCAxcHggI2ZmZjYgaW5zZXQ7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlfS51cGRhdGUtY2FyZC1zaGluZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTE1ZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMjU1LDI1NSwyNTUsLjE4KSA0NSUscmdiYSgyNTUsMjU1LDI1NSwuMzIpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xOCkgNTUlLHRyYW5zcGFyZW50IDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMjAlIDEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjoxMjAlIDA7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheTtvcGFjaXR5Oi42NTthbmltYXRpb246dXBkYXRlLWNhcmQtc2hpbmUgNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ei1pbmRleDowfUBrZXlmcmFtZXMgdXBkYXRlLWNhcmQtc2hpbmV7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMjAlIDB9NTUle2JhY2tncm91bmQtcG9zaXRpb246LTIwJSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246LTIwJSAwfX0udXBkYXRlLWNhcmQuaXMtc3VjY2Vzc3tiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgxMjAlIDEyMCUgYXQgMCUgMCUsdmFyKC0tc3VjY2Vzcy1tdXRlZCkgMCUsdHJhbnNwYXJlbnQgNTUlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWJnLWVsZXZhdGVkKSAwJSx2YXIoLS1iZy1wcmltYXJ5KSAxMDAlKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteGwpLDAgMCAwIDFweCAjZmZmNiBpbnNldCx2YXIoLS1zaGFkb3ctZ2xvdy1zdWNjZXNzKX0udXBkYXRlLWNhcmQtaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTBweH0udXBkYXRlLWNhcmQtaWNvbnt3aWR0aDozMnB4O2hlaWdodDozMnB4O2ZsZXgtc2hyaW5rOjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Ym94LXNoYWRvdzowIDRweCAxMnB4IHZhcigtLWFjY2VudC1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNTl9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLWljb257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLXN1Y2Nlc3MpIDAlLHZhcigtLXN1Y2Nlc3MtaG92ZXIpIDEwMCUpO2JveC1zaGFkb3c6MCA0cHggMTJweCB2YXIoLS1zdWNjZXNzLWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY1OX0udXBkYXRlLWNhcmQtaGVhZGluZ3tmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS51cGRhdGUtY2FyZC10aXRsZXtmb250LXNpemU6Ljg4cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi4wMWVtO2xpbmUtaGVpZ2h0OjEuMjV9LnVwZGF0ZS1jYXJkLXN1YnRpdGxle2ZvbnQtc2l6ZTouNzJyZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7bGluZS1oZWlnaHQ6MS4zNX0udXBkYXRlLWNhcmQtY2xvc2V7ZmxleC1zaHJpbms6MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsY29sb3IgLjE1c30udXBkYXRlLWNhcmQtY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0udXBkYXRlLWNhcmQtdmVyc2lvbntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luOjEycHggMCAxMHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXdyYXA6bm93cmFwfS51cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXB7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCB1aS1tb25vc3BhY2UsICJTRiBNb25vIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNzRyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnVwZGF0ZS1jYXJkLXZlcnNpb24tY3VycmVudHtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KX0udXBkYXRlLWNhcmQtdmVyc2lvbi1sYXRlc3R7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDFweCA2cHggdmFyKC0tYWNjZW50LWdsb3cpfS51cGRhdGUtY2FyZC5pcy1zdWNjZXNzIC51cGRhdGUtY2FyZC12ZXJzaW9uLWxhdGVzdHtjb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtib3gtc2hhZG93OjAgMXB4IDZweCB2YXIoLS1zdWNjZXNzLWdsb3cpfS51cGRhdGUtY2FyZC12ZXJzaW9uLWFycm93e2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXgtc2hyaW5rOjB9LnVwZGF0ZS1jYXJkLXByb2dyZXNze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dHJhbnNpdGlvbjpoZWlnaHQgLjI1cyBlYXNlLG1hcmdpbiAuMjVzIGVhc2V9LnVwZGF0ZS1jYXJkLXByb2dyZXNzLmFjdGl2ZXtoZWlnaHQ6NnB4O21hcmdpbjowIDAgMTBweH0udXBkYXRlLWNhcmQtcHJvZ3Jlc3MtdHJhY2t7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtvdmVyZmxvdzpoaWRkZW59LnVwZGF0ZS1jYXJkLXByb2dyZXNzLWZpbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotNDAlO3dpZHRoOjQwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Ym94LXNoYWRvdzowIDAgMTBweCB2YXIoLS1hY2NlbnQtZ2xvdyk7YW5pbWF0aW9uOnVwZGF0ZS1jYXJkLXByb2dyZXNzLXN3ZWVwIDEuNHMgY3ViaWMtYmV6aWVyKC42NSwuMDUsLjM1LDEpIGluZmluaXRlfUBrZXlmcmFtZXMgdXBkYXRlLWNhcmQtcHJvZ3Jlc3Mtc3dlZXB7MCV7bGVmdDotNDUlO3dpZHRoOjQwJX01MCV7bGVmdDoyNSU7d2lkdGg6NTUlfXRve2xlZnQ6MTA1JTt3aWR0aDo0MCV9fS51cGRhdGUtY2FyZC1zdGF0dXN7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2ZvbnQtc2l6ZTouNzJyZW07bGluZS1oZWlnaHQ6MS40O3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO21hcmdpbi1ib3R0b206MTBweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0udXBkYXRlLWNhcmQtc3RhdHVzLmVycm9ye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpfS51cGRhdGUtY2FyZC1zdGF0dXMuc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX0udXBkYXRlLWNhcmQtYWN0aW9uc3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6OHB4fS51cGRhdGUtY2FyZC1hY3Rpb257Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzo3cHggMTZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xMnMgZWFzZSxmaWx0ZXIgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE1cyBlYXNlfS51cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSAwJSx2YXIoLS1hY2NlbnQtaG92ZXIpIDEwMCUpO2NvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDRweCAxMnB4IHZhcigtLWFjY2VudC1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA2cHggMTZweCB2YXIoLS1hY2NlbnQtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjRkfS51cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7ZmlsdGVyOmJyaWdodG5lc3MoLjk2KX0udXBkYXRlLWNhcmQtYWN0aW9uOmRpc2FibGVke29wYWNpdHk6Ljc7Y3Vyc29yOnByb2dyZXNzO2ZpbHRlcjpub25lO3RyYW5zZm9ybTpub25lfS51cGRhdGUtY2FyZC5pcy1zdWNjZXNzIC51cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tc3VjY2VzcykgMCUsdmFyKC0tc3VjY2Vzcy1ob3ZlcikgMTAwJSk7Ym94LXNoYWRvdzowIDRweCAxMnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS51cGRhdGUtY2FyZC5pcy1zdWNjZXNzIC51cGRhdGUtY2FyZC1hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKXtib3gtc2hhZG93OjAgNnB4IDE2cHggdmFyKC0tc3VjY2Vzcy1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNGR9LnJlc3RhcnQtb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6OTk5OTk7YmFja2dyb3VuZDojMDAwMDAwYTY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCk7YW5pbWF0aW9uOnJlc3RhcnQtZmFkZS1pbiAuM3MgZWFzZX0ucmVzdGFydC1vdmVybGF5LWNvbnRlbnR7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6I2ZmZn0ucmVzdGFydC10aXRsZXtmb250LXNpemU6MS4yNXJlbTtmb250LXdlaWdodDo2MDA7bWFyZ2luLWJvdHRvbTo4cHh9LnJlc3RhcnQtc3VidGl0bGV7Zm9udC1zaXplOi45cmVtO29wYWNpdHk6Ljh9LnJlc3RhcnQtc3Bpbm5lcnt3aWR0aDozNnB4O2hlaWdodDozNnB4O21hcmdpbjowIGF1dG8gMTZweDtib3JkZXI6M3B4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnJlc3RhcnQtc3BpbiAuOHMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcmVzdGFydC1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyByZXN0YXJ0LWZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19LmZpbGUtcHJldmlldy1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMDAwMDAwODA7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbmltYXRpb246ZmFkZS1pbiAuMTVzIGVhc2V9QGtleWZyYW1lcyBmYWRlLWluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fS5zZXR0aW5ncy1tb2RhbHt3aWR0aDptaW4oMTA4MHB4LDEwMCUpO21heC13aWR0aDoxMDgwcHg7aGVpZ2h0Om1pbig4OHZoLDkyMHB4KTttYXgtaGVpZ2h0Om1pbig4OHZoLDkyMHB4KTttaW4taGVpZ2h0Om1pbig4OHZoLDkyMHB4KTtvdmVyZmxvdzpoaWRkZW59LnNldHRpbmdzLW1vZGFsLWhlYWRlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxNnB4O3BhZGRpbmctYm90dG9tOjE0cHh9LnNldHRpbmdzLW1vZGFsLXRpdGxlLWdyb3Vwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweDttaW4td2lkdGg6MH0uc2V0dGluZ3MtbW9kYWwtc3VidGl0bGV7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjV9LnNldHRpbmdzLW1vZGFsLWJvZHl7cGFkZGluZy10b3A6MThweDtmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2V0dGluZ3MtbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjYwcHggbWlubWF4KDAsMWZyKTtnYXA6MjJweDttaW4taGVpZ2h0OjA7ZmxleDoxIDEgYXV0bzthbGlnbi1pdGVtczpzdHJldGNofS5zZXR0aW5ncy1sYXlvdXQ+KnttaW4taGVpZ2h0OjB9LnNldHRpbmdzLXNpZGViYXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweDttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZy1yaWdodDo2cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtvdmVyZmxvdzpoaWRkZW59LnNldHRpbmdzLXNpZGViYXItaGVhZGVyLC5zZXR0aW5ncy1zaWRlYmFyLXRpdGxlLC5zZXR0aW5ncy1zaWRlYmFyLWhpbnR7ZmxleC1zaHJpbms6MH0uc2V0dGluZ3Mtc2lkZWJhci1oZWFkZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O3BhZGRpbmc6MnB4IDRweCAwfS5zZXR0aW5ncy1zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi4wMWVtfS5zZXR0aW5ncy1zaWRlYmFyLWhpbnR7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjV9LnNldHRpbmdzLXRhYnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O21hcmdpbjowO3BhZGRpbmc6MCAxMHB4IDAgMDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uc2V0dGluZ3MtdGFiczo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NnB4O2hlaWdodDo2cHh9LnNldHRpbmdzLXRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTM4O2JvcmRlci1yYWRpdXM6OTk5cHh9LnNldHRpbmdzLXRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTVjfS5zZXR0aW5ncy10YWJze3Njcm9sbGJhci13aWR0aDp0aGlufS5zZXR0aW5ncy10YWJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo0cHg7d2lkdGg6MTAwJTtwYWRkaW5nOjEycHggMTRweCAxMnB4IDE2cHg7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDojZmZmZmZmOGM7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjE2cHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciAuMTVzLGJvcmRlci1jb2xvciAuMTVzLGJhY2tncm91bmQgLjE1cyxib3gtc2hhZG93IC4xNXMsdHJhbnNmb3JtIC4xNXM7dGV4dC1hbGlnbjpsZWZ0fS5zZXR0aW5ncy10YWI6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoxMHB4O2JvdHRvbToxMHB4O3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZX0uc2V0dGluZ3MtdGFiOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDojYzU2NTNkMTQ7Ym9yZGVyLWNvbG9yOiNjNTY1M2QxZjt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCl9LnNldHRpbmdzLXRhYjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5zZXR0aW5ncy10YWIuYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOiNmZmZmZmZiMztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2ViLCNmZmY0ZThiOCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjYzU2NTNkMzgsaW5zZXQgMCAxcHggI2ZmZmZmZmU2LGluc2V0IDAgLTFweCAjYzU2NTNkMGYsMCA0cHggMTRweCAtNHB4ICNjNTY1M2QzOCwwIDFweCAzcHggIzdkNWIzOTBhfS5zZXR0aW5ncy10YWIuYWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnNldHRpbmdzLXRhYi1tYWlue2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjppbmhlcml0O2xpbmUtaGVpZ2h0OjEuM30uc2V0dGluZ3MtdGFiLW1ldGF7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS40NX0uc2V0dGluZ3MtdGFiLmFjdGl2ZSAuc2V0dGluZ3MtdGFiLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5zZXR0aW5ncy1jb250ZW50e21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO3BhZGRpbmctcmlnaHQ6NHB4fS5zZXR0aW5ncy1wYW5lbHtkaXNwbGF5Om5vbmU7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6MnB4IDJweCA4cHh9LnNldHRpbmdzLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweH0uc2V0dGluZ3MtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1M2Q7Ym9yZGVyLXJhZGl1czo5OTlweH0uc2V0dGluZ3MtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1NjF9LnNldHRpbmdzLWNvbnRlbnR7c2Nyb2xsYmFyLXdpZHRoOnRoaW59LnNldHRpbmdzLXBhbmVsLmFjdGl2ZXtkaXNwbGF5OmJsb2NrO2FuaW1hdGlvbjpmYWRlLWluIC4xOHMgZWFzZX0uc2V0dGluZ3MtcGFuZWwtaGVhZGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweDttYXJnaW46MCAwIDE0cHg7cGFkZGluZy1ib3R0b206MTJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTIpfS5zZXR0aW5ncy1wYW5lbC10aXRsZXtmb250LXNpemU6MS4wNjI1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotLjAxZW19LnNldHRpbmdzLXBhbmVsLWRlc2N7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjU1fS5zZXR0aW5ncy1wYW5lbD4uc2V0dGluZ3Mtc2VjdGlvbi10aXRsZXttYXJnaW4tdG9wOjE4cHh9LnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1zZWN0aW9uLXRpdGxlOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDowfS5zZXR0aW5ncy1wYW5lbD4uZmllbGQtcm93LC5zZXR0aW5ncy1wYW5lbD4uZmllbGQsLnNldHRpbmdzLXBhbmVsPi5maWVsZC1oaW50e21heC13aWR0aDo3NjBweH0uc2V0dGluZ3MtcGFuZWw+LnN3aXRjaC1jYXJkLWxpc3QsLnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1jYXJkLC5zZXR0aW5ncy1wYW5lbD4uc2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24sLnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiwuc2V0dGluZ3MtcGFuZWw+I3ByZXNldHMtbGlzdHttYXgtd2lkdGg6ODYwcHh9LnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1jYXJkKy5zZXR0aW5ncy1jYXJkLC5zZXR0aW5ncy1wYW5lbD4uc2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24rLnNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uLC5zZXR0aW5ncy1wYW5lbD4uc2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24rLnNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9ue21hcmdpbi10b3A6MTRweH0uc2V0dGluZ3MtcGFuZWxbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYShtYXgtd2lkdGg6OTAwcHgpey5zZXR0aW5ncy1sYXlvdXR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjIyMHB4IG1pbm1heCgwLDFmcik7Z2FwOjE4cHh9fUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5zZXR0aW5ncy1tb2RhbHt3aWR0aDptaW4oMTAwJSw3MjBweCk7aGVpZ2h0Om1pbig5MnZoLDkyMHB4KTttYXgtaGVpZ2h0Om1pbig5MnZoLDkyMHB4KTttaW4taGVpZ2h0Om1pbig5MnZoLDkyMHB4KX0uc2V0dGluZ3MtbW9kYWwtYm9keXtvdmVyZmxvdy15OmF1dG99LnNldHRpbmdzLWxheW91dHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtnYXA6MTRweDtmbGV4OjAgMCBhdXRvfS5zZXR0aW5ncy1zaWRlYmFye3BhZGRpbmctcmlnaHQ6MDtib3JkZXItcmlnaHQ6bm9uZX0uc2V0dGluZ3MtdGFic3tmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdy14OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7cGFkZGluZy1yaWdodDowO3BhZGRpbmctYm90dG9tOjRweH0uc2V0dGluZ3MtdGFiczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5zZXR0aW5ncy10YWJ7ZmxleDowIDAgMjAwcHg7bWluLWhlaWdodDo3MnB4fS5zZXR0aW5ncy10YWI6aG92ZXJ7dHJhbnNmb3JtOm5vbmV9LnNldHRpbmdzLWNvbnRlbnR7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nLXJpZ2h0OjB9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5zZXR0aW5ncy10YWJ7ZmxleC1iYXNpczoxODBweDtwYWRkaW5nOjEwcHggMTJweCAxMHB4IDE0cHh9LnNldHRpbmdzLXRhYi1tYWlue2ZvbnQtc2l6ZTouODEyNXJlbX0uc2V0dGluZ3MtdGFiLW1ldGF7Zm9udC1zaXplOi42ODc1cmVtfX0uc2V0dGluZ3MtYWJvdXQtaW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDowO21hcmdpbi1ib3R0b206MThweDtiYWNrZ3JvdW5kOiNmZmZmZmY4MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjRweCAxNnB4O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKX0uc2V0dGluZ3MtYWJvdXQtcm93e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7Zm9udC1zaXplOi44MTI1cmVtO3BhZGRpbmc6MTJweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS5zZXR0aW5ncy1hYm91dC1yb3c6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9LnNldHRpbmdzLWxhYmVse2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXdlaWdodDo2MDA7ZmxleDowIDAgMTEycHh9LnNldHRpbmdzLXZhbHVle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjhyZW07bWluLXdpZHRoOjA7dGV4dC1hbGlnbjpyaWdodDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnNldHRpbmdzLXZhbHVlIGF7Y29sb3I6dmFyKC0tYWNjZW50KTt0ZXh0LWRlY29yYXRpb246bm9uZX0uc2V0dGluZ3MtdmFsdWUgYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5zZXR0aW5ncy11cGRhdGUtc2VjdGlvbiwuc2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24sLnNldHRpbmdzLWNhcmQsLnN3aXRjaC1jYXJkLC5wcmVzZXQtaXRlbXtib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyl9LnNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uLC5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbnttYXJnaW4tdG9wOjE0cHg7cGFkZGluZzoxNnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JhY2tncm91bmQ6I2ZmZmZmZjdhfS5zZXR0aW5ncy1zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21hcmdpbjowIDAgMTJweDtsZXR0ZXItc3BhY2luZzouMDFlbX0uc2V0dGluZ3MtdXBkYXRlLWFjdGlvbnMsLnNldHRpbmdzLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MTJweH0uc2V0dGluZ3MtYWN0aW9ucy1zdGlja3l7cG9zaXRpb246c3RpY2t5O2JvdHRvbTowO3BhZGRpbmctdG9wOjE2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjUwMCwjZmZmYmY1ZmEgMjhweCk7ei1pbmRleDoxO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2V0dGluZ3Mtc3RhdHVzLW1lc3NhZ2V7bWFyZ2luLXRvcDoxMHB4fS5zZXR0aW5ncy1pbmxpbmUtaGludHttYXJnaW4tdG9wOi00cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zZXR0aW5ncy1jb25uZWN0LXVybC1ib3h7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtiYWNrZ3JvdW5kOiNmZmZmZmZiODtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tdG9wOjZweH0uc2V0dGluZ3MtY29ubmVjdC11cmwtdGV4dHtmbGV4OjE7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7d29yZC1icmVhazpicmVhay1hbGw7dXNlci1zZWxlY3Q6YWxsOy13ZWJraXQtdXNlci1zZWxlY3Q6YWxsfS5zZXR0aW5ncy1jb25uZWN0LXFyLWJveHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tdG9wOjE0cHh9LnNldHRpbmdzLWNvbm5lY3QtcXItd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMDBweDtoZWlnaHQ6MjAwcHg7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgNHB4IDEycHggIzdkNWIzOTE0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNldHRpbmdzLWNvbm5lY3QtcXItd3JhcDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNnB4IDE2cHggIzdkNWIzOTFmfS5zZXR0aW5ncy1jb25uZWN0LXFyLXdyYXAgY2FudmFze2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5zZXR0aW5ncy1jb25uZWN0LXFyLWVtcHR5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtwb2ludGVyLWV2ZW50czpub25lfS5zZXR0aW5ncy1jb25uZWN0LXFyLWhpbnR7bWFyZ2luOjA7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3RleHQtYWxpZ246Y2VudGVyO21heC13aWR0aDoyODBweH0uY29ubmVjdC1xci1tb2RhbC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMTQwZTA4OGM7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDZweCk7ei1pbmRleDo5OTk5O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjI0cHh9LmNvbm5lY3QtcXItbW9kYWwtY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MjRweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDtib3gtc2hhZG93OjAgMjBweCA2MHB4ICMwMDAwMDA1OX0uY29ubmVjdC1xci1tb2RhbC1jYXJkIGNhbnZhc3tkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6OHB4fS5jb25uZWN0LXFyLW1vZGFsLWhpbnR7bWFyZ2luOjA7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3RleHQtYWxpZ246Y2VudGVyfS5maWVsZC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKTtnYXA6MTRweDttYXJnaW4tYm90dG9tOjE0cHh9LmZpZWxkLXJvdyAuZmllbGR7bWFyZ2luLWJvdHRvbTowfS5zZXR0aW5ncy1jYXJke2JhY2tncm91bmQ6I2ZmZmZmZjg1O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO3BhZGRpbmc6MThweDttYXJnaW4tYm90dG9tOjE0cHh9LnNldHRpbmdzLWNhcmQgLmZpZWxkOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjEycHh9LnNldHRpbmdzLWNhcmQgLnNldHRpbmdzLXNlY3Rpb24tdGl0bGV7bWFyZ2luLXRvcDowfS5zZXR0aW5ncy1jYXJkIC5maWVsZC1pbnB1dHtiYWNrZ3JvdW5kOiNmZmZmZmZiOH0uc2V0dGluZ3MtY2FyZCAuYnRuLWJsb2Nre21hcmdpbi1ib3R0b206MH0uc2V0dGluZ3MtcGFuZWwgLmJ0bi1ibG9ja3ttaW4taGVpZ2h0OjQ0cHh9LnNldHRpbmdzLXBhbmVsIC5oaW50LC5zZXR0aW5ncy1wYW5lbCAuZmllbGQtaGludHtsaW5lLWhlaWdodDoxLjU1fS5zZXR0aW5ncy1wYW5lbCBpbnB1dFt0eXBlPXJhbmdlXXt3aWR0aDoxMDAlfS5zZXR0aW5ncy1wYW5lbCBjb2Rle21heC13aWR0aDoxMDAlfS5zZXR0aW5ncy1wYW5lbCAuaGlkZGVuKy5oaW50e21hcmdpbi10b3A6MH0uc2V0dGluZ3MtcGFuZWwgLmZpZWxkLWlucHV0LC5zZXR0aW5ncy1wYW5lbCAuZmllbGQtc2VsZWN0e3dpZHRoOjEwMCV9LnNldHRpbmdzLXBhbmVsIC5idG4tc217bWluLWhlaWdodDozNHB4fS5zZXR0aW5ncy1wYW5lbCAuZXJyb3ItbWVzc2FnZSwuc2V0dGluZ3MtcGFuZWwgLmhpbnQuaGlkZGVuLC5zZXR0aW5ncy1wYW5lbCAuZXJyb3ItbWVzc2FnZS5oaWRkZW57bWFyZ2luLXRvcDoxMHB4fS5zZXR0aW5ncy1wYW5lbCAjcHJlc2V0cy1saXN0OmVtcHR5OmJlZm9yZXtjb250ZW50OiJcNTJhMFw4ZjdkXDRlMmQuLi4iO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxOHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTouODEyNXJlbX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuc2V0dGluZ3MtYWJvdXQtcm93e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zLC5zZXR0aW5ncy1hY3Rpb25ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2V0dGluZ3MtdXBkYXRlLWFjdGlvbnMgLmJ0biwuc2V0dGluZ3MtYWN0aW9ucyAuYnRue3dpZHRoOjEwMCV9LnNldHRpbmdzLWNvbm5lY3QtdXJsLWJveHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaH19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNldHRpbmdzLW1vZGFsLWhlYWRlcntnYXA6MTBweH0uc2V0dGluZ3MtbW9kYWwtc3VidGl0bGV7Zm9udC1zaXplOi42ODc1cmVtfS5zZXR0aW5ncy1wYW5lbHtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LnNldHRpbmdzLWFib3V0LWluZm8sLnNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uLC5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiwuc2V0dGluZ3MtY2FyZHtwYWRkaW5nLWxlZnQ6MTRweDtwYWRkaW5nLXJpZ2h0OjE0cHh9LnNldHRpbmdzLWFib3V0LXJvd3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NHB4fS5zZXR0aW5ncy1sYWJlbCwuc2V0dGluZ3MtdmFsdWV7ZmxleDpub25lO3RleHQtYWxpZ246bGVmdH0uc2V0dGluZ3MtcGFuZWwgLmJ0bi1pY29ue21pbi13aWR0aDozNHB4O21pbi1oZWlnaHQ6MzRweH19QG1lZGlhKG1pbi13aWR0aDo3NjlweCl7LnNldHRpbmdzLXBhbmVsIC5idG4tYmxvY2t7d2lkdGg6YXV0bzttaW4td2lkdGg6MTgwcHh9fUBzdXBwb3J0cyBub3QgKHBvc2l0aW9uOiBzdGlja3kpey5zZXR0aW5ncy10YWJzLC5zZXR0aW5ncy1hY3Rpb25zLXN0aWNreXtwb3NpdGlvbjpzdGF0aWN9fS5lbXB0eS1zdGF0ZS1jb21wYWN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzozMnB4IDE2cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44MTI1cmVtfS5lbXB0eS1zdGF0ZS1jb21wYWN0IC5lbXB0eS1pY29ue2ZvbnQtc2l6ZToxLjVyZW07b3BhY2l0eTouNX0uc3dpdGNoLWNhcmQtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4fS5zd2l0Y2gtY2FyZHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZmZmZjgwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNHB4IDE2cHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjJzLGJhY2tncm91bmQgLjJzLHRyYW5zZm9ybSAuMnM7dXNlci1zZWxlY3Q6bm9uZX0uc3dpdGNoLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5zd2l0Y2gtY2FyZC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweH0uc3dpdGNoLWNhcmQtdGl0bGV7ZmxleDoxO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uc3dpdGNoLWNhcmQtZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi10b3A6MDttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjI1cyBlYXNlLG9wYWNpdHkgLjJzIGVhc2UsbWFyZ2luLXRvcCAuMjVzIGVhc2V9LnN3aXRjaC1jYXJkOmhhcyguc3dpdGNoLXRvZ2dsZTpjaGVja2VkKSAuc3dpdGNoLWNhcmQtZGVzY3ttYXgtaGVpZ2h0OjQwcHg7b3BhY2l0eToxO21hcmdpbi10b3A6OHB4fS5zd2l0Y2gtY2FyZDpoYXMoLnN3aXRjaC10b2dnbGU6Y2hlY2tlZCl7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDYlLHZhcigtLWJnLXNlY29uZGFyeSkpfS5zd2l0Y2gtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDt3aWR0aDowO2hlaWdodDowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXRjaC1zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NDRweDtoZWlnaHQ6MjZweDttaW4td2lkdGg6NDRweDtib3JkZXItcmFkaXVzOjEzcHg7YmFja2dyb3VuZDojN2Q1YjM5Mzg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggIzdkNWIzOTJlO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMjJzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2U7Y3Vyc29yOnBvaW50ZXJ9LnN3aXRjaC1zbGlkZXI6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAycHggNHB4ICMxNDBlMDgyZSwwIDAgMCAuNXB4ICM3ZDViMzkwZjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjRzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc3dpdGNoLXRvZ2dsZTpjaGVja2VkKy5zd2l0Y2gtc2xpZGVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjMDAwMDAwMWF9LnN3aXRjaC10b2dnbGU6Y2hlY2tlZCsuc3dpdGNoLXNsaWRlcjphZnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgpfS5zd2l0Y2gtdG9nZ2xlOmZvY3VzLXZpc2libGUrLnN3aXRjaC1zbGlkZXJ7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnByZXNldC1pdGVte2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7YmFja2dyb3VuZDojZmZmZmZmODU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbToxMHB4O2ZvbnQtc2l6ZTouODEyNXJlbX0ucHJlc2V0LWxhYmVse2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wcmVzZXQtZGV0YWlse21pbi13aWR0aDowO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnByZXNldC1pdGVte2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5wcmVzZXQtZGV0YWlse3RleHQtYWxpZ246bGVmdH19LmZpbGUtcHJldmlldy1tb2RhbHt3aWR0aDptaW4oOTB2dyxtYXgoNjQwcHgsY2FsYygxMDB2dyAtIDM4MHB4KSkpO21heC13aWR0aDoxMDAwcHg7aGVpZ2h0Ojgwdmg7bWF4LWhlaWdodDo4NXZoO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3gtc2hhZG93OjAgMjBweCA2MHB4ICMwMDAwMDA0ZDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmhpZGRlbjthbmltYXRpb246bW9kYWwtc2xpZGUtaW4gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpfUBrZXlmcmFtZXMgbW9kYWwtc2xpZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LmZpbGUtcHJldmlldy1vdmVybGF5e3BhZGRpbmc6MDthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpzdHJldGNoO3RvcDp2YXIoLS1hcHAtdmlld3BvcnQtdG9wLCAwcHgpO2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpfS5maWxlLXByZXZpZXctbW9kYWx7d2lkdGg6MTAwdnc7bWF4LXdpZHRoOjEwMHZ3O2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpO21heC1oZWlnaHQ6dmFyKC0tYXBwLXZpZXdwb3J0LWhlaWdodCwgMTAwZHZoKTtib3JkZXItcmFkaXVzOjA7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO2FuaW1hdGlvbjpmYWRlLWluIC4xOHMgZWFzZX0uZmlsZS1wcmV2aWV3LWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDtnYXA6OHB4O3BhZGRpbmctdG9wOm1heCgxMHB4LGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7cGFkZGluZy1sZWZ0Om1heCgxMnB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO3BhZGRpbmctcmlnaHQ6bWF4KDEycHgsZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpfS5maWxlLXByZXZpZXctdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Z2FwOjZweDttaW4td2lkdGg6MDtmbGV4OjF9LmZpbGUtcHJldmlldy1maWxlbmFtZXttYXgtd2lkdGg6MTAwJX0uZmlsZS1wcmV2aWV3LXBhdGh7ZGlzcGxheTpub25lfS5maWxlLXByZXZpZXctdG9vbGJhcntnYXA6NHB4O2ZsZXgtc2hyaW5rOjB9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bntwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZTouNzVyZW19LmZpbGUtcHJldmlldy1jbG9zZXt3aWR0aDozNHB4O2hlaWdodDozNHB4O3BhZGRpbmc6MH0uZmlsZS1wcmV2aWV3LWljb257Zm9udC1zaXplOjEuMTI1cmVtfS5maWxlLXByZXZpZXctYm9keXtwYWRkaW5nLWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSl9fS5maWxlLXByZXZpZXctaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2ZsZXgtc2hyaW5rOjB9LmZpbGUtcHJldmlldy10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjB9LmZpbGUtcHJldmlldy1pY29ue2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjE7ZmxleC1zaHJpbms6MH0uZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO2ZsZXg6MX0uZmlsZS1wcmV2aWV3LW5hbWUtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtnYXA6OHB4O21pbi13aWR0aDowfS5maWxlLXByZXZpZXctZmlsZW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDFlbTttaW4td2lkdGg6MH0uZmlsZS1wcmV2aWV3LXBhdGh7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MDtvcGFjaXR5Oi44fS5maWxlLXByZXZpZXctZGlydHl7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOiNjNjZhMWE7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO2ZsZXgtc2hyaW5rOjA7cGFkZGluZzoxcHggOHB4O2JhY2tncm91bmQ6I2M2NmExYTFhO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTgsMTA2LDI2LC4yNSk7Ym9yZGVyLXJhZGl1czo5OTlweDthbmltYXRpb246ZGlydHktcHVsc2UgMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIGRpcnR5LXB1bHNlezAlLHRve29wYWNpdHk6LjY1fTUwJXtvcGFjaXR5OjF9fS5maWxlLXByZXZpZXctbGFuZ3tmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMTIsMTUyLDk5LC4zKTtsZXR0ZXItc3BhY2luZzouMDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZmxleC1zaHJpbms6MDthbGlnbi1zZWxmOmNlbnRlcn0uZmlsZS1wcmV2aWV3LWNsb3Nle2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsY29sb3IgLjE1cyxib3JkZXItY29sb3IgLjE1cyx0cmFuc2Zvcm0gLjE1cztsaW5lLWhlaWdodDoxO2ZsZXgtc2hyaW5rOjB9LmZpbGUtcHJldmlldy1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOiNkYzQ2NDYxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjojZGM0NjQ2NDB9LmZpbGUtcHJldmlldy1jbG9zZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LmZpbGUtcHJldmlldy1ib2R5e2ZsZXg6MTtvdmVyZmxvdzphdXRvO21pbi1oZWlnaHQ6MDtzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpIHRyYW5zcGFyZW50fS5maWxlLXByZXZpZXctYm9keTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6OHB4O2hlaWdodDo4cHh9LmZpbGUtcHJldmlldy1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5maWxlLXByZXZpZXctYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czo0cHh9LmZpbGUtcHJldmlldy1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5maWxlLXByZXZpZXctYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmNvZGUtcHJldmlldy13cmFwcGVye2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnZhcigtLWJvcmRlci1kZWZhdWx0KSB0cmFuc3BhcmVudH0uY29kZS1wcmV2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweDtoZWlnaHQ6OHB4fS5jb2RlLXByZXZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uY29kZS1wcmV2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NHB4fS5jb2RlLXByZXZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uY29kZS1wcmV2aWV3LWxpbmVze3BhZGRpbmc6MTZweCAxMnB4IDE2cHggMTZweDt0ZXh0LWFsaWduOnJpZ2h0O3VzZXItc2VsZWN0Om5vbmU7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6dmFyKC0tZm9udC1zaXplLXNtKTtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tYm9yZGVyKTt3aWR0aDo1MnB4O21heC13aWR0aDo1MnB4O2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS5jb2RlLXByZXZpZXctY29udGVudHtmbGV4OjE7bWluLXdpZHRoOjA7d2lkdGg6MTAwJTtwYWRkaW5nOjE2cHggMjBweDtvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTphdXRvfS5jb2RlLXByZXZpZXctY29udGVudCBwcmV7bWFyZ2luOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6dmFyKC0tZm9udC1zaXplLXNtKTtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3aGl0ZS1zcGFjZTpwcmU7d29yZC1icmVhazpub3JtYWw7b3ZlcmZsb3ctd3JhcDpub3JtYWx9LnN5bnRheC1rZXl3b3Jke2NvbG9yOiNjNjc4ZGR9LnN5bnRheC1zdHJpbmd7Y29sb3I6Izk4YzM3OX0uc3ludGF4LW51bWJlcntjb2xvcjojZDE5YTY2fS5zeW50YXgtY29tbWVudHtjb2xvcjojNWM2MzcwO2ZvbnQtc3R5bGU6aXRhbGljfS5zeW50YXgtZnVuY3Rpb257Y29sb3I6IzYxYWZlZn0uc3ludGF4LW9wZXJhdG9ye2NvbG9yOiM1NmI2YzJ9LnN5bnRheC10eXBle2NvbG9yOiNlNWMwN2J9LnN5bnRheC1wdW5jdHVhdGlvbntjb2xvcjojYWJiMmJmfS5tYXJrZG93bi1wcmV2aWV3e3BhZGRpbmc6MjBweCAyOHB4O2xpbmUtaGVpZ2h0OjEuNztmb250LXNpemU6LjkzNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ubWFya2Rvd24tcHJldmlldyBoMSwubWFya2Rvd24tcHJldmlldyBoMiwubWFya2Rvd24tcHJldmlldyBoMywubWFya2Rvd24tcHJldmlldyBoNCwubWFya2Rvd24tcHJldmlldyBoNSwubWFya2Rvd24tcHJldmlldyBoNnttYXJnaW4tdG9wOjEuNWVtO21hcmdpbi1ib3R0b206LjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS4zO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9Lm1hcmtkb3duLXByZXZpZXcgaDF7Zm9udC1zaXplOjEuNzVyZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nLWJvdHRvbTouM2VtfS5tYXJrZG93bi1wcmV2aWV3IGgye2ZvbnQtc2l6ZToxLjM3NXJlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmctYm90dG9tOi4zZW19Lm1hcmtkb3duLXByZXZpZXcgaDN7Zm9udC1zaXplOjEuMTI1cmVtfS5tYXJrZG93bi1wcmV2aWV3IGg0e2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1wcmV2aWV3IHB7bWFyZ2luOi43NWVtIDB9Lm1hcmtkb3duLXByZXZpZXcgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfS5tYXJrZG93bi1wcmV2aWV3IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubWFya2Rvd24tcHJldmlldyBjb2Rle2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjNweDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODc1ZW07Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfS5tYXJrZG93bi1wcmV2aWV3IHByZXtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjE2cHg7b3ZlcmZsb3cteDphdXRvO21hcmdpbjoxZW0gMH0ubWFya2Rvd24tcHJldmlldyBwcmUgY29kZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2ZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtc20pfS5tYXJrZG93bi1wcmV2aWV3IGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHZhcigtLWFjY2VudCk7bWFyZ2luOjFlbSAwO3BhZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOjAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDB9Lm1hcmtkb3duLXByZXZpZXcgdWwsLm1hcmtkb3duLXByZXZpZXcgb2x7cGFkZGluZy1sZWZ0OjEuNWVtO21hcmdpbjouNzVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IGxpe21hcmdpbjouMjVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlO21hcmdpbjoxZW0gMDtmb250LXNpemU6Ljg3NXJlbX0ubWFya2Rvd24tcHJldmlldyB0aCwubWFya2Rvd24tcHJldmlldyB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo4cHggMTJweDt0ZXh0LWFsaWduOmxlZnR9Lm1hcmtkb3duLXByZXZpZXcgdGh7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tcHJldmlldyB0cjpudGgtY2hpbGQoMm4pe2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KX0ubWFya2Rvd24tcHJldmlldyBocntib3JkZXI6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO21hcmdpbjoxLjVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IGltZ3ttYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSl9LmZpbGUtcHJldmlldy1sb2FkaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljg3NXJlbTtnYXA6MTBweH0uZmlsZS1wcmV2aWV3LWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItdG9wLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnByZXZpZXctc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcHJldmlldy1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmZpbGUtcHJldmlldy1lcnJvcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDoxMDAlO2dhcDo4cHg7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXNpemU6Ljg3NXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjIwcHh9LmZpbGUtcHJldmlldy1lcnJvciAucHJldmlldy1lcnJvci1pY29ue2ZvbnQtc2l6ZToycmVtO29wYWNpdHk6LjV9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV17Y3Vyc29yOnBvaW50ZXJ9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcil9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXIgLnRyZWUtbmFtZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5maWxlLWV4cGxvcmVyLXVwe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MH0uZmlsZS1leHBsb3Jlci11cDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX0uZmlsZS1leHBsb3Jlci11cDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnRyZWUtbWV0YXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWFyZ2luLWxlZnQ6NnB4O3BhZGRpbmctbGVmdDo2cHg7bWF4LXdpZHRoOjcwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO29wYWNpdHk6Ljg1fS50cmVlLWl0ZW06aG92ZXIgLnRyZWUtbWV0YXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRyZWUtdHJ1bmNhdGVke3BhZGRpbmc6OHB4IDE0cHg7bWFyZ2luOjRweCA2cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjZweDt0ZXh0LWFsaWduOmNlbnRlcn0uZmlsZS1jb250ZXh0LW1lbnV7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMTAwO21pbi13aWR0aDoyMDBweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7Ym94LXNoYWRvdzowIDEycHggMzZweCAjMDAwMDAwMmU7YW5pbWF0aW9uOmN0eC1mYWRlLWluIC4xMnMgZWFzZX1Aa2V5ZnJhbWVzIGN0eC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19LmZpbGUtY29udGV4dC1tZW51LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTouODEyNXJlbTt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnN9LmZpbGUtY29udGV4dC1tZW51LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LmZpbGUtY29udGV4dC1tZW51LWl0ZW0gLmN0eC1pY29ue3dpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7b3BhY2l0eTouODV9LndhbmQtbWluaS10b2FzdHtwb3NpdGlvbjpmaXhlZDt0b3A6MzBweDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTE0cHgpO3otaW5kZXg6MTIwMDtwYWRkaW5nOjhweCAxNnB4O2JhY2tncm91bmQ6IzE0MTQxNGViO2NvbG9yOiNmZmY7Zm9udC1zaXplOi44MTI1cmVtO2JvcmRlci1yYWRpdXM6OTk5cHg7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZTtwb2ludGVyLWV2ZW50czpub25lfS53YW5kLW1pbmktdG9hc3Quc2hvd3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX0uZmlsZS1wcmV2aWV3LXRvb2xiYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6OHB4fS5maWxlLXByZXZpZXctdG9vbGJhci1idG57YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MCA4cHg7bWluLXdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Z2FwOjZweDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGNvbG9yIC4xNXMsYm9yZGVyLWNvbG9yIC4xNXMsYm94LXNoYWRvdyAuMTVzLHRyYW5zZm9ybSAuMXN9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpO2JveC1zaGFkb3c6MCAxcHggM3B4ICMwMDAwMDAwYX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkO3RyYW5zZm9ybTpub25lfS5maWxlLXByZXZpZXctdG9vbGJhci1idG4gLnRvb2xiYXItaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5maWxlLXByZXZpZXctdG9vbGJhci1idG4gLnRvb2xiYXItdGV4dHtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bi50b29sYmFyLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6I2Q0OTg2MzY2fS5maWxlLXByZXZpZXctdG9vbGJhci1idG4ucHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMjZ9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bi5wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6I2I4N2E0Nztib3JkZXItY29sb3I6I2I4N2E0Nztjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAycHggNnB4ICM1OTNhMjAzM30uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuLmRhbmdlcntjb2xvcjojYzAzOTJifS5maWxlLXByZXZpZXctdG9vbGJhci1idG4uZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6I2RjNDY0NjE0O2JvcmRlci1jb2xvcjojZGM0NjQ2NGQ7Y29sb3I6I2EwMjgxOH0uZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXB7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIC5maWxlLXByZXZpZXctdG9vbGJhci1idG57Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWluLXdpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym94LXNoYWRvdzpub25lfS5maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCAuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5maWxlLXByZXZpZXctdG9vbGJhci1ncm91cGxhYmVse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDZweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9LmZpbGUtcHJldmlldy10b29sYmFyLmVkaXRpbmd7Z2FwOjZweH1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRue2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O3BhZGRpbmc6MCA2cHh9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0biAudG9vbGJhci10ZXh0e2Rpc3BsYXk6bm9uZX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuLnByaW1hcnkgLnRvb2xiYXItdGV4dHtkaXNwbGF5OmlubGluZS1mbGV4fX0ud2FuZC1pY29ue2ZsZXgtc2hyaW5rOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5jb2RlLXByZXZpZXctY29udGVudCBwcmUud3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmZpbGUtcHJldmlldy1ib2R5LmVkaXRpbmd7cGFkZGluZzowO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmNvZGUtZWRpdG9yLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmNvZGUtZWRpdG9yLXRleHRhcmVhe2ZsZXg6MTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4IDIwcHg7bWFyZ2luOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO3Jlc2l6ZTpub25lO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWZvbnQtc2l6ZS1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTt0YWItc2l6ZToyOy1tb3otdGFiLXNpemU6Mjt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6YXV0bztjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCkgdHJhbnNwYXJlbnR9LmNvZGUtZWRpdG9yLXRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHg7aGVpZ2h0OjhweH0uY29kZS1lZGl0b3ItdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmNvZGUtZWRpdG9yLXRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjRweH0uY29kZS1lZGl0b3ItdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCl9LmNvZGUtZWRpdG9yLXRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICNkNDk4NjMyNn0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1pbWFnZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgwLDAsMCwuMDQpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNzUlLHJnYmEoMCwwLDAsLjA0KSA3NSUpLGxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDAsMCwwLC4wNCkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA3NSUscmdiYSgwLDAsMCwuMDQpIDc1JSksdmFyKC0tYmctcHJpbWFyeSk7YmFja2dyb3VuZC1zaXplOjE2cHggMTZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCw4cHggOHB4fS5pbWFnZS1wcmV2aWV3LXdyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjE2cHh9LmltYWdlLXByZXZpZXctaW1ne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47Y3Vyc29yOnpvb20taW47dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2U7Ym94LXNoYWRvdzowIDZweCAyMHB4ICMwMDAwMDAxZjtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmZ9LmltYWdlLXByZXZpZXctaW1nLnpvb21lZHttYXgtd2lkdGg6bm9uZTttYXgtaGVpZ2h0Om5vbmU7Y3Vyc29yOnpvb20tb3V0O3RyYW5zZm9ybTpzY2FsZSgxKX0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1wZGZ7cGFkZGluZzowO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KX0ucGRmLXByZXZpZXctZnJhbWV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtdmlkZW8sLmZpbGUtcHJldmlldy1ib2R5LmtpbmQtYXVkaW97ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6IzBkMGQwZH0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1hdWRpb3tiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9Lm1lZGlhLXByZXZpZXctd3JhcHBlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7cGFkZGluZzoyNHB4fS5tZWRpYS1wcmV2aWV3LXZpZGVve21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gNDBweCk7YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6NHB4fS5tZWRpYS1wcmV2aWV3LWF1ZGlve3dpZHRoOm1pbig0MjBweCw5MCUpfS5tZWRpYS1wcmV2aWV3LWljb257Zm9udC1zaXplOjMuNXJlbTtvcGFjaXR5Oi43fS5tZWRpYS1wcmV2aWV3LW5hbWV7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjFyZW07bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tZWRpYS1wcmV2aWV3LW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NXJlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtdmlkZW8gLm1lZGlhLXByZXZpZXctbWV0YXtjb2xvcjojZmZmZmZmYjN9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtYmluYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uYmluYXJ5LXByZXZpZXctY2FyZHttYXgtd2lkdGg6NDgwcHg7cGFkZGluZzozMnB4IDI4cHg7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LmJpbmFyeS1wcmV2aWV3LWljb257Zm9udC1zaXplOjNyZW07b3BhY2l0eTouNn0uYmluYXJ5LXByZXZpZXctbmFtZXtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6MXJlbTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYmluYXJ5LXByZXZpZXctbWV0YXtkaXNwbGF5OmZsZXg7Z2FwOjZweDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NXJlbX0uYmluYXJ5LXByZXZpZXctcGF0aHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uYmluYXJ5LXByZXZpZXctYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW4tdG9wOjhweDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5iaW5hcnktcHJldmlldy1idG57cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTouODEyNXJlbTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxib3JkZXItY29sb3IgLjE1cyxjb2xvciAuMTVzfS5iaW5hcnktcHJldmlldy1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCl9LnRyZWUtaXRlbXt0cmFuc2l0aW9uOmFsbCAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnRyZWUtaXRlbTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCl9LnRyZWUtaXRlbTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgycHgpIHNjYWxlKC45OSl9LmZpbGUtc2lkZS1wYW5lbHt0cmFuc2l0aW9uOnJpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuMzVzIGVhc2V9LmZpbGUtc2lkZS1wYW5lbC5vcGVue2JveC1zaGFkb3c6LThweCAwIDMycHggIzU5M2EyMDFmfS5zcGlubmVye2FuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIGZsb2F0ezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX19LmZsb2F0e2FuaW1hdGlvbjpmbG9hdCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZX0uY2hhdC1tZXNzYWdlLWJ1YmJsZXstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0ubXNnLWNvcHktYnRue2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTMycHg7cmlnaHQ6NHB4O3BhZGRpbmc6NHB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt6LWluZGV4OjEwO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0ubXNnLWNvcHktYnRuLnZpc2libGV7ZGlzcGxheTpibG9ja30ubXNnLWNvcHktYnRuLmNvcGllZHtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX0uY2hhdC1tZXNzYWdle3Bvc2l0aW9uOnJlbGF0aXZlfS50ZXJtaW5hbC1qdW1wLWJvdHRvbXt6LWluZGV4OjIwfS5pbnB1dC1jb21wb3Nlci5pbi1mbGlnaHR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5pbnB1dC1jb21wb3Nlci5pbi1mbGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7bGVmdDotNjAlO3dpZHRoOjIyMCU7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjE0cHggMTRweCAwIDA7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAyODBweCA0cHgscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC40NSkgMCUscmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4xMikgMzUlLHRyYW5zcGFyZW50IDYwJSkgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToyODBweCA0cHg7YW5pbWF0aW9uOmNvbXBvc2VyV2F2ZVNsaWRlIDdzIGN1YmljLWJlemllciguMzUsMCwuNjUsMSkgaW5maW5pdGU7ei1pbmRleDoyO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWNvbXBvc2VyLmluLWZsaWdodDphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O2xlZnQ6LTYwJTt3aWR0aDoyMjAlO2hlaWdodDozcHg7Ym9yZGVyLXJhZGl1czoxNHB4IDE0cHggMCAwO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMjIwcHggM3B4LHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuMjUpIDAlLHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuMDYpIDM1JSx0cmFuc3BhcmVudCA2MCUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MjIwcHggM3B4O2FuaW1hdGlvbjpjb21wb3NlcldhdmVTbGlkZSA5cyBjdWJpYy1iZXppZXIoLjM1LDAsLjY1LDEpIGluZmluaXRlIHJldmVyc2U7ei1pbmRleDoyO3BvaW50ZXItZXZlbnRzOm5vbmV9QGtleWZyYW1lcyBjb21wb3NlcldhdmVTbGlkZXswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAlIGNlbnRlcn10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgY2VudGVyfX0uc3RydWN0dXJlZC1zdGF0dXMtYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2dhcDo1cHg7bWFyZ2luOjAgMCAwIGF1dG87cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSxjb2xvciAuM3MgZWFzZTtvdmVyZmxvdzpoaWRkZW47ZmxleC1zaHJpbms6MH0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLWRvdHt3aWR0aDo1cHg7aGVpZ2h0OjVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuOCk7YW5pbWF0aW9uOnN0YXR1c0RvdFB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7ZmxleC1zaHJpbms6MH1Aa2V5ZnJhbWVzIHN0YXR1c0RvdFB1bHNlezAlLHRve29wYWNpdHk6LjQ7dHJhbnNmb3JtOnNjYWxlKC45KX01MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLWxhYmVse2ZsZXgtc2hyaW5rOjA7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjI1cmVtfS5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIgLnN0YXR1cy1iYXItdGltZXJ7ZmxleC1zaHJpbms6MDtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyLmNvbXBsZXRlZHthbmltYXRpb246c3RhdHVzQmFyRmFkZU91dCAycyBlYXNlLW91dCAxcyBmb3J3YXJkc30uc3RydWN0dXJlZC1zdGF0dXMtYmFyLmNvbXBsZXRlZCAuc3RhdHVzLWJhci1sYWJlbHtjb2xvcjp2YXIoLS1zdWNjZXNzKX1Aa2V5ZnJhbWVzIHN0YXR1c0JhckZhZGVPdXR7MCV7b3BhY2l0eToxO21heC1oZWlnaHQ6MjBweH03MCV7b3BhY2l0eTowO21heC1oZWlnaHQ6MjBweH10b3tvcGFjaXR5OjA7bWF4LWhlaWdodDowO21hcmdpbjowfX0uY3Jvc3Mtc2Vzc2lvbi1xdWV1ZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7bWFyZ2luOjAgOHB4IDRweH0ucXVldWUtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtwYWRkaW5nOjAgNHB4O2ZvbnQtc2l6ZTouNnJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucXVldWUtaGVhZGVyLWxhYmVse2ZsZXg6MTtvcGFjaXR5Oi42fS5xdWV1ZS1oZWFkZXItY2xlYXJ7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzoxcHggNHB4O2JvcmRlci1yYWRpdXM6M3B4O29wYWNpdHk6LjU7dHJhbnNpdGlvbjpjb2xvciAuMTVzLGJhY2tncm91bmQgLjE1cyxvcGFjaXR5IC4xNXN9LnF1ZXVlLWhlYWRlci1jbGVhcjpob3Zlcntjb2xvcjp2YXIoLS1lcnJvciwgI2U1NSk7YmFja2dyb3VuZDojZTU1NTU1MWY7b3BhY2l0eToxfS5xdWV1ZS1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgZWFzZX0ucXVldWUtaXRlbTpob3ZlcntvcGFjaXR5OjF9LnF1ZXVlLWl0ZW0tZG90e2ZsZXgtc2hyaW5rOjA7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjYpO2FuaW1hdGlvbjpzdGF0dXNEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5xdWV1ZS1pdGVtLXRleHR7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnF1ZXVlLWl0ZW0tYWdle2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi41NjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztvcGFjaXR5Oi41fS5xdWV1ZS1pdGVtLXNlbmQtbm93e2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1zaXplOi42cmVtO2xpbmUtaGVpZ2h0OjEuNDt0cmFuc2l0aW9uOmNvbG9yIC4xNXMsYmFja2dyb3VuZCAuMTVzLGJvcmRlci1jb2xvciAuMTVzfS5xdWV1ZS1pdGVtLXNlbmQtbm93OmhvdmVye2NvbG9yOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjEyKTtib3JkZXItY29sb3I6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC41KX0ucXVldWUtaXRlbS1jYW5jZWx7ZmxleC1zaHJpbms6MDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MXB4IDRweDtib3JkZXItcmFkaXVzOjNweDtmb250LXNpemU6LjY4NzVyZW07bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi40O3RyYW5zaXRpb246Y29sb3IgLjE1cyxiYWNrZ3JvdW5kIC4xNXMsb3BhY2l0eSAuMTVzfS5xdWV1ZS1pdGVtLWNhbmNlbDpob3Zlcntjb2xvcjp2YXIoLS1lcnJvciwgI2U1NSk7YmFja2dyb3VuZDojZTU1NTU1MWY7b3BhY2l0eToxfS5zZXR0aW5ncy1jYXJkLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7bWFyZ2luLWJvdHRvbToxNHB4fS5zZXR0aW5ncy1jYXJkLWljb257ZmxleDowIDAgYXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjYzU2NTNkMmUsI2M1NjUzZDBmKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtc2l6ZToxOHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNjNTY1M2QyZX0uc2V0dGluZ3MtY2FyZC1oZWFkLXRleHR7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0uc2V0dGluZ3MtY2FyZC10aXRsZXtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LjAwNWVtO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MH0uc2V0dGluZ3MtY2FyZC1kZXNje2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41O21hcmdpbjowfS5zZXR0aW5ncy1jYXJkLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLXRvcDo2cHh9LnNldHRpbmdzLWNhcmQtYWN0aW9ucyAuYnRue21pbi13aWR0aDoxMjBweH0uc2V0dGluZ3Mtc3VjY2Vzcy1tZXNzYWdle2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5zZXR0aW5ncy1zZWN0aW9uLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zZXR0aW5ncy1zZWN0aW9uLWljb257ZmxleDowIDAgYXV0bzt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDojYzU2NTNkMWE7Zm9udC1zaXplOjE0cHh9LnNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnNldHRpbmdzLXNlY3Rpb24taGVhZGluZ3tmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDA1ZW07bGluZS1oZWlnaHQ6MS4zO21hcmdpbjowfS5zZXR0aW5ncy1zZWN0aW9uLXN1Yntmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTttYXJnaW46MH0uc2V0dGluZ3MtdG9nZ2xlLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNHB4O3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZmZmY4Yztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xKTttYXJnaW4tdG9wOjEwcHh9LnNldHRpbmdzLXRvZ2dsZS1yb3crLnNldHRpbmdzLXRvZ2dsZS1yb3csLnNldHRpbmdzLXRvZ2dsZS1yb3crLnNldHRpbmdzLXJhbmdlLXJvdywuc2V0dGluZ3MtcmFuZ2Utcm93Ky5zZXR0aW5ncy10b2dnbGUtcm93e21hcmdpbi10b3A6OHB4fS5zZXR0aW5ncy10b2dnbGUtdGV4dHtmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6M3B4fS5zZXR0aW5ncy10b2dnbGUtdGl0bGV7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2N1cnNvcjpwb2ludGVyfS5zZXR0aW5ncy10b2dnbGUtZGVzY3tmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0uc2V0dGluZ3Mtc3dpdGNoe3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MCAwIGF1dG87Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNldHRpbmdzLXRvZ2dsZS1hc2lkZXtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LmVudi1wcmV2aWV3LW1vZGFse21heC13aWR0aDo3MjBweH0uZW52LXByZXZpZXctYm9keXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4O3BhZGRpbmc6MThweCAyNHB4IDhweDttaW4taGVpZ2h0OjB9LmVudi1wcmV2aWV3LXRvb2xiYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDtmbGV4LXdyYXA6d3JhcH0uZW52LXByZXZpZXctbWV0YXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZTouNzhyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5lbnYtcHJldmlldy1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MnB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAyZW07Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uZW52LXByZXZpZXctcGlsbC5pcy1pbmhlcml0e2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5lbnYtcHJldmlldy1waWxsLmlzLW1pbmltYWx7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyl9LmVudi1wcmV2aWV3LWNvdW50e2ZvbnQtc2l6ZTouNzJyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmVudi1wcmV2aWV3LWNvbnRyb2xze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9LmVudi1wcmV2aWV3LXNlYXJjaHt3aWR0aDoyMDBweDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjZweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Zm9udC1zaXplOi43OHJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5lbnYtcHJldmlldy1zZWFyY2g6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZm9jdXMpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1nbG93KX0uZW52LXByZXZpZXctcmV2ZWFse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOi43NHJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0uZW52LXByZXZpZXctcmV2ZWFsIGlucHV0e2FjY2VudC1jb2xvcjp2YXIoLS1hY2NlbnQpO2N1cnNvcjpwb2ludGVyfS5lbnYtcHJldmlldy1saXN0e21heC1oZWlnaHQ6bWluKDU2dmgsNDYwcHgpO292ZXJmbG93LXk6YXV0bztib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtwYWRkaW5nOjRweH0uZW52LXByZXZpZXctbGlzdDpmb2N1c3tvdXRsaW5lOm5vbmV9LmVudi1wcmV2aWV3LXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDIyMHB4KSBtaW5tYXgoMCwxZnIpIGF1dG87Z2FwOjEycHg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMteHMpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgdWktbW9ub3NwYWNlLCAiU0YgTW9ubyIsIE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNlKTtmb250LXNpemU6Ljc0cmVtO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5lbnYtcHJldmlldy1yb3c6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LmVudi1wcmV2aWV3LXJvdysuZW52LXByZXZpZXctcm93e2JvcmRlci10b3A6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uZW52LXByZXZpZXctbmFtZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtd3JhcDp3cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmVudi1wcmV2aWV3LXJvdy5pcy1zZW5zaXRpdmUgLmVudi1wcmV2aWV3LW5hbWV7Y29sb3I6dmFyKC0td2FybmluZyl9LmVudi1wcmV2aWV3LWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MXB4IDZweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouNjJyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wNGVtO2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13YXJuaW5nKX0uZW52LXByZXZpZXctYmFkZ2UtcnVudGltZXtiYWNrZ3JvdW5kOnZhcigtLWluZm8tbXV0ZWQpO2NvbG9yOnZhcigtLWluZm8pO2JvcmRlci1jb2xvcjp2YXIoLS1pbmZvKX0uZW52LXByZXZpZXctdmFsdWV7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MH0uZW52LXByZXZpZXctdmFsdWUuaXMtcnVudGltZXtmb250LXN0eWxlOml0YWxpYztjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uZW52LXByZXZpZXctbGVue2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNjhyZW07d2hpdGUtc3BhY2U6bm93cmFwfS5lbnYtcHJldmlldy1sb2FkaW5nLC5lbnYtcHJldmlldy1lbXB0eXtwYWRkaW5nOjI0cHggOHB4O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzhyZW19LmVudi1wcmV2aWV3LWZvb3RlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4O3BhZGRpbmc6MTRweCAyNHB4IDE4cHh9LmVudi1wcmV2aWV3LWhpbnR7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXg6MTttaW4td2lkdGg6MH1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsuZW52LXByZXZpZXctbW9kYWx7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAyNHB4KX0uZW52LXByZXZpZXctcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjRweH0uZW52LXByZXZpZXctbGVue2p1c3RpZnktc2VsZjplbmR9LmVudi1wcmV2aWV3LXNlYXJjaCwuZW52LXByZXZpZXctY29udHJvbHN7d2lkdGg6MTAwJX19LnNldHRpbmdzLXJhbmdlLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZmZmY4Yztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xKTttYXJnaW4tdG9wOjhweH0uc2V0dGluZ3MtcmFuZ2UtbGFiZWx7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJvdHRvbTowfS5zZXR0aW5ncy1yYW5nZXtmbGV4OjE7bWluLXdpZHRoOjA7YWNjZW50LWNvbG9yOnZhcigtLWFjY2VudCl9aW5wdXRbdHlwZT1yYW5nZV0uc2V0dGluZ3MtcmFuZ2V7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2hlaWdodDoyMnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO21hcmdpbjowOy0tcmFuZ2UtZmlsbDogNTAlfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50KSB2YXIoLS1yYW5nZS1maWxsLCA1MCUpLHJnYmEoMTI1LDkxLDU3LC4yKSB2YXIoLS1yYW5nZS1maWxsLCA1MCUpLHJnYmEoMTI1LDkxLDU3LC4yKSAxMDAlKTtib3JkZXI6bm9uZX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmO2JvcmRlcjpub25lO2JveC1zaGFkb3c6MCAycHggNnB4ICMxNDBlMDgzOCwwIDAgMCAuNXB4ICM3ZDViMzkxYTttYXJnaW4tdG9wOi04cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOmhvdmVyOjotd2Via2l0LXNsaWRlci10aHVtYnt0cmFuc2Zvcm06c2NhbGUoMS4wOCl9aW5wdXRbdHlwZT1yYW5nZV0uc2V0dGluZ3MtcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYnt0cmFuc2Zvcm06c2NhbGUoMS4xNik7Ym94LXNoYWRvdzowIDRweCAxMHB4ICMxNDBlMDg0NywwIDAgMCA4cHggI2M1NjUzZDFmLDAgMCAwIC41cHggIzdkNWIzOTFhfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOmZvY3VzLXZpc2libGU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JveC1zaGFkb3c6MCAycHggNnB4ICMxNDBlMDgzOCwwIDAgMCA0cHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDAgMCAuNXB4ICM3ZDViMzkxYX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTo6LW1vei1yYW5nZS10cmFja3toZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzdkNWIzOTMzO2JvcmRlcjpub25lfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOjotbW96LXJhbmdlLXByb2dyZXNze2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlcjpub25lfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOjotbW96LXJhbmdlLXRodW1ie3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAycHggNnB4ICMxNDBlMDgzOCwwIDAgMCAuNXB4ICM3ZDViMzkxYTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTZzIGVhc2V9aW5wdXRbdHlwZT1yYW5nZV0uc2V0dGluZ3MtcmFuZ2U6aG92ZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYnt0cmFuc2Zvcm06c2NhbGUoMS4xNil9LnNldHRpbmdzLXJhbmdlLXZhbHVle2ZsZXg6MCAwIDQ0cHg7dGV4dC1hbGlnbjpyaWdodDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LnNldHRpbmdzLXJvdy13aXRoLWFjdGlvbntkaXNwbGF5OmZsZXg7Z2FwOjhweDthbGlnbi1pdGVtczpzdHJldGNofS5zZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24+LmZpZWxkLWlucHV0LC5zZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24+LmZpZWxkLXNlbGVjdCwuc2V0dGluZ3Mtcm93LXdpdGgtYWN0aW9uPnNlbGVjdHtmbGV4OjE7bWluLXdpZHRoOjB9LnNldHRpbmdzLXJvdy13aXRoLWFjdGlvbj4uYnRue2ZsZXgtc2hyaW5rOjB9LnNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb257ZmxleC13cmFwOm5vd3JhcH0uc2V0dGluZ3MtdmFsdWUtZmxleHtmbGV4OjE7dGV4dC1hbGlnbjpyaWdodH0uZmlsZS1waWNrZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDtwYWRkaW5nOjZweCAxMnB4IDZweCA2cHg7YmFja2dyb3VuZDojZmZmZmZmYjg7Ym9yZGVyOjFweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjI1KTtib3JkZXItcmFkaXVzOjEycHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE4cyxiYWNrZ3JvdW5kIC4xOHN9LmZpbGUtcGlja2VyOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQtc29mdCwgcmdiYSgxOTcsIDEwMSwgNjEsIC40NSkpO2JhY2tncm91bmQ6I2ZmZmZmZmU2fS5maWxlLXBpY2tlci5maWxlLXBpY2tlci1oYXMtZmlsZXtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q1OTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2M1NjUzZDE0LCNmZmZmZmZkOSl9LmZpbGUtcGlja2VyLWlucHV0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS5maWxlLXBpY2tlci10cmlnZ2Vye2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDgwJSwjMDAwIDAlKSk7Y29sb3I6I2ZmZjtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2JvcmRlci1yYWRpdXM6OXB4O2N1cnNvcjpwb2ludGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpmaWx0ZXIgLjE1cyx0cmFuc2Zvcm0gLjE1cyxib3gtc2hhZG93IC4xNXM7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpO3VzZXItc2VsZWN0Om5vbmV9LmZpbGUtcGlja2VyLXRyaWdnZXI6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pfS5maWxlLXBpY2tlci10cmlnZ2VyOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZmlsZS1waWNrZXItaW5wdXQ6Zm9jdXMtdmlzaWJsZSsuZmlsZS1waWNrZXItdHJpZ2dlcntvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0uZmlsZS1waWNrZXItaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2ZsZXgtc2hyaW5rOjB9LmZpbGUtcGlja2VyLWxhYmVse3doaXRlLXNwYWNlOm5vd3JhcH0uZmlsZS1waWNrZXItbmFtZXtmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5maWxlLXBpY2tlci5maWxlLXBpY2tlci1oYXMtZmlsZSAuZmlsZS1waWNrZXItbmFtZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjUwMH0uc2V0dGluZ3MtYXBwLWljb24tYmxvY2t7bWFyZ2luLWJvdHRvbToxOHB4fS5zZXR0aW5ncy1hcHAtaWNvbi1waWNrZXJ7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwfS5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb257ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZjhjO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMThzLGJhY2tncm91bmQgLjE4cyx0cmFuc2Zvcm0gLjE4cyxib3gtc2hhZG93IC4xOHM7bWluLXdpZHRoOjg0cHh9LnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3JkZXItY29sb3I6I2M1NjUzZDRkO2JhY2tncm91bmQ6I2ZmZmZmZmM3O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKX0uc2V0dGluZ3MtYXBwLWljb24tb3B0aW9uLnNlbGVjdGVkLC5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb25bYXJpYS1wcmVzc2VkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjYzU2NTNkMjQsI2M1NjUzZDBhKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjYzU2NTNkMzN9LnNldHRpbmdzLWFwcC1pY29uLXByZXZpZXd7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2V0dGluZ3MtYXBwLWljb24tbGFiZWx7Zm9udC1zaXplOi43MnJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NTAwfS5zZXR0aW5ncy1jb25uZWN0LXVybC10ZXh0e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3dvcmQtYnJlYWs6YnJlYWstYWxsO3VzZXItc2VsZWN0OmFsbDstd2Via2l0LXVzZXItc2VsZWN0OmFsbH1AbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsuc2V0dGluZ3MtdG9nZ2xlLXJvdywuc2V0dGluZ3MtcmFuZ2Utcm93e3BhZGRpbmc6MTBweCAxMnB4fS5zZXR0aW5ncy10b2dnbGUtcm93e2ZsZXgtd3JhcDp3cmFwfS5zZXR0aW5ncy1jYXJkLWFjdGlvbnN7anVzdGlmeS1jb250ZW50OnN0cmV0Y2h9LnNldHRpbmdzLWNhcmQtYWN0aW9ucyAuYnRue2ZsZXg6MTttaW4td2lkdGg6MH0uZmlsZS1waWNrZXJ7ZmxleC13cmFwOndyYXA7cGFkZGluZzo4cHh9LmZpbGUtcGlja2VyLXRyaWdnZXJ7ZmxleDoxIDEgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5maWxlLXBpY2tlci1uYW1le2ZsZXg6MSAxIDEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDRweH0uc2V0dGluZ3Mtcm93LXdpdGgtYWN0aW9ue2ZsZXgtd3JhcDp3cmFwfS5zZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24+LmJ0bntmbGV4OjF9fS50b3BiYXItZ2l0LXNsb3R7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnRvcGJhci1naXQtc2xvdDplbXB0eXtkaXNwbGF5Om5vbmV9LnRvcGJhci1naXQtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTBweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxfS50b3BiYXItZ2l0LWJhZGdlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjgwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1naXQtYmFkZ2U6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTYpfS50b3BiYXItZ2l0LWljb257ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NX0udG9wYmFyLWdpdC1icmFuY2h7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtd2VpZ2h0OjYwMDttYXgtd2lkdGg6MTJlbTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udG9wYmFyLWdpdC1jb3VudHtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0OjcwMDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSl9LnRvcGJhci1naXQtY2xlYW57Y29sb3I6IzNjYTA1YWQ5O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6Ljc4cmVtfS5xdWljay1jb21taXQtbW9kYWx7bWF4LXdpZHRoOjU0MHB4fS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweH0ucWMtZW1wdHl7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo2cHggMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXN0eWxlOml0YWxpY30ucWMtZmlsZS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O2xpbmUtaGVpZ2h0OjEuNjtwYWRkaW5nOjFweCAycHg7Ym9yZGVyLXJhZGl1czo1cHh9LnFjLWZpbGUtcm93OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBmfS5xYy1maWxlLWJhZGdle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTdweDtoZWlnaHQ6MTdweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZTouNjZyZW07Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOjA7bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpfS5xYy1iYWRnZS1hZGR7Y29sb3I6IzIyODA0MmZhO2JhY2tncm91bmQ6IzNjYTA1YTI5fS5xYy1iYWRnZS1tb2R7Y29sb3I6I2FhNmUwZWZhO2JhY2tncm91bmQ6I2RjOTYxZTI5fS5xYy1iYWRnZS1kZWx7Y29sb3I6I2JlMzgzOGZhO2JhY2tncm91bmQ6I2M4NDY0NjI2fS5xYy1iYWRnZS1yZW57Y29sb3I6IzRlNjRiY2ZhO2JhY2tncm91bmQ6IzZlODJjODI5fS5xYy1iYWRnZS11bnRyYWNrZWR7Y29sb3I6IzIyODA0MmYyO2JhY2tncm91bmQ6IzNjYTA1YTFmfS5xYy1iYWRnZS1pZ25vcmVkLC5xYy1iYWRnZS1vdGhlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM3ODc4NzgxZn0ucWMtZmlsZS1wYXRoe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowfS5xYy1maWxlLWRpcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucWMtZmlsZS1uYW1le2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NTAwfS5xYy1zdWJtb2R1bGUtYmFkZ2V7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDojOGM2NGM4Mjk7Y29sb3I6IzZlNDZiNGYyO2ZvbnQtc2l6ZTouNjhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO3doaXRlLXNwYWNlOm5vd3JhcH0ucWMtbWVzc2FnZS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4fS5xYy1haS1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtjb2xvcjp2YXIoLS1hY2NlbnQpfS5xYy1haS1idG4gc3Zne2NvbG9yOnZhcigtLWFjY2VudCk7ZmxleC1zaHJpbms6MH0ucWMtYWktYnRuOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xYy1haS1idG46ZGlzYWJsZWQgc3Zne2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xYy1tZXNzYWdlLWlucHV0e3Jlc2l6ZTp2ZXJ0aWNhbDttaW4taGVpZ2h0OjY4cHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouODRyZW07bGluZS1oZWlnaHQ6MS41NX0ucWMtdGFnLWZpZWxkLWlucHV0e2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouODJyZW19LnFjLXRhZy1maWVsZC1pbnB1dDpkaXNhYmxlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM3ZDViMzkwYTtib3JkZXItY29sb3I6IzdkNWIzOTE0O2N1cnNvcjpkZWZhdWx0O2JveC1zaGFkb3c6bm9uZX0ucXVpY2stY29tbWl0LW1vZGFsIC53b3JrdHJlZS1tZXJnZS1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjhweDttYXJnaW4tdG9wOjRweH0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE0cHh9LnFjLXNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo3MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wN2VtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0ucXVpY2stY29tbWl0LW1vZGFse21heC13aWR0aDo2MjBweH0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e2dhcDowfS5xYy1yZWxlYXNlLXBhbmVsLC5xYy1yZXN1bHQtcGFuZWx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweH0ucWMtcGFpcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjcycHggbWlubWF4KDAsMWZyKTtnYXA6MTJweDthbGlnbi1pdGVtczpzdGFydH0ucWMtcGFpci1sYWJlbHtwYWRkaW5nLXRvcDo5cHg7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGV0dGVyLXNwYWNpbmc6LjA2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5xYy1wYWlyLWZsb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwuOWZyKSAyNHB4IG1pbm1heCgwLDEuMWZyKTtnYXA6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ucWMtcGFpci12YWx1ZXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjM4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTIpO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I2ZmZmZmZjg1O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtvdmVyZmxvdzpoaWRkZW59LnFjLXBhaXItdmFsdWUtLXRve2JhY2tncm91bmQ6I2ZmZmZmZmQ2O2JvcmRlci1jb2xvcjojYzU2NTNkMzg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ucWMtcGFpci12YWx1ZSBjb2Rle2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMTc7Ym9yZGVyLXJhZGl1czo1cHg7cGFkZGluZzoycHggNnB4fS5xYy1wYWlyLXZhbHVlIHNwYW57bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouODJyZW19LnFjLXBhaXItLWNvbW1pdCAucWMtcGFpci1mbG93e2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnFjLXBhaXItLWNvbW1pdCAucWMtcGFpci12YWx1ZXttaW4taGVpZ2h0Ojc2cHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ucWMtcGFpci0tY29tbWl0IC5xYy1wYWlyLXZhbHVlLS10b3twYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ucWMtcGFpci0tY29tbWl0IC5xYy1tZXNzYWdlLWlucHV0e21pbi1oZWlnaHQ6NzZweDt3aWR0aDoxMDAlO3Jlc2l6ZTp2ZXJ0aWNhbH0ucWMtcGFpci0tdGFnIC5xYy1wYWlyLXZhbHVlLS10b3twYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ucWMtcGFpci0tdGFnIC5xYy10YWctZmllbGQtaW5wdXR7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjM4cHh9LnFjLXBhaXItYXJyb3d7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo4MDA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpfS5xYy1tdXRlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpY30ucWMtbW9kYWwtYWN0aW9ucywucWMtcmVzdWx0LWFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6OHB4fS5xYy1yZXN1bHQtcGFuZWx7cGFkZGluZy10b3A6MnB4fS5xYy1yZXN1bHQtcHVzaGVke2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MzBweDtwYWRkaW5nOjAgMTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2NvbG9yOiMyODgyNDZmMjtiYWNrZ3JvdW5kOiMzY2EwNWExZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoNjAsMTYwLDkwLC4yNCk7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo3MDB9LnFjLWRvY2std3JhcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZy10b3A6MnB4fS5xYy1kb2NrLXdyYXBbZGF0YS1kaXNhYmxlZD0iMSJde29wYWNpdHk6LjU1O3BvaW50ZXItZXZlbnRzOm5vbmV9LnFjLWRvY2stYnVzeXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojYzU2NTNkMWE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjIpO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo3MDB9LnFjLWRvY2stYnVzeS1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2FuaW1hdGlvbjpxYy1kb2NrLWJ1c3ktcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHFjLWRvY2stYnVzeS1wdWxzZXswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguODUpfTUwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEuMTUpfX0ucWMtZG9jay1zdGFnZXstLXFjLXRvbmU6IHZhcigtLWFjY2VudCk7LS1xYy10b25lLXNvZnQ6IHJnYmEoMTk3LCAxMDEsIDYxLCAuMik7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIDk2cHg7Z2FwOjEwcHg7aGVpZ2h0OjE2OHB4O3BhZGRpbmc6OHB4O2JvcmRlci1yYWRpdXM6MTZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNik7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTIwJSAxMjAlIGF0IDMwJSAzMCUsI2ZmZmZmZjhjLCNmZmY1ZWIyOSksbGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmNzUsI2ZmZjVlYjM4KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmZiMywwIDFweCAzcHggIzU5M2EyMDBkO3VzZXItc2VsZWN0Om5vbmV9LnFjLWRvY2stc3RhZ2VbZGF0YS1hY3Rpb249Y29tbWl0LXRhZ117LS1xYy10b25lOiAjNGE2ZmE1Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDc0LCAxMTEsIDE2NSwgLjIyKX0ucWMtZG9jay1zdGFnZVtkYXRhLWFjdGlvbj1jb21taXQtcHVzaF17LS1xYy10b25lOiAjNGY3YTU4Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDc5LCAxMjIsIDg4LCAuMjIpfS5xYy1kb2NrLXN0YWdlW2RhdGEtYWN0aW9uPWNvbW1pdC10YWctcHVzaF17LS1xYy10b25lOiAjN2M1YWE4Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDEyNCwgOTAsIDE2OCwgLjI0KX0ucWMtZG9jay1maWVsZHtwb3NpdGlvbjpyZWxhdGl2ZTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMTI1LDkxLDU3LC4wMzUpIDAgOHB4LHRyYW5zcGFyZW50IDhweCAxNnB4KTt0b3VjaC1hY3Rpb246bm9uZTtvdmVyZmxvdzpoaWRkZW59LnFjLWRvY2stY2x1c3Rlcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tcWMtdG9uZSkgMTAlLHRyYW5zcGFyZW50KTtib3JkZXI6MS41cHggZGFzaGVkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDM4JSx0cmFuc3BhcmVudCk7Ym94LXNoYWRvdzowIDRweCAxNHB4IHZhcigtLXFjLXRvbmUtc29mdCk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjA7b3BhY2l0eTowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yMnMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSx3aWR0aCAuMjJzIGN1YmljLWJlemllciguMjIsMSwuMzYsMSksaGVpZ2h0IC4yMnMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSxvcGFjaXR5IC4xOHMgZWFzZSxiYWNrZ3JvdW5kIC4ycyBlYXNlLGJvcmRlci1jb2xvciAuMnMgZWFzZX0ucWMtZG9jay1jbHVzdGVyLmlzLWFjdGl2ZXtvcGFjaXR5OjF9LnFjLWNoaXB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7aGVpZ2h0OjM4cHg7cGFkZGluZzowIDE0cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMjIpO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojZmZmZmZmZWI7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpncmFiO3RvdWNoLWFjdGlvbjpub25lO2JveC1zaGFkb3c6MCAycHggNnB4ICM1OTNhMjAxNDt6LWluZGV4OjI7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0ucWMtY2hpcC5xYy1jaGlwLS1hbmlte3RyYW5zaXRpb246dHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSxib3gtc2hhZG93IC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0ucWMtY2hpcC5pcy1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmc7ei1pbmRleDo1O2JveC1zaGFkb3c6MCAxMnB4IDI2cHggIzU5M2EyMDM4fS5xYy1jaGlwOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0ucWMtY2hpcDpub3QoOmRpc2FibGVkKTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcWMtdG9uZSl9LnFjLWNoaXAtZG90e3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzdkNWIzOTRkO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICNmZmY5O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZX0ucWMtY2hpcC0tY29tbWl0IC5xYy1jaGlwLWRvdHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnFjLWNoaXAtLXRhZyAucWMtY2hpcC1kb3R7YmFja2dyb3VuZDojNGE2ZmE1fS5xYy1jaGlwLS1wdXNoIC5xYy1jaGlwLWRvdHtiYWNrZ3JvdW5kOiM0ZjdhNTh9LnFjLWNoaXAtLXN1YiAucWMtY2hpcC1kb3R7YmFja2dyb3VuZDojM2E4YThmfS5xYy1jaGlwLS1jb21taXR7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgMzAlLHJnYmEoMTI1LDkxLDU3LC4yKSl9LnFjLWNoaXAtLXRhZ3tib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzRhNmZhNSAzMCUscmdiYSgxMjUsOTEsNTcsLjIpKX0ucWMtY2hpcC0tcHVzaHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzRmN2E1OCAzMCUscmdiYSgxMjUsOTEsNTcsLjIpKX0ucWMtY2hpcC0tc3Vie2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjM2E4YThmIDMwJSxyZ2JhKDEyNSw5MSw1NywuMikpfS5xYy1jaGlwLmlzLWdyYWJiaW5nLC5xYy1jaGlwLmlzLWF0dGFjaGVke2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym94LXNoYWRvdzowIDEycHggMjZweCB2YXIoLS1xYy10b25lLXNvZnQpO3otaW5kZXg6NX0ucWMtY2hpcC5pcy1ncmFiYmluZyAucWMtY2hpcC1kb3QsLnFjLWNoaXAuaXMtYXR0YWNoZWQgLnFjLWNoaXAtZG90e3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5xYy1jaGlwLS1jb21taXQuaXMtZ3JhYmJpbmcsLnFjLWNoaXAtLWNvbW1pdC5pcy1hdHRhY2hlZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZixjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDE2JSwjZmZmKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNDYlLHRyYW5zcGFyZW50KX0ucWMtY2hpcC0tdGFnLmlzLWdyYWJiaW5nLC5xYy1jaGlwLS10YWcuaXMtYXR0YWNoZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmYsY29sb3ItbWl4KGluIHNyZ2IsIzRhNmZhNSAxNiUsI2ZmZikpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjNGE2ZmE1IDQ2JSx0cmFuc3BhcmVudCl9LnFjLWNoaXAtLXB1c2guaXMtZ3JhYmJpbmcsLnFjLWNoaXAtLXB1c2guaXMtYXR0YWNoZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmYsY29sb3ItbWl4KGluIHNyZ2IsIzRmN2E1OCAxNiUsI2ZmZikpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjNGY3YTU4IDQ2JSx0cmFuc3BhcmVudCl9LnFjLWNoaXAtLXN1Yi5pcy1ncmFiYmluZywucWMtY2hpcC0tc3ViLmlzLWF0dGFjaGVke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmLGNvbG9yLW1peChpbiBzcmdiLCMzYThhOGYgMTYlLCNmZmYpKTtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzNhOGE4ZiA0NiUsdHJhbnNwYXJlbnQpfS5xYy1kb2NrLWxhdW5jaHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JvcmRlcjoxLjVweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjMyKTtiYWNrZ3JvdW5kOiNmZmY2O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMgZWFzZSxib3JkZXItY29sb3IgLjJzIGVhc2UsY29sb3IgLjJzIGVhc2UsdHJhbnNmb3JtIC4ycyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2V9LnFjLWRvY2stbGF1bmNoOm5vdCg6ZGlzYWJsZWQpOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1xYy10b25lKTtjb2xvcjp2YXIoLS1xYy10b25lKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDglLHJnYmEoMjU1LDI1NSwyNTUsLjUpKX0ucWMtZG9jay1sYXVuY2g6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5xYy1kb2NrLWxhdW5jaC1hcnJvd3tkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlfS5xYy1kb2NrLWxhdW5jaC1sYWJlbHtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzouMDRlbX0ucWMtZG9jay1zdGFnZVtkYXRhLWhvdD0iMSJdIC5xYy1kb2NrLWxhdW5jaHtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXFjLXRvbmUpO2JhY2tncm91bmQ6dmFyKC0tcWMtdG9uZSk7Y29sb3I6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS4wNCk7Ym94LXNoYWRvdzowIDhweCAyMnB4IHZhcigtLXFjLXRvbmUtc29mdCksMCAwIDAgNXB4IGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDE4JSx0cmFuc3BhcmVudCl9LnFjLWRvY2stc3RhZ2VbZGF0YS1ob3Q9IjEiXSAucWMtZG9jay1sYXVuY2gtYXJyb3d7dHJhbnNmb3JtOnRyYW5zbGF0ZSgzcHgpfS5xYy1kb2NrLWhpbnR7bWluLWhlaWdodDoxZW07Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOi4wMmVtO29wYWNpdHk6Ljh9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsucWMtY2hpcCwucWMtY2hpcC0tYW5pbSwucWMtZG9jay1jbHVzdGVyLC5xYy1kb2NrLWxhdW5jaCwucWMtZG9jay1idXN5LWRvdHthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH19QG1lZGlhKG1heC13aWR0aDo3MjBweCl7LnRvcGJhci1naXQtYnJhbmNoe21heC13aWR0aDo4ZW19LnRvcGJhci1naXQtYmFkZ2V7cGFkZGluZzowIDhweDtmb250LXNpemU6LjdyZW19LnF1aWNrLWNvbW1pdC1tb2RhbHt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSBtYXgoMTZweCx2YXIoLS13YW5kLXNhZmUtdG9wKSkgLSBtYXgoMTJweCx2YXIoLS13YW5kLXNhZmUtYm90dG9tKSkpfS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLWhlYWRlcntwYWRkaW5nOjE0cHggMTZweCAxMnB4fS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLXRpdGxle2ZvbnQtc2l6ZToxLjA1cmVtfS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLXN1YnRpdGxle21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZTouNzhyZW07bGluZS1oZWlnaHQ6MS4zNX0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e3BhZGRpbmc6MTRweCAxNnB4IGNhbGMoMTZweCArIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKX0ucWMtcmVsZWFzZS1wYW5lbCwucWMtcmVzdWx0LXBhbmVse2dhcDoxMnB4fS5xYy1wYWlye2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjVweH0ucWMtcGFpci1sYWJlbHtwYWRkaW5nLXRvcDowO2ZvbnQtc2l6ZTouNjhyZW19LnFjLXBhaXItZmxvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDo3cHg7cG9zaXRpb246cmVsYXRpdmV9LnFjLXBhaXItYXJyb3d7d2lkdGg6MjhweDtoZWlnaHQ6MjBweDtqdXN0aWZ5LXNlbGY6Y2VudGVyO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjF9LnFjLXBhaXItdmFsdWV7bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OHB4IDEwcHh9LnFjLXBhaXItdmFsdWUgY29kZXtmb250LXNpemU6Ljc2cmVtfS5xYy1wYWlyLXZhbHVlIHNwYW57Zm9udC1zaXplOi44cmVtfS5xYy1wYWlyLS1jb21taXQgLnFjLXBhaXItdmFsdWV7bWluLWhlaWdodDphdXRvfS5xYy1wYWlyLS1jb21taXQgLnFjLW1lc3NhZ2UtaW5wdXR7bWluLWhlaWdodDo5MnB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNDV9LnFjLXBhaXItLXRhZyAucWMtdGFnLWZpZWxkLWlucHV0e21pbi1oZWlnaHQ6NDRweDtmb250LXNpemU6MTZweH0ucWMtZG9jay1zdGFnZXtoZWlnaHQ6MjM2cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtncmlkLXRlbXBsYXRlLXJvd3M6bWlubWF4KDAsMWZyKSA1OHB4O2dhcDo4cHg7cGFkZGluZzo4cHg7Ym9yZGVyLXJhZGl1czoxNHB4fS5xYy1kb2NrLWZpZWxke21pbi1oZWlnaHQ6MTYwcHh9LnFjLWNoaXB7aGVpZ2h0OjM2cHg7cGFkZGluZzowIDEycHg7Zm9udC1zaXplOi44cmVtfS5xYy1kb2NrLWxhdW5jaHttaW4taGVpZ2h0OjU4cHg7ZmxleC1kaXJlY3Rpb246cm93O2dhcDo4cHg7Ym9yZGVyLXJhZGl1czoxM3B4fS5xYy1kb2NrLWxhdW5jaC1sYWJlbHtmb250LXNpemU6Ljc4cmVtfS5xYy1kb2NrLXN0YWdlW2RhdGEtaG90PSIxIl0gLnFjLWRvY2stbGF1bmNoLWFycm93e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCl9fS53YW5kLWRpYWxvZy1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6OTAwMDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6bWF4KDI0cHgsdmFyKC0td2FuZC1zYWZlLXRvcCkpO3BhZGRpbmctYm90dG9tOm1heCgyNHB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTtwYWRkaW5nLWxlZnQ6bWF4KDI0cHgsdmFyKC0td2FuZC1zYWZlLWxlZnQpKTtwYWRkaW5nLXJpZ2h0Om1heCgyNHB4LHZhcigtLXdhbmQtc2FmZS1yaWdodCkpO2JhY2tncm91bmQ6IzE0MGUwODU3O2JhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7YW5pbWF0aW9uOndhbmREaWFsb2dCYWNrZHJvcEluIC4yMnMgY3ViaWMtYmV6aWVyKC4xNiwxLC4zLDEpIGJvdGh9LndhbmQtZGlhbG9nLWJhY2tkcm9wLmNsb3Npbmd7YW5pbWF0aW9uOndhbmREaWFsb2dCYWNrZHJvcE91dCAuMTZzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGJvdGg7cG9pbnRlci1ldmVudHM6bm9uZX1Aa2V5ZnJhbWVzIHdhbmREaWFsb2dCYWNrZHJvcEluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgd2FuZERpYWxvZ0JhY2tkcm9wT3V0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fS53YW5kLWRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO21heC13aWR0aDo0MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KDEyMCUgMTIwJSBhdCAwJSAwJSx2YXIoLS1hY2NlbnQtbXV0ZWQpIDAlLHRyYW5zcGFyZW50IDU1JSksbGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1iZy1lbGV2YXRlZCkgMCUsdmFyKC0tYmctc2Vjb25kYXJ5KSAxMDAlKTtib3JkZXI6LjVweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjIycHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tkcm9wLWZpbHRlcjpibHVyKDQwcHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoNDBweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDI0cHggNjRweCAtMTJweCAjNTkzYTIwNDcsMCA2cHggMjBweCAtNnB4ICM1OTNhMjAyOSwwIDAgMCAuNXB4ICM3ZDViMzkxNCxpbnNldCAwIDFweCAjZmZmZmZmYjM7YW5pbWF0aW9uOndhbmREaWFsb2dJbiAuMjhzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKSBib3RofS53YW5kLWRpYWxvZy1iYWNrZHJvcC5jbG9zaW5nIC53YW5kLWRpYWxvZ3thbmltYXRpb246d2FuZERpYWxvZ091dCAuMTZzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGJvdGh9QGtleWZyYW1lcyB3YW5kRGlhbG9nSW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTIpIHRyYW5zbGF0ZVkoMTBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIHdhbmREaWFsb2dPdXR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC45NikgdHJhbnNsYXRlWSg0cHgpfX0ud2FuZC1kaWFsb2ctaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxNHB4O3BhZGRpbmc6MjJweCAyNHB4IDEycHh9LndhbmQtZGlhbG9nLWljb257ZmxleC1zaHJpbms6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmODB9LndhbmQtZGlhbG9nLWljb24uaW5mb3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50LXNvZnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Y29sb3I6I2ZmZn0ud2FuZC1kaWFsb2ctaWNvbi53YXJuaW5ne2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjBjODkxIDAlLHZhcigtLXdhcm5pbmcpIDEwMCUpO2NvbG9yOiNmZmZ9LndhbmQtZGlhbG9nLWljb24uZGFuZ2Vye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZDk4MTc4IDAlLHZhcigtLWRhbmdlcikgMTAwJSk7Y29sb3I6I2ZmZn0ud2FuZC1kaWFsb2ctaWNvbi5zdWNjZXNze2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjOGNhZjk0IDAlLHZhcigtLXN1Y2Nlc3MpIDEwMCUpO2NvbG9yOiNmZmZ9LndhbmQtZGlhbG9nLWljb24ucXVlc3Rpb257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudC1zb2Z0KSAwJSx2YXIoLS1hY2NlbnQpIDEwMCUpO2NvbG9yOiNmZmZ9LndhbmQtZGlhbG9nLXRleHR3cmFwe2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O3BhZGRpbmctdG9wOjRweH0ud2FuZC1kaWFsb2ctdGl0bGV7Zm9udC1zaXplOjEuMDYyNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGluZS1oZWlnaHQ6MS4zO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ud2FuZC1kaWFsb2ctbWVzc2FnZXtmb250LXNpemU6LjlyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjU1O3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ud2FuZC1kaWFsb2ctYm9keXtwYWRkaW5nOjRweCAyNHB4IDE0cHh9LndhbmQtZGlhbG9nLWlucHV0e3dpZHRoOjEwMCU7YmFja2dyb3VuZDp2YXIoLS1iZy1zdXJmYWNlKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjExcHggMTRweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouOXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMS41cHggIzdkNWIzOTBhO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LndhbmQtZGlhbG9nLWlucHV0OmZvY3Vze291dGxpbmU6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDEuNXB4ICM3ZDViMzkwYSwwIDAgMCAzcHggdmFyKC0tYWNjZW50LWdsb3cpfS53YW5kLWRpYWxvZy1mb290ZXJ7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3BhZGRpbmc6MTRweCAyMHB4IDIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7bWFyZ2luLXRvcDo2cHh9LndhbmQtZGlhbG9nLWZvb3RlciAuYnRue21pbi13aWR0aDo4NHB4fS53YW5kLWRpYWxvZyAuYnRuLWRhbmdlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tZGFuZ2VyLWhvdmVyKSAwJSx2YXIoLS1kYW5nZXIpIDEwMCUpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAxcHggMnB4IHZhcigtLWRhbmdlci1tdXRlZCksMCA0cHggMTBweCAtMnB4IHZhcigtLWRhbmdlci1tdXRlZCksaW5zZXQgMCAxcHggI2ZmZmZmZjM4LGluc2V0IDAgLTFweCAjNjAxZTE4MmV9LndhbmQtZGlhbG9nIC5idG4tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjYzk2MDU1LCNiMjRmNDUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWRhbmdlci1tdXRlZCksMCA4cHggMjBweCAtNHB4IHZhcigtLWRhbmdlci1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNDcsaW5zZXQgMCAtMXB4ICM2MDFlMTgyZX0ud2FuZC1kaWFsb2cgLmJ0bi1kYW5nZXI6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1kYW5nZXIpIDAlLCM5MzM5MmYgMTAwJSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LndhbmQtZGlhbG9nLWJhY2tkcm9wLC53YW5kLWRpYWxvZy1iYWNrZHJvcC5jbG9zaW5nLC53YW5kLWRpYWxvZywud2FuZC1kaWFsb2ctYmFja2Ryb3AuY2xvc2luZyAud2FuZC1kaWFsb2d7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX1Ac3VwcG9ydHMgbm90ICgoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpIG9yICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSl7LndhbmQtZGlhbG9nLWJhY2tkcm9we2JhY2tncm91bmQ6IzE0MGUwODk5fS53YW5kLWRpYWxvZ3tiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN1YnRsZSl9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey53YW5kLWRpYWxvZy1iYWNrZHJvcHtwYWRkaW5nOjE2cHg7YWxpZ24taXRlbXM6Y2VudGVyfS53YW5kLWRpYWxvZ3ttYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjIwcHh9LndhbmQtZGlhbG9nLWZvb3RlcntmbGV4LXdyYXA6d3JhcH0ud2FuZC1kaWFsb2ctZm9vdGVyIC5idG57ZmxleDoxIDEgYXV0b319LmJ0bi13aXRoLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uYnRuLXdpdGgtaWNvbj5zdmd7ZmxleC1zaHJpbms6MH0uY29tcG9zZXItcGlsbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOi0ycHh9LmNvbXBvc2VyLXBpbGwtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnNldHRpbmdzLXNlY3Rpb24taWNvbntmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5zZXR0aW5ncy1zZWN0aW9uLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmJsYW5rLWNoYXQtdG9vbC1idG4gLnRvb2wtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Zm9udC1zaXplOjEuMTI1cmVtfS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmJsYW5rLWNoYXQtdG9vbC1idG4gLnRvb2wtaWNvbi10ZXh0e3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxfS5ibGFuay1jaGF0LWN3ZC1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uYmxhbmstY2hhdC1jd2QtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uYmxhbmstY2hhdC1jd2QtYXJyb3d7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowO3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmJsYW5rLWNoYXQtY3dkLWFycm93PnN2Z3tkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5mb2xkZXItcGlja2VyLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmZvbGRlci1waWNrZXItcXVpY2stYnRuLmJ0bi13aXRoLWljb257Z2FwOjVweH0uYXBwcm92YWwtc3RhdHMtcm93LWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjB9LmFwcHJvdmFsLXN0YXRzLXJvdy1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5hdHRhY2htZW50LXBpbGwgLmF0dC1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjB9LmZvbGRlci1waWNrZXItY29tcGFjdC1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLXRvZ2dsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjB9LmZvbGRlci1waWNrZXItdG9nZ2xlPnN2Z3tkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLXRvZ2dsZS5vcGVue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ud29ya2luZy1kaXItaW5kaWNhdG9yLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS53b3JraW5nLWRpci1pbmRpY2F0b3ItaWNvbj5zdmd7ZGlzcGxheTpibG9ja30ud2FuZC1qb3lzdGljay1yb290e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NDA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlfS53YW5kLWpveXN0aWNrLXJvb3QudmlzaWJsZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS53YW5kLWpveXN0aWNrLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS53YW5kLWpveXN0aWNrLWJhY2tkcm9wLmFjdGl2ZXt2aXNpYmlsaXR5OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0b30ud2FuZC1qb3lzdGljay1iYWxse3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjE4cHg7Ym90dG9tOjk2cHg7d2lkdGg6NTRweDtoZWlnaHQ6NTRweDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2Y1ZWJlMWYwO2JhY2tncm91bmQ6IzIzMWMxOGRiO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTgpO2JveC1zaGFkb3c6MCA4cHggMjJweCAjMDAwMDAwNGQsaW5zZXQgMCAxcHggI2ZmZmZmZjE0O2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7ei1pbmRleDo0MztjdXJzb3I6Z3JhYjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4ycyBlYXNlLGJvcmRlci1jb2xvciAuMnMgZWFzZSxib3gtc2hhZG93IC4ycyBlYXNlfS53YW5kLWpveXN0aWNrLWxvZ297cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS53YW5kLWpveXN0aWNrLWJhbGw6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym9yZGVyLWNvbG9yOiNmNWViZTE0ZDtiYWNrZ3JvdW5kOiMyYjIyMWRlNjtib3gtc2hhZG93OjAgMTBweCAyNnB4ICMwMDAwMDA1NyxpbnNldCAwIDFweCAjZmZmZmZmMWF9LndhbmQtam95c3RpY2stYmFsbDphY3RpdmUsLndhbmQtam95c3RpY2stYmFsbC5wYW5lbC1vcGVue2JhY2tncm91bmQ6IzFkMTcxNGYwfS53YW5kLWpveXN0aWNrLWJhbGwuZHJhZ2dpbmd7dHJhbnNmb3JtOnNjYWxlKDEuMTIpO2N1cnNvcjpncmFiYmluZztib3gtc2hhZG93OjAgMTBweCAyOHB4ICMwMDAwMDA1Y30ud2FuZC1qb3lzdGljay1wYW5lbHtwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbToxNjBweDt6LWluZGV4OjQ0O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6IzFkMTcxNGY1O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTIpO2JveC1zaGFkb3c6MCAxNHB4IDM0cHggIzAwMDAwMDU3LGluc2V0IDAgMXB4ICNmZmZmZmYwZjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk2KTt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbSByaWdodDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE4cyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjIycyB2YXIoLS1lYXNlLXNwcmluZyksdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjE4czt3aWR0aDptaW4oMjI0cHgsY2FsYygxMDB2dyAtIDM2cHgpKTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDM2cHgpfS53YW5kLWpveXN0aWNrLXBhbmVsLmFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7dHJhbnNpdGlvbi1kZWxheTowc30ud2pwLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMHB4O21pbi1oZWlnaHQ6MjRweH0ud2pwLXRpdGxle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOi43NnJlbTtsZXR0ZXItc3BhY2luZzowO2NvbG9yOiNmNWViZTFjNztmb250LXdlaWdodDo2MDB9LndqcC10aXRsZS1pY29ue2NvbG9yOiNmNWViZTFiOH0ud2pwLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0NSwyMzUsMjI1LC4xMik7YmFja2dyb3VuZDojZmZmZmZmMGQ7Y29sb3I6I2Y1ZWJlMWI4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTRzIGVhc2UsY29sb3IgLjE0cyBlYXNlLHRyYW5zZm9ybSAuMTRzIGVhc2V9LndqcC1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmYxYTtjb2xvcjojZjVlYmUxZjJ9LndqcC1jbG9zZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NCl9LndqcC1kcGFke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHh9LndqcC1kcGFkLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjVweH0ud2pwLWdyaWR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ud2pwLWZua2V5c3ttYXgtd2lkdGg6MjAwcHh9LndqcC1rZXl7bWluLXdpZHRoOjQ0cHg7aGVpZ2h0OjM4cHg7cGFkZGluZzowIDhweDtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6Ljc2cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjojZjVlYmUxZDY7YmFja2dyb3VuZDojZmZmZmZmMGI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0NSwyMzUsMjI1LC4xMSk7Y3Vyc29yOnBvaW50ZXI7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZX0ud2pwLWtleTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmYxNDtib3JkZXItY29sb3I6I2Y1ZWJlMTMzO2NvbG9yOiNmNWViZTFmMn0ud2pwLWtleTphY3RpdmV7YmFja2dyb3VuZDojZmZmZmZmMWY7dHJhbnNmb3JtOnNjYWxlKC45Nil9LndqcC1rZXkud2pwLW1vZC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24taXRlbS1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O21pbi1oZWlnaHQ6NDBweDt3aWR0aDoxMDAlfS5zZXNzaW9uLWl0ZW0tcm93Omhhcyg+LnNlc3Npb24tbWFuYWdlLWNoZWNrKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG99LnNlc3Npb24taXRlbS1yb3c+LnNlc3Npb24tbWFuYWdlLWNoZWNre2dyaWQtY29sdW1uOjE7anVzdGlmeS1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O21hcmdpbi1yaWdodDowfS5zZXNzaW9uLWl0ZW0tcm93Pi5zZXNzaW9uLW1haW57Z3JpZC1jb2x1bW46MTttaW4td2lkdGg6MDtwYWRkaW5nLXJpZ2h0OjB9LnNlc3Npb24taXRlbS1yb3c6aGFzKD4uc2Vzc2lvbi1tYW5hZ2UtY2hlY2spPi5zZXNzaW9uLW1haW57Z3JpZC1jb2x1bW46Mn0uc2Vzc2lvbi1pdGVtLXJvdz4uc2Vzc2lvbi1hY3Rpb25ze2dyaWQtY29sdW1uOjI7cG9zaXRpb246c3RhdGljO3RyYW5zZm9ybTpub25lO2p1c3RpZnktc2VsZjplbmQ7YWxpZ24tc2VsZjpjZW50ZXI7bWluLXdpZHRoOm1heC1jb250ZW50O21pbi1oZWlnaHQ6MzJweH0uc2Vzc2lvbi1pdGVtLXJvdzpoYXMoPi5zZXNzaW9uLW1hbmFnZS1jaGVjayk+LnNlc3Npb24tYWN0aW9uc3tncmlkLWNvbHVtbjozfS5zZXNzaW9uLWFjdGlvbnM6ZW1wdHl7ZGlzcGxheTpub25lfS5zZXNzaW9uLXRpdGxlLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpiYXNlbGluZTtjb2x1bW4tZ2FwOjhweDttaW4td2lkdGg6MH0uc2Vzc2lvbi1tYWlue2dhcDo0cHh9LnNlc3Npb24tY29tbWFuZCwuc2Vzc2lvbi10aXRsZSwuY2xhdWRlLWhpc3RvcnktcHJldmlld3tsaW5lLWhlaWdodDoxLjM1fS5zZXNzaW9uLW1ldGF7bWluLXdpZHRoOjA7Z2FwOjZweDtmbGV4LXdyYXA6bm93cmFwO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1tZXRhPnNwYW57bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXNzaW9uLXN0YXR1cywuc2Vzc2lvbi1pZCwuc2Vzc2lvbi1raW5kLWJhZGdlLC5zZXNzaW9uLXJlY292ZXJ5LWhpbnR7ZmxleDowIDAgYXV0b30uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6OXB4fS5zZXNzaW9uLW1hbmFnZS1iYXJ7bWluLWhlaWdodDozOHB4fS5zZXNzaW9uLW1hbmFnZS1hY3Rpb25zIC5idG4sLnNlc3Npb24tbWFuYWdlLXRvZ2dsZXttaW4taGVpZ2h0OjMycHg7d2hpdGUtc3BhY2U6bm93cmFwfS5maWxlLXRyZWV7LS10cmVlLW1ldGEtd2lkdGg6IDU2cHg7LS10cmVlLXN0YXR1cy13aWR0aDogMjJweH0udHJlZS1pdGVte2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MThweCAyMHB4IG1pbm1heCgwLDFmcikgbWlubWF4KDAsdmFyKC0tdHJlZS1tZXRhLXdpZHRoKSkgdmFyKC0tdHJlZS1zdGF0dXMtd2lkdGgpO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo0cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRyZWUtaXRlbTpob3ZlciwudHJlZS1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06bm9uZX0udHJlZS10b2dnbGV7Z3JpZC1jb2x1bW46MTt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS50cmVlLWljb257Z3JpZC1jb2x1bW46Mjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MX0udHJlZS1uYW1le2dyaWQtY29sdW1uOjM7bWluLXdpZHRoOjB9LnRyZWUtbWV0YXtncmlkLWNvbHVtbjo0O2p1c3RpZnktc2VsZjplbmQ7bWF4LXdpZHRoOm5vbmU7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LWFsaWduOnJpZ2h0fS5naXQtc3RhdHVzLWJhZGdle2dyaWQtY29sdW1uOjU7anVzdGlmeS1zZWxmOmVuZDt3aWR0aDoyMHB4O21pbi13aWR0aDoyMHB4O2hlaWdodDoyMHB4O3BhZGRpbmc6MDtsaW5lLWhlaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0udHJlZS1jaGlsZHJlbi5vcGVue21hcmdpbi1sZWZ0OjEzcHg7cGFkZGluZy1sZWZ0OjVweDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA5KX0udG9vbC11c2UtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoN2NoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6MTBweDttaW4taGVpZ2h0OjQycHh9LnRvb2wtdXNlLWljb257Z3JpZC1jb2x1bW46MTt3aWR0aDoyMnB4O21pbi13aWR0aDoyMnB4fS50b29sLXVzZS1uYW1le2dyaWQtY29sdW1uOjI7bWF4LXdpZHRoOjE4MHB4fS50b29sLXVzZS1maWxlLC50b29sLXVzZS1zdW1tYXJ5e2dyaWQtY29sdW1uOjM7bWF4LXdpZHRoOm5vbmU7bWluLXdpZHRoOjB9LnRvb2wtdXNlLXRvZ2dsZXtncmlkLWNvbHVtbjo0O2p1c3RpZnktc2VsZjplbmQ7bWFyZ2luLWxlZnQ6MH0uZGlmZi1oZWFkZXJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoN2NoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpIGF1dG8gYXV0byBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjEwcHg7bWluLWhlaWdodDo0MnB4fS5kaWZmLWZpbGUtaWNvbntkaXNwbGF5Om5vbmV9LmRpZmYtZmlsZS1uYW1le2dyaWQtY29sdW1uOjE7bWF4LXdpZHRoOjE4MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZGlmZi1wYXRoe2dyaWQtY29sdW1uOjI7bWluLXdpZHRoOjA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZGlmZi1zdGF0dXN7Z3JpZC1jb2x1bW46Mzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRpZmYtb3Blbi1maWxle2dyaWQtY29sdW1uOjQ7bWluLWhlaWdodDoyOHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5kaWZmLXRvZ2dsZXtncmlkLWNvbHVtbjo1O2p1c3RpZnktc2VsZjplbmQ7bWFyZ2luLWxlZnQ6MH0uZmlsZS1wcmV2aWV3LWhlYWRlcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0byBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweH0uZmlsZS1wcmV2aWV3LXRpdGxle21pbi13aWR0aDowfS5maWxlLXByZXZpZXctdG9vbGJhcnttaW4td2lkdGg6MDttYXgtd2lkdGg6bWluKDUydncsNDYwcHgpO2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtyb3ctZ2FwOjZweDttYXJnaW4tbGVmdDowfS5maWxlLXByZXZpZXctdG9vbGJhci1idG4sLmZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIC5maWxlLXByZXZpZXctdG9vbGJhci1idG57bWluLWhlaWdodDozMnB4fS5maWxlLXByZXZpZXctY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjEwcHh9Lm1hcmtkb3duLXByZXZpZXd7bWF4LXdpZHRoOjc4Y2g7bWFyZ2luOjAgYXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3h9LnNldHRpbmdzLXBhbmVsLWhlYWRlciwuc2V0dGluZ3MtcGFuZWw+LmZpZWxkLXJvdywuc2V0dGluZ3MtcGFuZWw+LmZpZWxkLC5zZXR0aW5ncy1wYW5lbD4uc2V0dGluZ3MtY2FyZCwuc2V0dGluZ3MtcGFuZWw+LnN3aXRjaC1jYXJkLWxpc3QsLnNldHRpbmdzLXBhbmVsPiNwcmVzZXRzLWxpc3R7bWluLXdpZHRoOjB9LnNldHRpbmdzLXBhbmVsLWRlc2N7bWF4LXdpZHRoOjcyY2h9LnN3aXRjaC1jYXJkLWhlYWRlciwuc2V0dGluZ3MtdG9nZ2xlLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDoxNHB4fS5zd2l0Y2gtY2FyZC10aXRsZSwuc3dpdGNoLWNhcmQtZGVzYywuc2V0dGluZ3MtdG9nZ2xlLXRleHQsLnNldHRpbmdzLXRvZ2dsZS10aXRsZSwuc2V0dGluZ3MtdG9nZ2xlLWRlc2N7bWluLXdpZHRoOjB9LnNldHRpbmdzLXRvZ2dsZS1hc2lkZSwuc2V0dGluZ3Mtc3dpdGNoLC5zd2l0Y2gtc2xpZGVye2p1c3RpZnktc2VsZjplbmR9LnNldHRpbmdzLXJhbmdlLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCg5Y2gsbWF4LWNvbnRlbnQpIG1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDoxMnB4fS5zZXR0aW5ncy1yYW5nZS1sYWJlbHttaW4td2lkdGg6MH0uc2V0dGluZ3MtcmFuZ2Utcm93IGlucHV0W3R5cGU9cmFuZ2VdLC5zZXR0aW5ncy1yYW5nZXttaW4td2lkdGg6MDt3aWR0aDoxMDAlfS5wcmVzZXQtaXRlbXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgxMGNoLG1heC1jb250ZW50KSBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOnN0YXJ0O2NvbHVtbi1nYXA6MTRweH0ucHJlc2V0LWRldGFpbHttaW4td2lkdGg6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3RleHQtYWxpZ246cmlnaHR9LmVudi1wcmV2aWV3LXRvb2xiYXJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4fS5lbnYtcHJldmlldy1jb250cm9sc3ttaW4td2lkdGg6MDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmVudi1wcmV2aWV3LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDEwcmVtLC40MmZyKSBtaW5tYXgoMCwxZnIpIG1heC1jb250ZW50O2FsaWduLWl0ZW1zOmNlbnRlcn0uZW52LXByZXZpZXctbmFtZXttaW4td2lkdGg6MH0uZW52LXByZXZpZXctbGVue2p1c3RpZnktc2VsZjplbmR9LnF1ZXVlLWl0ZW17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBtYXgtY29udGVudCBtYXgtY29udGVudCBtYXgtY29udGVudDthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo2cHg7bWluLWhlaWdodDoyOHB4fS5xdWV1ZS1pdGVtLWRvdCwucXVldWUtaXRlbS1hZ2UsLnF1ZXVlLWl0ZW0tc2VuZC1ub3csLnF1ZXVlLWl0ZW0tY2FuY2Vse2p1c3RpZnktc2VsZjplbmR9LnFjLWZpbGUtcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjBweCBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O21pbi1oZWlnaHQ6MjhweH0ucWMtZmlsZS1wYXRoe21pbi13aWR0aDowfUBtZWRpYShwb2ludGVyOmNvYXJzZSksKG1heC13aWR0aDo3NjhweCl7LnNlc3Npb24taXRlbS1yb3d7bWluLWhlaWdodDo0NHB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6NDRweDtoZWlnaHQ6NDRweDttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHh9LnRyZWUtaXRlbXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjBweCAyMnB4IG1pbm1heCgwLDFmcikgbWlubWF4KDAsNTZweCkgMjRweDttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzo4cHggMTJweH0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuLC5maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCAuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRue21pbi1oZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0uZmlsZS1leHBsb3Jlci11cCwuZmlsZS1zaWRlLXBhbmVsLWljb25idG4sLmZpbGUtcHJldmlldy1jbG9zZSwuZGlmZi1vcGVuLWZpbGUsLnF1ZXVlLWl0ZW0tc2VuZC1ub3csLnF1ZXVlLWl0ZW0tY2FuY2Vse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNlc3Npb24tdGl0bGUtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Jvdy1nYXA6MnB4fS5zZXNzaW9uLXRpbWV7anVzdGlmeS1zZWxmOnN0YXJ0fS50b29sLXVzZS1oZWFkZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI0cHggbWlubWF4KDAsMWZyKSBhdXRvfS50b29sLXVzZS1uYW1le2dyaWQtY29sdW1uOjI7bWF4LXdpZHRoOm5vbmV9LnRvb2wtdXNlLWZpbGUsLnRvb2wtdXNlLXN1bW1hcnl7Z3JpZC1jb2x1bW46MiAvIDR9LnRvb2wtdXNlLXRvZ2dsZXtncmlkLWNvbHVtbjozO2dyaWQtcm93OjF9LmRpZmYtaGVhZGVye2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGF1dG8gYXV0bztyb3ctZ2FwOjRweH0uZGlmZi1maWxlLW5hbWV7Z3JpZC1jb2x1bW46MTttYXgtd2lkdGg6bm9uZX0uZGlmZi1wYXRoe2dyaWQtY29sdW1uOjEgLyA0O2dyaWQtcm93OjJ9LmRpZmYtc3RhdHVze2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MX0uZGlmZi1vcGVuLWZpbGV7Z3JpZC1jb2x1bW46MztncmlkLXJvdzoxfS5kaWZmLXRvZ2dsZXtkaXNwbGF5Om5vbmV9LmZpbGUtcHJldmlldy1oZWFkZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpzdGFydH0uZmlsZS1wcmV2aWV3LXRvb2xiYXJ7Z3JpZC1jb2x1bW46MSAvIDM7Z3JpZC1yb3c6MjttYXgtd2lkdGg6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uZmlsZS1wcmV2aWV3LWNsb3Nle2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MX0ubWFya2Rvd24tcHJldmlld3ttYXgtd2lkdGg6bm9uZTtwYWRkaW5nOjE2cHh9LnN3aXRjaC1jYXJkLWhlYWRlciwuc2V0dGluZ3MtdG9nZ2xlLXJvdywuc2V0dGluZ3MtcmFuZ2Utcm93LC5wcmVzZXQtaXRlbSwuZW52LXByZXZpZXctdG9vbGJhciwuZW52LXByZXZpZXctcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Jvdy1nYXA6OHB4fS5zZXR0aW5ncy10b2dnbGUtYXNpZGUsLnNldHRpbmdzLXN3aXRjaCwuc3dpdGNoLXNsaWRlciwucHJlc2V0LWRldGFpbCwuZW52LXByZXZpZXctY29udHJvbHMsLmVudi1wcmV2aWV3LWxlbntqdXN0aWZ5LXNlbGY6c3RhcnQ7dGV4dC1hbGlnbjpsZWZ0fS5lbnYtcHJldmlldy1jb250cm9sc3t3aWR0aDoxMDAlfS5xdWV1ZS1pdGVte2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBhdXRvO3Jvdy1nYXA6NnB4fS5xdWV1ZS1pdGVtLXNlbmQtbm93LC5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLXJvdzoyfS5xdWV1ZS1pdGVtLXNlbmQtbm93e2dyaWQtY29sdW1uOjI7anVzdGlmeS1zZWxmOnN0YXJ0fS5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLWNvbHVtbjozfX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KSwocG9pbnRlcjpjb2Fyc2Upe2h0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLWV4cGxvcmVyLXVwLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bixodG1sLmlzLXdhbmQtYW5kcm9pZCAuZmlsZS1wcmV2aWV3LWNsb3NlLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5kaWZmLW9wZW4tZmlsZSxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1zZW5kLW5vdyxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1jYW5jZWwsaHRtbC5pcy13YW5kLWFuZHJvaWQgLnF1ZXVlLWhlYWRlci1jbGVhcnttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHh9aHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtZXhwbG9yZXItdXAsaHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5maWxlLXByZXZpZXctY2xvc2V7d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOjEycHh9aHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtcHJldmlldy10b29sYmFyLWJ0bixodG1sLmlzLXdhbmQtYW5kcm9pZCAuZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXAgLmZpbGUtcHJldmlldy10b29sYmFyLWJ0bnttaW4td2lkdGg6NDRweDttaW4taGVpZ2h0OjQ0cHg7aGVpZ2h0OjQ0cHg7cGFkZGluZzowIDEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259aHRtbC5pcy13YW5kLWFuZHJvaWQgLmZpbGUtcHJldmlldy10b29sYmFyLWdyb3Vwe2JvcmRlci1yYWRpdXM6MTBweH1odG1sLmlzLXdhbmQtYW5kcm9pZCAuZGlmZi1vcGVuLWZpbGV7aGVpZ2h0OjQ0cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVte2dyaWQtdGVtcGxhdGUtY29sdW1uczo4cHggbWlubWF4KDAsMWZyKSBtYXgtY29udGVudCBtYXgtY29udGVudCBtYXgtY29udGVudDtyb3ctZ2FwOjA7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6NnB4IDhweDtvcGFjaXR5Oi44Nn1odG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaXRlbS1hZ2V7Z3JpZC1jb2x1bW46MztncmlkLXJvdzoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLXNlbmQtbm93e2dyaWQtY29sdW1uOjQ7Z3JpZC1yb3c6MTtoZWlnaHQ6NDRweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLWNhbmNlbCxodG1sLmlzLXdhbmQtYW5kcm9pZCAucXVldWUtaGVhZGVyLWNsZWFye3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MTJweDtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxfWh0bWwuaXMtd2FuZC1hbmRyb2lkIC5xdWV1ZS1pdGVtLWNhbmNlbHtncmlkLWNvbHVtbjo1O2dyaWQtcm93OjF9aHRtbC5pcy13YW5kLWFuZHJvaWQgLnN3aXRjaC1jYXJkLWhlYWRlcixodG1sLmlzLXdhbmQtYW5kcm9pZCAuc2V0dGluZ3MtdG9nZ2xlLXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcn1odG1sLmlzLXdhbmQtYW5kcm9pZCAuc2V0dGluZ3MtdG9nZ2xlLWFzaWRlLGh0bWwuaXMtd2FuZC1hbmRyb2lkIC5zZXR0aW5ncy1zd2l0Y2gsaHRtbC5pcy13YW5kLWFuZHJvaWQgLnN3aXRjaC1zbGlkZXJ7anVzdGlmeS1zZWxmOmVuZH19QGtleWZyYW1lcyB3YW5kLXN1cmZhY2UtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk4NSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHdhbmQtc3VyZmFjZS1vdXR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpIHNjYWxlKC45OSl9fUBrZXlmcmFtZXMgd2FuZC1iYWNrZHJvcC1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMTgxNDExODU7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNXB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDVweCk7YW5pbWF0aW9uOndhbmQtYmFja2Ryb3AtaW4gLjE2cyBlYXNlLW91dCBib3RofS5tb2RhbHtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjIwcHg7Ym94LXNoYWRvdzowIDI0cHggNjRweCAjMmExZjE2MzMsMCA0cHggMTZweCAjMmExZjE2MTQ7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTthbmltYXRpb246d2FuZC1zdXJmYWNlLWluIC4xOHMgZWFzZS1vdXQgYm90aH0ubW9kYWwtYmFja2Ryb3AuY2xvc2luZyAubW9kYWx7YW5pbWF0aW9uOndhbmQtc3VyZmFjZS1vdXQgLjEzcyBlYXNlLWluIGJvdGh9Lm1vZGFsLWNsb3NlLWJ0biwuc2Vzc2lvbi1tb2RhbCAubW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3QsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdHt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O21pbi13aWR0aDo0NHB4O21pbi1oZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOjEycHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9Lm1vZGFsLWNsb3NlLWJ0bjpob3Zlciwuc2Vzc2lvbi1tb2RhbCAubW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3Q6aG92ZXIsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1oZWFkZXI+LmJ0bi1pY29uLmJ0bi1naG9zdDpob3ZlciwubW9kYWwtY2xvc2UtYnRuOmFjdGl2ZSwuc2Vzc2lvbi1tb2RhbCAubW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3Q6YWN0aXZlLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3Q6YWN0aXZle3RyYW5zZm9ybTpub25lO2JveC1zaGFkb3c6bm9uZX0uc2V0dGluZ3MtbW9kYWx7d2lkdGg6bWluKDk4MHB4LGNhbGMoMTAwdncgLSAzMnB4KSk7bWF4LXdpZHRoOjk4MHB4O2hlaWdodDptaW4oODQwcHgsY2FsYygxMDBkdmggLSAzMnB4IC0gdmFyKC0td2FuZC1zYWZlLXRvcCkgLSB2YXIoLS13YW5kLXNhZmUtYm90dG9tKSkpO21pbi1oZWlnaHQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwZHZoIC0gMzJweCAtIHZhcigtLXdhbmQtc2FmZS10b3ApIC0gdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVye21pbi1oZWlnaHQ6NjhweDtwYWRkaW5nOjE0cHggMThweCAxNHB4IDIycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtdGl0bGUtZ3JvdXAgLm1vZGFsLXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMmVtfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtc3VidGl0bGV7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWJvZHl7cGFkZGluZzoxOHB4IDIycHggMjJweH0uc2V0dGluZ3MtbGF5b3V0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMDhweCBtaW5tYXgoMCwxZnIpO2dhcDoyNHB4fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3Mtc2lkZWJhcntnYXA6MTJweDtwYWRkaW5nLXJpZ2h0OjE4cHh9LnNldHRpbmdzLXNpZGViYXItaGludHtsaW5lLWhlaWdodDoxLjQ1fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFic3tnYXA6NHB4O3BhZGRpbmctcmlnaHQ6MH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYnttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzo3cHggMTBweDtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGJvcmRlci1jb2xvciAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNmb3JtOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWIuYWN0aXZle2NvbG9yOnZhcigtLWFjY2VudC1hY3RpdmUpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNjNTY1M2QzMztib3gtc2hhZG93Om5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi5hY3RpdmU6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7bGVmdDotMXB4O3RvcDo4cHg7Ym90dG9tOjhweDt3aWR0aDozcHh9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWItbWFpbntmb250LXNpemU6Ljg3NXJlbTtmbGV4OjAgMCBhdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi1tZXRhe2ZvbnQtc2l6ZTouNjg3NXJlbTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpyaWdodDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXBhbmVsLWhlYWRlcnttYXJnaW4tYm90dG9tOjE4cHg7cGFkZGluZy1ib3R0b206MTRweDtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN1YnRsZSl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC10aXRsZXtmb250LXNpemU6MS4yNXJlbTtsZXR0ZXItc3BhY2luZzotLjAyNWVtfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtcGFuZWwtZGVzY3tmb250LXNpemU6Ljg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1jYXJkLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24sLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFib3V0LWluZm8sLnNldHRpbmdzLW1vZGFsIC5wcmVzZXQtaXRlbSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRvZ2dsZS1yb3csLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1yYW5nZS1yb3d7YmFja2dyb3VuZDp2YXIoLS1iZy1zdXJmYWNlKTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1jYXJkLWljb257Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2JveC1zaGFkb3c6bm9uZTtmb250LXNpemU6MH0uc2V0dGluZ3MtbW9kZWwtY2FyZHttYXgtd2lkdGg6ODYwcHg7bWFyZ2luOjRweCAwIDE2cHg7cGFkZGluZzoxOHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxOHB4O2JhY2tncm91bmQ6dmFyKC0tYmctc3VyZmFjZSl9LnNldHRpbmdzLW1vZGVsLWNhcmQtaGVhZGVyLC5zZXR0aW5ncy1tb2RlbC1jYXJkLWhlYWRpbmcsLnNldHRpbmdzLW1vZGVsLWxhYmVsLXJvdywuc2V0dGluZ3MtbW9kZWwtbWV0YXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5zZXR0aW5ncy1tb2RlbC1jYXJkLWhlYWRlcntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDtwYWRkaW5nLWJvdHRvbToxNnB4O21hcmdpbi1ib3R0b206MTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uc2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkaW5ne21pbi13aWR0aDowO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEwcHh9LnNldHRpbmdzLW1vZGVsLWNhcmQtaWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2ZsZXg6MCAwIDM2cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItcmFkaXVzOjExcHh9LnNldHRpbmdzLW1vZGVsLWNhcmQtdGl0bGV7bWFyZ2luOjA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzV9LnNldHRpbmdzLW1vZGVsLWNhcmQtZGVzY3ttYXJnaW46M3B4IDAgMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjV9LnNldHRpbmdzLW1vZGVsLXJlZnJlc2h7bWluLXdpZHRoOjEwOHB4O21pbi1oZWlnaHQ6NDJweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo3cHg7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0uc2V0dGluZ3MtbW9kZWwtcmVmcmVzaC5pcy1sb2FkaW5nIHN2Z3thbmltYXRpb246c2V0dGluZ3MtbW9kZWwtcmVmcmVzaC1zcGluIC44cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzZXR0aW5ncy1tb2RlbC1yZWZyZXNoLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uc2V0dGluZ3MtbW9kZWwtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO2dhcDoxOHB4fS5zZXR0aW5ncy1tb2RlbC1maWVsZHttaW4td2lkdGg6MDttYXJnaW46MCFpbXBvcnRhbnR9LnNldHRpbmdzLW1vZGVsLWxhYmVsLXJvd3tqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjdweH0uc2V0dGluZ3MtbW9kZWwtbGFiZWwtcm93IC5maWVsZC1sYWJlbHttYXJnaW46MDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NzAwfS5zZXR0aW5ncy1tb2RlbC1wcm92aWRlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwfS5tb2RlbC1jb21ib2JveHtwb3NpdGlvbjpyZWxhdGl2ZTttaW4td2lkdGg6MH0ubW9kZWwtY29tYm9ib3gtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZX0uc2V0dGluZ3MtbW9kYWwgLm1vZGVsLWNvbWJvYm94LWlucHV0e21pbi1oZWlnaHQ6NDhweDtwYWRkaW5nOjEwcHggNDhweCAxMHB4IDEzcHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07bGluZS1oZWlnaHQ6MS40O2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlci1yYWRpdXM6MTJweH0ubW9kZWwtY29tYm9ib3gtdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7cmlnaHQ6MnB4O3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjt0cmFuc2l0aW9uOmNvbG9yIC4xNXMgZWFzZSxiYWNrZ3JvdW5kIC4xNXMgZWFzZX0ubW9kZWwtY29tYm9ib3gtdG9nZ2xlOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS5tb2RlbC1jb21ib2JveC10b2dnbGU6Zm9jdXMtdmlzaWJsZSwubW9kZWwtY29tYm9ib3gtb3B0aW9uOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9Lm1vZGVsLWNvbWJvYm94LXRvZ2dsZSBzdmd7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyBlYXNlfS5tb2RlbC1jb21ib2JveC5pcy1vcGVuIC5tb2RlbC1jb21ib2JveC10b2dnbGUgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ubW9kZWwtY29tYm9ib3gtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjgwO21heC1oZWlnaHQ6MjgwcHg7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6NXB4O2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6MTNweDtib3gtc2hhZG93OjAgMTZweCAzNnB4ICMyYTFmMTYyOSwwIDJweCA4cHggIzJhMWYxNjE0O292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbn0ubW9kZWwtY29tYm9ib3gtb3B0aW9ue3dpZHRoOjEwMCU7bWluLWhlaWdodDo1MnB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjBweCBtaW5tYXgoMCwxZnIpO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjlweDtjdXJzb3I6cG9pbnRlcjt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS5tb2RlbC1jb21ib2JveC1vcHRpb246aG92ZXIsLm1vZGVsLWNvbWJvYm94LW9wdGlvbi5pcy1hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS5tb2RlbC1jb21ib2JveC1vcHRpb24tY2hlY2ssLm1vZGVsLWNvbWJvYm94LW9wdGlvbi1jdXN0b20taWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dHJhbnNwYXJlbnR9Lm1vZGVsLWNvbWJvYm94LW9wdGlvbi5pcy1zZWxlY3RlZCAubW9kZWwtY29tYm9ib3gtb3B0aW9uLWNoZWNrLC5tb2RlbC1jb21ib2JveC1vcHRpb24tY3VzdG9tLWljb257Y29sb3I6dmFyKC0tYWNjZW50KX0ubW9kZWwtY29tYm9ib3gtb3B0aW9uLWNvcHl7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS5tb2RlbC1jb21ib2JveC1vcHRpb24tbGFiZWwsLm1vZGVsLWNvbWJvYm94LW9wdGlvbi1tZXRhe21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ubW9kZWwtY29tYm9ib3gtb3B0aW9uLWxhYmVse2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDB9Lm1vZGVsLWNvbWJvYm94LW9wdGlvbi1tZXRhe2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42ODc1cmVtfS5tb2RlbC1jb21ib2JveC1vcHRpb24tY3VzdG9te21hcmdpbi10b3A6NHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MCAwIDlweCA5cHh9Lm1vZGVsLWNvbWJvYm94LWVtcHR5e3BhZGRpbmc6MTRweCAxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246Y2VudGVyfS5zZXR0aW5ncy1tb2RlbC1tZXRhe2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7bWFyZ2luLXRvcDo3cHh9LnNldHRpbmdzLW1vZGVsLXN0YXR1c3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3doaXRlLXNwYWNlOm5vd3JhcH0uc2V0dGluZ3MtbW9kZWwtc3RhdHVzOmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjZweDtoZWlnaHQ6NnB4O2ZsZXg6MCAwIDZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5zZXR0aW5ncy1tb2RlbC1zdGF0dXMuaXMta25vd246YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyl9LnNldHRpbmdzLW1vZGVsLXN0YXR1cy5pcy1jdXN0b206YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX0uc2V0dGluZ3MtbW9kZWwtaGVscHttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42ODc1cmVtO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXR0aW5ncy1tb2RlbC1oZWxwIGNvZGV7Zm9udC1zaXplOmluaGVyaXR9LnNldHRpbmdzLW1vZGVsLXZlcnNpb257bWFyZ2luOjE1cHggMCAwO3BhZGRpbmctdG9wOjEzcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LndhbmQtZGlhbG9nLWJhY2tkcm9we3BhZGRpbmctdG9wOm1heCgyMHB4LHZhcigtLXdhbmQtc2FmZS10b3ApKTtwYWRkaW5nLWJvdHRvbTptYXgoMjBweCx2YXIoLS13YW5kLXNhZmUtYm90dG9tKSk7cGFkZGluZy1sZWZ0Om1heCgyMHB4LHZhcigtLXdhbmQtc2FmZS1sZWZ0KSk7cGFkZGluZy1yaWdodDptYXgoMjBweCx2YXIoLS13YW5kLXNhZmUtcmlnaHQpKTtiYWNrZ3JvdW5kOiMxODE0MTE4ZjtiYWNrZHJvcC1maWx0ZXI6Ymx1cig1cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoNXB4KTthbmltYXRpb246d2FuZC1iYWNrZHJvcC1pbiAuMTZzIGVhc2Utb3V0IGJvdGh9LndhbmQtZGlhbG9nLWJhY2tkcm9wLmNsb3Npbmd7YW5pbWF0aW9uOndhbmREaWFsb2dCYWNrZHJvcE91dCAuMTNzIGVhc2UtaW4gYm90aH0ud2FuZC1kaWFsb2d7bWF4LXdpZHRoOjQwMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MThweDtib3gtc2hhZG93OjAgMjRweCA2NHB4ICMyYTFmMTYzOCwwIDRweCAxNnB4ICMyYTFmMTYxNDtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2FuaW1hdGlvbjp3YW5kLXN1cmZhY2UtaW4gLjE4cyBlYXNlLW91dCBib3RofS53YW5kLWRpYWxvZy1iYWNrZHJvcC5jbG9zaW5nIC53YW5kLWRpYWxvZ3thbmltYXRpb246d2FuZC1zdXJmYWNlLW91dCAuMTNzIGVhc2UtaW4gYm90aH0ud2FuZC1kaWFsb2ctaGVhZGVye2dhcDoxMnB4O3BhZGRpbmc6MjBweCAyMHB4IDEycHh9LndhbmQtZGlhbG9nLWljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjExcHg7Ym94LXNoYWRvdzpub25lfS53YW5kLWRpYWxvZy1pY29uLmluZm8sLndhbmQtZGlhbG9nLWljb24ucXVlc3Rpb257Y29sb3I6dmFyKC0tYWNjZW50LWFjdGl2ZSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS53YW5kLWRpYWxvZy1pY29uLndhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyk7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKX0ud2FuZC1kaWFsb2ctaWNvbi5kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCl9LndhbmQtZGlhbG9nLWljb24uc3VjY2Vzc3tjb2xvcjp2YXIoLS1zdWNjZXNzKTtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpfS53YW5kLWRpYWxvZy10aXRsZXtmb250LXNpemU6MXJlbTtsZXR0ZXItc3BhY2luZzotLjAxNWVtfS53YW5kLWRpYWxvZy1tZXNzYWdle2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNn0ud2FuZC1kaWFsb2ctYm9keXtwYWRkaW5nOjRweCAyMHB4IDE0cHh9LndhbmQtZGlhbG9nLWlucHV0e21pbi1oZWlnaHQ6NDhweDtmb250LXNpemU6MXJlbTtiYWNrZ3JvdW5kOnZhcigtLWJnLXN1cmZhY2UpfS53YW5kLWRpYWxvZy1mb290ZXJ7Z2FwOjEwcHg7cGFkZGluZzoxNHB4IDIwcHggMThweDttYXJnaW4tdG9wOjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9LndhbmQtZGlhbG9nLWZvb3RlciAuYnRue21pbi13aWR0aDo4OHB4O21pbi1oZWlnaHQ6NDRweH0ud2FuZC1kaWFsb2cgLmJ0bi1kYW5nZXIsLndhbmQtZGlhbG9nIC5idG4tZGFuZ2VyOmhvdmVyLC53YW5kLWRpYWxvZyAuYnRuLWRhbmdlcjphY3RpdmV7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpO2JveC1zaGFkb3c6bm9uZTt0cmFuc2Zvcm06bm9uZX0ud2FuZC1kaWFsb2cgLmJ0bi1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItaG92ZXIpfUBtZWRpYShtYXgtd2lkdGg6NzYwcHgpey5tb2RhbC1iYWNrZHJvcHtwYWRkaW5nOnZhcigtLXdhbmQtc2FmZS10b3ApIHZhcigtLXdhbmQtc2FmZS1yaWdodCkgdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkgdmFyKC0td2FuZC1zYWZlLWxlZnQpO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnNldHRpbmdzLW1vZGFse3dpZHRoOjEwMCU7bWF4LXdpZHRoOm5vbmU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO21heC1oZWlnaHQ6bm9uZTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6NTttaW4taGVpZ2h0OjY0cHg7cGFkZGluZzoxMHB4IDEycHggMTBweCAxNnB4fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtc3VidGl0bGV7ZGlzcGxheTpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtYm9keXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCAxNHB4IG1heCgxOHB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTtvdmVyZmxvdy15OmF1dG87b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS5zZXR0aW5ncy1sYXlvdXR7ZGlzcGxheTpibG9ja30uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXNpZGViYXJ7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6NDtkaXNwbGF5OmJsb2NrO21hcmdpbjowIC0xNHB4IDE2cHg7cGFkZGluZzo4cHggMTRweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCl9LnNldHRpbmdzLXNpZGViYXItaGVhZGVye2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6NHB4O3BhZGRpbmc6MDtvdmVyZmxvdy14OmF1dG87c2Nyb2xsLXNuYXAtdHlwZTp4IHByb3hpbWl0eTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYntmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWluLXdpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6OXB4IDZweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiOmJlZm9yZSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi5hY3RpdmU6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi1tZXRhe2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNvbnRlbnR7aGVpZ2h0OmF1dG87b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjB9LnNldHRpbmdzLXBhbmVse21pbi1oZWlnaHQ6MH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbX0uZmllbGQtcm93LC5zZXR0aW5ncy1tb2RlbC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5maWVsZC1yb3d7Z2FwOjB9LnNldHRpbmdzLW1vZGVsLWNhcmR7cGFkZGluZzoxNHB4O2JvcmRlci1yYWRpdXM6MTZweH0uc2V0dGluZ3MtbW9kZWwtY2FyZC1oZWFkZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2V0dGluZ3MtbW9kZWwtY2FyZC1kZXNje21heC13aWR0aDo0NGNofS5zZXR0aW5ncy1tb2RlbC1yZWZyZXNoe21pbi13aWR0aDo0NHB4O3dpZHRoOjQ0cHg7bWluLWhlaWdodDo0NHB4O3BhZGRpbmc6MH0uc2V0dGluZ3MtbW9kZWwtcmVmcmVzaCBzcGFue3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCAwIDAgMCk7d2hpdGUtc3BhY2U6bm93cmFwfS5zZXR0aW5ncy1tb2RlbC1ncmlke2dhcDoxNnB4fS5zZXR0aW5ncy1tb2RhbCAuZmllbGQtaW5wdXQsLnNldHRpbmdzLW1vZGFsIC5tb2RlbC1jb21ib2JveC1pbnB1dCwuc2V0dGluZ3MtbW9kYWwgc2VsZWN0LmZpZWxkLWlucHV0e21pbi1oZWlnaHQ6NDhweDtmb250LXNpemU6MTZweH0uc2V0dGluZ3MtbW9kYWwgLmJ0bi1zbSwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1pY29ue21pbi1oZWlnaHQ6NDRweH0ubW9kZWwtY29tYm9ib3gtbWVudXtwb3NpdGlvbjpzdGF0aWM7bWF4LWhlaWdodDoyNDBweDttYXJnaW4tdG9wOjZweDtib3gtc2hhZG93Om5vbmV9Lm1vZGVsLWNvbWJvYm94LW9wdGlvbnttaW4taGVpZ2h0OjUycHh9LnNldHRpbmdzLWFjdGlvbnMtc3RpY2t5e2JvdHRvbTpjYWxjKC0xKm1heCgxOHB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKSk7bWFyZ2luOjZweCAtMTRweCAwO3BhZGRpbmc6MTZweCAxNHB4IG1heCgxOHB4LHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKTtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX19QG1lZGlhKG1heC13aWR0aDo3NjBweCksKHBvaW50ZXI6Y29hcnNlKXsuc2V0dGluZ3MtbW9kYWwgLmJ0biwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1zbSwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1pY29uLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiLC5zZXR0aW5ncy1tb2RhbCAubW9kZWwtY29tYm9ib3gtdG9nZ2xle21pbi1oZWlnaHQ6NDRweDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS5zZXR0aW5ncy1tb2RhbCAuYnRuLWljb24sLnNldHRpbmdzLW1vZGFsIC5tb2RlbC1jb21ib2JveC10b2dnbGV7bWluLXdpZHRoOjQ0cHh9fUBtZWRpYShtYXgtd2lkdGg6NTYwcHgpey53YW5kLWRpYWxvZy1iYWNrZHJvcHthbGlnbi1pdGVtczpmbGV4LWVuZDtwYWRkaW5nOm1heCgxNnB4LHZhcigtLXdhbmQtc2FmZS10b3ApKSB2YXIoLS13YW5kLXNhZmUtcmlnaHQpIDAgdmFyKC0td2FuZC1zYWZlLWxlZnQpfS53YW5kLWRpYWxvZ3ttYXgtd2lkdGg6bm9uZTtib3JkZXItcmFkaXVzOjIwcHggMjBweCAwIDA7Ym9yZGVyLWJvdHRvbTowfS53YW5kLWRpYWxvZy1oZWFkZXJ7cGFkZGluZzoxOHB4IDE4cHggMTBweH0ud2FuZC1kaWFsb2ctYm9keXtwYWRkaW5nLWxlZnQ6MThweDtwYWRkaW5nLXJpZ2h0OjE4cHh9LndhbmQtZGlhbG9nLWZvb3RlcntwYWRkaW5nOjEycHggMThweCBtYXgoMThweCx2YXIoLS13YW5kLXNhZmUtYm90dG9tKSl9LndhbmQtZGlhbG9nLWZvb3RlciAuYnRue2ZsZXg6MSAxIDB9fUBtZWRpYShtYXgtd2lkdGg6MzkwcHgpey5zZXR0aW5ncy1tb2RlbC1jYXJkLWhlYWRpbmd7Z2FwOjhweH0uc2V0dGluZ3MtbW9kZWwtY2FyZC1pY29ue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7ZmxleC1iYXNpczozMnB4fS5zZXR0aW5ncy1tb2RlbC1oZWxwe2Rpc3BsYXk6bm9uZX0ud2FuZC1kaWFsb2ctZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS53YW5kLWRpYWxvZy1mb290ZXIgLmJ0bnt3aWR0aDoxMDAlfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5zZXR0aW5ncy1tb2RlbC1yZWZyZXNoLmlzLWxvYWRpbmcgc3Zne2FuaW1hdGlvbjpub25lfX0ubm9uLXdhbmQtc2Vzc2lvbi1ncm91cHttYXJnaW46MTJweCA2cHggMnB4O3BhZGRpbmctdG9wOjZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0ubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjRweCBtaW5tYXgoMCwxZnIpIGF1dG8gMTRweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4taGVpZ2h0OjQ0cHg7cGFkZGluZzowIDhweDtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO2xpc3Qtc3R5bGU6bm9uZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5OjptYXJrZXJ7ZGlzcGxheTpub25lO2NvbnRlbnQ6IiJ9Lm5vbi13YW5kLXNlc3Npb24tc3VtbWFyeTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIsIHJnYmEoMTI1LCA5MSwgNTcsIC4wOCkpfS5ub24td2FuZC1zZXNzaW9uLXN1bW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1ncm91cC5tYW5hZ2UtbW9kZT4ubm9uLXdhbmQtc2Vzc2lvbi1zdW1tYXJ5e2N1cnNvcjpkZWZhdWx0fS5ub24td2FuZC1zZXNzaW9uLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCl9Lm5vbi13YW5kLXNlc3Npb24tdGl0bGV7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5ub24td2FuZC1zZXNzaW9uLWNvdW50e21pbi13aWR0aDoyMnB4O3BhZGRpbmc6MnB4IDZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztsaW5lLWhlaWdodDoxLjI7dGV4dC1hbGlnbjpjZW50ZXJ9Lm5vbi13YW5kLXNlc3Npb24tY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9Lm5vbi13YW5kLXNlc3Npb24tZ3JvdXBbb3Blbl0gLm5vbi13YW5kLXNlc3Npb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lm5vbi13YW5kLXNlc3Npb24tbGlzdHttYXJnaW4tdG9wOjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0ubm9uLXdhbmQtc2Vzc2lvbnttYXJnaW46MXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS5ub24td2FuZC1zZXNzaW9uOmhvdmVyLC5ub24td2FuZC1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS5ub24td2FuZC1zZXNzaW9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3ZlciwgcmdiYSgxMjUsIDkxLCA1NywgLjA4KSl9Lm5vbi13YW5kLXNlc3Npb24tbGlzdCAubm9uLXdhbmQtc2Vzc2lvbiAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7cGFkZGluZy10b3A6M3B4O3BhZGRpbmctYm90dG9tOjNweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWl0ZW0tcm93e21pbi1oZWlnaHQ6MzRweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLW1haW57Z2FwOjJweH0ubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWNvbW1hbmR7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NTAwfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24tbWV0YXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY2cmVtfS5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24taWR7ZGlzcGxheTpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLm5vbi13YW5kLWNvdW50LXRpbGV7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Ym9yZGVyLXN0eWxlOmRhc2hlZDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLm5vbi13YW5kLWNvdW50LXRpbGU6aG92ZXIsLnNpZGViYXItY29sbGFwc2VkLXRpbGUubm9uLXdhbmQtY291bnQtdGlsZTpmb2N1cy12aXNpYmxle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3ZlciwgcmdiYSgxMjUsIDkxLCA1NywgLjA4KSl9Lm5vbi13YW5kLWNvdW50LWJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3JpZ2h0Oi01cHg7bWluLXdpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7cGFkZGluZzowIDRweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnksIHZhcigtLWJnLWVsZXZhdGVkKSk7Ym9yZGVyLXJhZGl1czo5OTlweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2ZvbnQtc2l6ZTouNTYyNXJlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEzcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmF1dG9tYXRpb24tc2Vzc2lvbi1ncm91cHttYXJnaW46MTJweCA2cHggMnB4O3BhZGRpbmctdG9wOjZweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uYXV0b21hdGlvbi1zZXNzaW9uLXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyNHB4IG1pbm1heCgwLDFmcikgYXV0byAxNHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czo5cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO2xpc3Qtc3R5bGU6bm9uZTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLC5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTo6bWFya2Vye2Rpc3BsYXk6bm9uZTtjb250ZW50OiIifS5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JhY2tncm91bmQ6I2I4NWMzNzEyfS5hdXRvbWF0aW9uLXNlc3Npb24tc3VtbWFyeTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hdXRvbWF0aW9uLXNlc3Npb24tZ3JvdXAubWFuYWdlLW1vZGU+LmF1dG9tYXRpb24tc2Vzc2lvbi1zdW1tYXJ5e2N1cnNvcjpkZWZhdWx0fS5hdXRvbWF0aW9uLXNlc3Npb24taWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOiNiODVjMzcxN30uYXV0b21hdGlvbi1zZXNzaW9uLXRpdGxle21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYXV0b21hdGlvbi1zZXNzaW9uLWNvdW50e21pbi13aWR0aDoyMnB4O3BhZGRpbmc6MnB4IDZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTg0LDkyLDU1LC4xOCk7Ym9yZGVyLXJhZGl1czo5OTlweDtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2I4NWMzNzBmO2ZvbnQtc2l6ZTouNjZyZW07bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246Y2VudGVyfS5hdXRvbWF0aW9uLXNlc3Npb24tY2hldnJvbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2V9LmF1dG9tYXRpb24tc2Vzc2lvbi1ncm91cFtvcGVuXSAuYXV0b21hdGlvbi1zZXNzaW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdHttYXJnaW4tdG9wOjJweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbXttYXJnaW46MXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtOmhvdmVyLC5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojYjg1YzM3MGZ9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLWl0ZW0tY29udGVudHtwYWRkaW5nLXRvcDozcHg7cGFkZGluZy1ib3R0b206M3B4fS5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLXJvd3ttaW4taGVpZ2h0OjM0cHh9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLW1haW57Z2FwOjJweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24tY29tbWFuZHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo1MDB9LmF1dG9tYXRpb24tc2Vzc2lvbi1saXN0IC5zZXNzaW9uLW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NnJlbX0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taWR7ZGlzcGxheTpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmF1dG9tYXRpb24tY291bnQtdGlsZXtwb3NpdGlvbjpyZWxhdGl2ZTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1zdHlsZTpkYXNoZWQ7YmFja2dyb3VuZDojYjg1YzM3MGQ7Ym94LXNoYWRvdzpub25lfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmF1dG9tYXRpb24tY291bnQtdGlsZTpob3Zlciwuc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGU6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS1hY2NlbnQtc3Ryb25nLCAjOWI0MzI5KTtiYWNrZ3JvdW5kOiNiODVjMzcxY30uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hdXRvbWF0aW9uLWNvdW50LXRpbGUuYWN0aXZlLWdyb3Vwe2JvcmRlci1zdHlsZTpzb2xpZDtib3gtc2hhZG93OjAgMCAwIDJweCAjYjg1YzM3MmV9LmF1dG9tYXRpb24tY291bnQtdGlsZSAubm9uLXdhbmQtY291bnQtYmFkZ2V7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2ZmZmZmZmI4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX1AbWVkaWEobWF4LXdpZHRoOjc2MHB4KSwocG9pbnRlcjpjb2Fyc2Upey5hdXRvbWF0aW9uLXNlc3Npb24tbGlzdCAuc2Vzc2lvbi1pdGVtLXJvdywubm9uLXdhbmQtc2Vzc2lvbi1saXN0IC5ub24td2FuZC1zZXNzaW9uIC5zZXNzaW9uLWl0ZW0tcm93e21pbi1oZWlnaHQ6NDRweH0uYXV0b21hdGlvbi1zZXNzaW9uLWxpc3QgLnNlc3Npb24taXRlbS1jb250ZW50LC5ub24td2FuZC1zZXNzaW9uLWxpc3QgLm5vbi13YW5kLXNlc3Npb24gLnNlc3Npb24taXRlbS1jb250ZW50e3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo0cHh9fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmF1dG9tYXRpb24tc2Vzc2lvbi1jaGV2cm9uLC5ub24td2FuZC1zZXNzaW9uLWNoZXZyb257dHJhbnNpdGlvbjpub25lfX0K"),
|
|
10
10
|
vendor: {
|
|
11
11
|
"/vendor/wterm/wterm.bundle.js": {
|