@wavemaker/app-ng-runtime 11.13.0-rc.6255 → 11.14.0-rc.6276
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-task/bundles/index.umd.js +34 -5
- package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
- package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
- package/build-task/esm2022/basic/html/html.build.mjs +15 -0
- package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
- package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
- package/build-task/esm2022/basic/label/label.build.mjs +25 -0
- package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
- package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
- package/build-task/esm2022/basic/video/video.build.mjs +10 -0
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +8 -3
- package/build-task/esm2022/data/form/form.build.mjs +8 -1
- package/build-task/esm2022/data/table/table-column/table-column.build.mjs +14 -3
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +2 -2
- package/build-task/esm2022/page/page-content/page-content.build.mjs +8 -2
- package/build-task/esm2022/public_api.mjs +10 -10
- package/build-task/fesm2022/index.mjs +36 -7
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/build-task/package.json +3 -6
- package/build-task/public_api.d.ts +9 -9
- package/components/advanced/carousel/bundles/index.umd.js +33 -38
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +16 -16
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +19 -24
- package/components/advanced/carousel/fesm2022/index.mjs +34 -39
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/package.json +0 -3
- package/components/advanced/custom/bundles/index.umd.js +48 -48
- package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +31 -31
- package/components/advanced/custom/esm2022/custom-widget.directive.mjs +15 -15
- package/components/advanced/custom/fesm2022/index.mjs +45 -45
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/package.json +0 -3
- package/components/advanced/login/bundles/index.umd.js +33 -53
- package/components/advanced/login/esm2022/login.component.mjs +26 -47
- package/components/advanced/login/fesm2022/index.mjs +27 -47
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +1 -1
- package/components/advanced/login/package.json +0 -3
- package/components/advanced/marquee/bundles/index.umd.js +19 -19
- package/components/advanced/marquee/esm2022/marquee.directive.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/package.json +0 -3
- package/components/base/bundles/index.umd.js +4272 -4243
- package/components/base/esm2022/pipes/custom-pipes.mjs +14 -12
- package/components/base/esm2022/pipes/wm-pipe.mjs +3 -3
- package/components/base/esm2022/public_api.mjs +1 -2
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +154 -1
- package/components/base/esm2022/widgets/common/container/container.props.mjs +7 -2
- package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +1 -1
- package/components/base/fesm2022/index.mjs +4280 -4251
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/package.json +2 -2
- package/components/base/pipes/custom-pipes.d.ts +4 -2
- package/components/base/pipes/wm-pipe.d.ts +1 -1
- package/components/base/public_api.d.ts +0 -1
- package/components/base/widgets/common/container/container.directive.d.ts +9 -0
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +0 -2
- package/components/basic/anchor/bundles/index.umd.js +192 -0
- package/components/basic/anchor/esm2022/anchor.component.mjs +143 -0
- package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
- package/components/basic/anchor/esm2022/index.mjs +5 -0
- package/components/basic/anchor/esm2022/public_api.mjs +2 -0
- package/components/basic/anchor/fesm2022/index.mjs +175 -0
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
- package/components/basic/{progress → anchor}/index.d.ts +1 -1
- package/components/basic/{default → anchor}/package.json +1 -4
- package/components/basic/anchor/public_api.d.ts +1 -0
- package/components/basic/audio/bundles/index.umd.js +83 -0
- package/components/basic/audio/esm2022/audio.component.mjs +41 -0
- package/components/basic/audio/esm2022/audio.props.mjs +19 -0
- package/components/{input/epoch → basic/audio}/esm2022/index.mjs +1 -1
- package/components/basic/audio/esm2022/public_api.mjs +2 -0
- package/components/basic/audio/fesm2022/index.mjs +65 -0
- package/components/basic/audio/fesm2022/index.mjs.map +1 -0
- package/components/{input/epoch → basic/audio}/index.d.ts +1 -1
- package/components/{input/default → basic/audio}/package.json +2 -5
- package/components/basic/audio/public_api.d.ts +1 -0
- package/components/basic/html/bundles/index.umd.js +110 -0
- package/components/basic/html/esm2022/html.directive.mjs +76 -0
- package/components/basic/html/esm2022/html.props.mjs +12 -0
- package/components/basic/html/esm2022/index.mjs +5 -0
- package/components/basic/html/esm2022/public_api.mjs +2 -0
- package/components/basic/html/fesm2022/index.mjs +93 -0
- package/components/basic/html/fesm2022/index.mjs.map +1 -0
- package/components/basic/{default → html}/index.d.ts +1 -1
- package/components/{input/epoch → basic/html}/package.json +1 -4
- package/components/basic/html/public_api.d.ts +1 -0
- package/components/basic/icon/bundles/index.umd.js +80 -0
- package/components/basic/icon/esm2022/icon.component.mjs +38 -0
- package/components/basic/icon/esm2022/icon.props.mjs +19 -0
- package/components/basic/icon/esm2022/index.mjs +5 -0
- package/components/basic/icon/esm2022/public_api.mjs +2 -0
- package/components/basic/icon/fesm2022/index.mjs +62 -0
- package/components/basic/icon/fesm2022/index.mjs.map +1 -0
- package/components/{input/default → basic/icon}/index.d.ts +1 -1
- package/components/basic/{progress → icon}/package.json +1 -4
- package/components/basic/icon/public_api.d.ts +1 -0
- package/components/basic/iframe/.npmignore +2 -0
- package/components/basic/iframe/bundles/index.umd.js +101 -0
- package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
- package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
- package/components/basic/iframe/esm2022/index.mjs +5 -0
- package/components/basic/iframe/esm2022/public_api.mjs +2 -0
- package/components/basic/iframe/fesm2022/index.mjs +84 -0
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
- package/components/basic/iframe/index.d.ts +5 -0
- package/components/basic/iframe/package.json +20 -0
- package/components/basic/iframe/public_api.d.ts +1 -0
- package/components/basic/label/.npmignore +2 -0
- package/components/basic/label/bundles/index.umd.js +109 -0
- package/components/basic/label/esm2022/index.mjs +5 -0
- package/components/basic/label/esm2022/label.directive.mjs +71 -0
- package/components/basic/label/esm2022/label.props.mjs +17 -0
- package/components/basic/label/esm2022/public_api.mjs +2 -0
- package/components/basic/label/fesm2022/index.mjs +93 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -0
- package/components/basic/label/index.d.ts +5 -0
- package/components/basic/{default/label → label}/label.directive.d.ts +1 -1
- package/components/basic/label/package.json +20 -0
- package/components/basic/label/public_api.d.ts +1 -0
- package/components/basic/picture/.npmignore +2 -0
- package/components/basic/picture/bundles/index.umd.js +138 -0
- package/components/basic/{default → picture}/esm2022/index.mjs +1 -1
- package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
- package/components/basic/picture/esm2022/picture.props.mjs +23 -0
- package/components/basic/picture/esm2022/public_api.mjs +2 -0
- package/components/basic/picture/fesm2022/index.mjs +121 -0
- package/components/basic/picture/fesm2022/index.mjs.map +1 -0
- package/components/basic/picture/index.d.ts +5 -0
- package/components/basic/picture/package.json +20 -0
- package/components/basic/picture/public_api.d.ts +1 -0
- package/components/basic/progress/progress-bar/.npmignore +2 -0
- package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
- package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
- package/components/basic/progress/{esm2022/progress-bar → progress-bar/esm2022}/progress-bar.props.mjs +1 -1
- package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-bar/index.d.ts +5 -0
- package/components/basic/progress/progress-bar/package.json +20 -0
- package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
- package/components/basic/progress/progress-circle/.npmignore +2 -0
- package/components/basic/progress/progress-circle/bundles/index.umd.js +161 -0
- package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +120 -0
- package/components/basic/progress/{esm2022/progress-circle → progress-circle/esm2022}/progress-circle.props.mjs +1 -1
- package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +145 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-circle/index.d.ts +5 -0
- package/components/basic/progress/progress-circle/package.json +20 -0
- package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
- package/components/basic/progress/progress-utils/.npmignore +2 -0
- package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
- package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
- package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-utils/index.d.ts +5 -0
- package/components/basic/progress/progress-utils/package.json +20 -0
- package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
- package/components/basic/rich-text-editor/bundles/index.umd.js +23 -40
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +19 -38
- package/components/basic/rich-text-editor/fesm2022/index.mjs +21 -39
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/package.json +0 -3
- package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +109 -313
- package/components/basic/search/esm2022/scrollable.directive.mjs +13 -14
- package/components/basic/search/esm2022/search.component.mjs +40 -246
- package/components/basic/search/fesm2022/index.mjs +52 -256
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/package.json +0 -3
- package/components/basic/search/scrollable.directive.d.ts +2 -3
- package/components/basic/search/search.component.d.ts +1 -1
- package/components/basic/spinner/.npmignore +2 -0
- package/components/basic/spinner/bundles/index.umd.js +118 -0
- package/components/{input/default → basic/spinner}/esm2022/index.mjs +1 -1
- package/components/basic/spinner/esm2022/public_api.mjs +2 -0
- package/components/basic/spinner/esm2022/spinner.component.mjs +79 -0
- package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
- package/components/basic/spinner/fesm2022/index.mjs +103 -0
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
- package/components/basic/spinner/index.d.ts +5 -0
- package/components/basic/spinner/package.json +20 -0
- package/components/basic/spinner/public_api.d.ts +1 -0
- package/components/basic/tree/bundles/index.umd.js +34 -38
- package/components/basic/tree/esm2022/tree.component.mjs +31 -36
- package/components/basic/tree/fesm2022/index.mjs +32 -36
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/package.json +0 -3
- package/components/basic/video/.npmignore +2 -0
- package/components/basic/video/bundles/index.umd.js +116 -0
- package/components/basic/video/esm2022/index.mjs +5 -0
- package/components/basic/video/esm2022/public_api.mjs +2 -0
- package/components/basic/video/esm2022/video.component.mjs +70 -0
- package/components/basic/video/esm2022/video.props.mjs +24 -0
- package/components/basic/video/fesm2022/index.mjs +99 -0
- package/components/basic/video/fesm2022/index.mjs.map +1 -0
- package/components/basic/video/index.d.ts +5 -0
- package/components/basic/video/package.json +20 -0
- package/components/basic/video/public_api.d.ts +1 -0
- package/components/chart/bundles/index.umd.js +22 -75
- package/components/chart/esm2022/chart.component.mjs +20 -74
- package/components/chart/fesm2022/index.mjs +21 -74
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/package.json +0 -3
- package/components/containers/accordion/bundles/index.umd.js +45 -100
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +19 -70
- package/components/containers/accordion/esm2022/accordion.directive.mjs +24 -29
- package/components/containers/accordion/fesm2022/index.mjs +43 -98
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/package.json +0 -3
- package/components/containers/layout-grid/bundles/index.umd.js +60 -60
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +23 -23
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +20 -20
- package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +20 -20
- package/components/containers/layout-grid/fesm2022/index.mjs +61 -61
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/package.json +0 -3
- package/components/containers/linear-layout/bundles/index.umd.js +38 -38
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +20 -20
- package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +20 -20
- package/components/containers/linear-layout/fesm2022/index.mjs +39 -39
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/package.json +0 -3
- package/components/containers/panel/bundles/index.umd.js +62 -223
- package/components/containers/panel/esm2022/panel.component.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/package.json +0 -3
- package/components/containers/tabs/bundles/index.umd.js +95 -204
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +34 -51
- package/components/containers/tabs/esm2022/tabs.component.mjs +29 -123
- package/components/containers/tabs/fesm2022/index.mjs +61 -170
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/package.json +0 -3
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -4
- package/components/containers/tile/bundles/index.umd.js +19 -19
- package/components/containers/tile/esm2022/tile.directive.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/package.json +0 -3
- package/components/containers/wizard/bundles/index.umd.js +119 -302
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +21 -21
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +32 -45
- package/components/containers/wizard/esm2022/wizard.component.mjs +30 -201
- package/components/containers/wizard/fesm2022/index.mjs +81 -264
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/package.json +0 -3
- package/components/containers/wizard/wizard.component.d.ts +1 -1
- package/components/data/card/bundles/index.umd.js +108 -208
- package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +15 -15
- package/components/data/card/esm2022/card-content/card-content.component.mjs +19 -34
- package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +15 -15
- package/components/data/card/esm2022/card.component.mjs +21 -107
- package/components/data/card/fesm2022/index.mjs +67 -167
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/package.json +0 -3
- package/components/data/form/bundles/index.umd.js +287 -467
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +22 -22
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +80 -91
- package/components/data/form/esm2022/form-widget.directive.mjs +31 -31
- package/components/data/form/esm2022/form.component.mjs +88 -251
- package/components/data/form/esm2022/form.props.mjs +1 -1
- package/components/data/form/esm2022/live-actions/dependson.directive.mjs +19 -24
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +15 -15
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +15 -15
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +23 -25
- package/components/data/form/fesm2022/index.mjs +288 -468
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/package.json +0 -3
- package/components/data/list/bundles/index.umd.js +80 -360
- package/components/data/list/esm2022/list-item.directive.mjs +27 -34
- package/components/data/list/esm2022/list.animator.mjs +1 -1
- package/components/data/list/esm2022/list.component.mjs +55 -330
- package/components/data/list/esm2022/list.props.mjs +1 -1
- package/components/data/list/fesm2022/index.mjs +79 -358
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +3 -3
- package/components/data/list/list.component.d.ts +2 -4
- package/components/data/list/package.json +0 -3
- package/components/data/live-table/bundles/index.umd.js +28 -39
- package/components/data/live-table/esm2022/live-table.component.mjs +25 -37
- package/components/data/live-table/fesm2022/index.mjs +26 -37
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/package.json +0 -3
- package/components/data/pagination/bundles/index.umd.js +33 -505
- package/components/data/pagination/esm2022/pagination.component.mjs +33 -507
- package/components/data/pagination/esm2022/pagination.props.mjs +1 -1
- package/components/data/pagination/fesm2022/index.mjs +32 -505
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/package.json +0 -3
- package/components/data/pagination/pagination.component.d.ts +1 -1
- package/components/data/table/bundles/index.umd.js +310 -457
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +22 -22
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +50 -71
- package/components/data/table/esm2022/table-column/table-column.props.mjs +1 -1
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +26 -26
- package/components/data/table/esm2022/table-cud.directive.mjs +15 -15
- package/components/data/table/esm2022/table-filter.directive.mjs +16 -16
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +24 -24
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +29 -29
- package/components/data/table/esm2022/table.component.mjs +135 -263
- package/components/data/table/esm2022/table.props.mjs +2 -1
- package/components/data/table/fesm2022/index.mjs +312 -459
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/package.json +0 -3
- package/components/data/table/table-column/table-column.directive.d.ts +1 -1
- package/components/data/table/table.component.d.ts +3 -0
- package/components/dialogs/alert-dialog/bundles/index.umd.js +50 -79
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +32 -62
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +32 -61
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/package.json +0 -3
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +36 -72
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +34 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +35 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/package.json +0 -3
- package/components/dialogs/default/bundles/index.umd.js +85 -232
- package/components/dialogs/default/esm2022/base-dialog.mjs +14 -14
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -18
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +20 -20
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +34 -179
- package/components/dialogs/default/fesm2022/index.mjs +80 -227
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/package.json +0 -3
- package/components/dialogs/design-dialog/bundles/index.umd.js +52 -108
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +50 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs +51 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/package.json +0 -3
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +33 -81
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +32 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +33 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/package.json +0 -3
- package/components/dialogs/login-dialog/bundles/index.umd.js +22 -29
- package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/package.json +0 -3
- package/components/dialogs/partial-dialog/bundles/index.umd.js +39 -85
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +38 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +39 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/package.json +0 -3
- package/components/input/base-form/.npmignore +2 -0
- package/components/input/base-form/bundles/index.umd.js +133 -0
- package/components/input/base-form/esm2022/base-form.component.mjs +110 -0
- package/components/input/base-form/esm2022/index.mjs +5 -0
- package/components/input/base-form/esm2022/public_api.mjs +2 -0
- package/components/input/base-form/fesm2022/index.mjs +117 -0
- package/components/input/base-form/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form/index.d.ts +5 -0
- package/components/input/base-form/package.json +20 -0
- package/components/input/base-form/public_api.d.ts +1 -0
- package/components/input/base-form-custom/.npmignore +2 -0
- package/components/input/{default → base-form-custom}/base-form-custom.component.d.ts +1 -1
- package/components/input/base-form-custom/bundles/index.umd.js +118 -0
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +94 -0
- package/components/input/base-form-custom/esm2022/index.mjs +5 -0
- package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
- package/components/input/base-form-custom/fesm2022/index.mjs +101 -0
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form-custom/index.d.ts +5 -0
- package/components/input/base-form-custom/package.json +20 -0
- package/components/input/base-form-custom/public_api.d.ts +1 -0
- package/components/input/button/.npmignore +2 -0
- package/components/input/button/bundles/index.umd.js +98 -0
- package/components/input/button/esm2022/button.component.mjs +50 -0
- package/components/input/button/esm2022/button.props.mjs +26 -0
- package/components/input/button/esm2022/index.mjs +5 -0
- package/components/input/button/esm2022/public_api.mjs +2 -0
- package/components/input/button/fesm2022/index.mjs +81 -0
- package/components/input/button/fesm2022/index.mjs.map +1 -0
- package/components/input/button/index.d.ts +5 -0
- package/components/input/button/package.json +20 -0
- package/components/input/button/public_api.d.ts +1 -0
- package/components/input/button-group/.npmignore +2 -0
- package/components/input/button-group/bundles/index.umd.js +80 -0
- package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
- package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
- package/components/input/button-group/esm2022/index.mjs +5 -0
- package/components/input/button-group/esm2022/public_api.mjs +2 -0
- package/components/input/button-group/fesm2022/index.mjs +62 -0
- package/components/input/button-group/fesm2022/index.mjs.map +1 -0
- package/components/input/button-group/index.d.ts +5 -0
- package/components/input/button-group/package.json +20 -0
- package/components/input/button-group/public_api.d.ts +1 -0
- package/components/input/calendar/bundles/index.umd.js +25 -38
- package/components/input/calendar/esm2022/calendar.component.mjs +22 -36
- package/components/input/calendar/fesm2022/index.mjs +23 -36
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/package.json +0 -3
- package/components/input/caption-position/.npmignore +2 -0
- package/components/input/caption-position/bundles/index.umd.js +196 -0
- package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
- package/components/input/caption-position/esm2022/index.mjs +5 -0
- package/components/input/caption-position/esm2022/public_api.mjs +2 -0
- package/components/input/caption-position/fesm2022/index.mjs +178 -0
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
- package/components/input/caption-position/index.d.ts +5 -0
- package/components/input/caption-position/package.json +20 -0
- package/components/input/caption-position/public_api.d.ts +1 -0
- package/components/input/checkbox/.npmignore +2 -0
- package/components/input/checkbox/bundles/index.umd.js +190 -0
- package/components/input/{default/checkbox → checkbox}/checkbox.component.d.ts +1 -1
- package/components/input/checkbox/esm2022/checkbox.component.mjs +145 -0
- package/components/input/checkbox/esm2022/checkbox.props.mjs +27 -0
- package/components/{basic/progress → input/checkbox}/esm2022/index.mjs +1 -1
- package/components/input/checkbox/esm2022/public_api.mjs +2 -0
- package/components/input/checkbox/fesm2022/index.mjs +175 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
- package/components/input/checkbox/index.d.ts +5 -0
- package/components/input/checkbox/package.json +20 -0
- package/components/input/checkbox/public_api.d.ts +1 -0
- package/components/input/checkboxset/.npmignore +2 -0
- package/components/input/checkboxset/bundles/index.umd.js +151 -0
- package/components/input/{default/checkboxset → checkboxset}/checkboxset.component.d.ts +1 -1
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +99 -0
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +35 -0
- package/components/input/checkboxset/esm2022/index.mjs +5 -0
- package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
- package/components/input/checkboxset/fesm2022/index.mjs +138 -0
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
- package/components/input/checkboxset/index.d.ts +5 -0
- package/components/input/checkboxset/package.json +20 -0
- package/components/input/checkboxset/public_api.d.ts +1 -0
- package/components/input/chips/bundles/index.umd.js +94 -153
- package/components/input/chips/chips.component.d.ts +1 -1
- package/components/input/chips/esm2022/chips.component.mjs +41 -101
- package/components/input/chips/fesm2022/index.mjs +42 -101
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/package.json +0 -3
- package/components/input/color-picker/bundles/index.umd.js +35 -74
- package/components/input/color-picker/color-picker.component.d.ts +2 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +34 -75
- package/components/input/color-picker/fesm2022/index.mjs +36 -75
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/package.json +0 -3
- package/components/input/composite/.npmignore +2 -0
- package/components/input/composite/bundles/index.umd.js +111 -0
- package/components/input/composite/esm2022/composite.directive.mjs +79 -0
- package/components/input/composite/esm2022/composite.props.mjs +10 -0
- package/components/input/composite/esm2022/index.mjs +5 -0
- package/components/input/composite/esm2022/public_api.mjs +2 -0
- package/components/input/composite/fesm2022/index.mjs +94 -0
- package/components/input/composite/fesm2022/index.mjs.map +1 -0
- package/components/input/composite/index.d.ts +5 -0
- package/components/input/composite/package.json +20 -0
- package/components/input/composite/public_api.d.ts +1 -0
- package/components/input/currency/bundles/index.umd.js +31 -52
- package/components/input/currency/currency.component.d.ts +1 -1
- package/components/input/currency/esm2022/currency.component.mjs +28 -50
- package/components/input/currency/fesm2022/index.mjs +30 -51
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/package.json +0 -3
- package/components/input/dataset-aware-form/.npmignore +2 -0
- package/components/input/dataset-aware-form/bundles/index.umd.js +328 -0
- package/components/input/{default → dataset-aware-form}/dataset-aware-form.component.d.ts +1 -1
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +307 -0
- package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
- package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs +314 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
- package/components/input/dataset-aware-form/index.d.ts +5 -0
- package/components/input/dataset-aware-form/package.json +20 -0
- package/components/input/dataset-aware-form/public_api.d.ts +1 -0
- package/components/input/epoch/base-date-time/.npmignore +2 -0
- package/components/input/epoch/{base-date-time.component.d.ts → base-date-time/base-date-time.component.d.ts} +1 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +1086 -0
- package/components/input/epoch/{esm2022 → base-date-time/esm2022}/base-date-time.component.mjs +22 -31
- package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +1077 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/base-date-time/index.d.ts +5 -0
- package/components/input/epoch/base-date-time/package.json +20 -0
- package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date/.npmignore +2 -0
- package/components/input/epoch/date/bundles/index.umd.js +492 -0
- package/components/input/epoch/date/date.component.d.ts +2 -2
- package/components/input/epoch/date/esm2022/date.component.mjs +322 -0
- package/components/input/epoch/{esm2022/date → date/esm2022}/date.props.mjs +1 -1
- package/components/input/epoch/{esm2022/date → date/esm2022}/imaskUtil.mjs +1 -1
- package/components/input/epoch/date/esm2022/index.mjs +5 -0
- package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date/fesm2022/index.mjs +482 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date/index.d.ts +5 -0
- package/components/input/epoch/date/package.json +20 -0
- package/components/input/epoch/date/public_api.d.ts +1 -0
- package/components/input/epoch/date-time/.npmignore +2 -0
- package/components/input/epoch/date-time/bundles/index.umd.js +518 -0
- package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +458 -0
- package/components/input/epoch/{esm2022/date-time → date-time/esm2022}/date-time.props.mjs +1 -1
- package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs +509 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time/index.d.ts +5 -0
- package/components/input/epoch/date-time/package.json +20 -0
- package/components/input/epoch/date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date-time-picker/.npmignore +2 -0
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
- package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
- package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time-picker/index.d.ts +5 -0
- package/components/input/epoch/date-time-picker/package.json +20 -0
- package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
- package/components/input/epoch/picker/.npmignore +2 -0
- package/components/input/epoch/picker/bundles/index.umd.js +192 -0
- package/components/input/epoch/picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
- package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
- package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/picker/index.d.ts +5 -0
- package/components/input/epoch/picker/package.json +20 -0
- package/components/input/epoch/picker/public_api.d.ts +2 -0
- package/components/input/epoch/time/.npmignore +2 -0
- package/components/input/epoch/time/bundles/index.umd.js +397 -0
- package/components/input/epoch/time/esm2022/index.mjs +5 -0
- package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/time/esm2022/time.component.mjs +348 -0
- package/components/input/epoch/{esm2022/time → time/esm2022}/time.props.mjs +1 -1
- package/components/input/epoch/time/fesm2022/index.mjs +387 -0
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/time/index.d.ts +5 -0
- package/components/input/epoch/time/package.json +20 -0
- package/components/input/epoch/time/public_api.d.ts +1 -0
- package/components/input/epoch/time/time.component.d.ts +1 -1
- package/components/input/file-upload/bundles/index.umd.js +56 -348
- package/components/input/file-upload/esm2022/file-upload.component.mjs +20 -313
- package/components/input/file-upload/fesm2022/index.mjs +20 -312
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/package.json +0 -3
- package/components/input/number/.npmignore +2 -0
- package/components/input/number/bundles/index.umd.js +101 -0
- package/components/input/number/esm2022/index.mjs +5 -0
- package/components/input/number/esm2022/number.component.mjs +49 -0
- package/components/input/number/esm2022/number.props.mjs +35 -0
- package/components/input/number/esm2022/public_api.mjs +2 -0
- package/components/input/number/fesm2022/index.mjs +87 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -0
- package/components/input/number/index.d.ts +5 -0
- package/components/input/{default/number → number}/number.component.d.ts +1 -1
- package/components/input/number/package.json +20 -0
- package/components/input/number/public_api.d.ts +1 -0
- package/components/input/radioset/.npmignore +2 -0
- package/components/input/radioset/bundles/index.umd.js +136 -0
- package/components/input/radioset/esm2022/index.mjs +5 -0
- package/components/input/radioset/esm2022/public_api.mjs +2 -0
- package/components/input/radioset/esm2022/radioset.component.mjs +84 -0
- package/components/input/radioset/esm2022/radioset.props.mjs +35 -0
- package/components/input/radioset/fesm2022/index.mjs +123 -0
- package/components/input/radioset/fesm2022/index.mjs.map +1 -0
- package/components/input/radioset/index.d.ts +5 -0
- package/components/input/radioset/package.json +20 -0
- package/components/input/radioset/public_api.d.ts +1 -0
- package/components/input/{default/radioset → radioset}/radioset.component.d.ts +1 -1
- package/components/input/rating/bundles/index.umd.js +49 -103
- package/components/input/rating/esm2022/rating.component.mjs +24 -79
- package/components/input/rating/fesm2022/index.mjs +25 -79
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/package.json +0 -3
- package/components/input/rating/rating.component.d.ts +1 -1
- package/components/input/select/.npmignore +2 -0
- package/components/input/select/bundles/index.umd.js +219 -0
- package/components/input/select/esm2022/index.mjs +5 -0
- package/components/input/select/esm2022/public_api.mjs +2 -0
- package/components/input/select/esm2022/select.component.mjs +166 -0
- package/components/input/select/esm2022/select.props.mjs +36 -0
- package/components/input/select/fesm2022/index.mjs +205 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -0
- package/components/input/select/index.d.ts +5 -0
- package/components/input/select/package.json +20 -0
- package/components/input/select/public_api.d.ts +1 -0
- package/components/input/{default/select → select}/select.component.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +44 -111
- package/components/input/slider/esm2022/slider.component.mjs +25 -95
- package/components/input/slider/esm2022/slider.props.mjs +1 -1
- package/components/input/slider/fesm2022/index.mjs +25 -93
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/package.json +0 -3
- package/components/input/slider/slider.component.d.ts +2 -2
- package/components/input/switch/.npmignore +2 -0
- package/components/input/switch/bundles/index.umd.js +204 -0
- package/components/input/switch/esm2022/index.mjs +5 -0
- package/components/input/switch/esm2022/public_api.mjs +2 -0
- package/components/input/switch/esm2022/switch.component.mjs +159 -0
- package/components/input/switch/esm2022/switch.props.mjs +28 -0
- package/components/input/switch/fesm2022/index.mjs +191 -0
- package/components/input/switch/fesm2022/index.mjs.map +1 -0
- package/components/input/switch/index.d.ts +5 -0
- package/components/input/switch/package.json +20 -0
- package/components/input/switch/public_api.d.ts +1 -0
- package/components/input/{default/switch → switch}/switch.component.d.ts +1 -1
- package/components/input/text/.npmignore +2 -0
- package/components/input/{default/text/base → text/base-input}/base-input.d.ts +1 -1
- package/components/input/text/bundles/index.umd.js +1070 -0
- package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
- package/components/input/text/esm2022/index.mjs +5 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +46 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
- package/components/input/text/esm2022/input-color/input-color.component.mjs +46 -0
- package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
- package/components/input/text/esm2022/input-email/input-email.component.mjs +46 -0
- package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
- package/components/input/text/esm2022/input-number/input-number.component.mjs +56 -0
- package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
- package/components/input/text/esm2022/input-text/input-text.component.mjs +121 -0
- package/components/input/text/esm2022/input-text/input-text.props.mjs +46 -0
- package/components/input/text/esm2022/number-locale/number-locale.mjs +539 -0
- package/components/input/text/esm2022/public_api.mjs +8 -0
- package/components/input/text/fesm2022/index.mjs +1054 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -0
- package/components/input/text/index.d.ts +5 -0
- package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.component.d.ts +1 -1
- package/components/input/{default/text/color → text/input-color}/input-color.component.d.ts +1 -1
- package/components/input/{default/text/email → text/input-email}/input-email.component.d.ts +1 -1
- package/components/input/{default/text/number → text/input-number}/input-number.component.d.ts +1 -1
- package/components/input/{default/text/text → text/input-text}/input-text.component.d.ts +1 -1
- package/components/input/{default/text/locale → text/number-locale}/number-locale.d.ts +1 -1
- package/components/input/text/package.json +20 -0
- package/components/input/text/public_api.d.ts +7 -0
- package/components/input/textarea/.npmignore +2 -0
- package/components/input/textarea/bundles/index.umd.js +101 -0
- package/components/input/textarea/esm2022/index.mjs +5 -0
- package/components/input/textarea/esm2022/public_api.mjs +2 -0
- package/components/input/textarea/esm2022/textarea.component.mjs +53 -0
- package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
- package/components/input/textarea/fesm2022/index.mjs +87 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -0
- package/components/input/textarea/index.d.ts +5 -0
- package/components/input/textarea/package.json +20 -0
- package/components/input/textarea/public_api.d.ts +1 -0
- package/components/input/{default/textarea → textarea}/textarea.component.d.ts +1 -1
- package/components/navigation/breadcrumb/bundles/index.umd.js +37 -79
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +20 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs +21 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/package.json +0 -3
- package/components/navigation/menu/bundles/index.umd.js +247 -442
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -19
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +13 -29
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +43 -100
- package/components/navigation/menu/esm2022/menu.component.mjs +53 -104
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +30 -37
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +20 -88
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +14 -14
- package/components/navigation/menu/fesm2022/index.mjs +174 -369
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +2 -3
- package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +3 -3
- package/components/navigation/menu/package.json +0 -3
- package/components/navigation/navbar/bundles/index.umd.js +32 -83
- package/components/navigation/navbar/esm2022/navbar.component.mjs +20 -72
- package/components/navigation/navbar/fesm2022/index.mjs +20 -71
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/package.json +0 -3
- package/components/navigation/popover/bundles/index.umd.js +31 -59
- package/components/navigation/popover/esm2022/popover.component.mjs +29 -58
- package/components/navigation/popover/fesm2022/index.mjs +31 -59
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/package.json +0 -3
- package/components/page/default/bundles/index.umd.js +109 -123
- package/components/page/default/esm2022/content/content.component.mjs +16 -25
- package/components/page/default/esm2022/layout.directive.mjs +21 -21
- package/components/page/default/esm2022/page-content/page-content.component.mjs +16 -23
- package/components/page/default/esm2022/page.directive.mjs +21 -21
- package/components/page/default/esm2022/router-outlet.directive.mjs +20 -20
- package/components/page/default/esm2022/spa-page.directive.mjs +21 -21
- package/components/page/default/fesm2022/index.mjs +111 -125
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/package.json +0 -3
- package/components/page/footer/bundles/index.umd.js +20 -20
- package/components/page/footer/esm2022/footer.directive.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/package.json +0 -3
- package/components/page/header/bundles/index.umd.js +19 -26
- package/components/page/header/esm2022/header.component.mjs +16 -24
- package/components/page/header/fesm2022/index.mjs +17 -24
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/package.json +0 -3
- package/components/page/left-panel/bundles/index.umd.js +30 -30
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/package.json +0 -3
- package/components/page/right-panel/bundles/index.umd.js +23 -23
- package/components/page/right-panel/esm2022/right-panel.directive.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/package.json +0 -3
- package/components/page/top-nav/bundles/index.umd.js +20 -20
- package/components/page/top-nav/esm2022/top-nav.directive.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/package.json +0 -3
- package/components/prefab/bundles/index.umd.js +41 -41
- package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +20 -20
- package/components/prefab/esm2022/prefab.directive.mjs +23 -23
- package/components/prefab/fesm2022/index.mjs +42 -42
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/package.json +0 -3
- package/core/bundles/index.umd.js +80 -61
- package/core/esm2022/services/constant.service.mjs +7 -7
- package/core/esm2022/services/custom-icons-loader.service.mjs +7 -7
- package/core/esm2022/services/field-type.service.mjs +7 -7
- package/core/esm2022/services/field-widget.service.mjs +7 -7
- package/core/esm2022/services/pagination.service.mjs +7 -7
- package/core/esm2022/services/script-loader.service.mjs +7 -7
- package/core/esm2022/services/state-persistence.service.mjs +7 -7
- package/core/esm2022/services/user-custom-pipe-manager.service.mjs +7 -7
- package/core/esm2022/services/utils.service.mjs +7 -7
- package/core/esm2022/services/viewport.service.mjs +7 -7
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/build-utils.mjs +21 -2
- package/core/fesm2022/index.mjs +80 -61
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/package.json +3 -6
- package/core/types/types.d.ts +2 -1
- package/http/bundles/index.umd.js +8 -8
- package/http/esm2022/http.service.mjs +9 -9
- package/http/fesm2022/index.mjs +8 -8
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/package.json +2 -5
- package/locales/moment/ar-dz.js +8 -8
- package/locales/moment/ar-ly.js +8 -8
- package/locales/moment/ar-ps.js +123 -0
- package/locales/moment/ar.js +8 -8
- package/locales/moment/be.js +2 -2
- package/locales/moment/bs.js +14 -4
- package/locales/moment/ca.js +6 -6
- package/locales/moment/cs.js +5 -4
- package/locales/moment/cv.js +2 -2
- package/locales/moment/en-au.js +6 -6
- package/locales/moment/en-ca.js +6 -6
- package/locales/moment/en-gb.js +6 -6
- package/locales/moment/en-ie.js +6 -6
- package/locales/moment/en-il.js +6 -6
- package/locales/moment/en-in.js +6 -6
- package/locales/moment/en-nz.js +6 -6
- package/locales/moment/en-sg.js +6 -6
- package/locales/moment/it.js +4 -4
- package/locales/moment/ku-kmr.js +125 -0
- package/locales/moment/lt.js +2 -2
- package/locales/moment/me.js +2 -2
- package/locales/moment/nb.js +4 -4
- package/locales/moment/nl-be.js +1 -1
- package/locales/moment/nl.js +1 -1
- package/locales/moment/oc-lnc.js +6 -6
- package/locales/moment/ru.js +2 -2
- package/locales/moment/sv.js +6 -6
- package/locales/moment/tet.js +6 -6
- package/locales/moment/tlh.js +8 -8
- package/locales/moment/tzl.js +2 -2
- package/locales/moment/uk.js +4 -4
- package/locales/moment/x-pseudo.js +6 -6
- package/locales/moment-timezone/moment-timezone-with-data.js +2 -2
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +5 -5
- package/oAuth/esm2022/oAuth.service.mjs +6 -6
- package/oAuth/fesm2022/index.mjs +5 -5
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/package.json +2 -5
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +3162 -3100
- package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -0
- package/runtime/base/esm2022/components/app-component/app.component.mjs +14 -95
- package/runtime/base/esm2022/components/app-spinner.component.mjs +34 -45
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +8 -7
- package/runtime/base/esm2022/components/base-layout.component.mjs +14 -21
- package/runtime/base/esm2022/components/base-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/base-partial.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-prefab.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +30 -52
- package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +33 -15
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +19 -26
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +17 -17
- package/runtime/base/esm2022/directives/prefab.directive.mjs +15 -15
- package/runtime/base/esm2022/guards/auth.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +11 -11
- package/runtime/base/esm2022/guards/page-not-found.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/role.guard.mjs +6 -6
- package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +12 -12
- package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +14 -14
- package/runtime/base/esm2022/public_api.mjs +5 -2
- package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
- package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-js.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/i18n.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/metadata.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/security-config.resolve.mjs +9 -9
- package/runtime/base/esm2022/runtime-base.module.mjs +457 -316
- package/runtime/base/esm2022/services/app-defaults.service.mjs +6 -6
- package/runtime/base/esm2022/services/app.manager.service.mjs +25 -9
- package/runtime/base/esm2022/services/app.service.mjs +39 -18
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +6 -6
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -6
- package/runtime/base/esm2022/services/i18n.service.mjs +37 -34
- package/runtime/base/esm2022/services/navigation.service.mjs +6 -6
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +13 -13
- package/runtime/base/esm2022/services/pipe.service.mjs +10 -8
- package/runtime/base/esm2022/services/prefab-manager.service.mjs +6 -6
- package/runtime/base/esm2022/services/spinner.service.mjs +6 -6
- package/runtime/base/esm2022/services/toaster.service.mjs +6 -6
- package/runtime/base/esm2022/util/fragment-monitor.mjs +6 -6
- package/runtime/base/esm2022/util/utils.mjs +15 -1
- package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +1 -1
- package/runtime/base/fesm2022/index.mjs +3145 -3071
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/package.json +2 -5
- package/runtime/base/public_api.d.ts +4 -1
- package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
- package/runtime/base/runtime-base.module.d.ts +96 -59
- package/runtime/base/services/app.manager.service.d.ts +2 -1
- package/runtime/base/services/app.service.d.ts +3 -2
- package/runtime/base/services/i18n.service.d.ts +2 -1
- package/runtime/base/util/utils.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +3 -1
- package/runtime/dynamic/bundles/index.umd.js +145 -114
- package/runtime/dynamic/esm2022/app/app.config.mjs +11 -10
- package/runtime/dynamic/esm2022/app/app.module.mjs +35 -5
- package/runtime/dynamic/esm2022/app/app.routes.mjs +2 -11
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +11 -16
- package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +15 -11
- package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +57 -8
- package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +6 -6
- package/runtime/dynamic/fesm2022/index.mjs +143 -88
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/runtime/dynamic/package.json +2 -5
- package/scripts/datatable/datatable.js +26 -5
- package/scripts/jquery-ui/ui/widgets/droppable.js +3 -3
- package/scripts/jquery-ui/ui/widgets/resizable.js +72 -19
- package/scripts/jquery-ui/ui/widgets/sortable.js +9 -16
- package/security/bundles/index.umd.js +5 -5
- package/security/esm2022/security.service.mjs +6 -6
- package/security/fesm2022/index.mjs +5 -5
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/package.json +2 -5
- package/swipey/fesm2022/index.mjs.map +1 -1
- package/swipey/package.json +2 -5
- package/transpiler/build.d.ts +1 -1
- package/transpiler/bundles/index.umd.js +94 -56
- package/transpiler/esm2022/build.mjs +5 -2
- package/transpiler/esm2022/imports.mjs +92 -57
- package/transpiler/fesm2022/index.mjs +94 -56
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/transpiler/package.json +3 -6
- package/variables/bundles/index.umd.js +20 -10
- package/variables/constants/variables.constants.d.ts +9 -0
- package/variables/esm2022/constants/variables.constants.mjs +10 -1
- package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -6
- package/variables/esm2022/service/variables.service.mjs +6 -6
- package/variables/fesm2022/index.mjs +20 -11
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/package.json +2 -5
- package/variables/service/variables.service.d.ts +1 -1
- package/build-task/esm2022/basic/default/anchor/anchor.build.mjs +0 -15
- package/build-task/esm2022/basic/default/audio/audio.build.mjs +0 -10
- package/build-task/esm2022/basic/default/html/html.build.mjs +0 -15
- package/build-task/esm2022/basic/default/icon/icon.build.mjs +0 -10
- package/build-task/esm2022/basic/default/iframe/iframe.build.mjs +0 -10
- package/build-task/esm2022/basic/default/label/label.build.mjs +0 -25
- package/build-task/esm2022/basic/default/picture/picture.build.mjs +0 -14
- package/build-task/esm2022/basic/default/spinner/spinner.build.mjs +0 -15
- package/build-task/esm2022/basic/default/video/video.build.mjs +0 -10
- package/components/base/components.module.d.ts +0 -25
- package/components/base/esm2022/components.module.mjs +0 -152
- package/components/basic/default/bundles/index.umd.js +0 -1036
- package/components/basic/default/esm2022/anchor/anchor.component.mjs +0 -198
- package/components/basic/default/esm2022/anchor/anchor.props.mjs +0 -27
- package/components/basic/default/esm2022/audio/audio.component.mjs +0 -59
- package/components/basic/default/esm2022/audio/audio.props.mjs +0 -19
- package/components/basic/default/esm2022/html/html.directive.mjs +0 -76
- package/components/basic/default/esm2022/html/html.props.mjs +0 -12
- package/components/basic/default/esm2022/icon/icon.component.mjs +0 -70
- package/components/basic/default/esm2022/icon/icon.props.mjs +0 -19
- package/components/basic/default/esm2022/iframe/iframe.component.mjs +0 -85
- package/components/basic/default/esm2022/iframe/iframe.props.mjs +0 -15
- package/components/basic/default/esm2022/label/label.directive.mjs +0 -71
- package/components/basic/default/esm2022/label/label.props.mjs +0 -17
- package/components/basic/default/esm2022/picture/picture.directive.mjs +0 -95
- package/components/basic/default/esm2022/picture/picture.props.mjs +0 -23
- package/components/basic/default/esm2022/public_api.mjs +0 -10
- package/components/basic/default/esm2022/spinner/spinner.component.mjs +0 -130
- package/components/basic/default/esm2022/spinner/spinner.props.mjs +0 -20
- package/components/basic/default/esm2022/video/video.component.mjs +0 -113
- package/components/basic/default/esm2022/video/video.props.mjs +0 -24
- package/components/basic/default/fesm2022/index.mjs +0 -1012
- package/components/basic/default/fesm2022/index.mjs.map +0 -1
- package/components/basic/default/public_api.d.ts +0 -9
- package/components/basic/progress/bundles/index.umd.js +0 -361
- package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +0 -154
- package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +0 -132
- package/components/basic/progress/esm2022/public_api.mjs +0 -3
- package/components/basic/progress/esm2022/utils.mjs +0 -25
- package/components/basic/progress/fesm2022/index.mjs +0 -344
- package/components/basic/progress/fesm2022/index.mjs.map +0 -1
- package/components/basic/progress/public_api.d.ts +0 -2
- package/components/input/default/bundles/index.umd.js +0 -3559
- package/components/input/default/esm2022/base-form-custom.component.mjs +0 -94
- package/components/input/default/esm2022/base-form.component.mjs +0 -110
- package/components/input/default/esm2022/button/button.component.mjs +0 -106
- package/components/input/default/esm2022/button/button.props.mjs +0 -26
- package/components/input/default/esm2022/button-group/button-group.directive.mjs +0 -51
- package/components/input/default/esm2022/button-group/button-group.props.mjs +0 -10
- package/components/input/default/esm2022/caption-position.directive.mjs +0 -172
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +0 -179
- package/components/input/default/esm2022/checkbox/checkbox.props.mjs +0 -27
- package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +0 -268
- package/components/input/default/esm2022/checkboxset/checkboxset.props.mjs +0 -35
- package/components/input/default/esm2022/composite/composite.directive.mjs +0 -84
- package/components/input/default/esm2022/composite/composite.props.mjs +0 -10
- package/components/input/default/esm2022/dataset-aware-form.component.mjs +0 -307
- package/components/input/default/esm2022/number/number.component.mjs +0 -68
- package/components/input/default/esm2022/number/number.props.mjs +0 -35
- package/components/input/default/esm2022/public_api.mjs +0 -21
- package/components/input/default/esm2022/radioset/radioset.component.mjs +0 -251
- package/components/input/default/esm2022/radioset/radioset.props.mjs +0 -35
- package/components/input/default/esm2022/select/select.component.mjs +0 -230
- package/components/input/default/esm2022/select/select.props.mjs +0 -36
- package/components/input/default/esm2022/switch/switch.component.mjs +0 -227
- package/components/input/default/esm2022/switch/switch.props.mjs +0 -28
- package/components/input/default/esm2022/text/base/base-input.mjs +0 -93
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +0 -69
- package/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +0 -30
- package/components/input/default/esm2022/text/color/input-color.component.mjs +0 -69
- package/components/input/default/esm2022/text/color/input-color.props.mjs +0 -27
- package/components/input/default/esm2022/text/email/input-email.component.mjs +0 -68
- package/components/input/default/esm2022/text/email/input-email.props.mjs +0 -29
- package/components/input/default/esm2022/text/locale/number-locale.mjs +0 -539
- package/components/input/default/esm2022/text/number/input-number.component.mjs +0 -79
- package/components/input/default/esm2022/text/number/input-number.props.mjs +0 -32
- package/components/input/default/esm2022/text/text/input-text.component.mjs +0 -145
- package/components/input/default/esm2022/text/text/input-text.props.mjs +0 -46
- package/components/input/default/esm2022/textarea/textarea.component.mjs +0 -85
- package/components/input/default/esm2022/textarea/textarea.props.mjs +0 -30
- package/components/input/default/fesm2022/index.mjs +0 -3529
- package/components/input/default/fesm2022/index.mjs.map +0 -1
- package/components/input/default/public_api.d.ts +0 -20
- package/components/input/epoch/bundles/index.umd.js +0 -3292
- package/components/input/epoch/esm2022/date/date.component.mjs +0 -376
- package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +0 -473
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +0 -563
- package/components/input/epoch/esm2022/picker/picker.component.mjs +0 -184
- package/components/input/epoch/esm2022/public_api.mjs +0 -6
- package/components/input/epoch/esm2022/time/time.component.mjs +0 -432
- package/components/input/epoch/fesm2022/index.mjs +0 -3280
- package/components/input/epoch/fesm2022/index.mjs.map +0 -1
- package/components/input/epoch/public_api.d.ts +0 -5
- /package/build-task/basic/{default/anchor → anchor}/anchor.build.d.ts +0 -0
- /package/build-task/basic/{default/audio → audio}/audio.build.d.ts +0 -0
- /package/build-task/basic/{default/html → html}/html.build.d.ts +0 -0
- /package/build-task/basic/{default/icon → icon}/icon.build.d.ts +0 -0
- /package/build-task/basic/{default/iframe → iframe}/iframe.build.d.ts +0 -0
- /package/build-task/basic/{default/label → label}/label.build.d.ts +0 -0
- /package/build-task/basic/{default/picture → picture}/picture.build.d.ts +0 -0
- /package/build-task/basic/{default/spinner → spinner}/spinner.build.d.ts +0 -0
- /package/build-task/basic/{default/video → video}/video.build.d.ts +0 -0
- /package/components/basic/{default → anchor}/.npmignore +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.component.d.ts +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.props.d.ts +0 -0
- /package/components/basic/{progress → audio}/.npmignore +0 -0
- /package/components/basic/{default/audio → audio}/audio.component.d.ts +0 -0
- /package/components/basic/{default/audio → audio}/audio.props.d.ts +0 -0
- /package/components/{input/default → basic/html}/.npmignore +0 -0
- /package/components/basic/{default/html → html}/html.directive.d.ts +0 -0
- /package/components/basic/{default/html → html}/html.props.d.ts +0 -0
- /package/components/{input/epoch → basic/icon}/.npmignore +0 -0
- /package/components/basic/{default/icon → icon}/icon.component.d.ts +0 -0
- /package/components/basic/{default/icon → icon}/icon.props.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.component.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.props.d.ts +0 -0
- /package/components/basic/{default/label → label}/label.props.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.directive.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.props.d.ts +0 -0
- /package/components/basic/progress/{utils.d.ts → progress-utils/progress-utils.d.ts} +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.component.d.ts +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.props.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.component.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.props.d.ts +0 -0
- /package/components/input/{default → base-form}/base-form.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.props.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.directive.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.props.d.ts +0 -0
- /package/components/input/{default → caption-position}/caption-position.directive.d.ts +0 -0
- /package/components/input/{default/checkbox → checkbox}/checkbox.props.d.ts +0 -0
- /package/components/input/{default/checkboxset → checkboxset}/checkboxset.props.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.directive.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.props.d.ts +0 -0
- /package/components/input/epoch/{date-time → date-time-picker}/date-time-picker.component.d.ts +0 -0
- /package/components/input/{default/number → number}/number.props.d.ts +0 -0
- /package/components/input/{default/radioset → radioset}/radioset.props.d.ts +0 -0
- /package/components/input/{default/select → select}/select.props.d.ts +0 -0
- /package/components/input/{default/switch → switch}/switch.props.d.ts +0 -0
- /package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.props.d.ts +0 -0
- /package/components/input/{default/text/color → text/input-color}/input-color.props.d.ts +0 -0
- /package/components/input/{default/text/email → text/input-email}/input-email.props.d.ts +0 -0
- /package/components/input/{default/text/number → text/input-number}/input-number.props.d.ts +0 -0
- /package/components/input/{default/text/text → text/input-text}/input-text.props.d.ts +0 -0
- /package/components/input/{default/textarea → textarea}/textarea.props.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Directive, ViewChild } from '@angular/core';
|
|
2
2
|
import { RouterOutlet } from '@angular/router';
|
|
3
3
|
import { PageDirective } from "@wm/components/page";
|
|
4
|
-
import {
|
|
4
|
+
import { App, registerFnByExpr } from "@wm/core";
|
|
5
5
|
import { each, extend } from "lodash-es";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class BaseLayoutComponent {
|
|
@@ -55,23 +55,16 @@ export class BaseLayoutComponent {
|
|
|
55
55
|
//Add page component scope to layout component so that bindings and watchers in the layout will use the page scope
|
|
56
56
|
extend(this, pageComponent);
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac =
|
|
59
|
-
static { this.ɵdir =
|
|
60
|
-
i0.ɵɵviewQuery(RouterOutlet, 5);
|
|
61
|
-
i0.ɵɵviewQuery(PageDirective, 5);
|
|
62
|
-
} if (rf & 2) {
|
|
63
|
-
let _t;
|
|
64
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.routerOutlet = _t.first);
|
|
65
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageDirective = _t.first);
|
|
66
|
-
} } }); }
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BaseLayoutComponent, viewQueries: [{ propertyName: "routerOutlet", first: true, predicate: RouterOutlet, descendants: true }, { propertyName: "pageDirective", first: true, predicate: PageDirective, descendants: true }], ngImport: i0 }); }
|
|
67
60
|
}
|
|
68
|
-
(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseLayoutComponent, decorators: [{
|
|
62
|
+
type: Directive
|
|
63
|
+
}], propDecorators: { routerOutlet: [{
|
|
64
|
+
type: ViewChild,
|
|
65
|
+
args: [RouterOutlet]
|
|
66
|
+
}], pageDirective: [{
|
|
67
|
+
type: ViewChild,
|
|
68
|
+
args: [PageDirective]
|
|
69
|
+
}] } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2Jhc2UtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBdUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBaUIsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBR3ZDLE1BQU0sT0FBZ0IsbUJBQW1CO0lBV3JDOzs7O09BSUc7SUFDSCxtQkFBbUI7UUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixvQ0FBb0M7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxZQUFpQixFQUFFLGNBQStCLEVBQUUsRUFBRTtZQUM5RSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzlELFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQzVCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUV4Qyw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELDJGQUEyRjtJQUMzRixXQUFXO0lBQ1gsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVTtJQUNWLENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELG1GQUFtRjtJQUNuRixVQUFVLENBQUMsYUFBa0I7UUFDekIsa0hBQWtIO1FBQ2xILE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FyRWlCLG1CQUFtQjttR0FBbkIsbUJBQW1CLHdFQU0xQixZQUFZLGdGQUNaLGFBQWE7OzRGQVBOLG1CQUFtQjtrQkFEeEMsU0FBUzs4QkFPbUIsWUFBWTtzQkFBcEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNHLGFBQWE7c0JBQXRDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBJbmplY3RvciwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1BhZ2VEaXJlY3RpdmV9IGZyb20gXCJAd20vY29tcG9uZW50cy9wYWdlXCI7XG5pbXBvcnQge0FwcCwgcmVnaXN0ZXJGbkJ5RXhwcn0gZnJvbSBcIkB3bS9jb3JlXCI7XG5pbXBvcnQge2VhY2gsIGV4dGVuZH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgQXBwOiBBcHA7XG4gICAgbGF5b3V0TmFtZTogc3RyaW5nO1xuICAgIGxheW91dFBhZ2VzOiBzdHJpbmdbXTtcblxuICAgIEBWaWV3Q2hpbGQoUm91dGVyT3V0bGV0KSByb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldDtcbiAgICBAVmlld0NoaWxkKFBhZ2VEaXJlY3RpdmUpIHBhZ2VEaXJlY3RpdmU6IFBhZ2VEaXJlY3RpdmU7XG5cbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgLyoqXG4gICAgICogZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYmluZCBleHByZXNzaW9ucyBnZW5lcmF0ZWQgaW4gdGhpcyBwYWdlIGluc3RhbmNlXG4gICAgICogZ2V0RXhwcmVzc2lvbnMgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0aGUgZ2VuZXJhdGVkIHBhZ2UuY29tcC50cyBmaWxlXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zLCBtYXAgb2YgYmluZCBleHByZXNzaW9uIHZzIGdlbmVyYXRlZCBmdW5jdGlvblxuICAgICAqL1xuICAgIHJlZ2lzdGVyRXhwcmVzc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5nZXRFeHByZXNzaW9ucygpO1xuICAgICAgICBlYWNoKGV4cHJlc3Npb25zLCAoZm4sIGV4cHIpID0+IHtcbiAgICAgICAgICAgIHJlZ2lzdGVyRm5CeUV4cHIoZXhwciwgZm5bMF0sIGZuWzFdKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvdmVycmlkZVJvdXRlck91dGxldCgpIHtcbiAgICAgICAgLy9vdmVycmlkZSB0aGUgYXR0YWNoL2RldGFjaCBtZXRob2RzXG4gICAgICAgIGNvbnN0IG9BdHRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5hdHRhY2g7XG4gICAgICAgIGNvbnN0IG9EZXRhY2ggPSB0aGlzLnJvdXRlck91dGxldC5kZXRhY2g7XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmF0dGFjaCA9IChjb21wb25lbnRSZWY6IGFueSwgYWN0aXZhdGVkUm91dGU6ICBBY3RpdmF0ZWRSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgb0F0dGFjaC5jYWxsKHRoaXMucm91dGVyT3V0bGV0LCBjb21wb25lbnRSZWYsIGFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uZ09uQXR0YWNoKCk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucm91dGVyT3V0bGV0LmRldGFjaCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9EZXRhY2guY2FsbCh0aGlzLnJvdXRlck91dGxldCk7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlUm91dGVyT3V0bGV0KCk7XG4gICAgICAgIH0sIDEwKTtcbiAgICB9XG5cbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLkFwcCA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcCk7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZUxheW91dE5hbWUgPSB0aGlzLmxheW91dE5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmxheW91dFBhZ2VzID0gdGhpcy5sYXlvdXRQYWdlcztcblxuICAgICAgICAvLyByZWdpc3RlciBmdW5jdGlvbnMgZm9yIGJpbmRpbmcgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXhwcmVzc2lvbnMoKTtcbiAgICB9XG5cbiAgICAvL1RPRE86IFRvIHdvcmsgY2FjaGUgcHJvcGVybHkgbmVlZCB0byBpbXBsZW1lbnQgdGhlIGJlbG93IG1ldGhvZHMgYW5kIFdtUm91dGVSZXVzZVN0cmF0ZWd5XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgfVxuXG4gICAgY2FuUmV1c2UoKSB7XG4gICAgfVxuXG4gICAgbmdPbkF0dGFjaCgpIHtcbiAgICB9XG5cbiAgICBuZ09uRGV0YWNoKCkge1xuICAgIH1cblxuICAgIC8vIFRoaXMgd2lsbCBiZSBjYWxsZWQgd2hlbiBjaGlsZCByb3V0ZSAoUGFnZSBjb21wb25lbnQgaW4gdGhlIGxheW91dCkgaXMgYWN0aXZhdGVkXG4gICAgb25BY3RpdmF0ZShwYWdlQ29tcG9uZW50OiBhbnkpIHtcbiAgICAgICAgLy9BZGQgcGFnZSBjb21wb25lbnQgc2NvcGUgdG8gbGF5b3V0IGNvbXBvbmVudCBzbyB0aGF0IGJpbmRpbmdzIGFuZCB3YXRjaGVycyBpbiB0aGUgbGF5b3V0IHdpbGwgdXNlIHRoZSBwYWdlIHNjb3BlXG4gICAgICAgIGV4dGVuZCh0aGlzLCBwYWdlQ29tcG9uZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -342,23 +342,16 @@ export class BasePageComponent extends FragmentMonitor {
|
|
|
342
342
|
BasePageComponent.lastPageSnapShot = null;
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
|
-
static { this.ɵfac =
|
|
346
|
-
static { this.ɵdir =
|
|
347
|
-
i0.ɵɵviewQuery(PageDirective, 5);
|
|
348
|
-
} if (rf & 2) {
|
|
349
|
-
let _t;
|
|
350
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageDirective = _t.first);
|
|
351
|
-
} }, hostBindings: function BasePageComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
352
|
-
i0.ɵɵlistener("beforeunload", function BasePageComponent_beforeunload_HostBindingHandler() { return ctx.canDeactivate(); }, false, i0.ɵɵresolveWindow);
|
|
353
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature] }); }
|
|
345
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
346
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BasePageComponent, host: { listeners: { "window:beforeunload": "canDeactivate()" } }, viewQueries: [{ propertyName: "pageDirective", first: true, predicate: PageDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
354
347
|
}
|
|
355
|
-
(
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFHTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxZQUFZLEVBQ1osUUFBUSxFQUNYLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQU12QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGVBQWU7SUFEL0Q7O1FBa0JJLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMv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RSxDQUFDO1lBQzVDLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQzt3UEFoWmlCLGlCQUFpQix5QkFBakIsaUJBQWlCO29FQUFqQixpQkFBaUI7MkJBbUJ4QixhQUFhOzs7OztZQW5CTixvR0FBQSxtQkFBZSwrQkFBRTs7O2lGQUFqQixpQkFBaUI7Y0FEdEMsU0FBUztnQkFvQm9CLGFBQWE7a0JBQXRDLFNBQVM7bUJBQUMsYUFBYTtZQWlQeEIsYUFBYTtrQkFEWixZQUFZO21CQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIEFwcCxcbiAgICBnZXRXbVByb2plY3RQcm9wZXJ0aWVzLFxuICAgIGlzQW5kcm9pZCxcbiAgICBpc0lvcyxcbiAgICBtdXRlV2F0Y2hlcnMsXG4gICAgbm9vcCxcbiAgICByZWdpc3RlckZuQnlFeHByLFxuICAgIFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgdW5NdXRlV2F0Y2hlcnMsXG4gICAgVXRpbHNTZXJ2aWNlLFxuICAgIFZpZXdwb3J0XG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7UGFnZURpcmVjdGl2ZX0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZSc7XG5cbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbW1vblBhcnRpYWxXaWRnZXRzfSBmcm9tICcuL2Jhc2UtcGFydGlhbC5jb21wb25lbnQnO1xuXG5cbmltcG9ydCB7VmFyaWFibGVzU2VydmljZX0gZnJvbSAnQHdtL3ZhcmlhYmxlcyc7XG5pbXBvcnQge0FwcE1hbmFnZXJTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAubWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7RnJhZ21lbnRNb25pdG9yfSBmcm9tICcuLi91dGlsL2ZyYWdtZW50LW1vbml0b3InO1xuaW1wb3J0IHtDQUNIRV9QQUdFfSBmcm9tICcuLi91dGlsL3dtLXJvdXRlLXJldXNlLXN0cmF0ZWd5JztcbmltcG9ydCB7ZWFjaCwgZXh0ZW5kfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcbmRlY2xhcmUgY29uc3QgaHRtbDJjYW52YXM7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQYWdlQ29tcG9uZW50IGV4dGVuZHMgRnJhZ21lbnRNb25pdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBzdGF0aWMgbGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgV2lkZ2V0czogYW55O1xuICAgIFZhcmlhYmxlczogYW55O1xuICAgIEFjdGlvbnM6IGFueTtcbiAgICBBcHA6IEFwcDtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcGFnZU5hbWU6IHN0cmluZztcbiAgICBhY3RpdmVQYWdlTmFtZTogc3RyaW5nO1xuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZTtcbiAgICBuYXZpZ2F0aW9uU2VydmljZTogQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZTtcbiAgICByb3V0ZXI6IFJvdXRlcjtcbiAgICBwYWdlUGFyYW1zOiBhbnk7XG4gICAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuO1xuICAgIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlO1xuICAgIGFwcExvY2FsZTogYW55O1xuICAgIHN0YXJ0dXBWYXJpYWJsZXNMb2FkZWQgPSBmYWxzZTtcbiAgICBwYWdlVHJhbnNpdGlvbkNvbXBsZXRlZCA9IGZhbHNlO1xuICAgIEBWaWV3Q2hpbGQoUGFnZURpcmVjdGl2ZSkgcGFnZURpcmVjdGl2ZTtcbiAgICAkcGFnZTtcbiAgICBzY3JpcHRMb2FkZXJTZXJ2aWNlOiBTY3JpcHRMb2FkZXJTZXJ2aWNlO1xuICAgIFZpZXdwb3J0OiBWaWV3cG9ydDtcblxuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgICB2aWV3SW5pdCQgPSBuZXcgU3ViamVjdCgpO1xuICAgIGZvcm1hdHNCeUxvY2FsZSA9IHsndGltZXpvbmUnOiAnJ307XG5cblxuICAgIGFic3RyYWN0IGV2YWxVc2VyU2NyaXB0KHByZWZhYkNvbnRleHQ6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KTtcbiAgICBhYnN0cmFjdCBnZXRWYXJpYWJsZXMoKTtcbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgaW5pdCgpIHtcblxuICAgICAgICBtdXRlV2F0Y2hlcnMoKTtcblxuICAgICAgICB0aGlzLkFwcCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBcHApIDogaW5qZWN0KEFwcCk7XG4gICAgICAgIHRoaXMucm91dGUgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpIDogaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcE1hbmFnZXJTZXJ2aWNlKSA6IGluamVjdChBcHBNYW5hZ2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTY3JpcHRMb2FkZXJTZXJ2aWNlKSA6IGluamVjdChTY3JpcHRMb2FkZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5pMThuU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBYnN0cmFjdEkxOG5TZXJ2aWNlKSA6IGluamVjdChBYnN0cmFjdEkxOG5TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKSA6IGluamVjdChSb3V0ZXIpO1xuICAgICAgICB0aGlzLlZpZXdwb3J0ID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZpZXdwb3J0KSA6IGluamVjdChWaWV3cG9ydCk7XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgICAgIHRoaXMuaW5pdFVzZXJTY3JpcHQoKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoKTtcblxuICAgICAgICB0aGlzLkFwcC5sYXN0QWN0aXZlUGFnZU5hbWUgPSB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlID0gdGhpcztcbiAgICAgICAgdGhpcy5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7IC8vIFRvZG86IHJlbW92ZSB0aGlzXG5cbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2VQYXJhbXMoKTtcbiAgICAgICAgdGhpcy5kZWZpbmVJMThuUHJvcHMoKTtcbiAgICAgICAgc3VwZXIuaW5pdCgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyV2lkZ2V0cygpIHtcbiAgICAgICAgLy8gY29tbW9uIHBhcnRpYWwgd2lkZ2V0cyBzaG91bGQgYmUgYWNjZXNzaWJsZSBmcm9tIHBhZ2VcbiAgICAgICAgdGhpcy5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZShjb21tb25QYXJ0aWFsV2lkZ2V0cyk7XG5cbiAgICAgICAgLy8gZXhwb3NlIGN1cnJlbnQgcGFnZSB3aWRnZXRzIG9uIGFwcFxuICAgICAgICAodGhpcy5BcHAgYXMgYW55KS5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLldpZGdldHMpO1xuICAgIH1cblxuICAgIGluaXRVc2VyU2NyaXB0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5ldmFsVXNlclNjcmlwdCh0aGlzLCB0aGlzLkFwcCwgdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFV0aWxzU2VydmljZSkgOiBpbmplY3QoVXRpbHNTZXJ2aWNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGluIGV2YWx1YXRpbmcgcGFnZSAoJHt0aGlzLnBhZ2VOYW1lfSkgc2NyaXB0XFxuYCwgZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlclBhZ2VQYXJhbXMoKSB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnBhZ2VQYXJhbXMgPSAodGhpcy5BcHAgYXMgYW55KS5wYWdlUGFyYW1zID0gZXh0ZW5kKHt9LCBwYXJhbXMpKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoZm46IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IGZuKCkpO1xuICAgIH1cblxuICAgIGRlZmluZUkxOG5Qcm9wcygpIHtcbiAgICAgICAgdGhpcy5hcHBMb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlLmdldEFwcExvY2FsZSgpO1xuICAgIH1cblxuICAgIGluaXRWYXJpYWJsZXMoKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoVmFyaWFibGVzU2VydmljZSkgOiBpbmplY3QoVmFyaWFibGVzU2VydmljZSk7XG5cbiAgICAgICAgLy8gZ2V0IHZhcmlhYmxlcyBhbmQgYWN0aW9ucyBpbnN0YW5jZXMgZm9yIHRoZSBwYWdlXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlQ29sbGVjdGlvbiA9IHZhcmlhYmxlc1NlcnZpY2UucmVnaXN0ZXIodGhpcy5wYWdlTmFtZSwgdGhpcy5nZXRWYXJpYWJsZXMoKSwgdGhpcyk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5hbWVzcGFjZSBmb3IgVmFyaWFibGVzIG5hZCBBY3Rpb25zIG9uIHBhZ2UvcGFydGlhbCwgd2hpY2ggaW5oZXJpdHMgdGhlIFZhcmlhYmxlcyBhbmQgQWN0aW9ucyBmcm9tIEFwcCBpbnN0YW5jZVxuICAgICAgICB0aGlzLlZhcmlhYmxlcyA9IE9iamVjdC5jcmVhdGUodGhpcy5BcHAuVmFyaWFibGVzKTtcbiAgICAgICAgdGhpcy5BY3Rpb25zID0gT2JqZWN0LmNyZWF0ZSh0aGlzLkFwcC5BY3Rpb25zKTtcblxuICAgICAgICAvLyBhc3NpZ24gYWxsIHRoZSBwYWdlIHZhcmlhYmxlcyB0byB0aGUgcGFnZUluc3RhbmNlXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5WYXJpYWJsZXMpLmZvckVhY2goKFtuYW1lLCB2YXJpYWJsZV0pID0+IHRoaXMuVmFyaWFibGVzW25hbWVdID0gdmFyaWFibGUpO1xuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uQWN0aW9ucykuZm9yRWFjaCgoW25hbWUsIGFjdGlvbl0pID0+IHRoaXMuQWN0aW9uc1tuYW1lXSA9IGFjdGlvbik7XG5cblxuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMudmlld0luaXQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5hcHBNYW5hZ2VyLmlzQXBwVmFyaWFibGVzRmlyZWQoKSkge1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh0aGlzLkFwcC5WYXJpYWJsZXMpLmNhdGNoKG5vb3ApLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdhcHAtdmFyaWFibGVzLWRhdGEtbG9hZGVkJywge3BhZ2VOYW1lOiB0aGlzLnBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHRoaXMuQXBwLkFjdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5hcHBWYXJpYWJsZXNSZWFkeSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5pc0FwcFZhcmlhYmxlc0ZpcmVkKHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcylcbiAgICAgICAgICAgICAgICAuY2F0Y2gobm9vcClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2UtdmFyaWFibGVzLWRhdGEtbG9hZGVkJywge3BhZ2VOYW1lOiB0aGlzLnBhZ2VOYW1lfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnR1cFZhcmlhYmxlc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGhpZGUgdGhlIGxvYWRlciBvbmx5IGFmdGVyIHRoZSBzb21lIHNldFRpbWVvdXQgZm9yIHNtb290aCBwYWdlIGxvYWQuXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKTtcblxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldFRpbWV6b25lKGxvY2FsZSkge1xuICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnNldFRpbWV6b25lKGxvY2FsZSwgdGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYmluZCBleHByZXNzaW9ucyBnZW5lcmF0ZWQgaW4gdGhpcyBwYWdlIGluc3RhbmNlXG4gICAgICogZ2V0RXhwcmVzc2lvbnMgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0aGUgZ2VuZXJhdGVkIHBhZ2UuY29tcC50cyBmaWxlXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zLCBtYXAgb2YgYmluZCBleHByZXNzaW9uIHZzIGdlbmVyYXRlZCBmdW5jdGlvblxuICAgICAqL1xuICAgIHJlZ2lzdGVyRXhwcmVzc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5nZXRFeHByZXNzaW9ucygpO1xuICAgICAgICBlYWNoKGV4cHJlc3Npb25zLCAoZm4sIGV4cHIpID0+IHtcbiAgICAgICAgICAgIHJlZ2lzdGVyRm5CeUV4cHIoZXhwciwgZm5bMF0sIGZuWzFdKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcnVuUGFnZVRyYW5zaXRpb24odHJhbnNpdGlvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0cmFuc2l0aW9uID0gdHJhbnNpdGlvbiB8fCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldFBhZ2VUcmFuc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IGxhc3RQYWdlID0gQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBpZiAodHJhbnNpdGlvblxuICAgICAgICAgICAgICAgICYmICF0cmFuc2l0aW9uLnN0YXJ0c1dpdGgoJ25vbmUnKVxuICAgICAgICAgICAgICAgICYmIGxhc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgJHRhcmdldCA9IGxhc3RQYWdlLnBhcmVudCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9uVHJhbnNpdGlvbkVuZCA9IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlICYmICEoZSAmJiBlLnBzZXVkb0VsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0Lm9mZignYW5pbWF0aW9uZW5kJywgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQucmVtb3ZlQ2xhc3ModHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0LmNoaWxkcmVuKCkuZmlyc3QoKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uID0gJ3BhZ2UtdHJhbnNpdGlvbiBwYWdlLXRyYW5zaXRpb24tJyArIHRyYW5zaXRpb247XG4gICAgICAgICAgICAgICAgbGFzdFBhZ2UuYWRkQ2xhc3MoJ3BhZ2UtZXhpdCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ3BhZ2UtZW50cnknKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0LmFkZENsYXNzKHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICR0YXJnZXQub24oJ2FuaW1hdGlvbmVuZCcsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgLy8gV2FpdCBmb3IgYSBtYXhpbXVtIG9mIDEgc2Vjb25kIGZvciB0cmFuc2l0aW9uIHRvIGVuZC5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KG9uVHJhbnNpdGlvbkVuZCwgMTAwMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlICYmIHRoaXMuJHBhZ2UucmVtb3ZlQ2xhc3MoJ3BhZ2UtZW50cnknKTtcbiAgICAgICAgICAgIGlmIChsYXN0UGFnZSkge1xuICAgICAgICAgICAgICAgIGxhc3RQYWdlLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wYWdlVHJhbnNpdGlvbkNvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGludm9rZU9uUmVhZHkoKSB7XG4gICAgICAgIHRoaXMub25SZWFkeSgpO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlUmVhZHknLCB7J25hbWUnIDogdGhpcy5wYWdlTmFtZSwgaW5zdGFuY2U6IHRoaXN9KTtcbiAgICAgICAgKHRoaXMuQXBwLm9uUGFnZVJlYWR5IHx8IG5vb3ApKHRoaXMucGFnZU5hbWUsIHRoaXMpO1xuXG4gICAgICAgIGNvbnN0IGhvbWVQYWdlID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpPy5ob21lUGFnZTtcbiAgICAgICAgaWYgKHdpbmRvdy50b3AubmFtZSAhPT0gd2luZG93Lm5hbWUgJiYgaG9tZVBhZ2UgPT09IHRoaXMucGFnZU5hbWUpIHtcbiAgICAgICAgICAgIHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2tleTogJ29uSG9tZXBhZ2VMb2FkJ30sIFwiKlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNjcmlwdHMoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2NyaXB0c1JlcXVpcmVkID0gdGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS4kZWxlbWVudC5hdHRyKCdzY3JpcHRzLXRvLWxvYWQnKTtcbiAgICAgICAgICAgIGlmIChzY3JpcHRzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmxvYWQoLi4uc2NyaXB0c1JlcXVpcmVkLnNwbGl0KCcsJykpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKSB7fVxuXG4gICAgcHJpdmF0ZSBzYXZlUGFnZVNuYXBTaG90KCkge1xuICAgICAgICBpZiAoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBmbiA9ICgkZWwsIGtleSwgcmVjdXJzaXZlID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgID0+IHtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbERhdGEgPSB7XG4gICAgICAgICAgICAgICAgeDogJHRhcmdldC5zY3JvbGxMZWZ0KCksXG4gICAgICAgICAgICAgICAgeTogJHRhcmdldC5zY3JvbGxUb3AoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmKHNjcm9sbERhdGEueCA+IDAgfHwgc2Nyb2xsRGF0YS55ID4gMCkge1xuICAgICAgICAgICAgICAgICRlbC5hdHRyKGtleSwgc2Nyb2xsRGF0YS54ICsgJywnICsgc2Nyb2xsRGF0YS55KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIHRoaXMuJHBhZ2UuYXR0cignZGF0YS13aW5kb3ctc2Nyb2xsLXBvc2l0aW9uJywgd2luZG93LnNjcm9sbFggKyAnLCcgKyB3aW5kb3cuc2Nyb2xsWSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGZuID0gKCRlbCwga2V5LCByZWN1cnNpdmUgID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsRGF0YSA9ICgkZWwuYXR0cihrZXkpIHx8ICcnKS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgaWYoc2Nyb2xsRGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5zY3JvbGxMZWZ0KHNjcm9sbERhdGFbMF0pO1xuICAgICAgICAgICAgICAgICR0YXJnZXQuc2Nyb2xsVG9wKHNjcm9sbERhdGFbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGVsLnJlbW92ZUF0dHIoa2V5KTtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXdpbmRvdy1zY3JvbGwtcG9zaXRpb24nLCBmYWxzZSwgJCh3aW5kb3cpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjYW5EZWFjdGl2YXRlIGlzIGNhbGxlZCBiZWZvcmUgYSByb3V0ZSBjaGFuZ2UuXG4gICAgICogVGhpcyB3aWxsIGludGVybmFsbHkgY2FsbCBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudFxuICAgICAqIGF0IHBhZ2UgbGV2ZWwgYW5kIGFwcCBsZXZlbCBpbiB0aGUgYXBwbGljYXRpb24gYW5kIGRlY2lkZVxuICAgICAqIHdoZXRoZXIgdG8gY2hhbmdlIHJvdXRlIG9yIG5vdCBiYXNlZCBvbiByZXR1cm4gdmFsdWUuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcpXG4gICAgY2FuRGVhY3RpdmF0ZShuZXh0U3RhdGU/OiBzdHJpbmcpe1xuICAgICAgICBsZXQgcmV0VmFsO1xuICAgICAgICAvLyBDYWxsaW5nIG9uQmVmb3JlUGFnZUxlYXZlIG1ldGhvZCBwcmVzZW50IGF0IHBhZ2UgbGV2ZWxcbiAgICAgICAgcmV0VmFsID0gdGhpcy5vbkJlZm9yZVBhZ2VMZWF2ZSgpO1xuICAgICAgICAvLyBDYWxsaW5nIG9uQmVmb3JlUGFnZUxlYXZlIG1ldGhvZCBwcmVzZW50IGF0IGFwcCBsZXZlbCBvbmx5IGlmIHBhZ2UgbGV2ZWwgbWV0aG9kIHJldHVybiB0cnVlXG4gICAgICAgIC8vIG9yIGlmIHRoZXJlIGlzIG5vIHBhZ2UgbGV2ZWwgbWV0aG9kXG4gICAgICAgIGlmIChyZXRWYWwgIT09IGZhbHNlICkge1xuICAgICAgICAgICAgcmV0VmFsID0gICh0aGlzLkFwcC5vbkJlZm9yZVBhZ2VMZWF2ZSB8fCBub29wKSh0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSwgdGhpcy5BcHAuYWN0aXZlUGFnZSwgbmV4dFN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0VmFsID09PSB1bmRlZmluZWQgPyB0cnVlIDogcmV0VmFsO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW0NBQ0hFX1BBR0VdID0gdGhpcy5jYW5SZXVzZSgpO1xuICAgICAgICBpZiAodGhpcy5wYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlID0gdGhpcy5wYWdlRGlyZWN0aXZlLiRlbGVtZW50LnBhcmVudCgpO1xuICAgICAgICAgICAgaWYgKGlzSW9zKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdpb3MtcGFnZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQW5kcm9pZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygnYW5kcm9pZC1wYWdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpO1xuICAgICAgICB0aGlzLmxvYWRTY3JpcHRzKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJ1blBhZ2VUcmFuc2l0aW9uKClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuY29tcGlsZVBhZ2VDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUGFnZUNvbnRlbnRSZWFkeSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZyYWdtZW50c0xvYWRlZCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VPblJlYWR5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5NdXRlV2F0Y2hlcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdJbml0JC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25QYWdlQ29udGVudFJlYWR5ID0gbm9vcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy90aGlzLmNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCgpO1xuICAgICAgICB0aGlzLnNhdmVQYWdlU25hcFNob3QoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbCgpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXM7XG4gICAgICAgIGxldCBjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNhcHR1cmVBcHBsaWNhdGlvblRodW1ibmFpbFwiKSA9PT0gXCJ0cnVlXCIgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmIChjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwgJiYgdGhpcy5BcHAubGFuZGluZ1BhZ2VOYW1lID09PSB0aGlzLnBhZ2VOYW1lICYmICEoPGFueT50aGlzKS5BcHAuaXNBcHBsaWNhdGlvblRodW1ibmFpbENhcHR1cmVkKSB7XG4gICAgICAgICAgICBodG1sMmNhbnZhcyhkb2N1bWVudC5ib2R5KVxuICAgICAgICAgICAgICAgIC50aGVuKGNhbnZhcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoPGFueT5yb290KS5BcHAuaXNBcHBsaWNhdGlvblRodW1ibmFpbENhcHR1cmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmVlbnNob3RVcmwgPSBjYW52YXMudG9EYXRhVVJMKFwiaW1hZ2UvcG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coc2NyZWVuc2hvdFVybCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEuaHJlZiA9IHNjcmVlbnNob3RVcmw7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmRvd25sb2FkID0gXCJzY3JlZW5zaG90LmpwZ1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5jbGljaygpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gaHRtbDJjYW52YXMgdGhlbiBibG9jazonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGh0bWwyY2FudmFzIHByb21pc2U6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlYWR5KCkge31cblxuICAgIG9uQmVmb3JlUGFnZVJlYWR5KCkge31cblxuICAgIG9uQmVmb3JlUGFnZUxlYXZlKCkge31cblxuICAgIG9uUGFnZUNvbnRlbnRSZWFkeSgpIHt9XG5cbiAgICBjYW5SZXVzZSgpIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUuY2FjaGUpO1xuICAgIH1cblxuICAgIG11dGUoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBvID0+IHsgbyAmJiBvLm11dGUgJiYgby5tdXRlKCk7IH07XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCBtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgbSk7XG4gICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCBtKTtcbiAgICB9XG5cbiAgICB1bm11dGUoYyA9IHRoaXMpIHtcbiAgICAgICAgY29uc3QgdW0gPSBvID0+IHsgbyAmJiBvLnVubXV0ZSAmJiBvLnVubXV0ZSgpOyB9O1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgdW0pO1xuICAgICAgICBlYWNoKHRoaXMuVmFyaWFibGVzLCB1bSk7XG4gICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCB1bSk7XG4gICAgfVxuXG4gICAgbmdPbkF0dGFjaCgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW0NBQ0hFX1BBR0VdID0gdGhpcy5jYW5SZXVzZSgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyUGFnZVBhcmFtcygpO1xuICAgICAgICB0aGlzLkFwcC5sYXN0QWN0aXZlUGFnZU5hbWUgPSB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlID0gdGhpcztcbiAgICAgICAgdGhpcy5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMucmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKTtcbiAgICAgICAgdGhpcy51bm11dGUoKTtcbiAgICAgICAgLy8gZXhwb3NlIGN1cnJlbnQgcGFnZSB3aWRnZXRzIG9uIGFwcFxuICAgICAgICAodGhpcy5BcHAgYXMgYW55KS5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLldpZGdldHMpO1xuICAgICAgICBpZih0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLnJlZnJlc2hkYXRhb25hdHRhY2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSB2ID0+IHsgdiAmJiB2LnN0YXJ0VXBkYXRlICYmIHYuaW52b2tlICYmIHYuaW52b2tlKCk7IH07XG4gICAgICAgICAgICBlYWNoKHRoaXMuVmFyaWFibGVzLCByZWZyZXNoKTtcbiAgICAgICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJ1blBhZ2VUcmFuc2l0aW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzdG9yZVNjcm9sbFBvc2l0aW9uKCksIDEwMCk7XG4gICAgICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkF0dGFjaCAmJiB3Lm5nT25BdHRhY2goKSk7XG4gICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlQXR0YWNoJywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMuc2F2ZVNjcm9sbFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuc2F2ZVBhZ2VTbmFwU2hvdCgpO1xuICAgICAgICB0aGlzLm11dGUoKTtcbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25EZXRhY2ggJiYgdy5uZ09uRGV0YWNoKCkpO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlRGV0YWNoJywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLm9uQmVmb3JlUGFnZVJlYWR5KCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNsZWFyKCkge1xuICAgICAgICBpZihCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KSB7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90LnJlbW92ZSgpO1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePageComponent, decorators: [{
|
|
349
|
+
type: Directive
|
|
350
|
+
}], propDecorators: { pageDirective: [{
|
|
351
|
+
type: ViewChild,
|
|
352
|
+
args: [PageDirective]
|
|
353
|
+
}], canDeactivate: [{
|
|
354
|
+
type: HostListener,
|
|
355
|
+
args: ['window:beforeunload']
|
|
356
|
+
}] } });
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFHTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxZQUFZLEVBQ1osUUFBUSxFQUNYLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQU12QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGVBQWU7SUFEL0Q7O1FBa0JJLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMvQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFNaEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQztLQXVYdEM7YUFoWlUscUJBQWdCLEdBQUcsSUFBSSxBQUFQLENBQVE7SUFnQy9CLElBQUk7UUFFQSxZQUFZLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDMUgsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvRSw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0I7UUFFekQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsZUFBZTtRQUNYLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVuRCxxQ0FBcUM7UUFDcEMsSUFBSSxDQUFDLEdBQVcsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLElBQUksQ0FBQyxRQUFRLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLEdBQVcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBWTtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGFBQWE7UUFDVCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhHLG1EQUFtRDtRQUNuRCxNQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUvRix5SEFBeUg7UUFDekgsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0Msb0RBQW9EO1FBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDNUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUlwRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUUzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUM7Z0JBQ3pDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztnQkFDbkYsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBRUQsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztpQkFDcEQsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyx1RUFBdUU7Z0JBQ3ZFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1lBQ1Asa0JBQWtCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXhELFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBTTtRQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzNCLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBbUI7UUFDakMsVUFBVSxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNuRCxPQUFPLElBQUksT0FBTyxDQUFPLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLElBQUksVUFBVTttQkFDUCxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO21CQUM5QixRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzFCLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO3dCQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNoQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ3BDLE9BQU8sRUFBRSxDQUFDO3dCQUNWLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ25CLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO2dCQUNGLFVBQVUsR0FBRyxrQ0FBa0MsR0FBRyxVQUFVLENBQUM7Z0JBQzdELFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM3QixPQUFPLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDNUMsd0RBQXdEO2dCQUN4RCxVQUFVLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFcEQsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLENBQUM7UUFDcEQsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDZixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRyxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsbUJBQW1CO3FCQUNuQixJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHVCQUF1QixLQUFJLENBQUM7SUFFNUIsZ0JBQWdCO1FBQ3BCLElBQUksaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUFHLEVBQUU7WUFDdEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRztnQkFDZixDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDdkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUU7YUFDekIsQ0FBQztZQUNGLElBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDLENBQUM7UUFDRixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEdBQUksSUFBSSxFQUFFLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRTtZQUN0RCxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELElBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDdkMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUVILGFBQWEsQ0FBQyxTQUFrQjtRQUM1QixJQUFJLE1BQU0sQ0FBQztRQUNYLHlEQUF5RDtRQUN6RCxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbEMsOEZBQThGO1FBQzlGLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUcsQ0FBQztZQUNwQixNQUFNLEdBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFDRCxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xELElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2lCQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNOLElBQVksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7Z0JBQ3hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTs0QkFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUN6QixDQUFDLENBQUMsQ0FBQzt3QkFDSCxjQUFjLEVBQUUsQ0FBQzt3QkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztvQkFDbkMsQ0FBQyxDQUFDO2dCQUNOLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCwyQkFBMkI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksMkJBQTJCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEgsSUFBSSwyQkFBMkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQU8sSUFBSyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1lBQy9ILFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2lCQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDO29CQUNLLElBQUssQ0FBQyxHQUFHLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO29CQUN0RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUUzQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztvQkFDdkIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztvQkFDOUIsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNkLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1FBRVgsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLEtBQUksQ0FBQztJQUVaLGlCQUFpQixLQUFJLENBQUM7SUFFdEIsaUJBQWlCLEtBQUksQ0FBQztJQUV0QixrQkFBa0IsS0FBSSxDQUFDO0lBRXZCLFFBQVE7UUFDSixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSTtRQUNBLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUk7UUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QscUNBQXFDO1FBQ3BDLElBQUksQ0FBQyxHQUFXLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDOUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsSUFBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQzsrR0FoWmlCLGlCQUFpQjttR0FBakIsaUJBQWlCLDRJQW1CeEIsYUFBYTs7NEZBbkJOLGlCQUFpQjtrQkFEdEMsU0FBUzs4QkFvQm9CLGFBQWE7c0JBQXRDLFNBQVM7dUJBQUMsYUFBYTtnQkFpUHhCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICAgIEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSxcbiAgICBBcHAsXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBpc0FuZHJvaWQsXG4gICAgaXNJb3MsXG4gICAgbXV0ZVdhdGNoZXJzLFxuICAgIG5vb3AsXG4gICAgcmVnaXN0ZXJGbkJ5RXhwcixcbiAgICBTY3JpcHRMb2FkZXJTZXJ2aWNlLFxuICAgIHVuTXV0ZVdhdGNoZXJzLFxuICAgIFV0aWxzU2VydmljZSxcbiAgICBWaWV3cG9ydFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1BhZ2VEaXJlY3RpdmV9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjb21tb25QYXJ0aWFsV2lkZ2V0c30gZnJvbSAnLi9iYXNlLXBhcnRpYWwuY29tcG9uZW50JztcblxuXG5pbXBvcnQge1ZhcmlhYmxlc1NlcnZpY2V9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtBcHBNYW5hZ2VyU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge0ZyYWdtZW50TW9uaXRvcn0gZnJvbSAnLi4vdXRpbC9mcmFnbWVudC1tb25pdG9yJztcbmltcG9ydCB7Q0FDSEVfUEFHRX0gZnJvbSAnLi4vdXRpbC93bS1yb3V0ZS1yZXVzZS1zdHJhdGVneSc7XG5pbXBvcnQge2VhY2gsIGV4dGVuZH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5kZWNsYXJlIGNvbnN0IGh0bWwyY2FudmFzO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUGFnZUNvbXBvbmVudCBleHRlbmRzIEZyYWdtZW50TW9uaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgc3RhdGljIGxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgIFdpZGdldHM6IGFueTtcbiAgICBWYXJpYWJsZXM6IGFueTtcbiAgICBBY3Rpb25zOiBhbnk7XG4gICAgQXBwOiBBcHA7XG4gICAgaW5qZWN0b3I6IEluamVjdG9yO1xuICAgIHBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgYXBwTWFuYWdlcjogQXBwTWFuYWdlclNlcnZpY2U7XG4gICAgbmF2aWdhdGlvblNlcnZpY2U6IEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2U7XG4gICAgcm91dGVyOiBSb3V0ZXI7XG4gICAgcGFnZVBhcmFtczogYW55O1xuICAgIHNob3dQYWdlQ29udGVudDogYm9vbGVhbjtcbiAgICBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZTtcbiAgICBhcHBMb2NhbGU6IGFueTtcbiAgICBzdGFydHVwVmFyaWFibGVzTG9hZGVkID0gZmFsc2U7XG4gICAgcGFnZVRyYW5zaXRpb25Db21wbGV0ZWQgPSBmYWxzZTtcbiAgICBAVmlld0NoaWxkKFBhZ2VEaXJlY3RpdmUpIHBhZ2VEaXJlY3RpdmU7XG4gICAgJHBhZ2U7XG4gICAgc2NyaXB0TG9hZGVyU2VydmljZTogU2NyaXB0TG9hZGVyU2VydmljZTtcbiAgICBWaWV3cG9ydDogVmlld3BvcnQ7XG5cbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgdmlld0luaXQkID0gbmV3IFN1YmplY3QoKTtcbiAgICBmb3JtYXRzQnlMb2NhbGUgPSB7J3RpbWV6b25lJzogJyd9O1xuXG5cbiAgICBhYnN0cmFjdCBldmFsVXNlclNjcmlwdChwcmVmYWJDb250ZXh0OiBhbnksIGFwcENvbnRleHQ6IGFueSwgdXRpbHM6IGFueSk7XG4gICAgYWJzdHJhY3QgZ2V0VmFyaWFibGVzKCk7XG4gICAgYWJzdHJhY3QgZ2V0RXhwcmVzc2lvbnMoKTtcblxuICAgIGluaXQoKSB7XG5cbiAgICAgICAgbXV0ZVdhdGNoZXJzKCk7XG5cbiAgICAgICAgdGhpcy5BcHAgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQXBwKSA6IGluamVjdChBcHApO1xuICAgICAgICB0aGlzLnJvdXRlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKSA6IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlciA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBcHBNYW5hZ2VyU2VydmljZSkgOiBpbmplY3QoQXBwTWFuYWdlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UpIDogaW5qZWN0KEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UpO1xuICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoU2NyaXB0TG9hZGVyU2VydmljZSkgOiBpbmplY3QoU2NyaXB0TG9hZGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3RJMThuU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSk7XG4gICAgICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcikgOiBpbmplY3QoUm91dGVyKTtcbiAgICAgICAgdGhpcy5WaWV3cG9ydCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWaWV3cG9ydCkgOiBpbmplY3QoVmlld3BvcnQpO1xuXG4gICAgICAgIC8vIHJlZ2lzdGVyIGZ1bmN0aW9ucyBmb3IgYmluZGluZyBldmFsdWF0aW9uXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFeHByZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmluaXRVc2VyU2NyaXB0KCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlcldpZGdldHMoKTtcbiAgICAgICAgdGhpcy5pbml0VmFyaWFibGVzKCk7XG5cbiAgICAgICAgdGhpcy5BcHAubGFzdEFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lOyAvLyBUb2RvOiByZW1vdmUgdGhpc1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdlUGFyYW1zKCk7XG4gICAgICAgIHRoaXMuZGVmaW5lSTE4blByb3BzKCk7XG4gICAgICAgIHN1cGVyLmluaXQoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcldpZGdldHMoKSB7XG4gICAgICAgIC8vIGNvbW1vbiBwYXJ0aWFsIHdpZGdldHMgc2hvdWxkIGJlIGFjY2Vzc2libGUgZnJvbSBwYWdlXG4gICAgICAgIHRoaXMuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUoY29tbW9uUGFydGlhbFdpZGdldHMpO1xuXG4gICAgICAgIC8vIGV4cG9zZSBjdXJyZW50IHBhZ2Ugd2lkZ2V0cyBvbiBhcHBcbiAgICAgICAgKHRoaXMuQXBwIGFzIGFueSkuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUodGhpcy5XaWRnZXRzKTtcbiAgICB9XG5cbiAgICBpbml0VXNlclNjcmlwdCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuZXZhbFVzZXJTY3JpcHQodGhpcywgdGhpcy5BcHAsIHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChVdGlsc1NlcnZpY2UpIDogaW5qZWN0KFV0aWxzU2VydmljZSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBpbiBldmFsdWF0aW5nIHBhZ2UgKCR7dGhpcy5wYWdlTmFtZX0pIHNjcmlwdFxcbmAsIGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJQYWdlUGFyYW1zKCkge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5wYWdlUGFyYW1zID0gKHRoaXMuQXBwIGFzIGFueSkucGFnZVBhcmFtcyA9IGV4dGVuZCh7fSwgcGFyYW1zKSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiBmbigpKTtcbiAgICB9XG5cbiAgICBkZWZpbmVJMThuUHJvcHMoKSB7XG4gICAgICAgIHRoaXMuYXBwTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5nZXRBcHBMb2NhbGUoKTtcbiAgICB9XG5cbiAgICBpbml0VmFyaWFibGVzKCkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZXNTZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZhcmlhYmxlc1NlcnZpY2UpIDogaW5qZWN0KFZhcmlhYmxlc1NlcnZpY2UpO1xuXG4gICAgICAgIC8vIGdldCB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW5zdGFuY2VzIGZvciB0aGUgcGFnZVxuICAgICAgICBjb25zdCB2YXJpYWJsZUNvbGxlY3Rpb24gPSB2YXJpYWJsZXNTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMucGFnZU5hbWUsIHRoaXMuZ2V0VmFyaWFibGVzKCksIHRoaXMpO1xuXG4gICAgICAgIC8vIGNyZWF0ZSBuYW1lc3BhY2UgZm9yIFZhcmlhYmxlcyBuYWQgQWN0aW9ucyBvbiBwYWdlL3BhcnRpYWwsIHdoaWNoIGluaGVyaXRzIHRoZSBWYXJpYWJsZXMgYW5kIEFjdGlvbnMgZnJvbSBBcHAgaW5zdGFuY2VcbiAgICAgICAgdGhpcy5WYXJpYWJsZXMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLlZhcmlhYmxlcyk7XG4gICAgICAgIHRoaXMuQWN0aW9ucyA9IE9iamVjdC5jcmVhdGUodGhpcy5BcHAuQWN0aW9ucyk7XG5cbiAgICAgICAgLy8gYXNzaWduIGFsbCB0aGUgcGFnZSB2YXJpYWJsZXMgdG8gdGhlIHBhZ2VJbnN0YW5jZVxuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKS5mb3JFYWNoKChbbmFtZSwgdmFyaWFibGVdKSA9PiB0aGlzLlZhcmlhYmxlc1tuYW1lXSA9IHZhcmlhYmxlKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpLmZvckVhY2goKFtuYW1lLCBhY3Rpb25dKSA9PiB0aGlzLkFjdGlvbnNbbmFtZV0gPSBhY3Rpb24pO1xuXG5cblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnZpZXdJbml0JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4ge1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuYXBwTWFuYWdlci5pc0FwcFZhcmlhYmxlc0ZpcmVkKCkpIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodGhpcy5BcHAuVmFyaWFibGVzKS5jYXRjaChub29wKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgnYXBwLXZhcmlhYmxlcy1kYXRhLWxvYWRlZCcsIHtwYWdlTmFtZTogdGhpcy5wYWdlTmFtZX0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh0aGlzLkFwcC5BY3Rpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIuYXBwVmFyaWFibGVzUmVhZHkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIuaXNBcHBWYXJpYWJsZXNGaXJlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5WYXJpYWJsZXMpXG4gICAgICAgICAgICAgICAgLmNhdGNoKG5vb3ApXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlLXZhcmlhYmxlcy1kYXRhLWxvYWRlZCcsIHtwYWdlTmFtZTogdGhpcy5wYWdlTmFtZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0dXBWYXJpYWJsZXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAvLyBoaWRlIHRoZSBsb2FkZXIgb25seSBhZnRlciB0aGUgc29tZSBzZXRUaW1lb3V0IGZvciBzbW9vdGggcGFnZSBsb2FkLlxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1BhZ2VDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uQWN0aW9ucyk7XG5cbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRUaW1lem9uZShsb2NhbGUpIHtcbiAgICAgICAgdGhpcy5pMThuU2VydmljZS5zZXRUaW1lem9uZShsb2NhbGUsIHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIGJpbmQgZXhwcmVzc2lvbnMgZ2VuZXJhdGVkIGluIHRoaXMgcGFnZSBpbnN0YW5jZVxuICAgICAqIGdldEV4cHJlc3Npb25zIGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gdGhlIGdlbmVyYXRlZCBwYWdlLmNvbXAudHMgZmlsZVxuICAgICAqIEBwYXJhbSBleHByZXNzaW9ucywgbWFwIG9mIGJpbmQgZXhwcmVzc2lvbiB2cyBnZW5lcmF0ZWQgZnVuY3Rpb25cbiAgICAgKi9cbiAgICByZWdpc3RlckV4cHJlc3Npb25zKCkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuZ2V0RXhwcmVzc2lvbnMoKTtcbiAgICAgICAgZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RlckZuQnlFeHByKGV4cHIsIGZuWzBdLCBmblsxXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJ1blBhZ2VUcmFuc2l0aW9uKHRyYW5zaXRpb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJhbnNpdGlvbiA9IHRyYW5zaXRpb24gfHwgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQYWdlVHJhbnNpdGlvbigpO1xuICAgICAgICBjb25zdCBsYXN0UGFnZSA9IEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3RcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25cbiAgICAgICAgICAgICAgICAmJiAhdHJhbnNpdGlvbi5zdGFydHNXaXRoKCdub25lJylcbiAgICAgICAgICAgICAgICAmJiBsYXN0UGFnZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0ICR0YXJnZXQgPSBsYXN0UGFnZS5wYXJlbnQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvblRyYW5zaXRpb25FbmQgPSAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZSAmJiAhKGUgJiYgZS5wc2V1ZG9FbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5vZmYoJ2FuaW1hdGlvbmVuZCcsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0LnJlbW92ZUNsYXNzKHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5jaGlsZHJlbigpLmZpcnN0KCkucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbiA9ICdwYWdlLXRyYW5zaXRpb24gcGFnZS10cmFuc2l0aW9uLScgKyB0cmFuc2l0aW9uO1xuICAgICAgICAgICAgICAgIGxhc3RQYWdlLmFkZENsYXNzKCdwYWdlLWV4aXQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdwYWdlLWVudHJ5Jyk7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5hZGRDbGFzcyh0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0Lm9uKCdhbmltYXRpb25lbmQnLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgIC8vIFdhaXQgZm9yIGEgbWF4aW11bSBvZiAxIHNlY29uZCBmb3IgdHJhbnNpdGlvbiB0byBlbmQuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChvblRyYW5zaXRpb25FbmQsIDEwMDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kcGFnZSAmJiB0aGlzLiRwYWdlLnJlbW92ZUNsYXNzKCdwYWdlLWVudHJ5Jyk7XG4gICAgICAgICAgICBpZiAobGFzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBsYXN0UGFnZS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGFnZVRyYW5zaXRpb25Db21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbnZva2VPblJlYWR5KCkge1xuICAgICAgICB0aGlzLm9uUmVhZHkoKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZVJlYWR5JywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgICAgICh0aGlzLkFwcC5vblBhZ2VSZWFkeSB8fCBub29wKSh0aGlzLnBhZ2VOYW1lLCB0aGlzKTtcblxuICAgICAgICBjb25zdCBob21lUGFnZSA9IGdldFdtUHJvamVjdFByb3BlcnRpZXMoKT8uaG9tZVBhZ2U7XG4gICAgICAgIGlmICh3aW5kb3cudG9wLm5hbWUgIT09IHdpbmRvdy5uYW1lICYmIGhvbWVQYWdlID09PSB0aGlzLnBhZ2VOYW1lKSB7XG4gICAgICAgICAgICB3aW5kb3cudG9wLnBvc3RNZXNzYWdlKHtrZXk6ICdvbkhvbWVwYWdlTG9hZCd9LCBcIipcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRTY3JpcHRzKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdHNSZXF1aXJlZCA9IHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUuJGVsZW1lbnQuYXR0cignc2NyaXB0cy10by1sb2FkJyk7XG4gICAgICAgICAgICBpZiAoc2NyaXB0c1JlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkKC4uLnNjcmlwdHNSZXF1aXJlZC5zcGxpdCgnLCcpKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCkge31cblxuICAgIHByaXZhdGUgc2F2ZVBhZ2VTbmFwU2hvdCgpIHtcbiAgICAgICAgaWYgKEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QpIHtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVTY3JvbGxQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgZm4gPSAoJGVsLCBrZXksIHJlY3Vyc2l2ZSA9IHRydWUsICR0YXJnZXQgPSAkZWwpICA9PiB7XG4gICAgICAgICAgICBpZiAocmVjdXJzaXZlKSB7XG4gICAgICAgICAgICAgICAgJGVsLmNoaWxkcmVuKCkuZWFjaCgoaSwgdikgPT4gZm4oJCh2KSwga2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxEYXRhID0ge1xuICAgICAgICAgICAgICAgIHg6ICR0YXJnZXQuc2Nyb2xsTGVmdCgpLFxuICAgICAgICAgICAgICAgIHk6ICR0YXJnZXQuc2Nyb2xsVG9wKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZihzY3JvbGxEYXRhLnggPiAwIHx8IHNjcm9sbERhdGEueSA+IDApIHtcbiAgICAgICAgICAgICAgICAkZWwuYXR0cihrZXksIHNjcm9sbERhdGEueCArICcsJyArIHNjcm9sbERhdGEueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXNjcm9sbC1wb3NpdGlvbicpO1xuICAgICAgICB0aGlzLiRwYWdlLmF0dHIoJ2RhdGEtd2luZG93LXNjcm9sbC1wb3NpdGlvbicsIHdpbmRvdy5zY3JvbGxYICsgJywnICsgd2luZG93LnNjcm9sbFkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBmbiA9ICgkZWwsIGtleSwgcmVjdXJzaXZlICA9IHRydWUsICR0YXJnZXQgPSAkZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbERhdGEgPSAoJGVsLmF0dHIoa2V5KSB8fCAnJykuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIGlmKHNjcm9sbERhdGEubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICR0YXJnZXQuc2Nyb2xsTGVmdChzY3JvbGxEYXRhWzBdKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0LnNjcm9sbFRvcChzY3JvbGxEYXRhWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRlbC5yZW1vdmVBdHRyKGtleSk7XG4gICAgICAgICAgICBpZiAocmVjdXJzaXZlKSB7XG4gICAgICAgICAgICAgICAgJGVsLmNoaWxkcmVuKCkuZWFjaCgoaSwgdikgPT4gZm4oJCh2KSwga2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXNjcm9sbC1wb3NpdGlvbicpO1xuICAgICAgICBmbih0aGlzLiRwYWdlLCAnZGF0YS13aW5kb3ctc2Nyb2xsLXBvc2l0aW9uJywgZmFsc2UsICQod2luZG93KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2FuRGVhY3RpdmF0ZSBpcyBjYWxsZWQgYmVmb3JlIGEgcm91dGUgY2hhbmdlLlxuICAgICAqIFRoaXMgd2lsbCBpbnRlcm5hbGx5IGNhbGwgb25CZWZvcmVQYWdlTGVhdmUgbWV0aG9kIHByZXNlbnRcbiAgICAgKiBhdCBwYWdlIGxldmVsIGFuZCBhcHAgbGV2ZWwgaW4gdGhlIGFwcGxpY2F0aW9uIGFuZCBkZWNpZGVcbiAgICAgKiB3aGV0aGVyIHRvIGNoYW5nZSByb3V0ZSBvciBub3QgYmFzZWQgb24gcmV0dXJuIHZhbHVlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnKVxuICAgIGNhbkRlYWN0aXZhdGUobmV4dFN0YXRlPzogc3RyaW5nKXtcbiAgICAgICAgbGV0IHJldFZhbDtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBwYWdlIGxldmVsXG4gICAgICAgIHJldFZhbCA9IHRoaXMub25CZWZvcmVQYWdlTGVhdmUoKTtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBhcHAgbGV2ZWwgb25seSBpZiBwYWdlIGxldmVsIG1ldGhvZCByZXR1cm4gdHJ1ZVxuICAgICAgICAvLyBvciBpZiB0aGVyZSBpcyBubyBwYWdlIGxldmVsIG1ldGhvZFxuICAgICAgICBpZiAocmV0VmFsICE9PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHJldFZhbCA9ICAodGhpcy5BcHAub25CZWZvcmVQYWdlTGVhdmUgfHwgbm9vcCkodGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUsIHRoaXMuQXBwLmFjdGl2ZVBhZ2UsIG5leHRTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHJldFZhbDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QuZGF0YVtDQUNIRV9QQUdFXSA9IHRoaXMuY2FuUmV1c2UoKTtcbiAgICAgICAgaWYgKHRoaXMucGFnZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy4kcGFnZSA9IHRoaXMucGFnZURpcmVjdGl2ZS4kZWxlbWVudC5wYXJlbnQoKTtcbiAgICAgICAgICAgIGlmIChpc0lvcygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygnaW9zLXBhZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0FuZHJvaWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ2FuZHJvaWQtcGFnZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKTtcbiAgICAgICAgdGhpcy5sb2FkU2NyaXB0cygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ydW5QYWdlVHJhbnNpdGlvbigpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAodGhpcyBhcyBhbnkpLmNvbXBpbGVQYWdlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblBhZ2VDb250ZW50UmVhZHkgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mcmFnbWVudHNMb2FkZWQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25SZWFkeSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuTXV0ZVdhdGNoZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3SW5pdCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUGFnZUNvbnRlbnRSZWFkeSA9IG5vb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vdGhpcy5jYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwoKTtcbiAgICAgICAgdGhpcy5zYXZlUGFnZVNuYXBTaG90KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWwoKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzO1xuICAgICAgICBsZXQgY2FwdHVyZUFwcGxpY2F0aW9uVGh1bWJuYWlsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjYXB0dXJlQXBwbGljYXRpb25UaHVtYm5haWxcIikgPT09IFwidHJ1ZVwiID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICBpZiAoY2FwdHVyZUFwcGxpY2F0aW9uVGh1bWJuYWlsICYmIHRoaXMuQXBwLmxhbmRpbmdQYWdlTmFtZSA9PT0gdGhpcy5wYWdlTmFtZSAmJiAhKDxhbnk+dGhpcykuQXBwLmlzQXBwbGljYXRpb25UaHVtYm5haWxDYXB0dXJlZCkge1xuICAgICAgICAgICAgaHRtbDJjYW52YXMoZG9jdW1lbnQuYm9keSlcbiAgICAgICAgICAgICAgICAudGhlbihjYW52YXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDxhbnk+cm9vdCkuQXBwLmlzQXBwbGljYXRpb25UaHVtYm5haWxDYXB0dXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JlZW5zaG90VXJsID0gY2FudmFzLnRvRGF0YVVSTChcImltYWdlL3BuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHNjcmVlbnNob3RVcmwpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmhyZWYgPSBzY3JlZW5zaG90VXJsO1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5kb3dubG9hZCA9IFwic2NyZWVuc2hvdC5qcGdcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGh0bWwyY2FudmFzIHRoZW4gYmxvY2s6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBodG1sMmNhbnZhcyBwcm9taXNlOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZWFkeSgpIHt9XG5cbiAgICBvbkJlZm9yZVBhZ2VSZWFkeSgpIHt9XG5cbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZSgpIHt9XG5cbiAgICBvblBhZ2VDb250ZW50UmVhZHkoKSB7fVxuXG4gICAgY2FuUmV1c2UoKSB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLmNhY2hlKTtcbiAgICB9XG5cbiAgICBtdXRlKCkge1xuICAgICAgICBjb25zdCBtID0gbyA9PiB7IG8gJiYgby5tdXRlICYmIG8ubXV0ZSgpOyB9O1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgbSk7XG4gICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIG0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgbSk7XG4gICAgfVxuXG4gICAgdW5tdXRlKGMgPSB0aGlzKSB7XG4gICAgICAgIGNvbnN0IHVtID0gbyA9PiB7IG8gJiYgby51bm11dGUgJiYgby51bm11dGUoKTsgfTtcbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHVtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgdW0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgdW0pO1xuICAgIH1cblxuICAgIG5nT25BdHRhY2goKSB7XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QuZGF0YVtDQUNIRV9QQUdFXSA9IHRoaXMuY2FuUmV1c2UoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2VQYXJhbXMoKTtcbiAgICAgICAgdGhpcy5BcHAubGFzdEFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLnJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCk7XG4gICAgICAgIHRoaXMudW5tdXRlKCk7XG4gICAgICAgIC8vIGV4cG9zZSBjdXJyZW50IHBhZ2Ugd2lkZ2V0cyBvbiBhcHBcbiAgICAgICAgKHRoaXMuQXBwIGFzIGFueSkuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUodGhpcy5XaWRnZXRzKTtcbiAgICAgICAgaWYodGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS5yZWZyZXNoZGF0YW9uYXR0YWNoKSB7XG4gICAgICAgICAgICBjb25zdCByZWZyZXNoID0gdiA9PiB7IHYgJiYgdi5zdGFydFVwZGF0ZSAmJiB2Lmludm9rZSAmJiB2Lmludm9rZSgpOyB9O1xuICAgICAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgcmVmcmVzaCk7XG4gICAgICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgcmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ydW5QYWdlVHJhbnNpdGlvbigpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlc3RvcmVTY3JvbGxQb3NpdGlvbigpLCAxMDApO1xuICAgICAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25BdHRhY2ggJiYgdy5uZ09uQXR0YWNoKCkpO1xuICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZUF0dGFjaCcsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLnNhdmVTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnNhdmVQYWdlU25hcFNob3QoKTtcbiAgICAgICAgdGhpcy5tdXRlKCk7XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uRGV0YWNoICYmIHcubmdPbkRldGFjaCgpKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZURldGFjaCcsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vbkJlZm9yZVBhZ2VSZWFkeSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjbGVhcigpIHtcbiAgICAgICAgaWYoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdC5yZW1vdmUoKTtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -186,18 +186,13 @@ export class BasePartialComponent extends FragmentMonitor {
|
|
|
186
186
|
}
|
|
187
187
|
onReady(params) {
|
|
188
188
|
}
|
|
189
|
-
static { this.ɵfac =
|
|
190
|
-
static { this.ɵdir =
|
|
191
|
-
i0.ɵɵviewQuery(PartialDirective, 5);
|
|
192
|
-
} if (rf & 2) {
|
|
193
|
-
let _t;
|
|
194
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.partialDirective = _t.first);
|
|
195
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature] }); }
|
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePartialComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
190
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BasePartialComponent, viewQueries: [{ propertyName: "partialDirective", first: true, predicate: PartialDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
196
191
|
}
|
|
197
|
-
(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYXJ0aWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhcnRpYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFDSCxlQUFlLEVBQ2YsbUJBQW1CLEVBRW5CLEdBQUcsRUFDSCxJQUFJLEVBQ0osUUFBUSxFQUNSLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ25CLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUUvQixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFHdkMsTUFBTSxPQUFnQixvQkFBcUIsU0FBUSxlQUFlO0lBRGxFOztRQXNCSSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUd2QixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztLQWtON0I7SUExTUcsMEJBQTBCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FB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QUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFPO0lBQ2YsQ0FBQztvUUExT2lCLG9CQUFvQix5QkFBcEIsb0JBQW9CO29FQUFwQixvQkFBb0I7MkJBZ0IzQixnQkFBZ0I7Ozs7OztpRkFoQlQsb0JBQW9CO2NBRHpDLFNBQVM7Z0JBaUJ1QixnQkFBZ0I7a0JBQTVDLFNBQVM7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgJGludm9rZVdhdGNoZXJzLFxuICAgIEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSxcbiAgICBBcHAsXG4gICAgbm9vcCxcbiAgICBWaWV3cG9ydCxcbiAgICBTY3JpcHRMb2FkZXJTZXJ2aWNlLFxuICAgIFV0aWxzU2VydmljZSxcbiAgICByZWdpc3RlckZuQnlFeHByXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IFBhcnRpYWxEaXJlY3RpdmUsIFdpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBQYWdlRGlyZWN0aXZlLCBTcGFQYWdlRGlyZWN0aXZlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQge1ByZWZhYkRpcmVjdGl2ZX0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcHJlZmFiJztcbmltcG9ydCB7IFZhcmlhYmxlc1NlcnZpY2UgfSBmcm9tICdAd20vdmFyaWFibGVzJztcblxuaW1wb3J0IHsgRnJhZ21lbnRNb25pdG9yIH0gZnJvbSAnLi4vdXRpbC9mcmFnbWVudC1tb25pdG9yJztcbmltcG9ydCB7IEFwcE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge2VhY2h9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IGNvbnN0IGNvbW1vblBhcnRpYWxXaWRnZXRzID0ge307XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQYXJ0aWFsQ29tcG9uZW50IGV4dGVuZHMgRnJhZ21lbnRNb25pdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBXaWRnZXRzOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIEFwcDogQXBwO1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBwYXJ0aWFsTmFtZTogc3RyaW5nO1xuICAgIGFjdGl2ZVBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuICAgIGFwcE1hbmFnZXI6IEFwcE1hbmFnZXJTZXJ2aWNlO1xuICAgIG5hdmlnYXRpb25TZXJ2aWNlOiBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlO1xuICAgIHJvdXRlcjogUm91dGVyO1xuICAgIHBhZ2VQYXJhbXM6IGFueTtcbiAgICBjb250YWluZXJXaWRnZXQ6IGFueTtcbiAgICBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZTtcbiAgICBhcHBMb2NhbGU6IGFueTtcbiAgICBAVmlld0NoaWxkKFBhcnRpYWxEaXJlY3RpdmUpIHBhcnRpYWxEaXJlY3RpdmU7XG4gICAgcGFnZURpcmVjdGl2ZTogUGFnZURpcmVjdGl2ZSB8IFNwYVBhZ2VEaXJlY3RpdmU7XG4gICAgUHJlZmFiOiBQcmVmYWJEaXJlY3RpdmU7XG4gICAgc2NyaXB0TG9hZGVyU2VydmljZTogU2NyaXB0TG9hZGVyU2VydmljZTtcbiAgICBWaWV3cG9ydDogVmlld3BvcnQ7XG4gICAgY29tcGlsZUNvbnRlbnQgPSBmYWxzZTtcbiAgICBzcGE6IGJvb2xlYW47XG5cbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgdmlld0luaXQkID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIHZpZXdQYXJlbnQ6IGFueTtcblxuICAgIGFic3RyYWN0IGV2YWxVc2VyU2NyaXB0KHByZWZhYkNvbnRleHQ6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KTtcblxuICAgIGFic3RyYWN0IGdldFZhcmlhYmxlcygpO1xuICAgIGFic3RyYWN0IGdldEV4cHJlc3Npb25zKCk7XG5cbiAgICBnZXRDb250YWluZXJXaWRnZXRJbmplY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyV2lkZ2V0LmluaiB8fCB0aGlzLmNvbnRhaW5lcldpZGdldC5pbmplY3RvcjtcbiAgICB9XG5cbiAgICBpbml0KCkge1xuXG4gICAgICAgIHRoaXMuQXBwID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcCkgOiBpbmplY3QoQXBwKTtcbiAgICAgICAgLy9tYWtpbmcgdGhlIGNvZGUgY29tcGF0aWJsZSBpbiBib3RoIHRoZSBKSVQgYW5kIEFPVCBtb2Rlc1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChXaWRnZXRSZWYpIDogaW5qZWN0KFdpZGdldFJlZik7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3RJMThuU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTY3JpcHRMb2FkZXJTZXJ2aWNlKSA6IGluamVjdChTY3JpcHRMb2FkZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5WaWV3cG9ydCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWaWV3cG9ydCkgOiBpbmplY3QoVmlld3BvcnQpO1xuICAgICAgICAvLyB0aGlzLnZpZXdDb250YWluZXJSZWYgPSB0aGlzLmdldENvbnRhaW5lcldpZGdldEluamVjdG9yKCkuZ2V0KFZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICAvLyBSZXBsYWNpbmcgdGhpcy5nZXRDb250YWluZXJXaWRnZXRJbmplY3RvcigpLnZpZXcuY29tcG9uZW50IGFzIHZpZXdQYXJlbnRcbiAgICAgICAgLy8gdGhpcy52aWV3UGFyZW50ID0gKHRoaXMudmlld0NvbnRhaW5lclJlZiBhcyBhbnkpLnBhcmVudEluamVjdG9yLl9sVmlld1s4XTtcbiAgICAgICAgdGhpcy52aWV3UGFyZW50ID0gdGhpcy5jb250YWluZXJXaWRnZXQudmlld1BhcmVudDtcblxuICAgICAgICBpZiAodGhpcy52aWV3UGFyZW50LnJlZ2lzdGVyRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudmlld1BhcmVudC5yZWdpc3RlckZyYWdtZW50KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWdpc3RlciBmdW5jdGlvbnMgZm9yIGJpbmRpbmcgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXhwcmVzc2lvbnMoKTtcbiAgICAgICAgdGhpcy5pbml0VXNlclNjcmlwdCgpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJXaWRnZXRzKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcygpO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZTsgLy8gVG9kbzogcmVtb3ZlIHRoaXNcbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2VQYXJhbXMoKTtcblxuICAgICAgICB0aGlzLmRlZmluZUkxOG5Qcm9wcygpO1xuXG4gICAgICAgIHRoaXMudmlld0luaXQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VQYXJhbXMgPSB0aGlzLmNvbnRhaW5lcldpZGdldC5wYXJ0aWFsUGFyYW1zO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZih0aGlzLnNwYSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlRGlyZWN0aXZlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFNwYVBhZ2VEaXJlY3RpdmUpIDogaW5qZWN0KFNwYVBhZ2VEaXJlY3RpdmUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYWdlRGlyZWN0aXZlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFBhZ2VEaXJlY3RpdmUpIDogaW5qZWN0KFBhZ2VEaXJlY3RpdmUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBhZ2VEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIodGhpcy5wYWdlRGlyZWN0aXZlLnN1YnNjcmliZSgnYXR0YWNoJywgZGF0YSA9PiB0aGlzLm5nT25BdHRhY2goZGF0YS5yZWZyZXNoRGF0YSkpKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIodGhpcy5wYWdlRGlyZWN0aXZlLnN1YnNjcmliZSgnZGV0YWNoJywgKCkgPT4gdGhpcy5uZ09uRGV0YWNoKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLmluaXQoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcldpZGdldHMoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcnRpYWxOYW1lID09PSAnQ29tbW9uJykge1xuICAgICAgICAgICAgdGhpcy5XaWRnZXRzID0gY29tbW9uUGFydGlhbFdpZGdldHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKGNvbW1vblBhcnRpYWxXaWRnZXRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LldpZGdldHMgPSB0aGlzLldpZGdldHM7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoZm46IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IGZuKCkpO1xuICAgIH1cblxuICAgIGluaXRVc2VyU2NyaXB0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gcGFydGlhbHMgaW5zaWRlIHByZWZhYiBzaG91bGQgaGF2ZSBhY2Nlc3MgdG8gUHJlZmFiIHByb3BlcnRpZXMgYW5kIGV2ZW50c1xuICAgICAgICAgICAgaWYgKHRoaXMudmlld1BhcmVudC5wcmVmYWJOYW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gZm9yIHBhcnRpYWwgd2l0aGluIHBhcnRpYWwgd2l0aGluIHByZWZhYnMsIGp1c3QgYXNzaWduIHRoZSBwYXJlbnQgcGFydGlhbCdzIHByZWZhYiBvYmplY3RcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52aWV3UGFyZW50LlByZWZhYikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLlByZWZhYiA9IHRoaXMudmlld1BhcmVudC5QcmVmYWI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5QcmVmYWIgPSB0aGlzLnZpZXdQYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5ldmFsVXNlclNjcmlwdCh0aGlzLCB0aGlzLkFwcCwgdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFV0aWxzU2VydmljZSkgOiBpbmplY3QoVXRpbHNTZXJ2aWNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGluIGV2YWx1YXRpbmcgcGFydGlhbCAoJHt0aGlzLnBhcnRpYWxOYW1lfSkgc2NyaXB0XFxuYCwgZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0VmFyaWFibGVzKCkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZXNTZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZhcmlhYmxlc1NlcnZpY2UpIDogaW5qZWN0KFZhcmlhYmxlc1NlcnZpY2UpO1xuXG4gICAgICAgIC8vIGdldCB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW5zdGFuY2VzIGZvciB0aGUgcGFnZVxuICAgICAgICBjb25zdCB2YXJpYWJsZUNvbGxlY3Rpb24gPSB2YXJpYWJsZXNTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMucGFydGlhbE5hbWUsIHRoaXMuZ2V0VmFyaWFibGVzKCksIHRoaXMpO1xuXG4gICAgICAgIC8vIGNyZWF0ZSBuYW1lc3BhY2UgZm9yIFZhcmlhYmxlcyBuYWQgQWN0aW9ucyBvbiBwYWdlL3BhcnRpYWwsIHdoaWNoIGluaGVyaXRzIHRoZSBWYXJpYWJsZXMgYW5kIEFjdGlvbnMgZnJvbSBBcHAgaW5zdGFuY2VcbiAgICAgICAgdGhpcy5WYXJpYWJsZXMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLlZhcmlhYmxlcyk7XG4gICAgICAgIHRoaXMuQWN0aW9ucyA9IE9iamVjdC5jcmVhdGUodGhpcy5BcHAuQWN0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXQuVmFyaWFibGVzID0gdGhpcy5WYXJpYWJsZXM7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LkFjdGlvbnMgPSB0aGlzLkFjdGlvbnM7XG5cbiAgICAgICAgLy8gYXNzaWduIGFsbCB0aGUgcGFnZSB2YXJpYWJsZXMgdG8gdGhlIHBhZ2VJbnN0YW5jZVxuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKS5mb3JFYWNoKChbbmFtZSwgdmFyaWFibGVdKSA9PiB0aGlzLlZhcmlhYmxlc1tuYW1lXSA9IHZhcmlhYmxlKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpLmZvckVhY2goKFtuYW1lLCBhY3Rpb25dKSA9PiB0aGlzLkFjdGlvbnNbbmFtZV0gPSBhY3Rpb24pO1xuXG5cbiAgICAgICAgdGhpcy52aWV3SW5pdCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcbiAgICAgICAgICAgIC8vIFRFTVA6IHRyaWdnZXJpbmcgd2F0Y2hlcnMgc28gdmFyaWFibGVzIHdhdGNoaW5nIG92ZXIgcGFyYW1zIGFyZSB1cGRhdGVkXG4gICAgICAgICAgICAkaW52b2tlV2F0Y2hlcnModHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuY2F0Y2gobm9vcCk7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhcnRpYWwgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIGVhY2goZXhwcmVzc2lvbnMsIChmbiwgZXhwcikgPT4ge1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWdpc3RlclBhZ2VQYXJhbXMoKSB7XG4gICAgICAgIHRoaXMucGFnZVBhcmFtcyA9IHRoaXMuY29udGFpbmVyV2lkZ2V0LnBhcnRpYWxQYXJhbXM7XG4gICAgfVxuXG4gICAgZGVmaW5lSTE4blByb3BzKCkge1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuZ2V0QXBwTG9jYWxlKCk7XG4gICAgfVxuXG4gICAgaW52b2tlT25SZWFkeSgpIHtcbiAgICAgICAgbGV0IHBhcmFtcztcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyV2lkZ2V0LnVzZXJDb21wb25lbnRQYXJhbXMpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHRoaXMuY29udGFpbmVyV2lkZ2V0LnVzZXJDb21wb25lbnRQYXJhbXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vblJlYWR5KHBhcmFtcyk7XG4gICAgICAgIGlmICh0aGlzLnZpZXdQYXJlbnQucmVzb2x2ZUZyYWdtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQucmVzb2x2ZUZyYWdtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRTY3JpcHRzKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdHNSZXF1aXJlZCA9IHRoaXMucGFydGlhbERpcmVjdGl2ZS4kZWxlbWVudC5hdHRyKCdzY3JpcHRzLXRvLWxvYWQnKTtcbiAgICAgICAgICAgIGlmIChzY3JpcHRzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmxvYWQoLi4uc2NyaXB0c1JlcXVpcmVkLnNwbGl0KCcsJykpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG11dGUoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBvID0+IHsgbyAmJiBvLm11dGUgJiYgby5tdXRlKCk7IH07XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCBtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgbSk7XG4gICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCBtKTtcbiAgICB9XG5cbiAgICB1bm11dGUoKSB7XG4gICAgICAgIGNvbnN0IHVtID0gbyA9PiB7IG8gJiYgby51bm11dGUgJiYgby51bm11dGUoKTsgfTtcbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHVtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgdW0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgdW0pO1xuICAgIH1cblxuICAgIC8vIG5nT25Jbml0KCkge1xuICAgIC8vICAgICB0aGlzLmluaXQoKTtcbiAgICAvLyB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZFNjcmlwdHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tcGlsZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52aWV3SW5pdCQuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZnJhZ21lbnRzTG9hZGVkJC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4gdGhpcy5pbnZva2VPblJlYWR5KCkpO1xuXG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG5nT25BdHRhY2gocmVmcmVzaERhdGEpIHtcbiAgICAgICAgdGhpcy51bm11dGUoKTtcbiAgICAgICAgaWYgKHJlZnJlc2hEYXRhKSB7XG4gICAgICAgICAgICBjb25zdCByZWZyZXNoID0gdiA9PiB7IHYgJiYgdi5zdGFydFVwZGF0ZSAmJiB2Lmludm9rZSAmJiB2Lmludm9rZSgpOyB9O1xuICAgICAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgcmVmcmVzaCk7XG4gICAgICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgcmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25BdHRhY2ggJiYgdy5uZ09uQXR0YWNoKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMubXV0ZSgpO1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkRldGFjaCAmJiB3Lm5nT25EZXRhY2goKSk7XG4gICAgfVxuXG4gICAgb25SZWFkeShwYXJhbXM/KSB7XG4gICAgfVxufVxuIl19
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePartialComponent, decorators: [{
|
|
193
|
+
type: Directive
|
|
194
|
+
}], propDecorators: { partialDirective: [{
|
|
195
|
+
type: ViewChild,
|
|
196
|
+
args: [PartialDirective]
|
|
197
|
+
}] } });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYXJ0aWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhcnRpYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFDSCxlQUFlLEVBQ2YsbUJBQW1CLEVBRW5CLEdBQUcsRUFDSCxJQUFJLEVBQ0osUUFBUSxFQUNSLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ25CLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUUvQixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFHdkMsTUFBTSxPQUFnQixvQkFBcUIsU0FBUSxlQUFlO0lBRGxFOztRQXNCSSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUd2QixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztLQWtON0I7SUExTUcsMEJBQTBCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FB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QUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFPO0lBQ2YsQ0FBQzsrR0ExT2lCLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRFQWdCM0IsZ0JBQWdCOzs0RkFoQlQsb0JBQW9CO2tCQUR6QyxTQUFTOzhCQWlCdUIsZ0JBQWdCO3NCQUE1QyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgQXBwLFxuICAgIG5vb3AsXG4gICAgVmlld3BvcnQsXG4gICAgU2NyaXB0TG9hZGVyU2VydmljZSxcbiAgICBVdGlsc1NlcnZpY2UsXG4gICAgcmVnaXN0ZXJGbkJ5RXhwclxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBQYXJ0aWFsRGlyZWN0aXZlLCBXaWRnZXRSZWZ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgUGFnZURpcmVjdGl2ZSwgU3BhUGFnZURpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHtQcmVmYWJEaXJlY3RpdmV9IGZyb20gJ0B3bS9jb21wb25lbnRzL3ByZWZhYic7XG5pbXBvcnQgeyBWYXJpYWJsZXNTZXJ2aWNlIH0gZnJvbSAnQHdtL3ZhcmlhYmxlcyc7XG5cbmltcG9ydCB7IEZyYWdtZW50TW9uaXRvciB9IGZyb20gJy4uL3V0aWwvZnJhZ21lbnQtbW9uaXRvcic7XG5pbXBvcnQgeyBBcHBNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC5tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtlYWNofSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb21tb25QYXJ0aWFsV2lkZ2V0cyA9IHt9O1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUGFydGlhbENvbXBvbmVudCBleHRlbmRzIEZyYWdtZW50TW9uaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgV2lkZ2V0czogYW55O1xuICAgIFZhcmlhYmxlczogYW55O1xuICAgIEFjdGlvbnM6IGFueTtcbiAgICBBcHA6IEFwcDtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcGFydGlhbE5hbWU6IHN0cmluZztcbiAgICBhY3RpdmVQYWdlTmFtZTogc3RyaW5nO1xuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZTtcbiAgICBuYXZpZ2F0aW9uU2VydmljZTogQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZTtcbiAgICByb3V0ZXI6IFJvdXRlcjtcbiAgICBwYWdlUGFyYW1zOiBhbnk7XG4gICAgY29udGFpbmVyV2lkZ2V0OiBhbnk7XG4gICAgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2U7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgQFZpZXdDaGlsZChQYXJ0aWFsRGlyZWN0aXZlKSBwYXJ0aWFsRGlyZWN0aXZlO1xuICAgIHBhZ2VEaXJlY3RpdmU6IFBhZ2VEaXJlY3RpdmUgfCBTcGFQYWdlRGlyZWN0aXZlO1xuICAgIFByZWZhYjogUHJlZmFiRGlyZWN0aXZlO1xuICAgIHNjcmlwdExvYWRlclNlcnZpY2U6IFNjcmlwdExvYWRlclNlcnZpY2U7XG4gICAgVmlld3BvcnQ6IFZpZXdwb3J0O1xuICAgIGNvbXBpbGVDb250ZW50ID0gZmFsc2U7XG4gICAgc3BhOiBib29sZWFuO1xuXG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICAgIHZpZXdJbml0JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSB2aWV3UGFyZW50OiBhbnk7XG5cbiAgICBhYnN0cmFjdCBldmFsVXNlclNjcmlwdChwcmVmYWJDb250ZXh0OiBhbnksIGFwcENvbnRleHQ6IGFueSwgdXRpbHM6IGFueSk7XG5cbiAgICBhYnN0cmFjdCBnZXRWYXJpYWJsZXMoKTtcbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgZ2V0Q29udGFpbmVyV2lkZ2V0SW5qZWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcldpZGdldC5pbmogfHwgdGhpcy5jb250YWluZXJXaWRnZXQuaW5qZWN0b3I7XG4gICAgfVxuXG4gICAgaW5pdCgpIHtcblxuICAgICAgICB0aGlzLkFwcCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBcHApIDogaW5qZWN0KEFwcCk7XG4gICAgICAgIC8vbWFraW5nIHRoZSBjb2RlIGNvbXBhdGlibGUgaW4gYm90aCB0aGUgSklUIGFuZCBBT1QgbW9kZXNcbiAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXQgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoV2lkZ2V0UmVmKSA6IGluamVjdChXaWRnZXRSZWYpO1xuICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFic3RyYWN0STE4blNlcnZpY2UpIDogaW5qZWN0KEFic3RyYWN0STE4blNlcnZpY2UpO1xuICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoU2NyaXB0TG9hZGVyU2VydmljZSkgOiBpbmplY3QoU2NyaXB0TG9hZGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuVmlld3BvcnQgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoVmlld3BvcnQpIDogaW5qZWN0KFZpZXdwb3J0KTtcbiAgICAgICAgLy8gdGhpcy52aWV3Q29udGFpbmVyUmVmID0gdGhpcy5nZXRDb250YWluZXJXaWRnZXRJbmplY3RvcigpLmdldChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgLy8gUmVwbGFjaW5nIHRoaXMuZ2V0Q29udGFpbmVyV2lkZ2V0SW5qZWN0b3IoKS52aWV3LmNvbXBvbmVudCBhcyB2aWV3UGFyZW50XG4gICAgICAgIC8vIHRoaXMudmlld1BhcmVudCA9ICh0aGlzLnZpZXdDb250YWluZXJSZWYgYXMgYW55KS5wYXJlbnRJbmplY3Rvci5fbFZpZXdbOF07XG4gICAgICAgIHRoaXMudmlld1BhcmVudCA9IHRoaXMuY29udGFpbmVyV2lkZ2V0LnZpZXdQYXJlbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMudmlld1BhcmVudC5yZWdpc3RlckZyYWdtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQucmVnaXN0ZXJGcmFnbWVudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgICAgIHRoaXMuaW5pdFVzZXJTY3JpcHQoKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWU7IC8vIFRvZG86IHJlbW92ZSB0aGlzXG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdlUGFyYW1zKCk7XG5cbiAgICAgICAgdGhpcy5kZWZpbmVJMThuUHJvcHMoKTtcblxuICAgICAgICB0aGlzLnZpZXdJbml0JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wYWdlUGFyYW1zID0gdGhpcy5jb250YWluZXJXaWRnZXQucGFydGlhbFBhcmFtcztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYodGhpcy5zcGEpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZURpcmVjdGl2ZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTcGFQYWdlRGlyZWN0aXZlKSA6IGluamVjdChTcGFQYWdlRGlyZWN0aXZlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFnZURpcmVjdGl2ZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChQYWdlRGlyZWN0aXZlKSA6IGluamVjdChQYWdlRGlyZWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMucGFnZURpcmVjdGl2ZS5zdWJzY3JpYmUoJ2F0dGFjaCcsIGRhdGEgPT4gdGhpcy5uZ09uQXR0YWNoKGRhdGEucmVmcmVzaERhdGEpKSk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMucGFnZURpcmVjdGl2ZS5zdWJzY3JpYmUoJ2RldGFjaCcsICgpID0+IHRoaXMubmdPbkRldGFjaCgpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci5pbml0KCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJXaWRnZXRzKCkge1xuICAgICAgICBpZiAodGhpcy5wYXJ0aWFsTmFtZSA9PT0gJ0NvbW1vbicpIHtcbiAgICAgICAgICAgIHRoaXMuV2lkZ2V0cyA9IGNvbW1vblBhcnRpYWxXaWRnZXRzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5XaWRnZXRzID0gT2JqZWN0LmNyZWF0ZShjb21tb25QYXJ0aWFsV2lkZ2V0cyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5XaWRnZXRzID0gdGhpcy5XaWRnZXRzO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiBmbigpKTtcbiAgICB9XG5cbiAgICBpbml0VXNlclNjcmlwdCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIHBhcnRpYWxzIGluc2lkZSBwcmVmYWIgc2hvdWxkIGhhdmUgYWNjZXNzIHRvIFByZWZhYiBwcm9wZXJ0aWVzIGFuZCBldmVudHNcbiAgICAgICAgICAgIGlmICh0aGlzLnZpZXdQYXJlbnQucHJlZmFiTmFtZSkge1xuICAgICAgICAgICAgICAgIC8vIGZvciBwYXJ0aWFsIHdpdGhpbiBwYXJ0aWFsIHdpdGhpbiBwcmVmYWJzLCBqdXN0IGFzc2lnbiB0aGUgcGFyZW50IHBhcnRpYWwncyBwcmVmYWIgb2JqZWN0XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmlld1BhcmVudC5QcmVmYWIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5QcmVmYWIgPSB0aGlzLnZpZXdQYXJlbnQuUHJlZmFiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUHJlZmFiID0gdGhpcy52aWV3UGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXZhbFVzZXJTY3JpcHQodGhpcywgdGhpcy5BcHAsIHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChVdGlsc1NlcnZpY2UpIDogaW5qZWN0KFV0aWxzU2VydmljZSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBpbiBldmFsdWF0aW5nIHBhcnRpYWwgKCR7dGhpcy5wYXJ0aWFsTmFtZX0pIHNjcmlwdFxcbmAsIGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdFZhcmlhYmxlcygpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVzU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWYXJpYWJsZXNTZXJ2aWNlKSA6IGluamVjdChWYXJpYWJsZXNTZXJ2aWNlKTtcblxuICAgICAgICAvLyBnZXQgdmFyaWFibGVzIGFuZCBhY3Rpb25zIGluc3RhbmNlcyBmb3IgdGhlIHBhZ2VcbiAgICAgICAgY29uc3QgdmFyaWFibGVDb2xsZWN0aW9uID0gdmFyaWFibGVzU2VydmljZS5yZWdpc3Rlcih0aGlzLnBhcnRpYWxOYW1lLCB0aGlzLmdldFZhcmlhYmxlcygpLCB0aGlzKTtcblxuICAgICAgICAvLyBjcmVhdGUgbmFtZXNwYWNlIGZvciBWYXJpYWJsZXMgbmFkIEFjdGlvbnMgb24gcGFnZS9wYXJ0aWFsLCB3aGljaCBpbmhlcml0cyB0aGUgVmFyaWFibGVzIGFuZCBBY3Rpb25zIGZyb20gQXBwIGluc3RhbmNlXG4gICAgICAgIHRoaXMuVmFyaWFibGVzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLkFwcC5WYXJpYWJsZXMpO1xuICAgICAgICB0aGlzLkFjdGlvbnMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLkFjdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LlZhcmlhYmxlcyA9IHRoaXMuVmFyaWFibGVzO1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5BY3Rpb25zID0gdGhpcy5BY3Rpb25zO1xuXG4gICAgICAgIC8vIGFzc2lnbiBhbGwgdGhlIHBhZ2UgdmFyaWFibGVzIHRvIHRoZSBwYWdlSW5zdGFuY2VcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuZm9yRWFjaCgoW25hbWUsIHZhcmlhYmxlXSkgPT4gdGhpcy5WYXJpYWJsZXNbbmFtZV0gPSB2YXJpYWJsZSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKS5mb3JFYWNoKChbbmFtZSwgYWN0aW9uXSkgPT4gdGhpcy5BY3Rpb25zW25hbWVdID0gYWN0aW9uKTtcblxuXG4gICAgICAgIHRoaXMudmlld0luaXQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyBURU1QOiB0cmlnZ2VyaW5nIHdhdGNoZXJzIHNvIHZhcmlhYmxlcyB3YXRjaGluZyBvdmVyIHBhcmFtcyBhcmUgdXBkYXRlZFxuICAgICAgICAgICAgJGludm9rZVdhdGNoZXJzKHRydWUsIHRydWUpO1xuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5WYXJpYWJsZXMpLmNhdGNoKG5vb3ApO1xuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYmluZCBleHByZXNzaW9ucyBnZW5lcmF0ZWQgaW4gdGhpcyBwYXJ0aWFsIGluc3RhbmNlXG4gICAgICogZ2V0RXhwcmVzc2lvbnMgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0aGUgZ2VuZXJhdGVkIHBhZ2UuY29tcC50cyBmaWxlXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zLCBtYXAgb2YgYmluZCBleHByZXNzaW9uIHZzIGdlbmVyYXRlZCBmdW5jdGlvblxuICAgICAqL1xuICAgIHJlZ2lzdGVyRXhwcmVzc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5nZXRFeHByZXNzaW9ucygpO1xuICAgICAgICBlYWNoKGV4cHJlc3Npb25zLCAoZm4sIGV4cHIpID0+IHtcbiAgICAgICAgICAgIHJlZ2lzdGVyRm5CeUV4cHIoZXhwciwgZm5bMF0sIGZuWzFdKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJQYWdlUGFyYW1zKCkge1xuICAgICAgICB0aGlzLnBhZ2VQYXJhbXMgPSB0aGlzLmNvbnRhaW5lcldpZGdldC5wYXJ0aWFsUGFyYW1zO1xuICAgIH1cblxuICAgIGRlZmluZUkxOG5Qcm9wcygpIHtcbiAgICAgICAgdGhpcy5hcHBMb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlLmdldEFwcExvY2FsZSgpO1xuICAgIH1cblxuICAgIGludm9rZU9uUmVhZHkoKSB7XG4gICAgICAgIGxldCBwYXJhbXM7XG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lcldpZGdldC51c2VyQ29tcG9uZW50UGFyYW1zKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSB0aGlzLmNvbnRhaW5lcldpZGdldC51c2VyQ29tcG9uZW50UGFyYW1zO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25SZWFkeShwYXJhbXMpO1xuICAgICAgICBpZiAodGhpcy52aWV3UGFyZW50LnJlc29sdmVGcmFnbWVudCkge1xuICAgICAgICAgICAgdGhpcy52aWV3UGFyZW50LnJlc29sdmVGcmFnbWVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHRzUmVxdWlyZWQgPSB0aGlzLnBhcnRpYWxEaXJlY3RpdmUuJGVsZW1lbnQuYXR0cignc2NyaXB0cy10by1sb2FkJyk7XG4gICAgICAgICAgICBpZiAoc2NyaXB0c1JlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkKC4uLnNjcmlwdHNSZXF1aXJlZC5zcGxpdCgnLCcpKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtdXRlKCkge1xuICAgICAgICBjb25zdCBtID0gbyA9PiB7IG8gJiYgby5tdXRlICYmIG8ubXV0ZSgpOyB9O1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgbSk7XG4gICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIG0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgbSk7XG4gICAgfVxuXG4gICAgdW5tdXRlKCkge1xuICAgICAgICBjb25zdCB1bSA9IG8gPT4geyBvICYmIG8udW5tdXRlICYmIG8udW5tdXRlKCk7IH07XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCB1bSk7XG4gICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIHVtKTtcbiAgICAgICAgZWFjaCh0aGlzLkFjdGlvbnMsIHVtKTtcbiAgICB9XG5cbiAgICAvLyBuZ09uSW5pdCgpIHtcbiAgICAvLyAgICAgdGhpcy5pbml0KCk7XG4gICAgLy8gfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRTY3JpcHRzKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbXBpbGVDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlld0luaXQkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmZyYWdtZW50c0xvYWRlZCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHRoaXMuaW52b2tlT25SZWFkeSgpKTtcblxuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQXR0YWNoKHJlZnJlc2hEYXRhKSB7XG4gICAgICAgIHRoaXMudW5tdXRlKCk7XG4gICAgICAgIGlmIChyZWZyZXNoRGF0YSkge1xuICAgICAgICAgICAgY29uc3QgcmVmcmVzaCA9IHYgPT4geyB2ICYmIHYuc3RhcnRVcGRhdGUgJiYgdi5pbnZva2UgJiYgdi5pbnZva2UoKTsgfTtcbiAgICAgICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIHJlZnJlc2gpO1xuICAgICAgICAgICAgZWFjaCh0aGlzLkFjdGlvbnMsIHJlZnJlc2gpO1xuICAgICAgICB9XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uQXR0YWNoICYmIHcubmdPbkF0dGFjaCgpKTtcbiAgICB9XG5cbiAgICBuZ09uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLm11dGUoKTtcbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25EZXRhY2ggJiYgdy5uZ09uRGV0YWNoKCkpO1xuICAgIH1cblxuICAgIG9uUmVhZHkocGFyYW1zPykge1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -215,18 +215,13 @@ export class BasePrefabComponent extends FragmentMonitor {
|
|
|
215
215
|
// user overrides this
|
|
216
216
|
onPropertyChange() { }
|
|
217
217
|
onReady() { }
|
|
218
|
-
static { this.ɵfac =
|
|
219
|
-
static { this.ɵdir =
|
|
220
|
-
i0.ɵɵviewQuery(PrefabContainerDirective, 5);
|
|
221
|
-
} if (rf & 2) {
|
|
222
|
-
let _t;
|
|
223
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.prefabContainerDirective = _t.first);
|
|
224
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature] }); }
|
|
218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePrefabComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
219
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BasePrefabComponent, viewQueries: [{ propertyName: "prefabContainerDirective", first: true, predicate: PrefabContainerDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
225
220
|
}
|
|
226
|
-
(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcmVmYWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2Jhc2UtcHJlZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLE1BQU0sRUFBYSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsR0FBRyxFQUNILElBQUksRUFDSixJQUFJLEVBQ0osbUJBQW1CLEVBQ25CLFlBQVksRUFDWixlQUFlLEVBQ2YsUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUdqRCxNQUFNLE9BQWdCLG1CQUFvQixTQUFRLGVBQWU7SUFEakU7O1FBZUksbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFLdkIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7S0FrUDdC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RSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGdCQUFnQixLQUFJLENBQUM7SUFFckIsT0FBTyxLQUFJLENBQUM7Z1FBcFFNLG1CQUFtQix5QkFBbkIsbUJBQW1CO29FQUFuQixtQkFBbUI7MkJBWTFCLHdCQUF3Qjs7Ozs7O2lGQVpqQixtQkFBbUI7Y0FEeEMsU0FBUztnQkFhK0Isd0JBQXdCO2tCQUE1RCxTQUFTO21CQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEluamVjdG9yLCBpbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICAkd2F0Y2gsXG4gICAgQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICBBcHAsXG4gICAgaXNJRSxcbiAgICBub29wLFxuICAgIFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgVXRpbHNTZXJ2aWNlLFxuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICBWaWV3cG9ydCxcbiAgICByZWdpc3RlckZuQnlFeHByXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IFdpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBQYWdlRGlyZWN0aXZlLCBTcGFQYWdlRGlyZWN0aXZlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBQcmVmYWJDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICdAd20vY29tcG9uZW50cy9wcmVmYWInO1xuaW1wb3J0IHsgVmFyaWFibGVzU2VydmljZSB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuXG5pbXBvcnQgeyBQcmVmYWJNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ByZWZhYi1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnJhZ21lbnRNb25pdG9yIH0gZnJvbSAnLi4vdXRpbC9mcmFnbWVudC1tb25pdG9yJztcbmltcG9ydCB7ZWFjaCwgc3RhcnRzV2l0aCwgdHJpbX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUHJlZmFiQ29tcG9uZW50IGV4dGVuZHMgRnJhZ21lbnRNb25pdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBXaWRnZXRzOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIEFwcDogQXBwO1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBjb250YWluZXJXaWRnZXQ6IGFueTtcbiAgICBwcmVmYWJNbmdyOiBQcmVmYWJNYW5hZ2VyU2VydmljZTtcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHByZWZhYk5hbWU6IHN0cmluZztcbiAgICBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZTtcbiAgICBhcHBMb2NhbGU6IGFueTtcbiAgICBAVmlld0NoaWxkKFByZWZhYkNvbnRhaW5lckRpcmVjdGl2ZSkgcHJlZmFiQ29udGFpbmVyRGlyZWN0aXZlO1xuICAgIHNjcmlwdExvYWRlclNlcnZpY2U6IFNjcmlwdExvYWRlclNlcnZpY2U7XG4gICAgY29tcGlsZUNvbnRlbnQgPSBmYWxzZTtcbiAgICBwYWdlRGlyZWN0aXZlOiBQYWdlRGlyZWN0aXZlIHwgU3BhUGFnZURpcmVjdGl2ZTtcbiAgICBWaWV3cG9ydDogVmlld3BvcnQ7XG4gICAgc3BhOiBib29sZWFuO1xuXG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICAgIHZpZXdJbml0JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIHZpZXdQYXJlbnQ6IGFueTtcblxuICAgIGFic3RyYWN0IGV2YWxVc2VyU2NyaXB0KHByZWZhYkNvbnRleHQ6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KTtcbiAgICBhYnN0cmFjdCBnZXRWYXJpYWJsZXMoKTtcbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgZ2V0Q29udGFpbmVyV2lkZ2V0SW5qZWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcldpZGdldC5pbmogfHwgdGhpcy5jb250YWluZXJXaWRnZXQuaW5qZWN0b3I7XG4gICAgfVxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5BcHAgPSB0aGlzLmluamVjdG9yLmdldChBcHApO1xuICAgICAgICAvL21ha2luZyB0aGUgY29kZSBjb21wYXRpYmxlIGluIGJvdGggdGhlIEpJVCBhbmQgQU9UIG1vZGVzXG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0ID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFdpZGdldFJlZikgOiBpbmplY3QoV2lkZ2V0UmVmKTtcblxuICAgICAgICB0aGlzLnByZWZhYk1uZ3IgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoUHJlZmFiTWFuYWdlclNlcnZpY2UpIDogaW5qZWN0KFByZWZhYk1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5pMThuU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBYnN0cmFjdEkxOG5TZXJ2aWNlKSA6IGluamVjdChBYnN0cmFjdEkxOG5TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFNjcmlwdExvYWRlclNlcnZpY2UpIDogaW5qZWN0KFNjcmlwdExvYWRlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLlZpZXdwb3J0ID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZpZXdwb3J0KSA6IGluamVjdChWaWV3cG9ydCk7XG5cbiAgICAgICAgdGhpcy52aWV3UGFyZW50ID0gdGhpcy5jb250YWluZXJXaWRnZXQudmlld1BhcmVudDtcblxuICAgICAgICBpZiAodGhpcy52aWV3UGFyZW50LnJlZ2lzdGVyRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudmlld1BhcmVudC5yZWdpc3RlckZyYWdtZW50KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zcGEpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZURpcmVjdGl2ZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTcGFQYWdlRGlyZWN0aXZlKSA6IGluamVjdChTcGFQYWdlRGlyZWN0aXZlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFnZURpcmVjdGl2ZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChQYWdlRGlyZWN0aXZlKSA6IGluamVjdChQYWdlRGlyZWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMucGFnZURpcmVjdGl2ZS5zdWJzY3JpYmUoJ2F0dGFjaCcsIGRhdGEgPT4gdGhpcy5uZ09uQXR0YWNoKGRhdGEucmVmcmVzaERhdGEpKSk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMucGFnZURpcmVjdGl2ZS5zdWJzY3JpYmUoJ2RldGFjaCcsICgpID0+IHRoaXMubmdPbkRldGFjaCgpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWdpc3RlciBmdW5jdGlvbnMgZm9yIGJpbmRpbmcgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXhwcmVzc2lvbnMoKTtcbiAgICAgICAgdGhpcy5pbml0VXNlclNjcmlwdCgpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJXaWRnZXRzKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcygpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyUHJvcHMoKTtcbiAgICAgICAgdGhpcy5kZWZpbmVJMThuUHJvcHMoKTtcbiAgICAgICAgc3VwZXIuaW5pdCgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyV2lkZ2V0cygpIHtcbiAgICAgICAgdGhpcy5XaWRnZXRzID0ge307XG4gICAgICAgIHRoaXMuV2lkZ2V0cyA9IHt9O3RoaXMuY29udGFpbmVyV2lkZ2V0LldpZGdldHMgPSB0aGlzLldpZGdldHM7XG4gICAgfVxuXG4gICAgaW5pdFVzZXJTY3JpcHQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmV2YWxVc2VyU2NyaXB0KHRoaXMsIHRoaXMuQXBwLCB0aGlzLmluamVjdG9yLmdldChVdGlsc1NlcnZpY2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgaW4gZXZhbHVhdGluZyBwcmVmYWIgKCR7dGhpcy5wcmVmYWJOYW1lfSkgc2NyaXB0XFxuYCwgZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckNoYW5nZUxpc3RlbmVycygpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXQucmVnaXN0ZXJQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKHRoaXMub25Qcm9wZXJ0eUNoYW5nZSk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LnJlZ2lzdGVyU3R5bGVDaGFuZ2VMaXN0ZW5lcih0aGlzLm9uUHJvcGVydHlDaGFuZ2UpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiBmbigpKTtcbiAgICB9XG5cbiAgICBkZWZpbmVJMThuUHJvcHMoKSB7XG4gICAgICAgIHRoaXMuYXBwTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5nZXRQcmVmYWJMb2NhbGVCdW5kbGUodGhpcy5wcmVmYWJOYW1lKTtcbiAgICB9XG5cbiAgICByZWdpc3RlclByb3BzKCkge1xuICAgICAgICB0aGlzLnByZWZhYk1uZ3IuZ2V0Q29uZmlnKHRoaXMucHJlZmFiTmFtZSlcbiAgICAgICAgICAgIC50aGVuKGNvbmZpZyA9PiB7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUgPSBjb25maWcuZGlzcGxheU5hbWU7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKChjb25maWcucHJvcGVydGllcyB8fCB7fSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoW2tleSwgcHJvcF06IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXhwcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRyaW0ocHJvcC52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzV2l0aCh2YWx1ZSwgJ2JpbmQ6JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHZhbHVlLnJlcGxhY2UoJ2JpbmQ6JywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiAoKSA9PiB0aGlzLmNvbnRhaW5lcldpZGdldFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG52ID0+IHRoaXMuY29udGFpbmVyV2lkZ2V0LndpZGdldFtrZXldID0gbnZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleHByKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vW1RvZG8tQ1NQXTogZXhwciB3aWxsIGJlIGdlbmVyYXRlZCB3aXRoIHByZWZhYi5jb21wLmV4cHIudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3YXRjaChleHByLCB0aGlzLCB7fSwgbnYgPT4gdGhpcy5jb250YWluZXJXaWRnZXQud2lkZ2V0W2tleV0gPSBudilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcygoY29uZmlnLmV2ZW50cyB8fCB7fSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoW2tleSwgcHJvcF06IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBldmVudE5hbWUgPSBrZXkuc3Vic3RyKDIpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0Lmludm9rZUV2ZW50Q2FsbGJhY2soZXZlbnROYW1lLCB7JGV2ZW50OiBhcmdzWzBdLCAkZGF0YTogYXJnc1sxXX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcygoY29uZmlnLm1ldGhvZHMgfHwge30pKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKFtrZXksIHByb3BdOiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXRba2V5XSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNba2V5XS5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBlcnJvciBpbiBleGVjdXRpbmcgcHJlZmFiLSR7dGhpcy5wcmVmYWJOYW1lfSBtZXRob2QtJHtrZXl9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LnNldFByb3BzKGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgLy8gUmVhc3NpZ25pbmcgdGhlIHByb3h5IGhhbmRsZXIgZm9yIHByZWZhYiBpbmJvdW5kIHByb3BlcnRpZXMgYXMgd2VcbiAgICAgICAgICAgICAgICAvLyB3aWxsIGdldCB0aGVtIG9ubHkgYWZ0ZXIgdGhlIHByZWZhYiBjb25maWcgY2FsbC5cbiAgICAgICAgICAgICAgICBpZiAoaXNJRSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LndpZGdldCA9IHRoaXMuY29udGFpbmVyV2lkZ2V0LmNyZWF0ZVByb3h5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdFZhcmlhYmxlcygpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVzU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFZhcmlhYmxlc1NlcnZpY2UpO1xuXG4gICAgICAgIC8vIGdldCB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW5zdGFuY2VzIGZvciB0aGUgcGFnZVxuICAgICAgICBjb25zdCB2YXJpYWJsZUNvbGxlY3Rpb24gPSB2YXJpYWJsZXNTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMucHJlZmFiTmFtZSwgdGhpcy5nZXRWYXJpYWJsZXMoKSwgdGhpcyk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5hbWVzcGFjZSBmb3IgVmFyaWFibGVzIG5hZCBBY3Rpb25zIG9uIHBhZ2UvcGFydGlhbCwgd2hpY2ggaW5oZXJpdHMgdGhlIFZhcmlhYmxlcyBhbmQgQWN0aW9ucyBmcm9tIEFwcCBpbnN0YW5jZVxuICAgICAgICB0aGlzLlZhcmlhYmxlcyA9IHt9O1xuICAgICAgICB0aGlzLkFjdGlvbnMgPSB7fTtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXQuVmFyaWFibGVzID0gdGhpcy5WYXJpYWJsZXM7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LkFjdGlvbnMgPSB0aGlzLkFjdGlvbnM7XG5cbiAgICAgICAgLy8gYXNzaWduIGFsbCB0aGUgcGFnZSB2YXJpYWJsZXMgdG8gdGhlIHBhZ2VJbnN0YW5jZVxuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKS5mb3JFYWNoKChbbmFtZSwgdmFyaWFibGVdKSA9PiB0aGlzLlZhcmlhYmxlc1tuYW1lXSA9IHZhcmlhYmxlKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpLmZvckVhY2goKFtuYW1lLCBhY3Rpb25dKSA9PiB0aGlzLkFjdGlvbnNbbmFtZV0gPSBhY3Rpb24pO1xuXG5cbiAgICAgICAgdGhpcy52aWV3SW5pdCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKS5jYXRjaChub29wKTtcbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uQWN0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIGJpbmQgZXhwcmVzc2lvbnMgZ2VuZXJhdGVkIGluIHRoaXMgcGFnZSBpbnN0YW5jZVxuICAgICAqIGdldEV4cHJlc3Npb25zIGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gdGhlIGdlbmVyYXRlZCBwYWdlLmNvbXAudHMgZmlsZVxuICAgICAqIEBwYXJhbSBleHByZXNzaW9ucywgbWFwIG9mIGJpbmQgZXhwcmVzc2lvbiB2cyBnZW5lcmF0ZWQgZnVuY3Rpb25cbiAgICAgKi9cbiAgICByZWdpc3RlckV4cHJlc3Npb25zKCkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuZ2V0RXhwcmVzc2lvbnMoKTtcbiAgICAgICAgZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RlckZuQnlFeHByKGV4cHIsIGZuWzBdLCBmblsxXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGludm9rZU9uUmVhZHkoKSB7XG4gICAgICAgIC8vIHRyaWdnZXJpbmcgd2F0Y2hlcnMgc28gdmFyaWFibGVzIGFuZCBwcm9wZXJ0aWVycyB3YXRjaGluZyBvdmVyIGFuIGV4cHJlc3Npb24gYXJlIHVwZGF0ZWRcbiAgICAgICAgJGludm9rZVdhdGNoZXJzKHRydWUsIHRydWUpO1xuICAgICAgICB0aGlzLm9uUmVhZHkoKTtcbiAgICAgICAgaWYgKHRoaXMudmlld1BhcmVudC5yZXNvbHZlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudmlld1BhcmVudC5yZXNvbHZlRnJhZ21lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5pbnZva2VFdmVudENhbGxiYWNrKCdsb2FkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHRzUmVxdWlyZWQgPSB0aGlzLnByZWZhYkNvbnRhaW5lckRpcmVjdGl2ZS4kZWxlbWVudC5hdHRyKCdzY3JpcHRzLXRvLWxvYWQnKTtcbiAgICAgICAgICAgIGlmIChzY3JpcHRzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmlwdExvYWRlclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmxvYWQoLi4uc2NyaXB0c1JlcXVpcmVkLnNwbGl0KCcsJykpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG11dGUoKSB7XG4gICAgICAgIGNvbnN0IG0gPSBvID0+IHsgbyAmJiBvLm11dGUgJiYgby5tdXRlKCk7IH07XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCBtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgbSk7XG4gICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCBtKTtcbiAgICB9XG5cbiAgICB1bm11dGUoKSB7XG4gICAgICAgIGNvbnN0IHVtID0gbyA9PiB7IG8gJiYgby51bm11dGUgJiYgby51bm11dGUoKTsgfTtcbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHVtKTtcbiAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgdW0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgdW0pO1xuICAgIH1cblxuICAgIG5nT25BdHRhY2gocmVmcmVzaERhdGEpIHtcbiAgICAgICAgdGhpcy51bm11dGUoKTtcbiAgICAgICAgaWYocmVmcmVzaERhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2ggPSB2ID0+IHsgdiAmJiB2LnN0YXJ0VXBkYXRlICYmIHYuaW52b2tlICYmIHYuaW52b2tlKCk7IH07XG4gICAgICAgICAgICBlYWNoKHRoaXMuVmFyaWFibGVzLCByZWZyZXNoKTtcbiAgICAgICAgICAgIGVhY2godGhpcy5BY3Rpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfVxuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkF0dGFjaCAmJiB3Lm5nT25BdHRhY2goKSk7XG4gICAgfVxuXG4gICAgbmdPbkRldGFjaCgpIHtcbiAgICAgICAgdGhpcy5tdXRlKCk7XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uRGV0YWNoICYmIHcubmdPbkRldGFjaCgpKTtcbiAgICB9XG5cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkU2NyaXB0cygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb21waWxlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ2hhbmdlTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIHZpZXdJbml0JC5jb21wbGV0ZSBhZnRlciBhIHRpbWVvdXQgc28gdGhhdCB0aGUgd2lkZ2V0IGxpc3RlbmVycyBhcmUgcmVhZHkgYmVmb3JlIFZhcmlhYmxlIHhociBjYWxsLlxuICAgICAgICAgICAgICAgIHRoaXMudmlld0luaXQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mcmFnbWVudHNMb2FkZWQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB0aGlzLmludm9rZU9uUmVhZHkoKSk7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8vIHVzZXIgb3ZlcnJpZGVzIHRoaXNcbiAgICBvblByb3BlcnR5Q2hhbmdlKCkge31cblxuICAgIG9uUmVhZHkoKSB7fVxuXG59XG4iXX0=
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasePrefabComponent, decorators: [{
|
|
222
|
+
type: Directive
|
|
223
|
+
}], propDecorators: { prefabContainerDirective: [{
|
|
224
|
+
type: ViewChild,
|
|
225
|
+
args: [PrefabContainerDirective]
|
|
226
|
+
}] } });
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcmVmYWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9jb21wb25lbnRzL2Jhc2UtcHJlZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLE1BQU0sRUFBYSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsR0FBRyxFQUNILElBQUksRUFDSixJQUFJLEVBQ0osbUJBQW1CLEVBQ25CLFlBQVksRUFDWixlQUFlLEVBQ2YsUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUdqRCxNQUFNLE9BQWdCLG1CQUFvQixTQUFRLGVBQWU7SUFEakU7O1FBZUksbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFLdkIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7S0FrUDdC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RSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGdCQUFnQixLQUFJLENBQUM7SUFFckIsT0FBTyxLQUFJLENBQUM7K0dBcFFNLG1CQUFtQjttR0FBbkIsbUJBQW1CLG9GQVkxQix3QkFBd0I7OzRGQVpqQixtQkFBbUI7a0JBRHhDLFNBQVM7OEJBYStCLHdCQUF3QjtzQkFBNUQsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBJbmplY3RvciwgaW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgJHdhdGNoLFxuICAgIEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgQXBwLFxuICAgIGlzSUUsXG4gICAgbm9vcCxcbiAgICBTY3JpcHRMb2FkZXJTZXJ2aWNlLFxuICAgIFV0aWxzU2VydmljZSxcbiAgICAkaW52b2tlV2F0Y2hlcnMsXG4gICAgVmlld3BvcnQsXG4gICAgcmVnaXN0ZXJGbkJ5RXhwclxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBXaWRnZXRSZWZ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgUGFnZURpcmVjdGl2ZSwgU3BhUGFnZURpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgUHJlZmFiQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcHJlZmFiJztcbmltcG9ydCB7IFZhcmlhYmxlc1NlcnZpY2UgfSBmcm9tICdAd20vdmFyaWFibGVzJztcblxuaW1wb3J0IHsgUHJlZmFiTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmVmYWItbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZyYWdtZW50TW9uaXRvciB9IGZyb20gJy4uL3V0aWwvZnJhZ21lbnQtbW9uaXRvcic7XG5pbXBvcnQge2VhY2gsIHN0YXJ0c1dpdGgsIHRyaW19IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVByZWZhYkNvbXBvbmVudCBleHRlbmRzIEZyYWdtZW50TW9uaXRvciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgV2lkZ2V0czogYW55O1xuICAgIFZhcmlhYmxlczogYW55O1xuICAgIEFjdGlvbnM6IGFueTtcbiAgICBBcHA6IEFwcDtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgY29udGFpbmVyV2lkZ2V0OiBhbnk7XG4gICAgcHJlZmFiTW5ncjogUHJlZmFiTWFuYWdlclNlcnZpY2U7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcmVmYWJOYW1lOiBzdHJpbmc7XG4gICAgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2U7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgQFZpZXdDaGlsZChQcmVmYWJDb250YWluZXJEaXJlY3RpdmUpIHByZWZhYkNvbnRhaW5lckRpcmVjdGl2ZTtcbiAgICBzY3JpcHRMb2FkZXJTZXJ2aWNlOiBTY3JpcHRMb2FkZXJTZXJ2aWNlO1xuICAgIGNvbXBpbGVDb250ZW50ID0gZmFsc2U7XG4gICAgcGFnZURpcmVjdGl2ZTogUGFnZURpcmVjdGl2ZSB8IFNwYVBhZ2VEaXJlY3RpdmU7XG4gICAgVmlld3BvcnQ6IFZpZXdwb3J0O1xuICAgIHNwYTogYm9vbGVhbjtcblxuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgICB2aWV3SW5pdCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSB2aWV3UGFyZW50OiBhbnk7XG5cbiAgICBhYnN0cmFjdCBldmFsVXNlclNjcmlwdChwcmVmYWJDb250ZXh0OiBhbnksIGFwcENvbnRleHQ6IGFueSwgdXRpbHM6IGFueSk7XG4gICAgYWJzdHJhY3QgZ2V0VmFyaWFibGVzKCk7XG4gICAgYWJzdHJhY3QgZ2V0RXhwcmVzc2lvbnMoKTtcblxuICAgIGdldENvbnRhaW5lcldpZGdldEluamVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXJXaWRnZXQuaW5qIHx8IHRoaXMuY29udGFpbmVyV2lkZ2V0LmluamVjdG9yO1xuICAgIH1cblxuICAgIGluaXQoKSB7XG4gICAgICAgIHRoaXMuQXBwID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwKTtcbiAgICAgICAgLy9tYWtpbmcgdGhlIGNvZGUgY29tcGF0aWJsZSBpbiBib3RoIHRoZSBKSVQgYW5kIEFPVCBtb2Rlc1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChXaWRnZXRSZWYpIDogaW5qZWN0KFdpZGdldFJlZik7XG5cbiAgICAgICAgdGhpcy5wcmVmYWJNbmdyID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFByZWZhYk1hbmFnZXJTZXJ2aWNlKSA6IGluamVjdChQcmVmYWJNYW5hZ2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2UgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQWJzdHJhY3RJMThuU2VydmljZSkgOiBpbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChTY3JpcHRMb2FkZXJTZXJ2aWNlKSA6IGluamVjdChTY3JpcHRMb2FkZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5WaWV3cG9ydCA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChWaWV3cG9ydCkgOiBpbmplY3QoVmlld3BvcnQpO1xuXG4gICAgICAgIHRoaXMudmlld1BhcmVudCA9IHRoaXMuY29udGFpbmVyV2lkZ2V0LnZpZXdQYXJlbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMudmlld1BhcmVudC5yZWdpc3RlckZyYWdtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQucmVnaXN0ZXJGcmFnbWVudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3BhKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VEaXJlY3RpdmUgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoU3BhUGFnZURpcmVjdGl2ZSkgOiBpbmplY3QoU3BhUGFnZURpcmVjdGl2ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VEaXJlY3RpdmUgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoUGFnZURpcmVjdGl2ZSkgOiBpbmplY3QoUGFnZURpcmVjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFnZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcih0aGlzLnBhZ2VEaXJlY3RpdmUuc3Vic2NyaWJlKCdhdHRhY2gnLCBkYXRhID0+IHRoaXMubmdPbkF0dGFjaChkYXRhLnJlZnJlc2hEYXRhKSkpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcih0aGlzLnBhZ2VEaXJlY3RpdmUuc3Vic2NyaWJlKCdkZXRhY2gnLCAoKSA9PiB0aGlzLm5nT25EZXRhY2goKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVnaXN0ZXIgZnVuY3Rpb25zIGZvciBiaW5kaW5nIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb25zKCk7XG4gICAgICAgIHRoaXMuaW5pdFVzZXJTY3JpcHQoKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgICAgICB0aGlzLmluaXRWYXJpYWJsZXMoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclByb3BzKCk7XG4gICAgICAgIHRoaXMuZGVmaW5lSTE4blByb3BzKCk7XG4gICAgICAgIHN1cGVyLmluaXQoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlcldpZGdldHMoKSB7XG4gICAgICAgIHRoaXMuV2lkZ2V0cyA9IHt9O1xuICAgICAgICB0aGlzLldpZGdldHMgPSB7fTt0aGlzLmNvbnRhaW5lcldpZGdldC5XaWRnZXRzID0gdGhpcy5XaWRnZXRzO1xuICAgIH1cblxuICAgIGluaXRVc2VyU2NyaXB0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5ldmFsVXNlclNjcmlwdCh0aGlzLCB0aGlzLkFwcCwgdGhpcy5pbmplY3Rvci5nZXQoVXRpbHNTZXJ2aWNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGluIGV2YWx1YXRpbmcgcHJlZmFiICgke3RoaXMucHJlZmFiTmFtZX0pIHNjcmlwdFxcbmAsIGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJDaGFuZ2VMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LnJlZ2lzdGVyUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcih0aGlzLm9uUHJvcGVydHlDaGFuZ2UpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5yZWdpc3RlclN0eWxlQ2hhbmdlTGlzdGVuZXIodGhpcy5vblByb3BlcnR5Q2hhbmdlKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcihmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4gZm4oKSk7XG4gICAgfVxuXG4gICAgZGVmaW5lSTE4blByb3BzKCkge1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuZ2V0UHJlZmFiTG9jYWxlQnVuZGxlKHRoaXMucHJlZmFiTmFtZSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJQcm9wcygpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJNbmdyLmdldENvbmZpZyh0aGlzLnByZWZhYk5hbWUpXG4gICAgICAgICAgICAudGhlbihjb25maWcgPT4ge1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0gY29uZmlnLmRpc3BsYXlOYW1lO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcygoY29uZmlnLnByb3BlcnRpZXMgfHwge30pKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKFtrZXksIHByb3BdOiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4cHI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0cmltKHByb3AudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0c1dpdGgodmFsdWUsICdiaW5kOicpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB2YWx1ZS5yZXBsYWNlKCdiaW5kOicsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4gdGhpcy5jb250YWluZXJXaWRnZXRba2V5XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0OiBudiA9PiB0aGlzLmNvbnRhaW5lcldpZGdldC53aWRnZXRba2V5XSA9IG52XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhwcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1tUb2RvLUNTUF06IGV4cHIgd2lsbCBiZSBnZW5lcmF0ZWQgd2l0aCBwcmVmYWIuY29tcC5leHByLnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2F0Y2goZXhwciwgdGhpcywge30sIG52ID0+IHRoaXMuY29udGFpbmVyV2lkZ2V0LndpZGdldFtrZXldID0gbnYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoKGNvbmZpZy5ldmVudHMgfHwge30pKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKFtrZXksIHByb3BdOiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnROYW1lID0ga2V5LnN1YnN0cigyKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5pbnZva2VFdmVudENhbGxiYWNrKGV2ZW50TmFtZSwgeyRldmVudDogYXJnc1swXSwgJGRhdGE6IGFyZ3NbMV19KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoKGNvbmZpZy5tZXRob2RzIHx8IHt9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChba2V5LCBwcm9wXTogW3N0cmluZywgYW55XSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0W2tleV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2tleV0uYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgZXJyb3IgaW4gZXhlY3V0aW5nIHByZWZhYi0ke3RoaXMucHJlZmFiTmFtZX0gbWV0aG9kLSR7a2V5fWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5zZXRQcm9wcyhjb25maWcpO1xuICAgICAgICAgICAgICAgIC8vIFJlYXNzaWduaW5nIHRoZSBwcm94eSBoYW5kbGVyIGZvciBwcmVmYWIgaW5ib3VuZCBwcm9wZXJ0aWVzIGFzIHdlXG4gICAgICAgICAgICAgICAgLy8gd2lsbCBnZXQgdGhlbSBvbmx5IGFmdGVyIHRoZSBwcmVmYWIgY29uZmlnIGNhbGwuXG4gICAgICAgICAgICAgICAgaWYgKGlzSUUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC53aWRnZXQgPSB0aGlzLmNvbnRhaW5lcldpZGdldC5jcmVhdGVQcm94eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRWYXJpYWJsZXMoKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChWYXJpYWJsZXNTZXJ2aWNlKTtcblxuICAgICAgICAvLyBnZXQgdmFyaWFibGVzIGFuZCBhY3Rpb25zIGluc3RhbmNlcyBmb3IgdGhlIHBhZ2VcbiAgICAgICAgY29uc3QgdmFyaWFibGVDb2xsZWN0aW9uID0gdmFyaWFibGVzU2VydmljZS5yZWdpc3Rlcih0aGlzLnByZWZhYk5hbWUsIHRoaXMuZ2V0VmFyaWFibGVzKCksIHRoaXMpO1xuXG4gICAgICAgIC8vIGNyZWF0ZSBuYW1lc3BhY2UgZm9yIFZhcmlhYmxlcyBuYWQgQWN0aW9ucyBvbiBwYWdlL3BhcnRpYWwsIHdoaWNoIGluaGVyaXRzIHRoZSBWYXJpYWJsZXMgYW5kIEFjdGlvbnMgZnJvbSBBcHAgaW5zdGFuY2VcbiAgICAgICAgdGhpcy5WYXJpYWJsZXMgPSB7fTtcbiAgICAgICAgdGhpcy5BY3Rpb25zID0ge307XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2lkZ2V0LlZhcmlhYmxlcyA9IHRoaXMuVmFyaWFibGVzO1xuICAgICAgICB0aGlzLmNvbnRhaW5lcldpZGdldC5BY3Rpb25zID0gdGhpcy5BY3Rpb25zO1xuXG4gICAgICAgIC8vIGFzc2lnbiBhbGwgdGhlIHBhZ2UgdmFyaWFibGVzIHRvIHRoZSBwYWdlSW5zdGFuY2VcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuZm9yRWFjaCgoW25hbWUsIHZhcmlhYmxlXSkgPT4gdGhpcy5WYXJpYWJsZXNbbmFtZV0gPSB2YXJpYWJsZSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKS5mb3JFYWNoKChbbmFtZSwgYWN0aW9uXSkgPT4gdGhpcy5BY3Rpb25zW25hbWVdID0gYWN0aW9uKTtcblxuXG4gICAgICAgIHRoaXMudmlld0luaXQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuY2F0Y2gobm9vcCk7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhZ2UgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIGVhY2goZXhwcmVzc2lvbnMsIChmbiwgZXhwcikgPT4ge1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbnZva2VPblJlYWR5KCkge1xuICAgICAgICAvLyB0cmlnZ2VyaW5nIHdhdGNoZXJzIHNvIHZhcmlhYmxlcyBhbmQgcHJvcGVydGllcnMgd2F0Y2hpbmcgb3ZlciBhbiBleHByZXNzaW9uIGFyZSB1cGRhdGVkXG4gICAgICAgICRpbnZva2VXYXRjaGVycyh0cnVlLCB0cnVlKTtcbiAgICAgICAgdGhpcy5vblJlYWR5KCk7XG4gICAgICAgIGlmICh0aGlzLnZpZXdQYXJlbnQucmVzb2x2ZUZyYWdtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQucmVzb2x2ZUZyYWdtZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250YWluZXJXaWRnZXQuaW52b2tlRXZlbnRDYWxsYmFjaygnbG9hZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNjcmlwdHMoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2NyaXB0c1JlcXVpcmVkID0gdGhpcy5wcmVmYWJDb250YWluZXJEaXJlY3RpdmUuJGVsZW1lbnQuYXR0cignc2NyaXB0cy10by1sb2FkJyk7XG4gICAgICAgICAgICBpZiAoc2NyaXB0c1JlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkKC4uLnNjcmlwdHNSZXF1aXJlZC5zcGxpdCgnLCcpKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtdXRlKCkge1xuICAgICAgICBjb25zdCBtID0gbyA9PiB7IG8gJiYgby5tdXRlICYmIG8ubXV0ZSgpOyB9O1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgbSk7XG4gICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIG0pO1xuICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgbSk7XG4gICAgfVxuXG4gICAgdW5tdXRlKCkge1xuICAgICAgICBjb25zdCB1bSA9IG8gPT4geyBvICYmIG8udW5tdXRlICYmIG8udW5tdXRlKCk7IH07XG4gICAgICAgIGVhY2godGhpcy5XaWRnZXRzLCB1bSk7XG4gICAgICAgIGVhY2godGhpcy5WYXJpYWJsZXMsIHVtKTtcbiAgICAgICAgZWFjaCh0aGlzLkFjdGlvbnMsIHVtKTtcbiAgICB9XG5cbiAgICBuZ09uQXR0YWNoKHJlZnJlc2hEYXRhKSB7XG4gICAgICAgIHRoaXMudW5tdXRlKCk7XG4gICAgICAgIGlmKHJlZnJlc2hEYXRhKSB7XG4gICAgICAgICAgICBjb25zdCByZWZyZXNoID0gdiA9PiB7IHYgJiYgdi5zdGFydFVwZGF0ZSAmJiB2Lmludm9rZSAmJiB2Lmludm9rZSgpOyB9O1xuICAgICAgICAgICAgZWFjaCh0aGlzLlZhcmlhYmxlcywgcmVmcmVzaCk7XG4gICAgICAgICAgICBlYWNoKHRoaXMuQWN0aW9ucywgcmVmcmVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25BdHRhY2ggJiYgdy5uZ09uQXR0YWNoKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMubXV0ZSgpO1xuICAgICAgICBlYWNoKHRoaXMuV2lkZ2V0cywgdyA9PiB3ICYmIHcubmdPbkRldGFjaCAmJiB3Lm5nT25EZXRhY2goKSk7XG4gICAgfVxuXG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZFNjcmlwdHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tcGlsZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNoYW5nZUxpc3RlbmVycygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gdHJpZ2dlciB2aWV3SW5pdCQuY29tcGxldGUgYWZ0ZXIgYSB0aW1lb3V0IHNvIHRoYXQgdGhlIHdpZGdldCBsaXN0ZW5lcnMgYXJlIHJlYWR5IGJlZm9yZSBWYXJpYWJsZSB4aHIgY2FsbC5cbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdJbml0JC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZnJhZ21lbnRzTG9hZGVkJC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4gdGhpcy5pbnZva2VPblJlYWR5KCkpO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvLyB1c2VyIG92ZXJyaWRlcyB0aGlzXG4gICAgb25Qcm9wZXJ0eUNoYW5nZSgpIHt9XG5cbiAgICBvblJlYWR5KCkge31cblxufVxuIl19
|