@wavemaker/app-ng-runtime 11.7.5-rc.5649 → 11.8.0-next.1417111
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.
- app-ng-runtime/build-task/.npmignore +2 -0
- app-ng-runtime/build-task/bundles/index.umd.js +10 -3
- app-ng-runtime/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +4 -2
- app-ng-runtime/build-task/esm2022/advanced/carousel/carousel.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/containers/repeat-template.build.mjs +4 -2
- app-ng-runtime/build-task/esm2022/containers/tabs/tabs.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/form/form.build.mjs +5 -2
- app-ng-runtime/build-task/esm2022/data/list/list.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/media-list/media-list.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/table/table-column/table-column.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/table/table.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/navigation/menu/menu.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/navigation/popover/popover.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page-content/page-content.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/utils/utils.mjs +1 -1
- app-ng-runtime/build-task/fesm2022/index.mjs +11 -4
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/.npmignore +2 -0
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +21 -11
- app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -2
- app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +12 -7
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +1 -1
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +12 -7
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.module.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +23 -13
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/.npmignore +2 -0
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +14 -8
- app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +15 -9
- app-ng-runtime/components/advanced/login/esm2022/login.module.mjs +2 -2
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs +16 -10
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/login.component.d.ts +2 -2
- app-ng-runtime/components/advanced/marquee/.npmignore +2 -0
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +11 -6
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.directive.mjs +12 -7
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.module.mjs +2 -2
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -2
- app-ng-runtime/components/base/.npmignore +2 -0
- app-ng-runtime/components/base/bundles/index.umd.js +159 -104
- app-ng-runtime/components/base/esm2022/components.module.mjs +2 -2
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +4 -4
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +24 -24
- app-ng-runtime/components/base/esm2022/pipes/image.pipe.mjs +2 -2
- app-ng-runtime/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -3
- app-ng-runtime/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -3
- app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +1 -1
- app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +1 -1
- app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +2 -2
- app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +1 -1
- app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +5 -5
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +32 -7
- app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +13 -5
- app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -4
- app-ng-runtime/components/base/esm2022/widgets/common/base/stylable.component.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/container/container.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/message/message.component.mjs +16 -10
- app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +7 -7
- app-ng-runtime/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +4 -4
- app-ng-runtime/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -6
- app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/styler.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-props.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-registry.mjs +1 -1
- app-ng-runtime/components/base/fesm2022/index.mjs +157 -100
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +4 -2
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/.npmignore +2 -0
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/bundles/index.umd.js +149 -106
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +31 -27
- app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +13 -7
- app-ng-runtime/components/basic/default/esm2022/basic.module.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/html/html.directive.mjs +13 -8
- app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +19 -14
- app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +15 -9
- app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +12 -7
- app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +12 -7
- app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +1 -1
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +30 -27
- app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +21 -17
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +151 -108
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -2
- app-ng-runtime/components/basic/progress/.npmignore +2 -0
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +29 -17
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +19 -13
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +13 -7
- app-ng-runtime/components/basic/progress/esm2022/progress.module.mjs +2 -2
- app-ng-runtime/components/basic/progress/esm2022/utils.mjs +1 -1
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +31 -19
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -2
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -2
- app-ng-runtime/components/basic/rich-text-editor/.npmignore +2 -0
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +6 -5
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +6 -5
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +2 -2
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +7 -6
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/.npmignore +2 -0
- app-ng-runtime/components/basic/search/bundles/index.umd.js +120 -111
- app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
- app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +1 -1
- app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +1 -1
- app-ng-runtime/components/basic/search/esm2022/scrollable.directive.mjs +3 -3
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +119 -110
- app-ng-runtime/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +121 -112
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +2 -2
- app-ng-runtime/components/basic/tree/.npmignore +2 -0
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +15 -9
- app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +16 -10
- app-ng-runtime/components/basic/tree/esm2022/tree.module.mjs +2 -2
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs +17 -11
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/tree/tree.component.d.ts +2 -2
- app-ng-runtime/components/chart/.npmignore +2 -0
- app-ng-runtime/components/chart/bundles/index.umd.js +26 -22
- app-ng-runtime/components/chart/chart.component.d.ts +2 -2
- app-ng-runtime/components/chart/esm2022/chart.component.mjs +26 -22
- app-ng-runtime/components/chart/esm2022/chart.module.mjs +2 -2
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +1 -1
- app-ng-runtime/components/chart/fesm2022/index.mjs +27 -23
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/.npmignore +2 -0
- app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -2
- app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +2 -2
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +35 -24
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +23 -17
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +4 -4
- app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +12 -7
- app-ng-runtime/components/containers/accordion/esm2022/accordion.module.mjs +2 -2
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +37 -26
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/.npmignore +2 -0
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +32 -17
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +13 -8
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +12 -7
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +12 -7
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.module.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs +34 -19
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +2 -2
- app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -2
- app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -2
- app-ng-runtime/components/containers/linear-layout/.npmignore +2 -0
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +21 -11
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +12 -7
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +12 -7
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.module.mjs +2 -2
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs +23 -13
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -2
- app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -2
- app-ng-runtime/components/containers/panel/.npmignore +2 -0
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +80 -80
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +81 -81
- app-ng-runtime/components/containers/panel/esm2022/panel.module.mjs +2 -2
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +82 -82
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -2
- app-ng-runtime/components/containers/tabs/.npmignore +2 -0
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +58 -47
- app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +14 -8
- app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +4 -4
- app-ng-runtime/components/containers/tabs/esm2022/tabs.animator.mjs +1 -1
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +44 -39
- app-ng-runtime/components/containers/tabs/esm2022/tabs.module.mjs +2 -2
- app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +1 -1
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +60 -49
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -2
- app-ng-runtime/components/containers/tabs/tabs.component.d.ts +2 -2
- app-ng-runtime/components/containers/tile/.npmignore +2 -0
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +11 -6
- app-ng-runtime/components/containers/tile/esm2022/tile.directive.mjs +12 -7
- app-ng-runtime/components/containers/tile/esm2022/tile.module.mjs +2 -2
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -2
- app-ng-runtime/components/containers/wizard/.npmignore +2 -0
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +102 -98
- app-ng-runtime/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +13 -8
- app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +92 -93
- app-ng-runtime/components/containers/wizard/esm2022/wizard.module.mjs +2 -2
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +104 -100
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -2
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -2
- app-ng-runtime/components/data/card/.npmignore +2 -0
- app-ng-runtime/components/data/card/bundles/index.umd.js +70 -50
- app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -2
- app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -2
- app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -2
- app-ng-runtime/components/data/card/card.component.d.ts +2 -2
- app-ng-runtime/components/data/card/esm2022/card-actions/card-actions.directive.mjs +12 -7
- app-ng-runtime/components/data/card/esm2022/card-content/card-content.component.mjs +15 -9
- app-ng-runtime/components/data/card/esm2022/card-footer/card-footer.directive.mjs +12 -7
- app-ng-runtime/components/data/card/esm2022/card.component.mjs +38 -34
- app-ng-runtime/components/data/card/esm2022/card.module.mjs +2 -2
- app-ng-runtime/components/data/card/fesm2022/index.mjs +72 -52
- app-ng-runtime/components/data/card/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/.npmignore +2 -0
- app-ng-runtime/components/data/form/bundles/index.umd.js +127 -115
- app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +13 -8
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +13 -7
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.props.mjs +1 -1
- app-ng-runtime/components/data/form/esm2022/form-widget.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +87 -84
- app-ng-runtime/components/data/form/esm2022/form.module.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form.props.mjs +1 -1
- app-ng-runtime/components/data/form/esm2022/live-actions/dependson.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/live-actions/live-actions.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +5 -5
- app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +6 -8
- app-ng-runtime/components/data/form/fesm2022/index.mjs +129 -117
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -2
- app-ng-runtime/components/data/form/form.component.d.ts +2 -2
- app-ng-runtime/components/data/list/.npmignore +2 -0
- app-ng-runtime/components/data/list/bundles/index.umd.js +142 -142
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +4 -4
- app-ng-runtime/components/data/list/esm2022/list.animator.mjs +1 -1
- app-ng-runtime/components/data/list/esm2022/list.component.mjs +140 -140
- app-ng-runtime/components/data/list/esm2022/list.module.mjs +2 -2
- app-ng-runtime/components/data/list/fesm2022/index.mjs +144 -144
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +2 -2
- app-ng-runtime/components/data/live-table/.npmignore +2 -0
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +13 -7
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +14 -8
- app-ng-runtime/components/data/live-table/esm2022/live-table.module.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +15 -9
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/live-table.component.d.ts +2 -2
- app-ng-runtime/components/data/pagination/.npmignore +2 -0
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +98 -96
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +99 -97
- app-ng-runtime/components/data/pagination/esm2022/pagination.module.mjs +2 -2
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +100 -98
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -2
- app-ng-runtime/components/data/table/.npmignore +2 -0
- app-ng-runtime/components/data/table/bundles/index.umd.js +128 -97
- app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.props.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +4 -4
- app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +4 -4
- app-ng-runtime/components/data/table/esm2022/table-row/table-row.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +12 -7
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +66 -60
- app-ng-runtime/components/data/table/esm2022/table.module.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -2
- app-ng-runtime/components/data/table/fesm2022/index.mjs +130 -99
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +15 -9
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +16 -10
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +17 -11
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +17 -11
- app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +18 -12
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +19 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/.npmignore +2 -0
- app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +73 -69
- app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +13 -8
- app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +4 -4
- app-ng-runtime/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +12 -7
- app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +49 -55
- app-ng-runtime/components/dialogs/default/esm2022/dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +75 -71
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +20 -14
- app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +21 -15
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +22 -16
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -14
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -15
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +22 -16
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/login-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/login-dialog/bundles/index.umd.js +4 -4
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +4 -4
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +16 -10
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +17 -11
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +18 -12
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -2
- app-ng-runtime/components/input/calendar/.npmignore +2 -0
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +14 -8
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +2 -2
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +15 -9
- app-ng-runtime/components/input/calendar/esm2022/calendar.module.mjs +2 -2
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +16 -10
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/.npmignore +2 -0
- app-ng-runtime/components/input/chips/bundles/index.umd.js +41 -34
- app-ng-runtime/components/input/chips/chips.component.d.ts +2 -2
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +42 -35
- app-ng-runtime/components/input/chips/esm2022/chips.module.mjs +2 -2
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +42 -35
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/.npmignore +2 -0
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +24 -11
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -2
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +25 -12
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.module.mjs +2 -2
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +25 -12
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/.npmignore +2 -0
- app-ng-runtime/components/input/currency/bundles/index.umd.js +18 -11
- app-ng-runtime/components/input/currency/currency.component.d.ts +2 -2
- app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +19 -12
- app-ng-runtime/components/input/currency/esm2022/currency.module.mjs +2 -2
- app-ng-runtime/components/input/currency/fesm2022/index.mjs +19 -12
- app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/.npmignore +2 -0
- app-ng-runtime/components/input/default/bundles/index.umd.js +540 -416
- app-ng-runtime/components/input/default/button/button.component.d.ts +2 -2
- app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -2
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -2
- app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -2
- app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -2
- app-ng-runtime/components/input/default/esm2022/base-form-custom.component.mjs +3 -3
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +4 -4
- app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +32 -28
- app-ng-runtime/components/input/default/esm2022/button-group/button-group.directive.mjs +12 -7
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +5 -4
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +23 -14
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +103 -101
- app-ng-runtime/components/input/default/esm2022/composite/composite.directive.mjs +12 -7
- app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +4 -4
- app-ng-runtime/components/input/default/esm2022/input.module.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +17 -10
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +103 -101
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +72 -55
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +34 -28
- app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +13 -8
- app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +21 -11
- app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +21 -11
- app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +20 -11
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +16 -7
- app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +21 -12
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +20 -11
- app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +21 -12
- app-ng-runtime/components/input/default/fesm2022/index.mjs +540 -414
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +2 -2
- app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -2
- app-ng-runtime/components/input/default/select/select.component.d.ts +4 -3
- app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/base/base-input.d.ts +2 -2
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -1
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -2
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/.npmignore +2 -0
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +145 -112
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +11 -6
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +26 -19
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +1 -1
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +40 -40
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +41 -31
- app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +7 -5
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +28 -19
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +147 -114
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +2 -2
- app-ng-runtime/components/input/file-upload/.npmignore +2 -0
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +119 -121
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +120 -122
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +121 -123
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +2 -2
- app-ng-runtime/components/input/rating/.npmignore +2 -0
- app-ng-runtime/components/input/rating/bundles/index.umd.js +46 -39
- app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +47 -40
- app-ng-runtime/components/input/rating/esm2022/rating.module.mjs +2 -2
- app-ng-runtime/components/input/rating/fesm2022/index.mjs +47 -40
- app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/rating.component.d.ts +2 -2
- app-ng-runtime/components/input/slider/.npmignore +2 -0
- app-ng-runtime/components/input/slider/bundles/index.umd.js +21 -12
- app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +22 -13
- app-ng-runtime/components/input/slider/esm2022/slider.module.mjs +2 -2
- app-ng-runtime/components/input/slider/fesm2022/index.mjs +22 -13
- app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +2 -2
- app-ng-runtime/components/navigation/breadcrumb/.npmignore +2 -0
- app-ng-runtime/components/navigation/breadcrumb/breadcrumb.component.d.ts +2 -2
- app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +33 -28
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +34 -29
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +35 -30
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/.npmignore +2 -0
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +133 -117
- app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +11 -6
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +5 -4
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +23 -23
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +37 -34
- app-ng-runtime/components/navigation/menu/esm2022/menu.module.mjs +2 -2
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +12 -7
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +52 -50
- app-ng-runtime/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -3
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +135 -119
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -1
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -2
- app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -2
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +2 -2
- app-ng-runtime/components/navigation/navbar/.npmignore +2 -0
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +29 -22
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.component.mjs +30 -23
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.module.mjs +2 -2
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs +31 -24
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -2
- app-ng-runtime/components/navigation/popover/.npmignore +2 -0
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +18 -11
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +19 -12
- app-ng-runtime/components/navigation/popover/esm2022/popover.module.mjs +2 -2
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +20 -13
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/popover/popover.component.d.ts +2 -2
- app-ng-runtime/components/page/default/.npmignore +2 -0
- app-ng-runtime/components/page/default/bundles/index.umd.js +63 -31
- app-ng-runtime/components/page/default/content/content.component.d.ts +2 -2
- app-ng-runtime/components/page/default/esm2022/content/content.component.mjs +13 -7
- app-ng-runtime/components/page/default/esm2022/layout.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/page-content/page-content.component.mjs +13 -7
- app-ng-runtime/components/page/default/esm2022/page.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/router-outlet.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/spa-page.directive.mjs +12 -7
- app-ng-runtime/components/page/default/fesm2022/index.mjs +65 -33
- app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/layout.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +2 -2
- app-ng-runtime/components/page/default/page.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/spa-page.directive.d.ts +2 -2
- app-ng-runtime/components/page/footer/.npmignore +2 -0
- app-ng-runtime/components/page/footer/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/footer/esm2022/footer.directive.mjs +12 -7
- app-ng-runtime/components/page/footer/esm2022/footer.module.mjs +2 -2
- app-ng-runtime/components/page/footer/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -2
- app-ng-runtime/components/page/header/.npmignore +2 -0
- app-ng-runtime/components/page/header/bundles/index.umd.js +12 -6
- app-ng-runtime/components/page/header/esm2022/header.component.mjs +13 -7
- app-ng-runtime/components/page/header/esm2022/header.module.mjs +2 -2
- app-ng-runtime/components/page/header/fesm2022/index.mjs +14 -8
- app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/header.component.d.ts +2 -2
- app-ng-runtime/components/page/left-panel/.npmignore +2 -0
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +12 -7
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.animator.mjs +1 -1
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +13 -8
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +14 -9
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
- app-ng-runtime/components/page/right-panel/.npmignore +2 -0
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +12 -7
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.module.mjs +2 -2
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
- app-ng-runtime/components/page/top-nav/.npmignore +2 -0
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.directive.mjs +12 -7
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.module.mjs +2 -2
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -2
- app-ng-runtime/components/prefab/.npmignore +2 -0
- app-ng-runtime/components/prefab/bundles/index.umd.js +22 -12
- app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +12 -7
- app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +13 -8
- app-ng-runtime/components/prefab/esm2022/prefab.module.mjs +2 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs +23 -13
- app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +2 -2
- app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -2
- app-ng-runtime/core/.npmignore +2 -0
- app-ng-runtime/core/bundles/index.umd.js +16 -16
- app-ng-runtime/core/esm2022/core.module.mjs +2 -2
- app-ng-runtime/core/esm2022/services/constant.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -3
- app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -3
- app-ng-runtime/core/esm2022/services/pagination.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/script-loader.service.mjs +3 -3
- app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/user-custom-pipe-manager.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -3
- app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -3
- app-ng-runtime/core/esm2022/utils/build-utils.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/dom.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/event-notifier.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/expression-parser.mjs +2 -2
- app-ng-runtime/core/esm2022/utils/id-generator.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/lru-cache.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/utils.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/watcher.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/wm-project-properties.mjs +1 -1
- app-ng-runtime/core/fesm2022/index.mjs +17 -17
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/http/.npmignore +2 -0
- app-ng-runtime/http/bundles/index.umd.js +3 -3
- app-ng-runtime/http/esm2022/http-service.module.mjs +2 -2
- app-ng-runtime/http/esm2022/http.service.mjs +3 -3
- app-ng-runtime/http/fesm2022/index.mjs +3 -3
- app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/locales/angular/global/af-na.js +4 -4
- app-ng-runtime/locales/angular/global/af.js +4 -4
- app-ng-runtime/locales/angular/global/agq.js +4 -4
- app-ng-runtime/locales/angular/global/ak.js +4 -4
- app-ng-runtime/locales/angular/global/am.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ae.js +4 -4
- app-ng-runtime/locales/angular/global/ar-bh.js +4 -4
- app-ng-runtime/locales/angular/global/ar-dj.js +4 -4
- app-ng-runtime/locales/angular/global/ar-dz.js +4 -4
- app-ng-runtime/locales/angular/global/ar-eg.js +4 -4
- app-ng-runtime/locales/angular/global/ar-eh.js +4 -4
- app-ng-runtime/locales/angular/global/ar-er.js +4 -4
- app-ng-runtime/locales/angular/global/ar-il.js +4 -4
- app-ng-runtime/locales/angular/global/ar-iq.js +4 -4
- app-ng-runtime/locales/angular/global/ar-jo.js +4 -4
- app-ng-runtime/locales/angular/global/ar-km.js +4 -4
- app-ng-runtime/locales/angular/global/ar-kw.js +4 -4
- app-ng-runtime/locales/angular/global/ar-lb.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ly.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ma.js +4 -4
- app-ng-runtime/locales/angular/global/ar-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ar-om.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ps.js +4 -4
- app-ng-runtime/locales/angular/global/ar-qa.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sa.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sd.js +4 -4
- app-ng-runtime/locales/angular/global/ar-so.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ss.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sy.js +4 -4
- app-ng-runtime/locales/angular/global/ar-td.js +4 -4
- app-ng-runtime/locales/angular/global/ar-tn.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ye.js +4 -4
- app-ng-runtime/locales/angular/global/ar.js +4 -4
- app-ng-runtime/locales/angular/global/as.js +4 -4
- app-ng-runtime/locales/angular/global/asa.js +4 -4
- app-ng-runtime/locales/angular/global/ast.js +4 -4
- app-ng-runtime/locales/angular/global/az-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/az-latn.js +4 -4
- app-ng-runtime/locales/angular/global/az.js +4 -4
- app-ng-runtime/locales/angular/global/bas.js +4 -4
- app-ng-runtime/locales/angular/global/be-tarask.js +4 -4
- app-ng-runtime/locales/angular/global/be.js +4 -4
- app-ng-runtime/locales/angular/global/bem.js +4 -4
- app-ng-runtime/locales/angular/global/bez.js +4 -4
- app-ng-runtime/locales/angular/global/bg.js +4 -4
- app-ng-runtime/locales/angular/global/bm.js +4 -4
- app-ng-runtime/locales/angular/global/bn-in.js +4 -4
- app-ng-runtime/locales/angular/global/bn.js +4 -4
- app-ng-runtime/locales/angular/global/bo-in.js +4 -4
- app-ng-runtime/locales/angular/global/bo.js +4 -4
- app-ng-runtime/locales/angular/global/br.js +4 -4
- app-ng-runtime/locales/angular/global/brx.js +4 -4
- app-ng-runtime/locales/angular/global/bs-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/bs-latn.js +4 -4
- app-ng-runtime/locales/angular/global/bs.js +4 -4
- app-ng-runtime/locales/angular/global/ca-ad.js +4 -4
- app-ng-runtime/locales/angular/global/ca-es-valencia.js +4 -4
- app-ng-runtime/locales/angular/global/ca-fr.js +4 -4
- app-ng-runtime/locales/angular/global/ca-it.js +4 -4
- app-ng-runtime/locales/angular/global/ca.js +4 -4
- app-ng-runtime/locales/angular/global/ccp-in.js +4 -4
- app-ng-runtime/locales/angular/global/ccp.js +4 -4
- app-ng-runtime/locales/angular/global/ce.js +4 -4
- app-ng-runtime/locales/angular/global/ceb.js +4 -4
- app-ng-runtime/locales/angular/global/cgg.js +4 -4
- app-ng-runtime/locales/angular/global/chr.js +4 -4
- app-ng-runtime/locales/angular/global/ckb-ir.js +4 -4
- app-ng-runtime/locales/angular/global/ckb.js +4 -4
- app-ng-runtime/locales/angular/global/cs.js +4 -4
- app-ng-runtime/locales/angular/global/cy.js +4 -4
- app-ng-runtime/locales/angular/global/da-gl.js +4 -4
- app-ng-runtime/locales/angular/global/da.js +4 -4
- app-ng-runtime/locales/angular/global/dav.js +4 -4
- app-ng-runtime/locales/angular/global/de-at.js +4 -4
- app-ng-runtime/locales/angular/global/de-be.js +4 -4
- app-ng-runtime/locales/angular/global/de-ch.js +4 -4
- app-ng-runtime/locales/angular/global/de-it.js +4 -4
- app-ng-runtime/locales/angular/global/de-li.js +4 -4
- app-ng-runtime/locales/angular/global/de-lu.js +4 -4
- app-ng-runtime/locales/angular/global/de.js +4 -4
- app-ng-runtime/locales/angular/global/dje.js +4 -4
- app-ng-runtime/locales/angular/global/doi.js +4 -4
- app-ng-runtime/locales/angular/global/dsb.js +4 -4
- app-ng-runtime/locales/angular/global/dua.js +4 -4
- app-ng-runtime/locales/angular/global/dyo.js +4 -4
- app-ng-runtime/locales/angular/global/dz.js +4 -4
- app-ng-runtime/locales/angular/global/ebu.js +4 -4
- app-ng-runtime/locales/angular/global/ee-tg.js +4 -4
- app-ng-runtime/locales/angular/global/ee.js +4 -4
- app-ng-runtime/locales/angular/global/el-cy.js +4 -4
- app-ng-runtime/locales/angular/global/el.js +4 -4
- app-ng-runtime/locales/angular/global/en-001.js +4 -4
- app-ng-runtime/locales/angular/global/en-150.js +4 -4
- app-ng-runtime/locales/angular/global/en-ae.js +4 -4
- app-ng-runtime/locales/angular/global/en-ag.js +4 -4
- app-ng-runtime/locales/angular/global/en-ai.js +4 -4
- app-ng-runtime/locales/angular/global/en-as.js +4 -4
- app-ng-runtime/locales/angular/global/en-at.js +4 -4
- app-ng-runtime/locales/angular/global/en-au.js +4 -4
- app-ng-runtime/locales/angular/global/en-bb.js +4 -4
- app-ng-runtime/locales/angular/global/en-be.js +4 -4
- app-ng-runtime/locales/angular/global/en-bi.js +4 -4
- app-ng-runtime/locales/angular/global/en-bm.js +4 -4
- app-ng-runtime/locales/angular/global/en-bs.js +4 -4
- app-ng-runtime/locales/angular/global/en-bw.js +4 -4
- app-ng-runtime/locales/angular/global/en-bz.js +4 -4
- app-ng-runtime/locales/angular/global/en-ca.js +4 -4
- app-ng-runtime/locales/angular/global/en-cc.js +4 -4
- app-ng-runtime/locales/angular/global/en-ch.js +4 -4
- app-ng-runtime/locales/angular/global/en-ck.js +4 -4
- app-ng-runtime/locales/angular/global/en-cm.js +4 -4
- app-ng-runtime/locales/angular/global/en-cx.js +4 -4
- app-ng-runtime/locales/angular/global/en-cy.js +4 -4
- app-ng-runtime/locales/angular/global/en-de.js +4 -4
- app-ng-runtime/locales/angular/global/en-dg.js +4 -4
- app-ng-runtime/locales/angular/global/en-dk.js +4 -4
- app-ng-runtime/locales/angular/global/en-dm.js +4 -4
- app-ng-runtime/locales/angular/global/en-er.js +4 -4
- app-ng-runtime/locales/angular/global/en-fi.js +4 -4
- app-ng-runtime/locales/angular/global/en-fj.js +4 -4
- app-ng-runtime/locales/angular/global/en-fk.js +4 -4
- app-ng-runtime/locales/angular/global/en-fm.js +4 -4
- app-ng-runtime/locales/angular/global/en-gb.js +4 -4
- app-ng-runtime/locales/angular/global/en-gd.js +4 -4
- app-ng-runtime/locales/angular/global/en-gg.js +4 -4
- app-ng-runtime/locales/angular/global/en-gh.js +4 -4
- app-ng-runtime/locales/angular/global/en-gi.js +4 -4
- app-ng-runtime/locales/angular/global/en-gm.js +4 -4
- app-ng-runtime/locales/angular/global/en-gu.js +4 -4
- app-ng-runtime/locales/angular/global/en-gy.js +4 -4
- app-ng-runtime/locales/angular/global/en-hk.js +4 -4
- app-ng-runtime/locales/angular/global/en-ie.js +4 -4
- app-ng-runtime/locales/angular/global/en-il.js +4 -4
- app-ng-runtime/locales/angular/global/en-im.js +4 -4
- app-ng-runtime/locales/angular/global/en-in.js +4 -4
- app-ng-runtime/locales/angular/global/en-io.js +4 -4
- app-ng-runtime/locales/angular/global/en-je.js +4 -4
- app-ng-runtime/locales/angular/global/en-jm.js +4 -4
- app-ng-runtime/locales/angular/global/en-ke.js +4 -4
- app-ng-runtime/locales/angular/global/en-ki.js +4 -4
- app-ng-runtime/locales/angular/global/en-kn.js +4 -4
- app-ng-runtime/locales/angular/global/en-ky.js +4 -4
- app-ng-runtime/locales/angular/global/en-lc.js +4 -4
- app-ng-runtime/locales/angular/global/en-lr.js +4 -4
- app-ng-runtime/locales/angular/global/en-ls.js +4 -4
- app-ng-runtime/locales/angular/global/en-mg.js +4 -4
- app-ng-runtime/locales/angular/global/en-mh.js +4 -4
- app-ng-runtime/locales/angular/global/en-mo.js +4 -4
- app-ng-runtime/locales/angular/global/en-mp.js +4 -4
- app-ng-runtime/locales/angular/global/en-ms.js +4 -4
- app-ng-runtime/locales/angular/global/en-mt.js +4 -4
- app-ng-runtime/locales/angular/global/en-mu.js +4 -4
- app-ng-runtime/locales/angular/global/en-mv.js +4 -4
- app-ng-runtime/locales/angular/global/en-mw.js +4 -4
- app-ng-runtime/locales/angular/global/en-my.js +4 -4
- app-ng-runtime/locales/angular/global/en-na.js +4 -4
- app-ng-runtime/locales/angular/global/en-nf.js +4 -4
- app-ng-runtime/locales/angular/global/en-ng.js +4 -4
- app-ng-runtime/locales/angular/global/en-nl.js +4 -4
- app-ng-runtime/locales/angular/global/en-nr.js +4 -4
- app-ng-runtime/locales/angular/global/en-nu.js +4 -4
- app-ng-runtime/locales/angular/global/en-nz.js +4 -4
- app-ng-runtime/locales/angular/global/en-pg.js +4 -4
- app-ng-runtime/locales/angular/global/en-ph.js +4 -4
- app-ng-runtime/locales/angular/global/en-pk.js +4 -4
- app-ng-runtime/locales/angular/global/en-pn.js +4 -4
- app-ng-runtime/locales/angular/global/en-pr.js +4 -4
- app-ng-runtime/locales/angular/global/en-pw.js +4 -4
- app-ng-runtime/locales/angular/global/en-rw.js +4 -4
- app-ng-runtime/locales/angular/global/en-sb.js +4 -4
- app-ng-runtime/locales/angular/global/en-sc.js +4 -4
- app-ng-runtime/locales/angular/global/en-sd.js +4 -4
- app-ng-runtime/locales/angular/global/en-se.js +4 -4
- app-ng-runtime/locales/angular/global/en-sg.js +4 -4
- app-ng-runtime/locales/angular/global/en-sh.js +4 -4
- app-ng-runtime/locales/angular/global/en-si.js +4 -4
- app-ng-runtime/locales/angular/global/en-sl.js +4 -4
- app-ng-runtime/locales/angular/global/en-ss.js +4 -4
- app-ng-runtime/locales/angular/global/en-sx.js +4 -4
- app-ng-runtime/locales/angular/global/en-sz.js +4 -4
- app-ng-runtime/locales/angular/global/en-tc.js +4 -4
- app-ng-runtime/locales/angular/global/en-tk.js +4 -4
- app-ng-runtime/locales/angular/global/en-to.js +4 -4
- app-ng-runtime/locales/angular/global/en-tt.js +4 -4
- app-ng-runtime/locales/angular/global/en-tv.js +4 -4
- app-ng-runtime/locales/angular/global/en-tz.js +4 -4
- app-ng-runtime/locales/angular/global/en-ug.js +4 -4
- app-ng-runtime/locales/angular/global/en-um.js +4 -4
- app-ng-runtime/locales/angular/global/en-vc.js +4 -4
- app-ng-runtime/locales/angular/global/en-vg.js +4 -4
- app-ng-runtime/locales/angular/global/en-vi.js +4 -4
- app-ng-runtime/locales/angular/global/en-vu.js +4 -4
- app-ng-runtime/locales/angular/global/en-ws.js +4 -4
- app-ng-runtime/locales/angular/global/en-za.js +4 -4
- app-ng-runtime/locales/angular/global/en-zm.js +4 -4
- app-ng-runtime/locales/angular/global/en-zw.js +4 -4
- app-ng-runtime/locales/angular/global/en.js +4 -4
- app-ng-runtime/locales/angular/global/eo.js +4 -4
- app-ng-runtime/locales/angular/global/es-419.js +4 -4
- app-ng-runtime/locales/angular/global/es-ar.js +4 -4
- app-ng-runtime/locales/angular/global/es-bo.js +4 -4
- app-ng-runtime/locales/angular/global/es-br.js +4 -4
- app-ng-runtime/locales/angular/global/es-bz.js +4 -4
- app-ng-runtime/locales/angular/global/es-cl.js +4 -4
- app-ng-runtime/locales/angular/global/es-co.js +4 -4
- app-ng-runtime/locales/angular/global/es-cr.js +4 -4
- app-ng-runtime/locales/angular/global/es-cu.js +4 -4
- app-ng-runtime/locales/angular/global/es-do.js +4 -4
- app-ng-runtime/locales/angular/global/es-ea.js +4 -4
- app-ng-runtime/locales/angular/global/es-ec.js +4 -4
- app-ng-runtime/locales/angular/global/es-gq.js +4 -4
- app-ng-runtime/locales/angular/global/es-gt.js +4 -4
- app-ng-runtime/locales/angular/global/es-hn.js +4 -4
- app-ng-runtime/locales/angular/global/es-ic.js +4 -4
- app-ng-runtime/locales/angular/global/es-mx.js +4 -4
- app-ng-runtime/locales/angular/global/es-ni.js +4 -4
- app-ng-runtime/locales/angular/global/es-pa.js +4 -4
- app-ng-runtime/locales/angular/global/es-pe.js +4 -4
- app-ng-runtime/locales/angular/global/es-ph.js +4 -4
- app-ng-runtime/locales/angular/global/es-pr.js +4 -4
- app-ng-runtime/locales/angular/global/es-py.js +4 -4
- app-ng-runtime/locales/angular/global/es-sv.js +4 -4
- app-ng-runtime/locales/angular/global/es-us.js +4 -4
- app-ng-runtime/locales/angular/global/es-uy.js +4 -4
- app-ng-runtime/locales/angular/global/es-ve.js +4 -4
- app-ng-runtime/locales/angular/global/es.js +4 -4
- app-ng-runtime/locales/angular/global/et.js +4 -4
- app-ng-runtime/locales/angular/global/eu.js +4 -4
- app-ng-runtime/locales/angular/global/ewo.js +4 -4
- app-ng-runtime/locales/angular/global/fa-af.js +4 -4
- app-ng-runtime/locales/angular/global/fa.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-bf.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-cm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gw.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-lr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-ng.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-sl.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-sn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-cm.js +58 -44
- app-ng-runtime/locales/angular/global/ff-gn.js +58 -44
- app-ng-runtime/locales/angular/global/ff-latn-bf.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-cm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gw.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-lr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-ng.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-sl.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-mr.js +58 -44
- app-ng-runtime/locales/angular/global/ff.js +4 -4
- app-ng-runtime/locales/angular/global/fi.js +4 -4
- app-ng-runtime/locales/angular/global/fil.js +4 -4
- app-ng-runtime/locales/angular/global/fo-dk.js +4 -4
- app-ng-runtime/locales/angular/global/fo.js +4 -4
- app-ng-runtime/locales/angular/global/fr-be.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bi.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bj.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bl.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ca.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cd.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ch.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ci.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cm.js +4 -4
- app-ng-runtime/locales/angular/global/fr-dj.js +4 -4
- app-ng-runtime/locales/angular/global/fr-dz.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ga.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gp.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gq.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ht.js +4 -4
- app-ng-runtime/locales/angular/global/fr-km.js +4 -4
- app-ng-runtime/locales/angular/global/fr-lu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ma.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ml.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mq.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mr.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-nc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ne.js +4 -4
- app-ng-runtime/locales/angular/global/fr-pf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-pm.js +4 -4
- app-ng-runtime/locales/angular/global/fr-re.js +4 -4
- app-ng-runtime/locales/angular/global/fr-rw.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sy.js +4 -4
- app-ng-runtime/locales/angular/global/fr-td.js +4 -4
- app-ng-runtime/locales/angular/global/fr-tg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-tn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-vu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-wf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-yt.js +4 -4
- app-ng-runtime/locales/angular/global/fr.js +4 -4
- app-ng-runtime/locales/angular/global/fur.js +4 -4
- app-ng-runtime/locales/angular/global/fy.js +4 -4
- app-ng-runtime/locales/angular/global/ga-gb.js +4 -4
- app-ng-runtime/locales/angular/global/ga.js +4 -4
- app-ng-runtime/locales/angular/global/gd.js +4 -4
- app-ng-runtime/locales/angular/global/gl.js +4 -4
- app-ng-runtime/locales/angular/global/gsw-fr.js +4 -4
- app-ng-runtime/locales/angular/global/gsw-li.js +4 -4
- app-ng-runtime/locales/angular/global/gsw.js +4 -4
- app-ng-runtime/locales/angular/global/gu.js +4 -4
- app-ng-runtime/locales/angular/global/guz.js +4 -4
- app-ng-runtime/locales/angular/global/gv.js +4 -4
- app-ng-runtime/locales/angular/global/ha-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ha-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ha.js +4 -4
- app-ng-runtime/locales/angular/global/haw.js +4 -4
- app-ng-runtime/locales/angular/global/he.js +4 -4
- app-ng-runtime/locales/angular/global/hi-latn.js +4 -4
- app-ng-runtime/locales/angular/global/hi.js +4 -4
- app-ng-runtime/locales/angular/global/hr-ba.js +4 -4
- app-ng-runtime/locales/angular/global/hr.js +4 -4
- app-ng-runtime/locales/angular/global/hsb.js +4 -4
- app-ng-runtime/locales/angular/global/hu.js +4 -4
- app-ng-runtime/locales/angular/global/hy.js +4 -4
- app-ng-runtime/locales/angular/global/ia.js +4 -4
- app-ng-runtime/locales/angular/global/id.js +4 -4
- app-ng-runtime/locales/angular/global/ig.js +4 -4
- app-ng-runtime/locales/angular/global/ii.js +4 -4
- app-ng-runtime/locales/angular/global/is.js +4 -4
- app-ng-runtime/locales/angular/global/it-ch.js +4 -4
- app-ng-runtime/locales/angular/global/it-sm.js +4 -4
- app-ng-runtime/locales/angular/global/it-va.js +4 -4
- app-ng-runtime/locales/angular/global/it.js +4 -4
- app-ng-runtime/locales/angular/global/ja.js +4 -4
- app-ng-runtime/locales/angular/global/jgo.js +4 -4
- app-ng-runtime/locales/angular/global/jmc.js +4 -4
- app-ng-runtime/locales/angular/global/jv.js +4 -4
- app-ng-runtime/locales/angular/global/ka.js +4 -4
- app-ng-runtime/locales/angular/global/kab.js +4 -4
- app-ng-runtime/locales/angular/global/kam.js +4 -4
- app-ng-runtime/locales/angular/global/kde.js +4 -4
- app-ng-runtime/locales/angular/global/kea.js +4 -4
- app-ng-runtime/locales/angular/global/kgp.js +4 -4
- app-ng-runtime/locales/angular/global/khq.js +4 -4
- app-ng-runtime/locales/angular/global/ki.js +4 -4
- app-ng-runtime/locales/angular/global/kk.js +4 -4
- app-ng-runtime/locales/angular/global/kkj.js +4 -4
- app-ng-runtime/locales/angular/global/kl.js +4 -4
- app-ng-runtime/locales/angular/global/kln.js +4 -4
- app-ng-runtime/locales/angular/global/km.js +4 -4
- app-ng-runtime/locales/angular/global/kn.js +4 -4
- app-ng-runtime/locales/angular/global/ko-kp.js +4 -4
- app-ng-runtime/locales/angular/global/ko.js +4 -4
- app-ng-runtime/locales/angular/global/kok.js +4 -4
- app-ng-runtime/locales/angular/global/ks-arab.js +4 -4
- app-ng-runtime/locales/angular/global/ks-deva.js +4 -4
- app-ng-runtime/locales/angular/global/ks.js +4 -4
- app-ng-runtime/locales/angular/global/ksb.js +4 -4
- app-ng-runtime/locales/angular/global/ksf.js +4 -4
- app-ng-runtime/locales/angular/global/ksh.js +4 -4
- app-ng-runtime/locales/angular/global/ku.js +4 -4
- app-ng-runtime/locales/angular/global/kw.js +4 -4
- app-ng-runtime/locales/angular/global/ky.js +4 -4
- app-ng-runtime/locales/angular/global/lag.js +4 -4
- app-ng-runtime/locales/angular/global/lb.js +4 -4
- app-ng-runtime/locales/angular/global/lg.js +4 -4
- app-ng-runtime/locales/angular/global/lkt.js +4 -4
- app-ng-runtime/locales/angular/global/ln-ao.js +4 -4
- app-ng-runtime/locales/angular/global/ln-cf.js +4 -4
- app-ng-runtime/locales/angular/global/ln-cg.js +4 -4
- app-ng-runtime/locales/angular/global/ln.js +4 -4
- app-ng-runtime/locales/angular/global/lo.js +4 -4
- app-ng-runtime/locales/angular/global/lrc-iq.js +4 -4
- app-ng-runtime/locales/angular/global/lrc.js +4 -4
- app-ng-runtime/locales/angular/global/lt.js +4 -4
- app-ng-runtime/locales/angular/global/lu.js +4 -4
- app-ng-runtime/locales/angular/global/luo.js +4 -4
- app-ng-runtime/locales/angular/global/luy.js +4 -4
- app-ng-runtime/locales/angular/global/lv.js +4 -4
- app-ng-runtime/locales/angular/global/mai.js +4 -4
- app-ng-runtime/locales/angular/global/mas-tz.js +4 -4
- app-ng-runtime/locales/angular/global/mas.js +4 -4
- app-ng-runtime/locales/angular/global/mer.js +4 -4
- app-ng-runtime/locales/angular/global/mfe.js +4 -4
- app-ng-runtime/locales/angular/global/mg.js +4 -4
- app-ng-runtime/locales/angular/global/mgh.js +4 -4
- app-ng-runtime/locales/angular/global/mgo.js +4 -4
- app-ng-runtime/locales/angular/global/mi.js +4 -4
- app-ng-runtime/locales/angular/global/mk.js +4 -4
- app-ng-runtime/locales/angular/global/ml.js +4 -4
- app-ng-runtime/locales/angular/global/mn.js +4 -4
- app-ng-runtime/locales/angular/global/mni-beng.js +4 -4
- app-ng-runtime/locales/angular/global/mni.js +4 -4
- app-ng-runtime/locales/angular/global/mr.js +4 -4
- app-ng-runtime/locales/angular/global/ms-bn.js +4 -4
- app-ng-runtime/locales/angular/global/ms-id.js +4 -4
- app-ng-runtime/locales/angular/global/ms-sg.js +4 -4
- app-ng-runtime/locales/angular/global/ms.js +4 -4
- app-ng-runtime/locales/angular/global/mt.js +4 -4
- app-ng-runtime/locales/angular/global/mua.js +4 -4
- app-ng-runtime/locales/angular/global/my.js +4 -4
- app-ng-runtime/locales/angular/global/mzn.js +4 -4
- app-ng-runtime/locales/angular/global/naq.js +4 -4
- app-ng-runtime/locales/angular/global/nb-sj.js +4 -4
- app-ng-runtime/locales/angular/global/nb.js +4 -4
- app-ng-runtime/locales/angular/global/nd.js +4 -4
- app-ng-runtime/locales/angular/global/nds-nl.js +4 -4
- app-ng-runtime/locales/angular/global/nds.js +4 -4
- app-ng-runtime/locales/angular/global/ne-in.js +4 -4
- app-ng-runtime/locales/angular/global/ne.js +4 -4
- app-ng-runtime/locales/angular/global/nl-aw.js +4 -4
- app-ng-runtime/locales/angular/global/nl-be.js +4 -4
- app-ng-runtime/locales/angular/global/nl-bq.js +4 -4
- app-ng-runtime/locales/angular/global/nl-cw.js +4 -4
- app-ng-runtime/locales/angular/global/nl-sr.js +4 -4
- app-ng-runtime/locales/angular/global/nl-sx.js +4 -4
- app-ng-runtime/locales/angular/global/nl.js +4 -4
- app-ng-runtime/locales/angular/global/nmg.js +4 -4
- app-ng-runtime/locales/angular/global/nn.js +4 -4
- app-ng-runtime/locales/angular/global/nnh.js +4 -4
- app-ng-runtime/locales/angular/global/no.js +4 -4
- app-ng-runtime/locales/angular/global/nus.js +4 -4
- app-ng-runtime/locales/angular/global/nyn.js +4 -4
- app-ng-runtime/locales/angular/global/om-ke.js +4 -4
- app-ng-runtime/locales/angular/global/om.js +4 -4
- app-ng-runtime/locales/angular/global/or.js +4 -4
- app-ng-runtime/locales/angular/global/os-ru.js +4 -4
- app-ng-runtime/locales/angular/global/os.js +4 -4
- app-ng-runtime/locales/angular/global/pa-arab.js +4 -4
- app-ng-runtime/locales/angular/global/pa-guru.js +4 -4
- app-ng-runtime/locales/angular/global/pa.js +4 -4
- app-ng-runtime/locales/angular/global/pcm.js +4 -4
- app-ng-runtime/locales/angular/global/pl.js +4 -4
- app-ng-runtime/locales/angular/global/ps-pk.js +4 -4
- app-ng-runtime/locales/angular/global/ps.js +4 -4
- app-ng-runtime/locales/angular/global/pt-ao.js +4 -4
- app-ng-runtime/locales/angular/global/pt-ch.js +4 -4
- app-ng-runtime/locales/angular/global/pt-cv.js +4 -4
- app-ng-runtime/locales/angular/global/pt-gq.js +4 -4
- app-ng-runtime/locales/angular/global/pt-gw.js +4 -4
- app-ng-runtime/locales/angular/global/pt-lu.js +4 -4
- app-ng-runtime/locales/angular/global/pt-mo.js +4 -4
- app-ng-runtime/locales/angular/global/pt-mz.js +4 -4
- app-ng-runtime/locales/angular/global/pt-pt.js +4 -4
- app-ng-runtime/locales/angular/global/pt-st.js +4 -4
- app-ng-runtime/locales/angular/global/pt-tl.js +4 -4
- app-ng-runtime/locales/angular/global/pt.js +4 -4
- app-ng-runtime/locales/angular/global/qu-bo.js +4 -4
- app-ng-runtime/locales/angular/global/qu-ec.js +4 -4
- app-ng-runtime/locales/angular/global/qu.js +4 -4
- app-ng-runtime/locales/angular/global/rm.js +4 -4
- app-ng-runtime/locales/angular/global/rn.js +4 -4
- app-ng-runtime/locales/angular/global/ro-md.js +4 -4
- app-ng-runtime/locales/angular/global/ro.js +4 -4
- app-ng-runtime/locales/angular/global/rof.js +4 -4
- app-ng-runtime/locales/angular/global/ru-by.js +4 -4
- app-ng-runtime/locales/angular/global/ru-kg.js +4 -4
- app-ng-runtime/locales/angular/global/ru-kz.js +4 -4
- app-ng-runtime/locales/angular/global/ru-md.js +4 -4
- app-ng-runtime/locales/angular/global/ru-ua.js +4 -4
- app-ng-runtime/locales/angular/global/ru.js +4 -4
- app-ng-runtime/locales/angular/global/rw.js +4 -4
- app-ng-runtime/locales/angular/global/rwk.js +4 -4
- app-ng-runtime/locales/angular/global/sa.js +4 -4
- app-ng-runtime/locales/angular/global/sah.js +4 -4
- app-ng-runtime/locales/angular/global/saq.js +4 -4
- app-ng-runtime/locales/angular/global/sat-olck.js +4 -4
- app-ng-runtime/locales/angular/global/sat.js +4 -4
- app-ng-runtime/locales/angular/global/sbp.js +4 -4
- app-ng-runtime/locales/angular/global/sc.js +4 -4
- app-ng-runtime/locales/angular/global/sd-arab.js +4 -4
- app-ng-runtime/locales/angular/global/sd-deva.js +4 -4
- app-ng-runtime/locales/angular/global/sd.js +4 -4
- app-ng-runtime/locales/angular/global/se-fi.js +4 -4
- app-ng-runtime/locales/angular/global/se-se.js +4 -4
- app-ng-runtime/locales/angular/global/se.js +4 -4
- app-ng-runtime/locales/angular/global/seh.js +4 -4
- app-ng-runtime/locales/angular/global/ses.js +4 -4
- app-ng-runtime/locales/angular/global/sg.js +4 -4
- app-ng-runtime/locales/angular/global/shi-latn.js +4 -4
- app-ng-runtime/locales/angular/global/shi-tfng.js +4 -4
- app-ng-runtime/locales/angular/global/shi.js +4 -4
- app-ng-runtime/locales/angular/global/si.js +4 -4
- app-ng-runtime/locales/angular/global/sk.js +4 -4
- app-ng-runtime/locales/angular/global/sl.js +4 -4
- app-ng-runtime/locales/angular/global/smn.js +4 -4
- app-ng-runtime/locales/angular/global/sn.js +4 -4
- app-ng-runtime/locales/angular/global/so-dj.js +4 -4
- app-ng-runtime/locales/angular/global/so-et.js +4 -4
- app-ng-runtime/locales/angular/global/so-ke.js +4 -4
- app-ng-runtime/locales/angular/global/so.js +4 -4
- app-ng-runtime/locales/angular/global/sq-mk.js +4 -4
- app-ng-runtime/locales/angular/global/sq-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sq.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-me.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-ba.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-me.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn.js +4 -4
- app-ng-runtime/locales/angular/global/sr.js +4 -4
- app-ng-runtime/locales/angular/global/su-latn.js +4 -4
- app-ng-runtime/locales/angular/global/su.js +4 -4
- app-ng-runtime/locales/angular/global/sv-ax.js +4 -4
- app-ng-runtime/locales/angular/global/sv-fi.js +4 -4
- app-ng-runtime/locales/angular/global/sv.js +4 -4
- app-ng-runtime/locales/angular/global/sw-cd.js +4 -4
- app-ng-runtime/locales/angular/global/sw-ke.js +4 -4
- app-ng-runtime/locales/angular/global/sw-ug.js +4 -4
- app-ng-runtime/locales/angular/global/sw.js +4 -4
- app-ng-runtime/locales/angular/global/ta-lk.js +4 -4
- app-ng-runtime/locales/angular/global/ta-my.js +4 -4
- app-ng-runtime/locales/angular/global/ta-sg.js +4 -4
- app-ng-runtime/locales/angular/global/ta.js +4 -4
- app-ng-runtime/locales/angular/global/te.js +4 -4
- app-ng-runtime/locales/angular/global/teo-ke.js +4 -4
- app-ng-runtime/locales/angular/global/teo.js +4 -4
- app-ng-runtime/locales/angular/global/tg.js +4 -4
- app-ng-runtime/locales/angular/global/th.js +4 -4
- app-ng-runtime/locales/angular/global/ti-er.js +4 -4
- app-ng-runtime/locales/angular/global/ti.js +4 -4
- app-ng-runtime/locales/angular/global/tk.js +4 -4
- app-ng-runtime/locales/angular/global/to.js +4 -4
- app-ng-runtime/locales/angular/global/tr-cy.js +4 -4
- app-ng-runtime/locales/angular/global/tr.js +4 -4
- app-ng-runtime/locales/angular/global/tt.js +4 -4
- app-ng-runtime/locales/angular/global/twq.js +4 -4
- app-ng-runtime/locales/angular/global/tzm.js +4 -4
- app-ng-runtime/locales/angular/global/ug.js +4 -4
- app-ng-runtime/locales/angular/global/uk.js +4 -4
- app-ng-runtime/locales/angular/global/und.js +4 -4
- app-ng-runtime/locales/angular/global/ur-in.js +4 -4
- app-ng-runtime/locales/angular/global/ur.js +4 -4
- app-ng-runtime/locales/angular/global/uz-arab.js +4 -4
- app-ng-runtime/locales/angular/global/uz-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/uz-latn.js +4 -4
- app-ng-runtime/locales/angular/global/uz.js +4 -4
- app-ng-runtime/locales/angular/global/vai-latn.js +4 -4
- app-ng-runtime/locales/angular/global/vai-vaii.js +4 -4
- app-ng-runtime/locales/angular/global/vai.js +4 -4
- app-ng-runtime/locales/angular/global/vi.js +4 -4
- app-ng-runtime/locales/angular/global/vun.js +4 -4
- app-ng-runtime/locales/angular/global/wae.js +4 -4
- app-ng-runtime/locales/angular/global/wo.js +4 -4
- app-ng-runtime/locales/angular/global/xh.js +4 -4
- app-ng-runtime/locales/angular/global/xog.js +4 -4
- app-ng-runtime/locales/angular/global/yav.js +4 -4
- app-ng-runtime/locales/angular/global/yi.js +4 -4
- app-ng-runtime/locales/angular/global/yo-bj.js +4 -4
- app-ng-runtime/locales/angular/global/yo.js +4 -4
- app-ng-runtime/locales/angular/global/yrl-co.js +4 -4
- app-ng-runtime/locales/angular/global/yrl-ve.js +4 -4
- app-ng-runtime/locales/angular/global/yrl.js +4 -4
- app-ng-runtime/locales/angular/global/yue-hans.js +4 -4
- app-ng-runtime/locales/angular/global/yue-hant.js +4 -4
- app-ng-runtime/locales/angular/global/yue.js +4 -4
- app-ng-runtime/locales/angular/global/zgh.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-hk.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-mo.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-sg.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant-hk.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant-mo.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant.js +4 -4
- app-ng-runtime/locales/angular/global/zh.js +4 -4
- app-ng-runtime/locales/angular/global/zu.js +4 -4
- app-ng-runtime/mobile/components/basic/default/.npmignore +2 -0
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +125 -124
- app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +4 -4
- app-ng-runtime/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +7 -6
- app-ng-runtime/mobile/components/basic/default/esm2022/basic.module.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +36 -36
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +3 -3
- app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +4 -4
- app-ng-runtime/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +49 -47
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +28 -30
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +126 -125
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +2 -2
- app-ng-runtime/mobile/components/basic/search/.npmignore +2 -0
- app-ng-runtime/mobile/components/basic/search/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/basic/search/esm2022/search.directive.mjs +3 -3
- app-ng-runtime/mobile/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/.npmignore +2 -0
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +37 -25
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +14 -8
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +26 -20
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +39 -27
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -2
- app-ng-runtime/mobile/components/data/media-list/.npmignore +2 -0
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +46 -41
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +2 -2
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +46 -41
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.module.mjs +2 -2
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +48 -43
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/.npmignore +2 -0
- app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +14 -8
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +15 -9
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +16 -10
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/.npmignore +2 -0
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +15 -9
- app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.component.mjs +16 -10
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.module.mjs +2 -2
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +17 -11
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/input/file-upload/.npmignore +2 -0
- app-ng-runtime/mobile/components/input/file-upload/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +3 -3
- app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
- app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/default/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +6 -5
- app-ng-runtime/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +4 -3
- app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -3
- app-ng-runtime/mobile/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +6 -5
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/left-panel/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/left-panel/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -3
- app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +40 -35
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +41 -36
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs +41 -36
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +2 -2
- app-ng-runtime/mobile/components/page/tab-bar/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +43 -37
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +44 -38
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +45 -39
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -2
- app-ng-runtime/mobile/core/.npmignore +2 -0
- app-ng-runtime/mobile/core/bundles/index.umd.js +18 -18
- app-ng-runtime/mobile/core/esm2022/core.module.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +1 -1
- app-ng-runtime/mobile/core/esm2022/services/device-file-cache.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +3 -3
- app-ng-runtime/mobile/core/fesm2022/index.mjs +18 -18
- app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/offline/.npmignore +2 -0
- app-ng-runtime/mobile/offline/bundles/index.umd.js +15 -15
- app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/offline.module.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/local-key-value.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/push.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/services/workers/id-resolver.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/file-upload.utils.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/utils.mjs +1 -1
- app-ng-runtime/mobile/offline/fesm2022/index.mjs +16 -16
- app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/placeholder/runtime/.npmignore +2 -0
- app-ng-runtime/mobile/placeholder/runtime/bundles/index.umd.js +3 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +3 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs +3 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/.npmignore +2 -0
- app-ng-runtime/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime/.npmignore +2 -0
- app-ng-runtime/mobile/runtime/bundles/index.umd.js +10 -9
- app-ng-runtime/mobile/runtime/esm2022/components/app-ext.component.mjs +4 -3
- app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -3
- app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +2 -2
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +3 -3
- app-ng-runtime/mobile/runtime/esm2022/services/webprocess.service.mjs +3 -3
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +10 -9
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime-dynamic/.npmignore +2 -0
- app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
- app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/variables/.npmignore +2 -0
- app-ng-runtime/mobile/variables/bundles/index.umd.js +5 -5
- app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +4 -4
- app-ng-runtime/mobile/variables/esm2022/services/contacts-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/device-service/device-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/device-service/location-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/scan-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/variables.module.mjs +3 -3
- app-ng-runtime/mobile/variables/fesm2022/index.mjs +5 -5
- app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/oAuth/.npmignore +2 -0
- app-ng-runtime/oAuth/bundles/index.umd.js +3 -3
- app-ng-runtime/oAuth/esm2022/oAuth.module.mjs +2 -2
- app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +3 -3
- app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +1 -1
- app-ng-runtime/oAuth/fesm2022/index.mjs +3 -3
- app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/.npmignore +2 -0
- app-ng-runtime/runtime/base/bundles/index.umd.js +122 -118
- app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +27 -27
- app-ng-runtime/runtime/base/esm2022/components/app-spinner.component.mjs +9 -8
- app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +13 -12
- app-ng-runtime/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/directives/prefab.directive.mjs +4 -4
- app-ng-runtime/runtime/base/esm2022/guards/auth.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +4 -4
- app-ng-runtime/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +5 -5
- app-ng-runtime/runtime/base/esm2022/resolves/app-extension.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/app-js.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/app-variables.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/i18n.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/metadata.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/security-config.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/pipe-provider.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/pipe.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/util/fragment-monitor.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +2 -2
- app-ng-runtime/runtime/base/fesm2022/index.mjs +134 -130
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/overrides/wm_dom_renderer.d.ts +2 -2
- app-ng-runtime/runtime/dynamic/.npmignore +2 -0
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +15 -14
- app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +1 -1
- app-ng-runtime/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +4 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/main.mjs +1 -1
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +17 -16
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +0 -1
- app-ng-runtime/security/.npmignore +2 -0
- app-ng-runtime/security/bundles/index.umd.js +3 -3
- app-ng-runtime/security/esm2022/security.module.mjs +2 -2
- app-ng-runtime/security/esm2022/security.service.mjs +3 -3
- app-ng-runtime/security/fesm2022/index.mjs +3 -3
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/swipey/.npmignore +2 -0
- app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
- app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/transpiler/.npmignore +2 -0
- app-ng-runtime/transpiler/esm2022/build.mjs +1 -1
- app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/.npmignore +2 -0
- app-ng-runtime/variables/bundles/index.umd.js +5 -5
- app-ng-runtime/variables/esm2022/factory/variable.factory.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/action/logout-action.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/device-variable-manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/device-variable-service.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/model/action/notification-action.mjs +1 -1
- app-ng-runtime/variables/esm2022/service/metadata-service/metadata.service.mjs +3 -3
- app-ng-runtime/variables/esm2022/service/variables.service.mjs +3 -3
- app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +1 -1
- app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +1 -1
- app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +1 -1
- app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +1 -1
- app-ng-runtime/variables/esm2022/variables.module.mjs +2 -2
- app-ng-runtime/variables/fesm2022/index.mjs +5 -5
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
|
@@ -516,8 +516,8 @@ export class LocalDBDataPullService {
|
|
|
516
516
|
static { this.ɵfac = function LocalDBDataPullService_Factory(t) { return new (t || LocalDBDataPullService)(i0.ɵɵinject(i1.App), i0.ɵɵinject(i2.LocalDBManagementService), i0.ɵɵinject(i3.LocalKeyValueService), i0.ɵɵinject(i4.NetworkService)); }; }
|
|
517
517
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocalDBDataPullService, factory: LocalDBDataPullService.ɵfac, providedIn: 'root' }); }
|
|
518
518
|
}
|
|
519
|
-
(
|
|
519
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocalDBDataPullService, [{
|
|
520
520
|
type: Injectable,
|
|
521
521
|
args: [{ providedIn: 'root' }]
|
|
522
|
-
}],
|
|
523
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZGItZGF0YS1wdWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2JpbGUvb2ZmbGluZS9zcmMvc2VydmljZXMvbG9jYWwtZGItZGF0YS1wdWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFzQixRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBR2hFLE1BQU8sa0JBQWtCLEdBQUcsNkJBQTZCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE9BQU87UUFDSCxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDYixPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEQsQ0FBQztRQUNELEdBQUcsRUFBRSxDQUFDLFdBQThCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO1lBQzNELE1BQU0sYUFBYSxHQUFJLFdBQW1CLENBQUMsZUFBZSxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFD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QixFQUFFLG1CQUE0QixFQUFFLGdCQUErQjtRQUN6SCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBRXJDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2FBQ25CLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDM0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO3VGQTVmUSxzQkFBc0I7dUVBQXRCLHNCQUFzQixXQUF0QixzQkFBc0IsbUJBRFYsTUFBTTs7dUZBQ2xCLHNCQUFzQjtjQURsQyxVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyAkcGFyc2VFeHByLCBBcHAsIGRlZmVyLCBnZXRBYm9ydGFibGVEZWZlciwgbm9vcCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQHdtL21vYmlsZS9jb3JlJztcblxuaW1wb3J0IHsgTGl2ZVZhcmlhYmxlVXRpbHMsIExWU2VydmljZSB9IGZyb20gJ0B3YXZlbWFrZXIvdmFyaWFibGVzJztcblxuaW1wb3J0IHsgTG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1kYi1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHVsbEluZm8gfSBmcm9tICcuL2NoYW5nZS1sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbEtleVZhbHVlU2VydmljZSB9IGZyb20gJy4vbG9jYWwta2V5LXZhbHVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgREJJbmZvLCBFbnRpdHlJbmZvLCBQdWxsVHlwZSB9IGZyb20gJy4uL21vZGVscy9jb25maWcnO1xuXG5kZWNsYXJlIGNvbnN0IF8sIG1vbWVudDtcbmNvbnN0ICBMQVNUX1BVTExfSU5GT19LRVkgPSAnbG9jYWxEQk1hbmFnZXIubGFzdFB1bGxJbmZvJztcblxuLyoqXG4gKiBhIHV0aWxpdHkgYXBpIHRvIGFib3J0IHB1bGwgcHJvY2Vzcy5cbiAqXG4gKiBAdHlwZSB7e3N0YXJ0LCBhZGQsIHJlbW92ZSwgYWJvcnR9fVxuICovXG5jb25zdCBwdWxsUHJvY2Vzc01hbmFnZXIgPSAoKCkgPT4ge1xuICAgIGNvbnN0IHByb21pc2VzID0ge307XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RhcnQ6IHByb21pc2UgPT4ge1xuICAgICAgICAgICAgcHJvbWlzZS4kJHB1bGxQcm9jZXNzSWQgPSAnUFVMTF8nICsgXy5ub3coKTtcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiAocHVsbFByb21pc2U6IFByb21pc2U8UHVsbEluZm8+LCBwcm9taXNlOiBQcm9taXNlPGFueT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHB1bGxQcm9jZXNzSWQgPSAocHVsbFByb21pc2UgYXMgYW55KS4kJHB1bGxQcm9jZXNzSWQ7XG4gICAgICAgICAgICBpZiAoIXByb21pc2VzW3B1bGxQcm9jZXNzSWRdKSB7XG4gICAgICAgICAgICAgICAgcHJvbWlzZXNbcHVsbFByb2Nlc3NJZF0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByb21pc2VzW3B1bGxQcm9jZXNzSWRdLnB1c2gocHJvbWlzZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92ZTogKHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPiwgcHJvbWlzZTogUHJvbWlzZTxhbnk+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWxsUHJvY2Vzc0lkID0gKHB1bGxQcm9taXNlIGFzIGFueSkuJCRwdWxsUHJvY2Vzc0lkO1xuICAgICAgICAgICAgXy5yZW1vdmUocHJvbWlzZXNbcHVsbFByb2Nlc3NJZF0sIHByb21pc2UpO1xuICAgICAgICAgICAgaWYgKF8uaXNFbXB0eShwcm9taXNlc1twdWxsUHJvY2Vzc0lkXSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvbWlzZXNbcHVsbFByb2Nlc3NJZF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFib3J0OiAocHVsbFByb21pc2U6IFByb21pc2U8UHVsbEluZm8+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWxsUHJvY2Vzc0lkID0gKHB1bGxQcm9taXNlIGFzIGFueSkuJCRwdWxsUHJvY2Vzc0lkO1xuICAgICAgICAgICAgaWYgKHByb21pc2VzW3B1bGxQcm9jZXNzSWRdKSB7XG4gICAgICAgICAgICAgICAgXy5mb3JFYWNoKHByb21pc2VzW3B1bGxQcm9jZXNzSWRdLCBmdW5jdGlvbiAocCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAocCAmJiBwLmFib3J0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwLmFib3J0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvbWlzZXNbcHVsbFByb2Nlc3NJZF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAocHVsbFByb21pc2UgYXMgYW55KS4kJGlzTWFya2VkVG9BYm9ydCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gcHVsbFByb21pc2UuY2F0Y2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnY2FuY2VsbGVkJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn0pKCk7XG5cbi8qKlxuICogTG9jYWxEQkRhdGFQdWxsU2VydmljZSBoYXMgQVBJIHRvIHB1bGwgZGF0YSBmcm9tIHJlbW90ZSBTZXJ2ZXIgdG8gbG9jYWwgRGF0YWJhc2UuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIExvY2FsREJEYXRhUHVsbFNlcnZpY2Uge1xuICAgIHN0YXRpYyByZWFkb25seSBTRVJWSUNFX05BTUUgPSAnTG9jYWxEQkRhdGFQdWxsU2VydmljZSc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIHByaXZhdGUgbG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlOiBMb2NhbERCTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbG9jYWxLZXlWYWx1ZVNlcnZpY2U6IExvY2FsS2V5VmFsdWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZVxuICAgICkge1xuICAgICAgICAvLyBMaXN0ZW4gZm9yIGRiIGNyZWF0aW9uLiBXaGVuIGRiIGlzIGNyZWF0ZWQsIHRoZW4gaW5pdGlhbGl6ZSBsYXN0IHB1bGwgaW5mby5cbiAgICAgICAgdGhpcy5sb2NhbERCTWFuYWdlbWVudFNlcnZpY2UucmVnaXN0ZXJDYWxsYmFjayh7XG4gICAgICAgICAgICBvbkRiQ3JlYXRlOiAoaW5mbykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxLZXlWYWx1ZVNlcnZpY2UucHV0KExBU1RfUFVMTF9JTkZPX0tFWSwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbFJlY29yZHNUb1B1bGw6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsUHVsbGVkUmVjb3JkQ291bnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogbmV3IERhdGUoMCksXG4gICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IG5ldyBEYXRlKGluZm8uZGJTZWVkQ3JlYXRlZE9uKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBkZWx0YUZpZWxkTmFtZSBpcyBzZXQsbGFzdCBwdWxsIHRpbWUgaXMgZ3JlYXRlciB0aGFuIHplcm8gYW5kIHF1ZXJ5IHVzZWQgaW4gbGFzdCBwdWxsIGlzIHNhbWUgYXMgdGhlXG4gICAgICogcXVlcnkgZm9yIHRoZSBjdXJyZW50IHB1bGwsIHRoZW4gZGVsdGEgY3JpdGVyaWEgaXMgYXR0YWNoZWQgdG8gdGhlIHF1ZXJ5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRiXG4gICAgICogQHBhcmFtIGVudGl0eU5hbWVcbiAgICAgKiBAcGFyYW0gcXVlcnlcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHByaXZhdGUgYWRkRGVsdGFDcml0ZXJpYShkYjogREJJbmZvLCBlbnRpdHlOYW1lOiBzdHJpbmcsIHF1ZXJ5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBlbnRpdHlTY2hlbWEgPSBkYi5zY2hlbWEuZW50aXRpZXNbZW50aXR5TmFtZV0sXG4gICAgICAgICAgICBkZWx0YUZpZWxkTmFtZSA9IGVudGl0eVNjaGVtYS5wdWxsQ29uZmlnLmRlbHRhRmllbGROYW1lLFxuICAgICAgICAgICAgZGVsdGFGaWVsZCA9IF8uZmluZChlbnRpdHlTY2hlbWEuY29sdW1ucywgeydmaWVsZE5hbWUnIDogZGVsdGFGaWVsZE5hbWV9KSB8fCB7fTtcblxuICAgICAgICBsZXQgaXNCdW5kbGVkRW50aXR5O1xuXG4gICAgICAgIGlmICghXy5pc0VtcHR5KGRlbHRhRmllbGROYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLmlzQnVuZGxlZChkYi5zY2hlbWEubmFtZSwgZW50aXR5TmFtZSlcbiAgICAgICAgICAgICAgICAudGhlbihmbGFnID0+IGlzQnVuZGxlZEVudGl0eSA9IGZsYWcpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5nZXRMYXN0UHVsbEluZm8oKSlcbiAgICAgICAgICAgICAgICAudGhlbihsYXN0UHVsbEluZm8gPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdFB1bGxUaW1lID0gKGxhc3RQdWxsSW5mbyAmJiBsYXN0UHVsbEluZm8uc3RhcnRUaW1lICYmIGxhc3RQdWxsSW5mby5zdGFydFRpbWUuZ2V0VGltZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFB1bGxEQkluZm8gPSBfLmZpbmQobGFzdFB1bGxJbmZvICYmIGxhc3RQdWxsSW5mby5kYXRhYmFzZXMsIHsnbmFtZScgOiBkYi5zY2hlbWEubmFtZX0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFB1bGxFbnRpdHlJbmZvID0gXy5maW5kKGxhc3RQdWxsREJJbmZvICYmIGxhc3RQdWxsREJJbmZvLmVudGl0aWVzLCB7J2VudGl0eU5hbWUnIDogZW50aXR5TmFtZX0pIHx8IHt9O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghbGFzdFB1bGxUaW1lICYmIGlzQnVuZGxlZEVudGl0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJ1bmRsZWQgZW50aXR5IHdoZW4gdGhlcmUgaXMgbm8gbGFzdCBwdWxsLCBmZXRjaCByZWNvcmRzIHRoYXQgZ290IG1vZGlmaWVkIGFmdGVyIGRiIGNyZWF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFB1bGxUaW1lID0gKGxhc3RQdWxsSW5mbyAmJiBsYXN0UHVsbEluZm8uZW5kVGltZSAmJiBsYXN0UHVsbEluZm8uZW5kVGltZS5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFB1bGxFbnRpdHlJbmZvLnF1ZXJ5ID0gcXVlcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RQdWxsRW50aXR5SW5mby5xdWVyeSA9PT0gcXVlcnkgJiYgbGFzdFB1bGxUaW1lID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF8uaXNFbXB0eShxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSAnIEFORCAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbHRhRmllbGQuc3FsVHlwZSA9PT0gJ2RhdGV0aW1lJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGRlbHRhRmllbGROYW1lICsgJyA+IFxcJycgKyBtb21lbnQobGFzdFB1bGxUaW1lKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tRERUSEg6bW06c3MnKSArICdcXCcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBkZWx0YUZpZWxkTmFtZSArICcgPiAnICsgbGFzdFB1bGxUaW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICAgICAgICAgICAgICB9LCAoKSA9PiBQcm9taXNlLnJlc29sdmUocXVlcnkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb3BpZXMgdGhlIGRhdGEgZnJvbSByZW1vdGUgZGIgdG8gbG9jYWwgZGJcbiAgICAgKiBAcGFyYW0ge0RCSW5mb30gZGJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZW50aXR5TmFtZVxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gY2xlYXJEYXRhQmVmb3JlUHVsbFxuICAgICAqIEBwYXJhbSBwdWxsUHJvbWlzZVxuICAgICAqIEBwYXJhbSB7T2JzZXJ2ZXI8YW55Pn0gcHJvZ3Jlc3NPYnNlcnZlclxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAgICovXG4gICAgcHJpdmF0ZSBjb3B5RGF0YUZyb21SZW1vdGVEQlRvTG9jYWxEQihkYjogREJJbmZvLCBlbnRpdHlOYW1lOiBzdHJpbmcsIGNsZWFyRGF0YUJlZm9yZVB1bGw6IGJvb2xlYW4sIHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPiwgcHJvZ3Jlc3NPYnNlcnZlcjogT2JzZXJ2ZXI8YW55Pikge1xuICAgICAgICBjb25zdCBzdG9yZSA9IChkYiBhcyBhbnkpLnN0b3Jlc1tlbnRpdHlOYW1lXSxcbiAgICAgICAgICAgIGVudGl0eVNjaGVtYSA9IGRiLnNjaGVtYS5lbnRpdGllc1tlbnRpdHlOYW1lXSxcbiAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICBlbnRpdHlOYW1lOiBlbnRpdHlOYW1lLFxuICAgICAgICAgICAgICAgIHRvdGFsUmVjb3Jkc1RvUHVsbDogMCxcbiAgICAgICAgICAgICAgICBwdWxsZWRSZWNvcmRDb3VudDogMFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBsZXQgaW5Qcm9ncmVzcyA9IDAsXG4gICAgICAgICAgICBwdWxsQ29tcGxldGUgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbHRlcjtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUXVlcnkoZGIsIGVudGl0eU5hbWUpXG4gICAgICAgICAgICAgICAgLnRoZW4ocXVlcnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAocmVzdWx0IGFzIGFueSkucXVlcnkgPSBxdWVyeTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkRGVsdGFDcml0ZXJpYShkYiwgZW50aXR5TmFtZSwgcXVlcnkpO1xuICAgICAgICAgICAgICAgIH0pLnRoZW4ocXVlcnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciBpZiBjbGVhckRhdGFCZWZvcmVQdWxsIGlzIHRydWUgYW5kIGRlbHRhIHF1ZXJ5IGlzIG5vdCB1c2VkXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbGVhckRhdGFCZWZvcmVQdWxsICYmIChyZXN1bHQgYXMgYW55KS5xdWVyeSA9PT0gcXVlcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yZS5jbGVhcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgICAgICAgICAgIH0pLnRoZW4ocXVlcnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgPSBfLmlzRW1wdHkocXVlcnkpID8gJycgOiAncT0nICsgcXVlcnk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvdGFsUmVjb3Jkc1RvUHVsbChkYiwgZW50aXR5U2NoZW1hLCBmaWx0ZXIsIHB1bGxQcm9taXNlKTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKG1heE5vT2ZSZWNvcmRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZVNpemUgPSBlbnRpdHlTY2hlbWEucHVsbENvbmZpZy5zaXplIHx8IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vT2ZQYWdlcyA9IE1hdGguY2VpbChtYXhOb09mUmVjb3JkcyAvIHBhZ2VTaXplKTtcblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQudG90YWxSZWNvcmRzVG9QdWxsID0gbWF4Tm9PZlJlY29yZHM7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNvcnQgPSBlbnRpdHlTY2hlbWEucHVsbENvbmZpZy5vcmRlckJ5O1xuICAgICAgICAgICAgICAgICAgICBzb3J0ID0gKF8uaXNFbXB0eShzb3J0KSA/ICcnIDogc29ydCArICcsJykgKyBzdG9yZS5wcmltYXJ5S2V5TmFtZTtcblxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc09ic2VydmVyLm5leHQocmVzdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBfcHJvZ3Jlc3NPYnNlcnZlciA9IHsgbmV4dDogZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5Qcm9ncmVzcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBfLnNsaWNlKGRhdGEsIDAsIHJlc3VsdC50b3RhbFJlY29yZHNUb1B1bGwgLSByZXN1bHQucHVsbGVkUmVjb3JkQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlLnNhdmVBbGwoZGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdWxsZWRSZWNvcmRDb3VudCArPSBkYXRhID8gZGF0YS5sZW5ndGggOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc09ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChub29wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpblByb2dyZXNzLS07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5Qcm9ncmVzcyA9PT0gMCAmJiBwdWxsQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3I6IG51bGwsIGNvbXBsZXRlOiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcHVsbEVudGl0eURhdGEoZGIsIGVudGl0eU5hbWUsIGZpbHRlciwgc29ydCwgbWF4Tm9PZlBhZ2VzLCBwYWdlU2l6ZSwgMSwgcHVsbFByb21pc2UsIHVuZGVmaW5lZCwgX3Byb2dyZXNzT2JzZXJ2ZXIpO1xuICAgICAgICAgICAgICAgIH0pLnRoZW4obnVsbCwgcmVqZWN0KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2gobm9vcClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVsbENvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpblByb2dyZXNzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIGV4cHJlc3Npb24gc3RhcnRzIHdpdGggJ2JpbmQ6JywgdGhlbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBhbmQgcmVzdWx0IGlzIHJldHVybmVkLlxuICAgIHByaXZhdGUgZXZhbElmQmluZChleHByZXNzaW9uOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKF8uc3RhcnRzV2l0aChleHByZXNzaW9uLCAnYmluZDonKSkge1xuICAgICAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb24ucmVwbGFjZSgvXFxbXFwkXFxpXFxdL2csICdbMF0nKTtcbiAgICAgICAgICAgIHJldHVybiAkcGFyc2VFeHByKGV4cHJlc3Npb24ucmVwbGFjZSgnYmluZDonLCAnJykpKHRoaXMuYXBwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBEYXRhYmFzZVNlcnZpY2UuY291bnRUYWJsZURhdGFXaXRoUXVlcnkgYXMgYSBwcm9taXNlIEFQSS5cbiAgICAgKiBAcGFyYW0gcGFyYW1zXG4gICAgICogQHJldHVybnMgUHJvbWlzZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXhlY3V0ZURhdGFiYXNlQ291bnRRdWVyeShwYXJhbXM6IE9iamVjdCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBMVlNlcnZpY2UuY291bnRUYWJsZURhdGFXaXRoUXVlcnkocGFyYW1zLCBudWxsLCBudWxsKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4gcmVzb2x2ZShyZXNwb25zZS5ib2R5KSwgcmVqZWN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgRGF0YWJhc2VTZXJ2aWNlLnNlYXJjaFRhYmxlRGF0YVdpdGhRdWVyeSBhcyBhIHByb21pc2UgQVBJLlxuICAgICAqIEBwYXJhbSBwYXJhbXNcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleGVjdXRlRGF0YWJhc2VTZWFyY2hRdWVyeShwYXJhbXM6IE9iamVjdCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gTFZTZXJ2aWNlLnNlYXJjaFRhYmxlRGF0YVdpdGhRdWVyeShwYXJhbXMsIG51bGwsIG51bGwpLnN1YnNjcmliZShyZXNwb25zZSA9PiByZXNvbHZlKHJlc3BvbnNlICYmIHJlc3BvbnNlLmJvZHkgJiYgcmVzcG9uc2UuYm9keS5jb250ZW50KSwgcmVqZWN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlY29yZHMgdG8gcHVsbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYlxuICAgICAqIEBwYXJhbSBlbnRpdHlTY2hlbWFcbiAgICAgKiBAcGFyYW0gZmlsdGVyXG4gICAgICogQHBhcmFtIHB1bGxQcm9taXNlXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRUb3RhbFJlY29yZHNUb1B1bGwoZGI6IERCSW5mbywgZW50aXR5U2NoZW1hOiBFbnRpdHlJbmZvLCBmaWx0ZXI6IHN0cmluZywgcHVsbFByb21pc2U6IFByb21pc2U8UHVsbEluZm8+KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgZGF0YU1vZGVsTmFtZTogZGIuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgICBlbnRpdHlOYW1lOiBlbnRpdHlTY2hlbWEuZW50aXR5TmFtZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBmaWx0ZXJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV0cnlJZk5ldHdvcmtGYWlscygoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRlRGF0YWJhc2VDb3VudFF1ZXJ5KHBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbFJlY29yZENvdW50ID0gcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIG1heFJlY29yZHNUb1B1bGwgPSBfLnBhcnNlSW50KChlbnRpdHlTY2hlbWEucHVsbENvbmZpZyBhcyBhbnkpLm1heE51bWJlck9mUmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgaWYgKF8uaXNOYU4obWF4UmVjb3Jkc1RvUHVsbCkgfHwgbWF4UmVjb3Jkc1RvUHVsbCA8PSAwIHx8IHRvdGFsUmVjb3JkQ291bnQgPCBtYXhSZWNvcmRzVG9QdWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbFJlY29yZENvdW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4UmVjb3Jkc1RvUHVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBwdWxsUHJvbWlzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlUXVlcnkoZGI6IERCSW5mbywgZW50aXR5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgbGV0IHF1ZXJ5O1xuICAgICAgICBjb25zdCBlbnRpdHlTY2hlbWEgPSBkYi5zY2hlbWEuZW50aXRpZXNbZW50aXR5TmFtZV07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLmlzQnVuZGxlZChkYi5zY2hlbWEubmFtZSwgZW50aXR5TmFtZSlcbiAgICAgICAgICAgIC50aGVuKGlzQnVuZGxlZEVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGhhc051bGxBdHRyaWJ1dGVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmIChpc0J1bmRsZWRFbnRpdHkgfHwgXy5pc0VtcHR5KGVudGl0eVNjaGVtYS5wdWxsQ29uZmlnLnF1ZXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IF8uY2xvbmVEZWVwKGVudGl0eVNjaGVtYS5wdWxsQ29uZmlnLmZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gXy5tYXAocXVlcnksIHYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdi5hdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuZXZhbElmQmluZCh2LmF0dHJpYnV0ZVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc051bGxBdHRyaWJ1dGVWYWx1ZSA9IGhhc051bGxBdHRyaWJ1dGVWYWx1ZSB8fCBfLmlzTmlsKHYuYXR0cmlidXRlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzTnVsbEF0dHJpYnV0ZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ051bGwgY3JpdGVyaWEgdmFsdWVzIGFyZSBwcmVzZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBfLnNvcnRCeShxdWVyeSwgJ2F0dHJpYnV0ZU5hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBMaXZlVmFyaWFibGVVdGlscy5nZXRTZWFyY2hRdWVyeShxdWVyeSwgJyBBTkQgJywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSB0aGlzLmV2YWxJZkJpbmQoZW50aXR5U2NoZW1hLnB1bGxDb25maWcucXVlcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoXy5pc05pbChxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGVuY29kZVVSSUNvbXBvbmVudChxdWVyeSkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYlxuICAgICAqIEBwYXJhbSBjbGVhckRhdGFCZWZvcmVQdWxsXG4gICAgICogQHBhcmFtIHB1bGxQcm9taXNlXG4gICAgICogQHBhcmFtIHByb2dyZXNzT2JzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyB7Kn1cbiAgICAgKi9cbiAgICBwcml2YXRlIF9wdWxsRGJEYXRhKGRiOiBEQkluZm8sIGNsZWFyRGF0YUJlZm9yZVB1bGw6IGJvb2xlYW4sIHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPiwgcHJvZ3Jlc3NPYnNlcnZlcjogT2JzZXJ2ZXI8YW55Pik6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGRhdGFtb2RlbE5hbWUgPSBkYi5zY2hlbWEubmFtZSxcbiAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBkYi5zY2hlbWEubmFtZSxcbiAgICAgICAgICAgICAgICBlbnRpdGllczogW10sXG4gICAgICAgICAgICAgICAgdG90YWxSZWNvcmRzVG9QdWxsOiAwLFxuICAgICAgICAgICAgICAgIHB1bGxlZFJlY29yZENvdW50OiAwLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlZFRhc2tDb3VudDogMCxcbiAgICAgICAgICAgICAgICB0b3RhbFRhc2tDb3VudDogMFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdG9yZVByb21pc2VzID0gW107XG5cbiAgICAgICAgXy5mb3JFYWNoKGRiLnNjaGVtYS5lbnRpdGllcywgZW50aXR5ID0+IHtcbiAgICAgICAgICAgIHN0b3JlUHJvbWlzZXMucHVzaCh0aGlzLmxvY2FsREJNYW5hZ2VtZW50U2VydmljZS5nZXRTdG9yZShkYXRhbW9kZWxOYW1lLCBlbnRpdHkuZW50aXR5TmFtZSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgUHJvbWlzZS5hbGwoc3RvcmVQcm9taXNlcylcbiAgICAgICAgICAgICAgICAudGhlbigoc3RvcmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0aWVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHN0b3Jlcy5mb3JFYWNoKHN0b3JlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1bGxDb25maWcgPSBzdG9yZS5lbnRpdHlTY2hlbWEucHVsbENvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1bGxUeXBlID0gcHVsbENvbmZpZy5wdWxsVHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwdWxsVHlwZSA9PT0gUHVsbFR5cGUuQVBQX1NUQVJUIHx8IChwdWxsVHlwZSA9PT0gUHVsbFR5cGUuQlVORExFRCAmJiAocHVsbENvbmZpZyBhcyBhbnkpLmRlbHRhRmllbGROYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0aWVzLnB1c2goc3RvcmUuZW50aXR5U2NoZW1hKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1bGxQcm9taXNlcyA9IF8uY2hhaW4oZW50aXRpZXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfcHJvZ3Jlc3NPYnNlcnZlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0OiBpbmZvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaSA9IF8uZmluZEluZGV4KHJlc3VsdC5lbnRpdGllcywgeydlbnRpdHlOYW1lJzogaW5mby5lbnRpdHlOYW1lfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5lbnRpdGllc1tpXSA9IGluZm87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuZW50aXRpZXMucHVzaChpbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVsbGVkUmVjb3JkQ291bnQgPSBfLnJlZHVjZShyZXN1bHQuZW50aXRpZXMsIGZ1bmN0aW9uIChzdW0sIGVudGl0eVB1bGxJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VtICsgZW50aXR5UHVsbEluZm8ucHVsbGVkUmVjb3JkQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQudG90YWxSZWNvcmRzVG9QdWxsID0gXy5yZWR1Y2UocmVzdWx0LmVudGl0aWVzLCBmdW5jdGlvbiAoc3VtLCBlbnRpdHlQdWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGVudGl0eVB1bGxJbmZvLnRvdGFsUmVjb3Jkc1RvUHVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzT2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGVycm9yOiBudWxsLCBjb21wbGV0ZTogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvcHlEYXRhRnJvbVJlbW90ZURCVG9Mb2NhbERCKGRiLCBlbnRpdHkuZW50aXR5TmFtZSwgY2xlYXJEYXRhQmVmb3JlUHVsbCwgcHVsbFByb21pc2UsIF9wcm9ncmVzc09ic2VydmVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZWRUYXNrQ291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NPYnNlcnZlci5uZXh0KHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmZvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9KS52YWx1ZSgpO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0LnRvdGFsVGFza0NvdW50ID0gcHVsbFByb21pc2VzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBwcm9ncmVzc09ic2VydmVyLm5leHQocmVzdWx0KTtcblxuICAgICAgICAgICAgICAgIFByb21pc2UuYWxsKHB1bGxQcm9taXNlcykudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1bGxzIGRhdGEgb2YgdGhlIGdpdmVuIGVudGl0eSBmcm9tIHJlbW90ZSBzZXJ2ZXIuXG4gICAgICogQHBhcmFtIGRiXG4gICAgICogQHBhcmFtIGVudGl0eU5hbWVcbiAgICAgKiBAcGFyYW0gc29ydFxuICAgICAqIEBwYXJhbSBtYXhOb09mUGFnZXNcbiAgICAgKiBAcGFyYW0gcGFnZVNpemVcbiAgICAgKiBAcGFyYW0gY3VycmVudFBhZ2VcbiAgICAgKiBAcGFyYW0gZmlsdGVyXG4gICAgICogQHBhcmFtIHB1bGxQcm9taXNlXG4gICAgICogQHBhcmFtIHByb21pc2VcbiAgICAgKiBAcmV0dXJucyB7Kn1cbiAgICAgKi9cbiAgICBwcml2YXRlIF9wdWxsRW50aXR5RGF0YShkYjogREJJbmZvLCBlbnRpdHlOYW1lOiBzdHJpbmcsIGZpbHRlcjogc3RyaW5nLCBzb3J0LCBtYXhOb09mUGFnZXM6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciwgY3VycmVudFBhZ2U6IG51bWJlciwgcHVsbFByb21pc2U6IFByb21pc2U8UHVsbEluZm8+LCBkZWZlcnJlZDogYW55LCBwcm9ncmVzc09ic2VydmVyPzogT2JzZXJ2ZXI8YW55Pikge1xuICAgICAgICBjb25zdCBkYXRhTW9kZWxOYW1lID0gZGIuc2NoZW1hLm5hbWU7XG5cbiAgICAgICAgaWYgKCFkZWZlcnJlZCkge1xuICAgICAgICAgICAgZGVmZXJyZWQgPSBkZWZlcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnRQYWdlID4gbWF4Tm9PZlBhZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmZXJyZWQucmVzb2x2ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIGRhdGFNb2RlbE5hbWU6IGRhdGFNb2RlbE5hbWUsXG4gICAgICAgICAgICBlbnRpdHlOYW1lOiBlbnRpdHlOYW1lLFxuICAgICAgICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBzaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgICAgIGRhdGE6IGZpbHRlcixcbiAgICAgICAgICAgIHNvcnQ6IHNvcnQsXG4gICAgICAgICAgICBvbmx5T25saW5lOiB0cnVlLFxuICAgICAgICAgICAgc2tpcExvY2FsREI6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yZXRyeUlmTmV0d29ya0ZhaWxzKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4ZWN1dGVEYXRhYmFzZVNlYXJjaFF1ZXJ5KHBhcmFtcyk7XG4gICAgICAgIH0sIHB1bGxQcm9taXNlKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHByb2dyZXNzT2JzZXJ2ZXIubmV4dChyZXNwb25zZSk7XG4gICAgICAgICAgICB0aGlzLl9wdWxsRW50aXR5RGF0YShkYiwgZW50aXR5TmFtZSwgZmlsdGVyLCBzb3J0LCBtYXhOb09mUGFnZXMsIHBhZ2VTaXplLCBjdXJyZW50UGFnZSArIDEsIHB1bGxQcm9taXNlLCBkZWZlcnJlZCwgcHJvZ3Jlc3NPYnNlcnZlcik7XG4gICAgICAgIH0sIGRlZmVycmVkLnJlamVjdCk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBJZiBmbiBmYWlscyBhbmQgbmV0d29yayBpcyBub3QgdGhlcmVcbiAgICAgKiBAcGFyYW0gZm5cbiAgICAgKiBAcGFyYW0gcHVsbFByb21pc2VcbiAgICAgKiBAcmV0dXJucyB7Kn1cbiAgICAgKi9cbiAgICBwcml2YXRlIHJldHJ5SWZOZXR3b3JrRmFpbHMoZm46IEZ1bmN0aW9uLCBwdWxsUHJvbWlzZTogUHJvbWlzZTxQdWxsSW5mbz4pIHtcbiAgICAgICAgaWYgKChwdWxsUHJvbWlzZSBhcyBhbnkpLiQkaXNNYXJrZWRUb0Fib3J0KSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ2Fib3J0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5uZXR3b3JrU2VydmljZS5yZXRyeUlmTmV0d29ya0ZhaWxzKGZuKTtcbiAgICAgICAgcHVsbFByb2Nlc3NNYW5hZ2VyLmFkZChwdWxsUHJvbWlzZSwgcHJvbWlzZSk7XG4gICAgICAgIHByb21pc2UuY2F0Y2gobm9vcClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHB1bGxQcm9jZXNzTWFuYWdlci5yZW1vdmUocHVsbFByb21pc2UsIHByb21pc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpZXMgdG8gY2FuY2VsIHRoZSBjb3JyZXNwb25kaW5nIHB1bGwgcHJvY2VzcyB0aGF0IGdhdmUgdGhlIGdpdmVuIHByb21pc2UuXG4gICAgICogQHBhcmFtIHByb21pc2VcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBjYW5jZWwocHJvbWlzZTogUHJvbWlzZTxhbnk+KSB7XG4gICAgICAgIHJldHVybiBwdWxsUHJvY2Vzc01hbmFnZXIuYWJvcnQocHJvbWlzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmV0Y2hlcyB0aGUgZGF0YWJhc2UgZnJvbSB0aGUgZGJOYW1lLlxuICAgICAqIEBwYXJhbSBkYk5hbWVcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYihkYk5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbERCTWFuYWdlbWVudFNlcnZpY2UubG9hZERhdGFiYXNlcygpXG4gICAgICAgICAgICAudGhlbihkYXRhYmFzZXMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRiID0gXy5maW5kKGRhdGFiYXNlcywgeyduYW1lJyA6IGRiTmFtZX0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYiB8fCBQcm9taXNlLnJlamVjdCgnTG9jYWwgZGF0YWJhc2UgKCcgKyBkYk5hbWUgKyAnKSBub3QgZm91bmQnKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHthbnl9IHRoYXQgaGFzIHRvdGFsIG5vIG9mIHJlY29yZHMgZmV0Y2hlZCwgc3RhcnQgYW5kIGVuZCB0aW1lc3RhbXBzIG9mIGxhc3Qgc3VjY2Vzc2Z1bCBwdWxsXG4gICAgICogb2YgZGF0YSBmcm9tIHJlbW90ZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgcHVibGljIGdldExhc3RQdWxsSW5mbygpOiBQcm9taXNlPFB1bGxJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsS2V5VmFsdWVTZXJ2aWNlLmdldChMQVNUX1BVTExfSU5GT19LRVkpLnRoZW4oaW5mbyA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc1N0cmluZyhpbmZvLnN0YXJ0VGltZSkpIHtcbiAgICAgICAgICAgICAgICBpbmZvLnN0YXJ0VGltZSA9IG5ldyBEYXRlKGluZm8uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChfLmlzU3RyaW5nKGluZm8uZW5kVGltZSkpIHtcbiAgICAgICAgICAgICAgICBpbmZvLmVuZFRpbWUgPSBuZXcgRGF0ZShpbmZvLmVuZFRpbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyAoYmFzZWQgb24gcGFyYW1ldGVyKSBhbmQgcHVsbHMgZGF0YSAoJ0JVTkRMRUQnIGRhdGEgYmFzZWQgb24gcGFyYW1ldGVyKSBmcm9tIHNlcnZlciB1c2luZyB0aGVcbiAgICAgKiBjb25maWd1cmVkIHJ1bGVzIGluIG9mZmxpbmUgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGVhckRhdGFCZWZvcmVQdWxsIGJvb2xlYW5cbiAgICAgKiBAcGFyYW0ge09ic2VydmVyPGFueT59IHByb2dyZXNzT2JzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBwdWxsQWxsRGJEYXRhKGNsZWFyRGF0YUJlZm9yZVB1bGw6IGJvb2xlYW4sIHByb2dyZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pOiBQcm9taXNlPFB1bGxJbmZvPiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gZ2V0QWJvcnRhYmxlRGVmZXIoKSxcbiAgICAgICAgICAgIHB1bGxJbmZvID0ge1xuICAgICAgICAgICAgY29tcGxldGVkVGFza0NvdW50OiAwLFxuICAgICAgICAgICAgdG90YWxUYXNrQ291bnQ6IDAsXG4gICAgICAgICAgICBpblByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgZGF0YWJhc2VzOiBbXSxcbiAgICAgICAgICAgIHRvdGFsUmVjb3Jkc1RvUHVsbDogMCxcbiAgICAgICAgICAgIHRvdGFsUHVsbGVkUmVjb3JkQ291bnQ6IDAsXG4gICAgICAgICAgICBzdGFydFRpbWU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBlbmRUaW1lOiBuZXcgRGF0ZSgpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2NhbERCTWFuYWdlbWVudFNlcnZpY2UubG9hZERhdGFiYXNlcygpXG4gICAgICAgICAgICAudGhlbihkYXRhYmFzZXMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFQdWxsUHJvbWlzZXMgPSBfLmNoYWluKGRhdGFiYXNlcykuZmlsdGVyKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWRiLnNjaGVtYS5pc0ludGVybmFsO1xuICAgICAgICAgICAgICAgIH0pLm1hcChkYiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHB1bGxQcm9jZXNzTWFuYWdlci5zdGFydChkZWZlcnJlZC5wcm9taXNlKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBfcHJvZ3Jlc3NPYnNlcnZlcjogT2JzZXJ2ZXI8YW55PiA9IHtuZXh0OiBkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaSA9IF8uZmluZEluZGV4KHB1bGxJbmZvLmRhdGFiYXNlcywgeyduYW1lJyA6IGRhdGEubmFtZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsSW5mby5kYXRhYmFzZXNbaV0gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEluZm8uZGF0YWJhc2VzLnB1c2goZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEluZm8udG90YWxUYXNrQ291bnQgPSBfLnJlZHVjZShwdWxsSW5mby5kYXRhYmFzZXMsIGZ1bmN0aW9uIChzdW0sIGRiUHVsbEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdW0gKyBkYlB1bGxJbmZvLnRvdGFsVGFza0NvdW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEluZm8uY29tcGxldGVkVGFza0NvdW50ID0gXy5yZWR1Y2UocHVsbEluZm8uZGF0YWJhc2VzLCBmdW5jdGlvbiAoc3VtLCBkYlB1bGxJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VtICsgZGJQdWxsSW5mby5jb21wbGV0ZWRUYXNrQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsSW5mby50b3RhbFB1bGxlZFJlY29yZENvdW50ID0gXy5yZWR1Y2UocHVsbEluZm8uZGF0YWJhc2VzLCBmdW5jdGlvbiAoc3VtLCBkYlB1bGxJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VtICsgZGJQdWxsSW5mby5wdWxsZWRSZWNvcmRDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxJbmZvLnRvdGFsUmVjb3Jkc1RvUHVsbCA9IF8ucmVkdWNlKHB1bGxJbmZvLmRhdGFiYXNlcywgZnVuY3Rpb24gKHN1bSwgZGJQdWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGRiUHVsbEluZm8udG90YWxSZWNvcmRzVG9QdWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NPYnNlcnZlci5uZXh0KHB1bGxJbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBlcnJvcjogbnVsbCwgY29tcGxldGU6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3B1bGxEYkRhdGEoZGIsIGNsZWFyRGF0YUJlZm9yZVB1bGwsIGRlZmVycmVkLnByb21pc2UsIF9wcm9ncmVzc09ic2VydmVyKTtcbiAgICAgICAgICAgICAgICB9KS52YWx1ZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChkYXRhUHVsbFByb21pc2VzKTtcbiAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHB1bGxJbmZvLmVuZFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIHB1bGxJbmZvLmluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsS2V5VmFsdWVTZXJ2aWNlLnB1dChMQVNUX1BVTExfSU5GT19LRVksIHB1bGxJbmZvKTtcbiAgICAgICAgICAgICAgICBkZWZlcnJlZC5yZXNvbHZlKHB1bGxJbmZvKTtcbiAgICAgICAgfSwgZGVmZXJyZWQucmVqZWN0KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgKGJhc2VkIG9uIHBhcmFtZXRlcikgYW5kIHB1bGxzIGRhdGEgKCdCVU5ETEVEJyBkYXRhIGJhc2VkIG9uIHBhcmFtZXRlcikgb2YgdGhlIGdpdmVuIGRhdGFiYXNlIGZyb20gc2VydmVyIHVzaW5nXG4gICAgICogdGhlIGNvbmZpZ3VyZWQgcnVsZXMgaW4gb2ZmbGluZSBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGFiYXNlTmFtZVxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gY2xlYXJEYXRhQmVmb3JlUHVsbFxuICAgICAqIEBwYXJhbSB7T2JzZXJ2ZXI8YW55Pn0gcHJvZ3Jlc3NPYnNlcnZlclxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgICAqL1xuICAgIHB1YmxpYyBwdWxsRGJEYXRhKGRhdGFiYXNlTmFtZTogc3RyaW5nLCBjbGVhckRhdGFCZWZvcmVQdWxsOiBib29sZWFuLCBwcm9ncmVzc09ic2VydmVyOiBPYnNlcnZlcjxhbnk+KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgZGVmZXJyZWQgPSBnZXRBYm9ydGFibGVEZWZlcigpO1xuXG4gICAgICAgIHRoaXMuZ2V0RGIoZGF0YWJhc2VOYW1lKS50aGVuKGRiID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wdWxsRGJEYXRhKGRiLCBjbGVhckRhdGFCZWZvcmVQdWxsLCBkZWZlcnJlZC5wcm9taXNlLCBwcm9ncmVzc09ic2VydmVyKTtcbiAgICAgICAgfSkudGhlbihkZWZlcnJlZC5yZXNvbHZlLCBkZWZlcnJlZC5yZWplY3QpO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyAoYmFzZWQgb24gcGFyYW1ldGVyKSBhbmQgcHVsbHMgZGF0YSBvZiB0aGUgZ2l2ZW4gZW50aXR5IGFuZCBkYXRhYmFzZSBmcm9tXG4gICAgICogc2VydmVyIHVzaW5nIHRoZSBjb25maWd1cmVkIHJ1bGVzIGluIG9mZmxpbmUgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gZGF0YWJhc2VOYW1lLCBuYW1lIG9mIHRoZSBkYXRhYmFzZSBmcm9tIHdoaWNoIGRhdGEgaGFzIHRvIGJlIHB1bGxlZC5cbiAgICAgKiBAcGFyYW0gZW50aXR5TmFtZSwgbmFtZSBvZiB0aGUgZW50aXR5IGZyb20gd2hpY2ggZGF0YSBoYXMgdG8gYmUgcHVsbGVkXG4gICAgICogQHBhcmFtIGNsZWFyRGF0YUJlZm9yZVB1bGwsIGlmIHNldCB0byB0cnVlLCB0aGVuIGRhdGEgb2YgdGhlIGVudGl0eSB3aWxsIGJlIGRlbGV0ZWQuXG4gICAgICogQHBhcmFtIHByb2dyZXNzT2JzZXJ2ZXIsIG9ic2VydmVyIHRoZSBwcm9ncmVzcyB2YWx1ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgcHVsbEVudGl0eURhdGEoZGF0YWJhc2VOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgY2xlYXJEYXRhQmVmb3JlUHVsbDogYm9vbGVhbiwgcHJvZ3Jlc3NPYnNlcnZlcjogT2JzZXJ2ZXI8YW55Pik6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gZ2V0QWJvcnRhYmxlRGVmZXIoKTtcblxuICAgICAgICB0aGlzLmdldERiKGRhdGFiYXNlTmFtZSlcbiAgICAgICAgICAgIC50aGVuKChkYikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvcHlEYXRhRnJvbVJlbW90ZURCVG9Mb2NhbERCKGRiLCBlbnRpdHlOYW1lLCBjbGVhckRhdGFCZWZvcmVQdWxsLCBkZWZlcnJlZC5wcm9taXNlLCBwcm9ncmVzc09ic2VydmVyKTtcbiAgICAgICAgfSkudGhlbihkZWZlcnJlZC5yZXNvbHZlLCBkZWZlcnJlZC5yZWplY3QpO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==
|
|
522
|
+
}], () => [{ type: i1.App }, { type: i2.LocalDBManagementService }, { type: i3.LocalKeyValueService }, { type: i4.NetworkService }], null); })();
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZGItZGF0YS1wdWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb2JpbGUvb2ZmbGluZS9zcmMvc2VydmljZXMvbG9jYWwtZGItZGF0YS1wdWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFzQixRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBR2hFLE1BQU8sa0JBQWtCLEdBQUcsNkJBQTZCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE9BQU87UUFDSCxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDYixPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEQsQ0FBQztRQUNELEdBQUcsRUFBRSxDQUFDLFdBQThCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO1lBQzNELE1BQU0sYUFBYSxHQUFJLFdBQW1CLENBQUMsZUFBZSxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1lBQ0QsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsV0FBOEIsRUFBRSxPQUFxQixFQUFFLEVBQUU7WUFDOUQsTUFBTSxhQUFhLEdBQUksV0FBbUIsQ0FBQyxlQUFlLENBQUM7WUFDM0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsV0FBOEIsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sYUFBYSxHQUFJLFdBQW1CLENBQUMsZUFBZSxDQUFDO1lBQzNELElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNmLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZCxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDQSxXQUFtQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLE9BQU8sV0FBVyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMsRUFBRSxDQUFDO0FBRUw7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO2FBQ2YsaUJBQVksR0FBRyx3QkFBd0IsQUFBM0IsQ0FBNEI7SUFDeEQsWUFDWSxHQUFRLEVBQ1Isd0JBQWtELEVBQ2xELG9CQUEwQyxFQUMxQyxjQUE4QjtRQUg5QixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1IsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUV0Qyw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDO1lBQzNDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFO29CQUM5QyxTQUFTLEVBQUUsRUFBRTtvQkFDYixrQkFBa0IsRUFBRSxDQUFDO29CQUNyQixzQkFBc0IsRUFBRSxDQUFDO29CQUN6QixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN0QixPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLGdCQUFnQixDQUFDLEVBQVUsRUFBRSxVQUFrQixFQUFFLEtBQWE7UUFDbEUsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQy9DLGNBQWMsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFDdkQsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFDLFdBQVcsRUFBRyxjQUFjLEVBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVwRixJQUFJLGVBQWUsQ0FBQztRQUVwQixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7aUJBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7aUJBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDakIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ2hHLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUM1RixrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUMsWUFBWSxFQUFHLFVBQVUsRUFBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUU5RyxJQUFJLENBQUMsWUFBWSxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNuQyxvR0FBb0c7b0JBQ3BHLFlBQVksR0FBRyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztvQkFDeEYsa0JBQWtCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxJQUFJLGtCQUFrQixDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksWUFBWSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDbkIsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDZixDQUFDO3lCQUFNLENBQUM7d0JBQ0osS0FBSyxJQUFJLE9BQU8sQ0FBQztvQkFDckIsQ0FBQztvQkFDRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7d0JBQ3BDLEtBQUssSUFBSSxjQUFjLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3hHLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixLQUFLLElBQUksY0FBYyxHQUFHLEtBQUssR0FBRyxZQUFZLENBQUM7b0JBQ25ELENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssNkJBQTZCLENBQUMsRUFBVSxFQUFFLFVBQWtCLEVBQUUsbUJBQTRCLEVBQUUsV0FBOEIsRUFBRSxnQkFBK0I7UUFDL0osTUFBTSxLQUFLLEdBQUksRUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFDeEMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUM3QyxNQUFNLEdBQUc7WUFDTCxVQUFVLEVBQUUsVUFBVTtZQUN0QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLGlCQUFpQixFQUFFLENBQUM7U0FDdkIsQ0FBQztRQUVOLElBQUksVUFBVSxHQUFHLENBQUMsRUFDZCxZQUFZLEdBQUcsS0FBSyxFQUNwQixNQUFNLENBQUM7UUFFWCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQztpQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNULE1BQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDWixtRUFBbUU7Z0JBQ25FLElBQUksbUJBQW1CLElBQUssTUFBYyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDekQsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFO3lCQUNmLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ1AsT0FBTyxLQUFLLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxDQUFDO2dCQUNYLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNaLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQzlDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDckIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUNoRCxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLENBQUM7Z0JBRXhELE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUM7Z0JBRTNDLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUMzQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO2dCQUVsRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTlCLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ2pDLFVBQVUsRUFBRSxDQUFDO3dCQUNiLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUM5RSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7NEJBQzFCLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDbkQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNsQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDOzZCQUNULElBQUksQ0FBQyxHQUFHLEVBQUU7NEJBQ1AsVUFBVSxFQUFFLENBQUM7NEJBQ2IsSUFBSSxVQUFVLEtBQUssQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO2dDQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ3BCLENBQUM7d0JBQ0wsQ0FBQyxDQUFDLENBQUM7b0JBQ1gsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7aUJBQ2pDLENBQUM7Z0JBRU4sT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDaEksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7aUJBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ1gsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDUCxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCwwRkFBMEY7SUFDbEYsVUFBVSxDQUFDLFVBQWtCO1FBQ2pDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0sseUJBQXlCLENBQUMsTUFBYztRQUM1QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLDBCQUEwQixDQUFDLE1BQWM7UUFDN0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxPQUFPLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0sscUJBQXFCLENBQUMsRUFBVSxFQUFFLFlBQXdCLEVBQUUsTUFBYyxFQUFFLFdBQThCO1FBQzlHLE1BQU0sTUFBTSxHQUFHO1lBQ1gsYUFBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUM3QixVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVU7WUFDbkMsV0FBVyxFQUFFLE1BQU07U0FDdEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxRQUFRO2dCQUNqRSxNQUFNLGdCQUFnQixHQUFHLFFBQVEsRUFDN0IsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBRSxZQUFZLENBQUMsVUFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUN2RixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLElBQUksZ0JBQWdCLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDNUYsT0FBTyxnQkFBZ0IsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxPQUFPLGdCQUFnQixDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTyxZQUFZLENBQUMsRUFBVSxFQUFFLFVBQWtCO1FBQy9DLElBQUksS0FBSyxDQUFDO1FBQ1YsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQzthQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7WUFDbEMsSUFBSSxlQUFlLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlELEtBQUssR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BELEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRTtvQkFDckIsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDckQscUJBQXFCLEdBQUcscUJBQXFCLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQzNFLE9BQU8sQ0FBQyxDQUFDO2dCQUNiLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUkscUJBQXFCLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7Z0JBQzlELENBQUM7Z0JBQ0QsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUN6QyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxXQUFXLENBQUMsRUFBVSxFQUFFLG1CQUE0QixFQUFFLFdBQThCLEVBQUUsZ0JBQStCO1FBQ3pILE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUNoQyxNQUFNLEdBQUc7WUFDTCxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxFQUFFO1lBQ1osa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLGtCQUFrQixFQUFFLENBQUM7WUFDckIsY0FBYyxFQUFFLENBQUM7U0FDcEIsQ0FBQztRQUVOLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV6QixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakcsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO2lCQUNyQixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDYixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25CLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO29CQUNqRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUNyQyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUssVUFBa0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO3dCQUMzRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDdEMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztxQkFDakMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNkLE1BQU0saUJBQWlCLEdBQUc7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTs0QkFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7NEJBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dDQUNULE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDOzRCQUM5QixDQUFDO2lDQUFNLENBQUM7Z0NBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQy9CLENBQUM7NEJBQ0QsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLEdBQUcsRUFBRSxjQUFjO2dDQUM5RSxPQUFPLEdBQUcsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUM7NEJBQ2xELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDTixNQUFNLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsR0FBRyxFQUFFLGNBQWM7Z0NBQy9FLE9BQU8sR0FBRyxHQUFHLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQzs0QkFDbkQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOzRCQUNOLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDbEMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7cUJBQ2pDLENBQUM7b0JBQ0YsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoSCxJQUFJLENBQUMsVUFBVSxJQUFJO3dCQUNoQixNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt3QkFDNUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUM5QixPQUFPLElBQUksQ0FBQztvQkFDaEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFZixNQUFNLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQzVDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ssZUFBZSxDQUFDLEVBQVUsRUFBRSxVQUFrQixFQUFFLE1BQWMsRUFBRSxJQUFJLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLFdBQW1CLEVBQUUsV0FBOEIsRUFBRSxRQUFhLEVBQUUsZ0JBQWdDO1FBQ3ROLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRXJDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBRUQsSUFBSSxXQUFXLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDN0IsT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHO1lBQ1gsYUFBYSxFQUFFLGFBQWE7WUFDNUIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLElBQUk7U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6SSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBR0Q7Ozs7O09BS0c7SUFDSyxtQkFBbUIsQ0FBQyxFQUFZLEVBQUUsV0FBOEI7UUFDcEUsSUFBSyxXQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDZCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1gsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQXFCO1FBQy9CLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFO2FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNkLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFHLE1BQU0sRUFBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGFBQWEsQ0FBQyxtQkFBNEIsRUFBRSxnQkFBK0I7UUFDOUUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsRUFDaEMsUUFBUSxHQUFHO1lBQ1gsa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixjQUFjLEVBQUUsQ0FBQztZQUNqQixVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLGtCQUFrQixFQUFFLENBQUM7WUFDckIsc0JBQXNCLEVBQUUsQ0FBQztZQUN6QixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFO2FBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNkLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUMzRCxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNSLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRTNDLE1BQU0saUJBQWlCLEdBQWtCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUMzQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUcsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7d0JBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOzRCQUNULFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO3dCQUNqQyxDQUFDOzZCQUFNLENBQUM7NEJBQ0osUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2xDLENBQUM7d0JBQ0QsUUFBUSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxHQUFHLEVBQUUsVUFBVTs0QkFDNUUsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQzt3QkFDM0MsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxHQUFHLEVBQUUsVUFBVTs0QkFDaEYsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDO3dCQUMvQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ04sUUFBUSxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxVQUFVOzRCQUNwRixPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUM7d0JBQzlDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDTixRQUFRLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsR0FBRyxFQUFFLFVBQVU7NEJBQ2hGLE9BQU8sR0FBRyxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDL0MsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNOLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDcEMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7aUJBQ2pDLENBQUM7Z0JBRU4sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDMUYsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxVQUFVLENBQUMsWUFBb0IsRUFBRSxtQkFBNEIsRUFBRSxnQkFBK0I7UUFDakcsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksY0FBYyxDQUFDLFlBQW9CLEVBQUUsVUFBa0IsRUFBRSxtQkFBNEIsRUFBRSxnQkFBK0I7UUFDekgsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQzthQUNuQixJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQzt1RkE1ZlEsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQURWLE1BQU07O2lGQUNsQixzQkFBc0I7Y0FEbEMsVUFBVTtlQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgJHBhcnNlRXhwciwgQXBwLCBkZWZlciwgZ2V0QWJvcnRhYmxlRGVmZXIsIG5vb3AgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJ0B3bS9tb2JpbGUvY29yZSc7XG5cbmltcG9ydCB7IExpdmVWYXJpYWJsZVV0aWxzLCBMVlNlcnZpY2UgfSBmcm9tICdAd2F2ZW1ha2VyL3ZhcmlhYmxlcyc7XG5cbmltcG9ydCB7IExvY2FsREJNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbG9jYWwtZGItbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFB1bGxJbmZvIH0gZnJvbSAnLi9jaGFuZ2UtbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxLZXlWYWx1ZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLWtleS12YWx1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IERCSW5mbywgRW50aXR5SW5mbywgUHVsbFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlnJztcblxuZGVjbGFyZSBjb25zdCBfLCBtb21lbnQ7XG5jb25zdCAgTEFTVF9QVUxMX0lORk9fS0VZID0gJ2xvY2FsREJNYW5hZ2VyLmxhc3RQdWxsSW5mbyc7XG5cbi8qKlxuICogYSB1dGlsaXR5IGFwaSB0byBhYm9ydCBwdWxsIHByb2Nlc3MuXG4gKlxuICogQHR5cGUge3tzdGFydCwgYWRkLCByZW1vdmUsIGFib3J0fX1cbiAqL1xuY29uc3QgcHVsbFByb2Nlc3NNYW5hZ2VyID0gKCgpID0+IHtcbiAgICBjb25zdCBwcm9taXNlcyA9IHt9O1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXJ0OiBwcm9taXNlID0+IHtcbiAgICAgICAgICAgIHByb21pc2UuJCRwdWxsUHJvY2Vzc0lkID0gJ1BVTExfJyArIF8ubm93KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGFkZDogKHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPiwgcHJvbWlzZTogUHJvbWlzZTxhbnk+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWxsUHJvY2Vzc0lkID0gKHB1bGxQcm9taXNlIGFzIGFueSkuJCRwdWxsUHJvY2Vzc0lkO1xuICAgICAgICAgICAgaWYgKCFwcm9taXNlc1twdWxsUHJvY2Vzc0lkXSkge1xuICAgICAgICAgICAgICAgIHByb21pc2VzW3B1bGxQcm9jZXNzSWRdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9taXNlc1twdWxsUHJvY2Vzc0lkXS5wdXNoKHByb21pc2UpO1xuICAgICAgICB9LFxuICAgICAgICByZW1vdmU6IChwdWxsUHJvbWlzZTogUHJvbWlzZTxQdWxsSW5mbz4sIHByb21pc2U6IFByb21pc2U8YW55PikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHVsbFByb2Nlc3NJZCA9IChwdWxsUHJvbWlzZSBhcyBhbnkpLiQkcHVsbFByb2Nlc3NJZDtcbiAgICAgICAgICAgIF8ucmVtb3ZlKHByb21pc2VzW3B1bGxQcm9jZXNzSWRdLCBwcm9taXNlKTtcbiAgICAgICAgICAgIGlmIChfLmlzRW1wdHkocHJvbWlzZXNbcHVsbFByb2Nlc3NJZF0pKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb21pc2VzW3B1bGxQcm9jZXNzSWRdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBhYm9ydDogKHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHVsbFByb2Nlc3NJZCA9IChwdWxsUHJvbWlzZSBhcyBhbnkpLiQkcHVsbFByb2Nlc3NJZDtcbiAgICAgICAgICAgIGlmIChwcm9taXNlc1twdWxsUHJvY2Vzc0lkXSkge1xuICAgICAgICAgICAgICAgIF8uZm9yRWFjaChwcm9taXNlc1twdWxsUHJvY2Vzc0lkXSwgZnVuY3Rpb24gKHApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHAgJiYgcC5hYm9ydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcC5hYm9ydCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb21pc2VzW3B1bGxQcm9jZXNzSWRdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKHB1bGxQcm9taXNlIGFzIGFueSkuJCRpc01hcmtlZFRvQWJvcnQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHB1bGxQcm9taXNlLmNhdGNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2NhbmNlbGxlZCc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59KSgpO1xuXG4vKipcbiAqIExvY2FsREJEYXRhUHVsbFNlcnZpY2UgaGFzIEFQSSB0byBwdWxsIGRhdGEgZnJvbSByZW1vdGUgU2VydmVyIHRvIGxvY2FsIERhdGFiYXNlLlxuICovXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBMb2NhbERCRGF0YVB1bGxTZXJ2aWNlIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9OQU1FID0gJ0xvY2FsREJEYXRhUHVsbFNlcnZpY2UnO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBwcml2YXRlIGxvY2FsREJNYW5hZ2VtZW50U2VydmljZTogTG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvY2FsS2V5VmFsdWVTZXJ2aWNlOiBMb2NhbEtleVZhbHVlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgLy8gTGlzdGVuIGZvciBkYiBjcmVhdGlvbi4gV2hlbiBkYiBpcyBjcmVhdGVkLCB0aGVuIGluaXRpYWxpemUgbGFzdCBwdWxsIGluZm8uXG4gICAgICAgIHRoaXMubG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLnJlZ2lzdGVyQ2FsbGJhY2soe1xuICAgICAgICAgICAgb25EYkNyZWF0ZTogKGluZm8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsS2V5VmFsdWVTZXJ2aWNlLnB1dChMQVNUX1BVTExfSU5GT19LRVksIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxSZWNvcmRzVG9QdWxsOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbFB1bGxlZFJlY29yZENvdW50OiAwLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6IG5ldyBEYXRlKDApLFxuICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiBuZXcgRGF0ZShpbmZvLmRiU2VlZENyZWF0ZWRPbilcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgZGVsdGFGaWVsZE5hbWUgaXMgc2V0LGxhc3QgcHVsbCB0aW1lIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvIGFuZCBxdWVyeSB1c2VkIGluIGxhc3QgcHVsbCBpcyBzYW1lIGFzIHRoZVxuICAgICAqIHF1ZXJ5IGZvciB0aGUgY3VycmVudCBwdWxsLCB0aGVuIGRlbHRhIGNyaXRlcmlhIGlzIGF0dGFjaGVkIHRvIHRoZSBxdWVyeS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYlxuICAgICAqIEBwYXJhbSBlbnRpdHlOYW1lXG4gICAgICogQHBhcmFtIHF1ZXJ5XG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwcml2YXRlIGFkZERlbHRhQ3JpdGVyaWEoZGI6IERCSW5mbywgZW50aXR5TmFtZTogc3RyaW5nLCBxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgZW50aXR5U2NoZW1hID0gZGIuc2NoZW1hLmVudGl0aWVzW2VudGl0eU5hbWVdLFxuICAgICAgICAgICAgZGVsdGFGaWVsZE5hbWUgPSBlbnRpdHlTY2hlbWEucHVsbENvbmZpZy5kZWx0YUZpZWxkTmFtZSxcbiAgICAgICAgICAgIGRlbHRhRmllbGQgPSBfLmZpbmQoZW50aXR5U2NoZW1hLmNvbHVtbnMsIHsnZmllbGROYW1lJyA6IGRlbHRhRmllbGROYW1lfSkgfHwge307XG5cbiAgICAgICAgbGV0IGlzQnVuZGxlZEVudGl0eTtcblxuICAgICAgICBpZiAoIV8uaXNFbXB0eShkZWx0YUZpZWxkTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsREJNYW5hZ2VtZW50U2VydmljZS5pc0J1bmRsZWQoZGIuc2NoZW1hLm5hbWUsIGVudGl0eU5hbWUpXG4gICAgICAgICAgICAgICAgLnRoZW4oZmxhZyA9PiBpc0J1bmRsZWRFbnRpdHkgPSBmbGFnKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuZ2V0TGFzdFB1bGxJbmZvKCkpXG4gICAgICAgICAgICAgICAgLnRoZW4obGFzdFB1bGxJbmZvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RQdWxsVGltZSA9IChsYXN0UHVsbEluZm8gJiYgbGFzdFB1bGxJbmZvLnN0YXJ0VGltZSAmJiBsYXN0UHVsbEluZm8uc3RhcnRUaW1lLmdldFRpbWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RQdWxsREJJbmZvID0gXy5maW5kKGxhc3RQdWxsSW5mbyAmJiBsYXN0UHVsbEluZm8uZGF0YWJhc2VzLCB7J25hbWUnIDogZGIuc2NoZW1hLm5hbWV9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RQdWxsRW50aXR5SW5mbyA9IF8uZmluZChsYXN0UHVsbERCSW5mbyAmJiBsYXN0UHVsbERCSW5mby5lbnRpdGllcywgeydlbnRpdHlOYW1lJyA6IGVudGl0eU5hbWV9KSB8fCB7fTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWxhc3RQdWxsVGltZSAmJiBpc0J1bmRsZWRFbnRpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBidW5kbGVkIGVudGl0eSB3aGVuIHRoZXJlIGlzIG5vIGxhc3QgcHVsbCwgZmV0Y2ggcmVjb3JkcyB0aGF0IGdvdCBtb2RpZmllZCBhZnRlciBkYiBjcmVhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RQdWxsVGltZSA9IChsYXN0UHVsbEluZm8gJiYgbGFzdFB1bGxJbmZvLmVuZFRpbWUgJiYgbGFzdFB1bGxJbmZvLmVuZFRpbWUuZ2V0VGltZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RQdWxsRW50aXR5SW5mby5xdWVyeSA9IHF1ZXJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0UHVsbEVudGl0eUluZm8ucXVlcnkgPT09IHF1ZXJ5ICYmIGxhc3RQdWxsVGltZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfLmlzRW1wdHkocXVlcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgKz0gJyBBTkQgJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWx0YUZpZWxkLnNxbFR5cGUgPT09ICdkYXRldGltZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBkZWx0YUZpZWxkTmFtZSArICcgPiBcXCcnICsgbW9tZW50KGxhc3RQdWxsVGltZSkudXRjKCkuZm9ybWF0KCdZWVlZLU1NLUREVEhIOm1tOnNzJykgKyAnXFwnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgKz0gZGVsdGFGaWVsZE5hbWUgKyAnID4gJyArIGxhc3RQdWxsVGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgICAgICAgICAgICAgfSwgKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHF1ZXJ5KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShxdWVyeSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29waWVzIHRoZSBkYXRhIGZyb20gcmVtb3RlIGRiIHRvIGxvY2FsIGRiXG4gICAgICogQHBhcmFtIHtEQkluZm99IGRiXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGVudGl0eU5hbWVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNsZWFyRGF0YUJlZm9yZVB1bGxcbiAgICAgKiBAcGFyYW0gcHVsbFByb21pc2VcbiAgICAgKiBAcGFyYW0ge09ic2VydmVyPGFueT59IHByb2dyZXNzT2JzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgICAqL1xuICAgIHByaXZhdGUgY29weURhdGFGcm9tUmVtb3RlREJUb0xvY2FsREIoZGI6IERCSW5mbywgZW50aXR5TmFtZTogc3RyaW5nLCBjbGVhckRhdGFCZWZvcmVQdWxsOiBib29sZWFuLCBwdWxsUHJvbWlzZTogUHJvbWlzZTxQdWxsSW5mbz4sIHByb2dyZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pIHtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSAoZGIgYXMgYW55KS5zdG9yZXNbZW50aXR5TmFtZV0sXG4gICAgICAgICAgICBlbnRpdHlTY2hlbWEgPSBkYi5zY2hlbWEuZW50aXRpZXNbZW50aXR5TmFtZV0sXG4gICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgZW50aXR5TmFtZTogZW50aXR5TmFtZSxcbiAgICAgICAgICAgICAgICB0b3RhbFJlY29yZHNUb1B1bGw6IDAsXG4gICAgICAgICAgICAgICAgcHVsbGVkUmVjb3JkQ291bnQ6IDBcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgbGV0IGluUHJvZ3Jlc3MgPSAwLFxuICAgICAgICAgICAgcHVsbENvbXBsZXRlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXI7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVF1ZXJ5KGRiLCBlbnRpdHlOYW1lKVxuICAgICAgICAgICAgICAgIC50aGVuKHF1ZXJ5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCBhcyBhbnkpLnF1ZXJ5ID0gcXVlcnk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZERlbHRhQ3JpdGVyaWEoZGIsIGVudGl0eU5hbWUsIHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKHF1ZXJ5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgaWYgY2xlYXJEYXRhQmVmb3JlUHVsbCBpcyB0cnVlIGFuZCBkZWx0YSBxdWVyeSBpcyBub3QgdXNlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoY2xlYXJEYXRhQmVmb3JlUHVsbCAmJiAocmVzdWx0IGFzIGFueSkucXVlcnkgPT09IHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmUuY2xlYXIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKHF1ZXJ5ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gXy5pc0VtcHR5KHF1ZXJ5KSA/ICcnIDogJ3E9JyArIHF1ZXJ5O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3RhbFJlY29yZHNUb1B1bGwoZGIsIGVudGl0eVNjaGVtYSwgZmlsdGVyLCBwdWxsUHJvbWlzZSk7XG4gICAgICAgICAgICAgICAgfSkudGhlbihtYXhOb09mUmVjb3JkcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VTaXplID0gZW50aXR5U2NoZW1hLnB1bGxDb25maWcuc2l6ZSB8fCAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb09mUGFnZXMgPSBNYXRoLmNlaWwobWF4Tm9PZlJlY29yZHMgLyBwYWdlU2l6ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnRvdGFsUmVjb3Jkc1RvUHVsbCA9IG1heE5vT2ZSZWNvcmRzO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBzb3J0ID0gZW50aXR5U2NoZW1hLnB1bGxDb25maWcub3JkZXJCeTtcbiAgICAgICAgICAgICAgICAgICAgc29ydCA9IChfLmlzRW1wdHkoc29ydCkgPyAnJyA6IHNvcnQgKyAnLCcpICsgc3RvcmUucHJpbWFyeUtleU5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NPYnNlcnZlci5uZXh0KHJlc3VsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgX3Byb2dyZXNzT2JzZXJ2ZXIgPSB7IG5leHQ6IGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluUHJvZ3Jlc3MrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gXy5zbGljZShkYXRhLCAwLCByZXN1bHQudG90YWxSZWNvcmRzVG9QdWxsIC0gcmVzdWx0LnB1bGxlZFJlY29yZENvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZS5zYXZlQWxsKGRhdGEpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVsbGVkUmVjb3JkQ291bnQgKz0gZGF0YSA/IGRhdGEubGVuZ3RoIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NPYnNlcnZlci5uZXh0KHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2gobm9vcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5Qcm9ncmVzcy0tO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluUHJvZ3Jlc3MgPT09IDAgJiYgcHVsbENvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGVycm9yOiBudWxsLCBjb21wbGV0ZTogbnVsbFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3B1bGxFbnRpdHlEYXRhKGRiLCBlbnRpdHlOYW1lLCBmaWx0ZXIsIHNvcnQsIG1heE5vT2ZQYWdlcywgcGFnZVNpemUsIDEsIHB1bGxQcm9taXNlLCB1bmRlZmluZWQsIF9wcm9ncmVzc09ic2VydmVyKTtcbiAgICAgICAgICAgICAgICB9KS50aGVuKG51bGwsIHJlamVjdClcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKG5vb3ApXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5Qcm9ncmVzcyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiBleHByZXNzaW9uIHN0YXJ0cyB3aXRoICdiaW5kOicsIHRoZW4gZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgYW5kIHJlc3VsdCBpcyByZXR1cm5lZC5cbiAgICBwcml2YXRlIGV2YWxJZkJpbmQoZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgIGlmIChfLnN0YXJ0c1dpdGgoZXhwcmVzc2lvbiwgJ2JpbmQ6JykpIHtcbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSBleHByZXNzaW9uLnJlcGxhY2UoL1xcW1xcJFxcaVxcXS9nLCAnWzBdJyk7XG4gICAgICAgICAgICByZXR1cm4gJHBhcnNlRXhwcihleHByZXNzaW9uLnJlcGxhY2UoJ2JpbmQ6JywgJycpKSh0aGlzLmFwcCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgRGF0YWJhc2VTZXJ2aWNlLmNvdW50VGFibGVEYXRhV2l0aFF1ZXJ5IGFzIGEgcHJvbWlzZSBBUEkuXG4gICAgICogQHBhcmFtIHBhcmFtc1xuICAgICAqIEByZXR1cm5zIFByb21pc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4ZWN1dGVEYXRhYmFzZUNvdW50UXVlcnkocGFyYW1zOiBPYmplY3QpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgTFZTZXJ2aWNlLmNvdW50VGFibGVEYXRhV2l0aFF1ZXJ5KHBhcmFtcywgbnVsbCwgbnVsbCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHJlc29sdmUocmVzcG9uc2UuYm9keSksIHJlamVjdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIERhdGFiYXNlU2VydmljZS5zZWFyY2hUYWJsZURhdGFXaXRoUXVlcnkgYXMgYSBwcm9taXNlIEFQSS5cbiAgICAgKiBAcGFyYW0gcGFyYW1zXG4gICAgICogQHJldHVybnMgUHJvbWlzZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXhlY3V0ZURhdGFiYXNlU2VhcmNoUXVlcnkocGFyYW1zOiBPYmplY3QpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIExWU2VydmljZS5zZWFyY2hUYWJsZURhdGFXaXRoUXVlcnkocGFyYW1zLCBudWxsLCBudWxsKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4gcmVzb2x2ZShyZXNwb25zZSAmJiByZXNwb25zZS5ib2R5ICYmIHJlc3BvbnNlLmJvZHkuY29udGVudCksIHJlamVjdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWNvcmRzIHRvIHB1bGwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGJcbiAgICAgKiBAcGFyYW0gZW50aXR5U2NoZW1hXG4gICAgICogQHBhcmFtIGZpbHRlclxuICAgICAqIEBwYXJhbSBwdWxsUHJvbWlzZVxuICAgICAqIEByZXR1cm5zIHsqfVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0VG90YWxSZWNvcmRzVG9QdWxsKGRiOiBEQkluZm8sIGVudGl0eVNjaGVtYTogRW50aXR5SW5mbywgZmlsdGVyOiBzdHJpbmcsIHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIGRhdGFNb2RlbE5hbWU6IGRiLnNjaGVtYS5uYW1lLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogZW50aXR5U2NoZW1hLmVudGl0eU5hbWUsXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogZmlsdGVyXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLnJldHJ5SWZOZXR3b3JrRmFpbHMoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZURhdGFiYXNlQ291bnRRdWVyeShwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG90YWxSZWNvcmRDb3VudCA9IHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICBtYXhSZWNvcmRzVG9QdWxsID0gXy5wYXJzZUludCgoZW50aXR5U2NoZW1hLnB1bGxDb25maWcgYXMgYW55KS5tYXhOdW1iZXJPZlJlY29yZHMpO1xuICAgICAgICAgICAgICAgIGlmIChfLmlzTmFOKG1heFJlY29yZHNUb1B1bGwpIHx8IG1heFJlY29yZHNUb1B1bGwgPD0gMCB8fCB0b3RhbFJlY29yZENvdW50IDwgbWF4UmVjb3Jkc1RvUHVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxSZWNvcmRDb3VudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1heFJlY29yZHNUb1B1bGw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgcHVsbFByb21pc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVF1ZXJ5KGRiOiBEQkluZm8sIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGxldCBxdWVyeTtcbiAgICAgICAgY29uc3QgZW50aXR5U2NoZW1hID0gZGIuc2NoZW1hLmVudGl0aWVzW2VudGl0eU5hbWVdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsREJNYW5hZ2VtZW50U2VydmljZS5pc0J1bmRsZWQoZGIuc2NoZW1hLm5hbWUsIGVudGl0eU5hbWUpXG4gICAgICAgICAgICAudGhlbihpc0J1bmRsZWRFbnRpdHkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBoYXNOdWxsQXR0cmlidXRlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoaXNCdW5kbGVkRW50aXR5IHx8IF8uaXNFbXB0eShlbnRpdHlTY2hlbWEucHVsbENvbmZpZy5xdWVyeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBfLmNsb25lRGVlcChlbnRpdHlTY2hlbWEucHVsbENvbmZpZy5maWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICBxdWVyeSA9IF8ubWFwKHF1ZXJ5LCB2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHYuYXR0cmlidXRlVmFsdWUgPSB0aGlzLmV2YWxJZkJpbmQodi5hdHRyaWJ1dGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNOdWxsQXR0cmlidXRlVmFsdWUgPSBoYXNOdWxsQXR0cmlidXRlVmFsdWUgfHwgXy5pc05pbCh2LmF0dHJpYnV0ZVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc051bGxBdHRyaWJ1dGVWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdOdWxsIGNyaXRlcmlhIHZhbHVlcyBhcmUgcHJlc2VudCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gXy5zb3J0QnkocXVlcnksICdhdHRyaWJ1dGVOYW1lJyk7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gTGl2ZVZhcmlhYmxlVXRpbHMuZ2V0U2VhcmNoUXVlcnkocXVlcnksICcgQU5EICcsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ID0gdGhpcy5ldmFsSWZCaW5kKGVudGl0eVNjaGVtYS5wdWxsQ29uZmlnLnF1ZXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKF8uaXNOaWwocXVlcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbmNvZGVVUklDb21wb25lbnQocXVlcnkpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGJcbiAgICAgKiBAcGFyYW0gY2xlYXJEYXRhQmVmb3JlUHVsbFxuICAgICAqIEBwYXJhbSBwdWxsUHJvbWlzZVxuICAgICAqIEBwYXJhbSBwcm9ncmVzc09ic2VydmVyXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgcHJpdmF0ZSBfcHVsbERiRGF0YShkYjogREJJbmZvLCBjbGVhckRhdGFCZWZvcmVQdWxsOiBib29sZWFuLCBwdWxsUHJvbWlzZTogUHJvbWlzZTxQdWxsSW5mbz4sIHByb2dyZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBkYXRhbW9kZWxOYW1lID0gZGIuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogZGIuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgICAgICAgZW50aXRpZXM6IFtdLFxuICAgICAgICAgICAgICAgIHRvdGFsUmVjb3Jkc1RvUHVsbDogMCxcbiAgICAgICAgICAgICAgICBwdWxsZWRSZWNvcmRDb3VudDogMCxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWRUYXNrQ291bnQ6IDAsXG4gICAgICAgICAgICAgICAgdG90YWxUYXNrQ291bnQ6IDBcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc3RvcmVQcm9taXNlcyA9IFtdO1xuXG4gICAgICAgIF8uZm9yRWFjaChkYi5zY2hlbWEuZW50aXRpZXMsIGVudGl0eSA9PiB7XG4gICAgICAgICAgICBzdG9yZVByb21pc2VzLnB1c2godGhpcy5sb2NhbERCTWFuYWdlbWVudFNlcnZpY2UuZ2V0U3RvcmUoZGF0YW1vZGVsTmFtZSwgZW50aXR5LmVudGl0eU5hbWUpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIFByb21pc2UuYWxsKHN0b3JlUHJvbWlzZXMpXG4gICAgICAgICAgICAgICAgLnRoZW4oKHN0b3JlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRpdGllcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBzdG9yZXMuZm9yRWFjaChzdG9yZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWxsQ29uZmlnID0gc3RvcmUuZW50aXR5U2NoZW1hLnB1bGxDb25maWc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWxsVHlwZSA9IHB1bGxDb25maWcucHVsbFR5cGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHVsbFR5cGUgPT09IFB1bGxUeXBlLkFQUF9TVEFSVCB8fCAocHVsbFR5cGUgPT09IFB1bGxUeXBlLkJVTkRMRUQgJiYgKHB1bGxDb25maWcgYXMgYW55KS5kZWx0YUZpZWxkTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdGllcy5wdXNoKHN0b3JlLmVudGl0eVNjaGVtYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWxsUHJvbWlzZXMgPSBfLmNoYWluKGVudGl0aWVzKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChlbnRpdHkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX3Byb2dyZXNzT2JzZXJ2ZXIgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogaW5mbyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGkgPSBfLmZpbmRJbmRleChyZXN1bHQuZW50aXRpZXMsIHsnZW50aXR5TmFtZSc6IGluZm8uZW50aXR5TmFtZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuZW50aXRpZXNbaV0gPSBpbmZvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmVudGl0aWVzLnB1c2goaW5mbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1bGxlZFJlY29yZENvdW50ID0gXy5yZWR1Y2UocmVzdWx0LmVudGl0aWVzLCBmdW5jdGlvbiAoc3VtLCBlbnRpdHlQdWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGVudGl0eVB1bGxJbmZvLnB1bGxlZFJlY29yZENvdW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnRvdGFsUmVjb3Jkc1RvUHVsbCA9IF8ucmVkdWNlKHJlc3VsdC5lbnRpdGllcywgZnVuY3Rpb24gKHN1bSwgZW50aXR5UHVsbEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdW0gKyBlbnRpdHlQdWxsSW5mby50b3RhbFJlY29yZHNUb1B1bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc09ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBlcnJvcjogbnVsbCwgY29tcGxldGU6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb3B5RGF0YUZyb21SZW1vdGVEQlRvTG9jYWxEQihkYiwgZW50aXR5LmVudGl0eU5hbWUsIGNsZWFyRGF0YUJlZm9yZVB1bGwsIHB1bGxQcm9taXNlLCBfcHJvZ3Jlc3NPYnNlcnZlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoaW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGVkVGFza0NvdW50Kys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzT2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfSkudmFsdWUoKTtcblxuICAgICAgICAgICAgICAgIHJlc3VsdC50b3RhbFRhc2tDb3VudCA9IHB1bGxQcm9taXNlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3NPYnNlcnZlci5uZXh0KHJlc3VsdCk7XG5cbiAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChwdWxsUHJvbWlzZXMpLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdWxscyBkYXRhIG9mIHRoZSBnaXZlbiBlbnRpdHkgZnJvbSByZW1vdGUgc2VydmVyLlxuICAgICAqIEBwYXJhbSBkYlxuICAgICAqIEBwYXJhbSBlbnRpdHlOYW1lXG4gICAgICogQHBhcmFtIHNvcnRcbiAgICAgKiBAcGFyYW0gbWF4Tm9PZlBhZ2VzXG4gICAgICogQHBhcmFtIHBhZ2VTaXplXG4gICAgICogQHBhcmFtIGN1cnJlbnRQYWdlXG4gICAgICogQHBhcmFtIGZpbHRlclxuICAgICAqIEBwYXJhbSBwdWxsUHJvbWlzZVxuICAgICAqIEBwYXJhbSBwcm9taXNlXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgcHJpdmF0ZSBfcHVsbEVudGl0eURhdGEoZGI6IERCSW5mbywgZW50aXR5TmFtZTogc3RyaW5nLCBmaWx0ZXI6IHN0cmluZywgc29ydCwgbWF4Tm9PZlBhZ2VzOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGN1cnJlbnRQYWdlOiBudW1iZXIsIHB1bGxQcm9taXNlOiBQcm9taXNlPFB1bGxJbmZvPiwgZGVmZXJyZWQ6IGFueSwgcHJvZ3Jlc3NPYnNlcnZlcj86IE9ic2VydmVyPGFueT4pIHtcbiAgICAgICAgY29uc3QgZGF0YU1vZGVsTmFtZSA9IGRiLnNjaGVtYS5uYW1lO1xuXG4gICAgICAgIGlmICghZGVmZXJyZWQpIHtcbiAgICAgICAgICAgIGRlZmVycmVkID0gZGVmZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjdXJyZW50UGFnZSA+IG1heE5vT2ZQYWdlcykge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkLnJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICBkYXRhTW9kZWxOYW1lOiBkYXRhTW9kZWxOYW1lLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogZW50aXR5TmFtZSxcbiAgICAgICAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgc2l6ZTogcGFnZVNpemUsXG4gICAgICAgICAgICBkYXRhOiBmaWx0ZXIsXG4gICAgICAgICAgICBzb3J0OiBzb3J0LFxuICAgICAgICAgICAgb25seU9ubGluZTogdHJ1ZSxcbiAgICAgICAgICAgIHNraXBMb2NhbERCOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucmV0cnlJZk5ldHdvcmtGYWlscygoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRlRGF0YWJhc2VTZWFyY2hRdWVyeShwYXJhbXMpO1xuICAgICAgICB9LCBwdWxsUHJvbWlzZSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBwcm9ncmVzc09ic2VydmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5fcHVsbEVudGl0eURhdGEoZGIsIGVudGl0eU5hbWUsIGZpbHRlciwgc29ydCwgbWF4Tm9PZlBhZ2VzLCBwYWdlU2l6ZSwgY3VycmVudFBhZ2UgKyAxLCBwdWxsUHJvbWlzZSwgZGVmZXJyZWQsIHByb2dyZXNzT2JzZXJ2ZXIpO1xuICAgICAgICB9LCBkZWZlcnJlZC5yZWplY3QpO1xuXG4gICAgICAgIHJldHVybiBkZWZlcnJlZC5wcm9taXNlO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogSWYgZm4gZmFpbHMgYW5kIG5ldHdvcmsgaXMgbm90IHRoZXJlXG4gICAgICogQHBhcmFtIGZuXG4gICAgICogQHBhcmFtIHB1bGxQcm9taXNlXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICovXG4gICAgcHJpdmF0ZSByZXRyeUlmTmV0d29ya0ZhaWxzKGZuOiBGdW5jdGlvbiwgcHVsbFByb21pc2U6IFByb21pc2U8UHVsbEluZm8+KSB7XG4gICAgICAgIGlmICgocHVsbFByb21pc2UgYXMgYW55KS4kJGlzTWFya2VkVG9BYm9ydCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdhYm9ydGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubmV0d29ya1NlcnZpY2UucmV0cnlJZk5ldHdvcmtGYWlscyhmbik7XG4gICAgICAgIHB1bGxQcm9jZXNzTWFuYWdlci5hZGQocHVsbFByb21pc2UsIHByb21pc2UpO1xuICAgICAgICBwcm9taXNlLmNhdGNoKG5vb3ApXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBwdWxsUHJvY2Vzc01hbmFnZXIucmVtb3ZlKHB1bGxQcm9taXNlLCBwcm9taXNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIGNhbmNlbCB0aGUgY29ycmVzcG9uZGluZyBwdWxsIHByb2Nlc3MgdGhhdCBnYXZlIHRoZSBnaXZlbiBwcm9taXNlLlxuICAgICAqIEBwYXJhbSBwcm9taXNlXG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuY2VsKHByb21pc2U6IFByb21pc2U8YW55Pikge1xuICAgICAgICByZXR1cm4gcHVsbFByb2Nlc3NNYW5hZ2VyLmFib3J0KHByb21pc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZldGNoZXMgdGhlIGRhdGFiYXNlIGZyb20gdGhlIGRiTmFtZS5cbiAgICAgKiBAcGFyYW0gZGJOYW1lXG4gICAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGIoZGJOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLmxvYWREYXRhYmFzZXMoKVxuICAgICAgICAgICAgLnRoZW4oZGF0YWJhc2VzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYiA9IF8uZmluZChkYXRhYmFzZXMsIHsnbmFtZScgOiBkYk5hbWV9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGIgfHwgUHJvbWlzZS5yZWplY3QoJ0xvY2FsIGRhdGFiYXNlICgnICsgZGJOYW1lICsgJykgbm90IGZvdW5kJyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB7YW55fSB0aGF0IGhhcyB0b3RhbCBubyBvZiByZWNvcmRzIGZldGNoZWQsIHN0YXJ0IGFuZCBlbmQgdGltZXN0YW1wcyBvZiBsYXN0IHN1Y2Nlc3NmdWwgcHVsbFxuICAgICAqIG9mIGRhdGEgZnJvbSByZW1vdGUgc2VydmVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMYXN0UHVsbEluZm8oKTogUHJvbWlzZTxQdWxsSW5mbz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbEtleVZhbHVlU2VydmljZS5nZXQoTEFTVF9QVUxMX0lORk9fS0VZKS50aGVuKGluZm8gPT4ge1xuICAgICAgICAgICAgaWYgKF8uaXNTdHJpbmcoaW5mby5zdGFydFRpbWUpKSB7XG4gICAgICAgICAgICAgICAgaW5mby5zdGFydFRpbWUgPSBuZXcgRGF0ZShpbmZvLnN0YXJ0VGltZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXy5pc1N0cmluZyhpbmZvLmVuZFRpbWUpKSB7XG4gICAgICAgICAgICAgICAgaW5mby5lbmRUaW1lID0gbmV3IERhdGUoaW5mby5lbmRUaW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbmZvO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgKGJhc2VkIG9uIHBhcmFtZXRlcikgYW5kIHB1bGxzIGRhdGEgKCdCVU5ETEVEJyBkYXRhIGJhc2VkIG9uIHBhcmFtZXRlcikgZnJvbSBzZXJ2ZXIgdXNpbmcgdGhlXG4gICAgICogY29uZmlndXJlZCBydWxlcyBpbiBvZmZsaW5lIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2xlYXJEYXRhQmVmb3JlUHVsbCBib29sZWFuXG4gICAgICogQHBhcmFtIHtPYnNlcnZlcjxhbnk+fSBwcm9ncmVzc09ic2VydmVyXG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwdWJsaWMgcHVsbEFsbERiRGF0YShjbGVhckRhdGFCZWZvcmVQdWxsOiBib29sZWFuLCBwcm9ncmVzc09ic2VydmVyOiBPYnNlcnZlcjxhbnk+KTogUHJvbWlzZTxQdWxsSW5mbz4ge1xuICAgICAgICBjb25zdCBkZWZlcnJlZCA9IGdldEFib3J0YWJsZURlZmVyKCksXG4gICAgICAgICAgICBwdWxsSW5mbyA9IHtcbiAgICAgICAgICAgIGNvbXBsZXRlZFRhc2tDb3VudDogMCxcbiAgICAgICAgICAgIHRvdGFsVGFza0NvdW50OiAwLFxuICAgICAgICAgICAgaW5Qcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGFiYXNlczogW10sXG4gICAgICAgICAgICB0b3RhbFJlY29yZHNUb1B1bGw6IDAsXG4gICAgICAgICAgICB0b3RhbFB1bGxlZFJlY29yZENvdW50OiAwLFxuICAgICAgICAgICAgc3RhcnRUaW1lOiBuZXcgRGF0ZSgpLFxuICAgICAgICAgICAgZW5kVGltZTogbmV3IERhdGUoKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubG9jYWxEQk1hbmFnZW1lbnRTZXJ2aWNlLmxvYWREYXRhYmFzZXMoKVxuICAgICAgICAgICAgLnRoZW4oZGF0YWJhc2VzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhUHVsbFByb21pc2VzID0gXy5jaGFpbihkYXRhYmFzZXMpLmZpbHRlcihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFkYi5zY2hlbWEuaXNJbnRlcm5hbDtcbiAgICAgICAgICAgICAgICB9KS5tYXAoZGIgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwdWxsUHJvY2Vzc01hbmFnZXIuc3RhcnQoZGVmZXJyZWQucHJvbWlzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgX3Byb2dyZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4gPSB7bmV4dDogZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGkgPSBfLmZpbmRJbmRleChwdWxsSW5mby5kYXRhYmFzZXMsIHsnbmFtZScgOiBkYXRhLm5hbWV9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEluZm8uZGF0YWJhc2VzW2ldID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxJbmZvLmRhdGFiYXNlcy5wdXNoKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxJbmZvLnRvdGFsVGFza0NvdW50ID0gXy5yZWR1Y2UocHVsbEluZm8uZGF0YWJhc2VzLCBmdW5jdGlvbiAoc3VtLCBkYlB1bGxJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VtICsgZGJQdWxsSW5mby50b3RhbFRhc2tDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxJbmZvLmNvbXBsZXRlZFRhc2tDb3VudCA9IF8ucmVkdWNlKHB1bGxJbmZvLmRhdGFiYXNlcywgZnVuY3Rpb24gKHN1bSwgZGJQdWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGRiUHVsbEluZm8uY29tcGxldGVkVGFza0NvdW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEluZm8udG90YWxQdWxsZWRSZWNvcmRDb3VudCA9IF8ucmVkdWNlKHB1bGxJbmZvLmRhdGFiYXNlcywgZnVuY3Rpb24gKHN1bSwgZGJQdWxsSW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1bSArIGRiUHVsbEluZm8ucHVsbGVkUmVjb3JkQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsSW5mby50b3RhbFJlY29yZHNUb1B1bGwgPSBfLnJlZHVjZShwdWxsSW5mby5kYXRhYmFzZXMsIGZ1bmN0aW9uIChzdW0sIGRiUHVsbEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdW0gKyBkYlB1bGxJbmZvLnRvdGFsUmVjb3Jkc1RvUHVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzT2JzZXJ2ZXIubmV4dChwdWxsSW5mbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3I6IG51bGwsIGNvbXBsZXRlOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wdWxsRGJEYXRhKGRiLCBjbGVhckRhdGFCZWZvcmVQdWxsLCBkZWZlcnJlZC5wcm9taXNlLCBfcHJvZ3Jlc3NPYnNlcnZlcik7XG4gICAgICAgICAgICAgICAgfSkudmFsdWUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoZGF0YVB1bGxQcm9taXNlcyk7XG4gICAgICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBwdWxsSW5mby5lbmRUaW1lID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICBwdWxsSW5mby5pblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbEtleVZhbHVlU2VydmljZS5wdXQoTEFTVF9QVUxMX0lORk9fS0VZLCBwdWxsSW5mbyk7XG4gICAgICAgICAgICAgICAgZGVmZXJyZWQucmVzb2x2ZShwdWxsSW5mbyk7XG4gICAgICAgIH0sIGRlZmVycmVkLnJlamVjdCk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmVycmVkLnByb21pc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIChiYXNlZCBvbiBwYXJhbWV0ZXIpIGFuZCBwdWxscyBkYXRhICgnQlVORExFRCcgZGF0YSBiYXNlZCBvbiBwYXJhbWV0ZXIpIG9mIHRoZSBnaXZlbiBkYXRhYmFzZSBmcm9tIHNlcnZlciB1c2luZ1xuICAgICAqIHRoZSBjb25maWd1cmVkIHJ1bGVzIGluIG9mZmxpbmUgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhYmFzZU5hbWVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNsZWFyRGF0YUJlZm9yZVB1bGxcbiAgICAgKiBAcGFyYW0ge09ic2VydmVyPGFueT59IHByb2dyZXNzT2JzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICAgKi9cbiAgICBwdWJsaWMgcHVsbERiRGF0YShkYXRhYmFzZU5hbWU6IHN0cmluZywgY2xlYXJEYXRhQmVmb3JlUHVsbDogYm9vbGVhbiwgcHJvZ3Jlc3NPYnNlcnZlcjogT2JzZXJ2ZXI8YW55Pik6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGRlZmVycmVkID0gZ2V0QWJvcnRhYmxlRGVmZXIoKTtcblxuICAgICAgICB0aGlzLmdldERiKGRhdGFiYXNlTmFtZSkudGhlbihkYiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcHVsbERiRGF0YShkYiwgY2xlYXJEYXRhQmVmb3JlUHVsbCwgZGVmZXJyZWQucHJvbWlzZSwgcHJvZ3Jlc3NPYnNlcnZlcik7XG4gICAgICAgIH0pLnRoZW4oZGVmZXJyZWQucmVzb2x2ZSwgZGVmZXJyZWQucmVqZWN0KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgKGJhc2VkIG9uIHBhcmFtZXRlcikgYW5kIHB1bGxzIGRhdGEgb2YgdGhlIGdpdmVuIGVudGl0eSBhbmQgZGF0YWJhc2UgZnJvbVxuICAgICAqIHNlcnZlciB1c2luZyB0aGUgY29uZmlndXJlZCBydWxlcyBpbiBvZmZsaW5lIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIGRhdGFiYXNlTmFtZSwgbmFtZSBvZiB0aGUgZGF0YWJhc2UgZnJvbSB3aGljaCBkYXRhIGhhcyB0byBiZSBwdWxsZWQuXG4gICAgICogQHBhcmFtIGVudGl0eU5hbWUsIG5hbWUgb2YgdGhlIGVudGl0eSBmcm9tIHdoaWNoIGRhdGEgaGFzIHRvIGJlIHB1bGxlZFxuICAgICAqIEBwYXJhbSBjbGVhckRhdGFCZWZvcmVQdWxsLCBpZiBzZXQgdG8gdHJ1ZSwgdGhlbiBkYXRhIG9mIHRoZSBlbnRpdHkgd2lsbCBiZSBkZWxldGVkLlxuICAgICAqIEBwYXJhbSBwcm9ncmVzc09ic2VydmVyLCBvYnNlcnZlciB0aGUgcHJvZ3Jlc3MgdmFsdWVzXG4gICAgICovXG4gICAgcHVibGljIHB1bGxFbnRpdHlEYXRhKGRhdGFiYXNlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcsIGNsZWFyRGF0YUJlZm9yZVB1bGw6IGJvb2xlYW4sIHByb2dyZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBkZWZlcnJlZCA9IGdldEFib3J0YWJsZURlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5nZXREYihkYXRhYmFzZU5hbWUpXG4gICAgICAgICAgICAudGhlbigoZGIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb3B5RGF0YUZyb21SZW1vdGVEQlRvTG9jYWxEQihkYiwgZW50aXR5TmFtZSwgY2xlYXJEYXRhQmVmb3JlUHVsbCwgZGVmZXJyZWQucHJvbWlzZSwgcHJvZ3Jlc3NPYnNlcnZlcik7XG4gICAgICAgIH0pLnRoZW4oZGVmZXJyZWQucmVzb2x2ZSwgZGVmZXJyZWQucmVqZWN0KTtcblxuICAgICAgICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbiAgICB9XG59XG4iXX0=
|