@amboss/design-system 3.10.1 → 3.10.2
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/build/cjs/components/EntityList/BaseEntityList.js +1 -1
- package/build/cjs/components/EntityList/EntityListItem.js +1 -1
- package/build/cjs/components/Form/FormField/FormField.js +1 -1
- package/build/cjs/components/MediaItem/MediaItem.js +1 -1
- package/build/cjs/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
- package/build/cjs/components/Patterns/Modal/Modal.d.ts +3 -1
- package/build/cjs/components/Patterns/Modal/Modal.js +3 -3
- package/build/cjs/components/Toggletip/BasePopover.js +1 -1
- package/build/cjs/components/Tooltip/TooltipContent.d.ts +4 -2
- package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
- package/build/esm/components/EntityList/BaseEntityList.js +1 -1
- package/build/esm/components/EntityList/EntityListItem.js +1 -1
- package/build/esm/components/Form/FormField/FormField.js +1 -1
- package/build/esm/components/MediaItem/MediaItem.js +1 -1
- package/build/esm/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
- package/build/esm/components/Patterns/Modal/Modal.d.ts +3 -1
- package/build/esm/components/Patterns/Modal/Modal.js +3 -3
- package/build/esm/components/Toggletip/BasePopover.js +1 -1
- package/build/esm/components/Tooltip/TooltipContent.d.ts +4 -2
- package/build/esm/components/Tooltip/TooltipContent.js +1 -1
- package/package.json +13 -7
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Modal(){return Modal},get StyledBackdrop(){return StyledBackdrop}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_Portal=require("../../Portal/Portal"),_Header=require("../../Typography/Header/Header"),_Stack=require("../../Stack/Stack"),_Container=require("../../Container/Container"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_ButtonGroup=require("../ButtonGroup/ButtonGroup"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_Text=require("../../Typography/Text/Text"),_mediaQueries=require("../../../shared/mediaQueries"),_useScrollDetection=require("../../../shared/useScrollDetection"),_ModalContext=require("./ModalContext"),_FocusTrapWrapper=require("../../../shared/FocusTrapWrapper"),_appendId=require("../../../shared/appendId"),_useWindow=require("../../../shared/useWindow"),StyledBackdrop=(0,_styled.default)("div",{target:"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get Modal(){return Modal},get StyledBackdrop(){return StyledBackdrop}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_react1=require("@emotion/react"),_Portal=require("../../Portal/Portal"),_Header=require("../../Typography/Header/Header"),_Stack=require("../../Stack/Stack"),_Container=require("../../Container/Container"),_Box=require("../../Box/Box"),_Inline=require("../../Inline/Inline"),_ButtonGroup=require("../ButtonGroup/ButtonGroup"),_PictogramButton=require("../../PictogramButton/PictogramButton"),_Text=require("../../Typography/Text/Text"),_mediaQueries=require("../../../shared/mediaQueries"),_useScrollDetection=require("../../../shared/useScrollDetection"),_ModalContext=require("./ModalContext"),_FocusTrapWrapper=require("../../../shared/FocusTrapWrapper"),_appendId=require("../../../shared/appendId"),_useWindow=require("../../../shared/useWindow"),StyledBackdrop=(0,_styled.default)("div",{target:"e1fhmfkz0",label:"StyledBackdrop"})(({theme})=>{let fadeInBackdrop=(0,_react.useMemo)(()=>(0,_react1.keyframes)`
|
|
2
2
|
from {
|
|
3
3
|
opacity: ${theme.variables.opacity.hidden};
|
|
4
4
|
}
|
|
5
5
|
to {
|
|
6
6
|
opacity: ${theme.variables.opacity.visible};
|
|
7
7
|
}
|
|
8
|
-
`,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",background:theme.values.color.background.backdrop.default,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",flex:"1 0 auto",animation:`${fadeInBackdrop} ${theme.variables.animation.modalBackdrop.open.duration} ${theme.variables.animation.modalBackdrop.open.timingFunction} both`}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0U4QiJ9 */"),getDesktopSpace=theme=>theme.variables.size.spacing.l,getDesktopInnerSpace=theme=>theme.variables.size.spacing.xl,getMobileSpace=theme=>theme.variables.size.spacing.m,getMobileInnerSpace=theme=>theme.variables.size.spacing.m,StyledModalWrapper=(0,_styled.default)("div",{target:"e1m7za3p1",label:"StyledModalWrapper"})(({theme,isFullScreen,size})=>{let fadeInModal=(0,_react.useMemo)(()=>(0,_react1.keyframes)`
|
|
8
|
+
`,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",background:theme.values.color.background.backdrop.default,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",flex:"1 0 auto",animation:`${fadeInBackdrop} ${theme.variables.animation.modalBackdrop.open.duration} ${theme.variables.animation.modalBackdrop.open.timingFunction} both`}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFOEIifQ== */"),getDesktopSpace=theme=>theme.variables.size.spacing.l,getDesktopInnerSpace=theme=>theme.variables.size.spacing.xl,getMobileSpace=theme=>theme.variables.size.spacing.m,getMobileInnerSpace=theme=>theme.variables.size.spacing.m,StyledModalWrapper=(0,_styled.default)("div",{target:"e1fhmfkz1",label:"StyledModalWrapper"})(({theme,isFullScreen,size})=>{let fadeInModal=(0,_react.useMemo)(()=>(0,_react1.keyframes)`
|
|
9
9
|
from {
|
|
10
10
|
opacity: ${theme.variables.opacity.hidden};
|
|
11
11
|
transform: translateY(20px);
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
opacity: ${theme.variables.opacity.visible};
|
|
15
15
|
transform: translateY(0);
|
|
16
16
|
}
|
|
17
|
-
`,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{animation:`${fadeInModal} ${theme.variables.animation.modal.open.duration} ${theme.variables.animation.modal.open.delay} ${theme.variables.animation.modal.open.timingFunction} both`,...(0,_mediaQueries.useResponsiveValue)({width:[`calc(100% - ${getMobileSpace(theme)} * 2)`,isFullScreen?`calc(100% - ${getDesktopSpace(theme)} * 2)`:theme.variables.size.dimension.modal.width[size]]})}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0cyQiJ9 */"),StyledInner=(0,_styled.default)("div",{target:"e1m7za3p2",label:"StyledInner"})(({theme,isFullScreen,size})=>{let mobileVerticalSpace=getMobileSpace(theme),mobileInnerVerticalSpace=getMobileInnerSpace(theme),desktopVerticalSpace=getDesktopSpace(theme),desktopInnerVerticalSpace=getDesktopInnerSpace(theme),fullScreenMobile=`calc(100dvh - ${mobileVerticalSpace} * 2 - ${mobileInnerVerticalSpace} * 2)`;return{display:"flex",...(0,_mediaQueries.useResponsiveValue)({height:["l"===size||isFullScreen?fullScreenMobile:"auto",isFullScreen?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`:"l"===size?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2 - ${theme.variables.size.dimension.modal.margin.l} * 2)`:"auto"],maxHeight:[fullScreenMobile,isFullScreen?"auto":"l"===size?`calc(${theme.variables.size.dimension.modal.maxHeight.l} - ${desktopInnerVerticalSpace} * 2)`:`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`]}),flexDirection:"column",overflow:"hidden"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNklvQiJ9 */"),StyledBody=(0,_styled.default)("div",{target:"e1m7za3p3",label:"StyledBody"})(({theme,borderBottom,borderTop,size,isFullScreen})=>({overflowY:"auto",maxHeight:"100%",...(isFullScreen||"l"===size)&&{flex:1},...borderBottom&&{borderBottom:`1px solid ${theme.values.color.divider.primary}`},...borderTop&&{borderTop:`1px solid ${theme.values.color.divider.primary}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb01tQiJ9 */"),StyledImg=(0,_styled.default)("img",{target:"e1m7za3p4",label:"StyledImg"})(()=>({width:"100%",aspectRatio:"16/9"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc05rQiJ9 */"),StyledMaxWidth=(0,_styled.default)("div",{target:"e1m7za3p5",label:"StyledMaxWidth"})(({theme})=>({maxWidth:theme.variables.size.dimension.modal.fullScreenContentWidth,margin:"0 auto",height:"100%"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMk51QiJ9 */"),StyledXContainer=(0,_styled.default)("div",{target:"e1m7za3p6",label:"StyledXContainer"})(({theme})=>({position:"absolute",...(0,_mediaQueries.useResponsiveValue)({top:[theme.variables.size.spacing.s,theme.variables.size.spacing.l],right:[theme.variables.size.spacing.s,theme.variables.size.spacing.l]})}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBJbWFnZUNvbXBvbmVudD86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICBpbWFnZVVybD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IE1vZGFsUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgYmFja2Ryb3BSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHN1YkhlYWRlcklkID0gdXNlSWQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG4gIGNvbnN0IHsgc2Nyb2xsYWJsZVJlZiwgaXNTY3JvbGxCb3R0b20sIGlzU2Nyb2xsVG9wLCBoYXNTY3JvbGwgfSA9XG4gICAgdXNlU2Nyb2xsRGV0ZWN0aW9uKCk7XG4gIGNvbnN0IFtpc1Nob3J0Vmlld3BvcnQsIHNldElzU2hvcnRWaWV3cG9ydF0gPSB1c2VTdGF0ZShcbiAgICBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93KVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcblxuICAgIGlmICh0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgYmFja2Ryb3BSZWYuY3VycmVudCkge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICBzZXRJc1Nob3J0Vmlld3BvcnQoZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdykpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoYmFja2Ryb3BSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVPYnNlcnZlcikge1xuICAgICAgICByZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2JhY2tkcm9wUmVmLCB3aW5kb3ddKTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBvbkFjdGlvbihcImNhbmNlbFwiKTtcbiAgfTtcblxuICBjb25zdCBoYXNJbWFnZSA9IGltYWdlVXJsIHx8IEltYWdlQ29tcG9uZW50O1xuICBjb25zdCBIZWFkaW5nQ29tcG9uZW50ID0gaXNTaG9ydFZpZXdwb3J0ID8gSDMgOiBIMjtcbiAgY29uc3QgaXNJbWFnZVZpc2libGUgPSAhaXNTaG9ydFZpZXdwb3J0ICYmICEhaGFzSW1hZ2U7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXRQcm9wcyA9IHsgaXNGdWxsU2NyZWVuLCBpc01heFdpZHRoTGltaXQgfTtcblxuICBjb25zdCBjbG9zZUJ1dHRvbiA9IGlzRGlzbWlzc2libGUgJiYgKFxuICAgIDxTdHlsZWRYQ29udGFpbmVyPlxuICAgICAgPFBpY3RvZ3JhbUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwidGVydGlhcnlcIlxuICAgICAgICBpY29uPVwieFwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgIGFyaWEtbGFiZWw9e2Nsb3NlQnV0dG9uQXJpYUxhYmVsfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFhDb250YWluZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcHBlclxuICAgICAgc2tpcFBvcnRhbD17c2tpcFBvcnRhbH1cbiAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgID5cbiAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgIGlzRGlzbWlzc2libGU9e2lzRGlzbWlzc2libGV9XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU9e2hhbmRsZUNsb3NlfVxuICAgICAgICBiYWNrZHJvcFJlZj17YmFja2Ryb3BSZWZ9XG4gICAgICAgIG1vZGFsUmVmPXttb2RhbFJlZn1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZE1vZGFsV3JhcHBlclxuICAgICAgICAgIHJlZj17bW9kYWxSZWZ9XG4gICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJNb2RhbFwiXG4gICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgfHwgaGVhZGVyfVxuICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e1xuICAgICAgICAgICAgc3ViSGVhZGVyID8gYXBwZW5kSWQoYXJpYURlc2NyaWJlZEJ5LCBzdWJIZWFkZXJJZCkgOiBhcmlhRGVzY3JpYmVkQnlcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIHZTcGFjZT17W21vYmlsZVNpemUsIGRlc2t0b3BTaXplXX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbm5lciBpc0Z1bGxTY3JlZW49e2lzRnVsbFNjcmVlbn0gc2l6ZT17c2l6ZX0+XG4gICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30+XG4gICAgICAgICAgICAgICAgICA8Qm94IHNwYWNlPVwiemVyb1wiIGJTcGFjZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPXtpc0ltYWdlVmlzaWJsZSA/IFtcInNcIiwgXCJsXCJdIDogXCJ6ZXJvXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgIHtpc0ltYWdlVmlzaWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1hZ2VVcmwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB0U3BhY2U9e1tcInhsXCIsIFwibFwiXX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW1nIHNyYz17aW1hZ2VVcmx9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlQ29tcG9uZW50IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInh4c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWxIZWFkZXIgJiYgPEg2IGFzPVwiZGl2XCI+e2xhYmVsSGVhZGVyfTwvSDY+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ6ZXJvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhlYWRpbmdDb21wb25lbnQgYXM9XCJoMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlYWRpbmdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgYXM9XCJoMlwiIGNvbG9yPVwidGVydGlhcnlcIiBpZD17c3ViSGVhZGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3ViSGVhZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9zZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cblxuICAgICAgICAgICAgICAgIDxTdHlsZWRCb2R5XG4gICAgICAgICAgICAgICAgICByZWY9e3Njcm9sbGFibGVSZWZ9XG4gICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59XG4gICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b209e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxCb3R0b219XG4gICAgICAgICAgICAgICAgICBib3JkZXJUb3A9e2hhc1Njcm9sbCAmJiAhaXNTY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9XCJ4eHhzXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfSBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEJvZHk+XG5cbiAgICAgICAgICAgICAgICB7KGFjdGlvbkJ1dHRvbiB8fCBjYW5jZWxCdXR0b25MYWJlbCB8fCBzZWNvbmRhcnlCdXR0b24pICYmIChcbiAgICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9vdGVyIGlzU2hvcnRWaWV3cG9ydD17aXNTaG9ydFZpZXdwb3J0fT5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbj17YWN0aW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uPXtzZWNvbmRhcnlCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0PXtjYW5jZWxCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQnV0dG9uQ2xpY2s9e29uQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5uZXI+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRNb2RhbFdyYXBwZXI+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59XG5cbk1vZGFsLlN0YWNrID0gTW9kYWxTdGFjaztcbk1vZGFsLlRleHQgPSBNb2RhbFRleHQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaU95QiJ9 */"),Footer=({children,alignItems=["stretch","right"],isShortViewport})=>_react.default.createElement(_Box.Box,{space:"zero",tSpace:isShortViewport?"m":"l"},_react.default.createElement(_Stack.Stack,{alignItems:alignItems},children)),Wrapper=({skipPortal,children,portalContainer,backdropRef})=>skipPortal?_react.default.createElement(_react.default.Fragment,null,children):_react.default.createElement(_ModalContext.ModalContext.Provider,{value:!0},_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},_react.default.createElement(StyledBackdrop,{ref:backdropRef},children)));function FocusTrap({onPostDeactivate,isDismissible,portalContainer,children,backdropRef,modalRef}){let portalContainerElement=(0,_Portal.usePortalContainerElement)(portalContainer);return _react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:!0,focusTrapOptions:{clickOutsideDeactivates:evt=>(!portalContainerElement.contains(evt.target)||evt.target===backdropRef.current)&&isDismissible,escapeDeactivates:isDismissible,preventScroll:!0,fallbackFocus:modalRef.current,onPostDeactivate}},children)}const HorizontalOffset=({children,isFullScreen,isMaxWidthLimit,height})=>_react.default.createElement(_Box.Box,{space:["m","xl"],vSpace:"zero",height:height},isFullScreen&&isMaxWidthLimit?_react.default.createElement(StyledMaxWidth,null,children):children);function getIsShortViewport(window){return void 0!==window&&window.innerHeight<420}function Modal({header,subHeader,labelHeader,children,imageUrl,ImageComponent,secondaryButton,cancelButtonLabel,isDismissible=!0,isFullScreen,isMaxWidthLimit=!0,actionButton,role="dialog",onAction,size="m",privateProps:{skipPortal}={skipPortal:!1},portalContainer,closeButtonAriaLabel="Dismiss Dialog","aria-label":ariaLabel,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId}){let modalRef=(0,_react.useRef)(null),backdropRef=(0,_react.useRef)(null),subHeaderId=(0,_react.useId)(),window=(0,_useWindow.useWindow)(),{scrollableRef,isScrollBottom,isScrollTop,hasScroll}=(0,_useScrollDetection.useScrollDetection)(),[isShortViewport,setIsShortViewport]=(0,_react.useState)(getIsShortViewport(window));(0,_react.useEffect)(()=>{let resizeObserver;return"undefined"!=typeof ResizeObserver&&backdropRef.current&&(resizeObserver=new ResizeObserver(()=>{setIsShortViewport(getIsShortViewport(window))})).observe(backdropRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[backdropRef,window]);let handleClose=()=>{onAction("cancel")},hasImage=imageUrl||ImageComponent,HeadingComponent=isShortViewport?_Header.H3:_Header.H2,isImageVisible=!isShortViewport&&!!hasImage,horizontalOffsetProps={isFullScreen,isMaxWidthLimit},closeButton=isDismissible&&_react.default.createElement(StyledXContainer,null,_react.default.createElement(_PictogramButton.PictogramButton,{variant:"tertiary",icon:"x",size:"s",onClick:handleClose,"aria-label":closeButtonAriaLabel}));return _react.default.createElement(Wrapper,{skipPortal:skipPortal,portalContainer:portalContainer,backdropRef:backdropRef},_react.default.createElement(FocusTrap,{portalContainer:portalContainer,isDismissible:isDismissible,onPostDeactivate:handleClose,backdropRef:backdropRef,modalRef:modalRef},_react.default.createElement(StyledModalWrapper,{ref:modalRef,role:role,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Modal",isFullScreen:isFullScreen,size:size,"aria-label":ariaLabel||header,"aria-describedby":subHeader?(0,_appendId.appendId)(ariaDescribedBy,subHeaderId):ariaDescribedBy},_react.default.createElement(_Container.Container,{elevation:4},_react.default.createElement(_Box.Box,{space:"zero",vSpace:["m","xl"]},_react.default.createElement(StyledInner,{isFullScreen:isFullScreen,size:size},_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(_Box.Box,{space:"zero",bSpace:"s"},_react.default.createElement(_Stack.Stack,{space:isImageVisible?["s","l"]:"zero"},isImageVisible&&_react.default.createElement(_react.default.Fragment,null,imageUrl?_react.default.createElement(_Box.Box,{space:"zero",tSpace:["xl","l"]},_react.default.createElement(StyledImg,{src:imageUrl})):_react.default.createElement(ImageComponent,null)),_react.default.createElement(_Inline.Inline,{alignItems:"spaceBetween",noWrap:!0},_react.default.createElement(_Stack.Stack,{space:"xxs"},labelHeader&&_react.default.createElement(_Header.H6,{as:"div"},labelHeader),_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(HeadingComponent,{as:"h1"},header),subHeader&&_react.default.createElement(_Header.H4,{as:"h2",color:"tertiary",id:subHeaderId},subHeader))),closeButton)))),_react.default.createElement(StyledBody,{ref:scrollableRef,size:size,isFullScreen:isFullScreen,borderBottom:hasScroll&&!isScrollBottom,borderTop:hasScroll&&!isScrollTop},_react.default.createElement(_Box.Box,{space:"zero",vSpace:"xxxs",height:"100%"},_react.default.createElement(HorizontalOffset,{...horizontalOffsetProps,height:"100%"},children))),(actionButton||cancelButtonLabel||secondaryButton)&&_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(Footer,{isShortViewport:isShortViewport},_react.default.createElement(_ButtonGroup.ButtonGroup,{actionButton:actionButton,secondaryButton:secondaryButton,cancelButtonText:cancelButtonLabel,onButtonClick:onAction})))))))))}Modal.Stack=({children,...rest})=>_react.default.createElement(_Stack.Stack,{...rest,space:"m"},children),Modal.Text=({children,...rest})=>_react.default.createElement(_Text.Text,{...rest,size:"m",color:"tertiary"},children);
|
|
17
|
+
`,[theme.variables.opacity.hidden,theme.variables.opacity.visible]);return{animation:`${fadeInModal} ${theme.variables.animation.modal.open.duration} ${theme.variables.animation.modal.open.delay} ${theme.variables.animation.modal.open.timingFunction} both`,...(0,_mediaQueries.useResponsiveValue)({width:[`calc(100% - ${getMobileSpace(theme)} * 2)`,isFullScreen?`calc(100% - ${getDesktopSpace(theme)} * 2)`:theme.variables.size.dimension.modal.width[size]]})}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtIMkIifQ== */"),StyledInner=(0,_styled.default)("div",{target:"e1fhmfkz2",label:"StyledInner"})(({theme,isFullScreen,size})=>{let mobileVerticalSpace=getMobileSpace(theme),mobileInnerVerticalSpace=getMobileInnerSpace(theme),desktopVerticalSpace=getDesktopSpace(theme),desktopInnerVerticalSpace=getDesktopInnerSpace(theme),fullScreenMobile=`calc(100dvh - ${mobileVerticalSpace} * 2 - ${mobileInnerVerticalSpace} * 2)`;return{display:"flex",...(0,_mediaQueries.useResponsiveValue)({height:["l"===size||isFullScreen?fullScreenMobile:"auto",isFullScreen?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`:"l"===size?`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2 - ${theme.variables.size.dimension.modal.margin.l} * 2)`:"auto"],maxHeight:[fullScreenMobile,isFullScreen?"auto":"l"===size?`calc(${theme.variables.size.dimension.modal.maxHeight.l} - ${desktopInnerVerticalSpace} * 2)`:`calc(100dvh - ${desktopVerticalSpace} * 2 - ${desktopInnerVerticalSpace} * 2)`]}),flexDirection:"column",overflow:"hidden"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdKb0IifQ== */"),StyledBody=(0,_styled.default)("div",{target:"e1fhmfkz3",label:"StyledBody"})(({theme,borderBottom,borderTop,size,isFullScreen})=>({overflowY:"auto",maxHeight:"100%",...(isFullScreen||"l"===size)&&{flex:1},...borderBottom&&{borderBottom:`1px solid ${theme.values.color.divider.primary}`},...borderTop&&{borderTop:`1px solid ${theme.values.color.divider.primary}`}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVNbUIifQ== */"),StyledImg=(0,_styled.default)("img",{target:"e1fhmfkz4",label:"StyledImg"})(()=>({width:"100%",aspectRatio:"16/9"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlOa0IifQ== */"),StyledMaxWidth=(0,_styled.default)("div",{target:"e1fhmfkz5",label:"StyledMaxWidth"})(({theme})=>({maxWidth:theme.variables.size.dimension.modal.fullScreenContentWidth,margin:"0 auto",height:"100%"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThOdUIifQ== */"),StyledXContainer=(0,_styled.default)("div",{target:"e1fhmfkz6",label:"StyledXContainer"})(({theme})=>({position:"absolute",...(0,_mediaQueries.useResponsiveValue)({top:[theme.variables.size.spacing.s,theme.variables.size.spacing.l],right:[theme.variables.size.spacing.s,theme.variables.size.spacing.l]})}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUGF0dGVybnMvTW9kYWwvTW9kYWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9QYXR0ZXJucy9Nb2RhbC9Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IHR5cGUgeyBSZWZPYmplY3QsIFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlUmVmLCB1c2VJZCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBrZXlmcmFtZXMgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMgfSBmcm9tIFwiLi4vLi4vUG9ydGFsL1BvcnRhbFwiO1xuaW1wb3J0IHsgUG9ydGFsLCB1c2VQb3J0YWxDb250YWluZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IEgyLCBINCwgSDYsIEgzIH0gZnJvbSBcIi4uLy4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHR5cGUgeyBTdGFja1Byb3BzIH0gZnJvbSBcIi4uLy4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCIuLi8uLi9TdGFjay9TdGFja1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uLy4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi8uLi9Cb3gvQm94XCI7XG5cbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi8uLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uR3JvdXAvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwIH0gZnJvbSBcIi4uL0J1dHRvbkdyb3VwL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiLi4vLi4vVHlwb2dyYXBoeS9UZXh0L1RleHRcIjtcbmltcG9ydCB7IHVzZVJlc3BvbnNpdmVWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvbWVkaWFRdWVyaWVzXCI7XG5pbXBvcnQgeyB1c2VTY3JvbGxEZXRlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3VzZVNjcm9sbERldGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0IH0gZnJvbSBcIi4vTW9kYWxDb250ZXh0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBhcHBlbmRJZCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXBwZW5kSWRcIjtcbmltcG9ydCB7IHVzZVdpbmRvdyB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvdXNlV2luZG93XCI7XG5cbnR5cGUgQmFzZVByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIG9uQWN0aW9uPzogKGFjdGlvbjogXCJjYW5jZWxcIiB8IFwiYWN0aW9uXCIpID0+IHZvaWQ7XG4gIHJvbGU/OiBcImRpYWxvZ1wiIHwgXCJhbGVydGRpYWxvZ1wiO1xuICBsYWJlbEhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBibGFjayBjb2xvciBpcyBnb2luZyB0byBiZSByZXBsYWNlZCB3aXRoIGdyYXkgb25lICovXG4gIHN1YkhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRleHQgYW5kIG90aGVyIHByb3BzIGZvciBhY3Rpb24gQnV0dG9uICovXG4gIGFjdGlvbkJ1dHRvbj86IEJ1dHRvbkdyb3VwQnV0dG9uUHJvcHM7XG4gIC8qKiBUZXh0IGFuZCBvdGhlciBwcm9wcyBmb3IgYWN0aW9uIEJ1dHRvbiAqL1xuICBzZWNvbmRhcnlCdXR0b24/OiBCdXR0b25Hcm91cEJ1dHRvblByb3BzO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHNlY29uZGFyeUJ1dHRvbiB0byBwYXNzIGluIHRleHQgYW5kIG90aGVyIHByb3BzIGZvciBzZWNvbmRhcnkgYnV0dG9uICovXG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICAvKiogQWltIHRvIHVzZSA8TW9kYWwuVGV4dD4gYW5kIDxNb2RhbC5TdGFjaz4gKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xuICBwcml2YXRlUHJvcHM/OiB7IHNraXBQb3J0YWw/OiBib29sZWFuIH07XG4gIC8qKiBJdCdzIGEgYmFkIHBhdHRlcm4gdG8gdXNlIG5vbi1kaXNtaXNzaWJsZSBNb2RhbCAqL1xuICBpc0Rpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgaXNGdWxsU2NyZWVuPzogYm9vbGVhbjtcbiAgaXNNYXhXaWR0aExpbWl0PzogYm9vbGVhbjtcbiAgc2l6ZT86IFwibVwiIHwgXCJsXCI7XG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBcImFyaWEtbGFiZWxcIj86IHN0cmluZztcbiAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI/OiBzdHJpbmc7XG4gIC8qKiBBbHQgdGV4dCBmb3IgdGhlIG1vZGFsIGltYWdlICovXG59O1xuXG50eXBlIENvbmRpdGlvbmFsUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKiBBc3BlY3QgcmF0aW8gMTY6OSAqL1xuICAgICAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgICBpbWFnZUFsdD86IHN0cmluZztcbiAgICAgIEltYWdlQ29tcG9uZW50PzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIGltYWdlVXJsPzogbmV2ZXI7XG4gICAgICBpbWFnZUFsdD86IG5ldmVyO1xuICAgICAgLyoqIEFjY2VwdCByYXRpbyAxNjo5ICovXG4gICAgICBJbWFnZUNvbXBvbmVudD86IFJlYWN0LkVsZW1lbnRUeXBlPGFueT47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgTW9kYWxQcm9wcyA9IEJhc2VQcm9wcyAmXG4gIENvbmRpdGlvbmFsUHJvcHMgJlxuICBQaWNrPFBvcnRhbFByb3BzLCBcInBvcnRhbENvbnRhaW5lclwiPjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjxQYXJ0aWFsPEJhc2VQcm9wcz4+KCh7IHRoZW1lIH0pID0+IHtcbiAgY29uc3QgZmFkZUluQmFja2Ryb3AgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAke3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGV9O1xuICAgICAgfVxuICAgIGAsXG4gICAgW3RoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbiwgdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgaGVpZ2h0OiBcIjEwMGR2aFwiLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmJhY2tkcm9wLmRlZmF1bHQsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGZsZXg6IFwiMSAwIGF1dG9cIixcbiAgICBhbmltYXRpb246IGAke2ZhZGVJbkJhY2tkcm9wfSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWxCYWNrZHJvcC5vcGVuLnRpbWluZ0Z1bmN0aW9ufSBib3RoYCxcbiAgfTtcbn0pO1xuXG5jb25zdCBtb2JpbGVTaXplID0gXCJtXCI7XG5jb25zdCBkZXNrdG9wU2l6ZSA9IFwieGxcIjtcbmNvbnN0IGdldERlc2t0b3BTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubDtcbmNvbnN0IGdldERlc2t0b3BJbm5lclNwYWNlID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZ1tkZXNrdG9wU2l6ZV07XG5jb25zdCBnZXRNb2JpbGVTcGFjZSA9ICh0aGVtZTogVGhlbWUpID0+IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubTtcbmNvbnN0IGdldE1vYmlsZUlubmVyU3BhY2UgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW21vYmlsZVNpemVdO1xuLy8gTWluaW11bSB2aWV3cG9ydCBoZWlnaHQgb24gd2hpY2ggaW1hZ2UgaXMgc2hvd24uXG5jb25zdCBNSU5fVklFV1BPUlRfSEVJR0hUID0gNDIwO1xuXG5jb25zdCBTdHlsZWRNb2RhbFdyYXBwZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KFxuICAoeyB0aGVtZSwgaXNGdWxsU2NyZWVuLCBzaXplIH0pID0+IHtcbiAgICBjb25zdCBmYWRlSW5Nb2RhbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBrZXlmcmFtZXNgXG4gICAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW59O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICB9XG4gICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogJHt0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlfTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBbdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLCB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlXVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFuaW1hdGlvbjogYCR7ZmFkZUluTW9kYWx9ICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5tb2RhbC5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubW9kYWwub3Blbi5kZWxheX0gJHt0aGVtZS52YXJpYWJsZXMuYW5pbWF0aW9uLm1vZGFsLm9wZW4udGltaW5nRnVuY3Rpb259IGJvdGhgLFxuICAgICAgLi4udXNlUmVzcG9uc2l2ZVZhbHVlKHtcbiAgICAgICAgd2lkdGg6IFtcbiAgICAgICAgICBgY2FsYygxMDAlIC0gJHtnZXRNb2JpbGVTcGFjZSh0aGVtZSl9ICogMilgLFxuICAgICAgICAgIGlzRnVsbFNjcmVlblxuICAgICAgICAgICAgPyBgY2FsYygxMDAlIC0gJHtnZXREZXNrdG9wU3BhY2UodGhlbWUpfSAqIDIpYFxuICAgICAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwud2lkdGhbc2l6ZV0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBTdHlsZWRJbm5lciA9IHN0eWxlZC5kaXY8UGFydGlhbDxNb2RhbFByb3BzPj4oXG4gICh7IHRoZW1lLCBpc0Z1bGxTY3JlZW4sIHNpemUgfSkgPT4ge1xuICAgIGNvbnN0IG1vYmlsZVZlcnRpY2FsU3BhY2UgPSBnZXRNb2JpbGVTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgbW9iaWxlSW5uZXJWZXJ0aWNhbFNwYWNlID0gZ2V0TW9iaWxlSW5uZXJTcGFjZSh0aGVtZSk7XG4gICAgY29uc3QgZGVza3RvcFZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wU3BhY2UodGhlbWUpO1xuICAgIGNvbnN0IGRlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2UgPSBnZXREZXNrdG9wSW5uZXJTcGFjZSh0aGVtZSk7XG5cbiAgICAvLyBmdWxsc2NyZWVuIGFuZCBMIHNpemUgZG9uJ3QgZGVwZW5kIG9uIGNvbnRlbnQgc2l6ZVxuICAgIC8vIEwgc2l6ZSBoZWlnaHQgaGFzIG1heEhpZWdodCByZXNpemUgdW50aWwgODAwcHhcbiAgICAvLyBmdWxsc2NyZWVuIG1heEhlaWdodCBpcyBub3QgbGltaXRlZFxuICAgIC8vIE0gc2l6ZSBoZWlnaHQgaGFzIGNvbnRlbnQgc2l6ZSBhbmQgY2VudGVyZWQgYXQgdG9wIGFuZCBtYXhIZWlnaHQgaXMgbm90IGxpbWl0ZWRcblxuICAgIGNvbnN0IGdldERlc2t0b3BIZWlnaHQgPSAoKSA9PiB7XG4gICAgICBpZiAoaXNGdWxsU2NyZWVuKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgICAgfVxuICAgICAgaWYgKHNpemUgPT09IFwibFwiKSB7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMiAtICR7dGhlbWUudmFyaWFibGVzLnNpemUuZGltZW5zaW9uLm1vZGFsLm1hcmdpbi5sfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImF1dG9cIjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0RGVza3RvcE1heEhlaWdodCA9ICgpID0+IHtcbiAgICAgIGlmIChpc0Z1bGxTY3JlZW4pIHtcbiAgICAgICAgcmV0dXJuIGBhdXRvYDtcbiAgICAgIH1cbiAgICAgIGlmIChzaXplID09PSBcImxcIikge1xuICAgICAgICByZXR1cm4gYGNhbGMoJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwubWF4SGVpZ2h0Lmx9IC0gJHtkZXNrdG9wSW5uZXJWZXJ0aWNhbFNwYWNlfSAqIDIpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgY2FsYygxMDBkdmggLSAke2Rlc2t0b3BWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke2Rlc2t0b3BJbm5lclZlcnRpY2FsU3BhY2V9ICogMilgO1xuICAgIH07XG5cbiAgICBjb25zdCBmdWxsU2NyZWVuTW9iaWxlID0gYGNhbGMoMTAwZHZoIC0gJHttb2JpbGVWZXJ0aWNhbFNwYWNlfSAqIDIgLSAke21vYmlsZUlubmVyVmVydGljYWxTcGFjZX0gKiAyKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgICAgICBoZWlnaHQ6IFtcbiAgICAgICAgICBzaXplID09PSBcImxcIiB8fCBpc0Z1bGxTY3JlZW4gPyBmdWxsU2NyZWVuTW9iaWxlIDogXCJhdXRvXCIsXG4gICAgICAgICAgZ2V0RGVza3RvcEhlaWdodCgpLFxuICAgICAgICBdLFxuICAgICAgICBtYXhIZWlnaHQ6IFtmdWxsU2NyZWVuTW9iaWxlLCBnZXREZXNrdG9wTWF4SGVpZ2h0KCldLFxuICAgICAgfSksXG5cbiAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZEJvZHlQcm9wcyA9IHtcbiAgYm9yZGVyQm90dG9tOiBib29sZWFuO1xuICBib3JkZXJUb3A6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRCb2R5ID0gc3R5bGVkLmRpdjxTdHlsZWRCb2R5UHJvcHMgJiBQYXJ0aWFsPE1vZGFsUHJvcHM+PihcbiAgKHsgdGhlbWUsIGJvcmRlckJvdHRvbSwgYm9yZGVyVG9wLCBzaXplLCBpc0Z1bGxTY3JlZW4gfSkgPT4gKHtcbiAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG5cbiAgICAuLi4oKGlzRnVsbFNjcmVlbiB8fCBzaXplID09PSBcImxcIikgJiYge1xuICAgICAgZmxleDogMSxcbiAgICB9KSxcblxuICAgIC4uLihib3JkZXJCb3R0b20gJiYge1xuICAgICAgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICAgIC4uLihib3JkZXJUb3AgJiYge1xuICAgICAgYm9yZGVyVG9wOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmRpdmlkZXIucHJpbWFyeX1gLFxuICAgIH0pLFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkSW1nID0gc3R5bGVkLmltZygoKSA9PiAoe1xuICB3aWR0aDogXCIxMDAlXCIsXG4gIGFzcGVjdFJhdGlvOiBcIjE2LzlcIixcbn0pKTtcblxuY29uc3QgU3R5bGVkTWF4V2lkdGggPSBzdHlsZWQuZGl2PFBhcnRpYWw8TW9kYWxQcm9wcz4+KCh7IHRoZW1lIH0pID0+ICh7XG4gIG1heFdpZHRoOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5kaW1lbnNpb24ubW9kYWwuZnVsbFNjcmVlbkNvbnRlbnRXaWR0aCxcbiAgbWFyZ2luOiBcIjAgYXV0b1wiLFxuICBoZWlnaHQ6IFwiMTAwJVwiLFxufSkpO1xuXG5jb25zdCBTdHlsZWRYQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiAoe1xuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAuLi51c2VSZXNwb25zaXZlVmFsdWUoe1xuICAgIHRvcDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgICByaWdodDogW3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucywgdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sXSxcbiAgfSksXG59KSk7XG5cbmNvbnN0IE1vZGFsU3RhY2sgPSAoeyBjaGlsZHJlbiwgLi4ucmVzdCB9OiBPbWl0PFN0YWNrUHJvcHMsIFwic3BhY2VcIj4pID0+IChcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmdcbiAgPFN0YWNrIHsuLi5yZXN0fSBzcGFjZT1cIm1cIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3RhY2s+XG4pO1xuXG5jb25zdCBNb2RhbFRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgLi4ucmVzdFxufTogT21pdDxUZXh0UHJvcHMsIFwic2l6ZVwiIHwgXCJ2YXJpYW50XCI+KSA9PiAoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gIDxUZXh0IHsuLi5yZXN0fSBzaXplPVwibVwiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvVGV4dD5cbik7XG5cbmNvbnN0IEZvb3RlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBhbGlnbkl0ZW1zID0gW1wic3RyZXRjaFwiLCBcInJpZ2h0XCJdLFxuICBpc1Nob3J0Vmlld3BvcnQsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVbXSB8IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYWxpZ25JdGVtcz86IFN0YWNrUHJvcHNbXCJhbGlnbkl0ZW1zXCJdO1xuICBpc1Nob3J0Vmlld3BvcnQ/OiBib29sZWFuO1xufSkgPT4gKFxuICA8Qm94IHNwYWNlPVwiemVyb1wiIHRTcGFjZT17aXNTaG9ydFZpZXdwb3J0ID8gXCJtXCIgOiBcImxcIn0+XG4gICAgPFN0YWNrIGFsaWduSXRlbXM9e2FsaWduSXRlbXN9PntjaGlsZHJlbn08L1N0YWNrPlxuICA8L0JveD5cbik7XG5cbmNvbnN0IFdyYXBwZXIgPSAoe1xuICBza2lwUG9ydGFsLFxuICBjaGlsZHJlbixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBiYWNrZHJvcFJlZixcbn06IHtcbiAgc2tpcFBvcnRhbDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgYmFja2Ryb3BSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG59ICYgUGFydGlhbDxNb2RhbFByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCA9PlxuICBza2lwUG9ydGFsID8gKFxuICAgIDw+e2NoaWxkcmVufTwvPlxuICApIDogKFxuICAgIDxNb2RhbENvbnRleHQuUHJvdmlkZXIgdmFsdWU+XG4gICAgICA8UG9ydGFsIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfT5cbiAgICAgICAgPFN0eWxlZEJhY2tkcm9wIHJlZj17YmFja2Ryb3BSZWZ9PntjaGlsZHJlbn08L1N0eWxlZEJhY2tkcm9wPlxuICAgICAgPC9Qb3J0YWw+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG5cbnR5cGUgRm9jdXNUcmFwUHJvcHMgPSB7XG4gIG9uUG9zdERlYWN0aXZhdGU6ICgpID0+IHZvaWQ7XG4gIGJhY2tkcm9wUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xuICBtb2RhbFJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn0gJiBQaWNrPE1vZGFsUHJvcHMsIFwiaXNEaXNtaXNzaWJsZVwiIHwgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmZ1bmN0aW9uIEZvY3VzVHJhcCh7XG4gIG9uUG9zdERlYWN0aXZhdGUsXG4gIGlzRGlzbWlzc2libGUsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgY2hpbGRyZW4sXG4gIGJhY2tkcm9wUmVmLFxuICBtb2RhbFJlZixcbn06IFByb3BzV2l0aENoaWxkcmVuPEZvY3VzVHJhcFByb3BzPikge1xuICBjb25zdCBwb3J0YWxDb250YWluZXJFbGVtZW50ID0gdXNlUG9ydGFsQ29udGFpbmVyRWxlbWVudChwb3J0YWxDb250YWluZXIpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzID0gKGV2dDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAvLyBEbyBub3QgY2xvc2Ugb24gY2xpY2sgdGhhdCBvY2N1cnMgb24gZWxlbWVudHMgd2l0aGluIHRoZSBzYW1lIHBvcnRhbCwgZm9yIGVnLCBkcm9wZG93biBhbmQgc2VsZWN0IG1lbnVzXG4gICAgaWYgKFxuICAgICAgcG9ydGFsQ29udGFpbmVyRWxlbWVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAmJlxuICAgICAgZXZ0LnRhcmdldCAhPT0gYmFja2Ryb3BSZWYuY3VycmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEaXNtaXNzaWJsZTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb2N1c1RyYXBXcmFwcGVyXG4gICAgICBhY3RpdmVcbiAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGhhbmRsZUNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogaXNEaXNtaXNzaWJsZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgIHByZXZlbnRTY3JvbGw6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IG1vZGFsUmVmLmN1cnJlbnQsXG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGUsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICk7XG59XG5cbmNvbnN0IEhvcml6b250YWxPZmZzZXQgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQsXG4gIGhlaWdodCxcbn06IFBhcnRpYWw8TW9kYWxQcm9wcz4gJiB7IGhlaWdodD86IHN0cmluZyB9KSA9PiAoXG4gIDxCb3ggc3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19IHZTcGFjZT1cInplcm9cIiBoZWlnaHQ9e2hlaWdodH0+XG4gICAge2lzRnVsbFNjcmVlbiAmJiBpc01heFdpZHRoTGltaXQgPyAoXG4gICAgICA8U3R5bGVkTWF4V2lkdGg+e2NoaWxkcmVufTwvU3R5bGVkTWF4V2lkdGg+XG4gICAgKSA6IChcbiAgICAgIGNoaWxkcmVuXG4gICAgKX1cbiAgPC9Cb3g+XG4pO1xuXG5mdW5jdGlvbiBnZXRJc1Nob3J0Vmlld3BvcnQod2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5pbm5lckhlaWdodCA8IE1JTl9WSUVXUE9SVF9IRUlHSFRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGFsKHtcbiAgaGVhZGVyLFxuICBzdWJIZWFkZXIsXG4gIGxhYmVsSGVhZGVyLFxuICBjaGlsZHJlbixcbiAgaW1hZ2VVcmwsXG4gIEltYWdlQ29tcG9uZW50LFxuICBzZWNvbmRhcnlCdXR0b24sXG4gIGNhbmNlbEJ1dHRvbkxhYmVsLFxuICBpc0Rpc21pc3NpYmxlID0gdHJ1ZSxcbiAgaXNGdWxsU2NyZWVuLFxuICBpc01heFdpZHRoTGltaXQgPSB0cnVlLFxuICBhY3Rpb25CdXR0b24sXG4gIHJvbGUgPSBcImRpYWxvZ1wiLFxuICBvbkFjdGlvbixcbiAgc2l6ZSA9IFwibVwiLFxuICBwcml2YXRlUHJvcHM6IHsgc2tpcFBvcnRhbCB9ID0geyBza2lwUG9ydGFsOiBmYWxzZSB9LFxuICBwb3J0YWxDb250YWluZXIsXG4gIGNsb3NlQnV0dG9uQXJpYUxhYmVsID0gXCJEaXNtaXNzIERpYWxvZ1wiLFxuICBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLFxuICBcImFyaWEtZGVzY3JpYmVkYnlcIjogYXJpYURlc2NyaWJlZEJ5LFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbiAgaW1hZ2VBbHQsXG59OiBNb2RhbFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgbW9kYWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGJhY2tkcm9wUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzdWJIZWFkZXJJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IHdpbmRvdyA9IHVzZVdpbmRvdygpO1xuICBjb25zdCB7IHNjcm9sbGFibGVSZWYsIGlzU2Nyb2xsQm90dG9tLCBpc1Njcm9sbFRvcCwgaGFzU2Nyb2xsIH0gPVxuICAgIHVzZVNjcm9sbERldGVjdGlvbigpO1xuICBjb25zdCBbaXNTaG9ydFZpZXdwb3J0LCBzZXRJc1Nob3J0Vmlld3BvcnRdID0gdXNlU3RhdGUoXG4gICAgZ2V0SXNTaG9ydFZpZXdwb3J0KHdpbmRvdylcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSBcInVuZGVmaW5lZFwiICYmIGJhY2tkcm9wUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgc2V0SXNTaG9ydFZpZXdwb3J0KGdldElzU2hvcnRWaWV3cG9ydCh3aW5kb3cpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGJhY2tkcm9wUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtiYWNrZHJvcFJlZiwgd2luZG93XSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgb25BY3Rpb24oXCJjYW5jZWxcIik7XG4gIH07XG5cbiAgY29uc3QgaGFzSW1hZ2UgPSBpbWFnZVVybCB8fCBJbWFnZUNvbXBvbmVudDtcbiAgY29uc3QgSGVhZGluZ0NvbXBvbmVudCA9IGlzU2hvcnRWaWV3cG9ydCA/IEgzIDogSDI7XG4gIGNvbnN0IGlzSW1hZ2VWaXNpYmxlID0gIWlzU2hvcnRWaWV3cG9ydCAmJiAhIWhhc0ltYWdlO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0UHJvcHMgPSB7IGlzRnVsbFNjcmVlbiwgaXNNYXhXaWR0aExpbWl0IH07XG5cbiAgY29uc3QgY2xvc2VCdXR0b24gPSBpc0Rpc21pc3NpYmxlICYmIChcbiAgICA8U3R5bGVkWENvbnRhaW5lcj5cbiAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgdmFyaWFudD1cInRlcnRpYXJ5XCJcbiAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICBhcmlhLWxhYmVsPXtjbG9zZUJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRYQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZXJcbiAgICAgIHNraXBQb3J0YWw9e3NraXBQb3J0YWx9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGJhY2tkcm9wUmVmPXtiYWNrZHJvcFJlZn1cbiAgICA+XG4gICAgICA8Rm9jdXNUcmFwXG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBpc0Rpc21pc3NpYmxlPXtpc0Rpc21pc3NpYmxlfVxuICAgICAgICBvblBvc3REZWFjdGl2YXRlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgYmFja2Ryb3BSZWY9e2JhY2tkcm9wUmVmfVxuICAgICAgICBtb2RhbFJlZj17bW9kYWxSZWZ9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRNb2RhbFdyYXBwZXJcbiAgICAgICAgICByZWY9e21vZGFsUmVmfVxuICAgICAgICAgIHJvbGU9e3JvbGV9XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiTW9kYWxcIlxuICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IGhlYWRlcn1cbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtcbiAgICAgICAgICAgIHN1YkhlYWRlciA/IGFwcGVuZElkKGFyaWFEZXNjcmliZWRCeSwgc3ViSGVhZGVySWQpIDogYXJpYURlc2NyaWJlZEJ5XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPENvbnRhaW5lciBlbGV2YXRpb249ezR9PlxuICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiB2U3BhY2U9e1ttb2JpbGVTaXplLCBkZXNrdG9wU2l6ZV19PlxuICAgICAgICAgICAgICA8U3R5bGVkSW5uZXIgaXNGdWxsU2NyZWVuPXtpc0Z1bGxTY3JlZW59IHNpemU9e3NpemV9PlxuICAgICAgICAgICAgICAgIDxIb3Jpem9udGFsT2Zmc2V0IHsuLi5ob3Jpem9udGFsT2Zmc2V0UHJvcHN9PlxuICAgICAgICAgICAgICAgICAgPEJveCBzcGFjZT1cInplcm9cIiBiU3BhY2U9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT17aXNJbWFnZVZpc2libGUgPyBbXCJzXCIsIFwibFwiXSA6IFwiemVyb1wifT5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNJbWFnZVZpc2libGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2ltYWdlVXJsID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdFNwYWNlPXtbXCJ4bFwiLCBcImxcIl19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEltZyBzcmM9e2ltYWdlVXJsfSBhbHQ9e2ltYWdlQWx0fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUNvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBub1dyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsSGVhZGVyICYmIDxINiBhcz1cImRpdlwiPntsYWJlbEhlYWRlcn08L0g2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwiemVyb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nQ29tcG9uZW50IGFzPVwiaDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzdWJIZWFkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IGFzPVwiaDJcIiBjb2xvcj1cInRlcnRpYXJ5XCIgaWQ9e3N1YkhlYWRlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3N1YkhlYWRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0hvcml6b250YWxPZmZzZXQ+XG5cbiAgICAgICAgICAgICAgICA8U3R5bGVkQm9keVxuICAgICAgICAgICAgICAgICAgcmVmPXtzY3JvbGxhYmxlUmVmfVxuICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgIGlzRnVsbFNjcmVlbj17aXNGdWxsU2NyZWVufVxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsQm90dG9tfVxuICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wPXtoYXNTY3JvbGwgJiYgIWlzU2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJ6ZXJvXCIgdlNwYWNlPVwieHh4c1wiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhvcml6b250YWxPZmZzZXQgey4uLmhvcml6b250YWxPZmZzZXRQcm9wc30gaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ib3Jpem9udGFsT2Zmc2V0PlxuICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRCb2R5PlxuXG4gICAgICAgICAgICAgICAgeyhhY3Rpb25CdXR0b24gfHwgY2FuY2VsQnV0dG9uTGFiZWwgfHwgc2Vjb25kYXJ5QnV0dG9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbE9mZnNldCB7Li4uaG9yaXpvbnRhbE9mZnNldFByb3BzfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvb3RlciBpc1Nob3J0Vmlld3BvcnQ9e2lzU2hvcnRWaWV3cG9ydH0+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b249e2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUJ1dHRvbj17c2Vjb25kYXJ5QnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dD17Y2FuY2VsQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkJ1dHRvbkNsaWNrPXtvbkFjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvSG9yaXpvbnRhbE9mZnNldD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZElubmVyPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkTW9kYWxXcmFwcGVyPlxuICAgICAgPC9Gb2N1c1RyYXA+XG4gICAgPC9XcmFwcGVyPlxuICApO1xufVxuXG5Nb2RhbC5TdGFjayA9IE1vZGFsU3RhY2s7XG5Nb2RhbC5UZXh0ID0gTW9kYWxUZXh0O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9PeUIifQ== */"),Footer=({children,alignItems=["stretch","right"],isShortViewport})=>_react.default.createElement(_Box.Box,{space:"zero",tSpace:isShortViewport?"m":"l"},_react.default.createElement(_Stack.Stack,{alignItems:alignItems},children)),Wrapper=({skipPortal,children,portalContainer,backdropRef})=>skipPortal?_react.default.createElement(_react.default.Fragment,null,children):_react.default.createElement(_ModalContext.ModalContext.Provider,{value:!0},_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},_react.default.createElement(StyledBackdrop,{ref:backdropRef},children)));function FocusTrap({onPostDeactivate,isDismissible,portalContainer,children,backdropRef,modalRef}){let portalContainerElement=(0,_Portal.usePortalContainerElement)(portalContainer);return _react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:!0,focusTrapOptions:{clickOutsideDeactivates:evt=>(!portalContainerElement.contains(evt.target)||evt.target===backdropRef.current)&&isDismissible,escapeDeactivates:isDismissible,preventScroll:!0,fallbackFocus:modalRef.current,onPostDeactivate}},children)}const HorizontalOffset=({children,isFullScreen,isMaxWidthLimit,height})=>_react.default.createElement(_Box.Box,{space:["m","xl"],vSpace:"zero",height:height},isFullScreen&&isMaxWidthLimit?_react.default.createElement(StyledMaxWidth,null,children):children);function getIsShortViewport(window){return void 0!==window&&window.innerHeight<420}function Modal({header,subHeader,labelHeader,children,imageUrl,ImageComponent,secondaryButton,cancelButtonLabel,isDismissible=!0,isFullScreen,isMaxWidthLimit=!0,actionButton,role="dialog",onAction,size="m",privateProps:{skipPortal}={skipPortal:!1},portalContainer,closeButtonAriaLabel="Dismiss Dialog","aria-label":ariaLabel,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,imageAlt}){let modalRef=(0,_react.useRef)(null),backdropRef=(0,_react.useRef)(null),subHeaderId=(0,_react.useId)(),window=(0,_useWindow.useWindow)(),{scrollableRef,isScrollBottom,isScrollTop,hasScroll}=(0,_useScrollDetection.useScrollDetection)(),[isShortViewport,setIsShortViewport]=(0,_react.useState)(getIsShortViewport(window));(0,_react.useEffect)(()=>{let resizeObserver;return"undefined"!=typeof ResizeObserver&&backdropRef.current&&(resizeObserver=new ResizeObserver(()=>{setIsShortViewport(getIsShortViewport(window))})).observe(backdropRef.current),()=>{resizeObserver&&resizeObserver.disconnect()}},[backdropRef,window]);let handleClose=()=>{onAction("cancel")},hasImage=imageUrl||ImageComponent,HeadingComponent=isShortViewport?_Header.H3:_Header.H2,isImageVisible=!isShortViewport&&!!hasImage,horizontalOffsetProps={isFullScreen,isMaxWidthLimit},closeButton=isDismissible&&_react.default.createElement(StyledXContainer,null,_react.default.createElement(_PictogramButton.PictogramButton,{variant:"tertiary",icon:"x",size:"s",onClick:handleClose,"aria-label":closeButtonAriaLabel}));return _react.default.createElement(Wrapper,{skipPortal:skipPortal,portalContainer:portalContainer,backdropRef:backdropRef},_react.default.createElement(FocusTrap,{portalContainer:portalContainer,isDismissible:isDismissible,onPostDeactivate:handleClose,backdropRef:backdropRef,modalRef:modalRef},_react.default.createElement(StyledModalWrapper,{ref:modalRef,role:role,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Modal",isFullScreen:isFullScreen,size:size,"aria-label":ariaLabel||header,"aria-describedby":subHeader?(0,_appendId.appendId)(ariaDescribedBy,subHeaderId):ariaDescribedBy},_react.default.createElement(_Container.Container,{elevation:4},_react.default.createElement(_Box.Box,{space:"zero",vSpace:["m","xl"]},_react.default.createElement(StyledInner,{isFullScreen:isFullScreen,size:size},_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(_Box.Box,{space:"zero",bSpace:"s"},_react.default.createElement(_Stack.Stack,{space:isImageVisible?["s","l"]:"zero"},isImageVisible&&_react.default.createElement(_react.default.Fragment,null,imageUrl?_react.default.createElement(_Box.Box,{space:"zero",tSpace:["xl","l"]},_react.default.createElement(StyledImg,{src:imageUrl,alt:imageAlt})):_react.default.createElement(ImageComponent,null)),_react.default.createElement(_Inline.Inline,{alignItems:"spaceBetween",noWrap:!0},_react.default.createElement(_Stack.Stack,{space:"xxs"},labelHeader&&_react.default.createElement(_Header.H6,{as:"div"},labelHeader),_react.default.createElement(_Stack.Stack,{space:"zero"},_react.default.createElement(HeadingComponent,{as:"h1"},header),subHeader&&_react.default.createElement(_Header.H4,{as:"h2",color:"tertiary",id:subHeaderId},subHeader))),closeButton)))),_react.default.createElement(StyledBody,{ref:scrollableRef,size:size,isFullScreen:isFullScreen,borderBottom:hasScroll&&!isScrollBottom,borderTop:hasScroll&&!isScrollTop},_react.default.createElement(_Box.Box,{space:"zero",vSpace:"xxxs",height:"100%"},_react.default.createElement(HorizontalOffset,{...horizontalOffsetProps,height:"100%"},children))),(actionButton||cancelButtonLabel||secondaryButton)&&_react.default.createElement(HorizontalOffset,horizontalOffsetProps,_react.default.createElement(Footer,{isShortViewport:isShortViewport},_react.default.createElement(_ButtonGroup.ButtonGroup,{actionButton:actionButton,secondaryButton:secondaryButton,cancelButtonText:cancelButtonLabel,onButtonClick:onAction})))))))))}Modal.Stack=({children,...rest})=>_react.default.createElement(_Stack.Stack,{...rest,space:"m"},children),Modal.Text=({children,...rest})=>_react.default.createElement(_Text.Text,{...rest,size:"m",color:"tertiary"},children);
|