@wizishop/wizi-block 4.2.32-beta → 4.2.35-beta
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/bundles/wizishop-wizi-block.umd.js +320 -364
- package/bundles/wizishop-wizi-block.umd.js.map +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
- package/esm2015/lib/services/blocks/images/images-banner.service.js +2 -2
- package/esm2015/lib/services/blocks/images/images-simple.service.js +2 -2
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +2 -2
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +2 -2
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +2 -2
- package/esm2015/lib/shared/components/editorjs/editorjs.component.js +21 -12
- package/esm2015/lib/shared/components/editorjs/tools/inline/bold-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/italic-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/strike-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/subscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/superscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +105 -64
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.js +1 -18
- package/esm2015/lib/shared/components/editorjs/tools/inline/underline-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/ordered-list-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/quote-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-align-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +2 -18
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/unordered-list-tool.component.js +2 -2
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +8 -1
- package/esm2015/lib/shared/components/quill/quill.component.js +2 -1
- package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +32 -41
- package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +32 -41
- package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +32 -43
- package/esm2015/lib/structures/map/left-text/map-left-text.component.js +30 -41
- package/esm2015/lib/structures/map/right-text/map-right-text.component.js +30 -41
- package/esm2015/lib/structures/map/text-form/map-text-form.component.js +32 -43
- package/esm2015/lib/structures/structures.module.js +3 -1
- package/fesm2015/wizishop-wizi-block.js +328 -355
- package/fesm2015/wizishop-wizi-block.js.map +1 -1
- package/lib/shared/components/editorjs/editorjs.component.d.ts +1 -0
- package/lib/shared/components/editorjs/tools/inline/bold-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/italic-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/link-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/strike-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/subscript-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/superscript-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.d.ts +2 -0
- package/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.d.ts +0 -1
- package/lib/shared/components/editorjs/tools/inline/underline-tool.component.d.ts +1 -1
- package/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.d.ts +0 -1
- package/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.d.ts +2 -0
- package/lib/structures/map/background-form-left/map-background-form-left.component.d.ts +8 -6
- package/lib/structures/map/background-form-right/map-background-form-right.component.d.ts +8 -6
- package/lib/structures/map/fullpage/map-fullpage.component.d.ts +7 -5
- package/lib/structures/map/left-text/map-left-text.component.d.ts +7 -5
- package/lib/structures/map/right-text/map-right-text.component.d.ts +7 -5
- package/lib/structures/map/text-form/map-text-form.component.d.ts +8 -6
- package/package.json +1 -1
- package/wizi-block.scss +35 -30
- package/wizishop-wizi-block.metadata.json +1 -1
|
@@ -71,4 +71,4 @@ export class ItalicTool extends InlineStyleTool {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
ItalicTool.title = 'Italic';
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRhbGljLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9pdGFsaWMtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFvRDNDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQWxESyxnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSx3QkFBd0I7U0FDM0MsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBNEJFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQTVCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUFyRmEsZ0JBQUssR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEl0YWxpY1Rvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0l0YWxpYyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnaXRhbGljJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1pdGFsaWMnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnRU0nO1xuXG4gICAgbW9kaWZpZXMgPSB7XG4gICAgICAgIHRhZzogdHJ1ZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvcnRjdXQoKSB7XG4gICAgICAgIHJldHVybiAnQ01EK0knO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -320,4 +320,4 @@ export class LinkTool extends InlineStyleTool {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
LinkTool.title = 'Link';
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUEwRXpDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXhFSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU3QixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxzQkFBc0I7U0FDekMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBVztZQUNkLFNBQVMsRUFBRSx5QkFBeUI7WUFDcEMsYUFBYSxFQUFFLG9DQUFvQztZQUNuRCxlQUFlLEVBQUUsaUNBQWlDO1lBQ2xELG9CQUFvQixFQUFFLHNDQUFzQztZQUM1RCxXQUFXLEVBQUUsV0FBVztZQUN4QixnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLGNBQWMsRUFBRSw4QkFBOEI7WUFDOUMsaUJBQWlCLEVBQUUsaUNBQWlDO1NBQ3ZELENBQUM7UUFFRixrQkFBYSxHQUFXLDJCQUEyQixDQUFDO1FBRXBELHNCQUFpQixHQUFrQyxFQUFFLENBQUM7UUFFdEQsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBNEJoQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUE1Qk0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU87WUFDSCxDQUFDLEVBQUUsRUFBRTtTQUNXLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWSxFQUFFLFlBQXFCLEtBQUs7O1lBQ25ELElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDeEM7UUFDTCxDQUFDO0tBQUE7SUFFRCxVQUFVLENBQUMsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVLLFNBQVM7O1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDL0M7WUFDRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7WUFFNUIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQXFCLENBQUM7WUFDeEgsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBcUIsQ0FBQztZQUNsSSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQXFCLENBQUM7WUFFOUcsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO2dCQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLElBQUksRUFBRSxXQUFXO29CQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7aUJBQy9CLENBQUMsQ0FBQztnQkFFSCxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLElBQUksRUFBRSxZQUFZO3dCQUNsQixLQUFLLEVBQUUsTUFBTTtxQkFDaEIsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO29CQUN4QixJQUFJLEVBQUUsTUFBTTtvQkFDWixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7aUJBQ3pCLENBQUMsQ0FBQztnQkFFSCxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLElBQUksRUFBRSxRQUFRO3dCQUNkLEtBQUssRUFBRSxRQUFRO3FCQUNsQixDQUFDLENBQUM7aUJBQ047YUFDSjtZQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0tBQUE7SUFFSyxVQUFVOztZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQy9DO1lBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV6RSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBcUIsQ0FBQztZQUN4SCxJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFxQixDQUFDO1lBQ2xJLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBcUIsQ0FBQztZQUM5RyxJQUFJLG1CQUFtQixDQUFDLE9BQU8sRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztvQkFDeEIsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztpQkFDL0IsQ0FBQyxDQUFDO2dCQUVILElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRTtvQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQzt3QkFDeEIsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLEtBQUssRUFBRSxNQUFNO3FCQUNoQixDQUFDLENBQUM7aUJBQ047YUFDSjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSztpQkFDekIsQ0FBQyxDQUFDO2dCQUVILElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRTtvQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQzt3QkFDeEIsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsS0FBSyxFQUFFLFFBQVE7cUJBQ2xCLENBQUMsQ0FBQztpQkFDTjthQUNKO1lBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7S0FBQTtJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUM7UUFFNUQsSUFBSSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEQsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxJQUFJLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsb0JBQW9CLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0RSxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELFdBQVcsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakUsU0FBUyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLGNBQWMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMzRSxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEYsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksbUJBQW1CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNyRixtQkFBbUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkYsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkYsSUFBSSwyQkFBMkIsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLElBQUksbUJBQW1CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEYsMkJBQTJCLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0QsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDdkUsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUVoRSxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLGVBQWUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN0RCxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRCxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUU5RCxTQUFTLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQUk7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6RSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBcUIsQ0FBQztRQUN4SCxJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFxQixDQUFDO1FBQ2xJLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBcUIsQ0FBQztRQUM5RyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDNUYsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLFNBQVMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRTtZQUN0QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsU0FBUyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3JHLGNBQWMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLENBQUM7WUFDckUsbUJBQW1CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDO1lBQ3ZFLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzNDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN6QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNyQztTQUNKO2FBQU07WUFDSCxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNyQixjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUMvQixtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN4QyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN4QztTQUNKO0lBQ0wsQ0FBQztJQUVELFdBQVcsS0FBSSxDQUFDO0lBRWhCLGdCQUFnQjtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksWUFBWSxFQUFFO1lBQ2QsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxjQUFjLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzFELElBQUksY0FBYyxDQUFDLElBQUksR0FBaUIsWUFBYSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDM0YsSUFBSSxJQUFJLEdBQ0osUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzlFLENBQUMsY0FBYyxDQUFDLElBQUksR0FBaUIsWUFBYSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNsRixZQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO2lCQUNuRTtnQkFDYSxZQUFhLENBQUMsS0FBSyxDQUFDLEdBQUc7b0JBQ2pDLEdBQUc7d0JBQ0gsQ0FDa0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsNkJBQTZCLENBQUUsQ0FBQyxZQUFZOzRCQUMxRixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FDakUsQ0FBQyxRQUFRLEVBQUU7d0JBQ1osSUFBSSxDQUFDO2dCQUNULFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztnQkFDaEMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7U0FDSjtJQUNMLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxNQUFNO1FBQzNCLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUM1QixPQUFPLE9BQU8sRUFBRTtnQkFDWixJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtvQkFDdkQsT0FBTztpQkFDVjtnQkFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNuQztZQUNELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O0FBbFdhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgQXR0cmlidXRlT2JqZWN0LCBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIExpbmtUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdMaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdsaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1saW5rJyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBwcml2YXRlIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1BBTic7XG5cbiAgICBoYXNTZXBhcmF0b3JCZWZvcmUgPSB0cnVlO1xuXG4gICAgbGlua0RlbGV0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgbGlua0NzczogT2JqZWN0ID0ge1xuICAgICAgICBjb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGluaycsXG4gICAgICAgIGxpbmtDb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fY29udGFpbmVyJyxcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX3RhcmdldCcsXG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX29iZnVzY2F0aW9uJyxcbiAgICAgICAgbGlua0lucHV0SWQ6ICdsaW5rSW5wdXQnLFxuICAgICAgICB0YXJnZXRDaGVja2JveElkOiAndGFyZ2V0Q2hlY2tib3gnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94SWQ6ICdvYmZ1c2NhdGlvbkNoZWNrYm94JyxcbiAgICAgICAgYWRkQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fYWRkJyxcbiAgICAgICAgZGVsZXRlQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fZGVsZXRlJyxcbiAgICB9O1xuXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ2RhdGEtaHRhcCxocmVmLGRhdGEta25hbGInO1xuXG4gICAgYXR0cmlidXRlc1RvQXBwbHk6IEFycmF5PEF0dHJpYnV0ZU9iamVjdD4gfCBudWxsID0gW107XG5cbiAgICBpc0xpbmtEcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvcnRjdXQoKSB7XG4gICAgICAgIHJldHVybiAnQ01EK0snO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbkxpbmtEcm9wZG93bigpKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSwgYXBwbHlMaW5rOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGFwcGx5TGluaykge1xuICAgICAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cblxuICAgIGFzeW5jIGFwcGx5TGluaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkgPSBbXTtcblxuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1sndGFyZ2V0Q2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgbGlua0lucHV0ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ2xpbmtJbnB1dElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIGlmIChvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ1NQQU4nO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEtaHRhcCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJ0b2EobGlua0lucHV0LnZhbHVlKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWtuYWxiJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaHJlZicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxpbmtJbnB1dC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIHRoaXMub3BlbkxpbmtEcm9wZG93bigpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydvYmZ1c2NhdGlvbkNoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmIChvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ1NQQU4nO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEtaHRhcCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJ0b2EobGlua0lucHV0LnZhbHVlKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWtuYWxiJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaHJlZicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxpbmtJbnB1dC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saW5rRGVsZXRpb24gPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLnN1cnJvdW5kKG51bGwsIHRydWUpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5jdXJyZW50U2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5vcGVuTGlua0Ryb3Bkb3duKCk7XG4gICAgICAgIHRoaXMubGlua0RlbGV0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyQWN0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10gKyAnIGhpZGRlbic7XG5cbiAgICAgICAgbGV0IGxpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGlua0NvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2xpbmtDb250YWluZXInXTtcbiAgICAgICAgbGV0IHRhcmdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWyd0YXJnZXRDb250YWluZXInXTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25Db250YWluZXInXTtcbiAgICAgICAgbGV0IGFwcGx5QnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGFwcGx5QnV0dG9uLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snYWRkQnV0dG9uQ2xhc3MnXTtcbiAgICAgICAgYXBwbHlCdXR0b24uaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snYWRkJ107XG4gICAgICAgIGFwcGx5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5hcHBseUxpbmsoKSk7XG5cbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1sncGxhY2Vob2xkZXInXSk7XG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIHRhcmdldENoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IHRhcmdldExhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snZXh0ZXJuYWwnXTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkxhYmVsLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ29iZnVzY2F0ZWQnXTtcbiAgICAgICAgb2JmdXNjYXRpb25MYWJlbC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgb2JiZnVzY2F0aW9uVG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBvYmJmdXNjYXRpb25Ub29sdGlwLmlubmVySFRNTCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2luZm8nXTtcbiAgICAgICAgb2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iYmZ1c2NhdGlvblRvb2x0aXApO1xuICAgICAgICBsZXQgZGVsZXRlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2RlbGV0ZUJ1dHRvbkNsYXNzJ10gKyAnIGhpZGRlbic7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuZGVsZXRlTGluaygpKTtcblxuICAgICAgICBsaW5rQ29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtJbnB1dCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDaGVja2JveCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRMYWJlbCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uQ2hlY2tib3gpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkxhYmVsKTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyKTtcblxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0NvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDb250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Db250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYXBwbHlCdXR0b24pO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZGVsZXRlQnV0dG9uKTtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGRlbGV0ZUJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydkZWxldGVCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGV0IGFkZEJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydhZGRCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGlua0lucHV0LnZhbHVlID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSkpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBsaW5rSW5wdXQudmFsdWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnID8gJ2hyZWYnIDogJ2RhdGEtaHRhcCcpO1xuICAgICAgICAgICAgdGFyZ2V0Q2hlY2tib3guY2hlY2tlZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuayc7XG4gICAgICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQgPSBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NwYW4nO1xuICAgICAgICAgICAgaWYgKGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhZGRCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmtJbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgdGFyZ2V0Q2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoIWRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFkZEJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgYWRkQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7fVxuXG4gICAgb3BlbkxpbmtEcm9wZG93bigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGlua0Ryb3Bkb3duID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLicgKyB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAobGlua0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAobGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dBY3Rpb25zKG51bGwpO1xuICAgICAgICAgICAgICAgIGxldCB2aWV3cG9ydE9mZnNldCA9IGxpbmtEcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBpZiAodmlld3BvcnRPZmZzZXQubGVmdCArICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5vZmZzZXRXaWR0aCA+IGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxlZnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUobGlua0Ryb3Bkb3duLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdsZWZ0JykpIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3cG9ydE9mZnNldC5sZWZ0ICsgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLm9mZnNldFdpZHRoIC0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5zdHlsZS5sZWZ0ID0gbGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLmNlLWlubGluZS10b29sYmFyX19idXR0b25zJykpLm9mZnNldEhlaWdodCAtXG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0VG9wICsgdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0SGVpZ2h0KVxuICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCkgK1xuICAgICAgICAgICAgICAgICAgICAncHgnO1xuICAgICAgICAgICAgICAgIGxpbmtEcm9wZG93bi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LCA0MDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgbGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkge1xuICAgICAgICBsZXQgY29sb3JTZWxlY3Rpb24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10pO1xuICAgICAgICBpZiAodGhpcy5pc0xpbmtEcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gJGV2ZW50LnRhcmdldDtcbiAgICAgICAgICAgIHdoaWxlIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSk7XG4gICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgY29sb3JTZWxlY3Rpb24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB0aGlzLmFwaS50b29sYmFyLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUEwRXpDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXhFSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU3QixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxzQkFBc0I7U0FDekMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBVztZQUNkLFNBQVMsRUFBRSx5QkFBeUI7WUFDcEMsYUFBYSxFQUFFLG9DQUFvQztZQUNuRCxlQUFlLEVBQUUsaUNB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QUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O0FBbFdhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgQXR0cmlidXRlT2JqZWN0LCBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIExpbmtUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdMaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdsaW5rJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1saW5rJyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1NQQU4nO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlID0gdHJ1ZTtcblxuICAgIGxpbmtEZWxldGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbW9kaWZpZXMgPSB7XG4gICAgICAgIHRhZzogZmFsc2UsXG4gICAgICAgIHN0eWxlOiBmYWxzZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IHRydWUsXG4gICAgfTtcblxuICAgIGxpbmtDc3M6IE9iamVjdCA9IHtcbiAgICAgICAgY29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmsnLFxuICAgICAgICBsaW5rQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2NvbnRhaW5lcicsXG4gICAgICAgIHRhcmdldENvbnRhaW5lcjogJ2NlLWlubGluZS1hY3Rpb25zLS1saW5rX190YXJnZXQnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lcjogJ2NlLWlubGluZS1hY3Rpb25zLS1saW5rX19vYmZ1c2NhdGlvbicsXG4gICAgICAgIGxpbmtJbnB1dElkOiAnbGlua0lucHV0JyxcbiAgICAgICAgdGFyZ2V0Q2hlY2tib3hJZDogJ3RhcmdldENoZWNrYm94JyxcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveElkOiAnb2JmdXNjYXRpb25DaGVja2JveCcsXG4gICAgICAgIGFkZEJ1dHRvbkNsYXNzOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2FkZCcsXG4gICAgICAgIGRlbGV0ZUJ1dHRvbkNsYXNzOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX2RlbGV0ZScsXG4gICAgfTtcblxuICAgIGF0dHJpYnV0ZU5hbWU6IHN0cmluZyA9ICdkYXRhLWh0YXAsaHJlZixkYXRhLWtuYWxiJztcblxuICAgIGF0dHJpYnV0ZXNUb0FwcGx5OiBBcnJheTxBdHRyaWJ1dGVPYmplY3Q+IHwgbnVsbCA9IFtdO1xuXG4gICAgaXNMaW5rRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3J0Y3V0KCkge1xuICAgICAgICByZXR1cm4gJ0NNRCtLJztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKSk7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UsIGFwcGx5TGluazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseUxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICBhc3luYyBhcHBseUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5ID0gW107XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICBpZiAob2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdTUEFOJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWh0YXAnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBidG9hKGxpbmtJbnB1dC52YWx1ZSksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YS1rbmFsYicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndHJ1ZScsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdBJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2hyZWYnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsaW5rSW5wdXQudmFsdWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGVMaW5rKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCB1dWlkID0gdGhpcy5wYXJlbnRFZGl0b3IuZ2V0QXR0cmlidXRlKCdpZCcpLnJlcGxhY2UoJ2VkaXRvckpzLScsICcnKTtcblxuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1sndGFyZ2V0Q2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgbGlua0lucHV0ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ2xpbmtJbnB1dElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBpZiAob2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdTUEFOJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWh0YXAnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBidG9hKGxpbmtJbnB1dC52YWx1ZSksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZGF0YS1rbmFsYicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndHJ1ZScsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdBJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2hyZWYnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsaW5rSW5wdXQudmFsdWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldENoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubGlua0RlbGV0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIHRoaXMub3BlbkxpbmtEcm9wZG93bigpO1xuICAgICAgICB0aGlzLmxpbmtEZWxldGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlckFjdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddICsgJyBoaWRkZW4nO1xuXG4gICAgICAgIGxldCBsaW5rQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxpbmtDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWydsaW5rQ29udGFpbmVyJ107XG4gICAgICAgIGxldCB0YXJnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1sndGFyZ2V0Q29udGFpbmVyJ107XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ29udGFpbmVyJ107XG4gICAgICAgIGxldCBhcHBseUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBhcHBseUJ1dHRvbi5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2FkZEJ1dHRvbkNsYXNzJ107XG4gICAgICAgIGFwcGx5QnV0dG9uLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2FkZCddO1xuICAgICAgICBhcHBseUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlMaW5rKCkpO1xuXG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBsaW5rSW5wdXQuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpO1xuICAgICAgICBsaW5rSW5wdXQuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ3BsYWNlaG9sZGVyJ10pO1xuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgdGFyZ2V0Q2hlY2tib3guc2V0QXR0cmlidXRlKCd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICAgIGxldCB0YXJnZXRMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XG4gICAgICAgIHRhcmdldExhYmVsLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2V4dGVybmFsJ107XG4gICAgICAgIHRhcmdldExhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guc2V0QXR0cmlidXRlKCd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgb2JmdXNjYXRpb25MYWJlbC5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5saW5rWydvYmZ1c2NhdGVkJ107XG4gICAgICAgIG9iZnVzY2F0aW9uTGFiZWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCk7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvblRvb2x0aXBDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGV0IG9iYmZ1c2NhdGlvblRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgb2JiZnVzY2F0aW9uVG9vbHRpcC5pbm5lckhUTUwgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy5saW5rWydpbmZvJ107XG4gICAgICAgIG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lci5hcHBlbmRDaGlsZChvYmJmdXNjYXRpb25Ub29sdGlwKTtcbiAgICAgICAgbGV0IGRlbGV0ZUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBkZWxldGVCdXR0b24uY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWydkZWxldGVCdXR0b25DbGFzcyddICsgJyBoaWRkZW4nO1xuICAgICAgICBkZWxldGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmRlbGV0ZUxpbmsoKSk7XG5cbiAgICAgICAgbGlua0NvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5rSW5wdXQpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0Q2hlY2tib3gpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0TGFiZWwpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkNoZWNrYm94KTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25MYWJlbCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lcik7XG5cbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtDb250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGFyZ2V0Q29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uQ29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGFwcGx5QnV0dG9uKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRlbGV0ZUJ1dHRvbik7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBzaG93QWN0aW9ucyhtYXJrKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10gKyB1dWlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydvYmZ1c2NhdGlvbkNoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBsaW5rSW5wdXQgPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcjJyArIHRoaXMubGlua0Nzc1snbGlua0lucHV0SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBkZWxldGVCdXR0b24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snZGVsZXRlQnV0dG9uQ2xhc3MnXSk7XG4gICAgICAgIGxldCBhZGRCdXR0b24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snYWRkQnV0dG9uQ2xhc3MnXSk7XG4gICAgICAgIGxpbmtJbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpO1xuICAgICAgICAgICAgbGlua0lucHV0LnZhbHVlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhJyA/ICdocmVmJyA6ICdkYXRhLWh0YXAnKTtcbiAgICAgICAgICAgIHRhcmdldENoZWNrYm94LmNoZWNrZWQgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgndGFyZ2V0JykgPT09ICdfYmxhbmsnO1xuICAgICAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzcGFuJztcbiAgICAgICAgICAgIGlmIChkZWxldGVCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghYWRkQnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBhZGRCdXR0b24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaW5rSW5wdXQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIHRhcmdldENoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCFkZWxldGVCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhZGRCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVBY3Rpb25zKCkge31cblxuICAgIG9wZW5MaW5rRHJvcGRvd24oKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxpbmtEcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydjb250YWluZXInXSk7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGxpbmtEcm9wZG93bikge1xuICAgICAgICAgICAgaWYgKGxpbmtEcm9wZG93bi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9ucyhudWxsKTtcbiAgICAgICAgICAgICAgICBsZXQgdmlld3BvcnRPZmZzZXQgPSBsaW5rRHJvcGRvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdwb3J0T2Zmc2V0LmxlZnQgKyAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikub2Zmc2V0V2lkdGggPiBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsZWZ0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGxpbmtEcm9wZG93biwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnbGVmdCcpKSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAodmlld3BvcnRPZmZzZXQubGVmdCArICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5vZmZzZXRXaWR0aCAtIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikuc3R5bGUubGVmdCA9IGxlZnQudG9TdHJpbmcoKSArICdweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5zdHlsZS50b3AgPVxuICAgICAgICAgICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy5jZS1pbmxpbmUtdG9vbGJhcl9fYnV0dG9ucycpKS5vZmZzZXRIZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldFRvcCArIHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICAgICAgICAgJ3B4JztcbiAgICAgICAgICAgICAgICBsaW5rRHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMuaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGxpbmtEcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzTGlua0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpIHtcbiAgICAgICAgbGV0IGNvbG9yU2VsZWN0aW9uID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLicgKyB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKTtcbiAgICAgICAgaWYgKHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgICAgICAgICB3aGlsZSAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMuaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5pc0xpbmtEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbG9yU2VsZWN0aW9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgdGhpcy5hcGkudG9vbGJhci5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -68,4 +68,4 @@ export class StrikeTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
StrikeTool.title = 'Strike';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaWtlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9zdHJpa2UtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFnRDNDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQTlDSyxnQkFBVyxHQUFXLGVBQWUsQ0FBQztRQUV0QyxRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSx3QkFBd0I7U0FDM0MsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBd0JFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQWpGYSxnQkFBSyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgU3RyaWtlVG9vbCBleHRlbmRzIElubGluZVN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnU3RyaWtlJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdzdHJpa2V0aHJvdWdoJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1zdHJpa2UnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnUyc7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiB0cnVlLFxuICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzU3R5bGUoPEhUTUxFbGVtZW50PnNlbGVjdGlvbi5hbmNob3JOb2RlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
|
|
@@ -68,4 +68,4 @@ export class SubscriptTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
SubscriptTool.title = 'Subscript';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0LXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9zdWJzY3JpcHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sYUFBYyxTQUFRLGVBQWU7SUFnRDlDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQTlDSyxnQkFBVyxHQUFXLFdBQVcsQ0FBQztRQUVsQyxRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwyQkFBMkI7U0FDOUMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxLQUFLLENBQUM7UUFFWixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBd0JFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQWpGYSxtQkFBSyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cywgU3R5bGVPYmplY3QgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdFRvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1N1YnNjcmlwdCc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnc3Vic2NyaXB0JztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1zdWJzY3JpcHQnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1VCJztcblxuICAgIG1vZGlmaWVzID0ge1xuICAgICAgICB0YWc6IHRydWUsXG4gICAgICAgIHN0eWxlOiBmYWxzZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -68,4 +68,4 @@ export class SuperscriptTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
SuperscriptTool.title = 'Superscript';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJzY3JpcHQtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvaW5saW5lL3N1cGVyc2NyaXB0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxXQUFXO0FBQ1gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQWdEaEQsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBOUNLLGdCQUFXLEdBQVcsYUFBYSxDQUFDO1FBRXBDLFFBQUcsR0FBRztZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsY0FBYyxFQUFFLDZCQUE2QjtTQUNoRCxDQUFDO1FBRU0sVUFBSyxHQUFrQztZQUMzQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLGFBQVEsR0FBRztZQUNQLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxLQUFLO1NBQ25CLENBQUM7UUF3QkUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQWMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7O0FBakZhLHFCQUFLLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzLCBTdHlsZU9iamVjdCB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgU3VwZXJzY3JpcHRUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdTdXBlcnNjcmlwdCc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnc3VwZXJzY3JpcHQnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXN1cGVyc2NyaXB0JyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1NVUCc7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiB0cnVlLFxuICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzU3R5bGUoPEhUTUxFbGVtZW50PnNlbGVjdGlvbi5hbmNob3JOb2RlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
|