@ultraviolet/ui 1.53.1 → 1.53.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Card/index.cjs +3 -3
- package/dist/components/Card/index.js +3 -3
- package/dist/components/Expandable/index.cjs +4 -9
- package/dist/components/Expandable/index.d.ts +0 -2
- package/dist/components/Expandable/index.js +4 -9
- package/dist/components/SelectInput/index.cjs +13 -10
- package/dist/components/SelectInput/index.js +13 -10
- package/dist/components/SelectInputV2/SearchBarDropdown.cjs +7 -2
- package/dist/components/SelectInputV2/SearchBarDropdown.js +8 -3
- package/dist/components/SelectInputV2/SelectInputProvider.cjs +13 -0
- package/dist/components/SelectInputV2/SelectInputProvider.js +14 -1
- package/dist/components/SelectInputV2/types.d.ts +4 -0
- package/package.json +7 -4
- package/dist/helpers/jestMockMatchMedia.d.ts +0 -6
|
@@ -17,7 +17,7 @@ const StyledSeparator = /* @__PURE__ */ _styled(Separator, process.env.NODE_ENV
|
|
|
17
17
|
label: "StyledSeparator"
|
|
18
18
|
})("background-color:", ({
|
|
19
19
|
theme
|
|
20
|
-
}) => theme.colors.neutral.border, ";height:100%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q3lDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
20
|
+
}) => theme.colors.neutral.border, ";height:100%;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q3lDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
21
21
|
const getControlColor = ({
|
|
22
22
|
state,
|
|
23
23
|
error,
|
|
@@ -226,7 +226,7 @@ const StyledContainer = /* @__PURE__ */ _styled("div", process.env.NODE_ENV ===
|
|
|
226
226
|
isDisabled
|
|
227
227
|
}) => isDisabled && `pointer-events: initial;`, ";", ({
|
|
228
228
|
additionalStyles
|
|
229
|
-
}) => /* @__PURE__ */ css(additionalStyles, process.env.NODE_ENV === "production" ? "" : ";label:StyledContainer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrVThCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErVHdCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
229
|
+
}) => /* @__PURE__ */ css(additionalStyles, process.env.NODE_ENV === "production" ? "" : ";label:StyledContainer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrVThCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErVHdCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
230
230
|
const StyledError = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
|
|
231
231
|
target: "e11gt5pw3"
|
|
232
232
|
} : {
|
|
@@ -236,7 +236,7 @@ const StyledError = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "pro
|
|
|
236
236
|
theme
|
|
237
237
|
}) => theme.colors.danger.text, ";padding-top:", ({
|
|
238
238
|
theme
|
|
239
|
-
}) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxVThCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
239
|
+
}) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxVThCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
240
240
|
const SelectContainer = (props) => {
|
|
241
241
|
const {
|
|
242
242
|
children,
|
|
@@ -279,18 +279,21 @@ const StyledPlaceholder = /* @__PURE__ */ _styled("label", process.env.NODE_ENV
|
|
|
279
279
|
`, " ", ({
|
|
280
280
|
isDisabled,
|
|
281
281
|
hasValue
|
|
282
|
-
}) => hasValue && isDisabled && "opacity: 0.5", ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWDBCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
282
|
+
}) => hasValue && isDisabled && "opacity: 0.5", ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWDBCIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
283
283
|
const StyledText = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
|
|
284
|
+
shouldForwardProp: (prop) => !["isSelectedAndNotFocused", "isInline"].includes(prop),
|
|
284
285
|
target: "e11gt5pw1"
|
|
285
286
|
} : {
|
|
287
|
+
shouldForwardProp: (prop) => !["isSelectedAndNotFocused", "isInline"].includes(prop),
|
|
286
288
|
target: "e11gt5pw1",
|
|
287
289
|
label: "StyledText"
|
|
288
290
|
})("margin-left:", ({
|
|
289
|
-
theme
|
|
290
|
-
|
|
291
|
+
theme,
|
|
292
|
+
isInline
|
|
293
|
+
}) => isInline ? theme.space["1"] : 0, ";color:", ({
|
|
291
294
|
isSelectedAndNotFocused,
|
|
292
295
|
theme
|
|
293
|
-
}) => isSelectedAndNotFocused ? theme.colors.primary.textStrong : void 0, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyWXFFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
296
|
+
}) => isSelectedAndNotFocused ? theme.colors.primary.textStrong : void 0, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWkUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvdWkvc3JjL2NvbXBvbmVudHMvU2VsZWN0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NPYmplY3QsIFRoZW1lLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcG9uZW50UHJvcHMsXG4gIEZvcndhcmRSZWZFeG90aWNDb21wb25lbnQsXG4gIEZvcndhcmRlZFJlZixcbiAgSlNYLFxuICBSZWFjdE5vZGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0LCB7XG4gIENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUlkLFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7XG4gIENsZWFySW5kaWNhdG9yUHJvcHMsXG4gIENvbW1vblByb3BzLFxuICBDb250YWluZXJQcm9wcyxcbiAgRHJvcGRvd25JbmRpY2F0b3JQcm9wcyxcbiAgR3JvdXBCYXNlLFxuICBJbnB1dFByb3BzLFxuICBNdWx0aVZhbHVlUHJvcHMsXG4gIE9wdGlvblByb3BzLFxuICBQcm9wcyxcbiAgVmFsdWVDb250YWluZXJQcm9wcyxcbn0gZnJvbSAncmVhY3Qtc2VsZWN0J1xuaW1wb3J0IFNlbGVjdCwgeyBjb21wb25lbnRzIH0gZnJvbSAncmVhY3Qtc2VsZWN0J1xuaW1wb3J0IGlzSlNPTlN0cmluZyBmcm9tICcuLi8uLi9oZWxwZXJzL2lzSlNPTidcbmltcG9ydCAqIGFzIGFuaW1hdGlvbnMgZnJvbSAnLi4vLi4vdXRpbHMvYW5pbWF0aW9ucydcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBoZWlnaHQ6IDEwMCU7XG5gXG5cbmV4cG9ydCB0eXBlIFNlbGVjdE9wdGlvbiA9IHtcbiAgdmFsdWU6IHN0cmluZ1xuICBsYWJlbDogUmVhY3ROb2RlXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBpbmxpbmVEZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuXG50eXBlIFNlbGVjdFN0eWxlR2V0dGVyUHJvcHMgPSB7XG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzXG4gIGVycm9yPzogc3RyaW5nXG4gIHRoZW1lOiBUaGVtZVxufVxuXG5jb25zdCBnZXRDb250cm9sQ29sb3IgPSAoeyBzdGF0ZSwgZXJyb3IsIHRoZW1lIH06IFNlbGVjdFN0eWxlR2V0dGVyUHJvcHMpID0+IHtcbiAgaWYgKHN0YXRlLmlzRGlzYWJsZWQpIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgaWYgKGVycm9yKSByZXR1cm4gdGhlbWUuY29sb3JzLmRhbmdlci50ZXh0XG5cbiAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbn1cblxuY29uc3QgZ2V0UGxhY2Vob2xkZXJDb2xvciA9ICh7XG4gIHN0YXRlLFxuICBlcnJvcixcbiAgdGhlbWUsXG59OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha1xufVxuXG5jb25zdCBnZXRPcHRpb25Db2xvciA9ICh7IHN0YXRlLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGxldCBjb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFxuICBsZXQgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgPSB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha0VsZXZhdGVkXG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZENvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkXG4gICAgY29sb3IgPSB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc1NlbGVjdGVkKSB7XG4gICAgYmFja2dyb3VuZENvbG9yID0gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZFN0cm9uZ1xuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dFN0cm9uZ1xuICB9IGVsc2UgaWYgKHN0YXRlLmlzRm9jdXNlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRcbiAgfVxuXG4gIHJldHVybiB7IGJhY2tncm91bmRDb2xvciwgY29sb3IgfVxufVxuXG50eXBlIFNlbGVjdFN0eWxlRmFjdG9yeSA9IChcbiAgcHJvdmlkZWQ6IENTU09iamVjdCxcbiAgc3RhdGU6IFNlbGVjdFByb3BzICYgT3B0aW9uUHJvcHMgJiBXaXRoU2VsZWN0UHJvcHMsXG4pID0+IENTU09iamVjdFxuXG50eXBlIFNlbGVjdFN0eWxlTWFwID0gUmVjb3JkPHN0cmluZywgU2VsZWN0U3R5bGVGYWN0b3J5PlxuXG50eXBlIFNlbGVjdFN0eWxlUHJvcHMgPSB7XG4gIGVycm9yPzogc3RyaW5nXG4gIC8qKlxuICAgKiBDdXN0b20gc3R5bGVzIG9mIHRoZSBTZWxlY3RJbnB1dC4gU2VlIFtSZWFjdCBzZWxlY3QgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3N0eWxlcylcbiAgICovXG4gIGN1c3RvbVN0eWxlOiAoXG4gICAgc3RhdGU6IFNlbGVjdFByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuICApID0+IFJlY29yZDxzdHJpbmcsIENTU09iamVjdD5cbiAgYW5pbWF0aW9uPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaW1lIG9mIHRoZSBhbmltYXRpb25cbiAgICovXG4gIGFuaW1hdGlvbkR1cmF0aW9uOiBudW1iZXJcbiAgLyoqXG4gICAqIFNob3cvaGlkZSB0aGUgbGFiZWwgaW5zaWRlIHRoZSBjb21wb25lbnRcbiAgICovXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIHRoZW1lOiBUaGVtZVxufVxuXG5jb25zdCBnZXRTZWxlY3RTdHlsZXMgPSAoe1xuICBlcnJvcixcbiAgY3VzdG9tU3R5bGUsXG4gIGFuaW1hdGlvbixcbiAgYW5pbWF0aW9uRHVyYXRpb24sXG4gIG5vVG9wTGFiZWwsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVQcm9wcyk6IFNlbGVjdFN0eWxlTWFwID0+ICh7XG4gIGNvbnRyb2w6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kLFxuICAgIGJvcmRlckNvbG9yOiBlcnJvclxuICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICBib3JkZXJXaWR0aDogJzFweCcsXG4gICAgYm94U2hhZG93OiAnbm9uZScsXG4gICAgY29sb3I6IGdldENvbnRyb2xDb2xvcih7IGVycm9yLCBzdGF0ZSwgdGhlbWUgfSksXG4gICAgZm9udFNpemU6ICcxNnB4JyxcbiAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgbGluZUhlaWdodDogJzI0cHgnLFxuICAgIG1pbkhlaWdodDogJzQ4cHgnLFxuICAgIHRyYW5zaXRpb246ICdib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlJyxcbiAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuXG4gICAgLi4uKCFzdGF0ZS5pc0Rpc2FibGVkICYmIHtcbiAgICAgICc6Zm9jdXMtd2l0aGluJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVyXG4gICAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXIsXG4gICAgICAgIGJveFNoYWRvdzogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLnNoYWRvd3MuZm9jdXNEYW5nZXJcbiAgICAgICAgICA6IHRoZW1lLnNoYWRvd3MuZm9jdXNQcmltYXJ5LFxuICAgICAgfSxcbiAgICAgICc6aG92ZXInOiB7XG4gICAgICAgIGJvcmRlckNvbG9yOiBlcnJvclxuICAgICAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJIb3ZlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXIsXG4gICAgICB9LFxuICAgIH0pLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnY29udHJvbCddIHx8IHt9KSxcbiAgICBhbmltYXRpb246IGFuaW1hdGlvblxuICAgICAgPyBgJHthbmltYXRpb25EdXJhdGlvbn1tcyAke1xuICAgICAgICAgIChhbmltYXRpb25zIGFzIFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIGtleWZyYW1lcz4+KVtcbiAgICAgICAgICAgIGFuaW1hdGlvblxuICAgICAgICAgIF1cbiAgICAgICAgfWBcbiAgICAgIDogJ25vbmUnLFxuICB9KSxcbiAgaW5kaWNhdG9yc0NvbnRhaW5lcjogcHJvdmlkZWQgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBtYXhIZWlnaHQ6ICc0OHB4JyxcbiAgfSksXG4gIGluZGljYXRvclNlcGFyYXRvcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJvcmRlcixcbiAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydpbmRpY2F0b3JTZXBhcmF0b3InXSB8fCB7fSksXG4gIH0pLFxuICBpbnB1dDogcHJvdmlkZWQgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBmbGV4R3JvdzogMSxcbiAgICBtYXJnaW5MZWZ0OiAwLFxuICAgIHBhZGRpbmdUb3A6IG5vVG9wTGFiZWwgPyAwIDogMTEsXG4gIH0pLFxuICBtZW51OiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudSddIHx8IHt9KSxcbiAgICBib3hTaGFkb3c6IHRoZW1lLnNoYWRvd3MubWVudSxcbiAgfSksXG4gIG1lbnVMaXN0OiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWssXG4gICAgbWF4SGVpZ2h0OiAnMjI1cHgnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudUxpc3QnXSB8fCB7fSksXG4gIH0pLFxuICBtZW51UG9ydGFsOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIHpJbmRleDogMTAwMDAsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtZW51UG9ydGFsJ10gfHwge30pLFxuICB9KSxcbiAgbXVsdGlWYWx1ZTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZCxcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0LFxuICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGhlaWdodDogJzI0cHgnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNlW25vVG9wTGFiZWwgPyAnMC41JyA6ICcyJ10sXG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbXVsdGlWYWx1ZSddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWVMYWJlbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWVMYWJlbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWVSZW1vdmU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgLi4uKHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8ge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWQsXG4gICAgICAgICAgY3Vyc29yOiAnbm9uZScsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dCxcbiAgICAgICAgfSksXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiBzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkudGV4dCxcbiAgICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub25lJyA6ICdwb2ludGVyJyxcbiAgICAgIHBvaW50ZXJFdmVudHM6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAnZmlsbCcsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWVSZW1vdmUnXSB8fCB7fSksXG4gIH0pLFxuICBvcHRpb246IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgLi4uZ2V0T3B0aW9uQ29sb3IoeyBzdGF0ZSwgdGhlbWUgfSksXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcbiAgICAnOmFjdGl2ZSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgfSxcbiAgICAnOmhvdmVyJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkXG4gICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZCxcbiAgICAgIGNvbG9yOiBzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICB9LFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnb3B0aW9uJ10gfHwge30pLFxuICB9KSxcbiAgcGxhY2Vob2xkZXI6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IGdldFBsYWNlaG9sZGVyQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsncGxhY2Vob2xkZXInXSB8fCB7fSksXG4gIH0pLFxuICBzaW5nbGVWYWx1ZTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBtYXJnaW5MZWZ0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luUmlnaHQ6IHN0YXRlLmhhc1ZhbHVlID8gMCA6IHVuZGVmaW5lZCxcbiAgICBtYXJnaW5Ub3A6ICFzdGF0ZS5oYXNWYWx1ZSB8fCBub1RvcExhYmVsID8gMCA6ICc1cHgnLFxuICAgIHBhZGRpbmdMZWZ0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydzaW5nbGVWYWx1ZSddIHx8IHt9KSxcbiAgfSksXG4gIHZhbHVlQ29udGFpbmVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsndmFsdWVDb250YWluZXInXSB8fCB7fSksXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6IHVuZGVmaW5lZCxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICBsYWJlbDoge1xuICAgICAgZGlzcGxheTogbm9Ub3BMYWJlbCA/ICdub25lJyA6ICdpbml0aWFsJyxcbiAgICB9LFxuICAgIHBhZGRpbmdUb3A6IDAsXG4gIH0pLFxufSlcblxudHlwZSBXaXRoU2VsZWN0UHJvcHMgPSB7XG4gIHNlbGVjdFByb3BzOiBTZWxlY3RQcm9wc1xufVxuXG50eXBlIFNlbGVjdFByb3BzID0gU3R5bGVkQ29udGFpbmVyUHJvcHMgJlxuICBPbWl0PFByb3BzPFNlbGVjdE9wdGlvbj4sICd2YWx1ZSc+ICZcbiAgQ29tbW9uUHJvcHM8U2VsZWN0T3B0aW9uLCBib29sZWFuLCBHcm91cEJhc2U8U2VsZWN0T3B0aW9uPj4gJiB7XG4gICAgdmFsdWU/OiBzdHJpbmcgfCBTZWxlY3RPcHRpb25cbiAgICBjaGVja2VkPzogYm9vbGVhblxuICAgIGVycm9yPzogc3RyaW5nXG4gICAgbGFiZWxJZD86IHN0cmluZ1xuICAgIHJlcXVpcmVkPzogYm9vbGVhblxuICAgIHRpbWU/OiBib29sZWFuXG4gIH1cblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW5cbiAgYWRkaXRpb25hbFN0eWxlcz86IFBhcmFtZXRlcnM8dHlwZW9mIGNzcz5bMF1cbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2lzRGlzYWJsZWQnLCAnYWRkaXRpb25hbFN0eWxlcyddLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkQ29udGFpbmVyUHJvcHM+YFxuICB3aWR0aDogMTAwJTtcbiAgJHsoeyBpc0Rpc2FibGVkIH0pID0+IGlzRGlzYWJsZWQgJiYgYHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO2B9O1xuICAkeyh7IGFkZGl0aW9uYWxTdHlsZXMgfSkgPT4gY3NzKGFkZGl0aW9uYWxTdHlsZXMpfVxuYFxuXG5jb25zdCBTdHlsZWRFcnJvciA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmRhbmdlci50ZXh0fTtcbiAgcGFkZGluZy10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IFNlbGVjdENvbnRhaW5lciA9IChcbiAgcHJvcHM6IENvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMsXG4pID0+IHtcbiAgY29uc3Qge1xuICAgIGNoaWxkcmVuLFxuICAgIGdldFN0eWxlcyxcbiAgICBpbm5lclByb3BzOiB7IG9uS2V5RG93biB9ID0ge30sXG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlLFxuICAgIGNsYXNzTmFtZSxcbiAgICBzZWxlY3RQcm9wczogeyBuYW1lID0gJycsIGVycm9yLCBjbGFzc05hbWU6IHNlbGVjdFByb3BzQ2xhc3NOYW1lIH0gPSB7fSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLXRlc3RpZD17YHNlbGVjdC1pbnB1dC0ke25hbWV9YH1cbiAgICAgIGFkZGl0aW9uYWxTdHlsZXM9e2dldFN0eWxlcz8uKCdjb250YWluZXInLCBwcm9wcyl9XG4gICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgY2xhc3NOYW1lPXtbY2xhc3NOYW1lLCBzZWxlY3RQcm9wc0NsYXNzTmFtZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKX1cbiAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxFeHBhbmRhYmxlIG9wZW5lZD17ISFlcnJvcn0+XG4gICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKVxufVxuXG50eXBlIFN0eWxlZFBsYWNlaG9sZGVyUHJvcHMgPSB7XG4gIGVycm9yPzogc3RyaW5nXG4gIGlzTXVsdGk6IGJvb2xlYW5cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW5cbiAgaGFzVmFsdWU6IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUGxhY2Vob2xkZXIgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2Vycm9yJywgJ2hhc1ZhbHVlJywgJ2lzRGlzYWJsZWQnLCAnaXNNdWx0aSddLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUGxhY2Vob2xkZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiAkeyh7IHRoZW1lLCBlcnJvciB9KSA9PlxuICAgIGVycm9yID8gdGhlbWUuY29sb3JzLmRhbmdlci50ZXh0IDogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG4gIG9wYWNpdHk6IDA7XG4gICR7KHsgaGFzVmFsdWUgfSkgPT5cbiAgICBoYXNWYWx1ZSAmJlxuICAgIGBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtOHB4KSBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDJweDtcbiAgICBvcGFjaXR5OiAxO1xuICBgfVxuICAkeyh7IGlzRGlzYWJsZWQsIGhhc1ZhbHVlIH0pID0+IGhhc1ZhbHVlICYmIGlzRGlzYWJsZWQgJiYgJ29wYWNpdHk6IDAuNSd9XG5gXG5cbmNvbnN0IFN0eWxlZFRleHQgPSBzdHlsZWQoVGV4dCwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2lzU2VsZWN0ZWRBbmROb3RGb2N1c2VkJywgJ2lzSW5saW5lJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkOiBib29sZWFuXG4gIGlzSW5saW5lPzogYm9vbGVhblxufT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lLCBpc0lubGluZSB9KSA9PiAoaXNJbmxpbmUgPyB0aGVtZS5zcGFjZVsnMSddIDogMCl9O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICAgIGlzSW5saW5lPXshIWlubGluZURlc2NyaXB0aW9ufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA8L1N0eWxlZFRleHQ+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7ZGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPE1heExpbmVTdHlsZWRUZXh0XG4gICAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgICAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZD17aXNTZWxlY3RlZCAmJiAhaXNGb2N1c2VkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgICA8L01heExpbmVTdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvY29tcG9uZW50cy5PcHRpb24+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuY29uc3QgRHJvcGRvd25JbmRpY2F0b3IgPSAoXG4gIHByb3BzOiBEcm9wZG93bkluZGljYXRvclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMsXG4pID0+IHtcbiAgY29uc3Qge1xuICAgIHNlbGVjdFByb3BzOiB7IGlzRGlzYWJsZWQsIHRpbWUsIHJlcXVpcmVkIH0sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPGNvbXBvbmVudHMuRHJvcGRvd25JbmRpY2F0b3Igey4uLnByb3BzfT5cbiAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAge3JlcXVpcmVkID8gPEljb24gbmFtZT1cImFzdGVyaXNrXCIgc2l6ZT17MTB9IGNvbG9yPVwiZGFuZ2VyXCIgLz4gOiBudWxsfVxuICAgICAgICB7dGltZSA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgbmFtZT17dGltZSA/ICdjbG9jay1vdXRsaW5lJyA6ICdhcnJvdy1kb3duJ31cbiAgICAgICAgICBzaXplPXt0aW1lID8gMjQgOiAxNn1cbiAgICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3RhY2s+XG4gICAgPC9jb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yPlxuICApXG59XG5cbmNvbnN0IENsZWFySW5kaWNhdG9yID0gKFxuICBwcm9wczogQ2xlYXJJbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBjaGVja2VkLCBlcnJvciB9LFxuICAgIGlubmVyUHJvcHM6IHsgcmVmLCAuLi5yZXN0SW5uZXJQcm9wcyB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkNsZWFySW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8SWNvblxuICAgICAgICB7Li4ucmVzdElubmVyUHJvcHN9XG4gICAgICAgIG5hbWU9XCJjbG9zZVwiXG4gICAgICAgIGN1cnNvcj1cInBvaW50ZXJcIlxuICAgICAgICBjb2xvcj17KGNoZWNrZWQgJiYgJ3ByaW1hcnknKSB8fCAoZXJyb3IgJiYgJ2RhbmdlcicpIHx8ICduZXV0cmFsJ31cbiAgICAgIC8+XG4gICAgPC9jb21wb25lbnRzLkNsZWFySW5kaWNhdG9yPlxuICApXG59XG5cbmNvbnN0IE11bHRpVmFsdWVDb250YWluZXIgPSAocHJvcHM6IE11bHRpVmFsdWVQcm9wczxTZWxlY3RPcHRpb24+KSA9PiAoXG4gIDxjb21wb25lbnRzLk11bHRpVmFsdWVDb250YWluZXIgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlTGFiZWwgPSAocHJvcHM6IE11bHRpVmFsdWVQcm9wczxTZWxlY3RPcHRpb24+KSA9PiAoXG4gIDxjb21wb25lbnRzLk11bHRpVmFsdWVMYWJlbCB7Li4ucHJvcHN9IC8+XG4pXG5cbmNvbnN0IE11bHRpVmFsdWVSZW1vdmUgPSAocHJvcHM6IE11bHRpVmFsdWVQcm9wczxTZWxlY3RPcHRpb24+KSA9PiAoXG4gIDxjb21wb25lbnRzLk11bHRpVmFsdWVSZW1vdmUgey4uLnByb3BzfT5cbiAgICA8SWNvbiBuYW1lPVwiY2xvc2VcIiBzaXplPXsxNn0gLz5cbiAgPC9jb21wb25lbnRzLk11bHRpVmFsdWVSZW1vdmU+XG4pXG5cbnR5cGUgU2VsZWN0Q29tcG9uZW50cyA9IFNlbGVjdFByb3BzWydjb21wb25lbnRzJ11cblxudHlwZSBTdGF0ZU1hbmFnZWRTZWxlY3QgPSB0eXBlb2YgU2VsZWN0XG5cbnR5cGUgU2VsZWN0SW5wdXRQcm9wcyA9IFNlbGVjdFByb3BzICZcbiAgU2VsZWN0U3R5bGVQcm9wcyAmIHtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBhbmltYXRpb25cbiAgICAgKi9cbiAgICBhbmltYXRpb24/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBQbGF5IHRoZSBhbmltYXRpb24gd2hlbiB0aGUgdmFsdWUgY2hhbmdlXG4gICAgICovXG4gICAgYW5pbWF0aW9uT25DaGFuZ2U/OiBib29sZWFuXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuXG4gICAgcmVhZE9ubHk/OiBib29sZWFuXG4gICAgaW5uZXJSZWY/OiBGb3J3YXJkZWRSZWY8U3RhdGVNYW5hZ2VkU2VsZWN0PlxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBjb21wb25lbnRzIG9mIHRoZSBTZWxlY3RJbnB1dC4gU2VlIFtSZWFjdCBzZWxlY3QgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL2NvbXBvbmVudHMpXG4gICAgICovXG4gICAgY3VzdG9tQ29tcG9uZW50cz86IFNlbGVjdFByb3BzWydjb21wb25lbnRzJ11cbiAgICBjaGlsZHJlbjogUmVhY3ROb2RlXG4gICAgZW1wdHlTdGF0ZT86IENvbXBvbmVudFByb3BzPFNlbGVjdD5bJ25vT3B0aW9uc01lc3NhZ2UnXVxuICAgICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgfVxuXG5jb25zdCBkZWZhdWx0Q3VzdG9tU3R5bGUgPSAoKSA9PiAoe30pXG5cbmNvbnN0IEZ3ZFNlbGVjdElucHV0ID0gKHtcbiAgYW5pbWF0aW9uID0gJ3B1bHNlJyxcbiAgYW5pbWF0aW9uRHVyYXRpb24gPSAxMDAwLFxuICBhbmltYXRpb25PbkNoYW5nZSA9IGZhbHNlLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjdXN0b21Db21wb25lbnRzLFxuICBjdXN0b21TdHlsZSA9IGRlZmF1bHRDdXN0b21TdHlsZSxcbiAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgZXJyb3IsXG4gIGlubmVyUmVmLFxuICBpbnB1dElkOiBpbnB1dElkUHJvcCxcbiAgaXNDbGVhcmFibGUgPSBmYWxzZSxcbiAgaXNNdWx0aSA9IGZhbHNlLFxuICBpc1NlYXJjaGFibGUgPSB0cnVlLFxuICBtZW51UG9ydGFsVGFyZ2V0LFxuICBub1RvcExhYmVsID0gZmFsc2UsXG4gIG9uQmx1cixcbiAgb25DaGFuZ2UsXG4gIG9uRm9jdXMsXG4gIG9wdGlvbnMsXG4gIHBsYWNlaG9sZGVyLFxuICByZWFkT25seSA9IGZhbHNlLFxuICB2YWx1ZSxcbiAgbmFtZSxcbiAgaWQ6IGlkUHJvcCxcbiAgdGltZSxcbiAgaXNMb2FkaW5nLFxuICByZXF1aXJlZCxcbiAgZW1wdHlTdGF0ZSxcbiAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbn06IFBhcnRpYWw8U2VsZWN0SW5wdXRQcm9wcz4pID0+IHtcbiAgY29uc3QgaWQgPSB1c2VJZCgpXG4gIGNvbnN0IGlucHV0SWQgPSBpbnB1dElkUHJvcCA/PyBpZFxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgW2lzQW5pbWF0ZWQsIHNldElzQW5pbWF0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGN1cnJlbnRWYWx1ZSA9ICh2YWx1ZSBhcyBTZWxlY3RPcHRpb24pPy52YWx1ZVxuXG4gIC8vIE9wdGlvbnMgbmVlZCB0byBrZWVwIHRoZSBzYW1lIHJlZmVyZW5jZSBvdGhlcndpc2UgcmVhY3Qtc2VsZWN0IGRvZXNuJ3QgZm9jdXMgdGhlIHNlbGVjdGVkIG9wdGlvblxuICBjb25zdCBzZWxlY3RPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgb3B0aW9ucyB8fFxuICAgICAgQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikucmVkdWNlPFNlbGVjdE9wdGlvbltdPigoYWNjLCBjaGlsZCkgPT4ge1xuICAgICAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQ8eyBjaGlsZHJlbjogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KGNoaWxkKSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgICAgICAgICBsYWJlbDogY2hpbGQucHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKSxcbiAgICBbb3B0aW9ucywgY2hpbGRyZW5dLFxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYW5pbWF0aW9uT25DaGFuZ2UpIHtcbiAgICAgIHNldElzQW5pbWF0ZWQodHJ1ZSlcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0SXNBbmltYXRlZChmYWxzZSksIGFuaW1hdGlvbkR1cmF0aW9uKVxuICAgIH1cbiAgfSwgW3NldElzQW5pbWF0ZWQsIGFuaW1hdGlvbk9uQ2hhbmdlLCBhbmltYXRpb25EdXJhdGlvbiwgY3VycmVudFZhbHVlXSlcblxuICByZXR1cm4gKFxuICAgIDxTZWxlY3RcbiAgICAgIGNvbXBvbmVudHM9e1xuICAgICAgICB7XG4gICAgICAgICAgQ2xlYXJJbmRpY2F0b3IsXG4gICAgICAgICAgRHJvcGRvd25JbmRpY2F0b3IsXG4gICAgICAgICAgSW5wdXQsXG4gICAgICAgICAgTXVsdGlWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICBNdWx0aVZhbHVlTGFiZWwsXG4gICAgICAgICAgTXVsdGlWYWx1ZVJlbW92ZSxcbiAgICAgICAgICBPcHRpb24sXG4gICAgICAgICAgU2VsZWN0Q29udGFpbmVyLFxuICAgICAgICAgIFZhbHVlQ29udGFpbmVyLFxuICAgICAgICAgIC4uLmN1c3RvbUNvbXBvbmVudHMsXG4gICAgICAgIH0gYXMgU2VsZWN0Q29tcG9uZW50c1xuICAgICAgfVxuICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBpc0Rpc2FibGVkPXtkaXNhYmxlZCB8fCByZWFkT25seX1cbiAgICAgIGlzT3B0aW9uRGlzYWJsZWQ9e29wdGlvbiA9PiAhIW9wdGlvbi5kaXNhYmxlZH1cbiAgICAgIHN0eWxlcz17Z2V0U2VsZWN0U3R5bGVzKHtcbiAgICAgICAgYW5pbWF0aW9uOiBpc0FuaW1hdGVkID8gYW5pbWF0aW9uIDogdW5kZWZpbmVkLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbixcbiAgICAgICAgY3VzdG9tU3R5bGUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBub1RvcExhYmVsLFxuICAgICAgICB0aGVtZSxcbiAgICAgIH0pfVxuICAgICAgb3B0aW9ucz17c2VsZWN0T3B0aW9uc31cbiAgICAgIG1lbnVQb3J0YWxUYXJnZXQ9e21lbnVQb3J0YWxUYXJnZXQgfHwgdW5kZWZpbmVkfVxuICAgICAgaXNTZWFyY2hhYmxlPXtpc1NlYXJjaGFibGV9XG4gICAgICBpc0NsZWFyYWJsZT17aXNDbGVhcmFibGV9XG4gICAgICBpc011bHRpPXtpc011bHRpfVxuICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgdmFsdWU9e3ZhbHVlIGFzIFNlbGVjdE9wdGlvbn1cbiAgICAgIG1heE1lbnVIZWlnaHQ9ezI1MH1cbiAgICAgIGlucHV0SWQ9e2lucHV0SWR9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICByZWY9e2lubmVyUmVmIGFzIGFueX1cbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBpZD17aWRQcm9wfVxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0aW1lIHByb3AgZG9lc24ndCBleGlzdCBpbiByZWFjdC1zZWxlY3QgYnV0IGlzIHVzZWRcbiAgICAgIHRpbWU9e3RpbWV9XG4gICAgICBpc0xvYWRpbmc9e2lzTG9hZGluZ31cbiAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgIG5vT3B0aW9uc01lc3NhZ2U9e2VtcHR5U3RhdGV9XG4gICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAvPlxuICApXG59XG5cbnR5cGUgT3B0aW9uQ29tcG9uZW50ID0gKFxuICBwcm9wczogUGFydGlhbDxPcHRpb25Qcm9wczxTZWxlY3RPcHRpb24+ICYgU2VsZWN0T3B0aW9uPixcbikgPT4gSlNYLkVsZW1lbnRcblxuLyoqXG4gKiBTZWxlY3RJbnB1dCBjb21wb25lbnQgaXMgYSB3cmFwcGVyIGFyb3VuZCBbcmVhY3Qtc2VsZWN0XShodHRwczovL3JlYWN0LXNlbGVjdC5jb20pIGNvbXBvbmVudC5cbiAqIEl0IHByb3ZpZGVzIGEgc3R5bGVkIHNlbGVjdCBpbnB1dCB3aXRoIGEgbGFiZWwgYW5kIGFuIGVycm9yIG1lc3NhZ2UuXG4gKiBAZGVwcmVjYXRlZCB1c2UgU2VsZWN0SW5wdXRWMiBjb21wb25lbnQgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgU2VsZWN0SW5wdXQgPSBmb3J3YXJkUmVmKFxuICAocHJvcHM6IFNlbGVjdElucHV0UHJvcHMsIHJlZjogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD4pID0+IChcbiAgICA8RndkU2VsZWN0SW5wdXQgaW5uZXJSZWY9e3JlZn0gey4uLnByb3BzfSAvPlxuICApLFxuKSBhcyBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50PFBhcnRpYWw8U2VsZWN0SW5wdXRQcm9wcz4+ICYge1xuICBPcHRpb246IE9wdGlvbkNvbXBvbmVudFxufVxuXG5TZWxlY3RJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RJbnB1dCdcblxuU2VsZWN0SW5wdXQuT3B0aW9uID0gT3B0aW9uIGFzIE9wdGlvbkNvbXBvbmVudFxuIl19 */"));
|
|
294
297
|
const MaxLineStyledText = /* @__PURE__ */ _styled(StyledText, process.env.NODE_ENV === "production" ? {
|
|
295
298
|
target: "e11gt5pw0"
|
|
296
299
|
} : {
|
|
@@ -298,7 +301,7 @@ const MaxLineStyledText = /* @__PURE__ */ _styled(StyledText, process.env.NODE_E
|
|
|
298
301
|
label: "MaxLineStyledText"
|
|
299
302
|
})("-webkit-line-clamp:3;margin-top:", ({
|
|
300
303
|
theme
|
|
301
|
-
}) => theme.space["2"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWjRDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
304
|
+
}) => theme.space["1"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1WjRDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */"));
|
|
302
305
|
const ValueContainer = ({
|
|
303
306
|
isDisabled,
|
|
304
307
|
children,
|
|
@@ -328,7 +331,7 @@ const ValueContainer = ({
|
|
|
328
331
|
] }) });
|
|
329
332
|
const inputStyles = ({
|
|
330
333
|
isMulti
|
|
331
|
-
}) => /* @__PURE__ */ css("margin-left:0px;", !isMulti && "caret-color: transparent", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:inputStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErYzhEIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQpPHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ6IGJvb2xlYW4gfT5gXG4gIG1hcmdpbi1sZWZ0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119O1xuICBjb2xvcjogJHsoeyBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCwgdGhlbWUgfSkgPT5cbiAgICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCA/IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmcgOiB1bmRlZmluZWR9O1xuYFxuXG5jb25zdCBNYXhMaW5lU3R5bGVkVGV4dCA9IHN0eWxlZChTdHlsZWRUZXh0KWBcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycyJ119O1xuYFxuXG5jb25zdCBWYWx1ZUNvbnRhaW5lciA9ICh7XG4gIGlzRGlzYWJsZWQsXG4gIGNoaWxkcmVuLFxuICBzZWxlY3RQcm9wczogeyBlcnJvciwgbGFiZWxJZCwgaW5wdXRJZCwgLi4uc2VsZWN0UHJvcHMgfSxcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGdldENsYXNzTmFtZXMsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaW5uZXJQcm9wcyxcbn06IFZhbHVlQ29udGFpbmVyUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcykgPT4gKFxuICA8Y29tcG9uZW50cy5WYWx1ZUNvbnRhaW5lclxuICAgIGNsZWFyVmFsdWU9e2NsZWFyVmFsdWV9XG4gICAgZ2V0U3R5bGVzPXtnZXRTdHlsZXN9XG4gICAgZ2V0VmFsdWU9e2dldFZhbHVlfVxuICAgIGlzUnRsPXtpc1J0bH1cbiAgICBjeD17Y3h9XG4gICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICBzZWxlY3RPcHRpb249e3NlbGVjdE9wdGlvbn1cbiAgICBzZXRWYWx1ZT17c2V0VmFsdWV9XG4gICAgdGhlbWU9e3RoZW1lfVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlubmVyUHJvcHM9e2lubmVyUHJvcHN9XG4gICAgc2VsZWN0UHJvcHM9e3NlbGVjdFByb3BzfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgZ2V0Q2xhc3NOYW1lcz17Z2V0Q2xhc3NOYW1lc31cbiAgPlxuICAgIDw+XG4gICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXIgPyAoXG4gICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgIGFzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPXtsYWJlbElkfVxuICAgICAgICAgIGh0bWxGb3I9e2lucHV0SWR9XG4gICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RQcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2NoaWxkcmVufVxuICAgIDwvPlxuICA8L2NvbXBvbmVudHMuVmFsdWVDb250YWluZXI+XG4pXG5cbmNvbnN0IGlucHV0U3R5bGVzID0gKHsgaXNNdWx0aSB9OiBQYXJ0aWFsPFNlbGVjdFByb3BzPikgPT4gY3NzYFxuICBtYXJnaW4tbGVmdDogMHB4O1xuICAkeyFpc011bHRpICYmICdjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQnfTtcbmBcblxuY29uc3QgSW5wdXQgPSAoe1xuICBpc011bHRpLFxuICBoYXNWYWx1ZSxcbiAgc2VsZWN0UHJvcHM6IHsgaW5wdXRJZCwgbGFiZWxJZCwgcGxhY2Vob2xkZXIsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGNsZWFyVmFsdWUsXG4gIGdldFN0eWxlcyxcbiAgZ2V0VmFsdWUsXG4gIGlzUnRsLFxuICBjeCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0T3B0aW9uLFxuICBzZXRWYWx1ZSxcbiAgdGhlbWUsXG4gIGNsYXNzTmFtZSxcbiAgaXNIaWRkZW4sXG4gIC4uLnByb3BzXG59OiBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuSW5wdXRcbiAgICB7Li4ucHJvcHN9XG4gICAgY3NzPXtpbnB1dFN0eWxlcyh7IGlzTXVsdGkgfSl9XG4gICAgaWQ9e2lucHV0SWR9XG4gICAgYXJpYS1jb250cm9scz17bGFiZWxJZH1cbiAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgc2VsZWN0UHJvcHM9e1xuICAgICAgeyAuLi5zZWxlY3RQcm9wcywgcGxhY2Vob2xkZXIgfSBhcyBJbnB1dFByb3BzPFNlbGVjdE9wdGlvbj5bJ3NlbGVjdFByb3BzJ11cbiAgICB9XG4gIC8+XG4pXG5cbmNvbnN0IE9wdGlvbiA9ICh7XG4gIHNlbGVjdFByb3BzLFxuICB2YWx1ZSxcbiAgbGFiZWwsXG4gIGNoaWxkcmVuLFxuICBkYXRhOiB7IGlubGluZURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiB9LFxuICBpc1NlbGVjdGVkLFxuICBkYXRhLFxuICAuLi5wcm9wc1xufTogT3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbikgPT4ge1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD17YG9wdGlvbi0ke3NlbGVjdFByb3BzLm5hbWUgfHwgJyd9LSR7XG4gICAgICAgIGlzSlNPTlN0cmluZyh2YWx1ZSkgPyBsYWJlbCA6IHZhbHVlXG4gICAgICB9YH1cbiAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XG4gICAgICBvbk1vdXNlT3V0PXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIDxjb21wb25lbnRzLk9wdGlvblxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIHtpbmxpbmVEZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICA8U3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */");
|
|
334
|
+
}) => /* @__PURE__ */ css("margin-left:0px;", !isMulti && "caret-color: transparent", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:inputStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxZDhEIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NlbGVjdElucHV0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTT2JqZWN0LCBUaGVtZSwga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50LFxuICBGb3J3YXJkZWRSZWYsXG4gIEpTWCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwge1xuICBDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUge1xuICBDbGVhckluZGljYXRvclByb3BzLFxuICBDb21tb25Qcm9wcyxcbiAgQ29udGFpbmVyUHJvcHMsXG4gIERyb3Bkb3duSW5kaWNhdG9yUHJvcHMsXG4gIEdyb3VwQmFzZSxcbiAgSW5wdXRQcm9wcyxcbiAgTXVsdGlWYWx1ZVByb3BzLFxuICBPcHRpb25Qcm9wcyxcbiAgUHJvcHMsXG4gIFZhbHVlQ29udGFpbmVyUHJvcHMsXG59IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBTZWxlY3QsIHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCdcbmltcG9ydCBpc0pTT05TdHJpbmcgZnJvbSAnLi4vLi4vaGVscGVycy9pc0pTT04nXG5pbXBvcnQgKiBhcyBhbmltYXRpb25zIGZyb20gJy4uLy4uL3V0aWxzL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgU3R5bGVkU2VwYXJhdG9yID0gc3R5bGVkKFNlcGFyYXRvcilgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgaGVpZ2h0OiAxMDAlO1xuYFxuXG5leHBvcnQgdHlwZSBTZWxlY3RPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IFJlYWN0Tm9kZVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgaW5saW5lRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxudHlwZSBTZWxlY3RTdHlsZUdldHRlclByb3BzID0ge1xuICBzdGF0ZTogU2VsZWN0UHJvcHMgJiBPcHRpb25Qcm9wc1xuICBlcnJvcj86IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0Q29udHJvbENvbG9yID0gKHsgc3RhdGUsIGVycm9yLCB0aGVtZSB9OiBTZWxlY3RTdHlsZUdldHRlclByb3BzKSA9PiB7XG4gIGlmIChzdGF0ZS5pc0Rpc2FibGVkKSByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIGlmIChlcnJvcikgcmV0dXJuIHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dFxuXG4gIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0XG59XG5cbmNvbnN0IGdldFBsYWNlaG9sZGVyQ29sb3IgPSAoe1xuICBzdGF0ZSxcbiAgZXJyb3IsXG4gIHRoZW1lLFxufTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICBpZiAoZXJyb3IpIHJldHVybiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHRcblxuICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtcbn1cblxuY29uc3QgZ2V0T3B0aW9uQ29sb3IgPSAoeyBzdGF0ZSwgdGhlbWUgfTogU2VsZWN0U3R5bGVHZXR0ZXJQcm9wcykgPT4ge1xuICBsZXQgY29sb3I6IHN0cmluZyA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRcbiAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nID0gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtFbGV2YXRlZFxuICBpZiAoc3RhdGUuaXNEaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgIGNvbG9yID0gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gIH0gZWxzZSBpZiAoc3RhdGUuaXNTZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmRDb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRTdHJvbmdcbiAgICBjb2xvciA9IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmdcbiAgfSBlbHNlIGlmIChzdGF0ZS5pc0ZvY3VzZWQpIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kXG4gIH1cblxuICByZXR1cm4geyBiYWNrZ3JvdW5kQ29sb3IsIGNvbG9yIH1cbn1cblxudHlwZSBTZWxlY3RTdHlsZUZhY3RvcnkgPSAoXG4gIHByb3ZpZGVkOiBDU1NPYmplY3QsXG4gIHN0YXRlOiBTZWxlY3RQcm9wcyAmIE9wdGlvblByb3BzICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiBDU1NPYmplY3RcblxudHlwZSBTZWxlY3RTdHlsZU1hcCA9IFJlY29yZDxzdHJpbmcsIFNlbGVjdFN0eWxlRmFjdG9yeT5cblxudHlwZSBTZWxlY3RTdHlsZVByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlcyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9zdHlsZXMpXG4gICAqL1xuICBjdXN0b21TdHlsZTogKFxuICAgIHN0YXRlOiBTZWxlY3RQcm9wcyAmIFdpdGhTZWxlY3RQcm9wcyxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBDU1NPYmplY3Q+XG4gIGFuaW1hdGlvbj86IHN0cmluZ1xuICAvKipcbiAgICogVGltZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAqL1xuICBhbmltYXRpb25EdXJhdGlvbjogbnVtYmVyXG4gIC8qKlxuICAgKiBTaG93L2hpZGUgdGhlIGxhYmVsIGluc2lkZSB0aGUgY29tcG9uZW50XG4gICAqL1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICB0aGVtZTogVGhlbWVcbn1cblxuY29uc3QgZ2V0U2VsZWN0U3R5bGVzID0gKHtcbiAgZXJyb3IsXG4gIGN1c3RvbVN0eWxlLFxuICBhbmltYXRpb24sXG4gIGFuaW1hdGlvbkR1cmF0aW9uLFxuICBub1RvcExhYmVsLFxuICB0aGVtZSxcbn06IFNlbGVjdFN0eWxlUHJvcHMpOiBTZWxlY3RTdHlsZU1hcCA9PiAoe1xuICBjb250cm9sOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZCxcbiAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlci5ib3JkZXJcbiAgICAgIDogdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGNvbG9yOiBnZXRDb250cm9sQ29sb3IoeyBlcnJvciwgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICBtaW5IZWlnaHQ6ICc0OHB4JyxcbiAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZScsXG4gICAgY3Vyc29yOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcblxuICAgIC4uLighc3RhdGUuaXNEaXNhYmxlZCAmJiB7XG4gICAgICAnOmZvY3VzLXdpdGhpbic6IHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJvcmRlclxuICAgICAgICAgIDogdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyLFxuICAgICAgICBib3hTaGFkb3c6IGVycm9yXG4gICAgICAgICAgPyB0aGVtZS5zaGFkb3dzLmZvY3VzRGFuZ2VyXG4gICAgICAgICAgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgICAnOmhvdmVyJzoge1xuICAgICAgICBib3JkZXJDb2xvcjogZXJyb3JcbiAgICAgICAgICA/IHRoZW1lLmNvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJcbiAgICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ2NvbnRyb2wnXSB8fCB7fSksXG4gICAgYW5pbWF0aW9uOiBhbmltYXRpb25cbiAgICAgID8gYCR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgICAoYW5pbWF0aW9ucyBhcyBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBrZXlmcmFtZXM+PilbXG4gICAgICAgICAgICBhbmltYXRpb25cbiAgICAgICAgICBdXG4gICAgICAgIH1gXG4gICAgICA6ICdub25lJyxcbiAgfSksXG4gIGluZGljYXRvcnNDb250YWluZXI6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgbWF4SGVpZ2h0OiAnNDhweCcsXG4gIH0pLFxuICBpbmRpY2F0b3JTZXBhcmF0b3I6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXIsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnaW5kaWNhdG9yU2VwYXJhdG9yJ10gfHwge30pLFxuICB9KSxcbiAgaW5wdXQ6IHByb3ZpZGVkID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgbWFyZ2luTGVmdDogMCxcbiAgICBwYWRkaW5nVG9wOiBub1RvcExhYmVsID8gMCA6IDExLFxuICB9KSxcbiAgbWVudTogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnUnXSB8fCB7fSksXG4gICAgYm94U2hhZG93OiB0aGVtZS5zaGFkb3dzLm1lbnUsXG4gIH0pLFxuICBtZW51TGlzdDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrLFxuICAgIG1heEhlaWdodDogJzIyNXB4JyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ21lbnVMaXN0J10gfHwge30pLFxuICB9KSxcbiAgbWVudVBvcnRhbDogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICB6SW5kZXg6IDEwMDAwLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/LlsnbWVudVBvcnRhbCddIHx8IHt9KSxcbiAgfSksXG4gIG11bHRpVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWQsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICBoZWlnaHQ6ICcyNHB4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjZVtub1RvcExhYmVsID8gJzAuNScgOiAnMiddLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ211bHRpVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlTGFiZWw6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlTGFiZWwnXSB8fCB7fSksXG4gIH0pLFxuICBtdWx0aVZhbHVlUmVtb3ZlOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLihzdGF0ZS5pc0Rpc2FibGVkXG4gICAgICA/IHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkLFxuICAgICAgICAgIGN1cnNvcjogJ25vbmUnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICAgIH0pLFxuICAgICc6aG92ZXInOiB7XG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHQsXG4gICAgICBjdXJzb3I6IHN0YXRlLmlzRGlzYWJsZWQgPyAnbm9uZScgOiAncG9pbnRlcicsXG4gICAgICBwb2ludGVyRXZlbnRzOiBzdGF0ZS5pc0Rpc2FibGVkID8gJ25vbmUnIDogJ2ZpbGwnLFxuICAgIH0sXG4gICAgLi4uKGN1c3RvbVN0eWxlKHN0YXRlKT8uWydtdWx0aVZhbHVlUmVtb3ZlJ10gfHwge30pLFxuICB9KSxcbiAgb3B0aW9uOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIC4uLmdldE9wdGlvbkNvbG9yKHsgc3RhdGUsIHRoZW1lIH0pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kLFxuICAgICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgICAgPyB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWRcbiAgICAgICAgOiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0LFxuICAgIH0sXG4gICAgJzpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmQsXG4gICAgICBjb2xvcjogc3RhdGUuaXNEaXNhYmxlZFxuICAgICAgICA/IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZFxuICAgICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgfSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ29wdGlvbiddIHx8IHt9KSxcbiAgfSksXG4gIHBsYWNlaG9sZGVyOiAocHJvdmlkZWQsIHN0YXRlKSA9PiAoe1xuICAgIC4uLnByb3ZpZGVkLFxuICAgIGNvbG9yOiBnZXRQbGFjZWhvbGRlckNvbG9yKHsgZXJyb3IsIHN0YXRlLCB0aGVtZSB9KSxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3BsYWNlaG9sZGVyJ10gfHwge30pLFxuICB9KSxcbiAgc2luZ2xlVmFsdWU6IChwcm92aWRlZCwgc3RhdGUpID0+ICh7XG4gICAgLi4ucHJvdmlkZWQsXG4gICAgY29sb3I6IHN0YXRlLmlzRGlzYWJsZWRcbiAgICAgID8gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkXG4gICAgICA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHQsXG4gICAgbWFyZ2luTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIG1hcmdpblJpZ2h0OiBzdGF0ZS5oYXNWYWx1ZSA/IDAgOiB1bmRlZmluZWQsXG4gICAgbWFyZ2luVG9wOiAhc3RhdGUuaGFzVmFsdWUgfHwgbm9Ub3BMYWJlbCA/IDAgOiAnNXB4JyxcbiAgICBwYWRkaW5nTGVmdDogc3RhdGUuaGFzVmFsdWUgPyAwIDogdW5kZWZpbmVkLFxuICAgIC4uLihjdXN0b21TdHlsZShzdGF0ZSk/Llsnc2luZ2xlVmFsdWUnXSB8fCB7fSksXG4gIH0pLFxuICB2YWx1ZUNvbnRhaW5lcjogKHByb3ZpZGVkLCBzdGF0ZSkgPT4gKHtcbiAgICAuLi5wcm92aWRlZCxcbiAgICAuLi4oY3VzdG9tU3R5bGUoc3RhdGUpPy5bJ3ZhbHVlQ29udGFpbmVyJ10gfHwge30pLFxuICAgIGN1cnNvcjogc3RhdGUuaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgbGFiZWw6IHtcbiAgICAgIGRpc3BsYXk6IG5vVG9wTGFiZWwgPyAnbm9uZScgOiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBwYWRkaW5nVG9wOiAwLFxuICB9KSxcbn0pXG5cbnR5cGUgV2l0aFNlbGVjdFByb3BzID0ge1xuICBzZWxlY3RQcm9wczogU2VsZWN0UHJvcHNcbn1cblxudHlwZSBTZWxlY3RQcm9wcyA9IFN0eWxlZENvbnRhaW5lclByb3BzICZcbiAgT21pdDxQcm9wczxTZWxlY3RPcHRpb24+LCAndmFsdWUnPiAmXG4gIENvbW1vblByb3BzPFNlbGVjdE9wdGlvbiwgYm9vbGVhbiwgR3JvdXBCYXNlPFNlbGVjdE9wdGlvbj4+ICYge1xuICAgIHZhbHVlPzogc3RyaW5nIHwgU2VsZWN0T3B0aW9uXG4gICAgY2hlY2tlZD86IGJvb2xlYW5cbiAgICBlcnJvcj86IHN0cmluZ1xuICAgIGxhYmVsSWQ/OiBzdHJpbmdcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0aW1lPzogYm9vbGVhblxuICB9XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGFkZGl0aW9uYWxTdHlsZXM/OiBQYXJhbWV0ZXJzPHR5cGVvZiBjc3M+WzBdXG59XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZCgnZGl2Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Rpc2FibGVkJywgJ2FkZGl0aW9uYWxTdHlsZXMnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgaXNEaXNhYmxlZCB9KSA9PiBpc0Rpc2FibGVkICYmIGBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtgfTtcbiAgJHsoeyBhZGRpdGlvbmFsU3R5bGVzIH0pID0+IGNzcyhhZGRpdGlvbmFsU3R5bGVzKX1cbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTZWxlY3RDb250YWluZXIgPSAoXG4gIHByb3BzOiBDb250YWluZXJQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBnZXRTdHlsZXMsXG4gICAgaW5uZXJQcm9wczogeyBvbktleURvd24gfSA9IHt9LFxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZSxcbiAgICBjbGFzc05hbWUsXG4gICAgc2VsZWN0UHJvcHM6IHsgbmFtZSA9ICcnLCBlcnJvciwgY2xhc3NOYW1lOiBzZWxlY3RQcm9wc0NsYXNzTmFtZSB9ID0ge30sXG4gIH0gPSBwcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS10ZXN0aWQ9e2BzZWxlY3QtaW5wdXQtJHtuYW1lfWB9XG4gICAgICBhZGRpdGlvbmFsU3R5bGVzPXtnZXRTdHlsZXM/LignY29udGFpbmVyJywgcHJvcHMpfVxuICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17W2NsYXNzTmFtZSwgc2VsZWN0UHJvcHNDbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICA8L0V4cGFuZGFibGU+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gIClcbn1cblxudHlwZSBTdHlsZWRQbGFjZWhvbGRlclByb3BzID0ge1xuICBlcnJvcj86IHN0cmluZ1xuICBpc011bHRpOiBib29sZWFuXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuXG4gIGhhc1ZhbHVlOiBib29sZWFuXG59XG5cbmNvbnN0IFN0eWxlZFBsYWNlaG9sZGVyID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlcnJvcicsICdoYXNWYWx1ZScsICdpc0Rpc2FibGVkJywgJ2lzTXVsdGknXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFBsYWNlaG9sZGVyUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZSwgZXJyb3IgfSkgPT5cbiAgICBlcnJvciA/IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dCA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICAkeyh7IGhhc1ZhbHVlIH0pID0+XG4gICAgaGFzVmFsdWUgJiZcbiAgICBgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLThweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgb3BhY2l0eTogMTtcbiAgYH1cbiAgJHsoeyBpc0Rpc2FibGVkLCBoYXNWYWx1ZSB9KSA9PiBoYXNWYWx1ZSAmJiBpc0Rpc2FibGVkICYmICdvcGFjaXR5OiAwLjUnfVxuYFxuXG5jb25zdCBTdHlsZWRUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZCcsICdpc0lubGluZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1NlbGVjdGVkQW5kTm90Rm9jdXNlZDogYm9vbGVhblxuICBpc0lubGluZT86IGJvb2xlYW5cbn0+YFxuICBtYXJnaW4tbGVmdDogJHsoeyB0aGVtZSwgaXNJbmxpbmUgfSkgPT4gKGlzSW5saW5lID8gdGhlbWUuc3BhY2VbJzEnXSA6IDApfTtcbiAgY29sb3I6ICR7KHsgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQsIHRoZW1lIH0pID0+XG4gICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQgPyB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0U3Ryb25nIDogdW5kZWZpbmVkfTtcbmBcblxuY29uc3QgTWF4TGluZVN0eWxlZFRleHQgPSBzdHlsZWQoU3R5bGVkVGV4dClgXG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbmBcblxuY29uc3QgVmFsdWVDb250YWluZXIgPSAoe1xuICBpc0Rpc2FibGVkLFxuICBjaGlsZHJlbixcbiAgc2VsZWN0UHJvcHM6IHsgZXJyb3IsIGxhYmVsSWQsIGlucHV0SWQsIC4uLnNlbGVjdFByb3BzIH0sXG4gIGlzTXVsdGksXG4gIGhhc1ZhbHVlLFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBnZXRDbGFzc05hbWVzLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlubmVyUHJvcHMsXG59OiBWYWx1ZUNvbnRhaW5lclByb3BzPFNlbGVjdE9wdGlvbj4gJiBXaXRoU2VsZWN0UHJvcHMpID0+IChcbiAgPGNvbXBvbmVudHMuVmFsdWVDb250YWluZXJcbiAgICBjbGVhclZhbHVlPXtjbGVhclZhbHVlfVxuICAgIGdldFN0eWxlcz17Z2V0U3R5bGVzfVxuICAgIGdldFZhbHVlPXtnZXRWYWx1ZX1cbiAgICBpc1J0bD17aXNSdGx9XG4gICAgY3g9e2N4fVxuICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgc2VsZWN0T3B0aW9uPXtzZWxlY3RPcHRpb259XG4gICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgIHRoZW1lPXt0aGVtZX1cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBpbm5lclByb3BzPXtpbm5lclByb3BzfVxuICAgIHNlbGVjdFByb3BzPXtzZWxlY3RQcm9wc31cbiAgICBpc011bHRpPXtpc011bHRpfVxuICAgIGhhc1ZhbHVlPXtoYXNWYWx1ZX1cbiAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgIGdldENsYXNzTmFtZXM9e2dldENsYXNzTmFtZXN9XG4gID5cbiAgICA8PlxuICAgICAge3NlbGVjdFByb3BzLnBsYWNlaG9sZGVyID8gKFxuICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICBhcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD17bGFiZWxJZH1cbiAgICAgICAgICBodG1sRm9yPXtpbnB1dElkfVxuICAgICAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgICAgICAgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBoYXNWYWx1ZT17aGFzVmFsdWV9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VsZWN0UHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8Lz5cbiAgPC9jb21wb25lbnRzLlZhbHVlQ29udGFpbmVyPlxuKVxuXG5jb25zdCBpbnB1dFN0eWxlcyA9ICh7IGlzTXVsdGkgfTogUGFydGlhbDxTZWxlY3RQcm9wcz4pID0+IGNzc2BcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgJHshaXNNdWx0aSAmJiAnY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50J307XG5gXG5cbmNvbnN0IElucHV0ID0gKHtcbiAgaXNNdWx0aSxcbiAgaGFzVmFsdWUsXG4gIHNlbGVjdFByb3BzOiB7IGlucHV0SWQsIGxhYmVsSWQsIHBsYWNlaG9sZGVyLCAuLi5zZWxlY3RQcm9wcyB9LFxuICBjbGVhclZhbHVlLFxuICBnZXRTdHlsZXMsXG4gIGdldFZhbHVlLFxuICBpc1J0bCxcbiAgY3gsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdE9wdGlvbixcbiAgc2V0VmFsdWUsXG4gIHRoZW1lLFxuICBjbGFzc05hbWUsXG4gIGlzSGlkZGVuLFxuICAuLi5wcm9wc1xufTogSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzKSA9PiAoXG4gIDxjb21wb25lbnRzLklucHV0XG4gICAgey4uLnByb3BzfVxuICAgIGNzcz17aW5wdXRTdHlsZXMoeyBpc011bHRpIH0pfVxuICAgIGlkPXtpbnB1dElkfVxuICAgIGFyaWEtY29udHJvbHM9e2xhYmVsSWR9XG4gICAgaGFzVmFsdWU9e2hhc1ZhbHVlfVxuICAgIGlzTXVsdGk9e2lzTXVsdGl9XG4gICAgY2xlYXJWYWx1ZT17Y2xlYXJWYWx1ZX1cbiAgICBnZXRTdHlsZXM9e2dldFN0eWxlc31cbiAgICBnZXRWYWx1ZT17Z2V0VmFsdWV9XG4gICAgaXNSdGw9e2lzUnRsfVxuICAgIGN4PXtjeH1cbiAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgIHNlbGVjdE9wdGlvbj17c2VsZWN0T3B0aW9ufVxuICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICB0aGVtZT17dGhlbWV9XG4gICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgIHNlbGVjdFByb3BzPXtcbiAgICAgIHsgLi4uc2VsZWN0UHJvcHMsIHBsYWNlaG9sZGVyIH0gYXMgSW5wdXRQcm9wczxTZWxlY3RPcHRpb24+WydzZWxlY3RQcm9wcyddXG4gICAgfVxuICAvPlxuKVxuXG5jb25zdCBPcHRpb24gPSAoe1xuICBzZWxlY3RQcm9wcyxcbiAgdmFsdWUsXG4gIGxhYmVsLFxuICBjaGlsZHJlbixcbiAgZGF0YTogeyBpbmxpbmVEZXNjcmlwdGlvbiwgZGVzY3JpcHRpb24gfSxcbiAgaXNTZWxlY3RlZCxcbiAgZGF0YSxcbiAgLi4ucHJvcHNcbn06IE9wdGlvblByb3BzPFNlbGVjdE9wdGlvbj4gJiBTZWxlY3RPcHRpb24pID0+IHtcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0aWQ9e2BvcHRpb24tJHtzZWxlY3RQcm9wcy5uYW1lIHx8ICcnfS0ke1xuICAgICAgICBpc0pTT05TdHJpbmcodmFsdWUpID8gbGFiZWwgOiB2YWx1ZVxuICAgICAgfWB9XG4gICAgICBvbk1vdXNlT3Zlcj17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxuICAgICAgb25Nb3VzZU91dD17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cbiAgICA+XG4gICAgICA8Y29tcG9uZW50cy5PcHRpb25cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzZWxlY3RQcm9wcz17c2VsZWN0UHJvcHN9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICB7aW5saW5lRGVzY3JpcHRpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZFRleHRcbiAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsXCJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWRBbmROb3RGb2N1c2VkPXtpc1NlbGVjdGVkICYmICFpc0ZvY3VzZWR9XG4gICAgICAgICAgICBpc0lubGluZT17ISFpbmxpbmVEZXNjcmlwdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aW5saW5lRGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRUZXh0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2Rlc2NyaXB0aW9uID8gKFxuICAgICAgICAgIDxNYXhMaW5lU3R5bGVkVGV4dFxuICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJib2R5U21hbGxcIlxuICAgICAgICAgICAgaXNTZWxlY3RlZEFuZE5vdEZvY3VzZWQ9e2lzU2VsZWN0ZWQgJiYgIWlzRm9jdXNlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9NYXhMaW5lU3R5bGVkVGV4dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2NvbXBvbmVudHMuT3B0aW9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxTZWxlY3RPcHRpb24+ICYgV2l0aFNlbGVjdFByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9wczogeyBpc0Rpc2FibGVkLCB0aW1lLCByZXF1aXJlZCB9LFxuICB9ID0gcHJvcHNcblxuICByZXR1cm4gKFxuICAgIDxjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yIHsuLi5wcm9wc30+XG4gICAgICA8U3RhY2sgZ2FwPXsxfSBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIHtyZXF1aXJlZCA/IDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIHNpemU9ezEwfSBjb2xvcj1cImRhbmdlclwiIC8+IDogbnVsbH1cbiAgICAgICAge3RpbWUgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICA8SWNvblxuICAgICAgICAgIG5hbWU9e3RpbWUgPyAnY2xvY2stb3V0bGluZScgOiAnYXJyb3ctZG93bid9XG4gICAgICAgICAgc2l6ZT17dGltZSA/IDI0IDogMTZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0YWNrPlxuICAgIDwvY29tcG9uZW50cy5Ecm9wZG93bkluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBDbGVhckluZGljYXRvciA9IChcbiAgcHJvcHM6IENsZWFySW5kaWNhdG9yUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFdpdGhTZWxlY3RQcm9wcyxcbikgPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0UHJvcHM6IHsgY2hlY2tlZCwgZXJyb3IgfSxcbiAgICBpbm5lclByb3BzOiB7IHJlZiwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8Y29tcG9uZW50cy5DbGVhckluZGljYXRvciB7Li4ucHJvcHN9PlxuICAgICAgPEljb25cbiAgICAgICAgey4uLnJlc3RJbm5lclByb3BzfVxuICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAgICAgY29sb3I9eyhjaGVja2VkICYmICdwcmltYXJ5JykgfHwgKGVycm9yICYmICdkYW5nZXInKSB8fCAnbmV1dHJhbCd9XG4gICAgICAvPlxuICAgIDwvY29tcG9uZW50cy5DbGVhckluZGljYXRvcj5cbiAgKVxufVxuXG5jb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlQ29udGFpbmVyIHsuLi5wcm9wc30gLz5cbilcblxuY29uc3QgTXVsdGlWYWx1ZUxhYmVsID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlTGFiZWwgey4uLnByb3BzfSAvPlxuKVxuXG5jb25zdCBNdWx0aVZhbHVlUmVtb3ZlID0gKHByb3BzOiBNdWx0aVZhbHVlUHJvcHM8U2VsZWN0T3B0aW9uPikgPT4gKFxuICA8Y29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlIHsuLi5wcm9wc30+XG4gICAgPEljb24gbmFtZT1cImNsb3NlXCIgc2l6ZT17MTZ9IC8+XG4gIDwvY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlPlxuKVxuXG50eXBlIFNlbGVjdENvbXBvbmVudHMgPSBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG5cbnR5cGUgU3RhdGVNYW5hZ2VkU2VsZWN0ID0gdHlwZW9mIFNlbGVjdFxuXG50eXBlIFNlbGVjdElucHV0UHJvcHMgPSBTZWxlY3RQcm9wcyAmXG4gIFNlbGVjdFN0eWxlUHJvcHMgJiB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgYW5pbWF0aW9uXG4gICAgICovXG4gICAgYW5pbWF0aW9uPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogUGxheSB0aGUgYW5pbWF0aW9uIHdoZW4gdGhlIHZhbHVlIGNoYW5nZVxuICAgICAqL1xuICAgIGFuaW1hdGlvbk9uQ2hhbmdlPzogYm9vbGVhblxuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgIHJlYWRPbmx5PzogYm9vbGVhblxuICAgIGlubmVyUmVmPzogRm9yd2FyZGVkUmVmPFN0YXRlTWFuYWdlZFNlbGVjdD5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY29tcG9uZW50cyBvZiB0aGUgU2VsZWN0SW5wdXQuIFNlZSBbUmVhY3Qgc2VsZWN0IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9jb21wb25lbnRzKVxuICAgICAqL1xuICAgIGN1c3RvbUNvbXBvbmVudHM/OiBTZWxlY3RQcm9wc1snY29tcG9uZW50cyddXG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICAgIGVtcHR5U3RhdGU/OiBDb21wb25lbnRQcm9wczxTZWxlY3Q+Wydub09wdGlvbnNNZXNzYWdlJ11cbiAgICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIH1cblxuY29uc3QgZGVmYXVsdEN1c3RvbVN0eWxlID0gKCkgPT4gKHt9KVxuXG5jb25zdCBGd2RTZWxlY3RJbnB1dCA9ICh7XG4gIGFuaW1hdGlvbiA9ICdwdWxzZScsXG4gIGFuaW1hdGlvbkR1cmF0aW9uID0gMTAwMCxcbiAgYW5pbWF0aW9uT25DaGFuZ2UgPSBmYWxzZSxcbiAgY2hpbGRyZW4sXG4gIGNsYXNzTmFtZSxcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgY3VzdG9tU3R5bGUgPSBkZWZhdWx0Q3VzdG9tU3R5bGUsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIGVycm9yLFxuICBpbm5lclJlZixcbiAgaW5wdXRJZDogaW5wdXRJZFByb3AsXG4gIGlzQ2xlYXJhYmxlID0gZmFsc2UsXG4gIGlzTXVsdGkgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFRhcmdldCxcbiAgbm9Ub3BMYWJlbCA9IGZhbHNlLFxuICBvbkJsdXIsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgdmFsdWUsXG4gIG5hbWUsXG4gIGlkOiBpZFByb3AsXG4gIHRpbWUsXG4gIGlzTG9hZGluZyxcbiAgcmVxdWlyZWQsXG4gIGVtcHR5U3RhdGUsXG4gICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG59OiBQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+KSA9PiB7XG4gIGNvbnN0IGlkID0gdXNlSWQoKVxuICBjb25zdCBpbnB1dElkID0gaW5wdXRJZFByb3AgPz8gaWRcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpXG4gIGNvbnN0IFtpc0FuaW1hdGVkLCBzZXRJc0FuaW1hdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBjdXJyZW50VmFsdWUgPSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uKT8udmFsdWVcblxuICAvLyBPcHRpb25zIG5lZWQgdG8ga2VlcCB0aGUgc2FtZSByZWZlcmVuY2Ugb3RoZXJ3aXNlIHJlYWN0LXNlbGVjdCBkb2Vzbid0IGZvY3VzIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG9wdGlvbnMgfHxcbiAgICAgIENoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLnJlZHVjZTxTZWxlY3RPcHRpb25bXT4oKGFjYywgY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50PHsgY2hpbGRyZW46IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSksXG4gICAgW29wdGlvbnMsIGNoaWxkcmVuXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbk9uQ2hhbmdlKSB7XG4gICAgICBzZXRJc0FuaW1hdGVkKHRydWUpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldElzQW5pbWF0ZWQoZmFsc2UpLCBhbmltYXRpb25EdXJhdGlvbilcbiAgICB9XG4gIH0sIFtzZXRJc0FuaW1hdGVkLCBhbmltYXRpb25PbkNoYW5nZSwgYW5pbWF0aW9uRHVyYXRpb24sIGN1cnJlbnRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0XG4gICAgICBjb21wb25lbnRzPXtcbiAgICAgICAge1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIERyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICAgIElucHV0LFxuICAgICAgICAgIE11bHRpVmFsdWVDb250YWluZXIsXG4gICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgIE11bHRpVmFsdWVSZW1vdmUsXG4gICAgICAgICAgT3B0aW9uLFxuICAgICAgICAgIFNlbGVjdENvbnRhaW5lcixcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgICB9IGFzIFNlbGVjdENvbXBvbmVudHNcbiAgICAgIH1cbiAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWQgfHwgcmVhZE9ubHl9XG4gICAgICBpc09wdGlvbkRpc2FibGVkPXtvcHRpb24gPT4gISFvcHRpb24uZGlzYWJsZWR9XG4gICAgICBzdHlsZXM9e2dldFNlbGVjdFN0eWxlcyh7XG4gICAgICAgIGFuaW1hdGlvbjogaXNBbmltYXRlZCA/IGFuaW1hdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24sXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgbm9Ub3BMYWJlbCxcbiAgICAgICAgdGhlbWUsXG4gICAgICB9KX1cbiAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICBtZW51UG9ydGFsVGFyZ2V0PXttZW51UG9ydGFsVGFyZ2V0IHx8IHVuZGVmaW5lZH1cbiAgICAgIGlzU2VhcmNoYWJsZT17aXNTZWFyY2hhYmxlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNNdWx0aT17aXNNdWx0aX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHZhbHVlPXt2YWx1ZSBhcyBTZWxlY3RPcHRpb259XG4gICAgICBtYXhNZW51SGVpZ2h0PXsyNTB9XG4gICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgcmVmPXtpbm5lclJlZiBhcyBhbnl9XG4gICAgICBuYW1lPXtuYW1lfVxuICAgICAgaWQ9e2lkUHJvcH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGltZSBwcm9wIGRvZXNuJ3QgZXhpc3QgaW4gcmVhY3Qtc2VsZWN0IGJ1dCBpcyB1c2VkXG4gICAgICB0aW1lPXt0aW1lfVxuICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICBub09wdGlvbnNNZXNzYWdlPXtlbXB0eVN0YXRlfVxuICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgLz5cbiAgKVxufVxuXG50eXBlIE9wdGlvbkNvbXBvbmVudCA9IChcbiAgcHJvcHM6IFBhcnRpYWw8T3B0aW9uUHJvcHM8U2VsZWN0T3B0aW9uPiAmIFNlbGVjdE9wdGlvbj4sXG4pID0+IEpTWC5FbGVtZW50XG5cbi8qKlxuICogU2VsZWN0SW5wdXQgY29tcG9uZW50IGlzIGEgd3JhcHBlciBhcm91bmQgW3JlYWN0LXNlbGVjdF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tKSBjb21wb25lbnQuXG4gKiBJdCBwcm92aWRlcyBhIHN0eWxlZCBzZWxlY3QgaW5wdXQgd2l0aCBhIGxhYmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLlxuICogQGRlcHJlY2F0ZWQgdXNlIFNlbGVjdElucHV0VjIgY29tcG9uZW50IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKHByb3BzOiBTZWxlY3RJbnB1dFByb3BzLCByZWY6IEZvcndhcmRlZFJlZjxTdGF0ZU1hbmFnZWRTZWxlY3Q+KSA9PiAoXG4gICAgPEZ3ZFNlbGVjdElucHV0IGlubmVyUmVmPXtyZWZ9IHsuLi5wcm9wc30gLz5cbiAgKSxcbikgYXMgRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQYXJ0aWFsPFNlbGVjdElucHV0UHJvcHM+PiAmIHtcbiAgT3B0aW9uOiBPcHRpb25Db21wb25lbnRcbn1cblxuU2VsZWN0SW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0SW5wdXQnXG5cblNlbGVjdElucHV0Lk9wdGlvbiA9IE9wdGlvbiBhcyBPcHRpb25Db21wb25lbnRcbiJdfQ== */");
|
|
332
335
|
const Input = ({
|
|
333
336
|
isMulti,
|
|
334
337
|
hasValue,
|
|
@@ -372,7 +375,7 @@ const Option = ({
|
|
|
372
375
|
const [isFocused, setIsFocused] = useState(false);
|
|
373
376
|
return /* @__PURE__ */ jsx("div", { "data-testid": `option-${selectProps.name || ""}-${isJSONString(value) ? label : value}`, onMouseOver: () => setIsFocused(true), onFocus: () => setIsFocused(true), onMouseOut: () => setIsFocused(false), onBlur: () => setIsFocused(false), children: /* @__PURE__ */ jsxs(components.Option, { ...props, selectProps, label, data, isSelected, children: [
|
|
374
377
|
children,
|
|
375
|
-
inlineDescription ? /* @__PURE__ */ jsx(StyledText, { as: "span", variant: "bodySmall", isSelectedAndNotFocused: isSelected && !isFocused, children: inlineDescription }) : null,
|
|
378
|
+
inlineDescription ? /* @__PURE__ */ jsx(StyledText, { as: "span", variant: "bodySmall", isSelectedAndNotFocused: isSelected && !isFocused, isInline: !!inlineDescription, children: inlineDescription }) : null,
|
|
376
379
|
description ? /* @__PURE__ */ jsx(MaxLineStyledText, { as: "p", variant: "bodySmall", isSelectedAndNotFocused: isSelected && !isFocused, children: description }) : null
|
|
377
380
|
] }) });
|
|
378
381
|
};
|