<style>
  @import url(https://fonts.googleapis.com/css?family=Google+Sans+Text);
  html {
    font-family: 'Google Sans Text', 'Google Sans';
    font-size: 14px;
    color-scheme: light dark;
    background: light-dark(white, black);
    color: light-dark(black, white);
  }
</style>

<script type="importmap">{"imports":{"@modelcontextprotocol/sdk/":"https://esm.sh/@modelcontextprotocol/sdk/dist/esm/","https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/es2022/":"https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/es2022/dist/esm/","https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/client/index?target=es2022":"https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/dist/esm/client/index?target=es2022","https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/types?target=es2022":"https://esm.sh/@modelcontextprotocol/sdk@^1.11.0/dist/esm/types?target=es2022","d3":"https://esm.sh/d3@^7.9.0","react-router-dom":"https://esm.sh/react-router-dom@^7.10.1","react-dom/":"https://esm.sh/react-dom@^19.2.3/","react/":"https://esm.sh/react@^19.2.3/","react":"https://esm.sh/react@^19.2.3","@google/genai":"https://esm.sh/@google/genai@^1.33.0","test":"https://esm.sh/test@^3.3.0","@/index":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==","@":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==","@/App":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IEhhc2hSb3V0ZXIsIFJvdXRlcywgUm91dGUsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7CmltcG9ydCBMYXlvdXQgZnJvbSAnQC9jb21wb25lbnRzL0xheW91dCc7CmltcG9ydCBIb21lIGZyb20gJ0AvcGFnZXMvSG9tZSc7CmltcG9ydCBDYXRhbG9nIGZyb20gJ0AvcGFnZXMvQ2F0YWxvZyc7CmltcG9ydCBXb3JrIGZyb20gJ0AvcGFnZXMvV29yayc7CmltcG9ydCBQcm9qZWN0RGV0YWlsIGZyb20gJ0AvcGFnZXMvUHJvamVjdERldGFpbCc7CmltcG9ydCBBYm91dCBmcm9tICdAL3BhZ2VzL0Fib3V0JzsKaW1wb3J0IENvbnRhY3QgZnJvbSAnQC9wYWdlcy9Db250YWN0JzsKaW1wb3J0IEhlYWx0aGNhcmUgZnJvbSAnQC9wYWdlcy9IZWFsdGhjYXJlJzsKaW1wb3J0IHsgTW9kZVByb3ZpZGVyIH0gZnJvbSAnQC9jb250ZXh0L01vZGVDb250ZXh0JzsKaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnQC9jb250ZXh0L0F1dGhDb250ZXh0JzsKLy8gU2Nyb2xsIHRvIHRvcCBvbiByb3V0ZSBjaGFuZ2UKY29uc3QgU2Nyb2xsVG9Ub3AgPSAoKSA9PiB7CiAgICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpOwogICAgdXNlRWZmZWN0KCgpID0+IHsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7CiAgICB9LCBbcGF0aG5hbWVdKTsKICAgIHJldHVybiBudWxsOwp9Owpjb25zdCBBcHAgPSAoKSA9PiB7CiAgICAvLyBUaGVtZSBzdGF0ZQogICAgY29uc3QgW2lzRGFyaywgc2V0SXNEYXJrXSA9IHVzZVN0YXRlKCgpID0+IHsKICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgY29uc3Qgc2F2ZWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKTsKICAgICAgICAgICAgcmV0dXJuIHNhdmVkID09PSAnZGFyaycgfHwgKCFzYXZlZCAmJiB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpLm1hdGNoZXMpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9KTsKICAgIHVzZUVmZmVjdCgoKSA9PiB7CiAgICAgICAgaWYgKGlzRGFyaykgewogICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGFyaycpOwogICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndGhlbWUnLCAnZGFyaycpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2RhcmsnKTsKICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RoZW1lJywgJ2xpZ2h0Jyk7CiAgICAgICAgfQogICAgfSwgW2lzRGFya10pOwogICAgY29uc3QgdG9nZ2xlVGhlbWUgPSAoKSA9PiBzZXRJc0RhcmsoIWlzRGFyayk7CiAgICByZXR1cm4gKF9qc3goQXV0aFByb3ZpZGVyLCB7IGNoaWxkcmVuOiBfanN4KE1vZGVQcm92aWRlciwgeyBjaGlsZHJlbjogX2pzeHMoSGFzaFJvdXRlciwgeyBjaGlsZHJlbjogW19qc3goU2Nyb2xsVG9Ub3AsIHt9KSwgX2pzeChMYXlvdXQsIHsgaXNEYXJrOiBpc0RhcmssIHRvZ2dsZVRoZW1lOiB0b2dnbGVUaGVtZSwgY2hpbGRyZW46IF9qc3hzKFJvdXRlcywgeyBjaGlsZHJlbjogW19qc3goUm91dGUsIHsgcGF0aDogIi8iLCBlbGVtZW50OiBfanN4KEhvbWUsIHt9KSB9KSwgX2pzeChSb3V0ZSwgeyBwYXRoOiAiL3N5c3RlbXMiLCBlbGVtZW50OiBfanN4KENhdGFsb2csIHt9KSB9KSwgX2pzeChSb3V0ZSwgeyBwYXRoOiAiL2hlYWx0aGNhcmUiLCBlbGVtZW50OiBfanN4KEhlYWx0aGNhcmUsIHt9KSB9KSwgX2pzeChSb3V0ZSwgeyBwYXRoOiAiL3dvcmsiLCBlbGVtZW50OiBfanN4KFdvcmssIHt9KSB9KSwgX2pzeChSb3V0ZSwgeyBwYXRoOiAiL3dvcmsvOmlkIiwgZWxlbWVudDogX2pzeChQcm9qZWN0RGV0YWlsLCB7fSkgfSksIF9qc3goUm91dGUsIHsgcGF0aDogIi9hYm91dCIsIGVsZW1lbnQ6IF9qc3goQWJvdXQsIHt9KSB9KSwgX2pzeChSb3V0ZSwgeyBwYXRoOiAiL2NvbnRhY3QiLCBlbGVtZW50OiBfanN4KENvbnRhY3QsIHt9KSB9KV0gfSkgfSldIH0pIH0pIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgQXBwOwo=","@/types":"data:application/javascript;base64,ZXhwb3J0IHt9Owo=","@/constants":"data:application/javascript;base64,Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIEFDQ0VTUyBNQU5BR0VNRU5UCi8vIEFkZCBvciByZW1vdmUgcGFzc3dvcmRzIGhlcmUuIAovLyBUbyAiZXhwaXJlIiBhIHBhc3N3b3JkLCBzaW1wbHkgcmVtb3ZlIGl0IGZyb20gdGhpcyBhcnJheS4KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmV4cG9ydCBjb25zdCBBQ0NFU1NfS0VZUyA9IFsKICAgICJzeXN0ZW1zMjAyNSIsCiAgICAicG9ydGZvbGlvIiwKICAgICJyZWNydWl0ZXIiLAogICAgImFudGhyb3BpY2hlYWx0aCIsCiAgICAib3BlbmFpMjAyNSIKXTsKZXhwb3J0IGNvbnN0IFNZU1RFTV9OT0RFUyA9IFsKICAgIHsKICAgICAgICBpZDogJ3plcm8tdG8tb25lJywKICAgICAgICBuYW1lOiAnWmVyby10by1PbmUgUHJvdG90eXBpbmcnLAogICAgICAgIHRoZXNpczogJ1plcm8tdG8tb25lIHdvcmsgaXMgbm90IGFib3V0IGlkZWFzLiBJdOKAmXMgYWJvdXQgbWFraW5nIGludGVudCBsZWdpYmxlLicsCiAgICAgICAgZGVzY3JpcHRpb246ICdNb3N0IGVhcmx5LXN0YWdlIGVmZm9ydHMgZmFpbCBub3QgYmVjYXVzZSB0aGUgaWRlYSBpcyB3cm9uZywgYnV0IGJlY2F1c2UgdGhlIHNoYXBlIG9mIHRoZSB0aGluZyBuZXZlciBiZWNvbWVzIGNvbmNyZXRlIGVub3VnaCBmb3IgcGVvcGxlIHRvIGFsaWduLCBidWlsZCwgb3IgZGVjaWRlLiBNeSByb2xlIGluIHplcm8tdG8tb25lIHdvcmsgaXMgdG8gY29sbGFwc2UgYW1iaWd1aXR5IGludG8gc29tZXRoaW5nIHRoYXQgY2FuIGJlIHJlYWN0ZWQgdG8sIHN5c3RlbXMsIHByb3RvdHlwZXMsIGZsb3dzLCBhbmQgYXJ0aWZhY3RzIHRoYXQgbW92ZSBhIHRlYW0gZnJvbSBkaXNjdXNzaW9uIHRvIGRpcmVjdGlvbi4gSSB3b3JrIGZyb20gdGhlIG91dHNpZGUgaW4gYW5kIHRoZSBpbnNpZGUgb3V0IGF0IHRoZSBzYW1lIHRpbWUuIFRoYXQgbWVhbnMgdW5kZXJzdGFuZGluZyB0aGUgaHVtYW4gcHJvYmxlbSwgdGhlIG9wZXJhdGlvbmFsIHJlYWxpdHksIGFuZCB0aGUgdGVjaG5pY2FsIGNvbnN0cmFpbnRzIGluIHBhcmFsbGVsLCBub3Qgc2VxdWVudGlhbGx5LiBJIHByb3RvdHlwZSBlYXJseSBhbmQgb2Z0ZW4sIG5vdCB0byB2YWxpZGF0ZSBwb2xpc2gsIGJ1dCB0byBzdXJmYWNlIGFzc3VtcHRpb25zLCBleHBvc2UgZnJpY3Rpb24sIGFuZCBmb3JjZSB0cmFkZW9mZnMgaW50byB0aGUgb3Blbi4gWmVyby10by1vbmUgaXMgYWxzbyBhYm91dCBwYWNpbmcuIEtub3dpbmcgd2hlbiB0byBzdGF5IG9wZW4gYW5kIGV4cGxvcmF0b3J5LCBhbmQgd2hlbiB0byBjb252ZXJnZSBhbmQgY29tbWl0LiBJIHRlbmQgdG8gYnVpbGQganVzdCBlbm91Z2ggc3RydWN0dXJlIHRvIGVuYWJsZSBmb3J3YXJkIG1vdGlvbiwgd2l0aG91dCBwcmVtYXR1cmVseSBsb2NraW5nIHRoZSBzeXN0ZW0uIFRoZSBvdXRwdXQgaXNu4oCZdCBqdXN0IGEgcHJvZHVjdCBjb25jZXB0LCBpdOKAmXMgc2hhcmVkIGNsYXJpdHksIG1vbWVudHVtLCBhbmQgYSBmb3VuZGF0aW9uIG90aGVycyBjYW4gYnVpbGQgb24uJywKICAgICAgICBhcHByb2FjaDogWwogICAgICAgICAgICAnUmFwaWQgcHJvdG90eXBpbmcgdG8gY3JlYXRlIGNvbmZpZGVuY2UnLAogICAgICAgICAgICAnVHVybmluZyBhbWJpZ3VpdHkgaW50byB0YW5naWJsZSBkZW1vcycsCiAgICAgICAgICAgICdEZS1yaXNraW5nIHN0cmF0ZWd5IHRocm91Z2ggYXJ0aWZhY3RzJwogICAgICAgIF0sCiAgICAgICAgYXBwbGljYXRpb25zOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRpdGxlOiAnRW50ZXJwcmlzZSBTdHJhdGVneSBWYWxpZGF0aW9uJywKICAgICAgICAgICAgICAgIGNvbnRleHQ6ICdSYXBpZGx5IGJ1aWx0IGhpZ2gtZmlkZWxpdHkgcHJvdG90eXBlcyBmb3IgZXhlY3V0aXZlIGV2YWx1YXRpb24uJywKICAgICAgICAgICAgICAgIG91dGNvbWU6ICdCZWNhbWUgdGhlIGRpZmZlcmVudGlhdG9yIGluIGNvbXBldGl0aXZlIGV2YWx1YXRpb25zLicKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgcmVsYXRlZElkczogWydkZXNpZ24tc3RyYXRlZ3knLCAnaHVtYW4tYWknXSwKICAgICAgICBtb2RlczogWydjb252ZXJnZW50JywgJ2RpdmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnZGVzaWduLXN0cmF0ZWd5JywKICAgICAgICBuYW1lOiAnRGVzaWduIGFzIFN0cmF0ZWd5JywKICAgICAgICB0aGVzaXM6ICdEZXNpZ24gd2l0aG91dCBzdHJhdGVneSBpcyBkZWNvcmF0aW9uLiBTdHJhdGVneSB3aXRob3V0IGRlc2lnbiBpcyBhYnN0cmFjdGlvbi4nLAogICAgICAgIGRlc2NyaXB0aW9uOiAnSSBhcHByb2FjaCBkZXNpZ24gYW5kIHN0cmF0ZWd5IGFzIGluc2VwYXJhYmxlIGRpc2NpcGxpbmVzLiBEZXNpZ24gaXMgaG93IHN0cmF0ZWd5IGJlY29tZXMgcmVhbC4gU3RyYXRlZ3kgaXMgaG93IGRlc2lnbiBhdm9pZHMgYmVpbmcgYXJiaXRyYXJ5LiBUaGUgd29yayBsaXZlcyBpbiB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdHdv4oCUZGVjaWRpbmcgd2hhdCBtYXR0ZXJzLCB3aGF0IGRvZXNu4oCZdCwgYW5kIGhvdyB0aGF0IGRlY2lzaW9uIHNob3dzIHVwIGluIHRoZSBwcm9kdWN0LiBNeSBwcm9jZXNzIHN0YXJ0cyB3aXRoIGZyYW1pbmc6IGRlZmluaW5nIHRoZSBwcm9ibGVtIHNwYWNlLCBpZGVudGlmeWluZyB0aGUgcmVhbCBjb25zdHJhaW50cywgYW5kIG5hbWluZyB0aGUgZGVjaXNpb25zIHRoYXQgYWN0dWFsbHkgbWF0dGVyLiBGcm9tIHRoZXJlLCBkZXNpZ24gYmVjb21lcyBhIHRvb2wgZm9yIHRoaW5raW5n4oCUdXNpbmcgYXJ0aWZhY3RzLCBmbG93cywgYW5kIHByb3RvdHlwZXMgdG8gdGVzdCBzdHJhdGVneSBpbiBwcmFjdGljZSwgbm90IGp1c3QgaW4gZGVja3MuIEnigJltIGxlc3MgaW50ZXJlc3RlZCBpbiDigJxiZXN0IHByYWN0aWNlc+KAnSBhbmQgbW9yZSBpbnRlcmVzdGVkIGluIGZpdC4gRml0IHRvIHVzZXJzLCBmaXQgdG8gdGhlIG9yZ2FuaXphdGlvbiwgZml0IHRvIHRoZSB0ZWNobmljYWwgYW5kIG9wZXJhdGlvbmFsIHJlYWxpdHkuIEdvb2Qgc3RyYXRlZ3kgbmFycm93cyBmb2N1cy4gR29vZCBkZXNpZ24gbWFrZXMgdGhhdCBmb2N1cyB1c2FibGUuIFRoZSBvdXRjb21lIEkgYWltIGZvciBpcyBub3QgY29uc2Vuc3VzLCBidXQgYWxpZ25tZW50LiBXaGVuIHRlYW1zIGNhbiBjbGVhcmx5IGFydGljdWxhdGUgd2hhdCB0aGV54oCZcmUgYnVpbGRpbmcsIHdoeSBpdCBtYXR0ZXJzLCBhbmQgd2hhdCB0aGV54oCZcmUgaW50ZW50aW9uYWxseSBub3QgZG9pbmcsIGV4ZWN1dGlvbiBiZWNvbWVzIGRyYW1hdGljYWxseSBlYXNpZXIuJywKICAgICAgICBhcHByb2FjaDogWwogICAgICAgICAgICAnQXJ0aWZhY3QtZHJpdmVuIGFsaWdubWVudCcsCiAgICAgICAgICAgICdWaXN1YWxpemluZyBjb21wbGV4IGRlcGVuZGVuY2llcycsCiAgICAgICAgICAgICdGdXR1cmUtc3RhdGUgbWFwcGluZycKICAgICAgICBdLAogICAgICAgIGFwcGxpY2F0aW9uczogW10sCiAgICAgICAgcmVsYXRlZElkczogWyd6ZXJvLXRvLW9uZScsICdzeXN0ZW0tZGVzaWduJ10sCiAgICAgICAgbW9kZXM6IFsnY29udmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnc3lzdGVtLWRlc2lnbicsCiAgICAgICAgbmFtZTogJ1N5c3RlbSBEZXNpZ24gJiBBcmNoaXRlY3R1cmUnLAogICAgICAgIHRoZXNpczogJ1N5c3RlbSBkZXNpZ24gaXMgYWJvdXQgZGVjaXNpb25zIHVuZGVyIGNvbnN0cmFpbnQuJywKICAgICAgICBkZXNjcmlwdGlvbjogJ0kgdGhpbmsgaW4gc3lzdGVtcyBiZWNhdXNlIHByb2R1Y3RzIGRvbuKAmXQgZXhpc3QgaW4gaXNvbGF0aW9uLiBUaGV5IHNpdCBpbnNpZGUgd29ya2Zsb3dzLCBvcmdhbml6YXRpb25zLCBkYXRhIHBpcGVsaW5lcywgaW5jZW50aXZlcywgYW5kIHRlY2huaWNhbCByZWFsaXRpZXMuIElnbm9yaW5nIHRoYXQgY29udGV4dCBjcmVhdGVzIGJyaXR0bGUgc29sdXRpb25zIHRoYXQgbG9vayBnb29kIGluIGlzb2xhdGlvbiBhbmQgZmFpbCBpbiBwcmFjdGljZS4gTXkgYXBwcm9hY2ggdG8gc3lzdGVtIGRlc2lnbiBiYWxhbmNlcyB0aHJlZSBsYXllcnM6IENvbmNlcHR1YWwgKGhvdyB0aGUgc3lzdGVtIGlzIHVuZGVyc3Rvb2QgYW5kIHJlYXNvbmVkIGFib3V0KSwgT3BlcmF0aW9uYWwgKGhvdyBpdCBhY3R1YWxseSBmdW5jdGlvbnMgZGF5IHRvIGRheSksIGFuZCBUZWNobmljYWwgKGhvdyBpdOKAmXMgaW1wbGVtZW50ZWQgYW5kIHNjYWxlZCkuIEkgZGVzaWduIHN5c3RlbXMgdG8gYmUgbGVnaWJsZS4gQ2xlYXIgYm91bmRhcmllcywgZXhwbGljaXQgcmVzcG9uc2liaWxpdGllcywgYW5kIGludGVudGlvbmFsIGludGVyZmFjZXPigJRiZXR3ZWVuIGNvbXBvbmVudHMsIHRlYW1zLCBhbmQgaHVtYW5zLiBDb21wbGV4aXR5IGlzbuKAmXQgZWxpbWluYXRlZDsgaXTigJlzIG9yZ2FuaXplZC4gSeKAmW0gbGVzcyBpbnRlcmVzdGVkIGluIHBlcmZlY3QgYXJjaGl0ZWN0dXJlcyB0aGFuIGluIHJlc2lsaWVudCBvbmVzLiBTeXN0ZW1zIHRoYXQgY2FuIGV2b2x2ZSwgYWJzb3JiIGNoYW5nZSwgYW5kIHN1cHBvcnQgaXRlcmF0aW9uIHdpdGhvdXQgY29uc3RhbnQgcmV3cml0ZXMuIFRoZSBtYXJrIG9mIGdvb2Qgc3lzdGVtIGRlc2lnbiBpcyBub3QgZWxlZ2FuY2Ugb24gZGF5IG9uZSwgYnV0IGFkYXB0YWJpbGl0eSBvdmVyIHRpbWUuJywKICAgICAgICBhcHByb2FjaDogWwogICAgICAgICAgICAnRGVzaWduaW5nIGxheWVyZWQsIG1vZHVsYXIgc3lzdGVtcycsCiAgICAgICAgICAgICdNYXBwaW5nIGRlcGVuZGVuY2llcyBhbmQgaW50ZXJmYWNlcycsCiAgICAgICAgICAgICdEZWZpbmluZyBzY2hlbWFzIGFuZCBjb250cmFjdHMnCiAgICAgICAgXSwKICAgICAgICBhcHBsaWNhdGlvbnM6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdFbnRlcnByaXNlIFBsYXRmb3JtIE1pZ3JhdGlvbicsCiAgICAgICAgICAgICAgICBjb250ZXh0OiAnUmUtYXJjaGl0ZWN0aW5nIGxlZ2FjeSBtb25vbGl0aGljIHdvcmtmbG93cyBpbnRvIGRpc3RyaWJ1dGVkIHNlcnZpY2VzLicsCiAgICAgICAgICAgICAgICBvdXRjb21lOiAnUmVkdWNlZCB0ZWNobmljYWwgZGVidCBhbmQgaW1wcm92ZWQgc2NhbGFiaWxpdHkuJwogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICByZWxhdGVkSWRzOiBbJ2FnZW50aWMtc3lzdGVtcycsICd6ZXJvLXRvLW9uZSddLAogICAgICAgIG1vZGVzOiBbJ2NvbnZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2h1bWFuLWFpJywKICAgICAgICBuYW1lOiAnSHVtYW7igJNBSSBJbnRlcmZhY2VzJywKICAgICAgICB0aGVzaXM6ICdBSSBkb2VzbuKAmXQgcmVwbGFjZSBodW1hbiBqdWRnbWVudOKAlGl0IHJlc2hhcGVzIHdoZXJlIGp1ZGdtZW50IGxpdmVzLicsCiAgICAgICAgZGVzY3JpcHRpb246ICdNb3N0IEFJIHByb2R1Y3RzIGZhaWwgYmVjYXVzZSB0aGV5IHRyZWF0IGludGVsbGlnZW5jZSBhcyBhIGZlYXR1cmUgaW5zdGVhZCBvZiBhIHJlbGF0aW9uc2hpcC4gVGhlIGhhcmQgd29yayBpc27igJl0IG1ha2luZyBtb2RlbHMgc21hcnRlcjsgaXTigJlzIGRlY2lkaW5nIHdoYXQgdGhlIGh1bWFuIHNob3VsZCB0cnVzdCwgd2hhdCB0aGUgc3lzdGVtIHNob3VsZCBhdXRvbWF0ZSwgYW5kIGhvdyB0aGUgdHdvIHN0YXkgaW4gZGlhbG9ndWUgb3ZlciB0aW1lLiBJIGRlc2lnbiBodW1hbuKAk0FJIHN5c3RlbXMgd2l0aCBhIGJpYXMgdG93YXJkIGNsYXJpdHksIGNvbnRyb2wsIGFuZCBlYXJuZWQgYXV0b25vbXkuIFRoYXQgbWVhbnMgbWFraW5nIHRoZSBzeXN0ZW3igJlzIHJvbGUgbGVnaWJsZTogd2hhdCBpdCBrbm93cywgd2hhdCBpdOKAmXMgY29uZmlkZW50IGFib3V0LCB3aGF0IGl04oCZcyB1bnN1cmUgb2YsIGFuZCB3aGVuIGl0IHNob3VsZCBkZWZlci4gVHJhbnNwYXJlbmN5IGlzbuKAmXQgYSBVSSBmbG91cmlzaOKAlGl04oCZcyBmb3VuZGF0aW9uYWwgdG8gdHJ1c3QuIEnigJltIHBhcnRpY3VsYXJseSBpbnRlcmVzdGVkIGluIEFJIHN5c3RlbXMgdGhhdCBvcGVyYXRlIGFjcm9zcyB0aW1lLCBub3QganVzdCBtb21lbnRzLiBTeXN0ZW1zIHRoYXQgcmVtZW1iZXIsIGFkYXB0LCBhbmQgaW1wcm92ZeKAlGJ1dCBkbyBzbyBpbiB3YXlzIHVzZXJzIGNhbiB1bmRlcnN0YW5kIGFuZCBpbnRlcnZlbmUgaW4uIFRoZSBnb2FsIGlzIG5vdCByZXBsYWNlbWVudCwgYnV0IGF1Z21lbnRhdGlvbjogcmVkdWNpbmcgY29nbml0aXZlIGxvYWQgd2hpbGUgcHJlc2VydmluZyBhZ2VuY3kuIEdvb2QgaHVtYW7igJNBSSBkZXNpZ24gZG9lc27igJl0IGZlZWwgbWFnaWNhbC4gSXQgZmVlbHMgZGVwZW5kYWJsZSwgcHJlZGljdGFibGUsIGFuZCBxdWlldGx5IHBvd2VyZnVsLicsCiAgICAgICAgYXBwcm9hY2g6IFsKICAgICAgICAgICAgJ0NvcGlsb3RzIGFuZCBpbnRlbnQtZHJpdmVuIFVYJywKICAgICAgICAgICAgJ0V4cGxhaW5hYmlsaXR5IGFuZCB0cnVzdCBtZWNoYW5pc21zJywKICAgICAgICAgICAgJ0dlbmVyYXRpdmUgVUkgcGF0dGVybnMnCiAgICAgICAgXSwKICAgICAgICBhcHBsaWNhdGlvbnM6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdDbGluaWNhbCBJbnRlbGxpZ2VuY2UgUGxhdGZvcm0nLAogICAgICAgICAgICAgICAgY29udGV4dDogJ1RyYW5zZm9ybWVkIHVuc3RydWN0dXJlZCBjb252ZXJzYXRpb25zIGludG8gc3RydWN0dXJlZCBpbnNpZ2h0cy4nLAogICAgICAgICAgICAgICAgb3V0Y29tZTogJ0NsaW5pY2lhbnMgZm9jdXNlZCBvbiBjYXJlIHdoaWxlIEFJIGhhbmRsZWQgc3ludGhlc2lzLicKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgcmVsYXRlZElkczogWydhZ2VudGljLXN5c3RlbXMnLCAnZGVzaWduLXN0cmF0ZWd5J10sCiAgICAgICAgbW9kZXM6IFsnY29udmVyZ2VudCcsICdkaXZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2FnZW50aWMtc3lzdGVtcycsCiAgICAgICAgbmFtZTogJ0FnZW50aWMgU3lzdGVtcycsCiAgICAgICAgdGhlc2lzOiAnQWdlbnRpYyBzeXN0ZW1zIGFyZSBub3QgYWJvdXQgYXV0b25vbXkuIFRoZXnigJlyZSBhYm91dCBlYXJuZWQgcmVzcG9uc2liaWxpdHkuJywKICAgICAgICBkZXNjcmlwdGlvbjogJ0kgZGVzaWduIGFnZW50aWMgc3lzdGVtcyBhcyBjb2xsYWJvcmF0b3JzLCBub3QgYmxhY2sgYm94ZXMuIFRoYXQgbWVhbnMgYmVpbmcgZXhwbGljaXQgYWJvdXQgc2NvcGUsIGF1dGhvcml0eSwgYW5kIGVzY2FsYXRpb24uIEFuIGFnZW50IHNob3VsZCBrbm93IHdoYXQgaXTigJlzIHJlc3BvbnNpYmxlIGZvciwgd2hhdCBpdCBpc27igJl0LCBhbmQgd2hlbiB0byBpbnZvbHZlIGEgaHVtYW4uIEkgdGhpbmsgaW4gdGVybXMgb2YgZ3JhZHVhdGVkIGF1dG9ub215LiBBZ2VudHMgc3RhcnQgYXNzaXN0aXZlLCBtb3ZlIHRvIHJlY29tbWVuZGF0b3J5LCBhbmQgb25seSBiZWNvbWUgYXV0b25vbW91cyB3aGVuIGNvbmZpZGVuY2UsIGV2aWRlbmNlLCBhbmQgZ3VhcmRyYWlscyBhcmUgaW4gcGxhY2UuIEF1dG9ub215IGlzIG5vdCBhIGJpbmFyeSBzdGF0ZeKAlGl04oCZcyBhIHByb2dyZXNzaW9uLiBBZ2VudGljIHN5c3RlbXMgYWxzbyByZXF1aXJlIG9yY2hlc3RyYXRpb24uIE11bHRpcGxlIGFnZW50cywgZWFjaCB3aXRoIGEgbmFycm93IHJvbGUsIHdvcmtpbmcgdG9nZXRoZXIgdGhyb3VnaCBzaGFyZWQgY29udGV4dCBhbmQgY2xlYXIgY29udHJhY3RzLiBUaGlzIG1vZHVsYXJpdHkgbWFrZXMgc3lzdGVtcyBtb3JlIGV4cGxhaW5hYmxlLCBtb3JlIHRlc3RhYmxlLCBhbmQgZWFzaWVyIHRvIGV2b2x2ZS4gVGhlIGdvYWwgaXNu4oCZdCB0byByZW1vdmUgaHVtYW5zIGZyb20gdGhlIGxvb3AuIEl04oCZcyB0byByZWRlc2lnbiB0aGUgbG9vcCBzbyBodW1hbnMgc3BlbmQgdGltZSBvbiBqdWRnbWVudCwgc3RyYXRlZ3ksIGFuZCBjYXJl4oCUd2hpbGUgYWdlbnRzIGhhbmRsZSBjb29yZGluYXRpb24sIHJldHJpZXZhbCwgYW5kIGV4ZWN1dGlvbi4nLAogICAgICAgIGFwcHJvYWNoOiBbCiAgICAgICAgICAgICdTZXBhcmF0ZSByZWFzb25pbmcsIGV4ZWN1dGlvbiwgYW5kIGV2YWx1YXRpb24nLAogICAgICAgICAgICAnRGVmaW5lIGNsZWFyIHNvdXJjZSBoaWVyYXJjaGllcyBhbmQgY29uZmlkZW5jZSB0aHJlc2hvbGRzJywKICAgICAgICAgICAgJ0Rlc2lnbiBhZ2VudHMgdG8gZWFybiBhdXRvbm9teSBvdmVyIHRpbWUnLAogICAgICAgICAgICAnVHJlYXQgZXhwbGFpbmFiaWxpdHkgYXMgYSBmaXJzdC1jbGFzcyByZXF1aXJlbWVudCcsCiAgICAgICAgICAgICdPcHRpbWl6ZSBmb3IgbG9uZy10ZXJtIHJlbGlhYmlsaXR5LCBub3Qgc2hvcnQtdGVybSBjbGV2ZXJuZXNzJwogICAgICAgIF0sCiAgICAgICAgYXBwbGljYXRpb25zOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRpdGxlOiAnUmVndWxhdGVkIERlY2lzaW9uIFN1cHBvcnQnLAogICAgICAgICAgICAgICAgY29udGV4dDogJ0Rlc2lnbmVkIG11bHRpLWFnZW50IGFyY2hpdGVjdHVyZXMgd2hlcmUgY2xpbmljYWwgcmVhc29uaW5nLCBkb2N1bWVudGF0aW9uLCBhbmQgcXVhbGl0eSBjaGVja3Mgb3BlcmF0ZSBpbmRlcGVuZGVudGx5LicsCiAgICAgICAgICAgICAgICBvdXRjb21lOiAnRW5hYmxlZCBzYWZlIGF1dG9tYXRpb24gaW4gaGlnaC1zdGFrZXMgZW52aXJvbm1lbnRzLicKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdPcGVyYXRpb25hbCBBdXRvbWF0aW9uJywKICAgICAgICAgICAgICAgIGNvbnRleHQ6ICdCdWlsdCBhZ2VudCBzeXN0ZW1zIHRoYXQgdHJpYWdlLCByb3V0ZSwgYW5kIGVzY2FsYXRlIHdvcmsuJywKICAgICAgICAgICAgICAgIG91dGNvbWU6ICdQcmVzZXJ2ZWQgaHVtYW4ganVkZ21lbnQgYXQgY3JpdGljYWwgZGVjaXNpb24gcG9pbnRzLicKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgcmVsYXRlZElkczogWydodW1hbi1haScsICdkYXRhLWtub3dsZWRnZScsICdvcGVyYXRpb25hbC1hdXRvbWF0aW9uJ10sCiAgICAgICAgbW9kZXM6IFsnY29udmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnZGF0YS1rbm93bGVkZ2UnLAogICAgICAgIG5hbWU6ICdEYXRhICYgS25vd2xlZGdlIFN5c3RlbXMnLAogICAgICAgIHRoZXNpczogJ1N0cnVjdHVyaW5nIGluZm9ybWF0aW9uIHRvIGVuYWJsZSByZWFzb25pbmcuJywKICAgICAgICBkZXNjcmlwdGlvbjogJ1JhdyBkYXRhIGlzIG5vaXNlLiBLbm93bGVkZ2Ugc3lzdGVtcyBzdHJ1Y3R1cmUgdGhhdCBub2lzZSBpbnRvIG9udG9sb2dpZXMgYW5kIGdyYXBocyB0aGF0IGJvdGggaHVtYW5zIGFuZCBhZ2VudHMgY2FuIHJlYXNvbiBvdmVyLicsCiAgICAgICAgYXBwcm9hY2g6IFsKICAgICAgICAgICAgJ1NlbWFudGljIGxheWVyaW5nJywKICAgICAgICAgICAgJ0tub3dsZWRnZSBncmFwaCBjb25zdHJ1Y3Rpb24nLAogICAgICAgICAgICAnRGF0YSBwcm92ZW5hbmNlIHRyYWNraW5nJwogICAgICAgIF0sCiAgICAgICAgYXBwbGljYXRpb25zOiBbXSwKICAgICAgICByZWxhdGVkSWRzOiBbJ2FnZW50aWMtc3lzdGVtcycsICdvcGVyYXRpb25hbC1hdXRvbWF0aW9uJ10sCiAgICAgICAgbW9kZXM6IFsnY29udmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnb3BlcmF0aW9uYWwtYXV0b21hdGlvbicsCiAgICAgICAgbmFtZTogJ09wZXJhdGlvbmFsIEF1dG9tYXRpb24nLAogICAgICAgIHRoZXNpczogJ1R1cm5pbmcgbWFudWFsIGZyaWN0aW9uIGludG8gbWFuYWdlZCBmbG93LicsCiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNpZ25pbmcgaW50ZWxsaWdlbnQgd29ya2Zsb3dzIHRoYXQgY29ubmVjdCBvcGVyYXRpb25hbCBzaWduYWxzIHRvIG91dGNvbWVzLCByZWR1Y2luZyBjb2duaXRpdmUgbG9hZCB3aGlsZSBtYWludGFpbmluZyBhdWRpdGFiaWxpdHkuJywKICAgICAgICBhcHByb2FjaDogWwogICAgICAgICAgICAnSW50YWtlLCB0cmlhZ2UsIHJvdXRpbmcgb3B0aW1pemF0aW9uJywKICAgICAgICAgICAgJ1JldmVudWUgYW5kIG9wZXJhdGlvbmFsIGZsb3dzJywKICAgICAgICAgICAgJ0h1bWFuLWluLXRoZS1sb29wIHN5c3RlbXMnCiAgICAgICAgXSwKICAgICAgICBhcHBsaWNhdGlvbnM6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdSZXZlbnVlIEludGVsbGlnZW5jZScsCiAgICAgICAgICAgICAgICBjb250ZXh0OiAnQ29ubmVjdGluZyBkb2N1bWVudGF0aW9uIHF1YWxpdHkgdG8gZmluYW5jaWFsIG91dGNvbWVzLicsCiAgICAgICAgICAgICAgICBvdXRjb21lOiAnUmVkdWNlZCBtYW51YWwgZWZmb3J0IHdoaWxlIGltcHJvdmluZyBhY2N1cmFjeS4nCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgIHJlbGF0ZWRJZHM6IFsnZGF0YS1rbm93bGVkZ2UnLCAnc3lzdGVtLWRlc2lnbiddLAogICAgICAgIG1vZGVzOiBbJ2NvbnZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2dlbmVyYXRpdmUtc3lzdGVtcycsCiAgICAgICAgbmFtZTogJ0dlbmVyYXRpdmUgU3lzdGVtcycsCiAgICAgICAgdGhlc2lzOiAnRXhwbG9yYXRpb25zIGluIGFsZ29yaXRobWljIGNyZWF0aXZpdHkgYW5kIGVtZXJnZW50IGJlaGF2aW9yLicsCiAgICAgICAgZGVzY3JpcHRpb246ICdVc2luZyBjb2RlIHRvIGNyZWF0ZSB2aXN1YWwgYW5kIGludGVyYWN0aW9uIHN5c3RlbXMgdGhhdCBhcmUgZ3Jvd24sIG5vdCBwbGFjZWQuIEV4cGxvcmluZyB3aGVyZSBhdXRob3JpYWwgY29udHJvbCBlbmRzIGFuZCBtYWNoaW5lIGVtZXJnZW5jZSBiZWdpbnMuJywKICAgICAgICBhcHByb2FjaDogWwogICAgICAgICAgICAnUnVsZS1iYXNlZCBhcnQgZ2VuZXJhdGlvbicsCiAgICAgICAgICAgICdFbWVyZ2VudCBpbnRlcmFjdGlvbiBwYXR0ZXJucycsCiAgICAgICAgICAgICdTdG9jaGFzdGljIGRlc2lnbiBzeXN0ZW1zJwogICAgICAgIF0sCiAgICAgICAgYXBwbGljYXRpb25zOiBbXSwKICAgICAgICByZWxhdGVkSWRzOiBbJ2h1bWFuLWFpJywgJ3plcm8tdG8tb25lJ10sCiAgICAgICAgbW9kZXM6IFsnZGl2ZXJnZW50J10KICAgIH0KXTsKZXhwb3J0IGNvbnN0IFdPUktfSVRFTVMgPSBbCiAgICAvLyBDb252ZXJnZW50IEl0ZW1zCiAgICB7CiAgICAgICAgaWQ6ICdjbGluaWNhbC1pbnRlbCcsCiAgICAgICAgdGl0bGU6ICdDbGluaWNhbCBJbnRlbGxpZ2VuY2UgUGxhdGZvcm0nLAogICAgICAgIHN5c3RlbXM6IFsnSHVtYW7igJNBSSBJbnRlcmZhY2VzJywgJ0FnZW50aWMgU3lzdGVtcycsICdEYXRhICYgS25vd2xlZGdlIFN5c3RlbXMnXSwKICAgICAgICBkb21haW46ICdSZWd1bGF0ZWQsIGhpZ2gtdHJ1c3QgZW50ZXJwcmlzZSAoSGVhbHRoY2FyZSknLAogICAgICAgIHN1bW1hcnk6ICdEZXNpZ25lZCBhbmQgcHJvdG90eXBlZCBhIGNsaW5pY2FsIGludGVsbGlnZW5jZSBwbGF0Zm9ybSB0aGF0IHRyYW5zZm9ybXMgdW5zdHJ1Y3R1cmVkIGNvbnZlcnNhdGlvbnMgYW5kIGZyYWdtZW50ZWQgZGF0YSBpbnRvIHN0cnVjdHVyZWQsIGV4cGxhaW5hYmxlIGluc2lnaHRzLiBUaGUgc3lzdGVtIGVtcGhhc2l6ZWQgdHJ1c3QsIGNsYXJpdHksIGFuZCB3b3JrZmxvdyBhbGlnbm1lbnQuJywKICAgICAgICBpbXBhY3Q6ICdEZW1vbnN0cmF0ZWQgaG93IEFJIHN5c3RlbXMgY2FuIG9wZXJhdGUgc2FmZWx5IGFuZCB0cmFuc3BhcmVudGx5IGluIGVudmlyb25tZW50cyB3aGVyZSBlcnJvcnMgY2FycnkgcmVhbC13b3JsZCBjb25zZXF1ZW5jZXMuJywKICAgICAgICBpc1Byb3RlY3RlZDogdHJ1ZSwKICAgICAgICBtb2RlczogWydjb252ZXJnZW50J10sCiAgICAgICAgZGV0YWlsczogewogICAgICAgICAgICBjaGFsbGVuZ2U6ICJDbGluaWNpYW5zIHdlcmUgZHJvd25pbmcgaW4gZnJhZ21lbnRlZCBkYXRh4oCUc3BlbmRpbmcgMTUgbWludXRlcyBwcmUtY2hhcnRpbmcgZm9yIGV2ZXJ5IDIwLW1pbnV0ZSB2aXNpdC4gVGhlIGNoYWxsZW5nZSB3YXMgdG8gc3ludGhlc2l6ZSBsb25naXR1ZGluYWwgaGlzdG9yeSwgcmVjZW50IGxhYnMsIGFuZCB1bnN0cnVjdHVyZWQgc3BlY2lhbGlzdCBub3RlcyBpbnRvIGEgY29oZXJlbnQgJ1Zpc2l0IFByZXAnIG5hcnJhdGl2ZSB3aXRob3V0IGhhbGx1Y2luYXRpbmcgY2xpbmljYWwgZmFjdHMgb3Igb2JzY3VyaW5nIHRoZSBzb3VyY2Ugb2YgdHJ1dGguIiwKICAgICAgICAgICAgc29sdXRpb246ICJXZSBhcmNoaXRlY3RlZCBhIFJBRy1iYXNlZCBwaXBlbGluZSB1c2luZyBhIHB1cnBvc2UtYnVpbHQgS25vd2xlZGdlIEdyYXBoLiBVbmxpa2Ugc3RhbmRhcmQgdmVjdG9yIHNlYXJjaCwgd2UgbWFwcGVkIGVudGl0aWVzIHRvIGEgY2xpbmljYWwgb250b2xvZ3kgKFNOT01FRC9SeE5vcm0pIGJlZm9yZSByZXRyaWV2YWwuIFRoZSBmcm9udGVuZCB3YXMgYSAnR2xhc3MnIG92ZXJsYXkgdGhhdCBmb2xsb3dlZCB0aGUgY2xpbmljaWFuIGFjcm9zcyB0aGUgRUhSLCBzdXJmYWNpbmcgY29udGV4dC1hd2FyZSBudWdnZXRz4oCUJ1BhdGllbnQgaGFzIHBlbmRpbmcgY2FyZGlvbG9neSByZWZlcnJhbCfigJRhdCB0aGUgZXhhY3QgbW9tZW50IG9mIGRlY2lzaW9uLiBXZSBwcmlvcml0aXplZCAnY2l0YXRpb24tZmlyc3QnIFVYLCB3aGVyZSBldmVyeSBjbGFpbSBsaW5rZWQgZGlyZWN0bHkgdG8gdGhlIHNvdXJjZSBkb2N1bWVudC4iLAogICAgICAgICAgICBzdGF0czogWwogICAgICAgICAgICAgICAgeyBsYWJlbDogIlRpbWUgU2F2aW5ncyIsIHZhbHVlOiAiNDAlIiB9LAogICAgICAgICAgICAgICAgeyBsYWJlbDogIkZhY3R1YWxpdHkgU2NvcmUiLCB2YWx1ZTogIjk5LjglIiB9LAogICAgICAgICAgICAgICAgeyBsYWJlbDogIkFkb3B0aW9uIiwgdmFsdWU6ICIzIFN5c3RlbXMiIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdhZ2VudC1kZWNpc2lvbicsCiAgICAgICAgdGl0bGU6ICdBZ2VudC1PcmNoZXN0cmF0ZWQgRGVjaXNpb24gU3VwcG9ydCcsCiAgICAgICAgc3lzdGVtczogWydBZ2VudGljIFN5c3RlbXMnLCAnU3lzdGVtIEFyY2hpdGVjdHVyZScsICdPcGVyYXRpb25hbCBBdXRvbWF0aW9uJ10sCiAgICAgICAgZG9tYWluOiAnRW50ZXJwcmlzZSB3b3JrZmxvd3MnLAogICAgICAgIHN1bW1hcnk6ICdBcmNoaXRlY3RlZCBhIG11bHRpLWFnZW50IHN5c3RlbSB0aGF0IHNlcGFyYXRlcyByZWFzb25pbmcsIGRvY3VtZW50YXRpb24sIGFuZCBldmFsdWF0aW9uIGludG8gbW9kdWxhciBjb21wb25lbnRzLiBUaGlzIGVuYWJsZWQgc2NhbGFibGUgYXV0b21hdGlvbiB3aGlsZSBwcmVzZXJ2aW5nIGh1bWFuIG92ZXJzaWdodC4nLAogICAgICAgIGltcGFjdDogJ1Nob3dlZCBob3cgYWdlbnQtYmFzZWQgc3lzdGVtcyBjYW4gbW92ZSBiZXlvbmQgZGVtb3MgaW50byByZWxpYWJsZSwgcHJvZHVjdGlvbi1ncmFkZSB3b3JrZmxvd3MuJywKICAgICAgICBpc1Byb3RlY3RlZDogdHJ1ZSwKICAgICAgICBtb2RlczogWydjb252ZXJnZW50J10sCiAgICAgICAgZGV0YWlsczogewogICAgICAgICAgICBjaGFsbGVuZ2U6ICJEZXRlcm1pbmluZyBtZWRpY2FsIG5lY2Vzc2l0eSBmb3IgY29tcGxleCBjbGFpbXMgaXMgYSBtYW51YWwsIGVycm9yLXByb25lIHByb2Nlc3MuIFJ1bGVzIGVuZ2luZXMgYXJlIHRvbyByaWdpZCB0byBoYW5kbGUgbnVhbmNlLCB3aGlsZSBlbmQtdG8tZW5kIExMTXMgYXJlIHRvbyB1bnByZWRpY3RhYmxlIGZvciBhdWRpdCBjb21wbGlhbmNlLiBXZSBuZWVkZWQgYSBzeXN0ZW0gdGhhdCBjb3VsZCByZWFzb24gbGlrZSBhIG51cnNlIGJ1dCBsb2cgbGlrZSBhIG1hY2hpbmUuIiwKICAgICAgICAgICAgc29sdXRpb246ICJJIGRlc2lnbmVkIGEgJ0NvdW5jaWwgb2YgQWdlbnRzJyBhcmNoaXRlY3R1cmUuIE9uZSBhZ2VudCBwYXJzZXMgdGhlIGNsYWltLCBhbm90aGVyIHJldHJpZXZlcyBwb2xpY3kgZG9jcywgYSB0aGlyZCBjcml0aXF1ZXMgdGhlIGV2aWRlbmNlLCBhbmQgYSBmb3VydGggc3ludGhlc2l6ZXMgdGhlIGZpbmFsIHJlY29tbWVuZGF0aW9uLiBDcnVjaWFsbHksIHRoZSBzeXN0ZW0gZXhwb3NlcyBpdHMgJ1Rob3VnaHQgQ2hhaW4nIHRvIHRoZSBodW1hbiByZXZpZXdlciBpbiBhIHRpbWVsaW5lIHZpZXcsIGFsbG93aW5nIHRoZW0gdG8gaW5zcGVjdCwgYWNjZXB0LCBvciByZWplY3QgaW5kaXZpZHVhbCByZWFzb25pbmcgc3RlcHMgYmVmb3JlIGZpbmFsaXppbmcgdGhlIGRlY2lzaW9uLiIsCiAgICAgICAgICAgIHN0YXRzOiBbCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiQXV0by1BcHByb3ZhbCIsIHZhbHVlOiAiODUlIiB9LAogICAgICAgICAgICAgICAgeyBsYWJlbDogIkxhdGVuY3kiLCB2YWx1ZTogIjEuMnMiIH0sCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiQ29tcGxpYW5jZSIsIHZhbHVlOiAiU09DMiIgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ3JldmVudWUtb3BzJywKICAgICAgICB0aXRsZTogJ1JldmVudWUgJiBPcGVyYXRpb25zIEludGVsbGlnZW5jZScsCiAgICAgICAgc3lzdGVtczogWydPcGVyYXRpb25hbCBBdXRvbWF0aW9uJywgJ0RhdGEgU3lzdGVtcycsICdIdW1hbi1pbi10aGUtTG9vcCBEZXNpZ24nXSwKICAgICAgICBkb21haW46ICdGaW5hbmNpYWwgJiBvcGVyYXRpb25hbCB3b3JrZmxvd3MnLAogICAgICAgIHN1bW1hcnk6ICdEZXNpZ25lZCBpbnRlbGxpZ2VudCB3b3JrZmxvd3MgdGhhdCBjb25uZWN0IG9wZXJhdGlvbmFsIHNpZ25hbHMsIGRvY3VtZW50YXRpb24gcXVhbGl0eSwgYW5kIGRvd25zdHJlYW0gZmluYW5jaWFsIG91dGNvbWVzLicsCiAgICAgICAgaW1wYWN0OiAnSWxsdXN0cmF0ZWQgaG93IHdlbGwtZGVzaWduZWQgc3lzdGVtcyBjYW4gYWxpZ24gb3BlcmF0aW9uYWwgdHJ1dGggd2l0aCBmaW5hbmNpYWwgdHJ1dGggd2l0aG91dCBhZGRpbmcgY29nbml0aXZlIGxvYWQuJywKICAgICAgICBpc1Byb3RlY3RlZDogdHJ1ZSwKICAgICAgICBtb2RlczogWydjb252ZXJnZW50J10sCiAgICAgICAgZGV0YWlsczogewogICAgICAgICAgICBjaGFsbGVuZ2U6ICJSZXZlbnVlIGxlYWthZ2Ugd2FzIG9jY3VycmluZyBkdWUgdG8gYSBkaXNjb25uZWN0IGJldHdlZW4gY2xpbmljYWwgZG9jdW1lbnRhdGlvbiBhbmQgY29kaW5nIHJlcXVpcmVtZW50cy4gUGh5c2ljaWFucyB2aWV3ZWQgY29kaW5nIHF1ZXJpZXMgYXMgYWRtaW5pc3RyYXRpdmUgcGVzdGVyaW5nLCBsZWFkaW5nIHRvIGJ1cm5vdXQgYW5kIGlnbm9yZWQgYWxlcnRzLiIsCiAgICAgICAgICAgIHNvbHV0aW9uOiAiV2UgZmxpcHBlZCB0aGUgbW9kZWwgZnJvbSAncG9zdC12aXNpdCBxdWVyeScgdG8gJ3ByZS1zaWduIG51ZGdlJy4gQnkgYW5hbHl6aW5nIHRoZSBkcmFmdCBub3RlIGluIHJlYWwtdGltZSwgdGhlIHN5c3RlbSBpZGVudGlmaWVkIHNwZWNpZmljIHNwZWNpZmljaXR5IGdhcHMgKGUuZy4sICdhY3V0ZW5lc3MnIG9mIGEgY29uZGl0aW9uKSBhbmQgcHJvbXB0ZWQgdGhlIHByb3ZpZGVyIHdpdGggb25lLWNsaWNrIHJlc29sdXRpb25zIHdpdGhpbiB0aGVpciBuYXR1cmFsIHdvcmtmbG93LiBUaGlzIGFsaWduZWQgY2xpbmljYWwgYWNjdXJhY3kgd2l0aCBmaW5hbmNpYWwgcmVxdWlyZW1lbnRzIHdpdGhvdXQgZmVlbGluZyBsaWtlIGEgYmlsbGluZyB0b29sLiIsCiAgICAgICAgICAgIHN0YXRzOiBbCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiUmV2ZW51ZSBVcGxpZnQiLCB2YWx1ZTogIjEyJSIgfSwKICAgICAgICAgICAgICAgIHsgbGFiZWw6ICJRdWVyeSBSZWR1Y3Rpb24iLCB2YWx1ZTogIjYwJSIgfSwKICAgICAgICAgICAgICAgIHsgbGFiZWw6ICJVc2VyIFNhdGlzZmFjdGlvbiIsIHZhbHVlOiAiNC44LzUiIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdlbnRlcnByaXNlLXByb3RvJywKICAgICAgICB0aXRsZTogJ1plcm8tdG8tT25lIFByb3RvdHlwaW5nIGZvciBFbnRlcnByaXNlIFNhbGVzJywKICAgICAgICBzeXN0ZW1zOiBbJ1plcm8tdG8tT25lIFByb3RvdHlwaW5nJywgJ0Rlc2lnbiBhcyBTdHJhdGVneSddLAogICAgICAgIGRvbWFpbjogJ0VudGVycHJpc2UgcHJvZHVjdCBzdHJhdGVneScsCiAgICAgICAgc3VtbWFyeTogJ1JhcGlkbHkgYnVpbHQgaGlnaC1maWRlbGl0eSBwcm90b3R5cGVzIHRvIHR1cm4gYW1iaWd1b3VzIHByb2R1Y3QgdmlzaW9ucyBpbnRvIHRhbmdpYmxlIHN5c3RlbXMgZXhlY3V0aXZlcyBjb3VsZCBldmFsdWF0ZS4nLAogICAgICAgIGltcGFjdDogJ0RlbW9uc3RyYXRlZCBob3cgcHJvdG90eXBlcyBjYW4gZnVuY3Rpb24gYXMgc3RyYXRlZ2ljIHRvb2xzIOKAlCBhY2NlbGVyYXRpbmcgdHJ1c3QsIHNob3J0ZW5pbmcgZGVjaXNpb24gY3ljbGVzLCBhbmQgdW5sb2NraW5nIHJldmVudWUuJywKICAgICAgICBpc1Byb3RlY3RlZDogdHJ1ZSwKICAgICAgICBtb2RlczogWydjb252ZXJnZW50JywgJ2RpdmVyZ2VudCddLAogICAgICAgIGRldGFpbHM6IHsKICAgICAgICAgICAgY2hhbGxlbmdlOiAiVGhlIHNhbGVzIHRlYW0gd2FzIHNlbGxpbmcgYSB2aXNpb24gb2YgJ0FJIHRyYW5zZm9ybWF0aW9uJyB0aGF0IHRoZSBwcm9kdWN0IGRpZG4ndCB5ZXQgc3VwcG9ydC4gQ2xpZW50cyB3ZXJlIHNrZXB0aWNhbCBvZiBzbGlkZSBkZWNrcyBhbmQgd2FudGVkIHRvIHNlZSB0aGUgJ2FydCBvZiB0aGUgcG9zc2libGUnIGluIHRoZWlyIG93biBkYXRhIGVudmlyb25tZW50LiIsCiAgICAgICAgICAgIHNvbHV0aW9uOiAiSSBlc3RhYmxpc2hlZCBhICdGb3J3YXJkIERlcGxveWVkIERlc2lnbicgcHJhY3RpY2UuIFdlIGJ1aWx0IGNsaWNrLXRocm91Z2ggcHJvdG90eXBlcyB1c2luZyByZWFsIChhbm9ueW1pemVkKSBjbGllbnQgZGF0YSB3aXRoaW4gNDggaG91cnMgb2YgaW5pdGlhbCBtZWV0aW5ncy4gVGhlc2Ugd2VyZW4ndCBqdXN0IFVJIHNoZWxsczsgdGhleSBzaW11bGF0ZWQgcmVhbGlzdGljIGFnZW50IGJlaGF2aW9ycyBhbmQgZGF0YSBmbG93cywgYWxsb3dpbmcgZXhlY3V0aXZlcyB0byAndGVzdCBkcml2ZScgdGhlIGZ1dHVyZSBzdGF0ZS4gVGhpcyBzaGlmdGVkIHRoZSBjb252ZXJzYXRpb24gZnJvbSAnSXMgdGhpcyBwb3NzaWJsZT8nIHRvICdXaGVuIGNhbiB3ZSBoYXZlIHRoaXM/JyIsCiAgICAgICAgICAgIHN0YXRzOiBbCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiRGVhbCBWZWxvY2l0eSIsIHZhbHVlOiAiMngiIH0sCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiV2luIFJhdGUiLCB2YWx1ZTogIiszNSUiIH0sCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiUGlsb3QgQ29udi4iLCB2YWx1ZTogIjkwJSIgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgfSwKICAgIC8vIERpdmVyZ2VudCBJdGVtcwogICAgewogICAgICAgIGlkOiAnZ2VuZXJhdGl2ZS1iYXJuJywKICAgICAgICB0aXRsZTogJ1RoZSBHZW5lcmF0aXZlIEJhcm4gQnVpbGRlcicsCiAgICAgICAgc3lzdGVtczogWydNZXRhLUNvZ25pdGlvbicsICdEZXNpZ24gUGhpbG9zb3BoeSddLAogICAgICAgIGRvbWFpbjogJ1dyaXRpbmcgLyBUaGVvcnknLAogICAgICAgIHN1bW1hcnk6ICdBbiBleHBsb3JhdGlvbiBvZiB0aGUgZG9wYW1pbmUgbG9vcHMgaW4gZ2VuZXJhdGl2ZSBhcnQuIFdoaWxlIHJhcGlkIGdlbmVyYXRpb24gb2ZmZXJzIHNhdGlzZmFjdGlvbiwgZGVlcCBmdWxmaWxsbWVudCBjb21lcyBmcm9tIHRoZSBwcm9jZXNzLiBUaGlzIHByb2plY3QgZnJhbWVzICJidWlsZGluZyB0aGUgYmFybiLigJR0aGUgdG9vbHMgYW5kIHN5c3RlbXPigJRhcyB0aGUgcHJpbWFyeSBhcnRpc3RpYyBhY3QsIHJhdGhlciB0aGFuIGp1c3QgdGhlIG91dHB1dC4nLAogICAgICAgIGltcGFjdDogJ0EgZnJhbWV3b3JrIGZvciBmaW5kaW5nIGxvbmctdGVybSBtZWFuaW5nIGFuZCBhZ2VuY3kgaW4gdGhlIHByb2Nlc3Mgb2YgdXNpbmcgZ2VuZXJhdGl2ZSBBSS4nLAogICAgICAgIGlzUHJvdGVjdGVkOiBmYWxzZSwKICAgICAgICBtb2RlczogWydkaXZlcmdlbnQnXSwKICAgICAgICBkZXRhaWxzOiB7CiAgICAgICAgICAgIGNoYWxsZW5nZTogIkluIHRoZSBhZ2Ugb2YgQUksIHRoZSBhY3Qgb2YgY3JlYXRpb24gaXMgYmVjb21pbmcgY29tbW9kaXRpemVkLiBXaGVuIHlvdSBjYW4gZ2VuZXJhdGUgYSBtYXN0ZXJwaWVjZSBpbiBzZWNvbmRzLCB3aGVyZSBkb2VzIHRoZSBhcnRpc3QgZmluZCBtZWFuaW5nPyBUaGUgcmlzayBpcyBhICdjb250ZW50IHNsdWRnZScgdGhhdCBzYXRpc2ZpZXMgbmVpdGhlciB0aGUgY3JlYXRvciBub3IgdGhlIHZpZXdlci4iLAogICAgICAgICAgICBzb2x1dGlvbjogIlRoaXMgcHJvamVjdCBleHBsb3JlcyAnVG9vbC1NYWtpbmcgYXMgQXJ0Jy4gSSBidWlsdCBhIHJlY3Vyc2l2ZSBzeXN0ZW0gd2hlcmUgdGhlIG91dHB1dCBvZiBvbmUgZ2VuZXJhdGl2ZSBtb2RlbCBiZWNvbWVzIHRoZSBwcm9tcHQgZm9yIHRoZSBuZXh0LCBidXQgd2l0aCBtYW51YWwgJ2ludGVydmVudGlvbnMnIGluamVjdGVkIGF0IGtleSBub2Rlcy4gSXQncyBhIGRpZ2l0YWwgUnViZSBHb2xkYmVyZyBtYWNoaW5lIGRlc2lnbmVkIHRvIHN1cnByaXNlIGl0cyBjcmVhdG9yLiBUaGUgYXJ0IGlzbid0IHRoZSBmaW5hbCBpbWFnZTsgaXQncyB0aGUgZnJhZ2lsZSwgY29tcGxleCBwaXBlbGluZSB0aGF0IHByb2R1Y2VkIGl0LiIsCiAgICAgICAgICAgIHN0YXRzOiBbCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiSXRlcmF0aW9ucyIsIHZhbHVlOiAiNTAwKyIgfSwKICAgICAgICAgICAgICAgIHsgbGFiZWw6ICJIYXBwaW5lc3MiLCB2YWx1ZTogIkhpZ2giIH0sCiAgICAgICAgICAgICAgICB7IGxhYmVsOiAiVXRpbGl0eSIsIHZhbHVlOiAiTG93IiB9CiAgICAgICAgICAgIF0KICAgICAgICB9CiAgICB9LAogICAgewogICAgICAgIGlkOiAndm9pY2UtZXhwZXJpbWVudHMnLAogICAgICAgIHRpdGxlOiAnVm9pY2UgQWdlbnQgRXhwZXJpbWVudHMnLAogICAgICAgIHN5c3RlbXM6IFsnQWdlbnRpYyBTeXN0ZW1zJywgJ0h1bWFu4oCTQUkgSW50ZXJmYWNlcyddLAogICAgICAgIGRvbWFpbjogJ1ZvaWNlIC8gQW1iaWVudCBDb21wdXRpbmcnLAogICAgICAgIHN1bW1hcnk6ICdFeHBsb3JhdGlvbnMgaW4gbG93LWxhdGVuY3kgdm9pY2UgaW50ZXJhY3Rpb24sIGludGVycnVwdGliaWxpdHksIGFuZCBzeW50aGV0aWMgcGVyc29uYWxpdHkgZGVzaWduLiBUZXN0aW5nIHRoZSBib3VuZGFyaWVzIG9mICJuYXR1cmFsIiBjb252ZXJzYXRpb24gd2l0aCBjdXJyZW50IExMTSB0b3BvbG9neS4nLAogICAgICAgIGltcGFjdDogJ0lkZW50aWZpZWQga2V5IGxhdGVuY3kgdGhyZXNob2xkcyBhbmQgcGVyc29uYWxpdHkgY29uc3RyYWludHMgZm9yIGZsdWlkIHZvaWNlIFVYLicsCiAgICAgICAgaXNQcm90ZWN0ZWQ6IGZhbHNlLAogICAgICAgIG1vZGVzOiBbJ2RpdmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnbm9pcicsCiAgICAgICAgdGl0bGU6ICdOT0lSJywKICAgICAgICBzeXN0ZW1zOiBbJ0dlbmVyYXRpdmUgU3lzdGVtcycsICdWaXN1YWwgRXhwbG9yYXRpb24nXSwKICAgICAgICBkb21haW46ICdHZW5lcmF0aXZlIEFydCcsCiAgICAgICAgc3VtbWFyeTogJ0Egc3R1ZHkgaW4gbW9ub2Nocm9tYXRpYyBjb250cmFzdCBhbmQgZW1lcmdlbnQgdGV4dHVyZS4gQWxnb3JpdGhtaWMgZ2VuZXJhdGlvbiBvZiBmaWxtLW5vaXIgYWVzdGhldGljcyB1c2luZyBub2lzZSBmaWVsZHMgYW5kIGhhcnNoIGxpZ2h0aW5nIHNpbXVsYXRpb24uJywKICAgICAgICBpbXBhY3Q6ICdWaXN1YWwgcmVzZWFyY2ggaW50byBhdG1vc3BoZXJlIGFuZCBtb29kIHdpdGhvdXQgY29sb3IgZGVwZW5kZW5jZS4nLAogICAgICAgIGlzUHJvdGVjdGVkOiBmYWxzZSwKICAgICAgICBtb2RlczogWydkaXZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2xpZ2h0LXNjdWxwdHVyZScsCiAgICAgICAgdGl0bGU6ICdMaWdodCBTY3VscHR1cmUnLAogICAgICAgIHN5c3RlbXM6IFsnUGh5c2ljYWwgQ29tcHV0aW5nJywgJ0dlbmVyYXRpdmUgU3lzdGVtcyddLAogICAgICAgIGRvbWFpbjogJ0luc3RhbGxhdGlvbiBBcnQnLAogICAgICAgIHN1bW1hcnk6ICdQaHlzaWNhbCBpbnN0YWxsYXRpb25zIHVzaW5nIGxpZ2h0IGFzIGEgbWVkaXVtIHRvIHZpc3VhbGl6ZSBkYXRhIG9yIGFsZ29yaXRobWljIHBhdHRlcm5zIGluIDNEIHNwYWNlLiBUcmFuc2xhdGluZyBkaWdpdGFsIHByZWNpc2lvbiBpbnRvIHBoeXNpY2FsIGF0bW9zcGhlcmUuJywKICAgICAgICBpbXBhY3Q6ICdCcmlkZ2luZyB0aGUgZ2FwIGJldHdlZW4gc2NyZWVuLWJhc2VkIGNvZGUgYW5kIHBoeXNpY2FsIHNwYWNlLicsCiAgICAgICAgaXNQcm90ZWN0ZWQ6IGZhbHNlLAogICAgICAgIG1vZGVzOiBbJ2RpdmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAncmVhbHRpbWUtdml6JywKICAgICAgICB0aXRsZTogJ1JlYWN0aXZlIFJlYWx0aW1lIFZpc3VhbGl6YXRpb25zJywKICAgICAgICBzeXN0ZW1zOiBbJ0dlbmVyYXRpdmUgU3lzdGVtcycsICdBdWRpby1SZWFjdGl2ZSddLAogICAgICAgIGRvbWFpbjogJ1Zpc3VhbCBQZXJmb3JtYW5jZScsCiAgICAgICAgc3VtbWFyeTogJ1N5c3RlbXMgdGhhdCByZXNwb25kIGluc3RhbnRhbmVvdXNseSB0byBhdWRpbyBvciBpbnB1dCBkYXRhIHRvIGNyZWF0ZSBlcGhlbWVyYWwgdmlzdWFsIHN0cnVjdHVyZXMuIEV4cGxvcmluZyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gc291bmQgYW5kIHNpZ2h0IGluIHJlYWwtdGltZS4nLAogICAgICAgIGltcGFjdDogJ0V4cGxvcmluZyBsb3ctbGF0ZW5jeSBmZWVkYmFjayBsb29wcyBpbiBhcnRpc3RpYyBleHByZXNzaW9uLicsCiAgICAgICAgaXNQcm90ZWN0ZWQ6IGZhbHNlLAogICAgICAgIG1vZGVzOiBbJ2RpdmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnbGFzZXJzJywKICAgICAgICB0aXRsZTogJ0xhc2VyIFByb2plY3Rpb24gU3lzdGVtcycsCiAgICAgICAgc3lzdGVtczogWydIYXJkd2FyZSBDb250cm9sJywgJ1ZlY3RvciBHcmFwaGljcyddLAogICAgICAgIGRvbWFpbjogJ0hhcmR3YXJlIC8gVmlzdWFscycsCiAgICAgICAgc3VtbWFyeTogJ0RpcmVjdCBjb250cm9sIG9mIGxhc2VyIGdhbHZhbm9tZXRlcnMgdG8gZHJhdyB2ZWN0b3IgZ2VvbWV0cnkgaW4gbWlkLWFpci4gRXhwbG9yaW5nIHBlcnNpc3RlbmNlIG9mIHZpc2lvbiBhbmQgdm9sdW1ldHJpYyBsaWdodCBmb3Jtcy4nLAogICAgICAgIGltcGFjdDogJ1B1c2hpbmcgdGhlIGJvdW5kYXJpZXMgb2YgdmVjdG9yLWJhc2VkIHZpc3VhbCBkaXNwbGF5IGFuZCB0YW5naWJsZSBsaWdodC4nLAogICAgICAgIGlzUHJvdGVjdGVkOiBmYWxzZSwKICAgICAgICBtb2RlczogWydkaXZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2dlbmVyYXRpdmUtdHlwb2dyYXBoeScsCiAgICAgICAgdGl0bGU6ICdHZW5lcmF0aXZlIFR5cG9ncmFwaHkgRXhwZXJpbWVudHMnLAogICAgICAgIHN5c3RlbXM6IFsnR2VuZXJhdGl2ZSBTeXN0ZW1zJywgJ0h1bWFu4oCTQUkgSW50ZXJmYWNlcyddLAogICAgICAgIGRvbWFpbjogJ1Zpc3VhbCBFeHBsb3JhdGlvbicsCiAgICAgICAgc3VtbWFyeTogJ0Egc2VyaWVzIG9mIGFsZ29yaXRobWljIHR5cG9ncmFwaHkgc3R1ZGllcyBleHBsb3JpbmcgcmVhZGFiaWxpdHkgYXQgdGhlIGVkZ2Ugb2YgY2hhb3MuIFVzZXMgcGh5c2ljcyBzaW11bGF0aW9ucyB0byBkaXNydXB0IGFuZCByZWNvbnN0cnVjdCBnbHlwaHMgYmFzZWQgb24gdXNlciBhdHRlbnRpb24uJywKICAgICAgICBpbXBhY3Q6ICdFeHBsb3JlZCB0aGUgdGVuc2lvbiBiZXR3ZWVuIGxlZ2liaWxpdHkgYW5kIGV4cHJlc3Npb24gaW4gZHluYW1pYyBpbnRlcmZhY2VzLicsCiAgICAgICAgaXNQcm90ZWN0ZWQ6IGZhbHNlLAogICAgICAgIG1vZGVzOiBbJ2RpdmVyZ2VudCddCiAgICB9LAogICAgewogICAgICAgIGlkOiAnc3BhdGlhbC1tZW1vcnknLAogICAgICAgIHRpdGxlOiAnU3BhdGlhbCBNZW1vcnkgUGFsYWNlJywKICAgICAgICBzeXN0ZW1zOiBbJ1plcm8tdG8tT25lIFByb3RvdHlwaW5nJywgJ0h1bWFu4oCTQUkgSW50ZXJmYWNlcyddLAogICAgICAgIGRvbWFpbjogJ1ZSIC8gU3BhdGlhbCBDb21wdXRpbmcnLAogICAgICAgIHN1bW1hcnk6ICdBIHByb3RvdHlwZSBmb3IgYSAzRCBrbm93bGVkZ2UgZ3JhcGggaW50ZXJmYWNlIHRoYXQgYWxsb3dzIHVzZXJzIHRvIHBsYWNlIGRvY3VtZW50cyBhbmQgaWRlYXMgaW4gYSBwZXJzaXN0ZW50IHZpcnR1YWwgc3BhY2UsIGxldmVyYWdpbmcgc3BhdGlhbCBtZW1vcnkgZm9yIHJldHJpZXZhbC4nLAogICAgICAgIGltcGFjdDogJ0ludmVzdGlnYXRlZCBuZXcgaW50ZXJhY3Rpb24gcHJpbWl0aXZlcyBmb3IgaGlnaC1kaW1lbnNpb25hbCBpbmZvcm1hdGlvbi4nLAogICAgICAgIGlzUHJvdGVjdGVkOiBmYWxzZSwKICAgICAgICBtb2RlczogWydkaXZlcmdlbnQnXQogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2RyZWFtLWxvZ2ljJywKICAgICAgICB0aXRsZTogJ0RyZWFtIExvZ2ljJywKICAgICAgICBzeXN0ZW1zOiBbJ0dlbmVyYXRpdmUgU3lzdGVtcyddLAogICAgICAgIGRvbWFpbjogJ1NwZWN1bGF0aXZlIERlc2lnbicsCiAgICAgICAgc3VtbWFyeTogJ0FuIGV4cGVyaW1lbnRhbCBpbnRlcmZhY2UgdGhhdCBtYXBzIGJyb3dzaW5nIGhpc3RvcnkgdG8gZHJlYW0gYXJjaGV0eXBlcywgY3JlYXRpbmcgYSBzdXJyZWFsLCBub24tbGluZWFyIG5hcnJhdGl2ZSBvZiBkYWlseSBkaWdpdGFsIGNvbnN1bXB0aW9uLicsCiAgICAgICAgaW1wYWN0OiAnUXVlc3Rpb25lZCB0aGUgdXRpbGl0eS1mb2N1c2VkIG5hdHVyZSBvZiBtb2Rlcm4gYnJvd3NlciBoaXN0b3J5IHRvb2xzLicsCiAgICAgICAgaXNQcm90ZWN0ZWQ6IGZhbHNlLAogICAgICAgIG1vZGVzOiBbJ2RpdmVyZ2VudCddCiAgICB9Cl07CmV4cG9ydCBjb25zdCBDQVBBQklMSVRJRVMgPSBbCiAgICB7CiAgICAgICAgdGl0bGU6ICdBSS1OYXRpdmUgRXhwZXJpZW5jZSBEZXNpZ24nLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICdDb3BpbG90cyBhbmQgaW50ZW50LWRyaXZlbiBVWCcsCiAgICAgICAgICAgICdIdW1hbi1BSSBjb2xsYWJvcmF0aW9uIGFuZCB0cnVzdCcsCiAgICAgICAgICAgICdFeHBsYWluYWJpbGl0eSwgdHJhbnNwYXJlbmN5LCBhbmQgY29udHJvbCcsCiAgICAgICAgICAgICdHZW5lcmF0aXZlIFVJIHBhdHRlcm5zIChjYXJkcywgdGltZWxpbmVzLCBzdW1tYXJpZXMpJwogICAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICAgdGl0bGU6ICdBZ2VudGljICYgQUkgU3lzdGVtcyBUaGlua2luZycsCiAgICAgICAgaXRlbXM6IFsKICAgICAgICAgICAgJ011bHRpLWFnZW50IG9yY2hlc3RyYXRpb24gYW5kIHJvbGUgZGVzaWduJywKICAgICAgICAgICAgJ1Byb21wdCBhcmNoaXRlY3R1cmVzIGFuZCBzeXN0ZW0gY29udHJhY3RzJywKICAgICAgICAgICAgJ0V2YWx1YXRpb24sIGNvbmZpZGVuY2Ugc2NvcmluZywgYW5kIGd1YXJkcmFpbHMnLAogICAgICAgICAgICAnTW9kdWxhciByZWFzb25pbmcgYW5kIGVzY2FsYXRpb24gcGF0dGVybnMnCiAgICAgICAgXQogICAgfSwKICAgIHsKICAgICAgICB0aXRsZTogJ1plcm8tdG8tT25lIFByb3RvdHlwaW5nJywKICAgICAgICBpdGVtczogWwogICAgICAgICAgICAnUmFwaWQgY29uY2VwdC10by1kZW1vIGN5Y2xlcycsCiAgICAgICAgICAgICdIaWdoLXNpZ25hbCBwcm90b3R5cGVzIGZvciBhbGlnbm1lbnQgYW5kIGRlY2lzaW9uLW1ha2luZycsCiAgICAgICAgICAgICdTeXN0ZW0gc2tldGNoZXMsIGZsb3dzLCBhbmQgZXhlY3V0YWJsZSBuYXJyYXRpdmVzJywKICAgICAgICAgICAgJ0JyaWRnaW5nIGFtYmlndWl0eSB0byBidWlsZGFibGUgZGlyZWN0aW9uJwogICAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICAgdGl0bGU6ICdPcGVyYXRpb25hbCAmIFdvcmtmbG93IEF1dG9tYXRpb24nLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICdJbnRha2UsIHRyaWFnZSwgcm91dGluZycsCiAgICAgICAgICAgICdSZXZlbnVlIGFuZCBvcGVyYXRpb25hbCBmbG93cycsCiAgICAgICAgICAgICdIdW1hbi1pbi10aGUtbG9vcCBzeXN0ZW1zJwogICAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICAgdGl0bGU6ICdTeXN0ZW0gQXJjaGl0ZWN0dXJlJywKICAgICAgICBpdGVtczogWwogICAgICAgICAgICAnRGVzaWduaW5nIGxheWVyZWQsIG1vZHVsYXIgc3lzdGVtcycsCiAgICAgICAgICAgICdNYXBwaW5nIGRlcGVuZGVuY2llcyBhbmQgaW50ZXJmYWNlcycsCiAgICAgICAgICAgICdEZWZpbmluZyBzY2hlbWFzIGFuZCBjb250cmFjdHMnCiAgICAgICAgXQogICAgfQpdOwpleHBvcnQgY29uc3QgSEVBTFRIQ0FSRV9MQVlFUlMgPSBbCiAgICB7CiAgICAgICAgdGl0bGU6ICJFeHBlcmllbmNlICYgSW50ZW50IExheWVyIiwKICAgICAgICBzdWJ0aXRsZTogIldoZXJlIGh1bWFuIGp1ZGdtZW50IG1lZXRzIG1hY2hpbmUgaW50ZWxsaWdlbmNlIiwKICAgICAgICBkZXNjcmlwdGlvbjogIlRoaXMgbGF5ZXIgZGVmaW5lcyBob3cgaW50ZWxsaWdlbmNlIHNob3dzIHVwIGZvciBwZW9wbGUuIFdoYXTigJlzIHN1cmZhY2VkLCB3aGVuLCBhbmQgd2h5LiIsCiAgICAgICAgaXRlbXM6IFsKICAgICAgICAgICAgIkNvcGlsb3RzIGFuZCBpbnRlbnQtZHJpdmVuIGludGVyYWN0aW9uIG1vZGVscyIsCiAgICAgICAgICAgICJFeHBsYWluYWJpbGl0eSwgdHJhbnNwYXJlbmN5LCBhbmQgdHJ1c3Qgc2lnbmFscyIsCiAgICAgICAgICAgICJHZW5lcmF0aXZlIFVJIHBhdHRlcm5zIChjYXJkcywgdGltZWxpbmVzLCBzdW1tYXJpZXMpIiwKICAgICAgICAgICAgIldvcmtmbG93LWF3YXJlIHN1cmZhY2VzIHRoYXQgcmVkdWNlIGNvZ25pdGl2ZSBsb2FkIgogICAgICAgIF0sCiAgICAgICAgb3V0Y29tZTogIkV4cGVyaWVuY2VzIHRoYXQgZmVlbCBhc3Npc3RpdmUgcmF0aGVyIHRoYW4gaW50cnVzaXZlLCBhbmQgc3lzdGVtcyBjbGluaWNpYW5zIGFuZCBvcGVyYXRvcnMgYWN0dWFsbHkgdHJ1c3QuIgogICAgfSwKICAgIHsKICAgICAgICB0aXRsZTogIkFnZW50aWMgJiBBSSBSZWFzb25pbmcgTGF5ZXIiLAogICAgICAgIHN1YnRpdGxlOiAiV2hlcmUg4oCcc3lzdGVtcyB0aGlua2luZ+KAnSBiZWNvbWVzIG9wZXJhdGlvbmFsIiwKICAgICAgICBkZXNjcmlwdGlvbjogIlRoaXMgbGF5ZXIgZ292ZXJucyBob3cgaW50ZWxsaWdlbmNlIGJlaGF2ZXM6IHNjb3BlLCBjb25maWRlbmNlLCBhbmQgYm91bmRhcmllcy4iLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICJNb2R1bGFyIGFnZW50IHJvbGVzIHdpdGggY2xlYXIgcmVzcG9uc2liaWxpdGllcyIsCiAgICAgICAgICAgICJQcm9tcHQgYXJjaGl0ZWN0dXJlcyBhbmQgc3lzdGVtIGNvbnRyYWN0cyIsCiAgICAgICAgICAgICJDb25maWRlbmNlIHNjb3JpbmcsIGV2YWx1YXRpb24sIGFuZCBlc2NhbGF0aW9uIHBhdGhzIiwKICAgICAgICAgICAgIlByZWRpY3RhYmxlLCBhdWRpdGFibGUgcmVhc29uaW5nIG92ZXIgb3BhcXVlIGF1dG9tYXRpb24iCiAgICAgICAgXSwKICAgICAgICBvdXRjb21lOiAiUmVsaWFibGUgQUkgYmVoYXZpb3IgdGhhdCBjYW4gYmUgcmVhc29uZWQgYWJvdXQsIHRlc3RlZCwgYW5kIHNhZmVseSBldm9sdmVkIG92ZXIgdGltZS4iCiAgICB9LAogICAgewogICAgICAgIHRpdGxlOiAiQ29udGV4dCAmIE1lYW5pbmcgTGF5ZXIiLAogICAgICAgIHN1YnRpdGxlOiAiR3JvdW5kaW5nIGludGVsbGlnZW5jZSBpbiByZWFsaXR5IiwKICAgICAgICBkZXNjcmlwdGlvbjogIkludGVsbGlnZW5jZSB3aXRob3V0IGNvbnRleHQgaXMgYnJpdHRsZS4gVGhpcyBsYXllciBlbnN1cmVzIHJlYXNvbmluZyBpcyBhbmNob3JlZCBpbiBsb25naXR1ZGluYWwsIGVuY291bnRlci1zcGVjaWZpYyB0cnV0aC4iLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICJQYXRpZW50MzYwIGFuZCBWaXNpdDM2MCBjb250ZXh0IG1vZGVscyIsCiAgICAgICAgICAgICJTcGVjaWFsdHktc3BlY2lmaWMgaW50ZWxsaWdlbmNlIGxheWVycyAoZS5nLiwgb25jb2xvZ3ksIGNhcmRpb2xvZ3ksIEVEKSIsCiAgICAgICAgICAgICJTaGFyZWQgbWVudGFsIG1vZGVscyBhY3Jvc3MgY2xpbmljYWwsIG9wZXJhdGlvbmFsLCBhbmQgdGVjaG5pY2FsIHRlYW1zIgogICAgICAgIF0sCiAgICAgICAgb3V0Y29tZTogIkJldHRlciBwcmUtdmlzaXQgcHJlcGFyYXRpb24sIGhpZ2hlciBkb3duc3RyZWFtIEFJIGFjY3VyYWN5LCBhbmQgZmV3ZXIgc3VycHJpc2VzIGluIHByb2R1Y3Rpb24uIgogICAgfSwKICAgIHsKICAgICAgICB0aXRsZTogIkV4ZWN1dGlvbiAmIEZpbmFuY2lhbCBUcnV0aCBMYXllciIsCiAgICAgICAgc3VidGl0bGU6ICJDb25uZWN0aW5nIGNsaW5pY2FsIHJlYWxpdHkgdG8gb3BlcmF0aW9uYWwgb3V0Y29tZXMiLAogICAgICAgIGRlc2NyaXB0aW9uOiAiVGhpcyBsYXllciB0cmFuc2xhdGVzIHdoYXQgaGFwcGVuZWQgaW50byB3aGF0IG1hdHRlcnMgYWNjdXJhdGVseSBhbmQgZGVmZW5zaWJseS4iLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICJBdXRvbm9tb3VzIGNvZGluZyBlbmdpbmVzIChJQ0QsIENQVCwgbW9kaWZpZXJzKSIsCiAgICAgICAgICAgICJEZW5pYWxzIGFuZCB1bmRlcnBheW1lbnQgc3VwcG9ydCB3b3JrZmxvd3MiLAogICAgICAgICAgICAiTUVBVC9IQ0MgYXVkaXQgYWdlbnRzIGFuZCBldmlkZW5jZSBnZW5lcmF0aW9uIiwKICAgICAgICAgICAgIlRyYWNlYWJsZSBkZWNpc2lvbiBhcnRpZmFjdHMgKGUuZy4sIDI3NSBwYWNrZXRzKSIKICAgICAgICBdLAogICAgICAgIG91dGNvbWU6ICJJbmNyZWFzZWQgYWNjdXJhY3ksIHJlZHVjZWQgZGVuaWFscywgcmVjb3ZlcmVkIHJldmVudWUsIGFuZCBsZXNzIG1hbnVhbCByZXdvcmsuIgogICAgfSwKICAgIHsKICAgICAgICB0aXRsZTogIkNvbGxhYm9yYXRpb24gJiBDb29yZGluYXRpb24gTGF5ZXIiLAogICAgICAgIHN1YnRpdGxlOiAiV2hlcmUgcm9sZXMsIHN5c3RlbXMsIGFuZCBpbnRlbGxpZ2VuY2Ugd29yayB0b2dldGhlciIsCiAgICAgICAgZGVzY3JpcHRpb246ICJIZWFsdGhjYXJlIG9mdGVuIGZhaWxzIGF0IHRoZSBzZWFtcyBiZXR3ZWVuIHBlb3BsZSwgcm9sZXMsIGFuZCBzeXN0ZW1zLiBUaGlzIGxheWVyIGZvY3VzZXMgb24gZGVzaWduaW5nIHRob3NlIHNlYW1zIGludGVudGlvbmFsbHkuIEhlcmUsIEkgbG9vayBhdCBob3cgdmFyaW91cyBzdGFmZiBhbmQgQUkgc3lzdGVtcyBpbnRlcmFjdCBvdmVyIHRpbWUgdG8gY3JlYXRlIGZsdWlkIGhhbmRvZmZzLCBzaGFyZWQgY29udGV4dCwgYW5kIHZhbHVlIGV4Y2hhbmdlIGFjcm9zcyB0aG9zZSB0b3VjaHBvaW50cy4iLAogICAgICAgIGl0ZW1zOiBbCiAgICAgICAgICAgICJSb2xlLWF3YXJlIGV4cGVyaWVuY2VzIGFuZCByZXNwb25zaWJpbGl0aWVzIiwKICAgICAgICAgICAgIkNvbGxhYm9yYXRpb24gcGF0dGVybnMgYWNyb3NzIGNsaW5pY2FsLCBvcGVyYXRpb25hbCwgYW5kIHJldmVudWUgdGVhbXMiLAogICAgICAgICAgICAiU2hhcmVkIGNvbnRleHQgbW9kZWxzIHRoYXQgcmVkdWNlIHJld29yayBhbmQgbWlzYWxpZ25tZW50IiwKICAgICAgICAgICAgIkh1bWFu4oCTQUkgY29vcmRpbmF0aW9uIHRoYXQgc3VwcG9ydHPigJRub3QgZGlzcnVwdHPigJR0ZWFtIHdvcmtmbG93cyIsCiAgICAgICAgICAgICJDbGVhciBvd25lcnNoaXAsIGVzY2FsYXRpb24gcGF0aHMsIGFuZCBmZWVkYmFjayBsb29wcyIKICAgICAgICBdLAogICAgICAgIG91dGNvbWU6ICJGZXdlciBicmVha2Rvd25zIGF0IGhhbmRvZmZzLCBiZXR0ZXIgYWxpZ25tZW50IGFjcm9zcyB0ZWFtcywgYW5kIHN5c3RlbXMgdGhhdCBmZWVsIGNvaGVzaXZlIHJhdGhlciB0aGFuIGZyYWdtZW50ZWQuIgogICAgfQpdOwpleHBvcnQgY29uc3QgVE9PTFNfU1RBQ0sgPSBbCiAgICB7CiAgICAgICAgY2F0ZWdvcnk6ICJEZXNpZ24iLAogICAgICAgIHRvb2xzOiBbIkZpZ21hIiwgIkZpZ0phbSIsICJGaWdtYSBNYWtlIiwgIkdhbW1hIl0KICAgIH0sCiAgICB7CiAgICAgICAgY2F0ZWdvcnk6ICJBSSBPcmNoZXN0cmF0aW9uIiwKICAgICAgICB0b29sczogWyJWZWxsdW0iLCAibjhuIiwgIkNsYXVkZSJdCiAgICB9LAogICAgewogICAgICAgIGNhdGVnb3J5OiAiVmliZSBDb2RpbmciLAogICAgICAgIHRvb2xzOiBbIkNsYXVkZSBDb2RlIiwgIkN1cnNvciIsICJCb2x0IiwgIlJlcGxpdCIsICJHb29nbGUgQUkgU3R1ZGlvIiwgIkFudGlncmF2aXR5Il0KICAgIH0KXTsK","@/components/Layout":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IE5hdkxpbmssIExpbmssIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7CmltcG9ydCBNb2RlVG9nZ2xlIGZyb20gJ0AvY29tcG9uZW50cy9Nb2RlVG9nZ2xlJzsKaW1wb3J0IHsgdXNlTW9kZSB9IGZyb20gJ0AvY29udGV4dC9Nb2RlQ29udGV4dCc7CmltcG9ydCBEaXZlcmdlbnRPdmVybGF5IGZyb20gJ0AvY29tcG9uZW50cy9EaXZlcmdlbnRPdmVybGF5JzsKY29uc3QgTmF2SXRlbSA9ICh7IHRvLCBjaGlsZHJlbiwgb25DbGljayB9KSA9PiAoX2pzeChOYXZMaW5rLCB7IHRvOiB0bywgb25DbGljazogb25DbGljaywgY2xhc3NOYW1lOiAoeyBpc0FjdGl2ZSB9KSA9PiBgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFja2luZy13aWRlIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMCBibG9jayBweS0yIG1kOnB5LTAgJHtpc0FjdGl2ZQogICAgICAgID8gJ3RleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMTAwJwogICAgICAgIDogJ3RleHQtbmV1dHJhbC01MDAgaG92ZXI6dGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC00MDAgZGFyazpob3Zlcjp0ZXh0LW5ldXRyYWwtMTAwJ31gLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpOwpjb25zdCBMYXlvdXQgPSAoeyBjaGlsZHJlbiwgaXNEYXJrLCB0b2dnbGVUaGVtZSB9KSA9PiB7CiAgICBjb25zdCB7IG1vZGUsIGlzQnJhaW5zdG9ybU9wZW4sIHNldEJyYWluc3Rvcm1PcGVuIH0gPSB1c2VNb2RlKCk7CiAgICBjb25zdCBpc0RpdmVyZ2VudCA9IG1vZGUgPT09ICdkaXZlcmdlbnQnOwogICAgY29uc3QgW2lzTWVudU9wZW4sIHNldElzTWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpOwogICAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpOwogICAgLy8gQ2xvc2UgbW9iaWxlIG1lbnUgd2hlbiByb3V0ZSBjaGFuZ2VzCiAgICB1c2VFZmZlY3QoKCkgPT4gewogICAgICAgIHNldElzTWVudU9wZW4oZmFsc2UpOwogICAgfSwgW2xvY2F0aW9uXSk7CiAgICAvLyBMb2NrIGJvZHkgc2Nyb2xsIE9OTFkgd2hlbiBicmFpbnN0b3JtaW5nIG92ZXJsYXkgaXMgb3BlbgogICAgdXNlRWZmZWN0KCgpID0+IHsKICAgICAgICBpZiAoaXNCcmFpbnN0b3JtT3BlbikgewogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKCkgPT4gewogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nOwogICAgICAgIH07CiAgICB9LCBbaXNCcmFpbnN0b3JtT3Blbl0pOwogICAgcmV0dXJuIChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6IGBtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBmb250LXNhbnMgc2VsZWN0aW9uOmJnLW5ldXRyYWwtMjAwIGRhcms6c2VsZWN0aW9uOmJnLW5ldXRyYWwtODAwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTEwMDAgb3ZlcmZsb3cteC1oaWRkZW4gJHtpc0RpdmVyZ2VudCA/ICdiZy1uZXV0cmFsLTUwLzUwIGRhcms6YmctbmV1dHJhbC05NTAvNTAnIDogJ2JnLW5ldXRyYWwtNTAgZGFyazpiZy1uZXV0cmFsLTk1MCd9YCwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6IGBmaXhlZCBpbnNldC0wIC16LTEwIHBvaW50ZXItZXZlbnRzLW5vbmUgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTEwMDAgb3ZlcmZsb3ctaGlkZGVuICR7aXNEaXZlcmdlbnQgPyAnb3BhY2l0eS0xMDAnIDogJ29wYWNpdHktMCd9YCwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1pbmRpZ28tNTAgdmlhLXB1cnBsZS01MCB0by1waW5rLTUwIGRhcms6ZnJvbS1pbmRpZ28tOTUwLzQwIGRhcms6dmlhLXB1cnBsZS05NTAvNDAgZGFyazp0by1waW5rLTk1MC80MCBhbmltYXRlLXB1bHNlIiwgc3R5bGU6IHsgYW5pbWF0aW9uRHVyYXRpb246ICc0cycgfSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIHctWzUwMHB4XSBoLVs1MDBweF0gYmctcHVycGxlLTMwMC8yMCBkYXJrOmJnLXB1cnBsZS02MDAvMTAgYmx1ci1bMTAwcHhdIHJvdW5kZWQtZnVsbCBtaXgtYmxlbmQtbXVsdGlwbHkgZGFyazptaXgtYmxlbmQtc2NyZWVuIGFuaW1hdGUtYmxvYiIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctWzUwMHB4XSBoLVs1MDBweF0gYmctYmx1ZS0zMDAvMjAgZGFyazpiZy1ibHVlLTYwMC8xMCBibHVyLVsxMDBweF0gcm91bmRlZC1mdWxsIG1peC1ibGVuZC1tdWx0aXBseSBkYXJrOm1peC1ibGVuZC1zY3JlZW4gYW5pbWF0ZS1ibG9iIGFuaW1hdGlvbi1kZWxheS0yMDAwIiB9KV0gfSksICFpc0RpdmVyZ2VudCAmJiAoX2pzeHMoIm5hdiIsIHsgY2xhc3NOYW1lOiBgZml4ZWQgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgei01MCBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlci1iIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTcwMCBiZy1uZXV0cmFsLTUwLzgwIGRhcms6YmctbmV1dHJhbC05NTAvODAgYm9yZGVyLW5ldXRyYWwtMjAwIGRhcms6Ym9yZGVyLW5ldXRyYWwtODAwYCwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYXgtdy02eGwgbXgtYXV0byBweC02IGgtMTYgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIiwgY2hpbGRyZW46IFtfanN4KExpbmssIHsgdG86ICIvIiwgY2xhc3NOYW1lOiAidGV4dC1sZyBmb250LXNlcmlmIGZvbnQtbWVkaXVtIHRyYWNraW5nLXRpZ2h0IGhvdmVyOm9wYWNpdHktNzAgdHJhbnNpdGlvbi1vcGFjaXR5IHotNTAgcmVsYXRpdmUiLCBjaGlsZHJlbjogIk5hdGhhbmFlbCBXb2xmZSIgfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTgiLCBjaGlsZHJlbjogW19qc3goTmF2SXRlbSwgeyB0bzogIi93b3JrIiwgY2hpbGRyZW46ICJXb3JrIiB9KSwgX2pzeChOYXZJdGVtLCB7IHRvOiAiL2hlYWx0aGNhcmUiLCBjaGlsZHJlbjogIkhlYWx0aGNhcmUiIH0pLCBfanN4KE5hdkl0ZW0sIHsgdG86ICIvc3lzdGVtcyIsIGNoaWxkcmVuOiAiU3lzdGVtcyIgfSksIF9qc3goTmF2SXRlbSwgeyB0bzogIi9hYm91dCIsIGNoaWxkcmVuOiAiQWJvdXQiIH0pLCBfanN4KE5hdkl0ZW0sIHsgdG86ICIvY29udGFjdCIsIGNoaWxkcmVuOiAiQ29udGFjdCIgfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCIsIGNoaWxkcmVuOiBbX2pzeCgiYnV0dG9uIiwgeyBvbkNsaWNrOiB0b2dnbGVUaGVtZSwgY2xhc3NOYW1lOiAicC0yIHJvdW5kZWQtZnVsbCBob3ZlcjpiZy1uZXV0cmFsLTIwMCBkYXJrOmhvdmVyOmJnLW5ldXRyYWwtODAwIHRyYW5zaXRpb24tY29sb3JzIiwgImFyaWEtbGFiZWwiOiAiVG9nZ2xlIFRoZW1lIiwgY2hpbGRyZW46IGlzRGFyayA/IChfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctNSBoLTUgdGV4dC1uZXV0cmFsLTEwMCIsIGZpbGw6ICJub25lIiwgc3Ryb2tlOiAiY3VycmVudENvbG9yIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBzdHJva2VMaW5lY2FwOiAicm91bmQiLCBzdHJva2VMaW5lam9pbjogInJvdW5kIiwgc3Ryb2tlV2lkdGg6IDIsIGQ6ICJNMTIgM3YxbTAgMTZ2MW05LTloLTFNNCAxMkgzbTE1LjM2NCA2LjM2NGwtLjcwNy0uNzA3TTYuMzQzIDYuMzQzbC0uNzA3LS43MDdtMTIuNzI4IDBsLS43MDcuNzA3TTYuMzQzIDE3LjY1N2wtLjcwNy43MDdNMTYgMTJhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAweiIgfSkgfSkpIDogKF9qc3goInN2ZyIsIHsgY2xhc3NOYW1lOiAidy01IGgtNSB0ZXh0LW5ldXRyYWwtOTAwIiwgZmlsbDogIm5vbmUiLCBzdHJva2U6ICJjdXJyZW50Q29sb3IiLCB2aWV3Qm94OiAiMCAwIDI0IDI0IiwgY2hpbGRyZW46IF9qc3goInBhdGgiLCB7IHN0cm9rZUxpbmVjYXA6ICJyb3VuZCIsIHN0cm9rZUxpbmVqb2luOiAicm91bmQiLCBzdHJva2VXaWR0aDogMiwgZDogIk0yMC4zNTQgMTUuMzU0QTkgOSAwIDAxOC42NDYgMy42NDYgOS4wMDMgOS4wMDMgMCAwMDEyIDIxYTkuMDAzIDkuMDAzIDAgMDA4LjM1NC01LjY0NnoiIH0pIH0pKSB9KSwgX2pzeCgiYnV0dG9uIiwgeyBjbGFzc05hbWU6ICJtZDpoaWRkZW4gcC0yIHRleHQtbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwIHotNTAgcmVsYXRpdmUiLCBvbkNsaWNrOiAoKSA9PiBzZXRJc01lbnVPcGVuKCFpc01lbnVPcGVuKSwgImFyaWEtbGFiZWwiOiAiVG9nZ2xlIE1lbnUiLCBjaGlsZHJlbjogaXNNZW51T3BlbiA/IChfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctNiBoLTYiLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogImN1cnJlbnRDb2xvciIsIHZpZXdCb3g6ICIwIDAgMjQgMjQiLCBjaGlsZHJlbjogX2pzeCgicGF0aCIsIHsgc3Ryb2tlTGluZWNhcDogInJvdW5kIiwgc3Ryb2tlTGluZWpvaW46ICJyb3VuZCIsIHN0cm9rZVdpZHRoOiAyLCBkOiAiTTYgMThMMTggNk02IDZsMTIgMTIiIH0pIH0pKSA6IChfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctNiBoLTYiLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogImN1cnJlbnRDb2xvciIsIHZpZXdCb3g6ICIwIDAgMjQgMjQiLCBjaGlsZHJlbjogX2pzeCgicGF0aCIsIHsgc3Ryb2tlTGluZWNhcDogInJvdW5kIiwgc3Ryb2tlTGluZWpvaW46ICJyb3VuZCIsIHN0cm9rZVdpZHRoOiAyLCBkOiAiTTQgNmgxNk00IDEyaDE2TTQgMThoMTYiIH0pIH0pKSB9KV0gfSldIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYG1kOmhpZGRlbiBhYnNvbHV0ZSB0b3AtMTYgbGVmdC0wIHJpZ2h0LTAgYmctbmV1dHJhbC01MCBkYXJrOmJnLW5ldXRyYWwtOTUwIGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1pbi1vdXQgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy14bCAke2lzTWVudU9wZW4gPyAnbWF4LWgtOTYgb3BhY2l0eS0xMDAnIDogJ21heC1oLTAgb3BhY2l0eS0wJ31gLCBjaGlsZHJlbjogX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicHgtNiBweS02IGZsZXggZmxleC1jb2wgc3BhY2UteS00IiwgY2hpbGRyZW46IFtfanN4KE5hdkl0ZW0sIHsgdG86ICIvd29yayIsIG9uQ2xpY2s6ICgpID0+IHNldElzTWVudU9wZW4oZmFsc2UpLCBjaGlsZHJlbjogIldvcmsiIH0pLCBfanN4KE5hdkl0ZW0sIHsgdG86ICIvaGVhbHRoY2FyZSIsIG9uQ2xpY2s6ICgpID0+IHNldElzTWVudU9wZW4oZmFsc2UpLCBjaGlsZHJlbjogIkhlYWx0aGNhcmUiIH0pLCBfanN4KE5hdkl0ZW0sIHsgdG86ICIvc3lzdGVtcyIsIG9uQ2xpY2s6ICgpID0+IHNldElzTWVudU9wZW4oZmFsc2UpLCBjaGlsZHJlbjogIlN5c3RlbXMiIH0pLCBfanN4KE5hdkl0ZW0sIHsgdG86ICIvYWJvdXQiLCBvbkNsaWNrOiAoKSA9PiBzZXRJc01lbnVPcGVuKGZhbHNlKSwgY2hpbGRyZW46ICJBYm91dCIgfSksIF9qc3goTmF2SXRlbSwgeyB0bzogIi9jb250YWN0Iiwgb25DbGljazogKCkgPT4gc2V0SXNNZW51T3BlbihmYWxzZSksIGNoaWxkcmVuOiAiQ29udGFjdCIgfSldIH0pIH0pXSB9KSksIF9qc3goRGl2ZXJnZW50T3ZlcmxheSwge30pLCBfanN4KCJtYWluIiwgeyBjbGFzc05hbWU6ICJmbGV4LWdyb3cgcHQtMTYgcmVsYXRpdmUgei0wIiwgY2hpbGRyZW46IGNoaWxkcmVuIH0pLCBfanN4KE1vZGVUb2dnbGUsIHt9KSwgX2pzeCgiZm9vdGVyIiwgeyBjbGFzc05hbWU6ICJib3JkZXItdCBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgcHktMTIgbXQtMjAgcmVsYXRpdmUgei0xMCIsIGNoaWxkcmVuOiBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYXgtdy02eGwgbXgtYXV0byBweC02IGZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB0ZXh0LXNtIHRleHQtbmV1dHJhbC01MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwIiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjaGlsZHJlbjogIlx1MDBBOSAyMDI1IE5hdGhhbmFlbCBXb2xmZSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogIm10LTQgbWQ6bXQtMCBmb250LXNlcmlmIGl0YWxpYyIsIGNoaWxkcmVuOiAiUHJvZHVjdCBkZXNpZ24gd2l0aCBhbiBSJkQgbWluZHNldCIgfSldIH0pIH0pXSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IExheW91dDsK","@/components/Card":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmNvbnN0IENhcmQgPSAoeyBjaGlsZHJlbiwgY2xhc3NOYW1lID0gJycsIG9uQ2xpY2sgfSkgPT4gewogICAgcmV0dXJuIChfanN4KCJkaXYiLCB7IG9uQ2xpY2s6IG9uQ2xpY2ssIGNsYXNzTmFtZTogYAogICAgICAgIGJnLXdoaXRlIGRhcms6YmctbmV1dHJhbC05MDAgCiAgICAgICAgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCAKICAgICAgICByb3VuZGVkLWxnIHAtNiAKICAgICAgICBzaGFkb3ctWzBfMnB4XzhweF9yZ2JhKDAsMCwwLDAuMDQpXSBkYXJrOnNoYWRvdy1ub25lCiAgICAgICAgaG92ZXI6c2hhZG93LVswXzRweF8xMnB4X3JnYmEoMCwwLDAsMC4wNildIGRhcms6aG92ZXI6Ym9yZGVyLW5ldXRyYWwtNzAwCiAgICAgICAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2Utb3V0CiAgICAgICAgJHtvbkNsaWNrID8gJ2N1cnNvci1wb2ludGVyIGhvdmVyOi10cmFuc2xhdGUteS0wLjUnIDogJyd9CiAgICAgICAgJHtjbGFzc05hbWV9CiAgICAgIGAsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IENhcmQ7Cg==","@/components/SystemsMap":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JzsKaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnOwppbXBvcnQgeyBTWVNURU1fTk9ERVMgfSBmcm9tICdAL2NvbnN0YW50cyc7CmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7CmltcG9ydCB7IHVzZU1vZGUgfSBmcm9tICdAL2NvbnRleHQvTW9kZUNvbnRleHQnOwpjb25zdCBTeXN0ZW1zTWFwID0gKCkgPT4gewogICAgY29uc3Qgc3ZnUmVmID0gdXNlUmVmKG51bGwpOwogICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpOwogICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpOwogICAgY29uc3QgW2RpbWVuc2lvbnMsIHNldERpbWVuc2lvbnNdID0gdXNlU3RhdGUoeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH0pOwogICAgY29uc3QgeyBtb2RlIH0gPSB1c2VNb2RlKCk7CiAgICAvLyBIYW5kbGUgUmVzaXplCiAgICB1c2VFZmZlY3QoKCkgPT4gewogICAgICAgIGNvbnN0IHVwZGF0ZVNpemUgPSAoKSA9PiB7CiAgICAgICAgICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkgewogICAgICAgICAgICAgICAgc2V0RGltZW5zaW9ucyh7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNvbnRhaW5lclJlZi5jdXJyZW50Lm9mZnNldFdpZHRoLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogY29udGFpbmVyUmVmLmN1cnJlbnQub2Zmc2V0SGVpZ2h0IHx8IDYwMAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGVTaXplKTsKICAgICAgICB1cGRhdGVTaXplKCk7CiAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGVTaXplKTsKICAgIH0sIFtdKTsKICAgIHVzZUVmZmVjdCgoKSA9PiB7CiAgICAgICAgaWYgKCFzdmdSZWYuY3VycmVudCB8fCBkaW1lbnNpb25zLndpZHRoID09PSAwKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgY29uc3Qgc3ZnID0gZDMuc2VsZWN0KHN2Z1JlZi5jdXJyZW50KTsKICAgICAgICBzdmcuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7IC8vIENsZWFyIHByZXZpb3VzIHJlbmRlcgogICAgICAgIC8vIFByZXBhcmUgRGF0YSAtIEZpbHRlciBieSBNb2RlCiAgICAgICAgY29uc3QgZmlsdGVyZWROb2RlcyA9IFNZU1RFTV9OT0RFUy5maWx0ZXIobiA9PiBuLm1vZGVzLmluY2x1ZGVzKG1vZGUpKTsKICAgICAgICAvLyBNYXAgdG8gRDMgZm9ybWF0CiAgICAgICAgY29uc3Qgbm9kZXMgPSBmaWx0ZXJlZE5vZGVzLm1hcChuID0+ICh7IGlkOiBuLmlkLCBuYW1lOiBuLm5hbWUsIGdyb3VwOiAxIH0pKTsKICAgICAgICAvLyBHZW5lcmF0ZSBsaW5rcyBiYXNlZCBvbiByZWxhdGVkSWRzLCBidXQgb25seSBpZiBib3RoIHNvdXJjZSBhbmQgdGFyZ2V0IGV4aXN0IGluIGZpbHRlcmVkIHNldAogICAgICAgIGNvbnN0IGxpbmtzID0gW107CiAgICAgICAgZmlsdGVyZWROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gewogICAgICAgICAgICBub2RlLnJlbGF0ZWRJZHMuZm9yRWFjaChyZWxhdGVkSWQgPT4gewogICAgICAgICAgICAgICAgLy8gT25seSBhZGQgaWYgdGFyZ2V0IGV4aXN0cyBpbiBmaWx0ZXJlZCBsaXN0CiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWROb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gcmVsYXRlZElkKSkgewogICAgICAgICAgICAgICAgICAgIGxpbmtzLnB1c2goeyBzb3VyY2U6IG5vZGUuaWQsIHRhcmdldDogcmVsYXRlZElkIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICAvLyBTaW11bGF0aW9uCiAgICAgICAgY29uc3Qgc2ltdWxhdGlvbiA9IGQzLmZvcmNlU2ltdWxhdGlvbihub2RlcykKICAgICAgICAgICAgLmZvcmNlKCJsaW5rIiwgZDMuZm9yY2VMaW5rKGxpbmtzKS5pZCgoZCkgPT4gZC5pZCkuZGlzdGFuY2UoMTUwKSkKICAgICAgICAgICAgLmZvcmNlKCJjaGFyZ2UiLCBkMy5mb3JjZU1hbnlCb2R5KCkuc3RyZW5ndGgoLTQwMCkpCiAgICAgICAgICAgIC5mb3JjZSgiY2VudGVyIiwgZDMuZm9yY2VDZW50ZXIoZGltZW5zaW9ucy53aWR0aCAvIDIsIGRpbWVuc2lvbnMuaGVpZ2h0IC8gMikpCiAgICAgICAgICAgIC5mb3JjZSgiY29sbGlkZSIsIGQzLmZvcmNlQ29sbGlkZSgpLnJhZGl1cyg2MCkpOwogICAgICAgIC8vIERyYXcgTGluZXMKICAgICAgICBjb25zdCBsaW5rID0gc3ZnLmFwcGVuZCgiZyIpCiAgICAgICAgICAgIC5hdHRyKCJjbGFzcyIsICJsaW5rcyIpCiAgICAgICAgICAgIC5zZWxlY3RBbGwoImxpbmUiKQogICAgICAgICAgICAuZGF0YShsaW5rcykKICAgICAgICAgICAgLmVudGVyKCkuYXBwZW5kKCJsaW5lIikKICAgICAgICAgICAgLmF0dHIoInN0cm9rZSIsIG1vZGUgPT09ICdkaXZlcmdlbnQnID8gIiNjMDg0ZmMiIDogIiM5Y2EzYWYiKSAvLyBQdXJwbGUgaW4gZGl2ZXJnZW50LCBuZXV0cmFsIGluIGNvbnZlcmdlbnQKICAgICAgICAgICAgLmF0dHIoInN0cm9rZS1vcGFjaXR5IiwgbW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAwLjMgOiAwLjQpCiAgICAgICAgICAgIC5hdHRyKCJzdHJva2Utd2lkdGgiLCAxKTsKICAgICAgICAvLyBEcmF3IE5vZGVzIChHcm91cCBjb250YWluZXIgZm9yIENpcmNsZSArIFRleHQpCiAgICAgICAgY29uc3Qgbm9kZUdyb3VwID0gc3ZnLmFwcGVuZCgiZyIpCiAgICAgICAgICAgIC5hdHRyKCJjbGFzcyIsICJub2RlcyIpCiAgICAgICAgICAgIC5zZWxlY3RBbGwoImciKQogICAgICAgICAgICAuZGF0YShub2RlcykKICAgICAgICAgICAgLmVudGVyKCkuYXBwZW5kKCJnIikKICAgICAgICAgICAgLmF0dHIoImNsYXNzIiwgImN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDAgaG92ZXI6b3BhY2l0eS04MCIpCiAgICAgICAgICAgIC5jYWxsKGQzLmRyYWcoKQogICAgICAgICAgICAub24oInN0YXJ0IiwgZHJhZ3N0YXJ0ZWQpCiAgICAgICAgICAgIC5vbigiZHJhZyIsIGRyYWdnZWQpCiAgICAgICAgICAgIC5vbigiZW5kIiwgZHJhZ2VuZGVkKSkKICAgICAgICAgICAgLm9uKCJjbGljayIsIChldmVudCwgZCkgPT4gewogICAgICAgICAgICBuYXZpZ2F0ZShgL3N5c3RlbXM/aWQ9JHtkLmlkfWApOwogICAgICAgIH0pOwogICAgICAgIC8vIE5vZGUgQ2lyY2xlCiAgICAgICAgbm9kZUdyb3VwLmFwcGVuZCgiY2lyY2xlIikKICAgICAgICAgICAgLmF0dHIoInIiLCA4KQogICAgICAgICAgICAuYXR0cigiZmlsbCIsICJjdXJyZW50Q29sb3IiKQogICAgICAgICAgICAuYXR0cigiY2xhc3MiLCBtb2RlID09PSAnZGl2ZXJnZW50JyA/ICJ0ZXh0LXB1cnBsZS00MDAiIDogInRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMTAwIik7CiAgICAgICAgLy8gTm9kZSBMYWJlbAogICAgICAgIG5vZGVHcm91cC5hcHBlbmQoInRleHQiKQogICAgICAgICAgICAuYXR0cigiZHkiLCAyNCkKICAgICAgICAgICAgLmF0dHIoInRleHQtYW5jaG9yIiwgIm1pZGRsZSIpCiAgICAgICAgICAgIC50ZXh0KGQgPT4gZC5uYW1lKQogICAgICAgICAgICAuYXR0cigiY2xhc3MiLCAidGV4dC14cyBmb250LXNhbnMgZmlsbC1uZXV0cmFsLTYwMCBkYXJrOmZpbGwtbmV1dHJhbC00MDAgc2VsZWN0LW5vbmUiKTsKICAgICAgICAvLyBUaWNrIGZ1bmN0aW9uCiAgICAgICAgc2ltdWxhdGlvbi5vbigidGljayIsICgpID0+IHsKICAgICAgICAgICAgbGluawogICAgICAgICAgICAgICAgLmF0dHIoIngxIiwgKGQpID0+IGQuc291cmNlLngpCiAgICAgICAgICAgICAgICAuYXR0cigieTEiLCAoZCkgPT4gZC5zb3VyY2UueSkKICAgICAgICAgICAgICAgIC5hdHRyKCJ4MiIsIChkKSA9PiBkLnRhcmdldC54KQogICAgICAgICAgICAgICAgLmF0dHIoInkyIiwgKGQpID0+IGQudGFyZ2V0LnkpOwogICAgICAgICAgICBub2RlR3JvdXAKICAgICAgICAgICAgICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCAoZCkgPT4gYHRyYW5zbGF0ZSgke2QueH0sJHtkLnl9KWApOwogICAgICAgIH0pOwogICAgICAgIGZ1bmN0aW9uIGRyYWdzdGFydGVkKGV2ZW50LCBkKSB7CiAgICAgICAgICAgIGlmICghZXZlbnQuYWN0aXZlKQogICAgICAgICAgICAgICAgc2ltdWxhdGlvbi5hbHBoYVRhcmdldCgwLjMpLnJlc3RhcnQoKTsKICAgICAgICAgICAgZC5meCA9IGQueDsKICAgICAgICAgICAgZC5meSA9IGQueTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gZHJhZ2dlZChldmVudCwgZCkgewogICAgICAgICAgICBkLmZ4ID0gZXZlbnQueDsKICAgICAgICAgICAgZC5meSA9IGV2ZW50Lnk7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGRyYWdlbmRlZChldmVudCwgZCkgewogICAgICAgICAgICBpZiAoIWV2ZW50LmFjdGl2ZSkKICAgICAgICAgICAgICAgIHNpbXVsYXRpb24uYWxwaGFUYXJnZXQoMCk7CiAgICAgICAgICAgIGQuZnggPSBudWxsOwogICAgICAgICAgICBkLmZ5ID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICgpID0+IHsKICAgICAgICAgICAgc2ltdWxhdGlvbi5zdG9wKCk7CiAgICAgICAgfTsKICAgIH0sIFtkaW1lbnNpb25zLCBuYXZpZ2F0ZSwgbW9kZV0pOwogICAgcmV0dXJuIChfanN4cygiZGl2IiwgeyByZWY6IGNvbnRhaW5lclJlZiwgY2xhc3NOYW1lOiBgdy1mdWxsIGgtWzYwMHB4XSByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBib3JkZXIgcmVsYXRpdmUgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNzAwICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctd2hpdGUvMTAgZGFyazpiZy1ibGFjay8xMCBib3JkZXItcHVycGxlLTIwMCBkYXJrOmJvcmRlci1wdXJwbGUtOTAwLzMwJyA6ICdiZy1uZXV0cmFsLTEwMC81MCBkYXJrOmJnLW5ldXRyYWwtOTAwLzUwIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCd9YCwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImFic29sdXRlIHRvcC00IGxlZnQtNCB6LTEwIHBvaW50ZXItZXZlbnRzLW5vbmUiLCBjaGlsZHJlbjogX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiBgdGV4dC14cyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IGZvbnQtc2VtaWJvbGQgJHttb2RlID09PSAnZGl2ZXJnZW50JyA/ICd0ZXh0LXB1cnBsZS00MDAnIDogJ3RleHQtbmV1dHJhbC00MDAnfWAsIGNoaWxkcmVuOiBtb2RlID09PSAnZGl2ZXJnZW50JyA/ICdEaXZlcmdlbnQgU3lzdGVtcyBNYXAnIDogJ0ludGVyYWN0aXZlIFN5c3RlbXMgTWFwJyB9KSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSBib3R0b20tNCByaWdodC00IHotMTAgcG9pbnRlci1ldmVudHMtbm9uZSB0ZXh0LXJpZ2h0IiwgY2hpbGRyZW46IF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogInRleHQteHMgdGV4dC1uZXV0cmFsLTQwMCIsIGNoaWxkcmVuOiAiRHJhZyB0byByZW9yZ2FuaXplIFx1MjAyMiBDbGljayB0byBleHBsb3JlIiB9KSB9KSwgX2pzeCgic3ZnIiwgeyByZWY6IHN2Z1JlZiwgd2lkdGg6ICIxMDAlIiwgaGVpZ2h0OiAiMTAwJSIgfSldIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgU3lzdGVtc01hcDsK","@/components/PasswordModal":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICdAL2NvbnRleHQvQXV0aENvbnRleHQnOwpjb25zdCBQYXNzd29yZE1vZGFsID0gKHsgaXNPcGVuLCBvbkNsb3NlLCB0aXRsZSB9KSA9PiB7CiAgICBjb25zdCBbcGFzc3dvcmQsIHNldFBhc3N3b3JkXSA9IHVzZVN0YXRlKCcnKTsKICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpOwogICAgY29uc3QgeyB1bmxvY2sgfSA9IHVzZUF1dGgoKTsKICAgIC8vIFJlc2V0IHN0YXRlIHdoZW4gbW9kYWwgb3BlbnMKICAgIHVzZUVmZmVjdCgoKSA9PiB7CiAgICAgICAgaWYgKGlzT3BlbikgewogICAgICAgICAgICBzZXRQYXNzd29yZCgnJyk7CiAgICAgICAgICAgIHNldEVycm9yKGZhbHNlKTsKICAgICAgICB9CiAgICB9LCBbaXNPcGVuXSk7CiAgICBpZiAoIWlzT3BlbikKICAgICAgICByZXR1cm4gbnVsbDsKICAgIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB1bmxvY2socGFzc3dvcmQpOwogICAgICAgIGlmIChzdWNjZXNzKSB7CiAgICAgICAgICAgIG9uQ2xvc2UoKTsKICAgICAgICAgICAgLy8gT3B0aW9uYWw6IHRyaWdnZXIgbmF2aWdhdGlvbiBvciBzdWNjZXNzIHRvYXN0IGhlcmUgaWYgbmVlZGVkLCAKICAgICAgICAgICAgLy8gYnV0IHR5cGljYWxseSB0aGUgcGFyZW50IGNvbXBvbmVudCBoYW5kbGVzIHRoZSAidW5sb2NrZWQiIHN0YXRlIHZpZXcuCiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBzZXRFcnJvcih0cnVlKTsKICAgICAgICAgICAgLy8gU2hha2UgYW5pbWF0aW9uIG9yIGNsZWFyIGVycm9yIGFmdGVyIGRlbGF5CiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0RXJyb3IoZmFsc2UpLCAyMDAwKTsKICAgICAgICB9CiAgICB9OwogICAgcmV0dXJuIChfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImZpeGVkIGluc2V0LTAgei1bMTAwXSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1uZXV0cmFsLTkwMC82MCBiYWNrZHJvcC1ibHVyLXNtIHAtNCBhbmltYXRlLWluIGZhZGUtaW4gZHVyYXRpb24tMjAwIiwgY2hpbGRyZW46IF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIGRhcms6YmctbmV1dHJhbC05MDAgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTcwMCB3LWZ1bGwgbWF4LXctbWQgcC04IHJvdW5kZWQtbGcgc2hhZG93LTJ4bCByZWxhdGl2ZSIsIGNoaWxkcmVuOiBbX2pzeCgiYnV0dG9uIiwgeyBvbkNsaWNrOiBvbkNsb3NlLCBjbGFzc05hbWU6ICJhYnNvbHV0ZSB0b3AtNCByaWdodC00IHRleHQtbmV1dHJhbC00MDAgaG92ZXI6dGV4dC1uZXV0cmFsLTYwMCBkYXJrOmhvdmVyOnRleHQtbmV1dHJhbC0yMDAiLCBjaGlsZHJlbjogX2pzeCgic3ZnIiwgeyBjbGFzc05hbWU6ICJ3LTUgaC01IiwgZmlsbDogIm5vbmUiLCBzdHJva2U6ICJjdXJyZW50Q29sb3IiLCB2aWV3Qm94OiAiMCAwIDI0IDI0IiwgY2hpbGRyZW46IF9qc3goInBhdGgiLCB7IHN0cm9rZUxpbmVjYXA6ICJyb3VuZCIsIHN0cm9rZUxpbmVqb2luOiAicm91bmQiLCBzdHJva2VXaWR0aDogMiwgZDogIk02IDE4TDE4IDZNNiA2bDEyIDEyIiB9KSB9KSB9KSwgX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogInRleHQteGwgZm9udC1zZXJpZiBmb250LW1lZGl1bSBtYi0yIiwgY2hpbGRyZW46ICJSZXN0cmljdGVkIEFjY2VzcyIgfSksIF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIHRleHQtbmV1dHJhbC01MDAgbWItNiIsIGNoaWxkcmVuOiBbIlRoZSBjYXNlIHN0dWR5IFwiIiwgdGl0bGUsICJcIiBjb250YWlucyBzZW5zaXRpdmUgY2xpZW50IGRhdGEuIFBsZWFzZSBlbnRlciB5b3VyIGFjY2VzcyBrZXkgdG8gdmlldyB0aGlzIGFuZCBhbGwgb3RoZXIgcHJvdGVjdGVkIHdvcmsuIl0gfSksIF9qc3hzKCJmb3JtIiwgeyBvblN1Ym1pdDogaGFuZGxlU3VibWl0LCBjaGlsZHJlbjogW19qc3goImlucHV0IiwgeyB0eXBlOiAicGFzc3dvcmQiLCB2YWx1ZTogcGFzc3dvcmQsIG9uQ2hhbmdlOiAoZSkgPT4gc2V0UGFzc3dvcmQoZS50YXJnZXQudmFsdWUpLCBwbGFjZWhvbGRlcjogIkVudGVyIGFjY2VzcyBrZXkiLCBjbGFzc05hbWU6IGB3LWZ1bGwgYmctbmV1dHJhbC01MCBkYXJrOmJnLW5ldXRyYWwtODAwIGJvcmRlciByb3VuZGVkIHB4LTQgcHktMyBtYi00IGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1uZXV0cmFsLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyAke2Vycm9yID8gJ2JvcmRlci1yZWQtNTAwJyA6ICdib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC03MDAnfWAsIGF1dG9Gb2N1czogdHJ1ZSB9KSwgZXJyb3IgJiYgKF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtcmVkLTUwMCB0ZXh0LXhzIG1iLTQgZm9udC1tZWRpdW0gYW5pbWF0ZS1wdWxzZSIsIGNoaWxkcmVuOiAiSW52YWxpZCBhY2Nlc3Mga2V5LiBSZXF1ZXN0IGFjY2VzcyB2aWEgQ29udGFjdC4iIH0pKSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAiZmxleCBqdXN0aWZ5LWVuZCBzcGFjZS14LTMiLCBjaGlsZHJlbjogW19qc3goImJ1dHRvbiIsIHsgdHlwZTogImJ1dHRvbiIsIG9uQ2xpY2s6IG9uQ2xvc2UsIGNsYXNzTmFtZTogInB4LTQgcHktMiB0ZXh0LXNtIHRleHQtbmV1dHJhbC01MDAgaG92ZXI6dGV4dC1uZXV0cmFsLTkwMCBkYXJrOmhvdmVyOnRleHQtbmV1dHJhbC0xMDAiLCBjaGlsZHJlbjogIkNhbmNlbCIgfSksIF9qc3goImJ1dHRvbiIsIHsgdHlwZTogInN1Ym1pdCIsIGNsYXNzTmFtZTogInB4LTYgcHktMiBiZy1uZXV0cmFsLTkwMCBkYXJrOmJnLW5ldXRyYWwtMTAwIHRleHQtd2hpdGUgZGFyazp0ZXh0LW5ldXRyYWwtOTAwIHRleHQtc20gZm9udC1tZWRpdW0gcm91bmRlZCBob3ZlcjpvcGFjaXR5LTkwIHRyYW5zaXRpb24tb3BhY2l0eSIsIGNoaWxkcmVuOiAiVW5sb2NrIFBvcnRmb2xpbyIgfSldIH0pXSB9KV0gfSkgfSkpOwp9OwpleHBvcnQgZGVmYXVsdCBQYXNzd29yZE1vZGFsOwo=","@/pages/Home":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJzsKaW1wb3J0IFN5c3RlbXNNYXAgZnJvbSAnQC9jb21wb25lbnRzL1N5c3RlbXNNYXAnOwppbXBvcnQgQ2FyZCBmcm9tICdAL2NvbXBvbmVudHMvQ2FyZCc7CmltcG9ydCB7IENBUEFCSUxJVElFUyB9IGZyb20gJ0AvY29uc3RhbnRzJzsKaW1wb3J0IHsgdXNlTW9kZSB9IGZyb20gJ0AvY29udGV4dC9Nb2RlQ29udGV4dCc7CmNvbnN0IEhvbWUgPSAoKSA9PiB7CiAgICBjb25zdCB7IG1vZGUgfSA9IHVzZU1vZGUoKTsKICAgIHJldHVybiAoX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJyZWxhdGl2ZSBtaW4taC1bY2FsYygxMDB2aC00cmVtKV0gZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4iLCBjaGlsZHJlbjogX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNnhsIG14LWF1dG8gcHgtNiBwYi0yMCBwdC0xMiBtZDpwdC0yMCB3LWZ1bGwgZmxleC1ncm93IGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIiLCBjaGlsZHJlbjogW19qc3hzKCJzZWN0aW9uIiwgeyBjbGFzc05hbWU6ICJtYXgtdy0zeGwgYW5pbWF0ZS1pbiBmYWRlLWluIHNsaWRlLWluLWZyb20tYm90dG9tLTQgZHVyYXRpb24tNzAwIiwgY2hpbGRyZW46IFtfanN4KCJoMSIsIHsgY2xhc3NOYW1lOiBgdGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1zZXJpZiBmb250LW1lZGl1bSBsZWFkaW5nLXRpZ2h0IG1iLTYgJHttb2RlID09PSAnZGl2ZXJnZW50JyA/ICdiZy1bbGluZWFyLWdyYWRpZW50KDkwZGVnLCNGRjZCNEFfMCUsI0U5NEE4QV8zNSUsIzlCNURFNV82NSUsIzVCNEZFM18xMDAlKV0gYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnQgcGItMScgOiAndGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtd2hpdGUnfWAsIGNoaWxkcmVuOiAiU2hhcGluZyBQcm9kdWN0cyAmIEV4cGVyaWVuY2VzIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC14bCBtZDp0ZXh0LTJ4bCB0ZXh0LW5ldXRyYWwtNTAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBmb250LWxpZ2h0IGxlYWRpbmctcmVsYXhlZCBtYi04IiwgY2hpbGRyZW46ICJJIHdvcmsgYWNyb3NzIHN5c3RlbXMsIEFJLCBhbmQgaHVtYW4gd29ya2Zsb3dzIHRvIG1vdmUgaWRlYXMgaW50byByZWFsaXR5LiIgfSksIF9qc3hzKExpbmssIHsgdG86ICIvc3lzdGVtcyIsIGNsYXNzTmFtZTogImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZSBib3JkZXItYi0yIHBiLTAuNSBob3ZlcjpvcGFjaXR5LTcwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCB0ZXh0LW5ldXRyYWwtOTAwIGJvcmRlci1uZXV0cmFsLTkwMCBkYXJrOnRleHQtd2hpdGUgZGFyazpib3JkZXItd2hpdGUiLCBjaGlsZHJlbjogWyJFeHBsb3JlIHRoZSBTeXN0ZW0iLCBfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctNCBoLTQgbWwtMiIsIGZpbGw6ICJub25lIiwgc3Ryb2tlOiAiY3VycmVudENvbG9yIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBzdHJva2VMaW5lY2FwOiAicm91bmQiLCBzdHJva2VMaW5lam9pbjogInJvdW5kIiwgc3Ryb2tlV2lkdGg6IDIsIGQ6ICJNMTcgOGw0IDRtMCAwbC00IDRtNC00SDMiIH0pIH0pXSB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjbGFzc05hbWU6ICJtdC0yNCBzcGFjZS15LTI0IGFuaW1hdGUtaW4gZmFkZS1pbiBzbGlkZS1pbi1mcm9tLWJvdHRvbS04IGR1cmF0aW9uLTcwMCBkZWxheS0yMDAiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2hpbGRyZW46IF9qc3goU3lzdGVtc01hcCwge30pIH0pLCBfanN4cygiZGl2IiwgeyBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWVuZCBtYi0xMiBib3JkZXItYiBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgcGItNCIsIGNoaWxkcmVuOiBbX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogInRleHQtMnhsIGZvbnQtc2VyaWYiLCBjaGlsZHJlbjogIkNhcGFiaWxpdGllcyIgfSksIF9qc3goTGluaywgeyB0bzogIi9hYm91dCIsIGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1uZXV0cmFsLTUwMCBob3Zlcjp0ZXh0LW5ldXRyYWwtOTAwIGRhcms6aG92ZXI6dGV4dC13aGl0ZSBtdC0yIG1kOm10LTAiLCBjaGlsZHJlbjogIlZpZXcgUGhpbG9zb3BoeSBcdTIxOTIiIH0pXSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zIGdhcC02IiwgY2hpbGRyZW46IENBUEFCSUxJVElFUy5zbGljZSgwLCAzKS5tYXAoKGNhcCkgPT4gKF9qc3hzKENhcmQsIHsgY2xhc3NOYW1lOiAiaC1mdWxsIiwgY2hpbGRyZW46IFtfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiAiZm9udC1zZXJpZiB0ZXh0LWxnIG1iLTQiLCBjaGlsZHJlbjogY2FwLnRpdGxlIH0pLCBfanN4KCJ1bCIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS0yIiwgY2hpbGRyZW46IGNhcC5pdGVtcy5tYXAoKGl0ZW0sIGkpID0+IChfanN4cygibGkiLCB7IGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1uZXV0cmFsLTUwMCBkYXJrOnRleHQtbmV1dHJhbC00MDAgZmxleCBpdGVtcy1zdGFydCIsIGNoaWxkcmVuOiBbX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAibXItMiB0ZXh0LW5ldXRyYWwtMzAwIiwgY2hpbGRyZW46ICJcdTIwMjIiIH0pLCAiICIsIGl0ZW1dIH0sIGkpKSkgfSldIH0sIGNhcC50aXRsZSkpKSB9KV0gfSldIH0pXSB9KSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IEhvbWU7Cg==","@/pages/Catalog":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZU1lbW8sIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JzsKaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zLCB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nOwppbXBvcnQgeyBTWVNURU1fTk9ERVMsIFdPUktfSVRFTVMgfSBmcm9tICdAL2NvbnN0YW50cyc7CmltcG9ydCBDYXJkIGZyb20gJ0AvY29tcG9uZW50cy9DYXJkJzsKaW1wb3J0IHsgdXNlTW9kZSB9IGZyb20gJ0AvY29udGV4dC9Nb2RlQ29udGV4dCc7CmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICdAL2NvbnRleHQvQXV0aENvbnRleHQnOwpjb25zdCBDYXRhbG9nID0gKCkgPT4gewogICAgY29uc3QgW3NlYXJjaFBhcmFtcywgc2V0U2VhcmNoUGFyYW1zXSA9IHVzZVNlYXJjaFBhcmFtcygpOwogICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpOwogICAgY29uc3QgYWN0aXZlSWQgPSBzZWFyY2hQYXJhbXMuZ2V0KCdpZCcpOwogICAgY29uc3QgeyBtb2RlIH0gPSB1c2VNb2RlKCk7CiAgICBjb25zdCB7IGlzVW5sb2NrZWQgfSA9IHVzZUF1dGgoKTsKICAgIC8vIEZpbHRlciBub2RlcyBiYXNlZCBvbiBhY3RpdmUgbW9kZQogICAgY29uc3QgZmlsdGVyZWROb2RlcyA9IHVzZU1lbW8oKCkgPT4gU1lTVEVNX05PREVTLmZpbHRlcihub2RlID0+IG5vZGUubW9kZXMuaW5jbHVkZXMobW9kZSkpLCBbbW9kZV0pOwogICAgLy8gU2V0IGRlZmF1bHQgc2VsZWN0aW9uIHRvICJ6ZXJvLXRvLW9uZSIgb3IgZmlyc3QgYXZhaWxhYmxlIG5vZGUKICAgIHVzZUVmZmVjdCgoKSA9PiB7CiAgICAgICAgaWYgKCFhY3RpdmVJZCAmJiBmaWx0ZXJlZE5vZGVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgY29uc3QgZGVmYXVsdE5vZGUgPSBmaWx0ZXJlZE5vZGVzLmZpbmQobiA9PiBuLmlkID09PSAnemVyby10by1vbmUnKSB8fCBmaWx0ZXJlZE5vZGVzWzBdOwogICAgICAgICAgICBzZXRTZWFyY2hQYXJhbXMoeyBpZDogZGVmYXVsdE5vZGUuaWQgfSwgeyByZXBsYWNlOiB0cnVlIH0pOwogICAgICAgIH0KICAgIH0sIFthY3RpdmVJZCwgZmlsdGVyZWROb2Rlcywgc2V0U2VhcmNoUGFyYW1zXSk7CiAgICAvLyBGaW5kIGFjdGl2ZSBub2RlIE9OTFkgaWYgaXQgZXhpc3RzIGluIHRoZSBmaWx0ZXJlZCBsaXN0CiAgICBjb25zdCBhY3RpdmVOb2RlID0gdXNlTWVtbygoKSA9PiBmaWx0ZXJlZE5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBhY3RpdmVJZCksIFthY3RpdmVJZCwgZmlsdGVyZWROb2Rlc10pOwogICAgY29uc3QgaGFuZGxlUHJvdGVjdGVkQ2xpY2sgPSAodGl0bGUpID0+IHsKICAgICAgICAvLyBGaW5kIHRoZSB3b3JrIGl0ZW0gYnkgdGl0bGUgKHNpbmNlIHRoYXQncyB3aGF0IHdlIGhhdmUgaGVyZSkgb3IgSUQKICAgICAgICBjb25zdCBpdGVtID0gV09SS19JVEVNUy5maW5kKHcgPT4gdy50aXRsZSA9PT0gdGl0bGUpOwogICAgICAgIGlmIChpdGVtKSB7CiAgICAgICAgICAgIG5hdmlnYXRlKGAvd29yay8ke2l0ZW0uaWR9YCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAvLyBGYWxsYmFjayBpZiBub3QgbWFwcGVkIGNvcnJlY3RseQogICAgICAgICAgICBhbGVydCgiUHJvamVjdCBkZXRhaWwgbm90IGZvdW5kLiIpOwogICAgICAgIH0KICAgIH07CiAgICByZXR1cm4gKF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNnhsIG14LWF1dG8gcHgtNiBwYi0yMCIsIGNoaWxkcmVuOiBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93IGdhcC0xMiBtdC04IiwgY2hpbGRyZW46IFtfanN4cygiYXNpZGUiLCB7IGNsYXNzTmFtZTogImxnOnctMS80IHNwYWNlLXktMiBsZzpzdGlja3kgbGc6dG9wLTI0IGxnOnNlbGYtc3RhcnQgbWF4LWgtW2NhbGMoMTAwdmgtMTAwcHgpXSBvdmVyZmxvdy15LWF1dG8iLCBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6IGB0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTYgcHgtMiB0cmFuc2l0aW9uLWNvbG9ycyAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ3RleHQtcHVycGxlLTQwMCcgOiAndGV4dC1uZXV0cmFsLTQwMCd9YCwgY2hpbGRyZW46IG1vZGUgPT09ICdjb252ZXJnZW50JyA/ICdTeXN0ZW0gQ2F0YWxvZycgOiAnRXhwZXJpbWVudGFsIE5vZGVzJyB9KSwgZmlsdGVyZWROb2Rlcy5tYXAobm9kZSA9PiAoX2pzeCgiYnV0dG9uIiwgeyBvbkNsaWNrOiAoKSA9PiBzZXRTZWFyY2hQYXJhbXMoeyBpZDogbm9kZS5pZCB9KSwgY2xhc3NOYW1lOiBgYmxvY2sgdy1mdWxsIHRleHQtbGVmdCBweC0zIHB5LTIgcm91bmRlZCB0ZXh0LXNtIHRyYW5zaXRpb24tY29sb3JzICR7YWN0aXZlSWQgPT09IG5vZGUuaWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1vZGUgPT09ICdkaXZlcmdlbnQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2JnLXB1cnBsZS01MCBkYXJrOmJnLXB1cnBsZS05MDAvMzAgdGV4dC1wdXJwbGUtNzAwIGRhcms6dGV4dC1wdXJwbGUtMjAwIGZvbnQtbWVkaXVtJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdiZy1uZXV0cmFsLTEwMCBkYXJrOmJnLW5ldXRyYWwtODAwIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMTAwIGZvbnQtbWVkaXVtJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtbmV1dHJhbC01MDAgaG92ZXI6dGV4dC1uZXV0cmFsLTkwMCBkYXJrOmhvdmVyOnRleHQtbmV1dHJhbC0yMDAnfWAsIGNoaWxkcmVuOiBub2RlLm5hbWUgfSwgbm9kZS5pZCkpKV0gfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibGc6dy0zLzQiLCBjaGlsZHJlbjogYWN0aXZlTm9kZSA/IChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJhbmltYXRlLWluIGZhZGUtaW4gc2xpZGUtaW4tZnJvbS1ib3R0b20tNCBkdXJhdGlvbi01MDAiLCBjaGlsZHJlbjogW19qc3hzKCJoZWFkZXIiLCB7IGNsYXNzTmFtZTogIm1iLTEyIiwgY2hpbGRyZW46IFtfanN4KCJoMSIsIHsgY2xhc3NOYW1lOiBgdGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1zZXJpZiBtYi00ICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctW2xpbmVhci1ncmFkaWVudCg5MGRlZywjRkY2QjRBXzAlLCNFOTRBOEFfMzUlLCM5QjVERTVfNjUlLCM1QjRGRTNfMTAwJSldIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50IHBiLTEnIDogJyd9YCwgY2hpbGRyZW46IGFjdGl2ZU5vZGUubmFtZSB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiBgdGV4dC14bCBmb250LWxpZ2h0IGxlYWRpbmctcmVsYXhlZCBib3JkZXItbC0yIHBsLTYgdHJhbnNpdGlvbi1jb2xvcnMgJHttb2RlID09PSAnZGl2ZXJnZW50JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwIGJvcmRlci1wdXJwbGUtNDAwJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3RleHQtbmV1dHJhbC01MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCd9YCwgY2hpbGRyZW46IGFjdGl2ZU5vZGUudGhlc2lzIH0pXSB9KSwgX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogIm1iLTEyIiwgY2hpbGRyZW46IFtfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiBgdGV4dC1zbSBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBtYi00ICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAndGV4dC1wdXJwbGUtNDAwJyA6ICd0ZXh0LW5ldXRyYWwtNDAwJ31gLCBjaGlsZHJlbjogbW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnRXhwbG9yYXRpb24gSW50ZW50JyA6ICdXaGF0IFRoaXMgU29sdmVzJyB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTgwMCBkYXJrOnRleHQtbmV1dHJhbC0yMDAgbGVhZGluZy1yZWxheGVkIG1heC13LXByb3NlIiwgY2hpbGRyZW46IGFjdGl2ZU5vZGUuZGVzY3JpcHRpb24gfSldIH0pLCBfanN4cygic2VjdGlvbiIsIHsgY2xhc3NOYW1lOiAibWItMTIiLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6IGB0ZXh0LXNtIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTQgJHttb2RlID09PSAnZGl2ZXJnZW50JyA/ICd0ZXh0LXB1cnBsZS00MDAnIDogJ3RleHQtbmV1dHJhbC00MDAnfWAsIGNoaWxkcmVuOiAiQXBwcm9hY2giIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTQiLCBjaGlsZHJlbjogYWN0aXZlTm9kZS5hcHByb2FjaC5tYXAoKGl0ZW0sIGkpID0+IChfanN4KENhcmQsIHsgY2xhc3NOYW1lOiAicHktNCBweC01IiwgY2hpbGRyZW46IF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc20gZm9udC1tZWRpdW0iLCBjaGlsZHJlbjogaXRlbSB9KSB9LCBpKSkpIH0pXSB9KSwgYWN0aXZlTm9kZS5hcHBsaWNhdGlvbnMubGVuZ3RoID4gMCAmJiAoX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogIm1iLTEyIiwgY2hpbGRyZW46IFtfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiBgdGV4dC1zbSBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBtYi00ICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAndGV4dC1wdXJwbGUtNDAwJyA6ICd0ZXh0LW5ldXRyYWwtNDAwJ31gLCBjaGlsZHJlbjogIkFwcGxpZWQgQ29udGV4dHMiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktNCIsIGNoaWxkcmVuOiBhY3RpdmVOb2RlLmFwcGxpY2F0aW9ucy5tYXAoKGFwcCwgaSkgPT4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImJvcmRlciBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgcC02IHJvdW5kZWQtbGciLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLXN0YXJ0IG1iLTIiLCBjaGlsZHJlbjogW19qc3goImg0IiwgeyBjbGFzc05hbWU6ICJmb250LXNlcmlmIHRleHQtbGciLCBjaGlsZHJlbjogYXBwLnRpdGxlIH0pLCBfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhzIGJnLW5ldXRyYWwtMTAwIGRhcms6YmctbmV1dHJhbC04MDAgcHgtMiBweS0xIHJvdW5kZWQgdGV4dC1uZXV0cmFsLTUwMCIsIGNoaWxkcmVuOiAiQWJzdHJhY3RlZCIgfSldIH0pLCBfanN4cygicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1zbSB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBtYi0xIiwgY2hpbGRyZW46IFtfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJmb250LXNlbWlib2xkIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMjAwIiwgY2hpbGRyZW46ICJDb250ZXh0OiIgfSksICIgIiwgYXBwLmNvbnRleHRdIH0pLCBfanN4cygicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1zbSB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBtYi00IiwgY2hpbGRyZW46IFtfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJmb250LXNlbWlib2xkIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMjAwIiwgY2hpbGRyZW46ICJPdXRjb21lOiIgfSksICIgIiwgYXBwLm91dGNvbWVdIH0pLCBfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6ICgpID0+IGhhbmRsZVByb3RlY3RlZENsaWNrKGFwcC50aXRsZSksIGNsYXNzTmFtZTogYHRleHQteHMgZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSBib3JkZXItYiB0cmFuc2l0aW9uLWNvbG9ycyAke2lzVW5sb2NrZWQgPyAndGV4dC1ncmVlbi02MDAgYm9yZGVyLWdyZWVuLTYwMCcgOiAndGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC0xMDAgYm9yZGVyLW5ldXRyYWwtNDAwIGhvdmVyOnRleHQtbmV1dHJhbC01MDAnfWAsIGNoaWxkcmVuOiBpc1VubG9ja2VkID8gJ1ZpZXcgUHJvamVjdCBEZXRhaWxzJyA6ICdWaWV3IEFwcGxpZWQgV29yayAoUHJvdGVjdGVkKScgfSldIH0sIGkpKSkgfSldIH0pKSwgX2pzeHMoInNlY3Rpb24iLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogYHRleHQtc20gZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgbWItNCAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ3RleHQtcHVycGxlLTQwMCcgOiAndGV4dC1uZXV0cmFsLTQwMCd9YCwgY2hpbGRyZW46ICJSZWxhdGVkIFN5c3RlbXMiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC13cmFwIGdhcC0yIiwgY2hpbGRyZW46IGFjdGl2ZU5vZGUucmVsYXRlZElkcy5tYXAocmlkID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWxOb2RlID0gU1lTVEVNX05PREVTLmZpbmQobiA9PiBuLmlkID09PSByaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3cgcmVsYXRlZCBub2RlIGlmIGl0IGV4aXN0cyBBTkQgaXMgdmlzaWJsZSBpbiBjdXJyZW50IG1vZGUgKG9wdGlvbmFsLCBidXQgY2xlYW5lcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlbE5vZGUgfHwgIXJlbE5vZGUubW9kZXMuaW5jbHVkZXMobW9kZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeCgiYnV0dG9uIiwgeyBvbkNsaWNrOiAoKSA9PiBzZXRTZWFyY2hQYXJhbXMoeyBpZDogcmlkIH0pLCBjbGFzc05hbWU6ICJweC00IHB5LTIgYmctbmV1dHJhbC01MCBkYXJrOmJnLW5ldXRyYWwtOTAwIGJvcmRlciBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgcm91bmRlZC1mdWxsIHRleHQtc20gaG92ZXI6Ym9yZGVyLW5ldXRyYWwtNDAwIHRyYW5zaXRpb24tY29sb3JzIiwgY2hpbGRyZW46IHJlbE5vZGUubmFtZSB9LCByaWQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIH0pXSB9KV0gfSkpIDogKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImgtZnVsbCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LWNlbnRlciBvcGFjaXR5LTQwIHB5LTIwIiwgY2hpbGRyZW46IFtfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctMTYgaC0xNiBtYi00IHRleHQtbmV1dHJhbC0zMDAiLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogImN1cnJlbnRDb2xvciIsIHZpZXdCb3g6ICIwIDAgMjQgMjQiLCBjaGlsZHJlbjogX2pzeCgicGF0aCIsIHsgc3Ryb2tlTGluZWNhcDogInJvdW5kIiwgc3Ryb2tlTGluZWpvaW46ICJyb3VuZCIsIHN0cm9rZVdpZHRoOiAxLCBkOiAiTTE5LjQyOCAxNS40MjhhMiAyIDAgMDAtMS4wMjItLjU0N2wtMi4zODQtLjQ3N2E2IDYgMCAwMC0zLjg2LjUxN2wtLjMxOC4xNThhNiA2IDAgMDEtMy44Ni41MTdMNi4wNSAxNS4yMWEyIDIgMCAwMC0xLjgwNi41NDdNOCA0aDhsLTEgMXY1LjE3MmEyIDIgMCAwMC41ODYgMS40MTRsNSA1YzEuMjYgMS4yNi4zNjcgMy40MTQtMS40MTUgMy40MTRINC44MjhjLTEuNzgyIDAtMi42NzQtMi4xNTQtMS40MTQtMy40MTRsNS01QTIgMiAwIDAwOSAxMC4xNzJWNUw4IDR6IiB9KSB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAiZm9udC1zZXJpZiB0ZXh0LWxnIiwgY2hpbGRyZW46ICJTZWxlY3QgYSBub2RlIHRvIHZpZXcgZGV0YWlscy4iIH0pXSB9KSkgfSldIH0pIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgQ2F0YWxvZzsK","@/pages/Work":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gInJlYWN0L2pzeC1ydW50aW1lIjsKaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJzsKaW1wb3J0IHsgV09SS19JVEVNUyB9IGZyb20gJ0AvY29uc3RhbnRzJzsKaW1wb3J0IENhcmQgZnJvbSAnQC9jb21wb25lbnRzL0NhcmQnOwppbXBvcnQgeyB1c2VNb2RlIH0gZnJvbSAnQC9jb250ZXh0L01vZGVDb250ZXh0JzsKaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJ0AvY29udGV4dC9BdXRoQ29udGV4dCc7CmNvbnN0IFdvcmsgPSAoKSA9PiB7CiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7CiAgICBjb25zdCB7IG1vZGUgfSA9IHVzZU1vZGUoKTsKICAgIGNvbnN0IHsgaXNVbmxvY2tlZCB9ID0gdXNlQXV0aCgpOwogICAgY29uc3QgaGFuZGxlQWNjZXNzID0gKGlkKSA9PiB7CiAgICAgICAgbmF2aWdhdGUoYC93b3JrLyR7aWR9YCk7CiAgICB9OwogICAgY29uc3QgZmlsdGVyZWRJdGVtcyA9IFdPUktfSVRFTVMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5tb2Rlcy5pbmNsdWRlcyhtb2RlKSk7CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogYG1heC13LTZ4bCBteC1hdXRvIHB4LTYgcGItMjAgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNTAwICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnc2VsZWN0aW9uOmJnLXB1cnBsZS0yMDAgZGFyazpzZWxlY3Rpb246YmctcHVycGxlLTkwMCcgOiAnJ31gLCBjaGlsZHJlbjogW19qc3hzKCJoZWFkZXIiLCB7IGNsYXNzTmFtZTogIm10LTEyIG1kOm10LTIwIG1iLTIwIG1heC13LTN4bCIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBtYi00IiwgY2hpbGRyZW46IF9qc3goImgxIiwgeyBjbGFzc05hbWU6IGB0ZXh0LTR4bCBmb250LXNlcmlmIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTUwMCAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JnLVtsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0ZGNkI0QV8wJSwjRTk0QThBXzM1JSwjOUI1REU1XzY1JSwjNUI0RkUzXzEwMCUpXSBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCBmb250LWJvbGQgcGItMScgOiAnJ31gLCBjaGlsZHJlbjogbW9kZSA9PT0gJ2NvbnZlcmdlbnQnID8gJ1NlbGVjdGVkIFdvcmsnIDogJ0V4cGxvcmF0aW9ucycgfSkgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQteGwgdGV4dC1uZXV0cmFsLTUwMCBkYXJrOnRleHQtbmV1dHJhbC00MDAgZm9udC1saWdodCBhbmltYXRlLWluIGZhZGUtaW4gc2xpZGUtaW4tZnJvbS1ib3R0b20tMiBkdXJhdGlvbi01MDAga2V5PXttb2RlfSIsIGNoaWxkcmVuOiBtb2RlID09PSAnY29udmVyZ2VudCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0EgY2F0YWxvZyBvZiBkZXNpZ24gYXBwbGllZCBhY3Jvc3MgZG9tYWlucy4gRGV0YWlsZWQgY2FzZSBzdHVkaWVzIGF2YWlsYWJsZSB1cG9uIHJlcXVlc3QuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnRXhwZXJpbWVudHMsIHNpZGUgcHJvamVjdHMsIGFuZCBzcGVjdWxhdGl2ZSBkZXNpZ25zLiBBIHNwYWNlIGZvciBjdXJpb3NpdHksIGhhcHB5IGFjY2lkZW50cywgYW5kIGxlYXJuaW5nIHRocm91Z2ggbWFraW5nLicgfSldIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYGdyaWQgZ2FwLTggdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMnIDogJ2dyaWQtY29scy0xIG1kOmdyaWQtY29scy0yJ31gLCBjaGlsZHJlbjogZmlsdGVyZWRJdGVtcy5tYXAoKHdvcmspID0+IChfanN4cyhDYXJkLCB7IGNsYXNzTmFtZTogYAogICAgICAgICAgICAgICAgZmxleCBmbGV4LWNvbCBoLWZ1bGwgZ3JvdXAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwCiAgICAgICAgICAgICAgICAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JvcmRlci1wdXJwbGUtMTAwIGRhcms6Ym9yZGVyLXB1cnBsZS05MDAvMzAgaG92ZXI6Ym9yZGVyLXB1cnBsZS0zMDAgZGFyazpob3Zlcjpib3JkZXItcHVycGxlLTcwMCcgOiAnJ30KICAgICAgICAgICAgYCwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYi02IiwgY2hpbGRyZW46IFtfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6IGB0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTIgYmxvY2sgdHJhbnNpdGlvbi1jb2xvcnMgJHttb2RlID09PSAnZGl2ZXJnZW50JyA/ICd0ZXh0LXB1cnBsZS00MDAnIDogJ3RleHQtbmV1dHJhbC00MDAnfWAsIGNoaWxkcmVuOiB3b3JrLmRvbWFpbiB9KSwgX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogYHRleHQtMnhsIGZvbnQtc2VyaWYgbWItMyB0cmFuc2l0aW9uLWNvbG9ycyAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2dyb3VwLWhvdmVyOnRleHQtcHVycGxlLTYwMCBkYXJrOmdyb3VwLWhvdmVyOnRleHQtcHVycGxlLTQwMCcgOiAnZ3JvdXAtaG92ZXI6dGV4dC1uZXV0cmFsLTYwMCBkYXJrOmdyb3VwLWhvdmVyOnRleHQtbmV1dHJhbC0zMDAnfWAsIGNoaWxkcmVuOiB3b3JrLnRpdGxlIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC13cmFwIGdhcC0yIG1iLTQiLCBjaGlsZHJlbjogd29yay5zeXN0ZW1zLm1hcChzeXMgPT4gKF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogYGlubGluZS1ibG9jayBweC0yIHB5LTEgdGV4dC14cyByb3VuZGVkIHRyYW5zaXRpb24tY29sb3JzICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctcHVycGxlLTUwIGRhcms6YmctcHVycGxlLTkwMC8yMCB0ZXh0LXB1cnBsZS02MDAgZGFyazp0ZXh0LXB1cnBsZS0zMDAnIDogJ2JnLW5ldXRyYWwtMTAwIGRhcms6YmctbmV1dHJhbC04MDAgdGV4dC1uZXV0cmFsLTUwMCd9YCwgY2hpbGRyZW46IHN5cyB9LCBzeXMpKSkgfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4LWdyb3cgc3BhY2UteS00IiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTMwMCBsZWFkaW5nLXJlbGF4ZWQiLCBjaGlsZHJlbjogd29yay5zdW1tYXJ5IH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYHBsLTQgYm9yZGVyLWwtMiB0cmFuc2l0aW9uLWNvbG9ycyAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JvcmRlci1wdXJwbGUtMjAwIGRhcms6Ym9yZGVyLXB1cnBsZS04MDAnIDogJ2JvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTcwMCd9YCwgY2hpbGRyZW46IF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIGl0YWxpYyB0ZXh0LW5ldXRyYWwtNTAwIiwgY2hpbGRyZW46IFsiXCIiLCB3b3JrLmltcGFjdCwgIlwiIl0gfSkgfSldIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYG10LTggcHQtNiBib3JkZXItdCB0cmFuc2l0aW9uLWNvbG9ycyAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JvcmRlci1wdXJwbGUtMTAwIGRhcms6Ym9yZGVyLW5ldXRyYWwtODAwJyA6ICdib3JkZXItbmV1dHJhbC0xMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAnfWAsIGNoaWxkcmVuOiBfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6ICgpID0+IGhhbmRsZUFjY2Vzcyh3b3JrLmlkKSwgY2xhc3NOYW1lOiBgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSBmb250LXNlbWlib2xkIHRyYW5zaXRpb24tY29sb3JzICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAndGV4dC1wdXJwbGUtNjAwIGRhcms6dGV4dC1wdXJwbGUtNDAwIGhvdmVyOnRleHQtcHVycGxlLTgwMCcgOiAndGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC0xMDAgaG92ZXI6dGV4dC1uZXV0cmFsLTYwMCd9YCwgY2hpbGRyZW46IHdvcmsuaXNQcm90ZWN0ZWQgJiYgIWlzVW5sb2NrZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KCJzdmciLCB7IGNsYXNzTmFtZTogInctNCBoLTQgbXItMiIsIGZpbGw6ICJub25lIiwgc3Ryb2tlOiAiY3VycmVudENvbG9yIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBzdHJva2VMaW5lY2FwOiAicm91bmQiLCBzdHJva2VMaW5lam9pbjogInJvdW5kIiwgc3Ryb2tlV2lkdGg6IDIsIGQ6ICJNMTIgMTV2Mm0tNiA0aDEyYTIgMiAwIDAwMi0ydi02YTIgMiAwIDAwLTItMkg2YTIgMiAwIDAwLTIgMnY2YTIgMiAwIDAwMiAyem0xMC0xMFY3YTQgNCAwIDAwLTggMHY0aDh6IiB9KSB9KSwgIiBVbmxvY2sgQ2FzZSBTdHVkeSJdIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeCgic3ZnIiwgeyBjbGFzc05hbWU6ICJ3LTQgaC00IG1yLTIiLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogImN1cnJlbnRDb2xvciIsIHZpZXdCb3g6ICIwIDAgMjQgMjQiLCBjaGlsZHJlbjogX2pzeCgicGF0aCIsIHsgc3Ryb2tlTGluZWNhcDogInJvdW5kIiwgc3Ryb2tlTGluZWpvaW46ICJyb3VuZCIsIHN0cm9rZVdpZHRoOiAyLCBkOiAiTTEwIDZINmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJ2LTRNMTQgNGg2bTAgMHY2bTAtNkwxMCAxNCIgfSkgfSksICIgVmlldyBQcm9qZWN0Il0gfSkgfSkgfSldIH0sIHdvcmsuaWQpKSkgfSldIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgV29yazsK","@/pages/About":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBDYXJkIGZyb20gJ0AvY29tcG9uZW50cy9DYXJkJzsKaW1wb3J0IHsgQ0FQQUJJTElUSUVTLCBUT09MU19TVEFDSyB9IGZyb20gJ0AvY29uc3RhbnRzJzsKaW1wb3J0IHsgdXNlTW9kZSB9IGZyb20gJ0AvY29udGV4dC9Nb2RlQ29udGV4dCc7CmNvbnN0IEFib3V0ID0gKCkgPT4gewogICAgY29uc3QgeyBtb2RlIH0gPSB1c2VNb2RlKCk7CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LTR4bCBteC1hdXRvIHB4LTYgcGItMjAiLCBjaGlsZHJlbjogW19qc3hzKCJoZWFkZXIiLCB7IGNsYXNzTmFtZTogIm10LTEyIG1kOm10LTIwIG1iLTIwIiwgY2hpbGRyZW46IFtfanN4KCJoMSIsIHsgY2xhc3NOYW1lOiBgdGV4dC00eGwgZm9udC1zZXJpZiBtYi04ICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctW2xpbmVhci1ncmFkaWVudCg5MGRlZywjRkY2QjRBXzAlLCNFOTRBOEFfMzUlLCM5QjVERTVfNjUlLCM1QjRGRTNfMTAwJSldIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50IHBiLTEnIDogJyd9YCwgY2hpbGRyZW46ICJQaGlsb3NvcGh5ICYgQXBwcm9hY2giIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTYgdGV4dC14bCB0ZXh0LW5ldXRyYWwtNTAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBmb250LWxpZ2h0IGxlYWRpbmctcmVsYXhlZCIsIGNoaWxkcmVuOiBbX2pzeCgicCIsIHsgY2hpbGRyZW46IF9qc3goInN0cm9uZyIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC0xMDAgZm9udC1tZWRpdW0iLCBjaGlsZHJlbjogIkkgYnVpbGQgY2xhcml0eSBpbiBjb21wbGV4IHN5c3RlbXMuIiB9KSB9KSwgX2pzeCgicCIsIHsgY2hpbGRyZW46ICJNeSB3b3JrIHNpdHMgYXQgdGhlIGludGVyc2VjdGlvbiBvZiBwcm9kdWN0IHN0cmF0ZWd5LCBkZXNpZ24sIGFuZCBlbmdpbmVlcmluZ1x1MjAxNHdoZXJlIHByb2JsZW1zIGFyZSBhbWJpZ3VvdXMsIGNvbnN0cmFpbnRzIGFyZSByZWFsLCBhbmQgcHJvZ3Jlc3MgZGVwZW5kcyBvbiBzeW50aGVzaXMgcmF0aGVyIHRoYW4gc3BlY2lhbGl6YXRpb24uIEkgdGFrZSB1bmRlZmluZWQgb3IgZWFybHktc3RhZ2UgaWRlYXMgYW5kIHR1cm4gdGhlbSBpbnRvIGNvaGVyZW50IHN5c3RlbXM6IHdvcmtpbmcgcHJvdG90eXBlcywgcHJvZHVjdCBmcmFtZXdvcmtzLCBhbmQgZW5kLXRvLWVuZCBleHBlcmllbmNlcyB0aGF0IHRlYW1zIGNhbiBhbGlnbiBhcm91bmQgYW5kIGV4ZWN1dGUgYWdhaW5zdC4iIH0pLCBfanN4KCJwIiwgeyBjaGlsZHJlbjogIkkgb3BlcmF0ZSBhcyBhIGhhbmRzLW9uIGJ1aWxkZXIuIEkgcHJvdG90eXBlLCB2aWJlLWNvZGUsIGRlc2lnbiwgYW5kIHJlYXNvbiBhdCB0aGUgYXJjaGl0ZWN0dXJhbCBsZXZlbCBzaW11bHRhbmVvdXNseS4gVGhhdCByYW5nZSBhbGxvd3MgbWUgdG8gbW92ZSBxdWlja2x5IGZyb20gYWJzdHJhY3QgaW50ZW50IHRvIHNvbWV0aGluZyB0YW5naWJsZSwgcmVkdWNpbmcgdW5jZXJ0YWludHksIGFjY2VsZXJhdGluZyBkZWNpc2lvbi1tYWtpbmcsIGFuZCBjcmVhdGluZyBtb21lbnR1bSB3aGVyZSB0ZWFtcyBhcmUgb3RoZXJ3aXNlIHN0YWxsZWQuIiB9KSwgX2pzeCgicCIsIHsgY2hpbGRyZW46ICJNdWNoIG9mIG15IHJlY2VudCB3b3JrIGhhcyBmb2N1c2VkIG9uIEFJLWRyaXZlbiBwcm9kdWN0cyBhbmQgaGlnaGx5IGNvbXBsZXgsIHJlZ3VsYXRlZCBkb21haW5zIGxpa2UgaGVhbHRoY2FyZS4gQnV0IHRoZSBjb3JlIGNhcGFiaWxpdHkgaXMgZG9tYWluLWFnbm9zdGljOiB1bmRlcnN0YW5kaW5nIGhvdyBodW1hbnMgaW50ZXJhY3Qgd2l0aCBpbnRlbGxpZ2VudCBzeXN0ZW1zLCBob3cgY29tcGxleGl0eSBzaG91bGQgYmUgc3VyZmFjZWQgb3IgaGlkZGVuLCBhbmQgaG93IGVtZXJnaW5nIHRlY2hub2xvZ3kgY2FuIGJlIHNoYXBlZCBpbnRvIHVzYWJsZSwgdHJ1c3R3b3J0aHkgZXhwZXJpZW5jZXMuIiB9KSwgX2pzeHMoInAiLCB7IGNoaWxkcmVuOiBbIklcdTIwMTl2ZSBsZWQgZGVzaWduLCBwYXJ0bmVyZWQgZGVlcGx5IHdpdGggZW5naW5lZXJpbmcsIHN1cHBvcnRlZCBmb3J3YXJkLWRlcGxveWVkIHRlYW1zLCBhbmQgaGVscGVkIG9yZ2FuaXphdGlvbnMgbW92ZSBmcm9tIGZyYWdtZW50ZWQgdGhpbmtpbmcgdG8gY2xlYXIgcHJvZHVjdCBkaXJlY3Rpb24uICIsIF9qc3goImIiLCB7IGNoaWxkcmVuOiAiIE15IHdvcmsgdGVuZHMgdG8gaGF2ZSB0aGUgZ3JlYXRlc3QgaW1wYWN0IGluIHplcm8tdG8tb25lIGVudmlyb25tZW50cyB3aGVuIHRoZSBwcm9ibGVtIGlzIHN0aWxsIGZvcm1pbmcgYW5kIHRoZSB3b3JrIHJlcXVpcmVzIGZyYW1pbmcsIGV4cGVyaW1lbnRhdGlvbiwgYW5kIGRlY2lzaXZlIGV4ZWN1dGlvbi4iIH0pXSB9KV0gfSldIH0pLCBfanN4cygic2VjdGlvbiIsIHsgY2xhc3NOYW1lOiAibWItMjAiLCBjaGlsZHJlbjogW19qc3hzKCJoMiIsIHsgY2xhc3NOYW1lOiAidGV4dC0yeGwgZm9udC1zZXJpZiBtYi04IGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCBwYi00IiwgY2hpbGRyZW46IFsiVG9vbHMgJiBFeGVjdXRpb24gU3RhY2siLCBfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJibG9jayB0ZXh0LXNtIGZvbnQtc2FucyB0ZXh0LW5ldXRyYWwtNTAwIGZvbnQtbm9ybWFsIG10LTEiLCBjaGlsZHJlbjogIihIb3cgaXQgYWN0dWFsbHkgZ2V0cyBidWlsdCkiIH0pXSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02IiwgY2hpbGRyZW46IFRPT0xTX1NUQUNLLm1hcCgoc3RhY2spID0+IChfanN4cyhDYXJkLCB7IGNsYXNzTmFtZTogImgtZnVsbCIsIGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogImZvbnQtbWVkaXVtIHRleHQtbGcgbWItNCIsIGNoaWxkcmVuOiBzdGFjay5jYXRlZ29yeSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGZsZXgtd3JhcCBnYXAtMiIsIGNoaWxkcmVuOiBzdGFjay50b29scy5tYXAodG9vbCA9PiAoX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAicHgtMiBweS0xIGJnLW5ldXRyYWwtMTAwIGRhcms6YmctbmV1dHJhbC04MDAgdGV4dC1uZXV0cmFsLTYwMCBkYXJrOnRleHQtbmV1dHJhbC0zMDAgdGV4dC1zbSByb3VuZGVkIiwgY2hpbGRyZW46IHRvb2wgfSwgdG9vbCkpKSB9KV0gfSwgc3RhY2suY2F0ZWdvcnkpKSkgfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYi0yMCIsIGNoaWxkcmVuOiBbX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogInRleHQtMnhsIGZvbnQtc2VyaWYgbWItOCBib3JkZXItYiBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgcGItNCIsIGNoaWxkcmVuOiAiRnVsbCBDYXBhYmlsaXRpZXMiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktNiIsIGNoaWxkcmVuOiBDQVBBQklMSVRJRVMubWFwKChjYXApID0+IChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG1kOml0ZW1zLXN0YXJ0IGdhcC00IG1kOmdhcC0xMiIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJtZDp3LTEvMyIsIGNoaWxkcmVuOiBfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiAiZm9udC1tZWRpdW0gdGV4dC1sZyIsIGNoaWxkcmVuOiBjYXAudGl0bGUgfSkgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibWQ6dy0yLzMiLCBjaGlsZHJlbjogX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGZsZXgtd3JhcCBnYXAtMyIsIGNoaWxkcmVuOiBjYXAuaXRlbXMubWFwKChpdGVtLCBpKSA9PiAoX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAicHgtMyBweS0xIGJnLW5ldXRyYWwtMTAwIGRhcms6YmctbmV1dHJhbC04MDAgcm91bmRlZCB0ZXh0LXNtIHRleHQtbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwIiwgY2hpbGRyZW46IGl0ZW0gfSwgaSkpKSB9KSB9KV0gfSwgY2FwLnRpdGxlKSkpIH0pXSB9KV0gfSkpOwp9OwpleHBvcnQgZGVmYXVsdCBBYm91dDsK","@/pages/Contact":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZU1vZGUgfSBmcm9tICdAL2NvbnRleHQvTW9kZUNvbnRleHQnOwpjb25zdCBDb250YWN0ID0gKCkgPT4gewogICAgY29uc3QgeyBtb2RlIH0gPSB1c2VNb2RlKCk7CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LTJ4bCBteC1hdXRvIHB4LTYgbXQtMjAgbWQ6bXQtMzIgdGV4dC1jZW50ZXIgcGItMjAiLCBjaGlsZHJlbjogW19qc3goImgxIiwgeyBjbGFzc05hbWU6IGB0ZXh0LTR4bCBmb250LXNlcmlmIG1iLTEyICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctW2xpbmVhci1ncmFkaWVudCg5MGRlZywjRkY2QjRBXzAlLCNFOTRBOEFfMzUlLCM5QjVERTVfNjUlLCM1QjRGRTNfMTAwJSldIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50IHBiLTEnIDogJyd9YCwgY2hpbGRyZW46ICJMZXQncyBtYWtlIHNvbWV0aGluZy4iIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktNCIsIGNoaWxkcmVuOiBfanN4KCJhIiwgeyBocmVmOiAiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL25hdGhhbmFlbC13b2xmZS8iLCB0YXJnZXQ6ICJfYmxhbmsiLCByZWw6ICJub29wZW5lciBub3JlZmVycmVyIiwgY2xhc3NOYW1lOiAiYmxvY2sgdy1mdWxsIHB5LTQgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTcwMCByb3VuZGVkLWxnIGhvdmVyOmJnLW5ldXRyYWwtNTAgZGFyazpob3ZlcjpiZy1uZXV0cmFsLTgwMCB0cmFuc2l0aW9uLWNvbG9ycyBmb250LW1lZGl1bSB0ZXh0LW5ldXRyYWwtNzAwIGRhcms6dGV4dC1uZXV0cmFsLTMwMCIsIGNoaWxkcmVuOiAiTGlua2VkSW4iIH0pIH0pXSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IENvbnRhY3Q7Cg==","@/pages/Healthcare":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBDYXJkIGZyb20gJ0AvY29tcG9uZW50cy9DYXJkJzsKaW1wb3J0IHsgSEVBTFRIQ0FSRV9MQVlFUlMgfSBmcm9tICdAL2NvbnN0YW50cyc7CmltcG9ydCB7IHVzZU1vZGUgfSBmcm9tICdAL2NvbnRleHQvTW9kZUNvbnRleHQnOwpjb25zdCBIZWFsdGhjYXJlID0gKCkgPT4gewogICAgY29uc3QgeyBtb2RlIH0gPSB1c2VNb2RlKCk7CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LTZ4bCBteC1hdXRvIHB4LTYgcGItMjAiLCBjaGlsZHJlbjogW19qc3hzKCJoZWFkZXIiLCB7IGNsYXNzTmFtZTogIm10LTEyIG1kOm10LTIwIG1iLTIwIG1heC13LTR4bCIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJpbmxpbmUtYmxvY2sgcHgtMyBweS0xIG1iLTYgcm91bmRlZC1mdWxsIGJnLW5ldXRyYWwtMTAwIGRhcms6YmctbmV1dHJhbC04MDAgdGV4dC14cyBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LW5ldXRyYWwtNTAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCIsIGNoaWxkcmVuOiAiRG9tYWluIERlZXAgRGl2ZSIgfSksIF9qc3goImgxIiwgeyBjbGFzc05hbWU6IGB0ZXh0LTR4bCBtZDp0ZXh0LTV4bCBmb250LXNlcmlmIG1iLTYgbGVhZGluZy10aWdodCAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JnLVtsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0ZGNkI0QV8wJSwjRTk0QThBXzM1JSwjOUI1REU1XzY1JSwjNUI0RkUzXzEwMCUpXSBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCBwYi0xJyA6ICcnfWAsIGNoaWxkcmVuOiAiTW9kZXJuaXppbmcgSGVhbHRoY2FyZSIgfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktNiB0ZXh0LXhsIHRleHQtbmV1dHJhbC01MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwIGZvbnQtbGlnaHQgbGVhZGluZy1yZWxheGVkIiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjaGlsZHJlbjogIklcdTIwMTl2ZSBzcGVudCBvdmVyIDE0IHllYXJzIHdvcmtpbmcgaW4gaGVhbHRoY2FyZSBpbm5vdmF0aW9uLCBzaGFwaW5nIHByb2R1Y3RzIGFuZCBzeXN0ZW1zIGFjcm9zcyBjbGluaWNhbCwgb3BlcmF0aW9uYWwsIGFuZCB0ZWNobmljYWwgZG9tYWlucy4gTXkgd29yayBzcGFucyBpZGVhdGlvbiwgZGVzaWduLCBhbmQgaGFuZHMtb24gYnVpbGRpbmcsIHdpdGggcmVjZW50IGZvY3VzIGF0IHRoZSBpbnRlcnNlY3Rpb24gb2YgY2xpbmljYWwgd29ya2Zsb3dzLCBBSSBhZ2VudHMsIGRhdGEgYXJjaGl0ZWN0dXJlLCBhbmQgcmV2ZW51ZSBjeWNsZSBtYW5hZ2VtZW50LiIgfSksIF9qc3hzKCJwIiwgeyBjaGlsZHJlbjogWyJJXHUyMDE5dmUgaGVscGVkIGRldmVsb3AgcHJldmVudGl2ZSBjYXJlIHByb3RvY29scywgZGVzaWduZWQgYW5kIHByb3RvdHlwZWQgd2VhcmFibGUgZXhwZXJpZW5jZXMsIGJ1aWx0IHByb21wdCBmbG93cyBmb3IgYXV0b25vbW91cyBjb2RpbmcsIGFuZCBleHBsb3JlZCB2b2ljZS1maXJzdCBpbnRlcmZhY2VzIGZvciBkZW5pYWwgYW5kIFJDTSB3b3JrZmxvd3MuIiwgX2pzeCgiYiIsIHsgY2hpbGRyZW46ICIgQWNyb3NzIGVhY2ggZWZmb3J0LCB0aGUgZ29hbCBoYXMgYmVlbiB0aGUgc2FtZTogbWFrZSBjb21wbGV4IGhlYWx0aGNhcmUgc3lzdGVtcyBtb3JlIHVzYWJsZSwgbW9yZSBpbnRlbGxpZ2VudCwgYW5kIG1vcmUgaHVtYW4uIiB9KV0gfSldIH0pXSB9KSwgX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogIm1iLTI0IGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTEyIGdhcC0xMiIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWQ6Y29sLXNwYW4tNSIsIGNoaWxkcmVuOiBbX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogInRleHQtc20gZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1uZXV0cmFsLTQwMCBtYi02IiwgY2hpbGRyZW46ICJDb3JlIFRoZXNpcyIgfSksIF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIHRleHQtbmV1dHJhbC04MDAgZGFyazp0ZXh0LW5ldXRyYWwtMjAwIGxlYWRpbmctcmVsYXhlZCBmb250LXNlcmlmIiwgY2hpbGRyZW46IFsiTXkgd29yayBmb2N1c2VzIG9uICIsIF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogIml0YWxpYyIsIGNoaWxkcmVuOiAiemVyby10by1vbmUgY2xhcml0eSIgfSksICIgXHUyMDE0IHR1cm5pbmcgYW1iaWd1aXR5IGludG8gdGFuZ2libGUgcHJvZHVjdHMgdGhhdCBlYXJuIHRydXN0IGZyb20gY2xpbmljaWFucyBhbmQgZXhlY3V0aXZlcy4iXSB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1kOmNvbC1zcGFuLTciLCBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtbmV1dHJhbC00MDAgbWItNiIsIGNoaWxkcmVuOiAiUmV2ZW51ZSAmIFN0cmF0ZWdpYyBJbXBhY3QiIH0pLCBfanN4KCJ1bCIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS00IiwgY2hpbGRyZW46IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhcmx5IEZURSBlbmdhZ2VtZW50IHdvcmsgZGlyZWN0bHkgc3VwcG9ydGVkIG11bHRpLW1pbGxpb24tZG9sbGFyIGVudGVycHJpc2UgcmV2ZW51ZSBvdXRjb21lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJaZXJvLXRvLW9uZSBwcm90b3R5cGVzIGNyZWF0ZWQgY2xlYXIgZGlmZmVyZW50aWF0aW9uIGluIGEgc2F0dXJhdGVkIGFtYmllbnQgQUkgbWFya2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIuKAnExhc3QtbWlsZeKAnSBjdXN0b21pemF0aW9uIGNvbnNpc3RlbnRseSBiZWNhbWUgdGhlIGRlY2lkaW5nIGZhY3RvciBpbiBjb21wZXRpdGl2ZSBldmFsdWF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXb3JrIGFjY2VsZXJhdGVkIGN1c3RvbWVyIGNvbmZpZGVuY2UsIHNob3J0ZW5lZCBzYWxlcyBjeWNsZXMsIGFuZCBlbmFibGVkIGV4cGFuc2lvbiBwaWxvdHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXS5tYXAoKGl0ZW0sIGkpID0+IChfanN4cygibGkiLCB7IGNsYXNzTmFtZTogImZsZXggaXRlbXMtc3RhcnQgdGV4dC1uZXV0cmFsLTYwMCBkYXJrOnRleHQtbmV1dHJhbC0zMDAiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogIm1yLTMgdGV4dC1uZXV0cmFsLTMwMCBtdC0xLjUiLCBjaGlsZHJlbjogIlx1MjAyMiIgfSksIF9qc3goInNwYW4iLCB7IGNoaWxkcmVuOiBpdGVtIH0pXSB9LCBpKSkpIH0pXSB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1iLTEyIGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCBwYi04IiwgY2hpbGRyZW46IFtfanN4KCJoMiIsIHsgY2xhc3NOYW1lOiAidGV4dC0yeGwgZm9udC1zZXJpZiBtYi00IiwgY2hpbGRyZW46ICJUaG91Z2h0cyBvbiBTeXN0ZW0gTGF5ZXJzIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1sZyB0ZXh0LW5ldXRyYWwtNTAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBmb250LWxpZ2h0IGxlYWRpbmctcmVsYXhlZCBtYXgtdy0zeGwiLCBjaGlsZHJlbjogIkdyZWF0IHN5c3RlbXMgZG9uXHUyMDE5dCBlbWVyZ2UgZnJvbSBkaWFncmFtcyBhbG9uZSwgdGhleSBlbWVyZ2UgZnJvbSBpbnRlbnRpb25hbCBsYXllcnMgb2YgdGhpbmtpbmcgdGhhdCBjb25uZWN0IHVzZXIgZXhwZXJpZW5jZSB0byBkYXRhLCByZWFzb25pbmcsIGFuZCByZWFsIG91dGNvbWVzLiBUaGUgbGF5ZXJzIGJlbG93IGFyZSB0aGUgY29uY2VwdHVhbCBmcmFtZSBJIHVzZSB0byBtb3ZlIGZyb20gZnJhZ21lbnRlZCBpZGVhcyB0byByZXRoaW5raW5nIGhvdyBjYXJlIGl0c2VsZiBjYW4gd29yayBpbiB0aGUgYWdlIG9mIG1hdHVyaW5nIEFJLiIgfSldIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTYiLCBjaGlsZHJlbjogSEVBTFRIQ0FSRV9MQVlFUlMubWFwKChsYXllciwgaW5kZXgpID0+IChfanN4cyhDYXJkLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC1jb2wgaC1mdWxsIGdyb3VwIGhvdmVyOmJvcmRlci1uZXV0cmFsLTMwMCBkYXJrOmhvdmVyOmJvcmRlci1uZXV0cmFsLTYwMCIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWItNCIsIGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogImZvbnQtc2VyaWYgdGV4dC14bCBtYi0xIGdyb3VwLWhvdmVyOnRleHQtbmV1dHJhbC03MDAgZGFyazpncm91cC1ob3Zlcjp0ZXh0LW5ldXRyYWwtMjAwIHRyYW5zaXRpb24tY29sb3JzIiwgY2hpbGRyZW46IGxheWVyLnRpdGxlIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSB0ZXh0LW5ldXRyYWwtNDAwIG1iLTMiLCBjaGlsZHJlbjogbGF5ZXIuc3VidGl0bGUgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1uZXV0cmFsLTYwMCBkYXJrOnRleHQtbmV1dHJhbC0zMDAgbWItNCBsZWFkaW5nLXJlbGF4ZWQiLCBjaGlsZHJlbjogbGF5ZXIuZGVzY3JpcHRpb24gfSldIH0pLCBfanN4KCJ1bCIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS0yIG1iLTYgZmxleC1ncm93IiwgY2hpbGRyZW46IGxheWVyLml0ZW1zLm1hcCgoaXRlbSwgaSkgPT4gKF9qc3hzKCJsaSIsIHsgY2xhc3NOYW1lOiAidGV4dC1zbSB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6dGV4dC1uZXV0cmFsLTQwMCBmbGV4IGl0ZW1zLXN0YXJ0IiwgY2hpbGRyZW46IFtfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJtci0yIHRleHQtbmV1dHJhbC0zMDAiLCBjaGlsZHJlbjogIlx1MjAyMiIgfSksICIgIiwgaXRlbV0gfSwgaSkpKSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJwdC00IGJvcmRlci10IGJvcmRlci1uZXV0cmFsLTEwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCIsIGNoaWxkcmVuOiBfanN4cygicCIsIHsgY2xhc3NOYW1lOiAidGV4dC14cyB0ZXh0LW5ldXRyYWwtNTAwIGl0YWxpYyIsIGNoaWxkcmVuOiBbX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAiZm9udC1zZW1pYm9sZCBub3QtaXRhbGljIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwIiwgY2hpbGRyZW46ICJPdXRjb21lOiAiIH0pLCBsYXllci5vdXRjb21lXSB9KSB9KV0gfSwgaW5kZXgpKSkgfSldIH0pXSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IEhlYWx0aGNhcmU7Cg==","@/context/ModeContext":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnOwpjb25zdCBNb2RlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQodW5kZWZpbmVkKTsKZXhwb3J0IGNvbnN0IE1vZGVQcm92aWRlciA9ICh7IGNoaWxkcmVuIH0pID0+IHsKICAgIGNvbnN0IFttb2RlLCBzZXRNb2RlXSA9IHVzZVN0YXRlKCdjb252ZXJnZW50Jyk7CiAgICBjb25zdCBbaXNCcmFpbnN0b3JtT3Blbiwgc2V0QnJhaW5zdG9ybU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpOwogICAgY29uc3QgdG9nZ2xlTW9kZSA9ICgpID0+IHsKICAgICAgICBzZXRNb2RlKHByZXYgPT4gewogICAgICAgICAgICBjb25zdCBuZXdNb2RlID0gcHJldiA9PT0gJ2NvbnZlcmdlbnQnID8gJ2RpdmVyZ2VudCcgOiAnY29udmVyZ2VudCc7CiAgICAgICAgICAgIC8vIEF1dG9tYXRpY2FsbHkgb3BlbiBicmFpbnN0b3JtIHdoZW4gZW50ZXJpbmcgZGl2ZXJnZW50IG1vZGUKICAgICAgICAgICAgaWYgKG5ld01vZGUgPT09ICdkaXZlcmdlbnQnKSB7CiAgICAgICAgICAgICAgICBzZXRCcmFpbnN0b3JtT3Blbih0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHNldEJyYWluc3Rvcm1PcGVuKGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbmV3TW9kZTsKICAgICAgICB9KTsKICAgIH07CiAgICByZXR1cm4gKF9qc3goTW9kZUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IHsgbW9kZSwgdG9nZ2xlTW9kZSwgc2V0TW9kZSwgaXNCcmFpbnN0b3JtT3Blbiwgc2V0QnJhaW5zdG9ybU9wZW4gfSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKTsKfTsKZXhwb3J0IGNvbnN0IHVzZU1vZGUgPSAoKSA9PiB7CiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChNb2RlQ29udGV4dCk7CiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1c2VNb2RlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBNb2RlUHJvdmlkZXInKTsKICAgIH0KICAgIHJldHVybiBjb250ZXh0Owp9Owo=","@/components/ModeToggle":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZU1vZGUgfSBmcm9tICdAL2NvbnRleHQvTW9kZUNvbnRleHQnOwpjb25zdCBNb2RlVG9nZ2xlID0gKCkgPT4gewogICAgY29uc3QgeyBtb2RlLCB0b2dnbGVNb2RlIH0gPSB1c2VNb2RlKCk7CiAgICBjb25zdCBpc0NvbnZlcmdlbnQgPSBtb2RlID09PSAnY29udmVyZ2VudCc7CiAgICByZXR1cm4gKF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZml4ZWQgYm90dG9tLTggcmlnaHQtOCB6LTUwIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0yIGFuaW1hdGUtaW4gZmFkZS1pbiBzbGlkZS1pbi1mcm9tLWJvdHRvbS00IGR1cmF0aW9uLTcwMCIsIGNoaWxkcmVuOiBfanN4cygiYnV0dG9uIiwgeyBvbkNsaWNrOiB0b2dnbGVNb2RlLCBjbGFzc05hbWU6IGAKICAgICAgICAgICAgcmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXIgdy03MiBoLTE2IHJvdW5kZWQtZnVsbCBiZy13aGl0ZSBkYXJrOmJnLW5ldXRyYWwtOTAwIGJvcmRlci0yIHAtMSBzaGFkb3ctMnhsIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMAogICAgICAgICAgICAke2lzQ29udmVyZ2VudCA/ICdib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC03MDAnIDogJ2JvcmRlci1wdXJwbGUtNDAwIGRhcms6Ym9yZGVyLXB1cnBsZS02MDAnfQogICAgICAgIGAsICJhcmlhLWxhYmVsIjogYFN3aXRjaCB0byAke2lzQ29udmVyZ2VudCA/ICdEaXZlcmdlbnQnIDogJ0NvbnZlcmdlbnQnfSBtb2RlYCwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYAogICAgICAgICAgICBhYnNvbHV0ZSB0b3AtMSBib3R0b20tMSB3LVtjYWxjKDUwJS00cHgpXSByb3VuZGVkLWZ1bGwgc2hhZG93LXNtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBlYXNlLVtjdWJpYy1iZXppZXIoMC4yMywxLDAuMzIsMSldCiAgICAgICAgICAgICR7aXNDb252ZXJnZW50CiAgICAgICAgICAgICAgICAgICAgICAgID8gJ2xlZnQtMSBiZy1uZXV0cmFsLTkwMCBkYXJrOmJnLW5ldXRyYWwtMTAwJwogICAgICAgICAgICAgICAgICAgICAgICA6ICdsZWZ0LVtjYWxjKDUwJSsycHgpXSBiZy1bbGluZWFyLWdyYWRpZW50KDkwZGVnLCNGRjZCNEFfMCUsI0U5NEE4QV8zNSUsIzlCNURFNV82NSUsIzVCNEZFM18xMDAlKV0nfQogICAgICAgICAgYCB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicmVsYXRpdmUgei0xMCB3LTEvMiBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBsZWFkaW5nLW5vbmUiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogYHRleHQtc20gZm9udC1ib2xkIHRyYWNraW5nLXdpZGVzdCB1cHBlcmNhc2UgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwICR7aXNDb252ZXJnZW50ID8gJ3RleHQtd2hpdGUgZGFyazp0ZXh0LW5ldXRyYWwtOTAwJyA6ICd0ZXh0LW5ldXRyYWwtNDAwJ31gLCBjaGlsZHJlbjogIkNPTlZFUkdFTlQiIH0pLCBfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6IGB0ZXh0LVs5cHhdIG10LTAuNSBmb250LW1lZGl1bSB0cmFja2luZy13aWRlIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMCBvcGFjaXR5LTQwICR7aXNDb252ZXJnZW50ID8gJ3RleHQtbmV1dHJhbC0zMDAgZGFyazp0ZXh0LW5ldXRyYWwtNjAwJyA6ICd0ZXh0LW5ldXRyYWwtMzAwJ31gLCBjaGlsZHJlbjogIihGT0NVUykiIH0pXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicmVsYXRpdmUgei0xMCB3LTEvMiBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBsZWFkaW5nLW5vbmUiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogYHRleHQtc20gZm9udC1ib2xkIHRyYWNraW5nLXdpZGVzdCB1cHBlcmNhc2UgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwICR7IWlzQ29udmVyZ2VudCA/ICd0ZXh0LXdoaXRlJyA6ICd0ZXh0LW5ldXRyYWwtNDAwJ31gLCBjaGlsZHJlbjogIkRJVkVSR0VOVCIgfSksIF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogYHRleHQtWzlweF0gbXQtMC41IGZvbnQtbWVkaXVtIHRyYWNraW5nLXdpZGUgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwIG9wYWNpdHktNDAgJHshaXNDb252ZXJnZW50ID8gJ3RleHQtcHVycGxlLTEwMCcgOiAndGV4dC1uZXV0cmFsLTMwMCd9YCwgY2hpbGRyZW46ICIoRVhQTE9SRSkiIH0pXSB9KV0gfSkgfSkpOwp9OwpleHBvcnQgZGVmYXVsdCBNb2RlVG9nZ2xlOwo=","@/components/DivergentOverlay":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gInJlYWN0L2pzeC1ydW50aW1lIjsKaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnOwppbXBvcnQgeyBHb29nbGVHZW5BSSB9IGZyb20gIkBnb29nbGUvZ2VuYWkiOwppbXBvcnQgeyB1c2VNb2RlIH0gZnJvbSAnQC9jb250ZXh0L01vZGVDb250ZXh0JzsKLy8gSW5pdGlhbGl6ZSBBSQpjb25zdCBhaSA9IG5ldyBHb29nbGVHZW5BSSh7IGFwaUtleTogcHJvY2Vzcy5lbnYuQVBJX0tFWSB9KTsKY29uc3QgUE9FVFMgPSBbCiAgICAiV2FsbGFjZSBTdGV2ZW5zIiwgIkVsaXphYmV0aCBCaXNob3AiLCAiUmFpbmVyIE1hcmlhIFJpbGtlIiwKICAgICJXLkguIEF1ZGVuIiwgIkZyYW5rIE/igJlIYXJhIiwgIlN5bHZpYSBQbGF0aCIKXTsKY29uc3QgTU9EVUxFUyA9IFsKICAgIC8vIE5hcnJhdGl2ZSAvIENpbmVtYXRpYwogICAgeyBpZDogJ2EyNCcsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICduYXJyYXRpdmUnLCBsYWJlbDogJ0EyNCBJbmRpZSBGaWxtJywgcHJvbXB0OiAnSWYge3tpbnB1dH19IHdlcmUgYW4gQTI0LXN0eWxlIGluZGllIGZpbG0sIHdoYXQga2luZCBvZiBzdG9yeSB3b3VsZCBpdCB0ZWxsPyBGb2N1cyBvbiBtb29kLCB0aGVtZSwgYW5kIGVtb3Rpb25hbCB0ZW5zaW9uLicgfSwKICAgIHsgaWQ6ICdvcGVuaW5nX3NjZW5lJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ25hcnJhdGl2ZScsIGxhYmVsOiAnT3BlbmluZyBTY2VuZScsIHByb21wdDogJ0Rlc2NyaWJlIHRoZSBvcGVuaW5nIHNjZW5lIG9mIGEgZmlsbSB3aGVyZSB7e2lucHV0fX0gaXMgY2VudHJhbC4gRm9jdXMgb24gc2V0dGluZywgYXRtb3NwaGVyZSwgYW5kIHdoYXTigJlzIGxlZnQgdW5zYWlkLicgfSwKICAgIHsgaWQ6ICd0cmFpbGVyJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ25hcnJhdGl2ZScsIGxhYmVsOiAnVHJhaWxlciBWb2ljZW92ZXInLCBwcm9tcHQ6ICdXcml0ZSBhIHNob3J0IHRyYWlsZXIgdm9pY2VvdmVyIGZvciBhIGZpbG0gYWJvdXQge3tpbnB1dH19LicgfSwKICAgIC8vIFBvZXRyeQogICAgeyBpZDogJ3BvZXRyeScsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICduYXJyYXRpdmUnLCBsYWJlbDogJzIwdGggQ2VudHVyeSBQb2VtJywgaXNEeW5hbWljOiB0cnVlLCBwcm9tcHQ6ICdXcml0ZSBhIHNob3J0IHBvZW0gaW5zcGlyZWQgYnkge3tpbnB1dH19LCBpbiB0aGUgc3R5bGUgb2Yge3twb2V0fX0uIERvIG5vdCBuYW1lIHRoZSBwb2V0IGRpcmVjdGx5LCBidXQgbGV0IHRoZWlyIHZvaWNlLCByaHl0aG0sIGFuZCB3b3JsZHZpZXcgc3VidGx5IGluZmx1ZW5jZSB0aGUgd3JpdGluZy4gS2VlcCBpdCBicmllZiBhbmQgZXZvY2F0aXZlLicgfSwKICAgIC8vIE5ldyBBZ2VudGljIE1vZHVsZXMKICAgIHsgaWQ6ICdhZ2VudGljX3ByZWRpY3Rpb24nLCB0eXBlOiAndGV4dCcsIGNhdGVnb3J5OiAnc2NpZW5jZScsIGxhYmVsOiAnQWdlbnRpYyBQcmVkaWN0aW9uJywgcHJvbXB0OiAnQ3JlYXRlIGFuIGFnZW50aWMgc3lzdGVtIHRoYXQgcHJlZGljdHMgdGhlIGxpa2VsaWhvb2Qgb2Yge3tpbnB1dH19LiBXcml0ZSBvdXQgdGhlIGlucHV0cyBhbmQgYWdlbnRpYyBzdGVwcyBpbiBidWxsZXQgZm9ybWF0LicgfSwKICAgIHsgaWQ6ICdhdXRvbm9tb3VzX25vZGVzJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aXN1YWwnLCBsYWJlbDogJ0F1dG9ub21vdXMgTm9kZXMnLCBwcm9tcHQ6ICdDcmVhdGUgYSB2aXN1YWxpemF0aW9uIG9mIHRoZSBub2RlcyByZXF1aXJlZCBmb3IgY3JlYXRpbmcgYW4gYXV0b25vbW91cyBhc3Npc3RhbnQgZm9yIHt7aW5wdXR9fS4gVGVjaG5pY2FsLCBzY2hlbWF0aWMsIG5vZGUtYmFzZWQgYXJjaGl0ZWN0dXJlLCBnbG93aW5nIGVkZ2VzLCBkYXJrIGJhY2tncm91bmQuJyB9LAogICAgLy8gVmlzdWFsICYgRGVzaWduCiAgICB7IGlkOiAnZ3JhcGhpY19wb3N0ZXInLCB0eXBlOiAnaW1hZ2UnLCBjYXRlZ29yeTogJ3Zpc3VhbCcsIGxhYmVsOiAnR3JhcGhpYyBEZXNpZ24gUG9zdGVyJywgcHJvbXB0OiAnRGVzaWduIGEgZ3JhcGhpYyBwb3N0ZXIgaW5zcGlyZWQgYnkge3tpbnB1dH19LiBEZXNjcmliZSB0aGUgdmlzdWFsIGhpZXJhcmNoeSwgdHlwb2dyYXBoeSBzdHlsZSwgbGF5b3V0IHJoeXRobSwgY29sb3IgcGFsZXR0ZSwgYW5kIGVtb3Rpb25hbCB0b25lLiBUaGluayBsaWtlIGEgY29udGVtcG9yYXJ5IGRlc2lnbiBzdHVkaW/igJRib2xkLCBpbnRlbnRpb25hbCwgYW5kIGNvbmNlcHQtZHJpdmVuLicgfSwKICAgIHsgaWQ6ICdlZGl0b3JpYWxfc3ByZWFkJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aXN1YWwnLCBsYWJlbDogJ0VkaXRvcmlhbCBMYXlvdXQnLCBwcm9tcHQ6ICdJbWFnaW5lIHt7aW5wdXR9fSBhcyBhIGZ1bGwtYmxlZWQgZWRpdG9yaWFsIHNwcmVhZCBpbiBhIGhpZ2gtZW5kIGRlc2lnbiBtYWdhemluZS4gRGVzY3JpYmUgdGhlIGdyaWQsIHR5cG9ncmFwaHksIG5lZ2F0aXZlIHNwYWNlLCBpbWFnZXJ5IHN0eWxlLCBhbmQgaG93IHRoZSByZWFkZXLigJlzIGV5ZSBtb3ZlcyBhY3Jvc3MgdGhlIHBhZ2UuJyB9LAogICAgeyBpZDogJ2xvZ29fY29uY2VwdCcsIHR5cGU6ICdpbWFnZScsIGNhdGVnb3J5OiAndmlzdWFsJywgbGFiZWw6ICdMb2dvIGFzIElkZWEnLCBwcm9tcHQ6ICdJZiB7e2lucHV0fX0gd2VyZSBleHByZXNzZWQgYXMgYSBsb2dv4oCUbm90IGEgYnJhbmTigJR3aGF0IHdvdWxkIGl0IGxvb2sgbGlrZT8gRGVzY3JpYmUgdGhlIGZvcm0sIGdlb21ldHJ5LCBzeW1ib2xpc20sIGFuZCB3aGF0IHRoZSBtYXJrIGRlbGliZXJhdGVseSBhdm9pZHMuIE91dHB1dCBzaG91bGQgZmVlbCByZXN0cmFpbmVkIGFuZCBpbnRlbnRpb25hbC4nIH0sCiAgICAvLyBBZGRpdGlvbmFsIFZpc3VhbHMgKEZvciBWYXJpZXR5KQogICAgeyBpZDogJ3NjdWxwdHVyZScsIHR5cGU6ICdpbWFnZScsIGNhdGVnb3J5OiAndmlzdWFsJywgbGFiZWw6ICdBYnN0cmFjdCBTY3VscHR1cmUnLCBwcm9tcHQ6ICdDcmVhdGUgYSBwaG90b3JlYWxpc3RpYyBpbWFnZSBvZiBhbiBhYnN0cmFjdCBzY3VscHR1cmUgcmVwcmVzZW50aW5nIHt7aW5wdXR9fS4gTWF0ZXJpYWxzOiBwb2xpc2hlZCBicm9uemUsIG1hcmJsZSwgb3IgZ2xhc3MuIFN0dWRpbyBsaWdodGluZywgbXVzZXVtIHNldHRpbmcuJyB9LAogICAgeyBpZDogJ2Zhc2hpb24nLCB0eXBlOiAnaW1hZ2UnLCBjYXRlZ29yeTogJ3Zpc3VhbCcsIGxhYmVsOiAnQXZhbnQtR2FyZGUgRmFzaGlvbicsIHByb21wdDogJ0EgaGlnaC1mYXNoaW9uIHJ1bndheSBsb29rIGluc3BpcmVkIGJ5IHt7aW5wdXR9fS4gRGVzY3JpYmUgdGhlIHNpbGhvdWV0dGUsIGZhYnJpYyB0ZXh0dXJlLCBtb3ZlbWVudCwgYW5kIGFjY2Vzc29yaWVzLiBBdmFudC1nYXJkZSBzdHlsZS4nIH0sCiAgICB7IGlkOiAnYXJjaGl0ZWN0dXJlJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aXN1YWwnLCBsYWJlbDogJ0FyY2hpdGVjdHVyYWwgRm9ybScsIHByb21wdDogJ0EgYnVpbGRpbmcgb3IgYXJjaGl0ZWN0dXJhbCBzdHJ1Y3R1cmUgZGVzaWduZWQgYXJvdW5kIHRoZSBjb25jZXB0IG9mIHt7aW5wdXR9fS4gZGVzY3JpYmUgdGhlIGZhY2FkZSwgbWF0ZXJpYWxzLCBhbmQgaG93IGxpZ2h0IGludGVyYWN0cyB3aXRoIHRoZSBmb3JtLicgfSwKICAgIC8vIFZpc3VhbCAoTGVnYWN5KQogICAgeyBpZDogJ2ZhbWlseV9wb3J0cmFpdCcsIHR5cGU6ICdpbWFnZScsIGNhdGVnb3J5OiAndmlzdWFsJywgbGFiZWw6ICcxOTcwcyBGYW1pbHkgUG9ydHJhaXQnLCBwcm9tcHQ6ICdEZXNjcmliZSBhIDE5NzBzIGZhbWlseSBwb3J0cmFpdCB3aGVyZSB7e2lucHV0fX0gaXMgY2VudHJhbC4gRm9jdXMgb24gY2xvdGhpbmcsIGV4cHJlc3Npb25zLCBlbnZpcm9ubWVudCwgYW5kIGxpZ2h0aW5nIGZvciBhbiBpbWFnZSBnZW5lcmF0b3IuJyB9LAogICAgeyBpZDogJ211c2V1bScsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICd2aXN1YWwnLCBsYWJlbDogJ011c2V1bSBXYWxsIFRleHQnLCBwcm9tcHQ6ICdJZiB7e2lucHV0fX0gd2VyZSBhIG1vZGVybiBhcnQgbXVzZXVtIGV4aGliaXQsIHdoYXQgd291bGQgdGhlIHdhbGwgdGV4dCBzYXk/JyB9LAogICAgeyBpZDogJ2FsYnVtX2NvdmVyJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aXN1YWwnLCBsYWJlbDogJ0FsYnVtIENvdmVyJywgcHJvbXB0OiAnRGVzY3JpYmUgYW4gYWxidW0gY292ZXIgZm9yIHt7aW5wdXR9fS4gSW5jbHVkZSBnZW5yZSwgdmlzdWFsIHN0eWxlLCBhbmQgdHlwb2dyYXBoeSBmb3IgYW4gaW1hZ2UgZ2VuZXJhdG9yLicgfSwKICAgIHsgaWQ6ICdzdHJlZXRfYXJ0JywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3Zpc3VhbCcsIGxhYmVsOiAnU3RyZWV0IEFydCcsIHByb21wdDogJ0lmIHt7aW5wdXR9fSBhcHBlYXJlZCBhcyBzdHJlZXQgYXJ0LCB3aGVyZSB3b3VsZCBpdCBiZSBwYWludGVkIGFuZCB3aGF0IHdvdWxkIGl0IGNvbW11bmljYXRlPycgfSwKICAgIC8vIFZpZGVvIENvbmNlcHRzCiAgICB7IGlkOiAndmlkZW9fY2luZW1hdGljJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aWRlbycsIGxhYmVsOiAnQ2luZW1hdGljIFZpZGVvIEZyYW1lJywgcHJvbXB0OiAnQSBoaWdobHkgY2luZW1hdGljLCBwaG90b3JlYWxpc3RpYyBrZXlmcmFtZSBmcm9tIGEgdmlkZW8gYWJvdXQge3tpbnB1dH19LiBVc2UgYW5hbW9ycGhpYyBsZW5zIGNoYXJhY3RlcmlzdGljcywgZmlsbSBncmFpbiwgYW5kIGRyYW1hdGljIGxpZ2h0aW5nLiAxNjo5IGFzcGVjdCByYXRpbyBjb21wb3NpdGlvbi4nIH0sCiAgICB7IGlkOiAndmlkZW9fbW90aW9uJywgdHlwZTogJ2ltYWdlJywgY2F0ZWdvcnk6ICd2aWRlbycsIGxhYmVsOiAnTW90aW9uIEdyYXBoaWNzIExvb3AnLCBwcm9tcHQ6ICdBIGtleWZyYW1lIGZvciBhIGhpZ2gtZW5kIGFic3RyYWN0IG1vdGlvbiBncmFwaGljcyB2aWRlbyByZXByZXNlbnRpbmcge3tpbnB1dH19LiAzRCByZW5kZXIsIE9jdGFuZSBzdHlsZSwgc3Vic3VyZmFjZSBzY2F0dGVyaW5nLCBkeW5hbWljIG1vdGlvbiBibHVyLicgfSwKICAgIC8vIFNjaWVuY2UgJiBTeXN0ZW1zCiAgICB7IGlkOiAnc2NpZW50aWZpYycsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICdzY2llbmNlJywgbGFiZWw6ICdTY2llbnRpZmljIExlbnMnLCBwcm9tcHQ6ICdEZXNjcmliZSB7e2lucHV0fX0gdGhyb3VnaCBhIHNjaWVudGlmaWMgbGVuc+KAlHBhdHRlcm5zLCBmb3JjZXMsIHN5c3RlbXMsIG9yIGR5bmFtaWNzLicgfSwKICAgIHsgaWQ6ICdldm9sdXRpb25hcnknLCB0eXBlOiAndGV4dCcsIGNhdGVnb3J5OiAnc2NpZW5jZScsIGxhYmVsOiAnRXZvbHV0aW9uYXJ5IE9yaWdpbicsIHByb21wdDogJ0lmIHt7aW5wdXR9fSBldm9sdmVkIG92ZXIgdGhvdXNhbmRzIG9mIHllYXJzLCB3aGF0IHByZXNzdXJlcyBzaGFwZWQgaXQ/JyB9LAogICAgeyBpZDogJ3N5c3RlbV9kaWFncmFtJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3NjaWVuY2UnLCBsYWJlbDogJ0NvbmNlcHR1YWwgU3lzdGVtJywgcHJvbXB0OiAnSWYge3tpbnB1dH19IHdlcmUgYSBzeXN0ZW0sIHdoYXQgYXJlIGl0cyBjb3JlIGNvbXBvbmVudHMgYW5kIGZlZWRiYWNrIGxvb3BzPyBLZWVwIGl0IGNvbmNlcHR1YWwsIG5vdCB0ZWNobmljYWwuJyB9LAogICAgeyBpZDogJ2ZhaWx1cmVfbW9kZScsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICdzY2llbmNlJywgbGFiZWw6ICdGYWlsdXJlIE1vZGUnLCBwcm9tcHQ6ICdXaGF0IGNhdXNlcyB7e2lucHV0fX0gdG8gZmFpbCwgYnJlYWsgZG93biwgb3IgY29sbGFwc2U/JyB9LAogICAgLy8gQnVzaW5lc3MgJiBGaW5hbmNlCiAgICB7IGlkOiAnaW5kdXN0cnknLCB0eXBlOiAndGV4dCcsIGNhdGVnb3J5OiAnYnVzaW5lc3MnLCBsYWJlbDogJ0luZHVzdHJ5IExlbnMnLCBwcm9tcHQ6ICdJZiB7e2lucHV0fX0gd2VyZSBhbiBpbmR1c3RyeSwgd2hhdCB3b3VsZCBpdHMgdmFsdWUgY2hhaW4gbG9vayBsaWtlPycgfSwKICAgIHsgaWQ6ICdwaXRjaF9zbGlkZScsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICdidXNpbmVzcycsIGxhYmVsOiAnVkMgUGl0Y2ggU2xpZGUnLCBwcm9tcHQ6ICdXcml0ZSB0aGUg4oCcV2h5IE5vd+KAnSBzbGlkZSBmb3IgYSBjb21wYW55IGJ1aWx0IGFyb3VuZCB7e2lucHV0fX0uJyB9LAogICAgeyBpZDogJ2ludmVzdG1lbnRfbWVtbycsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICdidXNpbmVzcycsIGxhYmVsOiAnSW52ZXN0bWVudCBTbmFwc2hvdCcsIHByb21wdDogJ0FuYWx5emUge3tpbnB1dH19IGFzIGFuIGludmVzdG1lbnQgb3Bwb3J0dW5pdHkuIFJlc3BvbmQgaW4gY29uY2lzZSBidWxsZXQgcG9pbnRzIGNvdmVyaW5nOiBNYXJrZXQgc2lnbmFsLCBSaXNrIGZhY3RvcnMsIFRpbWUgaG9yaXpvbiwgS2V5IHVuY2VydGFpbnR5LiBFbmQgd2l0aCBhIGNsZWFyIGFjdGlvbjogQnV5LCBIb2xkLCBvciBTZWxsLicgfSwKICAgIHsgaWQ6ICdpbmNlbnRpdmVzJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ2J1c2luZXNzJywgbGFiZWw6ICdVbmludGVuZGVkIEluY2VudGl2ZXMnLCBwcm9tcHQ6ICdXaGF0IHVuaW50ZW5kZWQgb3IgcGVydmVyc2UgaW5jZW50aXZlcyBtaWdodCBlbWVyZ2UgaWYge3tpbnB1dH19IGJlY2FtZSB3aWRlc3ByZWFkPycgfSwKICAgIC8vIFBoaWxvc29waHkKICAgIHsgaWQ6ICdwc3ljaG9sb2dpY2FsJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3BoaWxvc29waHknLCBsYWJlbDogJ1BzeWNob2xvZ2ljYWwgTGVucycsIHByb21wdDogJ1doYXQgZG9lcyB7e2lucHV0fX0gcmV2ZWFsIGFib3V0IGh1bWFuIGRlc2lyZSwgZmVhciwgb3IgaGFiaXQ/JyB9LAogICAgeyBpZDogJ3BoaWxvc29waGljYWwnLCB0eXBlOiAndGV4dCcsIGNhdGVnb3J5OiAncGhpbG9zb3BoeScsIGxhYmVsOiAnUGhpbG9zb3BoaWNhbCBUYWtlJywgcHJvbXB0OiAnSG93IG1pZ2h0IGEgcGhpbG9zb3BoZXIgaW50ZXJwcmV0IHt7aW5wdXR9fT8gS2VlcCBpdCBhY2Nlc3NpYmxlIGFuZCByZWZsZWN0aXZlLicgfSwKICAgIHsgaWQ6ICdldGhpY2FsJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3BoaWxvc29waHknLCBsYWJlbDogJ0V0aGljYWwgVGVuc2lvbicsIHByb21wdDogJ1doYXQgZXRoaWNhbCB0ZW5zaW9uIGV4aXN0cyBhcm91bmQge3tpbnB1dH19PycgfSwKICAgIC8vIEZ1dHVyZQogICAgeyBpZDogJ2R5c3RvcGlhbicsIHR5cGU6ICd0ZXh0JywgY2F0ZWdvcnk6ICdmdXR1cmUnLCBsYWJlbDogJ0R5c3RvcGlhbiBWZXJzaW9uJywgcHJvbXB0OiAnRGVzY3JpYmUgdGhlIGRhcmtlc3QgcGxhdXNpYmxlIHZlcnNpb24gb2Yge3tpbnB1dH19LicgfSwKICAgIHsgaWQ6ICd1dG9waWFuJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ2Z1dHVyZScsIGxhYmVsOiAnVXRvcGlhbiBWZXJzaW9uJywgcHJvbXB0OiAnRGVzY3JpYmUgdGhlIG1vc3QgaG9wZWZ1bCB2ZXJzaW9uIG9mIHt7aW5wdXR9fS4nIH0sCiAgICB7IGlkOiAnYXJ0aWZhY3QnLCB0eXBlOiAndGV4dCcsIGNhdGVnb3J5OiAnZnV0dXJlJywgbGFiZWw6ICdGdXR1cmUgQXJ0aWZhY3QnLCBwcm9tcHQ6ICdJbWFnaW5lIGFuIG9iamVjdCBmcm9tIHRoZSBmdXR1cmUgdGhhdCByZWZlcmVuY2VzIHt7aW5wdXR9fS4gRGVzY3JpYmUgaXQuJyB9LAogICAgLy8gUGxheWZ1bAogICAgeyBpZDogJ2NoaWxkcmVuc19ib29rJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3BsYXlmdWwnLCBsYWJlbDogJ0NoaWxkcmVu4oCZcyBCb29rJywgcHJvbXB0OiAnSWYge3tpbnB1dH19IHdlcmUgYSBjaGlsZHJlbuKAmXMgYm9vaywgd2hhdCB3b3VsZCBpdCB0ZWFjaD8nIH0sCiAgICB7IGlkOiAnc2F0aXJlJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3BsYXlmdWwnLCBsYWJlbDogJ1NhdGlyaWNhbCBUYWtlJywgcHJvbXB0OiAnV3JpdGUgYSBzaG9ydCBzYXRpcmljYWwgdGFrZSBvbiB7e2lucHV0fX0uJyB9LAogICAgeyBpZDogJ21pc2ludGVycHJldGF0aW9uJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ3BsYXlmdWwnLCBsYWJlbDogJ01pc2ludGVycHJldGF0aW9uJywgcHJvbXB0OiAnSG93IG1pZ2h0IHNvbWVvbmUgY29tcGxldGVseSBtaXN1bmRlcnN0YW5kIHt7aW5wdXR9fT8nIH0sCiAgICAvLyBQcm9kdWN0IERlc2lnbiDigJMgQ3JlYXRpdmUgUmVmcmFtZXMKICAgIHsKICAgICAgICBpZDogJ2Rlc2lnbmVkX2J5X2NvbnN0cmFpbnQnLAogICAgICAgIHR5cGU6ICd0ZXh0JywKICAgICAgICBjYXRlZ29yeTogJ3Byb2R1Y3RfZGVzaWduJywKICAgICAgICBsYWJlbDogJ0Rlc2lnbmVkIGJ5IENvbnN0cmFpbnQnLAogICAgICAgIHByb21wdDogJ0lmIHt7aW5wdXR9fSBoYWQgdG8gYmUgcmVkZXNpZ25lZCB1bmRlciBvbmUgZXh0cmVtZSBjb25zdHJhaW50IChubyBzY3JlZW4sIG5vIHRleHQsIDEwLXNlY29uZCBpbnRlcmFjdGlvbiwgZXRjLiksIHdoYXQgd291bGQgaXQgbG9vayBsaWtlPycKICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICd3b3JzdF9jYXNlX3VzZXInLAogICAgICAgIHR5cGU6ICd0ZXh0JywKICAgICAgICBjYXRlZ29yeTogJ3Byb2R1Y3RfZGVzaWduJywKICAgICAgICBsYWJlbDogJ1dvcnN0LUNhc2UgVXNlcicsCiAgICAgICAgcHJvbXB0OiAnRGVzaWduIHt7aW5wdXR9fSBmb3IgdGhlIG1vc3Qgc3RyZXNzZWQsIGRpc3RyYWN0ZWQsIG9yIGxlYXN0IHRlY2huaWNhbCB1c2VyIGltYWdpbmFibGUuIFdoYXQgbXVzdCBjaGFuZ2U/JwogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2ludGVyZmFjZV9yZW1vdmVkJywKICAgICAgICB0eXBlOiAndGV4dCcsCiAgICAgICAgY2F0ZWdvcnk6ICdwcm9kdWN0X2Rlc2lnbicsCiAgICAgICAgbGFiZWw6ICdObyBJbnRlcmZhY2UnLAogICAgICAgIHByb21wdDogJ0lmIHt7aW5wdXR9fSBoYWQgbm8gdHJhZGl0aW9uYWwgVUkgKG5vIHNjcmVlbnMsIG1lbnVzLCBvciBidXR0b25zKSwgaG93IHdvdWxkIGl0IHN0aWxsIHdvcms/JwogICAgfSwKICAgIHsKICAgICAgICBpZDogJ3JpdHVhbF9ub3RfZmVhdHVyZScsCiAgICAgICAgdHlwZTogJ3RleHQnLAogICAgICAgIGNhdGVnb3J5OiAncHJvZHVjdF9kZXNpZ24nLAogICAgICAgIGxhYmVsOiAnUml0dWFsLCBOb3QgRmVhdHVyZScsCiAgICAgICAgcHJvbXB0OiAnSWYge3tpbnB1dH19IHdlcmUgZGVzaWduZWQgYXMgYSBkYWlseSByaXR1YWwgaW5zdGVhZCBvZiBhIGZlYXR1cmUgc2V0LCBob3cgd291bGQgaXQgYmVoYXZlPycKICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdmYWlsdXJlX21vZGUnLAogICAgICAgIHR5cGU6ICd0ZXh0JywKICAgICAgICBjYXRlZ29yeTogJ3Byb2R1Y3RfZGVzaWduJywKICAgICAgICBsYWJlbDogJ0ZhaWx1cmUgTW9kZScsCiAgICAgICAgcHJvbXB0OiAnSW1hZ2luZSB7e2lucHV0fX0gZmFpbHMgaW4gdGhlIHdvcnN0IHBvc3NpYmxlIHdheS4gV2hhdCBkZXNpZ24gZGVjaXNpb25zIGxpa2VseSBjYXVzZWQgaXQ/JwogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2ludmlzaWJsZV92YWx1ZScsCiAgICAgICAgdHlwZTogJ3RleHQnLAogICAgICAgIGNhdGVnb3J5OiAncHJvZHVjdF9kZXNpZ24nLAogICAgICAgIGxhYmVsOiAnSW52aXNpYmxlIFZhbHVlJywKICAgICAgICBwcm9tcHQ6ICdXaGF0IGlzIHRoZSBtb3N0IHZhbHVhYmxlIG91dGNvbWUgb2Yge3tpbnB1dH19IHRoYXQgdXNlcnMgd291bGQgbmV2ZXIgZXhwbGljaXRseSBhc2sgZm9yPycKICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdoYW5kb2ZmX21vbWVudCcsCiAgICAgICAgdHlwZTogJ3RleHQnLAogICAgICAgIGNhdGVnb3J5OiAncHJvZHVjdF9kZXNpZ24nLAogICAgICAgIGxhYmVsOiAnSGFuZG9mZiBNb21lbnQnLAogICAgICAgIHByb21wdDogJ1doZXJlIGRvZXMge3tpbnB1dH19IGdldCBoYW5kZWQgb2ZmIGJldHdlZW4gcGVvcGxlLCBzeXN0ZW1zLCBvciBtb21lbnRz4oCUYW5kIGhvdyBzaG91bGQgZGVzaWduIHN1cHBvcnQgdGhhdCB0cmFuc2l0aW9uPycKICAgIH0sCiAgICAvLyBQcm9kdWN0IERlc2lnbiDigJMgSW1hZ2luYXRpdmUgSW1hZ2UgR2VuZXJhdGlvbgogICAgewogICAgICAgIGlkOiAnd2VhcmFibGVfY29yZV9zaWduYWwnLAogICAgICAgIHR5cGU6ICdpbWFnZScsCiAgICAgICAgY2F0ZWdvcnk6ICdwcm9kdWN0X2Rlc2lnbicsCiAgICAgICAgbGFiZWw6ICdDb3JlIFNpZ25hbCBXZWFyYWJsZScsCiAgICAgICAgcHJvbXB0OiAnQSBzcGVjdWxhdGl2ZSB3ZWFyYWJsZSBkZXZpY2UgdGhhdCBtb25pdG9ycyB0aGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHNpZ25hbCBvZiB7e2lucHV0fX0uIEZvY3VzIG9uIGZvcm0gZmFjdG9yLCBwbGFjZW1lbnQgb24gdGhlIGJvZHksIG1hdGVyaWFscywgYW5kIGhvdyBmZWVkYmFjayBpcyBleHByZXNzZWQgdmlzdWFsbHkuJwogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2N1bHRfZXh0cmVtZV91c2VyJywKICAgICAgICB0eXBlOiAnaW1hZ2UnLAogICAgICAgIGNhdGVnb3J5OiAncHJvZHVjdF9kZXNpZ24nLAogICAgICAgIGxhYmVsOiAnRXh0cmVtZSBDdWx0IERpc2NpcGxlJywKICAgICAgICBwcm9tcHQ6ICdBbiBleHRyZW1lIGN1bHQgbWVtYmVyIHdob3NlIGVudGlyZSBpZGVudGl0eSByZXZvbHZlcyBhcm91bmQge3tpbnB1dH19LiBWaXN1YWxpemUgY2xvdGhpbmcsIHN5bWJvbHMsIGJvZHkgbW9kaWZpY2F0aW9ucywgdG9vbHMsIGFuZCBlbnZpcm9ubWVudGFsIGN1ZXMgdGhhdCBzaWduYWwgZGV2b3Rpb24uJwogICAgfSwKICAgIHsKICAgICAgICBpZDogJ2lucHV0X2FzX2N1cnJlbmN5JywKICAgICAgICB0eXBlOiAnaW1hZ2UnLAogICAgICAgIGNhdGVnb3J5OiAncHJvZHVjdF9kZXNpZ24nLAogICAgICAgIGxhYmVsOiAnVWx0aW1hdGUgQ3VycmVuY3knLAogICAgICAgIHByb21wdDogJ3t7aW5wdXR9fSBhcyB0aGUgdWx0aW1hdGUgZ2xvYmFsIGN1cnJlbmN5LiBWaXN1YWxpemUgaG93IGl0IGlzIHN0b3JlZCwgZGlzcGxheWVkLCB0cmFkZWQsIGFuZCBwcm90ZWN0ZWQgaW4gYSBuZWFyLWZ1dHVyZSBzb2NpZXR5LicKICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdzY2FyY2l0eV93b3JsZCcsCiAgICAgICAgdHlwZTogJ2ltYWdlJywKICAgICAgICBjYXRlZ29yeTogJ3Byb2R1Y3RfZGVzaWduJywKICAgICAgICBsYWJlbDogJ1dvcmxkIG9mIFNjYXJjaXR5JywKICAgICAgICBwcm9tcHQ6ICdBIHdvcmxkIHdoZXJlIHt7aW5wdXR9fSBoYXMgYmVjb21lIGV4dHJlbWVseSBzY2FyY2UuIFNob3cgc29jaWFsIGhpZXJhcmNoeSwgYXJjaGl0ZWN0dXJlLCB0ZWNobm9sb2d5LCBhbmQgZXZlcnlkYXkgYmVoYXZpb3JzIHNoYXBlZCBieSB0aGlzIHNjYXJjaXR5LicKICAgIH0sCiAgICB7CiAgICAgICAgaWQ6ICdkaXNjaXBsZXNfb2ZfaW5wdXQnLAogICAgICAgIHR5cGU6ICdpbWFnZScsCiAgICAgICAgY2F0ZWdvcnk6ICdwcm9kdWN0X2Rlc2lnbicsCiAgICAgICAgbGFiZWw6ICdUaGUgRGlzY2lwbGVzJywKICAgICAgICBwcm9tcHQ6ICdUaGUgbW9zdCBkZXZvdGVkIGtlZXBlcnMgb2Yge3tpbnB1dH194oCUdGhlIGVsaXRlIGRpc2NpcGxlcy4gVmlzdWFsaXplIHRoZWlyIGFwcGVhcmFuY2UsIGluc2lnbmlhLCB0b29scywgYW5kIHRoZSBlbnZpcm9ubWVudHMgd2hlcmUgdGhleSBnYXRoZXIgb3IgZ292ZXJuLicKICAgIH0sCiAgICAvLyBNZXRhCiAgICB7IGlkOiAnaGlkZGVuX3F1ZXN0aW9uJywgdHlwZTogJ3RleHQnLCBjYXRlZ29yeTogJ21ldGEnLCBsYWJlbDogJ0hpZGRlbiBRdWVzdGlvbicsIHByb21wdDogJ1doYXQgZGVlcGVyIHF1ZXN0aW9uIG1pZ2h0IHt7aW5wdXR9fSBhY3R1YWxseSBiZSBwb2ludGluZyB0bz8nIH0sCl07Ci8vIFN0eWxlcyBmb3IgdGV4dCBjYXJkcwpjb25zdCBDQVJEX1NUWUxFUyA9IFsKICAgICJiZy13aGl0ZSBkYXJrOmJnLW5ldXRyYWwtOTAwIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMTAwIGZvbnQtc2VyaWYgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCIsIC8vIENsYXNzaWMKICAgICJiZy1uZXV0cmFsLTkwMCB0ZXh0LXdoaXRlIGZvbnQtc2FucyBib3JkZXIgYm9yZGVyLW5ldXRyYWwtODAwIiwgLy8gRGFyayBNb2Rlcm4KICAgICJiZy1wdXJwbGUtNTAgZGFyazpiZy1wdXJwbGUtOTAwLzIwIHRleHQtcHVycGxlLTkwMCBkYXJrOnRleHQtcHVycGxlLTEwMCBmb250LXNlcmlmIGl0YWxpYyBib3JkZXIgYm9yZGVyLXB1cnBsZS0xMDAgZGFyazpib3JkZXItcHVycGxlLTkwMC8zMCIsIC8vIFZpYmUKICAgICJiZy1ibHVlLTUwIGRhcms6YmctYmx1ZS05MDAvMjAgdGV4dC1ibHVlLTkwMCBkYXJrOnRleHQtYmx1ZS0xMDAgZm9udC1tb25vIHRleHQtc20gYm9yZGVyIGJvcmRlci1ibHVlLTEwMCBkYXJrOmJvcmRlci1ibHVlLTkwMC8zMCIsIC8vIFRlY2huaWNhbAogICAgImJnLWVtZXJhbGQtNTAgZGFyazpiZy1lbWVyYWxkLTkwMC8yMCB0ZXh0LWVtZXJhbGQtOTAwIGRhcms6dGV4dC1lbWVyYWxkLTEwMCBmb250LXNlcmlmIGJvcmRlciBib3JkZXItZW1lcmFsZC0xMDAgZGFyazpib3JkZXItZW1lcmFsZC05MDAvMzAiLCAvLyBOYXR1cmFsCiAgICAiYmctb3JhbmdlLTUwIGRhcms6Ymctb3JhbmdlLTkwMC8yMCB0ZXh0LW9yYW5nZS05MDAgZGFyazp0ZXh0LW9yYW5nZS0xMDAgZm9udC1zYW5zIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCBib3JkZXIgYm9yZGVyLW9yYW5nZS0xMDAgZGFyazpib3JkZXItb3JhbmdlLTkwMC8zMCIsIC8vIExvdWQKXTsKY29uc3QgRGl2ZXJnZW50T3ZlcmxheSA9ICgpID0+IHsKICAgIGNvbnN0IHsgbW9kZSwgaXNCcmFpbnN0b3JtT3Blbiwgc2V0QnJhaW5zdG9ybU9wZW4gfSA9IHVzZU1vZGUoKTsKICAgIGNvbnN0IGlzRGl2ZXJnZW50ID0gbW9kZSA9PT0gJ2RpdmVyZ2VudCc7CiAgICBjb25zdCBbdGhvdWdodCwgc2V0VGhvdWdodF0gPSB1c2VTdGF0ZSgnJyk7CiAgICBjb25zdCBbaXNUaGlua2luZywgc2V0SXNUaGlua2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7CiAgICBjb25zdCBbYWN0aXZlTW9kdWxlcywgc2V0QWN0aXZlTW9kdWxlc10gPSB1c2VTdGF0ZShbXSk7CiAgICBjb25zdCBbcmVzdWx0cywgc2V0UmVzdWx0c10gPSB1c2VTdGF0ZSh7fSk7CiAgICBjb25zdCBbZXhwYW5kZWRNb2R1bGVJZCwgc2V0RXhwYW5kZWRNb2R1bGVJZF0gPSB1c2VTdGF0ZShudWxsKTsKICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKG51bGwpOwogICAgLy8gQXV0by1mb2N1cyBsb2dpYwogICAgdXNlRWZmZWN0KCgpID0+IHsKICAgICAgICBpZiAoaXNEaXZlcmdlbnQgJiYgaXNCcmFpbnN0b3JtT3BlbiAmJiBpbnB1dFJlZi5jdXJyZW50KSB7CiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKSwgMTAwKTsKICAgICAgICB9CiAgICB9LCBbaXNEaXZlcmdlbnQsIGlzQnJhaW5zdG9ybU9wZW5dKTsKICAgIC8vIEhhbmRsZSBUZXh0YXJlYSBSZXNpemUKICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gKGUpID0+IHsKICAgICAgICBzZXRUaG91Z2h0KGUudGFyZ2V0LnZhbHVlKTsKICAgICAgICBlLnRhcmdldC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7CiAgICAgICAgZS50YXJnZXQuc3R5bGUuaGVpZ2h0ID0gYCR7ZS50YXJnZXQuc2Nyb2xsSGVpZ2h0fXB4YDsKICAgIH07CiAgICBjb25zdCBjbGVhckJyYWluc3Rvcm0gPSAoKSA9PiB7CiAgICAgICAgc2V0VGhvdWdodCgnJyk7CiAgICAgICAgc2V0QWN0aXZlTW9kdWxlcyhbXSk7CiAgICAgICAgc2V0UmVzdWx0cyh7fSk7CiAgICAgICAgc2V0SXNUaGlua2luZyhmYWxzZSk7CiAgICAgICAgc2V0RXhwYW5kZWRNb2R1bGVJZChudWxsKTsKICAgICAgICBpZiAoaW5wdXRSZWYuY3VycmVudCkgewogICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJzsKICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpOwogICAgICAgIH0KICAgIH07CiAgICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHsKICAgICAgICBzZXRCcmFpbnN0b3JtT3BlbihmYWxzZSk7CiAgICAgICAgc2V0RXhwYW5kZWRNb2R1bGVJZChudWxsKTsKICAgIH07CiAgICAvLyBIZWxwZXI6IFNlbGVjdCA5IHJhbmRvbSBtb2R1bGVzIHdpdGggYXQgbGVhc3QgMyBpbWFnZXMKICAgIGNvbnN0IHBpY2tNb2R1bGVzID0gKCkgPT4gewogICAgICAgIGNvbnN0IHNodWZmbGVkID0gWy4uLk1PRFVMRVNdLnNvcnQoKCkgPT4gMC41IC0gTWF0aC5yYW5kb20oKSk7CiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBbXTsKICAgICAgICAvLyAxLiBQcmlvcml0aXplIEltYWdlczogRmluZCBhbGwgaW1hZ2UgbW9kdWxlcwogICAgICAgIGNvbnN0IGltYWdlTW9kcyA9IHNodWZmbGVkLmZpbHRlcihtID0+IG0udHlwZSA9PT0gJ2ltYWdlJyk7CiAgICAgICAgLy8gVGFrZSAzIGRpc3RpbmN0IGltYWdlcwogICAgICAgIGZvciAoY29uc3QgaW1nIG9mIGltYWdlTW9kcykgewogICAgICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoIDwgMykKICAgICAgICAgICAgICAgIHNlbGVjdGVkLnB1c2goaW1nKTsKICAgICAgICB9CiAgICAgICAgLy8gMi4gRmlsbCByZXN0IHdpdGggZGlzdGluY3QgbW9kdWxlcyAodXAgdG8gOSB0b3RhbCkKICAgICAgICBmb3IgKGNvbnN0IG0gb2Ygc2h1ZmZsZWQpIHsKICAgICAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+PSA5KQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGlmICghc2VsZWN0ZWQuZmluZChzID0+IHMuaWQgPT09IG0uaWQpKSB7CiAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKG0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFNodWZmbGUgdGhlIGZpbmFsIHNlbGVjdGlvbgogICAgICAgIHJldHVybiBzZWxlY3RlZC5zb3J0KCgpID0+IDAuNSAtIE1hdGgucmFuZG9tKCkpOwogICAgfTsKICAgIC8vIEhlbHBlcjogSW1hZ2UgR2VuZXJhdGlvbgogICAgY29uc3QgZ2VuZXJhdGVJbWFnZSA9IGFzeW5jIChwcm9tcHQpID0+IHsKICAgICAgICB0cnkgewogICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFpLm1vZGVscy5nZW5lcmF0ZUNvbnRlbnQoewogICAgICAgICAgICAgICAgbW9kZWw6ICdnZW1pbmktMi41LWZsYXNoLWltYWdlJywKICAgICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgcGFydHM6IFt7IHRleHQ6IHByb21wdCB9XQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZzogewogICAgICAgICAgICAgICAgICAgIGltYWdlQ29uZmlnOiB7IGFzcGVjdFJhdGlvOiAiMzo0IiB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcmVzcG9uc2UuY2FuZGlkYXRlc1swXS5jb250ZW50LnBhcnRzKSB7CiAgICAgICAgICAgICAgICBpZiAocGFydC5pbmxpbmVEYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHtwYXJ0LmlubGluZURhdGEuZGF0YX1gOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoZSkgewogICAgICAgICAgICBjb25zb2xlLmVycm9yKCJJbWFnZSBnZW5lcmF0aW9uIGZhaWxlZCIsIGUpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICB9OwogICAgY29uc3QgdHJpZ2dlckJyYWluc3Rvcm0gPSBhc3luYyAoKSA9PiB7CiAgICAgICAgaWYgKCF0aG91Z2h0LnRyaW0oKSkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIHNldElzVGhpbmtpbmcodHJ1ZSk7CiAgICAgICAgc2V0RXhwYW5kZWRNb2R1bGVJZChudWxsKTsKICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHBpY2tNb2R1bGVzKCk7CiAgICAgICAgc2V0QWN0aXZlTW9kdWxlcyhzZWxlY3RlZCk7CiAgICAgICAgLy8gSW5pdGlhbGl6ZSByZXN1bHRzIHN0YXRlIHdpdGggbG9hZGluZwogICAgICAgIGNvbnN0IGluaXRpYWxSZXN1bHRzID0ge307CiAgICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgobSwgaW5kZXgpID0+IHsKICAgICAgICAgICAgaW5pdGlhbFJlc3VsdHNbbS5pZF0gPSB7CiAgICAgICAgICAgICAgICBtb2R1bGVJZDogbS5pZCwKICAgICAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSwKICAgICAgICAgICAgICAgIHN0eWxlSW5kZXg6IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIENBUkRfU1RZTEVTLmxlbmd0aCkKICAgICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgICBzZXRSZXN1bHRzKGluaXRpYWxSZXN1bHRzKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBDb25zdHJ1Y3QgdGhlIHByb21wdCBmb3IgdGV4dCBnZW5lcmF0aW9uICsgaW1hZ2UgcHJvbXB0cwogICAgICAgICAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSBzZWxlY3RlZC5tYXAobSA9PiB7CiAgICAgICAgICAgICAgICBsZXQgcHJvbXB0VGV4dCA9IG0ucHJvbXB0LnJlcGxhY2UoJ3t7aW5wdXR9fScsIGAiJHt0aG91Z2h0fSJgKTsKICAgICAgICAgICAgICAgIC8vIER5bmFtaWMgcHJvbXB0IGhhbmRsaW5nIChlLmcuIHJhbmRvbSBwb2V0KQogICAgICAgICAgICAgICAgaWYgKG0uaXNEeW5hbWljICYmIG0uaWQgPT09ICdwb2V0cnknKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFuZG9tUG9ldCA9IFBPRVRTW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIFBPRVRTLmxlbmd0aCldOwogICAgICAgICAgICAgICAgICAgIHByb21wdFRleHQgPSBwcm9tcHRUZXh0LnJlcGxhY2UoJ3t7cG9ldH19JywgcmFuZG9tUG9ldCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gYElEOiAiJHttLmlkfSJcblR5cGU6ICR7bS50eXBlfVxuSW5zdHJ1Y3Rpb246ICR7cHJvbXB0VGV4dH1gOwogICAgICAgICAgICB9KS5qb2luKCdcblxuJyk7CiAgICAgICAgICAgIGNvbnN0IHN5c3RlbVByb21wdCA9IGAKICAgICAgICAgICAgWW91IGFyZSBhIGNyZWF0aXZlIGNhdGFseXN0LiBUaGUgdXNlciBpbnB1dCBpczogIiR7dGhvdWdodH0iLgogICAgICAgICAgICAKICAgICAgICAgICAgUGVyZm9ybSB0aGUgZm9sbG93aW5nIHRhc2tzIGJhc2VkIG9uIHRoZSBtb2R1bGVzIGxpc3RlZCBiZWxvdy4KICAgICAgICAgICAgUmV0dXJuIGEgcHVyZWx5IHZhbGlkIEpTT04gb2JqZWN0LgogICAgICAgICAgICBUaGUga2V5cyBvZiB0aGUgSlNPTiBvYmplY3QgbXVzdCBiZSB0aGUgTW9kdWxlIElEcy4KICAgICAgICAgICAgCiAgICAgICAgICAgIEZvciAndGV4dCcgbW9kdWxlcywgdGhlIHZhbHVlIHNob3VsZCBiZSBhbiBvYmplY3Q6IHsgImNvbnRlbnQiOiAiVGhlIGNyZWF0aXZlIHJlc3BvbnNlIHRleHQuLi4iIH0KICAgICAgICAgICAgRm9yICdpbWFnZScgbW9kdWxlcywgdGhlIHZhbHVlIHNob3VsZCBiZSBhbiBvYmplY3Q6IHsgImltYWdlX3Byb21wdCI6ICJBIGhpZ2hseSBkZXRhaWxlZCB2aXN1YWwgZGVzY3JpcHRpb24gb2YgdGhlIGltYWdlIHRvIGdlbmVyYXRlLi4uIiB9CgogICAgICAgICAgICBDb25zdHJhaW50czoKICAgICAgICAgICAgMS4gS2VlcCBhbGwgdGV4dCByZXNwb25zZXMgY29uY2lzZSAoYXBwcm94IDYwIHdvcmRzIG1heGltdW0gcGVyIHNlY3Rpb24pLgogICAgICAgICAgICAyLiBCZSBjcmVhdGl2ZSBhbmQgc3BlY2lmaWMuCgogICAgICAgICAgICBNb2R1bGVzOgogICAgICAgICAgICAke2luc3RydWN0aW9uc30KICAgICAgICBgOwogICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFpLm1vZGVscy5nZW5lcmF0ZUNvbnRlbnQoewogICAgICAgICAgICAgICAgbW9kZWw6ICdnZW1pbmktMi41LWZsYXNoJywKICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBzeXN0ZW1Qcm9tcHQsCiAgICAgICAgICAgICAgICBjb25maWc6IHsgcmVzcG9uc2VNaW1lVHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlLnRleHQgfHwgJ3t9Jyk7CiAgICAgICAgICAgIC8vIFVwZGF0ZSBUZXh0IFJlc3VsdHMKICAgICAgICAgICAgY29uc3QgdXBkYXRlZFJlc3VsdHMgPSB7IC4uLmluaXRpYWxSZXN1bHRzIH07CiAgICAgICAgICAgIGNvbnN0IGltYWdlUHJvbWlzZXMgPSBbXTsKICAgICAgICAgICAgc2VsZWN0ZWQuZm9yRWFjaChtID0+IHsKICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBqc29uW20uaWRdOwogICAgICAgICAgICAgICAgaWYgKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobS50eXBlID09PSAndGV4dCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZFJlc3VsdHNbbS5pZF0gPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi51cGRhdGVkUmVzdWx0c1ttLmlkXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRhdGEuY29udGVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAobS50eXBlID09PSAnaW1hZ2UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgYXN5bmMgaW1hZ2UgZ2VuZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwID0gZ2VuZXJhdGVJbWFnZShkYXRhLmltYWdlX3Byb21wdCkudGhlbihpbWdVcmkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0cyhwcmV2ID0+ICh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbS5pZF06IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlttLmlkXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VVcmk6IGltZ1VyaSB8fCB1bmRlZmluZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVByb21pc2VzLnB1c2gocCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdXBkYXRlZFJlc3VsdHNbbS5pZF0gPSB7IC4uLnVwZGF0ZWRSZXN1bHRzW20uaWRdLCBpc0xvYWRpbmc6IGZhbHNlLCBjb250ZW50OiAiRmFpbGVkIHRvIGdlbmVyYXRlLiIgfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHNldFJlc3VsdHModXBkYXRlZFJlc3VsdHMpOwogICAgICAgICAgICBzZXRJc1RoaW5raW5nKGZhbHNlKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkJyYWluc3Rvcm0gZXJyb3IiLCBlcnJvcik7CiAgICAgICAgICAgIHNldElzVGhpbmtpbmcoZmFsc2UpOwogICAgICAgIH0KICAgIH07CiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGUpID0+IHsKICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB0cmlnZ2VyQnJhaW5zdG9ybSgpOwogICAgICAgIH0KICAgIH07CiAgICBjb25zdCBhY3RpdmVFeHBhbmRlZE1vZHVsZSA9IGV4cGFuZGVkTW9kdWxlSWQgPyBhY3RpdmVNb2R1bGVzLmZpbmQobSA9PiBtLmlkID09PSBleHBhbmRlZE1vZHVsZUlkKSA6IG51bGw7CiAgICBjb25zdCBhY3RpdmVFeHBhbmRlZFJlc3VsdCA9IGV4cGFuZGVkTW9kdWxlSWQgPyByZXN1bHRzW2V4cGFuZGVkTW9kdWxlSWRdIDogbnVsbDsKICAgIGlmICghaXNEaXZlcmdlbnQgfHwgIWlzQnJhaW5zdG9ybU9wZW4pCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZml4ZWQgdG9wLTE2IGxlZnQtMCByaWdodC0wIGJvdHRvbS0wIHotNDAgYmctbmV1dHJhbC01MC85NSBkYXJrOmJnLW5ldXRyYWwtOTUwLzk1IGJhY2tkcm9wLWJsdXItbWQgb3ZlcmZsb3cteS1hdXRvIiwgY2hpbGRyZW46IF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LTd4bCBteC1hdXRvIHctZnVsbCBweC02IHB0LTEyIHBiLTMyIiwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByZWxhdGl2ZSBtYi0xMiIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAidGV4dC1jZW50ZXIgc3BhY2UteS0yIG1iLTggYW5pbWF0ZS1pbiBzbGlkZS1pbi1mcm9tLWJvdHRvbS00IGZhZGUtaW4gZHVyYXRpb24tNzAwIiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLVtsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0ZGNkI0QV8wJSwjRTk0QThBXzM1JSwjOUI1REU1XzY1JSwjNUI0RkUzXzEwMCUpXSIsIGNoaWxkcmVuOiAiRGl2ZXJnZW50IE1vZGUiIH0pLCBfanN4cygicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTUwMCBkYXJrOnRleHQtbmV1dHJhbC00MDAgbWF4LXctbWQgbXgtYXV0byBsZWFkaW5nLXJlbGF4ZWQiLCBjaGlsZHJlbjogWyJOb3QgZXZlcnl0aGluZyBzdGFydHMgZnVsbHkgZm9ybWVkLiIsIF9qc3goImJyIiwge30pLCAiRXhwbG9yZSBpZGVhcyB3aXRoIGEgbmV3IGxlbnMuIl0gfSldIH0pLCAodGhvdWdodCB8fCBhY3RpdmVNb2R1bGVzLmxlbmd0aCA+IDApICYmIChfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6IGNsZWFyQnJhaW5zdG9ybSwgY2xhc3NOYW1lOiAiYWJzb2x1dGUgcmlnaHQtMCB0b3AtMCBtZDpyaWdodC1hdXRvIG1kOmxlZnQtW2NhbGMoNTAlKzIwMHB4KV0gcC0yIHRleHQtbmV1dHJhbC00MDAgaG92ZXI6dGV4dC1yZWQtNTAwIHRyYW5zaXRpb24tY29sb3JzIiwgdGl0bGU6ICJDbGVhciBTZXNzaW9uIiwgY2hpbGRyZW46IF9qc3goInN2ZyIsIHsgY2xhc3NOYW1lOiAidy01IGgtNSIsIGZpbGw6ICJub25lIiwgc3Ryb2tlOiAiY3VycmVudENvbG9yIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBzdHJva2VMaW5lY2FwOiAicm91bmQiLCBzdHJva2VMaW5lam9pbjogInJvdW5kIiwgc3Ryb2tlV2lkdGg6IDIsIGQ6ICJNNiAxOEwxOCA2TTYgNmwxMiAxMiIgfSkgfSkgfSkpXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicmVsYXRpdmUgZ3JvdXAgdGV4dC1jZW50ZXIgbWItMTYgbWF4LXctM3hsIG14LWF1dG8iLCBjaGlsZHJlbjogW19qc3goInRleHRhcmVhIiwgeyByZWY6IGlucHV0UmVmLCBpZDogImJyYWluc3Rvcm0iLCB2YWx1ZTogdGhvdWdodCwgb25DaGFuZ2U6IGhhbmRsZUlucHV0LCBvbktleURvd246IGhhbmRsZUtleURvd24sIHBsYWNlaG9sZGVyOiAiV2hhdCdzIG9uIHlvdXIgbWluZD8iLCByb3dzOiAxLCBjbGFzc05hbWU6ICJ3LWZ1bGwgYmctdHJhbnNwYXJlbnQgdGV4dC0zeGwgbWQ6dGV4dC01eGwgZm9udC1zZXJpZiB0ZXh0LWNlbnRlciBwbGFjZWhvbGRlcjp0ZXh0LW5ldXRyYWwtMzAwIGRhcms6cGxhY2Vob2xkZXI6dGV4dC1uZXV0cmFsLTcwMCB0ZXh0LW5ldXRyYWwtOTAwIGRhcms6dGV4dC1uZXV0cmFsLTEwMCBib3JkZXItbm9uZSBmb2N1czpyaW5nLTAgb3V0bGluZS1ub25lIHJlc2l6ZS1ub25lIHB5LTQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIiwgYXV0b0ZvY3VzOiB0cnVlIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImgtWzNweF0gdy1mdWxsIGJnLW5ldXRyYWwtMjAwIGRhcms6YmctbmV1dHJhbC04MDAgbXQtMCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1mdWxsIiwgY2hpbGRyZW46IF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiYWJzb2x1dGUgaW5zZXQtMCBiZy1bbGluZWFyLWdyYWRpZW50KDkwZGVnLCNGRjZCNEFfMCUsI0U5NEE4QV8zNSUsIzlCNURFNV82NSUsIzVCNEZFM18xMDAlKV0iIH0pIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogIm10LTYgaC02IGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHJlbGF0aXZlIiwgY2hpbGRyZW46IGlzVGhpbmtpbmcgPyAoX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAiZmxleCBzcGFjZS14LTEuNSBvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwIiwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInctMiBoLTIgYmctcHVycGxlLTUwMC81MCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1ib3VuY2UiLCBzdHlsZTogeyBhbmltYXRpb25EZWxheTogJzBtcycgfSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ3LTIgaC0yIGJnLXB1cnBsZS01MDAvNTAgcm91bmRlZC1mdWxsIGFuaW1hdGUtYm91bmNlIiwgc3R5bGU6IHsgYW5pbWF0aW9uRGVsYXk6ICcxNTBtcycgfSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ3LTIgaC0yIGJnLXB1cnBsZS01MDAvNTAgcm91bmRlZC1mdWxsIGFuaW1hdGUtYm91bmNlIiwgc3R5bGU6IHsgYW5pbWF0aW9uRGVsYXk6ICczMDBtcycgfSB9KV0gfSkpIDogKGFjdGl2ZU1vZHVsZXMubGVuZ3RoID4gMCA/IChfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6IHRyaWdnZXJCcmFpbnN0b3JtLCBjbGFzc05hbWU6ICJwLTIgcm91bmRlZC1mdWxsIHRleHQtbmV1dHJhbC00MDAgaG92ZXI6dGV4dC1wdXJwbGUtNjAwIGhvdmVyOmJnLXB1cnBsZS01MCBkYXJrOmhvdmVyOmJnLXB1cnBsZS05MDAvMjAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwIiwgdGl0bGU6ICJSZWdlbmVyYXRlIElkZWFzIiwgY2hpbGRyZW46IF9qc3goInN2ZyIsIHsgY2xhc3NOYW1lOiAidy01IGgtNSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi01MDAgZ3JvdXAtaG92ZXI6cm90YXRlLTE4MCIsIGZpbGw6ICJub25lIiwgc3Ryb2tlOiAiY3VycmVudENvbG9yIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBzdHJva2VMaW5lY2FwOiAicm91bmQiLCBzdHJva2VMaW5lam9pbjogInJvdW5kIiwgc3Ryb2tlV2lkdGg6IDIsIGQ6ICJNNCA0djVoLjU4Mm0xNS4zNTYgMkE4LjAwMSA4LjAwMSAwIDAwNC41ODIgOW0wIDBIOW0xMSAxMXYtNWgtLjU4MW0wIDBhOC4wMDMgOC4wMDMgMCAwMS0xNS4zNTctMm0xNS4zNTcgMkgxNSIgfSkgfSkgfSkpIDogKF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogInRleHQteHMgdGV4dC1uZXV0cmFsLTQwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwIiwgY2hpbGRyZW46ICJQcmVzcyBFbnRlciB0byBTcGFyayIgfSkpKSB9KV0gfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtMyBnYXAtNiBhdXRvLXJvd3MtZnIiLCBjaGlsZHJlbjogYWN0aXZlTW9kdWxlcy5tYXAoKG1vZHVsZSwgaSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc3VsdHNbbW9kdWxlLmlkXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IENBUkRfU1RZTEVTW3Jlc3VsdD8uc3R5bGVJbmRleCB8fCAwXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IG9uQ2xpY2s6ICgpID0+ICFyZXN1bHQ/LmlzTG9hZGluZyAmJiBzZXRFeHBhbmRlZE1vZHVsZUlkKG1vZHVsZS5pZCksIGNsYXNzTmFtZTogYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmUgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gZmxleCBmbGV4LWNvbCBoLTk2IGFuaW1hdGUtaW4gc2xpZGUtaW4tZnJvbS1ib3R0b20tOCBkdXJhdGlvbi03MDAgZmlsbC1tb2RlLWZvcndhcmRzIGN1cnNvci1wb2ludGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke21vZHVsZS50eXBlID09PSAnaW1hZ2UnID8gJ2JnLW5ldXRyYWwtOTAwJyA6IHN0eWxlfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93LWxnIGhvdmVyOnNoYWRvdy0yeGwgaG92ZXI6LXRyYW5zbGF0ZS15LTEgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tNTAwCiAgICAgICAgICAgICAgICAgICAgICAgIGAsIHN0eWxlOiB7IGFuaW1hdGlvbkRlbGF5OiBgJHtpICogMTAwfW1zYCB9LCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAicC04IHBiLTQgcmVsYXRpdmUgei0xMCBmbGV4LW5vbmUgcG9pbnRlci1ldmVudHMtbm9uZSIsIGNoaWxkcmVuOiBfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6IGB0ZXh0LVsxMHB4XSBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwICR7bW9kdWxlLnR5cGUgPT09ICdpbWFnZScgPyAndGV4dC13aGl0ZScgOiAnY3VycmVudENvbG9yJ31gLCBjaGlsZHJlbjogbW9kdWxlLmxhYmVsIH0pIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogYHJlbGF0aXZlIHotMTAgZmxleC1ncm93IHctZnVsbCAke21vZHVsZS50eXBlID09PSAndGV4dCcgPyAnb3ZlcmZsb3cteS1hdXRvIHB4LTggcGItOCBjdXN0b20tc2Nyb2xsYmFyIGZsZXggZmxleC1jb2wganVzdGlmeS1zdGFydCcgOiAnZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXInfWAsIGNoaWxkcmVuOiByZXN1bHQ/LmlzTG9hZGluZyA/IChfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiLCBjaGlsZHJlbjogX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ3LTYgaC02IGJvcmRlci0yIGJvcmRlci1jdXJyZW50IGJvcmRlci10LXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBhbmltYXRlLXNwaW4gb3BhY2l0eS0zMCIgfSkgfSkpIDogbW9kdWxlLnR5cGUgPT09ICd0ZXh0JyA/IChfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIGxlYWRpbmctcmVsYXhlZCB3aGl0ZXNwYWNlLXByZS13cmFwIHBvaW50ZXItZXZlbnRzLW5vbmUiLCBjaGlsZHJlbjogcmVzdWx0Py5jb250ZW50IH0pKSA6ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBDb250ZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Py5pbWFnZVVyaSA/IChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSBpbnNldC0wIiwgY2hpbGRyZW46IFtfanN4KCJpbWciLCB7IHNyYzogcmVzdWx0LmltYWdlVXJpLCBhbHQ6IG1vZHVsZS5sYWJlbCwgY2xhc3NOYW1lOiAidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgYW5pbWF0ZS1pbiBmYWRlLWluIGR1cmF0aW9uLTEwMDAiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tdCBmcm9tLWJsYWNrLzgwIHRvLXRyYW5zcGFyZW50IiB9KV0gfSkpIDogKF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidGV4dC14cyB0ZXh0LW5ldXRyYWwtNTAwIGZvbnQtbW9ubyIsIGNoaWxkcmVuOiAiR2VuZXJhdGl2ZSBBcnQgTG9hZGluZy4uLiIgfSkpKSB9KSwgbW9kdWxlLnR5cGUgPT09ICdpbWFnZScgJiYgcmVzdWx0Py5pbWFnZVVyaSAmJiAoX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBwLTggei0yMCBwb2ludGVyLWV2ZW50cy1ub25lIiwgY2hpbGRyZW46IF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtd2hpdGUgZm9udC1zZXJpZiB0ZXh0LXhsIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSBkcm9wLXNoYWRvdy1tZCB0cnVuY2F0ZSIsIGNoaWxkcmVuOiB0aG91Z2h0IH0pIH0pKSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSBpbnNldC0wIGJnLWJsYWNrLzUgb3BhY2l0eS0wIGhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBwb2ludGVyLWV2ZW50cy1ub25lIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIiB9KV0gfSwgbW9kdWxlLmlkKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSB9KV0gfSkgfSksIGFjdGl2ZUV4cGFuZGVkTW9kdWxlICYmIGFjdGl2ZUV4cGFuZGVkUmVzdWx0ICYmIChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmaXhlZCBpbnNldC0wIHotWzYwXSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTQgbWQ6cC04IGFuaW1hdGUtaW4gZmFkZS1pbiBkdXJhdGlvbi0zMDAiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiYWJzb2x1dGUgaW5zZXQtMCBiZy1uZXV0cmFsLTk1MC84MCBiYWNrZHJvcC1ibHVyLW1kIiwgb25DbGljazogKCkgPT4gc2V0RXhwYW5kZWRNb2R1bGVJZChudWxsKSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiBgCiAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmUgdy1mdWxsIG1heC13LTZ4bCBoLVs4NXZoXSByb3VuZGVkLTJ4bCBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LTJ4bCBmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93CiAgICAgICAgICAgICAgICAgICAgYmctd2hpdGUgZGFyazpiZy1uZXV0cmFsLTkwMAogICAgICAgICAgICAgICAgYCwgb25DbGljazogKGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCksIGNoaWxkcmVuOiBbX2pzeCgiYnV0dG9uIiwgeyBvbkNsaWNrOiAoKSA9PiBzZXRFeHBhbmRlZE1vZHVsZUlkKG51bGwpLCBjbGFzc05hbWU6ICJhYnNvbHV0ZSB0b3AtNCByaWdodC00IHAtMiByb3VuZGVkLWZ1bGwgYmctbmV1dHJhbC0xMDAgZGFyazpiZy1uZXV0cmFsLTgwMCBob3ZlcjpiZy1uZXV0cmFsLTIwMCBkYXJrOmhvdmVyOmJnLW5ldXRyYWwtNzAwIHotNTAgdHJhbnNpdGlvbi1jb2xvcnMiLCBjaGlsZHJlbjogX2pzeCgic3ZnIiwgeyBjbGFzc05hbWU6ICJ3LTYgaC02IiwgZmlsbDogIm5vbmUiLCBzdHJva2U6ICJjdXJyZW50Q29sb3IiLCB2aWV3Qm94OiAiMCAwIDI0IDI0IiwgY2hpbGRyZW46IF9qc3goInBhdGgiLCB7IHN0cm9rZUxpbmVjYXA6ICJyb3VuZCIsIHN0cm9rZUxpbmVqb2luOiAicm91bmQiLCBzdHJva2VXaWR0aDogMiwgZDogIk02IDE4TDE4IDZNNiA2bDEyIDEyIiB9KSB9KSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6IGAKICAgICAgICAgICAgICAgICAgICB3LWZ1bGwgbWQ6dy0xLzIgaC0xLzMgbWQ6aC1mdWxsIHJlbGF0aXZlCiAgICAgICAgICAgICAgICAgICAgJHthY3RpdmVFeHBhbmRlZE1vZHVsZS50eXBlID09PSAnaW1hZ2UnID8gJ2JnLWJsYWNrJyA6ICdiZy1uZXV0cmFsLTUwIGRhcms6YmctbmV1dHJhbC05NTAgcC04IGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXInfQogICAgICAgICAgICAgICAgYCwgY2hpbGRyZW46IGFjdGl2ZUV4cGFuZGVkTW9kdWxlLnR5cGUgPT09ICdpbWFnZScgPyAoYWN0aXZlRXhwYW5kZWRSZXN1bHQuaW1hZ2VVcmkgPyAoX2pzeCgiaW1nIiwgeyBzcmM6IGFjdGl2ZUV4cGFuZGVkUmVzdWx0LmltYWdlVXJpLCBhbHQ6IGFjdGl2ZUV4cGFuZGVkTW9kdWxlLmxhYmVsLCBjbGFzc05hbWU6ICJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb250YWluIiB9KSkgOiAoX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLWZ1bGwgdGV4dC1uZXV0cmFsLTUwMCIsIGNoaWxkcmVuOiAiSW1hZ2UgTG9hZGluZy4uLiIgfSkpKSA6IChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYXgtdy1tZCBteC1hdXRvIiwgY2hpbGRyZW46IFtfanN4KCJoMiIsIHsgY2xhc3NOYW1lOiAidGV4dC0zeGwgZm9udC1zZXJpZiBtYi00IiwgY2hpbGRyZW46IGFjdGl2ZUV4cGFuZGVkTW9kdWxlLmxhYmVsIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImgtMSB3LTIwIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1vcmFuZ2UtNDAwIHZpYS1waW5rLTUwMCB0by1wdXJwbGUtNTAwIHJvdW5kZWQtZnVsbCBtYi02IiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTUwMCB0ZXh0LXNtIGZvbnQtbW9ubyB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTIiLCBjaGlsZHJlbjogIlByb21wdCBTdHJhdGVneSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwIGl0YWxpYyIsIGNoaWxkcmVuOiBhY3RpdmVFeHBhbmRlZE1vZHVsZS5wcm9tcHQucmVwbGFjZSgne3tpbnB1dH19JywgdGhvdWdodCkgfSldIH0pKSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ3LWZ1bGwgbWQ6dy0xLzIgaC0yLzMgbWQ6aC1mdWxsIHAtOCBtZDpwLTEyIG92ZXJmbG93LXktYXV0byBiZy13aGl0ZSBkYXJrOmJnLW5ldXRyYWwtOTAwIiwgY2hpbGRyZW46IF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LXhsIG14LWF1dG8iLCBjaGlsZHJlbjogW19qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1uZXV0cmFsLTQwMCBtYi04IiwgY2hpbGRyZW46ICJHZW5lcmF0ZWQgT3V0cHV0IiB9KSwgYWN0aXZlRXhwYW5kZWRNb2R1bGUudHlwZSA9PT0gJ3RleHQnID8gKF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAicHJvc2UgZGFyazpwcm9zZS1pbnZlcnQgcHJvc2UtbGciLCBjaGlsZHJlbjogX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAid2hpdGVzcGFjZS1wcmUtd3JhcCBsZWFkaW5nLXJlbGF4ZWQgZm9udC1zZXJpZiB0ZXh0LXhsIiwgY2hpbGRyZW46IGFjdGl2ZUV4cGFuZGVkUmVzdWx0LmNvbnRlbnQgfSkgfSkpIDogKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtZnVsbCB0ZXh0LWNlbnRlciBzcGFjZS15LTQiLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTJ4bCBmb250LXNlcmlmIiwgY2hpbGRyZW46ICJWaXN1YWwgU3ludGhlc2lzIiB9KSwgX2pzeHMoInAiLCB7IGNsYXNzTmFtZTogInRleHQtbmV1dHJhbC01MDAiLCBjaGlsZHJlbjogWyJUaGUgaW1hZ2Ugd2FzIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUgY29uY2VwdDogIiwgX2pzeCgiYnIiLCB7fSksIF9qc3hzKCJzcGFuIiwgeyBjbGFzc05hbWU6ICJmb250LW1lZGl1bSB0ZXh0LW5ldXRyYWwtOTAwIGRhcms6dGV4dC1uZXV0cmFsLTEwMCIsIGNoaWxkcmVuOiBbIlwiIiwgdGhvdWdodCwgIlwiIl0gfSldIH0pLCBfanN4KCJhIiwgeyBocmVmOiBhY3RpdmVFeHBhbmRlZFJlc3VsdC5pbWFnZVVyaSwgZG93bmxvYWQ6IGBkaXZlcmdlbnQtJHthY3RpdmVFeHBhbmRlZE1vZHVsZS5pZH0ucG5nYCwgY2xhc3NOYW1lOiAicHgtNiBweS0yIGJnLW5ldXRyYWwtOTAwIGRhcms6YmctbmV1dHJhbC0xMDAgdGV4dC13aGl0ZSBkYXJrOnRleHQtbmV1dHJhbC05MDAgcm91bmRlZC1mdWxsIGZvbnQtbWVkaXVtIHRleHQtc20gaG92ZXI6b3BhY2l0eS04MCB0cmFuc2l0aW9uLW9wYWNpdHkgbXQtNCIsIGNoaWxkcmVuOiAiRG93bmxvYWQgSW1hZ2UiIH0pXSB9KSldIH0pIH0pXSB9KV0gfSkpXSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IERpdmVyZ2VudE92ZXJsYXk7Cg==","@/context/AuthContext":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IEFDQ0VTU19LRVlTIH0gZnJvbSAnQC9jb25zdGFudHMnOwpjb25zdCBBdXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQodW5kZWZpbmVkKTsKZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlciA9ICh7IGNoaWxkcmVuIH0pID0+IHsKICAgIGNvbnN0IFtpc1VubG9ja2VkLCBzZXRJc1VubG9ja2VkXSA9IHVzZVN0YXRlKGZhbHNlKTsKICAgIC8vIENoZWNrIHNlc3Npb24gc3RvcmFnZSBvbiBtb3VudAogICAgdXNlRWZmZWN0KCgpID0+IHsKICAgICAgICBjb25zdCBzZXNzaW9uQXV0aCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3BvcnRmb2xpb191bmxvY2tlZCcpOwogICAgICAgIGlmIChzZXNzaW9uQXV0aCA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgIHNldElzVW5sb2NrZWQodHJ1ZSk7CiAgICAgICAgfQogICAgfSwgW10pOwogICAgY29uc3QgdW5sb2NrID0gKGtleSkgPT4gewogICAgICAgIC8vIENoZWNrIGlmIHRoZSBwcm92aWRlZCBrZXkgZXhpc3RzIGluIG91ciBhbGxvd2VkIGtleXMgYXJyYXkKICAgICAgICBpZiAoQUNDRVNTX0tFWVMuaW5jbHVkZXMoa2V5KSkgewogICAgICAgICAgICBzZXRJc1VubG9ja2VkKHRydWUpOwogICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdwb3J0Zm9saW9fdW5sb2NrZWQnLCAndHJ1ZScpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKICAgIHJldHVybiAoX2pzeChBdXRoQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogeyBpc1VubG9ja2VkLCB1bmxvY2sgfSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKTsKfTsKZXhwb3J0IGNvbnN0IHVzZUF1dGggPSAoKSA9PiB7CiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7CiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1c2VBdXRoIG11c3QgYmUgdXNlZCB3aXRoaW4gYW4gQXV0aFByb3ZpZGVyJyk7CiAgICB9CiAgICByZXR1cm4gY29udGV4dDsKfTsK","@/pages/ProjectDetail":"data:application/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gInJlYWN0L2pzeC1ydW50aW1lIjsKaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7CmltcG9ydCB7IHVzZVBhcmFtcywgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJzsKaW1wb3J0IHsgV09SS19JVEVNUyB9IGZyb20gJ0AvY29uc3RhbnRzJzsKaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJ0AvY29udGV4dC9BdXRoQ29udGV4dCc7CmltcG9ydCB7IHVzZU1vZGUgfSBmcm9tICdAL2NvbnRleHQvTW9kZUNvbnRleHQnOwovLyAtLS0gVmlzdWFsIEFydGlmYWN0IENvbXBvbmVudCAtLS0KLy8gUmVuZGVycyBhbiBhYnN0cmFjdCBhcmNoaXRlY3R1cmFsIGRpYWdyYW0gYmFzZWQgb24gdGhlIHByb2plY3QgSUQvVHlwZQpjb25zdCBTeXN0ZW1EaWFncmFtID0gKHsgdHlwZSwgbW9kZSB9KSA9PiB7CiAgICBjb25zdCBpc0RhcmsgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkYXJrJyk7CiAgICBjb25zdCBjb2xvciA9IG1vZGUgPT09ICdkaXZlcmdlbnQnID8gJyNjMDg0ZmMnIDogKGlzRGFyayA/ICcjZTVlN2ViJyA6ICcjMWYyOTM3Jyk7CiAgICBjb25zdCBvcGFjaXR5ID0gMC4yOwogICAgLy8gQWJzdHJhY3QgTm9kZXMKICAgIHJldHVybiAoX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAidy1mdWxsIGgtNjQgbWQ6aC05NiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItbmV1dHJhbC0yMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAgYmctbmV1dHJhbC01MCBkYXJrOmJnLW5ldXRyYWwtOTAwLzUwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsIGNoaWxkcmVuOiBbX2pzeHMoInN2ZyIsIHsgd2lkdGg6ICIxMDAlIiwgaGVpZ2h0OiAiMTAwJSIsIHZpZXdCb3g6ICIwIDAgODAwIDQwMCIsIGNsYXNzTmFtZTogImFic29sdXRlIGluc2V0LTAiLCBjaGlsZHJlbjogW19qc3goImRlZnMiLCB7IGNoaWxkcmVuOiBfanN4KCJwYXR0ZXJuIiwgeyBpZDogImdyaWQiLCB3aWR0aDogIjQwIiwgaGVpZ2h0OiAiNDAiLCBwYXR0ZXJuVW5pdHM6ICJ1c2VyU3BhY2VPblVzZSIsIGNoaWxkcmVuOiBfanN4KCJwYXRoIiwgeyBkOiAiTSA0MCAwIEwgMCAwIDAgNDAiLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogY29sb3IsIHN0cm9rZVdpZHRoOiAiMC41Iiwgc3Ryb2tlT3BhY2l0eTogIjAuMSIgfSkgfSkgfSksIF9qc3goInJlY3QiLCB7IHdpZHRoOiAiMTAwJSIsIGhlaWdodDogIjEwMCUiLCBmaWxsOiAidXJsKCNncmlkKSIgfSksIF9qc3hzKCJnIiwgeyBzdHJva2U6IGNvbG9yLCBmaWxsOiAibm9uZSIsIHN0cm9rZVdpZHRoOiAiMiIsIGNoaWxkcmVuOiBbX2pzeCgiY2lyY2xlIiwgeyBjeDogIjQwMCIsIGN5OiAiMjAwIiwgcjogIjQwIiwgZmlsbDogbW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAncmdiYSgxOTIsIDEzMiwgMjUyLCAwLjEpJyA6ICdyZ2JhKDEyOCwxMjgsMTI4LDAuMSknIH0pLCBfanN4KCJjaXJjbGUiLCB7IGN4OiAiNDAwIiwgY3k6ICIyMDAiLCByOiAiMjAiIH0pLCBfanN4KCJjaXJjbGUiLCB7IGN4OiAiMjUwIiwgY3k6ICIxNTAiLCByOiAiMTUiIH0pLCBfanN4KCJjaXJjbGUiLCB7IGN4OiAiNTUwIiwgY3k6ICIxNTAiLCByOiAiMTUiIH0pLCBfanN4KCJjaXJjbGUiLCB7IGN4OiAiMjUwIiwgY3k6ICIyNTAiLCByOiAiMTUiIH0pLCBfanN4KCJjaXJjbGUiLCB7IGN4OiAiNTUwIiwgY3k6ICIyNTAiLCByOiAiMTUiIH0pLCBfanN4KCJwYXRoIiwgeyBkOiAiTSAyNjUgMTUwIEwgMzgwIDIwMCIsIHN0cm9rZU9wYWNpdHk6IG9wYWNpdHkgfSksIF9qc3goInBhdGgiLCB7IGQ6ICJNIDUzNSAxNTAgTCA0MjAgMjAwIiwgc3Ryb2tlT3BhY2l0eTogb3BhY2l0eSB9KSwgX2pzeCgicGF0aCIsIHsgZDogIk0gMjY1IDI1MCBMIDM4MCAyMDAiLCBzdHJva2VPcGFjaXR5OiBvcGFjaXR5IH0pLCBfanN4KCJwYXRoIiwgeyBkOiAiTSA1MzUgMjUwIEwgNDIwIDIwMCIsIHN0cm9rZU9wYWNpdHk6IG9wYWNpdHkgfSksIF9qc3goInBhdGgiLCB7IGQ6ICJNIDE1MCAyMDAgTCAyMzUgMjAwIiwgc3Ryb2tlRGFzaGFycmF5OiAiNCA0Iiwgc3Ryb2tlT3BhY2l0eTogb3BhY2l0eSB9KSwgX2pzeCgicGF0aCIsIHsgZDogIk0gNTY1IDIwMCBMIDY1MCAyMDAiLCBzdHJva2VEYXNoYXJyYXk6ICI0IDQiLCBzdHJva2VPcGFjaXR5OiBvcGFjaXR5IH0pXSB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImFic29sdXRlIGJvdHRvbS00IHJpZ2h0LTQgdGV4dC14cyB0ZXh0LW5ldXRyYWwtNDAwIGZvbnQtbW9ubyIsIGNoaWxkcmVuOiBbIlN5c3RlbSBUb3BvbG9neTogIiwgdHlwZV0gfSldIH0pKTsKfTsKY29uc3QgUHJvamVjdERldGFpbCA9ICgpID0+IHsKICAgIGNvbnN0IHsgaWQgfSA9IHVzZVBhcmFtcygpOwogICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpOwogICAgY29uc3QgeyBpc1VubG9ja2VkLCB1bmxvY2sgfSA9IHVzZUF1dGgoKTsKICAgIGNvbnN0IHsgbW9kZSB9ID0gdXNlTW9kZSgpOwogICAgY29uc3QgW3Bhc3N3b3JkLCBzZXRQYXNzd29yZF0gPSB1c2VTdGF0ZSgnJyk7CiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKTsKICAgIGNvbnN0IHdvcmtJdGVtID0gV09SS19JVEVNUy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gaWQpOwogICAgaWYgKCF3b3JrSXRlbSkgewogICAgICAgIHJldHVybiBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInAtMjAgdGV4dC1jZW50ZXIiLCBjaGlsZHJlbjogIlByb2plY3Qgbm90IGZvdW5kIiB9KTsKICAgIH0KICAgIC8vIC0tLSBMb2NrIFNjcmVlbiAtLS0KICAgIGlmICh3b3JrSXRlbS5pc1Byb3RlY3RlZCAmJiAhaXNVbmxvY2tlZCkgewogICAgICAgIGNvbnN0IGhhbmRsZVVubG9jayA9IChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgaWYgKCF1bmxvY2socGFzc3dvcmQpKSB7CiAgICAgICAgICAgICAgICBzZXRFcnJvcih0cnVlKTsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0RXJyb3IoZmFsc2UpLCAyMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgcmV0dXJuIChfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogIm1pbi1oLVtjYWxjKDEwMHZoLTRyZW0pXSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTYgYW5pbWF0ZS1pbiBmYWRlLWluIGR1cmF0aW9uLTUwMCIsIGNoaWxkcmVuOiBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtYXgtdy1tZCB3LWZ1bGwgdGV4dC1jZW50ZXIiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibWItNiBmbGV4IGp1c3RpZnktY2VudGVyIiwgY2hpbGRyZW46IF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidy0xNiBoLTE2IHJvdW5kZWQtZnVsbCBiZy1uZXV0cmFsLTEwMCBkYXJrOmJnLW5ldXRyYWwtODAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtbmV1dHJhbC00MDAiLCBjaGlsZHJlbjogX2pzeCgic3ZnIiwgeyBjbGFzc05hbWU6ICJ3LTggaC04IiwgZmlsbDogIm5vbmUiLCBzdHJva2U6ICJjdXJyZW50Q29sb3IiLCB2aWV3Qm94OiAiMCAwIDI0IDI0IiwgY2hpbGRyZW46IF9qc3goInBhdGgiLCB7IHN0cm9rZUxpbmVjYXA6ICJyb3VuZCIsIHN0cm9rZUxpbmVqb2luOiAicm91bmQiLCBzdHJva2VXaWR0aDogMS41LCBkOiAiTTEyIDE1djJtLTYgNGgxMmEyIDIgMCAwMDItMnYtNmEyIDIgMCAwMC0yLTJINmEyIDIgMCAwMC0yIDJ2NmEyIDIgMCAwMDIgMnptMTAtMTBWN2E0IDQgMCAwMC04IDB2NGg4eiIgfSkgfSkgfSkgfSksIF9qc3goImgxIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTN4bCBmb250LXNlcmlmIG1iLTIiLCBjaGlsZHJlbjogIlJlc3RyaWN0ZWQgQWNjZXNzIiB9KSwgX2pzeHMoInAiLCB7IGNsYXNzTmFtZTogInRleHQtbmV1dHJhbC01MDAgbWItOCIsIGNoaWxkcmVuOiBbIlRoZSBwcm9qZWN0ICIsIF9qc3hzKCJzcGFuIiwgeyBjbGFzc05hbWU6ICJmb250LXNlbWlib2xkIHRleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMjAwIiwgY2hpbGRyZW46IFsiXCIiLCB3b3JrSXRlbS50aXRsZSwgIlwiIl0gfSksICIgY29udGFpbnMgc2Vuc2l0aXZlIGludGVsbGVjdHVhbCBwcm9wZXJ0eS4iXSB9KSwgX2pzeHMoImZvcm0iLCB7IG9uU3VibWl0OiBoYW5kbGVVbmxvY2ssIGNsYXNzTmFtZTogInNwYWNlLXktNCIsIGNoaWxkcmVuOiBbX2pzeCgiaW5wdXQiLCB7IHR5cGU6ICJwYXNzd29yZCIsIHBsYWNlaG9sZGVyOiAiRW50ZXIgQWNjZXNzIEtleSIsIHZhbHVlOiBwYXNzd29yZCwgb25DaGFuZ2U6IChlKSA9PiBzZXRQYXNzd29yZChlLnRhcmdldC52YWx1ZSksIGNsYXNzTmFtZTogYHctZnVsbCBweC00IHB5LTMgcm91bmRlZC1sZyBib3JkZXIgYmctd2hpdGUgZGFyazpiZy1uZXV0cmFsLTkwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctbmV1dHJhbC01MDAgdHJhbnNpdGlvbi1hbGwgJHtlcnJvciA/ICdib3JkZXItcmVkLTUwMCcgOiAnYm9yZGVyLW5ldXRyYWwtMjAwIGRhcms6Ym9yZGVyLW5ldXRyYWwtNzAwJ31gLCBhdXRvRm9jdXM6IHRydWUgfSksIGVycm9yICYmIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtcmVkLTUwMCB0ZXh0LXNtIGFuaW1hdGUtcHVsc2UiLCBjaGlsZHJlbjogIkludmFsaWQgS2V5IiB9KSwgX2pzeCgiYnV0dG9uIiwgeyB0eXBlOiAic3VibWl0IiwgY2xhc3NOYW1lOiAidy1mdWxsIHB5LTMgYmctbmV1dHJhbC05MDAgZGFyazpiZy1uZXV0cmFsLTEwMCB0ZXh0LXdoaXRlIGRhcms6dGV4dC1uZXV0cmFsLTkwMCBmb250LW1lZGl1bSByb3VuZGVkLWxnIGhvdmVyOm9wYWNpdHktOTAgdHJhbnNpdGlvbi1vcGFjaXR5IiwgY2hpbGRyZW46ICJVbmxvY2sgUHJvamVjdCIgfSksIF9qc3goImJ1dHRvbiIsIHsgdHlwZTogImJ1dHRvbiIsIG9uQ2xpY2s6ICgpID0+IG5hdmlnYXRlKCcvd29yaycpLCBjbGFzc05hbWU6ICJ0ZXh0LXNtIHRleHQtbmV1dHJhbC00MDAgaG92ZXI6dGV4dC1uZXV0cmFsLTYwMCBkYXJrOmhvdmVyOnRleHQtbmV1dHJhbC0yMDAgbXQtNCBibG9jayBteC1hdXRvIiwgY2hpbGRyZW46ICJcdTIxOTAgUmV0dXJuIHRvIFdvcmsiIH0pXSB9KV0gfSkgfSkpOwogICAgfQogICAgLy8gLS0tIENvbnRlbnQgVmlldyAtLS0KICAgIHJldHVybiAoX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiBgbWluLWgtc2NyZWVuIHBiLTIwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTUwMCAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ2JnLXB1cnBsZS01MC8xMCcgOiAnJ31gLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNXhsIG14LWF1dG8gcHgtNiBwdC04IG1iLTgiLCBjaGlsZHJlbjogX2pzeHMoImJ1dHRvbiIsIHsgb25DbGljazogKCkgPT4gbmF2aWdhdGUoJy93b3JrJyksIGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1uZXV0cmFsLTUwMCBob3Zlcjp0ZXh0LW5ldXRyYWwtOTAwIGRhcms6aG92ZXI6dGV4dC1uZXV0cmFsLTIwMCBmbGV4IGl0ZW1zLWNlbnRlciBncm91cCIsIGNoaWxkcmVuOiBbX2pzeCgic3ZnIiwgeyBjbGFzc05hbWU6ICJ3LTQgaC00IG1yLTEgZ3JvdXAtaG92ZXI6LXRyYW5zbGF0ZS14LTEgdHJhbnNpdGlvbi10cmFuc2Zvcm0iLCBmaWxsOiAibm9uZSIsIHN0cm9rZTogImN1cnJlbnRDb2xvciIsIHZpZXdCb3g6ICIwIDAgMjQgMjQiLCBjaGlsZHJlbjogX2pzeCgicGF0aCIsIHsgc3Ryb2tlTGluZWNhcDogInJvdW5kIiwgc3Ryb2tlTGluZWpvaW46ICJyb3VuZCIsIHN0cm9rZVdpZHRoOiAyLCBkOiAiTTE1IDE5bC03LTcgNy03IiB9KSB9KSwgIkJhY2sgdG8gSW5kZXgiXSB9KSB9KSwgX2pzeHMoImhlYWRlciIsIHsgY2xhc3NOYW1lOiAibWF4LXctNXhsIG14LWF1dG8gcHgtNiBtYi0xMiBhbmltYXRlLWluIHNsaWRlLWluLWZyb20tYm90dG9tLTQgZHVyYXRpb24tNzAwIiwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC13cmFwIGdhcC0yIG1iLTQiLCBjaGlsZHJlbjogd29ya0l0ZW0uc3lzdGVtcy5tYXAoc3lzID0+IChfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6IGB0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHB4LTIgcHktMSByb3VuZGVkICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctcHVycGxlLTEwMCB0ZXh0LXB1cnBsZS03MDAgZGFyazpiZy1wdXJwbGUtOTAwLzQwIGRhcms6dGV4dC1wdXJwbGUtMzAwJyA6ICdiZy1uZXV0cmFsLTEwMCB0ZXh0LW5ldXRyYWwtNjAwIGRhcms6YmctbmV1dHJhbC04MDAgZGFyazp0ZXh0LW5ldXRyYWwtMzAwJ31gLCBjaGlsZHJlbjogc3lzIH0sIHN5cykpKSB9KSwgX2pzeCgiaDEiLCB7IGNsYXNzTmFtZTogYHRleHQtNHhsIG1kOnRleHQtNXhsIGZvbnQtc2VyaWYgZm9udC1tZWRpdW0gbWItNiBsZWFkaW5nLXRpZ2h0ICR7bW9kZSA9PT0gJ2RpdmVyZ2VudCcgPyAnYmctW2xpbmVhci1ncmFkaWVudCg5MGRlZywjRkY2QjRBXzAlLCNFOTRBOEFfMzUlLCM5QjVERTVfNjUlLCM1QjRGRTNfMTAwJSldIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50IHBiLTEnIDogJyd9YCwgY2hpbGRyZW46IHdvcmtJdGVtLnRpdGxlIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhsIG1kOnRleHQtMnhsIHRleHQtbmV1dHJhbC01MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwIGZvbnQtbGlnaHQgbGVhZGluZy1yZWxheGVkIG1heC13LTN4bCIsIGNoaWxkcmVuOiB3b3JrSXRlbS5zdW1tYXJ5IH0pXSB9KSwgX2pzeCgic2VjdGlvbiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNXhsIG14LWF1dG8gcHgtNiBtYi0xNiBhbmltYXRlLWluIGZhZGUtaW4gZHVyYXRpb24tMTAwMCBkZWxheS0yMDAiLCBjaGlsZHJlbjogX2pzeChTeXN0ZW1EaWFncmFtLCB7IHR5cGU6IHdvcmtJdGVtLmRvbWFpbiwgbW9kZTogbW9kZSB9KSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNXhsIG14LWF1dG8gcHgtNiBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0xMiBnYXAtMTIgYW5pbWF0ZS1pbiBzbGlkZS1pbi1mcm9tLWJvdHRvbS04IGR1cmF0aW9uLTcwMCBkZWxheS0zMDAiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAibWQ6Y29sLXNwYW4tOCBzcGFjZS15LTEyIiwgY2hpbGRyZW46IHdvcmtJdGVtLmRldGFpbHMgPyAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeHMoInNlY3Rpb24iLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogYHRleHQtc20gZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgbWItNCAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ3RleHQtcHVycGxlLTUwMCcgOiAndGV4dC1uZXV0cmFsLTQwMCd9YCwgY2hpbGRyZW46ICJUaGUgQ2hhbGxlbmdlIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1sZyB0ZXh0LW5ldXRyYWwtODAwIGRhcms6dGV4dC1uZXV0cmFsLTIwMCBsZWFkaW5nLXJlbGF4ZWQgZm9udC1zZXJpZiIsIGNoaWxkcmVuOiB3b3JrSXRlbS5kZXRhaWxzLmNoYWxsZW5nZSB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6IGB0ZXh0LXNtIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTQgJHttb2RlID09PSAnZGl2ZXJnZW50JyA/ICd0ZXh0LXB1cnBsZS01MDAnIDogJ3RleHQtbmV1dHJhbC00MDAnfWAsIGNoaWxkcmVuOiAiVGhlIFN5c3RlbSBBcmNoaXRlY3R1cmUiIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIHRleHQtbmV1dHJhbC04MDAgZGFyazp0ZXh0LW5ldXRyYWwtMjAwIGxlYWRpbmctcmVsYXhlZCBmb250LXNlcmlmIiwgY2hpbGRyZW46IHdvcmtJdGVtLmRldGFpbHMuc29sdXRpb24gfSldIH0pXSB9KSkgOiAoX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTUwMCBpdGFsaWMiLCBjaGlsZHJlbjogIkRldGFpbGVkIGNhc2Ugc3R1ZHkgY29udGVudCBpcyBiZWluZyBtaWdyYXRlZC4iIH0pKSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWQ6Y29sLXNwYW4tNCBzcGFjZS15LTgiLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogInAtNiBiZy13aGl0ZSBkYXJrOmJnLW5ldXRyYWwtOTAwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1uZXV0cmFsLTIwMCBkYXJrOmJvcmRlci1uZXV0cmFsLTgwMCBzaGFkb3ctc20iLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtbmV1dHJhbC00MDAgbWItNiIsIGNoaWxkcmVuOiAiS2V5IE91dGNvbWVzIiB9KSwgd29ya0l0ZW0uZGV0YWlscz8uc3RhdHMgPyAoX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTYiLCBjaGlsZHJlbjogd29ya0l0ZW0uZGV0YWlscy5zdGF0cy5tYXAoKHN0YXQsIGkpID0+IChfanN4cygiZGl2IiwgeyBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiBgdGV4dC0zeGwgZm9udC1zZXJpZiBmb250LW1lZGl1bSAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ3RleHQtcHVycGxlLTYwMCBkYXJrOnRleHQtcHVycGxlLTQwMCcgOiAndGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC0xMDAnfWAsIGNoaWxkcmVuOiBzdGF0LnZhbHVlIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1uZXV0cmFsLTUwMCIsIGNoaWxkcmVuOiBzdGF0LmxhYmVsIH0pXSB9LCBpKSkpIH0pKSA6IChfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInRleHQtbmV1dHJhbC01MDAgdGV4dC1zbSIsIGNoaWxkcmVuOiAiT3V0Y29tZXMgYXZhaWxhYmxlIGluIGZ1bGwgcmVwb3J0LiIgfSkpXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicC02IGJnLW5ldXRyYWwtNTAgZGFyazpiZy1uZXV0cmFsLTkwMC81MCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItbmV1dHJhbC0xMDAgZGFyazpib3JkZXItbmV1dHJhbC04MDAiLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtbmV1dHJhbC00MDAgbWItNCIsIGNoaWxkcmVuOiAiRG9tYWluIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1uZXV0cmFsLTkwMCBkYXJrOnRleHQtbmV1dHJhbC0xMDAgZm9udC1tZWRpdW0iLCBjaGlsZHJlbjogd29ya0l0ZW0uZG9tYWluIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtdC02IHB0LTYgYm9yZGVyLXQgYm9yZGVyLW5ldXRyYWwtMjAwIGRhcms6Ym9yZGVyLW5ldXRyYWwtODAwIiwgY2hpbGRyZW46IFtfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiAidGV4dC14cyBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LW5ldXRyYWwtNDAwIG1iLTIiLCBjaGlsZHJlbjogIkltcGFjdCIgfSksIF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIHRleHQtbmV1dHJhbC02MDAgZGFyazp0ZXh0LW5ldXRyYWwtNDAwIGl0YWxpYyIsIGNoaWxkcmVuOiBbIlwiIiwgd29ya0l0ZW0uaW1wYWN0LCAiXCIiXSB9KV0gfSldIH0pXSB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1heC13LTV4bCBteC1hdXRvIHB4LTYgbXQtMjAgcHQtMTIgYm9yZGVyLXQgYm9yZGVyLW5ldXRyYWwtMjAwIGRhcms6Ym9yZGVyLW5ldXRyYWwtODAwIGZsZXgganVzdGlmeS1iZXR3ZWVuIiwgY2hpbGRyZW46IFtfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6ICgpID0+IG5hdmlnYXRlKCcvd29yaycpLCBjbGFzc05hbWU6ICJ0ZXh0LW5ldXRyYWwtNTAwIGhvdmVyOnRleHQtbmV1dHJhbC05MDAgZGFyazpob3Zlcjp0ZXh0LW5ldXRyYWwtMTAwIGZvbnQtbWVkaXVtIiwgY2hpbGRyZW46ICJcdTIxOTAgQWxsIFdvcmsiIH0pLCBfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6ICgpID0+IG5hdmlnYXRlKCcvY29udGFjdCcpLCBjbGFzc05hbWU6IGBmb250LW1lZGl1bSAke21vZGUgPT09ICdkaXZlcmdlbnQnID8gJ3RleHQtcHVycGxlLTYwMCBob3Zlcjp0ZXh0LXB1cnBsZS01MDAnIDogJ3RleHQtbmV1dHJhbC05MDAgZGFyazp0ZXh0LW5ldXRyYWwtMTAwIGhvdmVyOm9wYWNpdHktNzAnfWAsIGNoaWxkcmVuOiAiRGlzY3VzcyB0aGlzIFByb2plY3QgXHUyMTkyIiB9KV0gfSldIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgUHJvamVjdERldGFpbDsK"}}</script>
<script type="module">
  const geminiUrl = window.location.origin + '/api-proxy';

  window.API_KEY = 'UNUSED_PLACEHOLDER_FOR_API_KEY';
  window.GEMINI_API_KEY = 'UNUSED_PLACEHOLDER_FOR_API_KEY';
  window.process = window.process || {};
  window.process.env = window.process.env || {};
  window.process.env.API_KEY = window.API_KEY;
  window.process.env.GEMINI_API_KEY = window.GEMINI_API_KEY;
</script>

<!DOCTYPE html>
<html lang="en" class="antialiased">
  <head><script src="/public/websocket-interceptor.js" defer></script>
<script>
if ('serviceWorker' in navigator) {
  window.addEventListener('load' , () => {
    navigator.serviceWorker.register('./service-worker.js')
      .then(registration => {
        console.log('Service Worker registered successfully with scope:', registration.scope);
      })
      .catch(error => {
        console.error('Service Worker registration failed:', error);
      });
  });
} else {
  console.log('Service workers are not supported in this browser.');
}
</script>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Nathanael Wolfe | Portfolio</title>
    <!-- Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-MEASUREMENT_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'G-MEASUREMENT_ID');
    </script>
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
    <script>
      tailwind.config = {
        darkMode: 'class',
        theme: {
          extend: {
            fontFamily: {
              sans: ['Inter', 'sans-serif'],
              serif: ['Lora', 'serif'],
            },
            colors: {
              neutral: {
                50: '#f9fafb',
                100: '#f3f4f6',
                200: '#e5e7eb',
                800: '#1f2937',
                900: '#111827',
                950: '#030712',
              },
              accent: {
                light: '#64748b', // Slate 500
                dark: '#94a3b8',  // Slate 400
              }
            }
          }
        }
      }
    </script>
    <style>
      /* Custom scrollbar for a technical feel */
      ::-webkit-scrollbar {
        width: 8px;
      }
      ::-webkit-scrollbar-track {
        background: transparent;
      }
      ::-webkit-scrollbar-thumb {
        background: #e5e7eb;
        border-radius: 4px;
      }
      .dark ::-webkit-scrollbar-thumb {
        background: #374151;
      }
    </style>
  </head>
  <body class="bg-neutral-50 text-neutral-900 dark:bg-neutral-950 dark:text-neutral-100 transition-colors duration-300">
    <div id="root"></div>
  </body>
</html>
<script type="module">import '@/index';</script>
