@wavemaker/app-ng-runtime 11.9.4-rc.5977 → 11.10.0-next.142020
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/fesm2022/index.mjs +1 -1
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +3 -3
- app-ng-runtime/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.module.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +2 -2
- app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +2 -2
- app-ng-runtime/components/advanced/login/esm2022/login.module.mjs +2 -2
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +2 -2
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.directive.mjs +2 -2
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.module.mjs +2 -2
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +36 -36
- app-ng-runtime/components/base/esm2022/components.module.mjs +2 -2
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +16 -16
- app-ng-runtime/components/base/esm2022/pipes/image.pipe.mjs +2 -2
- app-ng-runtime/components/base/esm2022/pipes/sanitize.pipe.mjs +2 -2
- app-ng-runtime/components/base/esm2022/pipes/trust-as.pipe.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/base/stylable.component.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/base/text-content.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/container/container.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/message/message.component.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +2 -2
- app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +2 -2
- app-ng-runtime/components/base/fesm2022/index.mjs +38 -38
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
- app-ng-runtime/components/basic/default/bundles/index.umd.js +10 -10
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/basic.module.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/html/html.directive.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +2 -2
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +11 -11
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +4 -4
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +2 -2
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +2 -2
- app-ng-runtime/components/basic/progress/esm2022/progress.module.mjs +2 -2
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -2
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -2
- 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 +3 -3
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -3
- app-ng-runtime/components/basic/search/esm2022/scrollable.directive.mjs +2 -2
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +2 -2
- app-ng-runtime/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +2 -2
- app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +2 -2
- app-ng-runtime/components/basic/tree/esm2022/tree.module.mjs +2 -2
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/chart/bundles/index.umd.js +3 -3
- app-ng-runtime/components/chart/esm2022/chart.component.mjs +2 -2
- app-ng-runtime/components/chart/esm2022/chart.module.mjs +2 -2
- app-ng-runtime/components/chart/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +3 -3
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +2 -2
- app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +2 -2
- app-ng-runtime/components/containers/accordion/esm2022/accordion.module.mjs +2 -2
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +5 -5
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +4 -4
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.module.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs +5 -5
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +3 -3
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +2 -2
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +2 -2
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.module.mjs +2 -2
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +2 -2
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +2 -2
- app-ng-runtime/components/containers/panel/esm2022/panel.module.mjs +2 -2
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +3 -3
- app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +2 -2
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +2 -2
- app-ng-runtime/components/containers/tabs/esm2022/tabs.module.mjs +2 -2
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +5 -5
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +2 -2
- app-ng-runtime/components/containers/tile/esm2022/tile.directive.mjs +2 -2
- app-ng-runtime/components/containers/tile/esm2022/tile.module.mjs +2 -2
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +3 -3
- app-ng-runtime/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +2 -2
- app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +2 -2
- app-ng-runtime/components/containers/wizard/esm2022/wizard.module.mjs +2 -2
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/card/bundles/index.umd.js +5 -5
- app-ng-runtime/components/data/card/esm2022/card-actions/card-actions.directive.mjs +2 -2
- app-ng-runtime/components/data/card/esm2022/card-content/card-content.component.mjs +2 -2
- app-ng-runtime/components/data/card/esm2022/card-footer/card-footer.directive.mjs +2 -2
- app-ng-runtime/components/data/card/esm2022/card.component.mjs +2 -2
- app-ng-runtime/components/data/card/esm2022/card.module.mjs +2 -2
- app-ng-runtime/components/data/card/fesm2022/index.mjs +6 -6
- app-ng-runtime/components/data/card/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +9 -9
- app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form-widget.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form.module.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/live-actions/dependson.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/live-actions/live-actions.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +2 -2
- app-ng-runtime/components/data/form/fesm2022/index.mjs +11 -11
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/bundles/index.umd.js +3 -3
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +2 -2
- app-ng-runtime/components/data/list/esm2022/list.component.mjs +2 -2
- app-ng-runtime/components/data/list/esm2022/list.module.mjs +2 -2
- app-ng-runtime/components/data/list/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +2 -2
- app-ng-runtime/components/data/live-table/esm2022/live-table.module.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -2
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +2 -2
- app-ng-runtime/components/data/pagination/esm2022/pagination.module.mjs +2 -2
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/bundles/index.umd.js +9 -9
- app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-row/table-row.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table.module.mjs +2 -2
- app-ng-runtime/components/data/table/fesm2022/index.mjs +11 -11
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +5 -5
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +6 -6
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +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 +2 -2
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +2 -2
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/login-dialog/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +2 -2
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +2 -2
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +2 -2
- app-ng-runtime/components/input/calendar/esm2022/calendar.module.mjs +2 -2
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +2 -2
- app-ng-runtime/components/input/chips/esm2022/chips.module.mjs +2 -2
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +2 -2
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.module.mjs +2 -2
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +2 -2
- app-ng-runtime/components/input/currency/esm2022/currency.module.mjs +2 -2
- app-ng-runtime/components/input/currency/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +21 -21
- app-ng-runtime/components/input/default/esm2022/base-form-custom.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/button-group/button-group.directive.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/composite/composite.directive.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/input.module.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +2 -2
- app-ng-runtime/components/input/default/fesm2022/index.mjs +26 -26
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +10 -10
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +1 -1
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +4 -4
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +3 -3
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +2 -2
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +11 -11
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +2 -2
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +2 -2
- app-ng-runtime/components/input/rating/esm2022/rating.module.mjs +2 -2
- app-ng-runtime/components/input/rating/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +2 -2
- app-ng-runtime/components/input/slider/esm2022/slider.module.mjs +2 -2
- app-ng-runtime/components/input/slider/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +2 -2
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +8 -8
- app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +2 -2
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +2 -2
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +2 -2
- app-ng-runtime/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +2 -2
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +10 -10
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +2 -2
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.component.mjs +2 -2
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.module.mjs +2 -2
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +2 -2
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +2 -2
- app-ng-runtime/components/navigation/popover/esm2022/popover.module.mjs +2 -2
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/bundles/index.umd.js +7 -7
- app-ng-runtime/components/page/default/esm2022/content/content.component.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/layout.directive.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/page-content/page-content.component.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/page.directive.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/router-outlet.directive.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/spa-page.directive.mjs +2 -2
- app-ng-runtime/components/page/default/fesm2022/index.mjs +8 -8
- app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -2
- app-ng-runtime/components/page/footer/esm2022/footer.directive.mjs +2 -2
- app-ng-runtime/components/page/footer/esm2022/footer.module.mjs +2 -2
- app-ng-runtime/components/page/footer/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/bundles/index.umd.js +2 -2
- app-ng-runtime/components/page/header/esm2022/header.component.mjs +2 -2
- app-ng-runtime/components/page/header/esm2022/header.module.mjs +2 -2
- app-ng-runtime/components/page/header/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -2
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +2 -2
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -2
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +2 -2
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.module.mjs +2 -2
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -2
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.directive.mjs +2 -2
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.module.mjs +2 -2
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/bundles/index.umd.js +3 -3
- app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +2 -2
- app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +2 -2
- app-ng-runtime/components/prefab/esm2022/prefab.module.mjs +2 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +11 -11
- 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/custom-icons-loader.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/field-type.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/field-widget.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/pagination.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/script-loader.service.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/core/esm2022/services/viewport.service.mjs +2 -2
- app-ng-runtime/core/fesm2022/index.mjs +13 -13
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/http/bundles/index.umd.js +2 -2
- app-ng-runtime/http/esm2022/http-service.module.mjs +2 -2
- app-ng-runtime/http/esm2022/http.service.mjs +2 -2
- app-ng-runtime/http/fesm2022/index.mjs +2 -2
- app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/locales/angular/global/af-na.js +1 -1
- app-ng-runtime/locales/angular/global/af.js +1 -1
- app-ng-runtime/locales/angular/global/agq.js +1 -1
- app-ng-runtime/locales/angular/global/ak.js +1 -1
- app-ng-runtime/locales/angular/global/am.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ae.js +1 -1
- app-ng-runtime/locales/angular/global/ar-bh.js +1 -1
- app-ng-runtime/locales/angular/global/ar-dj.js +1 -1
- app-ng-runtime/locales/angular/global/ar-dz.js +1 -1
- app-ng-runtime/locales/angular/global/ar-eg.js +1 -1
- app-ng-runtime/locales/angular/global/ar-eh.js +1 -1
- app-ng-runtime/locales/angular/global/ar-er.js +1 -1
- app-ng-runtime/locales/angular/global/ar-il.js +1 -1
- app-ng-runtime/locales/angular/global/ar-iq.js +1 -1
- app-ng-runtime/locales/angular/global/ar-jo.js +1 -1
- app-ng-runtime/locales/angular/global/ar-km.js +1 -1
- app-ng-runtime/locales/angular/global/ar-kw.js +1 -1
- app-ng-runtime/locales/angular/global/ar-lb.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ly.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ma.js +1 -1
- app-ng-runtime/locales/angular/global/ar-mr.js +1 -1
- app-ng-runtime/locales/angular/global/ar-om.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ps.js +1 -1
- app-ng-runtime/locales/angular/global/ar-qa.js +1 -1
- app-ng-runtime/locales/angular/global/ar-sa.js +1 -1
- app-ng-runtime/locales/angular/global/ar-sd.js +1 -1
- app-ng-runtime/locales/angular/global/ar-so.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ss.js +1 -1
- app-ng-runtime/locales/angular/global/ar-sy.js +1 -1
- app-ng-runtime/locales/angular/global/ar-td.js +1 -1
- app-ng-runtime/locales/angular/global/ar-tn.js +1 -1
- app-ng-runtime/locales/angular/global/ar-ye.js +1 -1
- app-ng-runtime/locales/angular/global/ar.js +1 -1
- app-ng-runtime/locales/angular/global/as.js +1 -1
- app-ng-runtime/locales/angular/global/asa.js +1 -1
- app-ng-runtime/locales/angular/global/ast.js +1 -1
- app-ng-runtime/locales/angular/global/az-cyrl.js +1 -1
- app-ng-runtime/locales/angular/global/az-latn.js +1 -1
- app-ng-runtime/locales/angular/global/az.js +1 -1
- app-ng-runtime/locales/angular/global/bas.js +1 -1
- app-ng-runtime/locales/angular/global/be-tarask.js +1 -1
- app-ng-runtime/locales/angular/global/be.js +1 -1
- app-ng-runtime/locales/angular/global/bem.js +1 -1
- app-ng-runtime/locales/angular/global/bez.js +1 -1
- app-ng-runtime/locales/angular/global/bg.js +1 -1
- app-ng-runtime/locales/angular/global/bm.js +1 -1
- app-ng-runtime/locales/angular/global/bn-in.js +1 -1
- app-ng-runtime/locales/angular/global/bn.js +1 -1
- app-ng-runtime/locales/angular/global/bo-in.js +1 -1
- app-ng-runtime/locales/angular/global/bo.js +1 -1
- app-ng-runtime/locales/angular/global/br.js +1 -1
- app-ng-runtime/locales/angular/global/brx.js +1 -1
- app-ng-runtime/locales/angular/global/bs-cyrl.js +1 -1
- app-ng-runtime/locales/angular/global/bs-latn.js +1 -1
- app-ng-runtime/locales/angular/global/bs.js +1 -1
- app-ng-runtime/locales/angular/global/ca-ad.js +1 -1
- app-ng-runtime/locales/angular/global/ca-es-valencia.js +1 -1
- app-ng-runtime/locales/angular/global/ca-fr.js +1 -1
- app-ng-runtime/locales/angular/global/ca-it.js +1 -1
- app-ng-runtime/locales/angular/global/ca.js +1 -1
- app-ng-runtime/locales/angular/global/ccp-in.js +1 -1
- app-ng-runtime/locales/angular/global/ccp.js +1 -1
- app-ng-runtime/locales/angular/global/ce.js +1 -1
- app-ng-runtime/locales/angular/global/ceb.js +1 -1
- app-ng-runtime/locales/angular/global/cgg.js +1 -1
- app-ng-runtime/locales/angular/global/chr.js +1 -1
- app-ng-runtime/locales/angular/global/ckb-ir.js +1 -1
- app-ng-runtime/locales/angular/global/ckb.js +1 -1
- app-ng-runtime/locales/angular/global/cs.js +1 -1
- app-ng-runtime/locales/angular/global/cy.js +1 -1
- app-ng-runtime/locales/angular/global/da-gl.js +1 -1
- app-ng-runtime/locales/angular/global/da.js +1 -1
- app-ng-runtime/locales/angular/global/dav.js +1 -1
- app-ng-runtime/locales/angular/global/de-at.js +1 -1
- app-ng-runtime/locales/angular/global/de-be.js +1 -1
- app-ng-runtime/locales/angular/global/de-ch.js +1 -1
- app-ng-runtime/locales/angular/global/de-it.js +1 -1
- app-ng-runtime/locales/angular/global/de-li.js +1 -1
- app-ng-runtime/locales/angular/global/de-lu.js +1 -1
- app-ng-runtime/locales/angular/global/de.js +1 -1
- app-ng-runtime/locales/angular/global/dje.js +1 -1
- app-ng-runtime/locales/angular/global/doi.js +1 -1
- app-ng-runtime/locales/angular/global/dsb.js +1 -1
- app-ng-runtime/locales/angular/global/dua.js +1 -1
- app-ng-runtime/locales/angular/global/dyo.js +1 -1
- app-ng-runtime/locales/angular/global/dz.js +1 -1
- app-ng-runtime/locales/angular/global/ebu.js +1 -1
- app-ng-runtime/locales/angular/global/ee-tg.js +1 -1
- app-ng-runtime/locales/angular/global/ee.js +1 -1
- app-ng-runtime/locales/angular/global/el-cy.js +1 -1
- app-ng-runtime/locales/angular/global/el.js +1 -1
- app-ng-runtime/locales/angular/global/en-001.js +1 -1
- app-ng-runtime/locales/angular/global/en-150.js +1 -1
- app-ng-runtime/locales/angular/global/en-ae.js +1 -1
- app-ng-runtime/locales/angular/global/en-ag.js +1 -1
- app-ng-runtime/locales/angular/global/en-ai.js +1 -1
- app-ng-runtime/locales/angular/global/en-as.js +1 -1
- app-ng-runtime/locales/angular/global/en-at.js +1 -1
- app-ng-runtime/locales/angular/global/en-au.js +1 -1
- app-ng-runtime/locales/angular/global/en-bb.js +1 -1
- app-ng-runtime/locales/angular/global/en-be.js +1 -1
- app-ng-runtime/locales/angular/global/en-bi.js +1 -1
- app-ng-runtime/locales/angular/global/en-bm.js +1 -1
- app-ng-runtime/locales/angular/global/en-bs.js +1 -1
- app-ng-runtime/locales/angular/global/en-bw.js +1 -1
- app-ng-runtime/locales/angular/global/en-bz.js +1 -1
- app-ng-runtime/locales/angular/global/en-ca.js +1 -1
- app-ng-runtime/locales/angular/global/en-cc.js +1 -1
- app-ng-runtime/locales/angular/global/en-ch.js +1 -1
- app-ng-runtime/locales/angular/global/en-ck.js +1 -1
- app-ng-runtime/locales/angular/global/en-cm.js +1 -1
- app-ng-runtime/locales/angular/global/en-cx.js +1 -1
- app-ng-runtime/locales/angular/global/en-cy.js +1 -1
- app-ng-runtime/locales/angular/global/en-de.js +1 -1
- app-ng-runtime/locales/angular/global/en-dg.js +1 -1
- app-ng-runtime/locales/angular/global/en-dk.js +1 -1
- app-ng-runtime/locales/angular/global/en-dm.js +1 -1
- app-ng-runtime/locales/angular/global/en-er.js +1 -1
- app-ng-runtime/locales/angular/global/en-fi.js +1 -1
- app-ng-runtime/locales/angular/global/en-fj.js +1 -1
- app-ng-runtime/locales/angular/global/en-fk.js +1 -1
- app-ng-runtime/locales/angular/global/en-fm.js +1 -1
- app-ng-runtime/locales/angular/global/en-gb.js +1 -1
- app-ng-runtime/locales/angular/global/en-gd.js +1 -1
- app-ng-runtime/locales/angular/global/en-gg.js +1 -1
- app-ng-runtime/locales/angular/global/en-gh.js +1 -1
- app-ng-runtime/locales/angular/global/en-gi.js +1 -1
- app-ng-runtime/locales/angular/global/en-gm.js +1 -1
- app-ng-runtime/locales/angular/global/en-gu.js +1 -1
- app-ng-runtime/locales/angular/global/en-gy.js +1 -1
- app-ng-runtime/locales/angular/global/en-hk.js +1 -1
- app-ng-runtime/locales/angular/global/en-ie.js +1 -1
- app-ng-runtime/locales/angular/global/en-il.js +1 -1
- app-ng-runtime/locales/angular/global/en-im.js +1 -1
- app-ng-runtime/locales/angular/global/en-in.js +1 -1
- app-ng-runtime/locales/angular/global/en-io.js +1 -1
- app-ng-runtime/locales/angular/global/en-je.js +1 -1
- app-ng-runtime/locales/angular/global/en-jm.js +1 -1
- app-ng-runtime/locales/angular/global/en-ke.js +1 -1
- app-ng-runtime/locales/angular/global/en-ki.js +1 -1
- app-ng-runtime/locales/angular/global/en-kn.js +1 -1
- app-ng-runtime/locales/angular/global/en-ky.js +1 -1
- app-ng-runtime/locales/angular/global/en-lc.js +1 -1
- app-ng-runtime/locales/angular/global/en-lr.js +1 -1
- app-ng-runtime/locales/angular/global/en-ls.js +1 -1
- app-ng-runtime/locales/angular/global/en-mg.js +1 -1
- app-ng-runtime/locales/angular/global/en-mh.js +1 -1
- app-ng-runtime/locales/angular/global/en-mo.js +1 -1
- app-ng-runtime/locales/angular/global/en-mp.js +1 -1
- app-ng-runtime/locales/angular/global/en-ms.js +1 -1
- app-ng-runtime/locales/angular/global/en-mt.js +1 -1
- app-ng-runtime/locales/angular/global/en-mu.js +1 -1
- app-ng-runtime/locales/angular/global/en-mv.js +1 -1
- app-ng-runtime/locales/angular/global/en-mw.js +1 -1
- app-ng-runtime/locales/angular/global/en-my.js +1 -1
- app-ng-runtime/locales/angular/global/en-na.js +1 -1
- app-ng-runtime/locales/angular/global/en-nf.js +1 -1
- app-ng-runtime/locales/angular/global/en-ng.js +1 -1
- app-ng-runtime/locales/angular/global/en-nl.js +1 -1
- app-ng-runtime/locales/angular/global/en-nr.js +1 -1
- app-ng-runtime/locales/angular/global/en-nu.js +1 -1
- app-ng-runtime/locales/angular/global/en-nz.js +1 -1
- app-ng-runtime/locales/angular/global/en-pg.js +1 -1
- app-ng-runtime/locales/angular/global/en-ph.js +1 -1
- app-ng-runtime/locales/angular/global/en-pk.js +1 -1
- app-ng-runtime/locales/angular/global/en-pn.js +1 -1
- app-ng-runtime/locales/angular/global/en-pr.js +1 -1
- app-ng-runtime/locales/angular/global/en-pw.js +1 -1
- app-ng-runtime/locales/angular/global/en-rw.js +1 -1
- app-ng-runtime/locales/angular/global/en-sb.js +1 -1
- app-ng-runtime/locales/angular/global/en-sc.js +1 -1
- app-ng-runtime/locales/angular/global/en-sd.js +1 -1
- app-ng-runtime/locales/angular/global/en-se.js +1 -1
- app-ng-runtime/locales/angular/global/en-sg.js +1 -1
- app-ng-runtime/locales/angular/global/en-sh.js +1 -1
- app-ng-runtime/locales/angular/global/en-si.js +1 -1
- app-ng-runtime/locales/angular/global/en-sl.js +1 -1
- app-ng-runtime/locales/angular/global/en-ss.js +1 -1
- app-ng-runtime/locales/angular/global/en-sx.js +1 -1
- app-ng-runtime/locales/angular/global/en-sz.js +1 -1
- app-ng-runtime/locales/angular/global/en-tc.js +1 -1
- app-ng-runtime/locales/angular/global/en-tk.js +1 -1
- app-ng-runtime/locales/angular/global/en-to.js +1 -1
- app-ng-runtime/locales/angular/global/en-tt.js +1 -1
- app-ng-runtime/locales/angular/global/en-tv.js +1 -1
- app-ng-runtime/locales/angular/global/en-tz.js +1 -1
- app-ng-runtime/locales/angular/global/en-ug.js +1 -1
- app-ng-runtime/locales/angular/global/en-um.js +1 -1
- app-ng-runtime/locales/angular/global/en-vc.js +1 -1
- app-ng-runtime/locales/angular/global/en-vg.js +1 -1
- app-ng-runtime/locales/angular/global/en-vi.js +1 -1
- app-ng-runtime/locales/angular/global/en-vu.js +1 -1
- app-ng-runtime/locales/angular/global/en-ws.js +1 -1
- app-ng-runtime/locales/angular/global/en-za.js +1 -1
- app-ng-runtime/locales/angular/global/en-zm.js +1 -1
- app-ng-runtime/locales/angular/global/en-zw.js +1 -1
- app-ng-runtime/locales/angular/global/en.js +1 -1
- app-ng-runtime/locales/angular/global/eo.js +1 -1
- app-ng-runtime/locales/angular/global/es-419.js +1 -1
- app-ng-runtime/locales/angular/global/es-ar.js +1 -1
- app-ng-runtime/locales/angular/global/es-bo.js +1 -1
- app-ng-runtime/locales/angular/global/es-br.js +1 -1
- app-ng-runtime/locales/angular/global/es-bz.js +1 -1
- app-ng-runtime/locales/angular/global/es-cl.js +1 -1
- app-ng-runtime/locales/angular/global/es-co.js +1 -1
- app-ng-runtime/locales/angular/global/es-cr.js +1 -1
- app-ng-runtime/locales/angular/global/es-cu.js +1 -1
- app-ng-runtime/locales/angular/global/es-do.js +1 -1
- app-ng-runtime/locales/angular/global/es-ea.js +1 -1
- app-ng-runtime/locales/angular/global/es-ec.js +1 -1
- app-ng-runtime/locales/angular/global/es-gq.js +1 -1
- app-ng-runtime/locales/angular/global/es-gt.js +1 -1
- app-ng-runtime/locales/angular/global/es-hn.js +1 -1
- app-ng-runtime/locales/angular/global/es-ic.js +1 -1
- app-ng-runtime/locales/angular/global/es-mx.js +1 -1
- app-ng-runtime/locales/angular/global/es-ni.js +1 -1
- app-ng-runtime/locales/angular/global/es-pa.js +1 -1
- app-ng-runtime/locales/angular/global/es-pe.js +1 -1
- app-ng-runtime/locales/angular/global/es-ph.js +1 -1
- app-ng-runtime/locales/angular/global/es-pr.js +1 -1
- app-ng-runtime/locales/angular/global/es-py.js +1 -1
- app-ng-runtime/locales/angular/global/es-sv.js +1 -1
- app-ng-runtime/locales/angular/global/es-us.js +1 -1
- app-ng-runtime/locales/angular/global/es-uy.js +1 -1
- app-ng-runtime/locales/angular/global/es-ve.js +1 -1
- app-ng-runtime/locales/angular/global/es.js +1 -1
- app-ng-runtime/locales/angular/global/et.js +1 -1
- app-ng-runtime/locales/angular/global/eu.js +1 -1
- app-ng-runtime/locales/angular/global/ewo.js +1 -1
- app-ng-runtime/locales/angular/global/fa-af.js +1 -1
- app-ng-runtime/locales/angular/global/fa.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-bf.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-cm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-gh.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-gm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-gw.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-lr.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-mr.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-ne.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-ng.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-sl.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm-sn.js +1 -1
- app-ng-runtime/locales/angular/global/ff-adlm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-cm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-gn.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-bf.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-cm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-gh.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-gm.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-gn.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-gw.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-lr.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-mr.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-ne.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-ng.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn-sl.js +1 -1
- app-ng-runtime/locales/angular/global/ff-latn.js +1 -1
- app-ng-runtime/locales/angular/global/ff-mr.js +1 -1
- app-ng-runtime/locales/angular/global/ff.js +1 -1
- app-ng-runtime/locales/angular/global/fi.js +1 -1
- app-ng-runtime/locales/angular/global/fil.js +1 -1
- app-ng-runtime/locales/angular/global/fo-dk.js +1 -1
- app-ng-runtime/locales/angular/global/fo.js +1 -1
- app-ng-runtime/locales/angular/global/fr-be.js +1 -1
- app-ng-runtime/locales/angular/global/fr-bf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-bi.js +1 -1
- app-ng-runtime/locales/angular/global/fr-bj.js +1 -1
- app-ng-runtime/locales/angular/global/fr-bl.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ca.js +1 -1
- app-ng-runtime/locales/angular/global/fr-cd.js +1 -1
- app-ng-runtime/locales/angular/global/fr-cf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-cg.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ch.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ci.js +1 -1
- app-ng-runtime/locales/angular/global/fr-cm.js +1 -1
- app-ng-runtime/locales/angular/global/fr-dj.js +1 -1
- app-ng-runtime/locales/angular/global/fr-dz.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ga.js +1 -1
- app-ng-runtime/locales/angular/global/fr-gf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-gn.js +1 -1
- app-ng-runtime/locales/angular/global/fr-gp.js +1 -1
- app-ng-runtime/locales/angular/global/fr-gq.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ht.js +1 -1
- app-ng-runtime/locales/angular/global/fr-km.js +1 -1
- app-ng-runtime/locales/angular/global/fr-lu.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ma.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mc.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mg.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ml.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mq.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mr.js +1 -1
- app-ng-runtime/locales/angular/global/fr-mu.js +1 -1
- app-ng-runtime/locales/angular/global/fr-nc.js +1 -1
- app-ng-runtime/locales/angular/global/fr-ne.js +1 -1
- app-ng-runtime/locales/angular/global/fr-pf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-pm.js +1 -1
- app-ng-runtime/locales/angular/global/fr-re.js +1 -1
- app-ng-runtime/locales/angular/global/fr-rw.js +1 -1
- app-ng-runtime/locales/angular/global/fr-sc.js +1 -1
- app-ng-runtime/locales/angular/global/fr-sn.js +1 -1
- app-ng-runtime/locales/angular/global/fr-sy.js +1 -1
- app-ng-runtime/locales/angular/global/fr-td.js +1 -1
- app-ng-runtime/locales/angular/global/fr-tg.js +1 -1
- app-ng-runtime/locales/angular/global/fr-tn.js +1 -1
- app-ng-runtime/locales/angular/global/fr-vu.js +1 -1
- app-ng-runtime/locales/angular/global/fr-wf.js +1 -1
- app-ng-runtime/locales/angular/global/fr-yt.js +1 -1
- app-ng-runtime/locales/angular/global/fr.js +1 -1
- app-ng-runtime/locales/angular/global/fur.js +1 -1
- app-ng-runtime/locales/angular/global/fy.js +1 -1
- app-ng-runtime/locales/angular/global/ga-gb.js +1 -1
- app-ng-runtime/locales/angular/global/ga.js +1 -1
- app-ng-runtime/locales/angular/global/gd.js +1 -1
- app-ng-runtime/locales/angular/global/gl.js +1 -1
- app-ng-runtime/locales/angular/global/gsw-fr.js +1 -1
- app-ng-runtime/locales/angular/global/gsw-li.js +1 -1
- app-ng-runtime/locales/angular/global/gsw.js +1 -1
- app-ng-runtime/locales/angular/global/gu.js +1 -1
- app-ng-runtime/locales/angular/global/guz.js +1 -1
- app-ng-runtime/locales/angular/global/gv.js +1 -1
- app-ng-runtime/locales/angular/global/ha-gh.js +1 -1
- app-ng-runtime/locales/angular/global/ha-ne.js +1 -1
- app-ng-runtime/locales/angular/global/ha.js +1 -1
- app-ng-runtime/locales/angular/global/haw.js +1 -1
- app-ng-runtime/locales/angular/global/he.js +1 -1
- app-ng-runtime/locales/angular/global/hi-latn.js +1 -1
- app-ng-runtime/locales/angular/global/hi.js +1 -1
- app-ng-runtime/locales/angular/global/hr-ba.js +1 -1
- app-ng-runtime/locales/angular/global/hr.js +1 -1
- app-ng-runtime/locales/angular/global/hsb.js +1 -1
- app-ng-runtime/locales/angular/global/hu.js +1 -1
- app-ng-runtime/locales/angular/global/hy.js +1 -1
- app-ng-runtime/locales/angular/global/ia.js +1 -1
- app-ng-runtime/locales/angular/global/id.js +1 -1
- app-ng-runtime/locales/angular/global/ig.js +1 -1
- app-ng-runtime/locales/angular/global/ii.js +1 -1
- app-ng-runtime/locales/angular/global/is.js +1 -1
- app-ng-runtime/locales/angular/global/it-ch.js +1 -1
- app-ng-runtime/locales/angular/global/it-sm.js +1 -1
- app-ng-runtime/locales/angular/global/it-va.js +1 -1
- app-ng-runtime/locales/angular/global/it.js +1 -1
- app-ng-runtime/locales/angular/global/ja.js +1 -1
- app-ng-runtime/locales/angular/global/jgo.js +1 -1
- app-ng-runtime/locales/angular/global/jmc.js +1 -1
- app-ng-runtime/locales/angular/global/jv.js +1 -1
- app-ng-runtime/locales/angular/global/ka.js +1 -1
- app-ng-runtime/locales/angular/global/kab.js +1 -1
- app-ng-runtime/locales/angular/global/kam.js +1 -1
- app-ng-runtime/locales/angular/global/kde.js +1 -1
- app-ng-runtime/locales/angular/global/kea.js +1 -1
- app-ng-runtime/locales/angular/global/kgp.js +1 -1
- app-ng-runtime/locales/angular/global/khq.js +1 -1
- app-ng-runtime/locales/angular/global/ki.js +1 -1
- app-ng-runtime/locales/angular/global/kk.js +1 -1
- app-ng-runtime/locales/angular/global/kkj.js +1 -1
- app-ng-runtime/locales/angular/global/kl.js +1 -1
- app-ng-runtime/locales/angular/global/kln.js +1 -1
- app-ng-runtime/locales/angular/global/km.js +1 -1
- app-ng-runtime/locales/angular/global/kn.js +1 -1
- app-ng-runtime/locales/angular/global/ko-kp.js +1 -1
- app-ng-runtime/locales/angular/global/ko.js +1 -1
- app-ng-runtime/locales/angular/global/kok.js +1 -1
- app-ng-runtime/locales/angular/global/ks-arab.js +1 -1
- app-ng-runtime/locales/angular/global/ks-deva.js +1 -1
- app-ng-runtime/locales/angular/global/ks.js +1 -1
- app-ng-runtime/locales/angular/global/ksb.js +1 -1
- app-ng-runtime/locales/angular/global/ksf.js +1 -1
- app-ng-runtime/locales/angular/global/ksh.js +1 -1
- app-ng-runtime/locales/angular/global/ku.js +1 -1
- app-ng-runtime/locales/angular/global/kw.js +1 -1
- app-ng-runtime/locales/angular/global/ky.js +1 -1
- app-ng-runtime/locales/angular/global/lag.js +1 -1
- app-ng-runtime/locales/angular/global/lb.js +1 -1
- app-ng-runtime/locales/angular/global/lg.js +1 -1
- app-ng-runtime/locales/angular/global/lkt.js +1 -1
- app-ng-runtime/locales/angular/global/ln-ao.js +1 -1
- app-ng-runtime/locales/angular/global/ln-cf.js +1 -1
- app-ng-runtime/locales/angular/global/ln-cg.js +1 -1
- app-ng-runtime/locales/angular/global/ln.js +1 -1
- app-ng-runtime/locales/angular/global/lo.js +1 -1
- app-ng-runtime/locales/angular/global/lrc-iq.js +1 -1
- app-ng-runtime/locales/angular/global/lrc.js +1 -1
- app-ng-runtime/locales/angular/global/lt.js +1 -1
- app-ng-runtime/locales/angular/global/lu.js +1 -1
- app-ng-runtime/locales/angular/global/luo.js +1 -1
- app-ng-runtime/locales/angular/global/luy.js +1 -1
- app-ng-runtime/locales/angular/global/lv.js +1 -1
- app-ng-runtime/locales/angular/global/mai.js +1 -1
- app-ng-runtime/locales/angular/global/mas-tz.js +1 -1
- app-ng-runtime/locales/angular/global/mas.js +1 -1
- app-ng-runtime/locales/angular/global/mer.js +1 -1
- app-ng-runtime/locales/angular/global/mfe.js +1 -1
- app-ng-runtime/locales/angular/global/mg.js +1 -1
- app-ng-runtime/locales/angular/global/mgh.js +1 -1
- app-ng-runtime/locales/angular/global/mgo.js +1 -1
- app-ng-runtime/locales/angular/global/mi.js +1 -1
- app-ng-runtime/locales/angular/global/mk.js +1 -1
- app-ng-runtime/locales/angular/global/ml.js +1 -1
- app-ng-runtime/locales/angular/global/mn.js +1 -1
- app-ng-runtime/locales/angular/global/mni-beng.js +1 -1
- app-ng-runtime/locales/angular/global/mni.js +1 -1
- app-ng-runtime/locales/angular/global/mr.js +1 -1
- app-ng-runtime/locales/angular/global/ms-bn.js +1 -1
- app-ng-runtime/locales/angular/global/ms-id.js +1 -1
- app-ng-runtime/locales/angular/global/ms-sg.js +1 -1
- app-ng-runtime/locales/angular/global/ms.js +1 -1
- app-ng-runtime/locales/angular/global/mt.js +1 -1
- app-ng-runtime/locales/angular/global/mua.js +1 -1
- app-ng-runtime/locales/angular/global/my.js +1 -1
- app-ng-runtime/locales/angular/global/mzn.js +1 -1
- app-ng-runtime/locales/angular/global/naq.js +1 -1
- app-ng-runtime/locales/angular/global/nb-sj.js +1 -1
- app-ng-runtime/locales/angular/global/nb.js +1 -1
- app-ng-runtime/locales/angular/global/nd.js +1 -1
- app-ng-runtime/locales/angular/global/nds-nl.js +1 -1
- app-ng-runtime/locales/angular/global/nds.js +1 -1
- app-ng-runtime/locales/angular/global/ne-in.js +1 -1
- app-ng-runtime/locales/angular/global/ne.js +1 -1
- app-ng-runtime/locales/angular/global/nl-aw.js +1 -1
- app-ng-runtime/locales/angular/global/nl-be.js +1 -1
- app-ng-runtime/locales/angular/global/nl-bq.js +1 -1
- app-ng-runtime/locales/angular/global/nl-cw.js +1 -1
- app-ng-runtime/locales/angular/global/nl-sr.js +1 -1
- app-ng-runtime/locales/angular/global/nl-sx.js +1 -1
- app-ng-runtime/locales/angular/global/nl.js +1 -1
- app-ng-runtime/locales/angular/global/nmg.js +1 -1
- app-ng-runtime/locales/angular/global/nn.js +1 -1
- app-ng-runtime/locales/angular/global/nnh.js +1 -1
- app-ng-runtime/locales/angular/global/no.js +1 -1
- app-ng-runtime/locales/angular/global/nus.js +1 -1
- app-ng-runtime/locales/angular/global/nyn.js +1 -1
- app-ng-runtime/locales/angular/global/om-ke.js +1 -1
- app-ng-runtime/locales/angular/global/om.js +1 -1
- app-ng-runtime/locales/angular/global/or.js +1 -1
- app-ng-runtime/locales/angular/global/os-ru.js +1 -1
- app-ng-runtime/locales/angular/global/os.js +1 -1
- app-ng-runtime/locales/angular/global/pa-arab.js +1 -1
- app-ng-runtime/locales/angular/global/pa-guru.js +1 -1
- app-ng-runtime/locales/angular/global/pa.js +1 -1
- app-ng-runtime/locales/angular/global/pcm.js +1 -1
- app-ng-runtime/locales/angular/global/pl.js +1 -1
- app-ng-runtime/locales/angular/global/ps-pk.js +1 -1
- app-ng-runtime/locales/angular/global/ps.js +1 -1
- app-ng-runtime/locales/angular/global/pt-ao.js +1 -1
- app-ng-runtime/locales/angular/global/pt-ch.js +1 -1
- app-ng-runtime/locales/angular/global/pt-cv.js +1 -1
- app-ng-runtime/locales/angular/global/pt-gq.js +1 -1
- app-ng-runtime/locales/angular/global/pt-gw.js +1 -1
- app-ng-runtime/locales/angular/global/pt-lu.js +1 -1
- app-ng-runtime/locales/angular/global/pt-mo.js +1 -1
- app-ng-runtime/locales/angular/global/pt-mz.js +1 -1
- app-ng-runtime/locales/angular/global/pt-pt.js +1 -1
- app-ng-runtime/locales/angular/global/pt-st.js +1 -1
- app-ng-runtime/locales/angular/global/pt-tl.js +1 -1
- app-ng-runtime/locales/angular/global/pt.js +1 -1
- app-ng-runtime/locales/angular/global/qu-bo.js +1 -1
- app-ng-runtime/locales/angular/global/qu-ec.js +1 -1
- app-ng-runtime/locales/angular/global/qu.js +1 -1
- app-ng-runtime/locales/angular/global/rm.js +1 -1
- app-ng-runtime/locales/angular/global/rn.js +1 -1
- app-ng-runtime/locales/angular/global/ro-md.js +1 -1
- app-ng-runtime/locales/angular/global/ro.js +1 -1
- app-ng-runtime/locales/angular/global/rof.js +1 -1
- app-ng-runtime/locales/angular/global/ru-by.js +1 -1
- app-ng-runtime/locales/angular/global/ru-kg.js +1 -1
- app-ng-runtime/locales/angular/global/ru-kz.js +1 -1
- app-ng-runtime/locales/angular/global/ru-md.js +1 -1
- app-ng-runtime/locales/angular/global/ru-ua.js +1 -1
- app-ng-runtime/locales/angular/global/ru.js +1 -1
- app-ng-runtime/locales/angular/global/rw.js +1 -1
- app-ng-runtime/locales/angular/global/rwk.js +1 -1
- app-ng-runtime/locales/angular/global/sa.js +1 -1
- app-ng-runtime/locales/angular/global/sah.js +1 -1
- app-ng-runtime/locales/angular/global/saq.js +1 -1
- app-ng-runtime/locales/angular/global/sat-olck.js +1 -1
- app-ng-runtime/locales/angular/global/sat.js +1 -1
- app-ng-runtime/locales/angular/global/sbp.js +1 -1
- app-ng-runtime/locales/angular/global/sc.js +1 -1
- app-ng-runtime/locales/angular/global/sd-arab.js +1 -1
- app-ng-runtime/locales/angular/global/sd-deva.js +1 -1
- app-ng-runtime/locales/angular/global/sd.js +1 -1
- app-ng-runtime/locales/angular/global/se-fi.js +1 -1
- app-ng-runtime/locales/angular/global/se-se.js +1 -1
- app-ng-runtime/locales/angular/global/se.js +1 -1
- app-ng-runtime/locales/angular/global/seh.js +1 -1
- app-ng-runtime/locales/angular/global/ses.js +1 -1
- app-ng-runtime/locales/angular/global/sg.js +1 -1
- app-ng-runtime/locales/angular/global/shi-latn.js +1 -1
- app-ng-runtime/locales/angular/global/shi-tfng.js +1 -1
- app-ng-runtime/locales/angular/global/shi.js +1 -1
- app-ng-runtime/locales/angular/global/si.js +1 -1
- app-ng-runtime/locales/angular/global/sk.js +1 -1
- app-ng-runtime/locales/angular/global/sl.js +1 -1
- app-ng-runtime/locales/angular/global/smn.js +1 -1
- app-ng-runtime/locales/angular/global/sn.js +1 -1
- app-ng-runtime/locales/angular/global/so-dj.js +1 -1
- app-ng-runtime/locales/angular/global/so-et.js +1 -1
- app-ng-runtime/locales/angular/global/so-ke.js +1 -1
- app-ng-runtime/locales/angular/global/so.js +1 -1
- app-ng-runtime/locales/angular/global/sq-mk.js +1 -1
- app-ng-runtime/locales/angular/global/sq-xk.js +1 -1
- app-ng-runtime/locales/angular/global/sq.js +1 -1
- app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +1 -1
- app-ng-runtime/locales/angular/global/sr-cyrl-me.js +1 -1
- app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +1 -1
- app-ng-runtime/locales/angular/global/sr-cyrl.js +1 -1
- app-ng-runtime/locales/angular/global/sr-latn-ba.js +1 -1
- app-ng-runtime/locales/angular/global/sr-latn-me.js +1 -1
- app-ng-runtime/locales/angular/global/sr-latn-xk.js +1 -1
- app-ng-runtime/locales/angular/global/sr-latn.js +1 -1
- app-ng-runtime/locales/angular/global/sr.js +1 -1
- app-ng-runtime/locales/angular/global/su-latn.js +1 -1
- app-ng-runtime/locales/angular/global/su.js +1 -1
- app-ng-runtime/locales/angular/global/sv-ax.js +1 -1
- app-ng-runtime/locales/angular/global/sv-fi.js +1 -1
- app-ng-runtime/locales/angular/global/sv.js +1 -1
- app-ng-runtime/locales/angular/global/sw-cd.js +1 -1
- app-ng-runtime/locales/angular/global/sw-ke.js +1 -1
- app-ng-runtime/locales/angular/global/sw-ug.js +1 -1
- app-ng-runtime/locales/angular/global/sw.js +1 -1
- app-ng-runtime/locales/angular/global/ta-lk.js +1 -1
- app-ng-runtime/locales/angular/global/ta-my.js +1 -1
- app-ng-runtime/locales/angular/global/ta-sg.js +1 -1
- app-ng-runtime/locales/angular/global/ta.js +1 -1
- app-ng-runtime/locales/angular/global/te.js +1 -1
- app-ng-runtime/locales/angular/global/teo-ke.js +1 -1
- app-ng-runtime/locales/angular/global/teo.js +1 -1
- app-ng-runtime/locales/angular/global/tg.js +1 -1
- app-ng-runtime/locales/angular/global/th.js +1 -1
- app-ng-runtime/locales/angular/global/ti-er.js +1 -1
- app-ng-runtime/locales/angular/global/ti.js +1 -1
- app-ng-runtime/locales/angular/global/tk.js +1 -1
- app-ng-runtime/locales/angular/global/to.js +1 -1
- app-ng-runtime/locales/angular/global/tr-cy.js +1 -1
- app-ng-runtime/locales/angular/global/tr.js +1 -1
- app-ng-runtime/locales/angular/global/tt.js +1 -1
- app-ng-runtime/locales/angular/global/twq.js +1 -1
- app-ng-runtime/locales/angular/global/tzm.js +1 -1
- app-ng-runtime/locales/angular/global/ug.js +1 -1
- app-ng-runtime/locales/angular/global/uk.js +1 -1
- app-ng-runtime/locales/angular/global/und.js +1 -1
- app-ng-runtime/locales/angular/global/ur-in.js +1 -1
- app-ng-runtime/locales/angular/global/ur.js +1 -1
- app-ng-runtime/locales/angular/global/uz-arab.js +1 -1
- app-ng-runtime/locales/angular/global/uz-cyrl.js +1 -1
- app-ng-runtime/locales/angular/global/uz-latn.js +1 -1
- app-ng-runtime/locales/angular/global/uz.js +1 -1
- app-ng-runtime/locales/angular/global/vai-latn.js +1 -1
- app-ng-runtime/locales/angular/global/vai-vaii.js +1 -1
- app-ng-runtime/locales/angular/global/vai.js +1 -1
- app-ng-runtime/locales/angular/global/vi.js +1 -1
- app-ng-runtime/locales/angular/global/vun.js +1 -1
- app-ng-runtime/locales/angular/global/wae.js +1 -1
- app-ng-runtime/locales/angular/global/wo.js +1 -1
- app-ng-runtime/locales/angular/global/xh.js +1 -1
- app-ng-runtime/locales/angular/global/xog.js +1 -1
- app-ng-runtime/locales/angular/global/yav.js +1 -1
- app-ng-runtime/locales/angular/global/yi.js +1 -1
- app-ng-runtime/locales/angular/global/yo-bj.js +1 -1
- app-ng-runtime/locales/angular/global/yo.js +1 -1
- app-ng-runtime/locales/angular/global/yrl-co.js +1 -1
- app-ng-runtime/locales/angular/global/yrl-ve.js +1 -1
- app-ng-runtime/locales/angular/global/yrl.js +1 -1
- app-ng-runtime/locales/angular/global/yue-hans.js +1 -1
- app-ng-runtime/locales/angular/global/yue-hant.js +1 -1
- app-ng-runtime/locales/angular/global/yue.js +1 -1
- app-ng-runtime/locales/angular/global/zgh.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hans-hk.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hans-mo.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hans-sg.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hans.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hant-hk.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hant-mo.js +1 -1
- app-ng-runtime/locales/angular/global/zh-hant.js +1 -1
- app-ng-runtime/locales/angular/global/zh.js +1 -1
- app-ng-runtime/locales/angular/global/zu.js +1 -1
- app-ng-runtime/locales/moment-timezone/moment-timezone-with-data.js +37 -37
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +9 -9
- app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +10 -10
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/search/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/basic/search/esm2022/search.directive.mjs +2 -2
- app-ng-runtime/mobile/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +2 -2
- 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 +4 -4
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +3 -3
- 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 +2 -2
- 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 +4 -4
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +2 -2
- 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 +3 -3
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.component.mjs +2 -2
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.module.mjs +2 -2
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/input/file-upload/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +2 -2
- app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +2 -2
- app-ng-runtime/mobile/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/left-panel/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/bundles/index.umd.js +9 -9
- app-ng-runtime/mobile/core/esm2022/core.module.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-cache.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +2 -2
- app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +2 -2
- app-ng-runtime/mobile/core/fesm2022/index.mjs +10 -10
- app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/offline/bundles/index.umd.js +8 -8
- app-ng-runtime/mobile/offline/esm2022/offline.module.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/local-key-value.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/push.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/workers/id-resolver.mjs +2 -2
- app-ng-runtime/mobile/offline/fesm2022/index.mjs +10 -10
- app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/placeholder/runtime/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs.map +1 -1
- 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/bundles/index.umd.js +5 -5
- app-ng-runtime/mobile/runtime/esm2022/components/app-ext.component.mjs +2 -2
- app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +2 -2
- app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +2 -2
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +2 -2
- app-ng-runtime/mobile/runtime/esm2022/services/webprocess.service.mjs +2 -2
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +5 -5
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +2 -2
- 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 +2 -2
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/variables/bundles/index.umd.js +1 -1
- app-ng-runtime/mobile/variables/esm2022/variables.module.mjs +2 -2
- app-ng-runtime/mobile/variables/fesm2022/index.mjs +1 -1
- app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/oAuth/bundles/index.umd.js +2 -2
- app-ng-runtime/oAuth/esm2022/oAuth.module.mjs +2 -2
- app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +2 -2
- app-ng-runtime/oAuth/fesm2022/index.mjs +2 -2
- app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +44 -46
- app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/app-spinner.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/components/prefab-preview.component.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/directives/prefab.directive.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/guards/auth.guard.mjs +2 -2
- 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 +2 -2
- app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +6 -8
- app-ng-runtime/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/app-extension.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/resolves/app-js.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/resolves/app-variables.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/resolves/i18n.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/resolves/metadata.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/resolves/security-config.resolve.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/pipe-provider.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/pipe.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +2 -2
- app-ng-runtime/runtime/base/esm2022/util/fragment-monitor.mjs +2 -2
- app-ng-runtime/runtime/base/fesm2022/index.mjs +47 -49
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +7 -7
- app-ng-runtime/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +2 -2
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +9 -9
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +2 -2
- app-ng-runtime/security/bundles/index.umd.js +2 -2
- app-ng-runtime/security/esm2022/security.module.mjs +2 -2
- app-ng-runtime/security/esm2022/security.service.mjs +2 -2
- app-ng-runtime/security/fesm2022/index.mjs +2 -2
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/transpiler/fesm2022/index.mjs +1 -1
- app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/bundles/index.umd.js +3 -3
- app-ng-runtime/variables/esm2022/service/metadata-service/metadata.service.mjs +2 -2
- app-ng-runtime/variables/esm2022/service/variables.service.mjs +2 -2
- app-ng-runtime/variables/esm2022/variables.module.mjs +2 -2
- app-ng-runtime/variables/fesm2022/index.mjs +4 -4
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
|
@@ -74,10 +74,10 @@ export class DynamicComponentRefProviderService {
|
|
|
74
74
|
extendProto(component.instance, context);
|
|
75
75
|
target.appendChild(component.location.nativeElement);
|
|
76
76
|
}
|
|
77
|
-
static { this.ɵfac = function DynamicComponentRefProviderService_Factory(
|
|
77
|
+
static { this.ɵfac = function DynamicComponentRefProviderService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DynamicComponentRefProviderService)(i0.ɵɵinject(i1.App), i0.ɵɵinject(i2.AppManagerService), i0.ɵɵinject(i0.Compiler)); }; }
|
|
78
78
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DynamicComponentRefProviderService, factory: DynamicComponentRefProviderService.ɵfac }); }
|
|
79
79
|
}
|
|
80
80
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicComponentRefProviderService, [{
|
|
81
81
|
type: Injectable
|
|
82
82
|
}], () => [{ type: i1.App }, { type: i2.AppManagerService }, { type: i0.Compiler }], null); })();
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtcmVmLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL3NlcnZpY2VzL2R5bmFtaWMtY29tcG9uZW50LXJlZi1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7O0FBRTlCLHVCQUF1QixFQUFFLENBQUM7QUFFMUIsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO0FBRXhELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUFpQixFQUFFLEVBQUU7SUFDM0MsT0FBTyxRQUFRLENBQUM7UUFDWixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDNUIsT0FBTyxFQUFFO1lBQ0wsaUJBQWlCO1NBQ3BCO1FBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7S0FDdEQsQ0FBQyxDQUFDLE1BQU0sYUFBYTtLQUFHLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFF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Q0FBQztRQUNySCxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzttSUE5Q1Esa0NBQWtDO3VFQUFsQyxrQ0FBa0MsV0FBbEMsa0NBQWtDOztpRkFBbEMsa0NBQWtDO2NBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBpbGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICAgIEluamVjdGFibGUsXG4gICAgTmdNb2R1bGUsXG4gICAgTk9fRVJST1JTX1NDSEVNQSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBcHAsIGV4dGVuZFByb3RvLCBpc0RlZmluZWR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7dHJhbnNwaWxlfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge2luaXRDb21wb25lbnRzQnVpbGRUYXNrfSBmcm9tICdAd20vYnVpbGQtdGFzayc7XG5cbmltcG9ydCB7QXBwTWFuYWdlclNlcnZpY2V9IGZyb20gJy4vYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQge1J1bnRpbWVCYXNlTW9kdWxlfSBmcm9tICcuLi9ydW50aW1lLWJhc2UubW9kdWxlJztcbmltcG9ydCB7Z2V0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmluaXRDb21wb25lbnRzQnVpbGRUYXNrKCk7XG5cbmNvbnN0IGNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG5cbmNvbnN0IGdldER5bmFtaWNNb2R1bGUgPSAoY29tcG9uZW50UmVmOiBhbnkpID0+IHtcbiAgICByZXR1cm4gTmdNb2R1bGUoe1xuICAgICAgICBkZWNsYXJhdGlvbnM6IFtjb21wb25lbnRSZWZdLFxuICAgICAgICBpbXBvcnRzOiBbXG4gICAgICAgICAgICBSdW50aW1lQmFzZU1vZHVsZSxcbiAgICAgICAgXSxcbiAgICAgICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdXG4gICAgfSkoY2xhc3MgRHluYW1pY01vZHVsZSB7fSk7XG59O1xuXG5jb25zdCBnZXREeW5hbWljQ29tcG9uZW50ID0gKFxuICAgIHNlbGVjdG9yOiBhbnksXG4gICAgdGVtcGxhdGU6IHN0cmluZyxcbiAgICBjc3M6IHN0cmluZyA9ICcnKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBDb21wb25lbnQoe1xuICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiBbY3NzXSxcbiAgICAgICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICAgICAgc2VsZWN0b3JcbiAgICB9KShjbGFzcyBEeW5hbWljQ29tcG9uZW50IHtcbiAgICAgICAgaXNEeW5hbWljQ29tcG9uZW50OiBib29sZWFuID0gdHJ1ZTtcbiAgICB9KTtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50UmVmUHJvdmlkZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvdW50ZXIgPSAxO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIHByaXZhdGUgYXBwTWFuYWdlcjogQXBwTWFuYWdlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGFzeW5jIGdldENvbXBvbmVudEZhY3RvcnlSZWYoc2VsZWN0b3I6IHN0cmluZywgbWFya3VwOiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgLy8gY2hlY2sgaW4gdGhlIGNhY2hlLlxuICAgICAgICBsZXQgY29tcG9uZW50RmFjdG9yeVJlZiA9IGNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZS5nZXQoc2VsZWN0b3IpO1xuXG4gICAgICAgIG1hcmt1cCA9IG9wdGlvbnMudHJhbnNwaWxlID8gdHJhbnNwaWxlKG1hcmt1cCkubWFya3VwIDogbWFya3VwO1xuICAgICAgICBpZiAoIWNvbXBvbmVudEZhY3RvcnlSZWYgfHwgb3B0aW9ucy5ub0NhY2hlKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnREZWYgPSBnZXREeW5hbWljQ29tcG9uZW50KHNlbGVjdG9yLCBtYXJrdXAsIG9wdGlvbnMuc3R5bGVzKTtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZURlZiA9IGdldER5bmFtaWNNb2R1bGUoY29tcG9uZW50RGVmKTtcblxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlZiA9IHRoaXMuY29tcGlsZXJcbiAgICAgICAgICAgICAgICAuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKG1vZHVsZURlZilcbiAgICAgICAgICAgICAgICAuY29tcG9uZW50RmFjdG9yaWVzXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmYWN0b3J5ID0+IGZhY3RvcnkuY29tcG9uZW50VHlwZSA9PT0gY29tcG9uZW50RGVmKVswXTtcblxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLnNldChzZWxlY3RvciwgY29tcG9uZW50RmFjdG9yeVJlZik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudEZhY3RvcnlSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBhZGQgaXQgdG8gdGhlIERPTVxuICAgICAqIEBwYXJhbSB0YXJnZXQ6IEhUTUwgZWxlbWVudCB3aGVyZSB3ZSBuZWVkIHRvIGFwcGVuZCB0aGUgY3JlYXRlZCBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gbWFya3VwOiBUZW1wbGF0ZSBvZiB0aGUgY29tcG9uZW50XG4gICAgICogQHBhcmFtIGNvbnRleHQ6IFNjb3BlIG9mIHRoZSBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gb3B0aW9uczogV2UgaGF2ZSBvcHRpb25zIGxpa2VcbiAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yIG9mIHRoZSBjb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwaWxlOiBmbGFnIGZvciB0cmFuc3BpbGluZyBIVE1MLiBCeSBkZWZhdWx0IGl0IGlzIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgbm9jYWNoZTogZmxhZyBmb3IgcmVuZGVyIGl0IGZyb20gY2FjaGUgb3Igbm90LiBCeSBkZWZhdWx0IGl0IGlzIHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgYWRkQ29tcG9uZW50KHRhcmdldDogSFRNTEVsZW1lbnQsIG1hcmt1cDogc3RyaW5nLCBjb250ZXh0ID0ge30sIG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgICAgIG9wdGlvbnMudHJhbnNwaWxlID0gaXNEZWZpbmVkKG9wdGlvbnMudHJhbnNwaWxlKSA/IG9wdGlvbnMudHJhbnNwaWxlIDogdHJ1ZTtcbiAgICAgICAgb3B0aW9ucy5ub0NhY2hlID0gaXNEZWZpbmVkKG9wdGlvbnMubm9DYWNoZSkgPyBvcHRpb25zLm5vQ2FjaGUgOiB0cnVlO1xuICAgICAgICBvcHRpb25zLnNlbGVjdG9yID0gaXNEZWZpbmVkKG9wdGlvbnMuc2VsZWN0b3IpID8gb3B0aW9ucy5zZWxlY3RvciA6ICd3bS1keW5hbWljLWNvbXBvbmVudC0nICsgdGhpcy5jb3VudGVyKys7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnlSZWYgPSBhd2FpdCB0aGlzLmdldENvbXBvbmVudEZhY3RvcnlSZWYob3B0aW9ucy5zZWxlY3RvciwgbWFya3VwLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5hcHAuZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeVJlZiwgMCwgZ2V0KG9wdGlvbnMsICdpbmonKSk7XG4gICAgICAgIGV4dGVuZFByb3RvKGNvbXBvbmVudC5pbnN0YW5jZSwgY29udGV4dCk7XG4gICAgICAgIHRhcmdldC5hcHBlbmRDaGlsZChjb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuIl19
|
|
@@ -61,10 +61,10 @@ export class HttpCallInterceptor {
|
|
|
61
61
|
}
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = function HttpCallInterceptor_Factory(
|
|
64
|
+
static { this.ɵfac = function HttpCallInterceptor_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HttpCallInterceptor)(); }; }
|
|
65
65
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HttpCallInterceptor, factory: HttpCallInterceptor.ɵfac }); }
|
|
66
66
|
}
|
|
67
67
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpCallInterceptor, [{
|
|
68
68
|
type: Injectable
|
|
69
69
|
}], () => [], null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvc2VydmljZXMvaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBRWpDOzs7R0FHRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFLNUI7UUFDSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLFlBQVksQ0FBQztRQUNqQixJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNsRCxvREFBb0Q7WUFDcEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRCxtRUFBbUU7WUFDbkUsV0FBVyxHQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNkLG9EQUFvRDtnQkFDcEQsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pFLE9BQU8sR0FBRyxXQUFXLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNkLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLFVBQVUsSUFBSyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDbkYsc0RBQXNEO2dCQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRCx1REFBdUQ7Z0JBQ3ZELFlBQVksR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDZixzREFBc0Q7b0JBQ3RELFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNyRSxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtZQUNKLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVDLElBQUksV0FBVyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFDRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0Msc0RBQXNEO2dCQUN0RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzRCxxREFBcUQ7Z0JBQ3JELFlBQVksR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDZixzREFBc0Q7b0JBQ3RELFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNyRSxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FDSixDQUNKLENBQUM7SUFDTixDQUFDO29IQTVEUSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBodHRwU2VydmljZSwgYXBwTWFuYWdlciB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHsgV21IdHRwUmVxdWVzdCwgV21IdHRwUmVzcG9uc2UgfSBmcm9tICdAd20vaHR0cCc7XG5pbXBvcnQge2V4dGVuZH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG4vKipcbiAqIFRoaXMgSW50ZXJjZXB0b3IgaW50ZXJjZXB0cyBhbGwgbmV0d29yayBjYWxscyBhbmQgaWYgYSBuZXR3b3JrIGNhbGwgZmFpbHNcbiAqIGR1ZSB0byBzZXNzaW9uIHRpbWVvdXQsIHRoZW4gaXQgY2FsbHMgYSBmdW5jdGlvbiB0byBoYW5kbGUgc2Vzc2lvbiB0aW1lb3V0LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cENhbGxJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICB3bUh0dHBSZXF1ZXN0OiBhbnk7XG4gICAgd21IdHRwUmVzcG9uc2U6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLndtSHR0cFJlcXVlc3QgPSBuZXcgV21IdHRwUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLndtSHR0cFJlc3BvbnNlID0gbmV3IFdtSHR0cFJlc3BvbnNlKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlU3ViamVjdCgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gICAgfVxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgbGV0IG1vZGlmaWVkUmVxO1xuICAgICAgICBsZXQgbW9kaWZpZWRSZXNwO1xuICAgICAgICBpZiAoYXBwTWFuYWdlciAmJiBhcHBNYW5hZ2VyLmFwcE9uQmVmb3JlU2VydmljZUNhbGwpIHtcbiAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGFuZ3VsYXIgSHR0cFJlcXVlc3QgdG8gd20gSHR0cFJlcXVlc3RcbiAgICAgICAgICAgIGNvbnN0IHJlcSA9IHRoaXMud21IdHRwUmVxdWVzdC5hbmd1bGFyVG9XbVJlcXVlc3QocmVxdWVzdCk7XG4gICAgICAgICAgICAvLyB0cmlnZ2VyIHRoZSBjb21tb24gb25CZWZvcmVTZXJ2aWNlQ2FsbCBoYW5kbGVyIHByZXNlbnQgaW4gYXBwLmpzXG4gICAgICAgICAgICBtb2RpZmllZFJlcSA9ICBhcHBNYW5hZ2VyLmFwcE9uQmVmb3JlU2VydmljZUNhbGwocmVxKTtcbiAgICAgICAgICAgIGlmIChtb2RpZmllZFJlcSkge1xuICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIHdtIEh0dHBSZXF1ZXN0IHRvIGFuZ3VsYXIgSHR0cFJlcXVlc3RcbiAgICAgICAgICAgICAgICBtb2RpZmllZFJlcSA9IHRoaXMud21IdHRwUmVxdWVzdC53bVRvQW5ndWxhclJlcXVlc3QobW9kaWZpZWRSZXEpO1xuICAgICAgICAgICAgICAgIHJlcXVlc3QgPSBtb2RpZmllZFJlcTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgICAgICAgIHRhcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudHlwZSA9PT0gNCAmJiBhcHBNYW5hZ2VyICYmICBhcHBNYW5hZ2VyLmFwcE9uU2VydmljZVN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGFuZ3VsYXIgSHR0cFJlc3BvbnNlIHRvIHdtIEh0dHBSZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcCA9IHRoaXMud21IdHRwUmVzcG9uc2UuYW5ndWxhclRvV21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIHRoZSBjb21tb24gc3VjY2VzcyBoYW5kbGVyIHByZXNlbnQgaW4gYXBwLmpzXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZFJlc3AgPSBhcHBNYW5hZ2VyLmFwcE9uU2VydmljZVN1Y2Nlc3MocmVzcC5ib2R5LCByZXNwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtb2RpZmllZFJlc3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSB3bSBIdHRwUmVzcG9uc2UgdG8gYW5ndWxhciBIdHRwUmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZFJlc3AgPSB0aGlzLndtSHR0cFJlc3BvbnNlLndtVG9Bbmd1bGFyUmVzcG9uc2UobW9kaWZpZWRSZXNwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQocmVzcG9uc2UsIG1vZGlmaWVkUmVzcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IuXzQwMVN1YnNjcmliZXIgPSB0aGlzLmNyZWF0ZVN1YmplY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGh0dHBTZXJ2aWNlLmlzUGxhdGZvcm1TZXNzaW9uVGltZW91dChlcnJvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBTZXJ2aWNlLmhhbmRsZVNlc3Npb25UaW1lb3V0KHJlcXVlc3QsIGVycm9yLl80MDFTdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoYXBwTWFuYWdlciAmJiBhcHBNYW5hZ2VyLmFwcE9uU2VydmljZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBhbmd1bGFyIEh0dHBSZXNwb25zZSB0byB3bSBIdHRwUmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IHRoaXMud21IdHRwUmVzcG9uc2UuYW5ndWxhclRvV21SZXNwb25zZShlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmlnZ2VyIHRoZSBjb21tb24gZXJyb3IgaGFuZGxlciBwcmVzZW50IGluIGFwcC5qc1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRSZXNwID0gYXBwTWFuYWdlci5hcHBPblNlcnZpY2VFcnJvcihlcnIubWVzc2FnZSwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtb2RpZmllZFJlc3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSB3bSBIdHRwUmVzcG9uc2UgdG8gYW5ndWxhciBIdHRwUmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZFJlc3AgPSB0aGlzLndtSHR0cFJlc3BvbnNlLndtVG9Bbmd1bGFyUmVzcG9uc2UobW9kaWZpZWRSZXNwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQoZXJyb3IsIG1vZGlmaWVkUmVzcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -325,10 +325,10 @@ export class I18nServiceImpl extends AbstractI18nService {
|
|
|
325
325
|
this.app.notify('locale-changed', this.bundleLoaded.libLocale);
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
-
static { this.ɵfac = function I18nServiceImpl_Factory(
|
|
328
|
+
static { this.ɵfac = function I18nServiceImpl_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || I18nServiceImpl)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.BsLocaleService), i0.ɵɵinject(i3.AppDefaults), i0.ɵɵinject(i0.Injector)); }; }
|
|
329
329
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: I18nServiceImpl, factory: I18nServiceImpl.ɵfac }); }
|
|
330
330
|
}
|
|
331
331
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(I18nServiceImpl, [{
|
|
332
332
|
type: Injectable
|
|
333
333
|
}], () => [{ type: i1.HttpClient }, { type: i2.BsLocaleService }, { type: i3.AppDefaults }, { type: i0.Injector }], null); })();
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNILGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsR0FBRyxFQUNOLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7O0FBSTdGLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7QUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPO0lBQ3ZILE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRzVELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQVNwRCxJQUFZLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFJL0MsWUFDWSxLQUFpQixFQUNqQixlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixHQUFhO1FBRXJCLEtBQUssRUFBRSxDQUFDO1FBTEEsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQWRqQiwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFJOUIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLG9CQUFlLEdBQUcsRUFBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUdqRCxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFTM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxTQUFTLEdBQWtCLEtBQUssQ0FBQztRQUNyQyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLElBQUk7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVuQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFTSx5QkFBeUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDdkMsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFVBQWtCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUFhO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDaEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNWLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQWE7UUFDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBSTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQzthQUN0QixTQUFTLEVBQUU7YUFDWCxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVTLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsb0JBQW9CLElBQUksSUFBSSxDQUFDLGNBQWMsT0FBTyxDQUFDO2FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVTLHNCQUFzQixDQUFDLFlBQVk7UUFDekMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLGtCQUFrQixZQUFZLEtBQUssQ0FBQztRQUMzRCxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRW5DLHdFQUF3RTtZQUN4RSw2R0FBNkc7WUFDN0csSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxPQUFPLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVTLHVCQUF1QixDQUFDLFNBQVM7UUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsTUFBTSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDakUsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN0RCxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPO1lBQ1gsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLE9BQU8sR0FBRywwQkFBMEIsU0FBUyxLQUFLLENBQUM7WUFFaEUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztnQkFDbkMsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsd0JBQXdCLENBQUMsY0FBYyxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLElBQUksR0FBRyxPQUFPLEdBQUcsd0JBQXdCLGNBQWMsS0FBSyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUVELGtGQUFrRjtRQUNsRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQ2pHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN0QyxPQUFPO1FBQ1gsQ0FBQztRQUVELCtEQUErRDtRQUMvRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsWUFBYTtRQUNwRCxPQUFPLElBQUksT0FBTyxDQUFPLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNqRSxNQUFNLElBQUksR0FBRyxPQUFPLEdBQUcsc0RBQXNELENBQUM7WUFDOUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRTtnQkFDL0I7OzttQkFHRztnQkFFSCxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ25CLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNsQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDeEMsQ0FBQztvQkFDRCxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRTt3QkFDN0QsT0FBTyxNQUFNLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFELENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sVUFBVSxHQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUN2SCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUM7WUFDZCxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsU0FBUztRQUNqQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFNLEVBQUUsWUFBYTtRQUNwQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxXQUFXLENBQUMsWUFBYTtRQUM1QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUNqRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQzthQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFNO1FBRTNCLHNFQUFzRTtRQUN0RSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25CLGFBQWE7WUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUMsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUVELHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBRTdCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRXhDLGlEQUFpRDtRQUNqRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxlQUFlO1FBQ25CLHlDQUF5QztRQUN6QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixFQUFFLENBQUMsZUFBZSxDQUFDO1FBQ2xFLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVuQyxzR0FBc0c7UUFDdEcsSUFBSSxpQkFBaUIsR0FBRyxzQkFBc0IsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1FBQ25FLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsa0VBQWtFO1lBQ3hGLGlCQUFpQixHQUFJLElBQUksQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQyxDQUFDLGtFQUFrRTtZQUN2RSxpQkFBaUIsR0FBRSxDQUFDLGlCQUFpQixLQUFLLE1BQU0sSUFBSSxpQkFBaUIsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkcsQ0FBQztRQUVELElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFL0csbUdBQW1HO1FBQ25HLElBQUksb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7UUFFNUUsSUFBSSxpQkFBaUIsQ0FBQztRQUN0Qjs7OztXQUlHO1FBQ0gsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxJQUFJO2dCQUMvQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNySCxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNkLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQTtZQUNILGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsaUVBQWlFO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLElBQUksb0JBQW9CLElBQUksaUJBQWlCLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDekwsa0VBQWtFO1FBQ2xFLGNBQWMsR0FBRyxjQUFjLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRCxNQUFNLGVBQWUsR0FBRyxZQUFZLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUk7UUFDdkMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0RBQW9EO0lBQzdDLG9CQUFvQjtRQUN2QixJQUFJLFNBQVMsQ0FBQztRQUNkLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELENBQUM7YUFBTSxDQUFDO1lBQ0osU0FBUyxHQUFHLGtCQUFrQixDQUFDLHNCQUFzQixFQUFFLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakY7Ozs7OztlQU1HO1lBQ0gsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVMsTUFBTTtnQkFDaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBTTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0wsQ0FBQztnRkF6V1EsZUFBZTt1RUFBZixlQUFlLFdBQWYsZUFBZTs7aUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBkZWZpbmVMb2NhbGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Nocm9ub3MnO1xuaW1wb3J0IHsgQnNMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcblxuaW1wb3J0IHtcbiAgICBfV01fQVBQX1BST0pFQ1QsXG4gICAgQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICBBcHBEZWZhdWx0cyxcbiAgICBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBpc01vYmlsZSxcbiAgICBpc01vYmlsZUFwcCxcbiAgICBsb2FkU2NyaXB0cyxcbiAgICByZXBsYWNlLFxuICAgIHNldENTUyxcbiAgICBzZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgQXBwXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtmaW5kLCBmb3JFYWNoLCBnZXQsIGluY2x1ZGVzLCBpbnRlcnNlY3Rpb24sIGlzT2JqZWN0LCBtYXAsIHRvTG93ZXJ9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbmNvbnN0IEFQUF9MT0NBTEVfUk9PVF9QQVRIID0gJ3Jlc291cmNlcy9pMThuJztcbmNvbnN0IFJUTF9MQU5HVUFHRV9DT0RFUyA9IFsnYXInLCAnYXItMDAxJywgJ2FyLWFlJywgJ2FyLWJoJywgJ2FyLWR6JywgJ2FyLWVnJywgJ2FyLWlxJywgJ2FyLWpvJywgJ2FyLWt3JywgJ2FyLWxiJywgJ2FyLWx5JyxcbiAgICAnYXItbWEnLCAnYXItb20nLCAnYXItcWEnLCAnYXItc2EnLCAnYXItc2QnLCAnYXItc3knLCAnYXItdG4nLCAnYXIteWUnLCAnYXJjJywgJ2JjYycsICdicWknLCAnY2tiJywgJ2R2JywgJ2ZhJywgJ2dsaycsXG4gICAgJ2hlJywgJ2t1JywgJ216bicsICdwbmInLCAncHMnLCAnc2QnLCAndWcnLCAndXInLCAneWknXTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlSW1wbCBleHRlbmRzIEFic3RyYWN0STE4blNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZExvY2FsZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZGVmYXVsdFN1cHBvcnRlZExvY2FsZSA9ICdlbic7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBMb2NhbGU6IGFueTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWZhYkxvY2FsZTogTWFwPFN0cmluZywgYW55PjtcbiAgICBwcml2YXRlIG1lc3NhZ2VzOiBhbnk7XG4gICAgcHJpdmF0ZSBfaXNBbmd1bGFyTG9jYWxlTG9hZGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBmb3JtYXRzQnlMb2NhbGUgPSB7J3RpbWV6b25lJzogJycsICdudW1iZXInOiAnJ307XG4gICAgcHJpdmF0ZSBnZXQgYXBwKCkgeyByZXR1cm4gdGhpcy5pbmouZ2V0KEFwcCkgfTtcblxuICAgIHByaXZhdGUgYnVuZGxlTG9hZGVkOntba2V5OnN0cmluZ10gOiBhbnl9ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSAkaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBic0xvY2FsZVNlcnZpY2U6IEJzTG9jYWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBEZWZhdWx0czogQXBwRGVmYXVsdHMsXG4gICAgICAgIHByaXZhdGUgaW5qOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHt9O1xuICAgICAgICB0aGlzLnByZWZhYkxvY2FsZSA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxvY2FsZURpcmVjdGlvbigpIHtcbiAgICAgICAgbGV0IGRpcmVjdGlvbjogJ2x0cicgfCAncnRsJyA9ICdsdHInO1xuICAgICAgICBpZiAoUlRMX0xBTkdVQUdFX0NPREVTLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRMb2NhbGUpKSB7XG4gICAgICAgICAgICBkaXJlY3Rpb24gPSAncnRsJztcbiAgICAgICAgfVxuXG4gICAgICAgIHNldENTUyhkb2N1bWVudC5ib2R5LCAnZGlyZWN0aW9uJywgZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXQoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSB7fTtcblxuICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcy5hcHBMb2NhbGUsIHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWxlY3RlZExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExvY2FsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFN1cHBvcnRlZExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcHBMb2NhbGUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwTG9jYWxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcmVmYWJMb2NhbGVCdW5kbGUocHJlZmFiTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnByZWZhYkxvY2FsZS5oYXMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMucHJlZmFiTG9jYWxlLnNldChwcmVmYWJOYW1lLCBPYmplY3QuY3JlYXRlKHRoaXMuYXBwTG9jYWxlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZmFiTG9jYWxlLmdldChwcmVmYWJOYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dGVuZFByZWZhYk1lc3NhZ2VzKG1lc3NhZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlcy5wcmVmYWJNZXNzYWdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMobWVzc2FnZXMucHJlZmFiTWVzc2FnZXMpLmZvckVhY2goKHByZWZhYk5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgbGV0IGJ1bmRsZSA9IHRoaXMucHJlZmFiTG9jYWxlLmdldChwcmVmYWJOYW1lKTtcbiAgICAgICAgICAgIGlmICghYnVuZGxlKSB7XG4gICAgICAgICAgICAgICAgYnVuZGxlID0gT2JqZWN0LmNyZWF0ZSh0aGlzLmFwcExvY2FsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVmYWJMb2NhbGUuc2V0KHByZWZhYk5hbWUsIGJ1bmRsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGJ1bmRsZSwgbWVzc2FnZXMucHJlZmFiTWVzc2FnZXNbcHJlZmFiTmFtZV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dGVuZE1lc3NhZ2VzKG1lc3NhZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1lc3NhZ2VzLCBtZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkUmVzb3VyY2UocGF0aCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLiRodHRwLmdldChwYXRoKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgZXJyb3IgbG9hZGluZyBsb2NhbGUgcmVzb3VyY2UgZnJvbSAke3BhdGh9YCk7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkQXBwTG9jYWxlQnVuZGxlKCkge1xuICAgICAgICB0aGlzLmxvYWRSZXNvdXJjZShgJHtBUFBfTE9DQUxFX1JPT1RfUEFUSH0vJHt0aGlzLnNlbGVjdGVkTG9jYWxlfS5qc29uYClcbiAgICAgICAgICAgIC50aGVuKGJ1bmRsZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHRlbmRNZXNzYWdlcyhidW5kbGUubWVzc2FnZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXh0ZW5kUHJlZmFiTWVzc2FnZXMoYnVuZGxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcERlZmF1bHRzLnNldEZvcm1hdHMoYnVuZGxlLmZvcm1hdHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLmFwcCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlMb2NhbGVDaGFuZ2VkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZE1vbWVudExvY2FsZUJ1bmRsZShtb21lbnRMb2NhbGUpIHtcbiAgICAgICAgY29uc3QgX2NkblVybCA9IF9XTV9BUFBfUFJPSkVDVC5jZG5VcmwgfHwgX1dNX0FQUF9QUk9KRUNULm5nRGVzdDtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgPT09IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSkge1xuICAgICAgICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGggPSBfY2RuVXJsICsgYGxvY2FsZXMvbW9tZW50LyR7bW9tZW50TG9jYWxlfS5qc2A7XG4gICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLnNlbGVjdGVkTG9jYWxlKTtcblxuICAgICAgICAgICAgLy8gRm9yIG5neCBib290c3RyYXAgbG9jYWxlLCBnZXQgdGhlIGNvbmZpZyBmcm9tIHNjcmlwdCBhbmQgYXBwbHkgbG9jYWxlXG4gICAgICAgICAgICAvLyBtb21lbnQubG9jYWxlRGF0YShtb21lbnRMb2NhbGUpIHdpbGwgcmV0dXJuIG1vbWVudCBsb2NhbGUgaW5zdGFuY2UuIF9jb25maWcgaW5zaWRlIHdpbGwgaGF2ZSBhY3R1YWwgY29uZmlnXG4gICAgICAgICAgICBsZXQgX2NvbmZpZyA9IG1vbWVudC5sb2NhbGVEYXRhKG1vbWVudExvY2FsZSk7XG4gICAgICAgICAgICBfY29uZmlnID0gX2NvbmZpZyAmJiBfY29uZmlnLl9jb25maWc7XG4gICAgICAgICAgICBkZWZpbmVMb2NhbGUodGhpcy5zZWxlY3RlZExvY2FsZSwgX2NvbmZpZyk7XG4gICAgICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UodGhpcy5nZXRTZWxlY3RlZExvY2FsZSgpIHx8IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5tb21lbnQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlMb2NhbGVDaGFuZ2VkKCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxvYWRBbmd1bGFyTG9jYWxlQnVuZGxlKGFuZ0xvY2FsZSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBfY2RuVXJsID0gX1dNX0FQUF9QUk9KRUNULmNkblVybCB8fCBfV01fQVBQX1BST0pFQ1QubmdEZXN0O1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgPT09IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL2FuZ3VsYXIvZ2xvYmFsLyR7YW5nTG9jYWxlfS5qc2A7XG5cbiAgICAgICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzQW5ndWxhckxvY2FsZUxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSwgcmVzb2x2ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkQ2FsZW5kYXJMb2NhbGVCdW5kbGUoY2FsZW5kYXJMb2NhbGUsIGZvcmNlID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgX2NkblVybCA9IF9XTV9BUFBfUFJPSkVDVC5jZG5VcmwgfHwgX1dNX0FQUF9QUk9KRUNULm5nRGVzdDtcbiAgICAgICAgbGV0IHBhdGg6IHN0cmluZztcbiAgICAgICAgaWYgKGNhbGVuZGFyTG9jYWxlKSB7XG4gICAgICAgICAgICBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL2Z1bGxjYWxlbmRhci8ke2NhbGVuZGFyTG9jYWxlfS5qc2A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXR1cm4gaW4gY2FzZSBvZiBtb2JpbGUgYXBwIG9yIGlmIHNlbGVjdGVkIGxvY2FsZSBpcyBkZWZhdWx0IHN1cHBvcnRlZCBsb2NhbGUuXG4gICAgICAgIGlmICghZm9yY2UgJiYgKGlzTW9iaWxlKCkgfHwgaXNNb2JpbGVBcHAoKSB8fCB0aGlzLnNlbGVjdGVkTG9jYWxlID09PSB0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGUpKSB7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FsbCB0aGUgc2NyaXB0LiBJbiBzY3JpcHQsIG1vbWVudCBkZWZpbmVzIHRoZSBsb2FkZWQgbG9jYWxlXG4gICAgICAgIHJldHVybiBsb2FkU2NyaXB0cyhbcGF0aF0sIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTW9tZW50VGltZVpvbmVCdW5kbGUobG9jYWxlLCBjb21wSW5zdGFuY2U/KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IF9jZG5VcmwgPSBfV01fQVBQX1BST0pFQ1QuY2RuVXJsIHx8IF9XTV9BUFBfUFJPSkVDVC5uZ0Rlc3Q7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL21vbWVudC10aW1lem9uZS9tb21lbnQtdGltZXpvbmUtd2l0aC1kYXRhLmpzYDtcbiAgICAgICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIGxvY2FsZSBpcyBwcm92aWRlZCBpbiB0aGUgZm9ybSBvZiBvZmZzZXQgYW5kIG5vdCB0aW1lem9uZSBuYW1lLCBkZWR1Y2UgdGhlIG5hbWUuXG4gICAgICAgICAgICAgICAgICogSWYgbG9jYWxlIGlzIHByb3ZpZGVkIGFzIEdNVCs5LCBuYW1lIHdpbGwgYmUgZGVkdWNlZCBhcyBBc2lhL1Rva3lvXG4gICAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxlT2JqID0gbG9jYWxlO1xuICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZU9ialsndGltZXpvbmUnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGVJbmRleCA9IGxvY2FsZS5pbmRleE9mKCcrJyk7XG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsZUluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsZUluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlID0gbG9jYWxlLnN1YnN0cihsb2NhbGVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlT2JqWyd0aW1lem9uZSddID0gZmluZChtb21lbnQudHoubmFtZXMoKSwgKHRpbWV6b25lTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZSA9PT0gbW9tZW50LnR6KHRpbWV6b25lTmFtZSkuZm9ybWF0KCdaJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtb21lbnQudHouc2V0RGVmYXVsdChsb2NhbGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZURhdGEgPSAgY29tcEluc3RhbmNlICYmIGNvbXBJbnN0YW5jZS5mb3JtYXRzQnlMb2NhbGUgPyBjb21wSW5zdGFuY2UuZm9ybWF0c0J5TG9jYWxlIDogdGhpcy5mb3JtYXRzQnlMb2NhbGU7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihsb2NhbGVEYXRhLCBsb2NhbGVPYmopO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIHJlc29sdmUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZExvY2FsZUJ1bmRsZXMobGliTG9jYWxlKSB7XG4gICAgICAgIGlmIChsaWJMb2NhbGUubW9tZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRNb21lbnRMb2NhbGVCdW5kbGUobGliTG9jYWxlLm1vbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZExvY2FsZSA9PT0gdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlKSB7XG4gICAgICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UodGhpcy5nZXRTZWxlY3RlZExvY2FsZSgpIHx8IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5tb21lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaWJMb2NhbGUuZnVsbENhbGVuZGFyICYmIHdpbmRvd1snRnVsbENhbGVuZGFyJ10pIHtcbiAgICAgICAgICAgIHRoaXMubG9hZENhbGVuZGFyTG9jYWxlQnVuZGxlKGxpYkxvY2FsZS5mdWxsQ2FsZW5kYXIpPy50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5TG9jYWxlQ2hhbmdlZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaWJMb2NhbGUuYW5ndWxhcikge1xuICAgICAgICAgICAgdGhpcy5sb2FkQXBwTG9jYWxlQnVuZGxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFuZ3VsYXJMb2NhbGVCdW5kbGUobGliTG9jYWxlLmFuZ3VsYXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRUaW1lem9uZShsb2NhbGUsIGNvbXBJbnN0YW5jZT8pIHtcbiAgICAgICAgdGhpcy5sb2FkTW9tZW50VGltZVpvbmVCdW5kbGUobG9jYWxlLCBjb21wSW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUaW1lem9uZShjb21wSW5zdGFuY2U/KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VDb25maWcgPSBnZXQodGhpcy5hcHAsICdhY3RpdmVQYWdlLmZvcm1hdHNCeUxvY2FsZS50aW1lem9uZScpO1xuICAgICAgICBjb25zdCBjb21wQ29uZmlnID0gZ2V0KGNvbXBJbnN0YW5jZSwgJ2Zvcm1hdHNCeUxvY2FsZS50aW1lem9uZScpO1xuICAgICAgICBpZiAoY29tcENvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBDb25maWc7XG4gICAgICAgIH0gZWxzZSBpZiAocGFnZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHBhZ2VDb25maWc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRzQnlMb2NhbGVbJ3RpbWV6b25lJ107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0c0J5TG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRzQnlMb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlbGVjdGVkTG9jYWxlKGxvY2FsZSkge1xuXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBldmVudCBpcyBwcm9wYWdhdGVkIGZyb20gdGhlIHNlbGVjdCBvciBhbnkgc3VjaCB3aWRnZXRcbiAgICAgICAgaWYgKGlzT2JqZWN0KGxvY2FsZSkpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZS5kYXRhdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsaWJMb2NhbGUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzW2xvY2FsZV07XG4gICAgICAgIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IE9iamVjdC5rZXlzKGdldFdtUHJvamVjdFByb3BlcnRpZXMoKS5zdXBwb3J0ZWRMYW5ndWFnZXMpO1xuXG4gICAgICAgIGlmICghaW5jbHVkZXMoc3VwcG9ydGVkTG9jYWxlLCBsb2NhbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWxvY2FsZSB8fCBsb2NhbGUgPT09IHRoaXMuc2VsZWN0ZWRMb2NhbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnLCBsb2NhbGUpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhbGUgPSBsb2NhbGU7XG5cbiAgICAgICAgLy8gcmVzZXQgdGhlIGxvY2FsZURhdGEgb2JqZWN0XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuXG4gICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLm1vbWVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5idW5kbGVMb2FkZWQuYXBwID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLmFuZ3VsYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5idW5kbGVMb2FkZWQubGliTG9jYWxlID0gbGliTG9jYWxlO1xuXG4gICAgICAgIC8vIGxvYWQgdGhlIGxvY2FsZSBidW5kbGVzIG9mIHRoZSBzZWxlY3RlZCBsb2NhbGVcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZExvY2FsZUJ1bmRsZXMobGliTG9jYWxlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTG9jYWxlRGlyZWN0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5hbmd1bGFyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5TG9jYWxlQ2hhbmdlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZHVjZUFwcExvY2FsZSgpIHtcbiAgICAgICAgLy8gY29tcHV0YXRpb24gdG8gZmluZCBhcHAgZGVmYXVsdCBsb2NhbGVcbiAgICAgICAgY29uc3QgX2FjY2VwdExhbmcgPSB0aGlzLmdldEFjY2VwdGVkTGFuZ3VhZ2VzKCk7XG4gICAgICAgIGNvbnN0IF9kZWZhdWx0TGFuZ3VhZ2UgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuZGVmYXVsdExhbmd1YWdlO1xuICAgICAgICBfYWNjZXB0TGFuZy5wdXNoKF9kZWZhdWx0TGFuZ3VhZ2UpO1xuXG4gICAgICAgIC8vIGNoZWNrcyB3aGV0aGVyIHVzZXIgcHJlZmVyZW5jZSBpcyBiYXNlZCBvbiBicm93c2VyIHNldCBsYW5ndWFnZXMgb3IgZGVmYXVsdCBsYW5ndWFnZSBzZXQgaW4gcHJvamVjdFxuICAgICAgICBsZXQgcHJlZmVyQnJvd3NlckxhbmcgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkucHJlZmVyQnJvd3Nlckxhbmc7XG4gICAgICAgIGlmICghcHJlZmVyQnJvd3NlckxhbmcpIHsgLy8gd2hlbiBwcmVmZXJCcm93c2VyTGFuZyBpcyBub3QgZGVmaW5lZCwgc2V0IHRvIGl0cyBkZWZhdWx0IHZhbHVlXG4gICAgICAgICAgICBwcmVmZXJCcm93c2VyTGFuZyAgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgeyAvLyBjb252ZXJ0IHN0cmluZ2lmaWVkIGJvb2xlYW4gdmFsdWVzIHJlY2lldmVkIGZyb20gQkUgdG8gYm9vbGVhbnNcbiAgICAgICAgICAgIHByZWZlckJyb3dzZXJMYW5nPSAocHJlZmVyQnJvd3NlckxhbmcgPT09ICd0cnVlJyB8fCBwcmVmZXJCcm93c2VyTGFuZyA9PT0gdHJ1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgX3N1cHBvcnRlZExhbmcgPSBPYmplY3Qua2V5cyhnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzKSB8fCBbdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlXTtcblxuICAgICAgICAvLyB3aGVuIHByZWZlcmVuY2UgaXMgZ2l2ZW4gdG8gYnJvd3NlciBzZXQgbGFuZ3VhZ2VzLCBkbyBub3QgcG9wdWxhdGUgX3NlbGVjdGVkRGVmYXVsdExhbmcgdmFyaWFibGVcbiAgICAgICAgbGV0IF9zZWxlY3RlZERlZmF1bHRMYW5nID0gcHJlZmVyQnJvd3NlckxhbmcgPyB1bmRlZmluZWQgOiBfZGVmYXVsdExhbmd1YWdlO1xuXG4gICAgICAgIGxldCBfYXBwU3VwcG9ydGVkTGFuZztcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGZvciBjb3Jkb3ZhLCBjaGVjayBmb3IgbGFuZ3VhZ2UgaWdub3JpbmcgdGhlIGxvY2FsZVxuICAgICAgICAgKiBBcyB0aGUgbmF2aWdhdG9yLmxhbmd1YWdlcyBhbHdheXMgcmV0dXJucyB0aGUgbGFuZ3VhZ2Ugd2l0aCBsb2NhbGUgKGVuLXVzKVxuICAgICAgICAgKiBUaGUgc3VwcG9ydGVkTGFuZ3VhZ2VzIGZyb20gQkUgZG9lc24ndCBpbmNsdWRlIGxvY2FsZSAoZW4pIHdoaWNoIGxlYWRzIHRvIG1pc21hdGNoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoQ09OU1RBTlRTLmhhc0NvcmRvdmEpIHtcbiAgICAgICAgICAgIGxldCBzdXBwb3J0ZWRMYW5nID0gW107XG4gICAgICAgICAgICBmb3JFYWNoKF9hY2NlcHRMYW5nLCBmdW5jdGlvbiAobGFuZykge1xuICAgICAgICAgICAgICAgIGxldCBtYXRjaGVkTGFuZyA9IGZpbmQoX3N1cHBvcnRlZExhbmcsICh2YWwpID0+IGxhbmcgPT09IHZhbCkgfHwgZmluZChfc3VwcG9ydGVkTGFuZywgKHZhbCkgPT4gbGFuZy5zdGFydHNXaXRoKHZhbCkpO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVkTGFuZykge1xuICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5nLnB1c2gobWF0Y2hlZExhbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgX2FwcFN1cHBvcnRlZExhbmcgPSBzdXBwb3J0ZWRMYW5nWzBdO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIGZvciB0aGUgc2Vzc2lvbiBzdG9yYWdlIHRvIGxvYWQgYW55IHByZS1yZXF1ZXN0ZWQgbG9jYWxlXG4gICAgICAgIGNvbnN0IF9kZWZhdWx0TGFuZyA9IGdldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnKSB8fCBfc2VsZWN0ZWREZWZhdWx0TGFuZyB8fCBfYXBwU3VwcG9ydGVkTGFuZyB8fCBpbnRlcnNlY3Rpb24oX2FjY2VwdExhbmcsIF9zdXBwb3J0ZWRMYW5nKVswXSB8fCB0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGU7XG4gICAgICAgIC8vIGlmIHRoZSBzdXBwb3J0ZWRMb2NhbGUgaXMgbm90IGF2YWlsYWJsZSBzZXQgaXQgdG8gZGVmYXVsdExvY2FsZVxuICAgICAgICBfc3VwcG9ydGVkTGFuZyA9IF9zdXBwb3J0ZWRMYW5nIHx8IFtfZGVmYXVsdExhbmddO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZSA9IF9kZWZhdWx0TGFuZyB8fCBfc3VwcG9ydGVkTGFuZ1swXTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRMYW5ndWFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZERlZmF1bHRMb2NhbGUoKSB7XG4gICAgICAgIERhdGUucHJvdG90eXBlW1wibW9udGhcIl0gPSBEYXRlLnByb3RvdHlwZS5nZXRNb250aDtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5kZWR1Y2VBcHBMb2NhbGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9jYWxpemVkTWVzc2FnZShtZXNzYWdlLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiByZXBsYWNlKHRoaXMuYXBwTG9jYWxlW21lc3NhZ2VdLCBhcmdzKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGFjY2VwdGVkIGxhbmd1YWdlcyBsaXN0XG4gICAgcHVibGljIGdldEFjY2VwdGVkTGFuZ3VhZ2VzKCkge1xuICAgICAgICBsZXQgbGFuZ3VhZ2VzO1xuICAgICAgICBpZiAoQ09OU1RBTlRTLmhhc0NvcmRvdmEpIHtcbiAgICAgICAgICAgIGxhbmd1YWdlcyA9IG5hdmlnYXRvci5sYW5ndWFnZXMgfHwgW25hdmlnYXRvci5sYW5ndWFnZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYW5ndWFnZXMgPSBkZWNvZGVVUklDb21wb25lbnQoZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLnByZWZlcnJlZExhbmd1YWdlIHx8ICcnKTtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQWNjZXB0LUxhbmd1YWdlIEhlYWRlciB3aWxsIGNvbnRhaW4gc2V0IG9mIHN1cHBvcnRlZCBsb2NhbGUsIHNvIHRyeSBzcGxpdHRpbmcgdGhlIHN0cmluZyB0byBwcm9wZXIgbG9jYWxlIHNldFxuICAgICAgICAgICAgICogRXg6IGVuLGVuLVVTO3E9MC45LGRlO3E9MC42LGFyO3E9MC4yLGhpXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogU3BsaXQgdGhlIGFib3ZlIGludG8gW2VuLGVuLXVzLGRlLGFyLGhpXVxuICAgICAgICAgICAgICogQHR5cGUge0FycmF5fVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBsYW5ndWFnZXMgPSBsYW5ndWFnZXMuc3BsaXQoJywnKS5tYXAoZnVuY3Rpb24obG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5zcGxpdCgnOycpWzBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcChsYW5ndWFnZXMsIHRvTG93ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2FsZW5kYXJMb2NhbGUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgIT09ICdlbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRDYWxlbmRhckxvY2FsZUJ1bmRsZSh0aGlzLnNlbGVjdGVkTG9jYWxlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQW5ndWxhckxvY2FsZUxvYWRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQW5ndWxhckxvY2FsZUxvYWRlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0d2lkZ2V0TG9jYWxlKGxvY2FsZSkge1xuICAgICAgICB0aGlzLmZvcm1hdHNCeUxvY2FsZVsnbnVtYmVyJ10gPSBsb2NhbGVbJ251bWJlciddO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXR3aWRnZXRMb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHNCeUxvY2FsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeUxvY2FsZUNoYW5nZWQoKSB7XG4gICAgICAgIGlmKHRoaXMuYnVuZGxlTG9hZGVkLm1vbWVudCAmJiB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgJiYgdGhpcy5idW5kbGVMb2FkZWQuYW5ndWxhciAmJiB0aGlzLmJ1bmRsZUxvYWRlZC5hcHApIHtcbiAgICAgICAgICAgIHRoaXMuYXBwLm5vdGlmeSggICdsb2NhbGUtY2hhbmdlZCcsIHRoaXMuYnVuZGxlTG9hZGVkLmxpYkxvY2FsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9pMThuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNILGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsR0FBRyxFQUNOLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7O0FBSTdGLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUM7QUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPO0lBQ3ZILE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxP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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBkZWZpbmVMb2NhbGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Nocm9ub3MnO1xuaW1wb3J0IHsgQnNMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcblxuaW1wb3J0IHtcbiAgICBfV01fQVBQX1BST0pFQ1QsXG4gICAgQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICBBcHBEZWZhdWx0cyxcbiAgICBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBpc01vYmlsZSxcbiAgICBpc01vYmlsZUFwcCxcbiAgICBsb2FkU2NyaXB0cyxcbiAgICByZXBsYWNlLFxuICAgIHNldENTUyxcbiAgICBzZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgQXBwXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHtmaW5kLCBmb3JFYWNoLCBnZXQsIGluY2x1ZGVzLCBpbnRlcnNlY3Rpb24sIGlzT2JqZWN0LCBtYXAsIHRvTG93ZXJ9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbmNvbnN0IEFQUF9MT0NBTEVfUk9PVF9QQVRIID0gJ3Jlc291cmNlcy9pMThuJztcbmNvbnN0IFJUTF9MQU5HVUFHRV9DT0RFUyA9IFsnYXInLCAnYXItMDAxJywgJ2FyLWFlJywgJ2FyLWJoJywgJ2FyLWR6JywgJ2FyLWVnJywgJ2FyLWlxJywgJ2FyLWpvJywgJ2FyLWt3JywgJ2FyLWxiJywgJ2FyLWx5JyxcbiAgICAnYXItbWEnLCAnYXItb20nLCAnYXItcWEnLCAnYXItc2EnLCAnYXItc2QnLCAnYXItc3knLCAnYXItdG4nLCAnYXIteWUnLCAnYXJjJywgJ2JjYycsICdicWknLCAnY2tiJywgJ2R2JywgJ2ZhJywgJ2dsaycsXG4gICAgJ2hlJywgJ2t1JywgJ216bicsICdwbmInLCAncHMnLCAnc2QnLCAndWcnLCAndXInLCAneWknXTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlSW1wbCBleHRlbmRzIEFic3RyYWN0STE4blNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZExvY2FsZTogc3RyaW5nO1xuICAgIHByaXZhdGUgZGVmYXVsdFN1cHBvcnRlZExvY2FsZSA9ICdlbic7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBMb2NhbGU6IGFueTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWZhYkxvY2FsZTogTWFwPFN0cmluZywgYW55PjtcbiAgICBwcml2YXRlIG1lc3NhZ2VzOiBhbnk7XG4gICAgcHJpdmF0ZSBfaXNBbmd1bGFyTG9jYWxlTG9hZGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBmb3JtYXRzQnlMb2NhbGUgPSB7J3RpbWV6b25lJzogJycsICdudW1iZXInOiAnJ307XG4gICAgcHJpdmF0ZSBnZXQgYXBwKCkgeyByZXR1cm4gdGhpcy5pbmouZ2V0KEFwcCkgfTtcblxuICAgIHByaXZhdGUgYnVuZGxlTG9hZGVkOntba2V5OnN0cmluZ10gOiBhbnl9ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSAkaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBic0xvY2FsZVNlcnZpY2U6IEJzTG9jYWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBEZWZhdWx0czogQXBwRGVmYXVsdHMsXG4gICAgICAgIHByaXZhdGUgaW5qOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHt9O1xuICAgICAgICB0aGlzLnByZWZhYkxvY2FsZSA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxvY2FsZURpcmVjdGlvbigpIHtcbiAgICAgICAgbGV0IGRpcmVjdGlvbjogJ2x0cicgfCAncnRsJyA9ICdsdHInO1xuICAgICAgICBpZiAoUlRMX0xBTkdVQUdFX0NPREVTLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRMb2NhbGUpKSB7XG4gICAgICAgICAgICBkaXJlY3Rpb24gPSAncnRsJztcbiAgICAgICAgfVxuXG4gICAgICAgIHNldENTUyhkb2N1bWVudC5ib2R5LCAnZGlyZWN0aW9uJywgZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXQoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSB7fTtcblxuICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcy5hcHBMb2NhbGUsIHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWxlY3RlZExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExvY2FsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFN1cHBvcnRlZExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcHBMb2NhbGUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwTG9jYWxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcmVmYWJMb2NhbGVCdW5kbGUocHJlZmFiTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnByZWZhYkxvY2FsZS5oYXMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMucHJlZmFiTG9jYWxlLnNldChwcmVmYWJOYW1lLCBPYmplY3QuY3JlYXRlKHRoaXMuYXBwTG9jYWxlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZmFiTG9jYWxlLmdldChwcmVmYWJOYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dGVuZFByZWZhYk1lc3NhZ2VzKG1lc3NhZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlcy5wcmVmYWJNZXNzYWdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMobWVzc2FnZXMucHJlZmFiTWVzc2FnZXMpLmZvckVhY2goKHByZWZhYk5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgbGV0IGJ1bmRsZSA9IHRoaXMucHJlZmFiTG9jYWxlLmdldChwcmVmYWJOYW1lKTtcbiAgICAgICAgICAgIGlmICghYnVuZGxlKSB7XG4gICAgICAgICAgICAgICAgYnVuZGxlID0gT2JqZWN0LmNyZWF0ZSh0aGlzLmFwcExvY2FsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVmYWJMb2NhbGUuc2V0KHByZWZhYk5hbWUsIGJ1bmRsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGJ1bmRsZSwgbWVzc2FnZXMucHJlZmFiTWVzc2FnZXNbcHJlZmFiTmFtZV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dGVuZE1lc3NhZ2VzKG1lc3NhZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1lc3NhZ2VzLCBtZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkUmVzb3VyY2UocGF0aCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLiRodHRwLmdldChwYXRoKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgZXJyb3IgbG9hZGluZyBsb2NhbGUgcmVzb3VyY2UgZnJvbSAke3BhdGh9YCk7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkQXBwTG9jYWxlQnVuZGxlKCkge1xuICAgICAgICB0aGlzLmxvYWRSZXNvdXJjZShgJHtBUFBfTE9DQUxFX1JPT1RfUEFUSH0vJHt0aGlzLnNlbGVjdGVkTG9jYWxlfS5qc29uYClcbiAgICAgICAgICAgIC50aGVuKGJ1bmRsZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHRlbmRNZXNzYWdlcyhidW5kbGUubWVzc2FnZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXh0ZW5kUHJlZmFiTWVzc2FnZXMoYnVuZGxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcERlZmF1bHRzLnNldEZvcm1hdHMoYnVuZGxlLmZvcm1hdHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLmFwcCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlMb2NhbGVDaGFuZ2VkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZE1vbWVudExvY2FsZUJ1bmRsZShtb21lbnRMb2NhbGUpIHtcbiAgICAgICAgY29uc3QgX2NkblVybCA9IF9XTV9BUFBfUFJPSkVDVC5jZG5VcmwgfHwgX1dNX0FQUF9QUk9KRUNULm5nRGVzdDtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgPT09IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSkge1xuICAgICAgICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGggPSBfY2RuVXJsICsgYGxvY2FsZXMvbW9tZW50LyR7bW9tZW50TG9jYWxlfS5qc2A7XG4gICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLnNlbGVjdGVkTG9jYWxlKTtcblxuICAgICAgICAgICAgLy8gRm9yIG5neCBib290c3RyYXAgbG9jYWxlLCBnZXQgdGhlIGNvbmZpZyBmcm9tIHNjcmlwdCBhbmQgYXBwbHkgbG9jYWxlXG4gICAgICAgICAgICAvLyBtb21lbnQubG9jYWxlRGF0YShtb21lbnRMb2NhbGUpIHdpbGwgcmV0dXJuIG1vbWVudCBsb2NhbGUgaW5zdGFuY2UuIF9jb25maWcgaW5zaWRlIHdpbGwgaGF2ZSBhY3R1YWwgY29uZmlnXG4gICAgICAgICAgICBsZXQgX2NvbmZpZyA9IG1vbWVudC5sb2NhbGVEYXRhKG1vbWVudExvY2FsZSk7XG4gICAgICAgICAgICBfY29uZmlnID0gX2NvbmZpZyAmJiBfY29uZmlnLl9jb25maWc7XG4gICAgICAgICAgICBkZWZpbmVMb2NhbGUodGhpcy5zZWxlY3RlZExvY2FsZSwgX2NvbmZpZyk7XG4gICAgICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UodGhpcy5nZXRTZWxlY3RlZExvY2FsZSgpIHx8IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5tb21lbnQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlMb2NhbGVDaGFuZ2VkKCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxvYWRBbmd1bGFyTG9jYWxlQnVuZGxlKGFuZ0xvY2FsZSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBfY2RuVXJsID0gX1dNX0FQUF9QUk9KRUNULmNkblVybCB8fCBfV01fQVBQX1BST0pFQ1QubmdEZXN0O1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgPT09IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL2FuZ3VsYXIvZ2xvYmFsLyR7YW5nTG9jYWxlfS5qc2A7XG5cbiAgICAgICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzQW5ndWxhckxvY2FsZUxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSwgcmVzb2x2ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkQ2FsZW5kYXJMb2NhbGVCdW5kbGUoY2FsZW5kYXJMb2NhbGUsIGZvcmNlID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgX2NkblVybCA9IF9XTV9BUFBfUFJPSkVDVC5jZG5VcmwgfHwgX1dNX0FQUF9QUk9KRUNULm5nRGVzdDtcbiAgICAgICAgbGV0IHBhdGg6IHN0cmluZztcbiAgICAgICAgaWYgKGNhbGVuZGFyTG9jYWxlKSB7XG4gICAgICAgICAgICBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL2Z1bGxjYWxlbmRhci8ke2NhbGVuZGFyTG9jYWxlfS5qc2A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXR1cm4gaW4gY2FzZSBvZiBtb2JpbGUgYXBwIG9yIGlmIHNlbGVjdGVkIGxvY2FsZSBpcyBkZWZhdWx0IHN1cHBvcnRlZCBsb2NhbGUuXG4gICAgICAgIGlmICghZm9yY2UgJiYgKGlzTW9iaWxlKCkgfHwgaXNNb2JpbGVBcHAoKSB8fCB0aGlzLnNlbGVjdGVkTG9jYWxlID09PSB0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGUpKSB7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FsbCB0aGUgc2NyaXB0LiBJbiBzY3JpcHQsIG1vbWVudCBkZWZpbmVzIHRoZSBsb2FkZWQgbG9jYWxlXG4gICAgICAgIHJldHVybiBsb2FkU2NyaXB0cyhbcGF0aF0sIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTW9tZW50VGltZVpvbmVCdW5kbGUobG9jYWxlLCBjb21wSW5zdGFuY2U/KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IF9jZG5VcmwgPSBfV01fQVBQX1BST0pFQ1QuY2RuVXJsIHx8IF9XTV9BUFBfUFJPSkVDVC5uZ0Rlc3Q7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gX2NkblVybCArIGBsb2NhbGVzL21vbWVudC10aW1lem9uZS9tb21lbnQtdGltZXpvbmUtd2l0aC1kYXRhLmpzYDtcbiAgICAgICAgICAgIGxvYWRTY3JpcHRzKFtwYXRoXSwgdHJ1ZSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIGxvY2FsZSBpcyBwcm92aWRlZCBpbiB0aGUgZm9ybSBvZiBvZmZzZXQgYW5kIG5vdCB0aW1lem9uZSBuYW1lLCBkZWR1Y2UgdGhlIG5hbWUuXG4gICAgICAgICAgICAgICAgICogSWYgbG9jYWxlIGlzIHByb3ZpZGVkIGFzIEdNVCs5LCBuYW1lIHdpbGwgYmUgZGVkdWNlZCBhcyBBc2lhL1Rva3lvXG4gICAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgICBsZXQgbG9jYWxlT2JqID0gbG9jYWxlO1xuICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZU9ialsndGltZXpvbmUnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbGVJbmRleCA9IGxvY2FsZS5pbmRleE9mKCcrJyk7XG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsZUluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsZUluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlID0gbG9jYWxlLnN1YnN0cihsb2NhbGVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlT2JqWyd0aW1lem9uZSddID0gZmluZChtb21lbnQudHoubmFtZXMoKSwgKHRpbWV6b25lTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZSA9PT0gbW9tZW50LnR6KHRpbWV6b25lTmFtZSkuZm9ybWF0KCdaJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtb21lbnQudHouc2V0RGVmYXVsdChsb2NhbGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsZURhdGEgPSAgY29tcEluc3RhbmNlICYmIGNvbXBJbnN0YW5jZS5mb3JtYXRzQnlMb2NhbGUgPyBjb21wSW5zdGFuY2UuZm9ybWF0c0J5TG9jYWxlIDogdGhpcy5mb3JtYXRzQnlMb2NhbGU7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihsb2NhbGVEYXRhLCBsb2NhbGVPYmopO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIHJlc29sdmUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZExvY2FsZUJ1bmRsZXMobGliTG9jYWxlKSB7XG4gICAgICAgIGlmIChsaWJMb2NhbGUubW9tZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRNb21lbnRMb2NhbGVCdW5kbGUobGliTG9jYWxlLm1vbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZExvY2FsZSA9PT0gdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlKSB7XG4gICAgICAgICAgICB0aGlzLmJzTG9jYWxlU2VydmljZS51c2UodGhpcy5nZXRTZWxlY3RlZExvY2FsZSgpIHx8IHRoaXMuZGVmYXVsdFN1cHBvcnRlZExvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5tb21lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaWJMb2NhbGUuZnVsbENhbGVuZGFyICYmIHdpbmRvd1snRnVsbENhbGVuZGFyJ10pIHtcbiAgICAgICAgICAgIHRoaXMubG9hZENhbGVuZGFyTG9jYWxlQnVuZGxlKGxpYkxvY2FsZS5mdWxsQ2FsZW5kYXIpPy50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5TG9jYWxlQ2hhbmdlZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaWJMb2NhbGUuYW5ndWxhcikge1xuICAgICAgICAgICAgdGhpcy5sb2FkQXBwTG9jYWxlQnVuZGxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFuZ3VsYXJMb2NhbGVCdW5kbGUobGliTG9jYWxlLmFuZ3VsYXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRUaW1lem9uZShsb2NhbGUsIGNvbXBJbnN0YW5jZT8pIHtcbiAgICAgICAgdGhpcy5sb2FkTW9tZW50VGltZVpvbmVCdW5kbGUobG9jYWxlLCBjb21wSW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUaW1lem9uZShjb21wSW5zdGFuY2U/KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VDb25maWcgPSBnZXQodGhpcy5hcHAsICdhY3RpdmVQYWdlLmZvcm1hdHNCeUxvY2FsZS50aW1lem9uZScpO1xuICAgICAgICBjb25zdCBjb21wQ29uZmlnID0gZ2V0KGNvbXBJbnN0YW5jZSwgJ2Zvcm1hdHNCeUxvY2FsZS50aW1lem9uZScpO1xuICAgICAgICBpZiAoY29tcENvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBDb25maWc7XG4gICAgICAgIH0gZWxzZSBpZiAocGFnZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHBhZ2VDb25maWc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRzQnlMb2NhbGVbJ3RpbWV6b25lJ107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0c0J5TG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRzQnlMb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlbGVjdGVkTG9jYWxlKGxvY2FsZSkge1xuXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBldmVudCBpcyBwcm9wYWdhdGVkIGZyb20gdGhlIHNlbGVjdCBvciBhbnkgc3VjaCB3aWRnZXRcbiAgICAgICAgaWYgKGlzT2JqZWN0KGxvY2FsZSkpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZS5kYXRhdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsaWJMb2NhbGUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzW2xvY2FsZV07XG4gICAgICAgIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IE9iamVjdC5rZXlzKGdldFdtUHJvamVjdFByb3BlcnRpZXMoKS5zdXBwb3J0ZWRMYW5ndWFnZXMpO1xuXG4gICAgICAgIGlmICghaW5jbHVkZXMoc3VwcG9ydGVkTG9jYWxlLCBsb2NhbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWxvY2FsZSB8fCBsb2NhbGUgPT09IHRoaXMuc2VsZWN0ZWRMb2NhbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnLCBsb2NhbGUpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhbGUgPSBsb2NhbGU7XG5cbiAgICAgICAgLy8gcmVzZXQgdGhlIGxvY2FsZURhdGEgb2JqZWN0XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuXG4gICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLm1vbWVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5idW5kbGVMb2FkZWQuYXBwID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYnVuZGxlTG9hZGVkLmFuZ3VsYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5idW5kbGVMb2FkZWQubGliTG9jYWxlID0gbGliTG9jYWxlO1xuXG4gICAgICAgIC8vIGxvYWQgdGhlIGxvY2FsZSBidW5kbGVzIG9mIHRoZSBzZWxlY3RlZCBsb2NhbGVcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZExvY2FsZUJ1bmRsZXMobGliTG9jYWxlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTG9jYWxlRGlyZWN0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmJ1bmRsZUxvYWRlZC5hbmd1bGFyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5TG9jYWxlQ2hhbmdlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZHVjZUFwcExvY2FsZSgpIHtcbiAgICAgICAgLy8gY29tcHV0YXRpb24gdG8gZmluZCBhcHAgZGVmYXVsdCBsb2NhbGVcbiAgICAgICAgY29uc3QgX2FjY2VwdExhbmcgPSB0aGlzLmdldEFjY2VwdGVkTGFuZ3VhZ2VzKCk7XG4gICAgICAgIGNvbnN0IF9kZWZhdWx0TGFuZ3VhZ2UgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuZGVmYXVsdExhbmd1YWdlO1xuICAgICAgICBfYWNjZXB0TGFuZy5wdXNoKF9kZWZhdWx0TGFuZ3VhZ2UpO1xuXG4gICAgICAgIC8vIGNoZWNrcyB3aGV0aGVyIHVzZXIgcHJlZmVyZW5jZSBpcyBiYXNlZCBvbiBicm93c2VyIHNldCBsYW5ndWFnZXMgb3IgZGVmYXVsdCBsYW5ndWFnZSBzZXQgaW4gcHJvamVjdFxuICAgICAgICBsZXQgcHJlZmVyQnJvd3NlckxhbmcgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkucHJlZmVyQnJvd3Nlckxhbmc7XG4gICAgICAgIGlmICghcHJlZmVyQnJvd3NlckxhbmcpIHsgLy8gd2hlbiBwcmVmZXJCcm93c2VyTGFuZyBpcyBub3QgZGVmaW5lZCwgc2V0IHRvIGl0cyBkZWZhdWx0IHZhbHVlXG4gICAgICAgICAgICBwcmVmZXJCcm93c2VyTGFuZyAgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgeyAvLyBjb252ZXJ0IHN0cmluZ2lmaWVkIGJvb2xlYW4gdmFsdWVzIHJlY2lldmVkIGZyb20gQkUgdG8gYm9vbGVhbnNcbiAgICAgICAgICAgIHByZWZlckJyb3dzZXJMYW5nPSAocHJlZmVyQnJvd3NlckxhbmcgPT09ICd0cnVlJyB8fCBwcmVmZXJCcm93c2VyTGFuZyA9PT0gdHJ1ZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgX3N1cHBvcnRlZExhbmcgPSBPYmplY3Qua2V5cyhnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzKSB8fCBbdGhpcy5kZWZhdWx0U3VwcG9ydGVkTG9jYWxlXTtcblxuICAgICAgICAvLyB3aGVuIHByZWZlcmVuY2UgaXMgZ2l2ZW4gdG8gYnJvd3NlciBzZXQgbGFuZ3VhZ2VzLCBkbyBub3QgcG9wdWxhdGUgX3NlbGVjdGVkRGVmYXVsdExhbmcgdmFyaWFibGVcbiAgICAgICAgbGV0IF9zZWxlY3RlZERlZmF1bHRMYW5nID0gcHJlZmVyQnJvd3NlckxhbmcgPyB1bmRlZmluZWQgOiBfZGVmYXVsdExhbmd1YWdlO1xuXG4gICAgICAgIGxldCBfYXBwU3VwcG9ydGVkTGFuZztcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGZvciBjb3Jkb3ZhLCBjaGVjayBmb3IgbGFuZ3VhZ2UgaWdub3JpbmcgdGhlIGxvY2FsZVxuICAgICAgICAgKiBBcyB0aGUgbmF2aWdhdG9yLmxhbmd1YWdlcyBhbHdheXMgcmV0dXJucyB0aGUgbGFuZ3VhZ2Ugd2l0aCBsb2NhbGUgKGVuLXVzKVxuICAgICAgICAgKiBUaGUgc3VwcG9ydGVkTGFuZ3VhZ2VzIGZyb20gQkUgZG9lc24ndCBpbmNsdWRlIGxvY2FsZSAoZW4pIHdoaWNoIGxlYWRzIHRvIG1pc21hdGNoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoQ09OU1RBTlRTLmhhc0NvcmRvdmEpIHtcbiAgICAgICAgICAgIGxldCBzdXBwb3J0ZWRMYW5nID0gW107XG4gICAgICAgICAgICBmb3JFYWNoKF9hY2NlcHRMYW5nLCBmdW5jdGlvbiAobGFuZykge1xuICAgICAgICAgICAgICAgIGxldCBtYXRjaGVkTGFuZyA9IGZpbmQoX3N1cHBvcnRlZExhbmcsICh2YWwpID0+IGxhbmcgPT09IHZhbCkgfHwgZmluZChfc3VwcG9ydGVkTGFuZywgKHZhbCkgPT4gbGFuZy5zdGFydHNXaXRoKHZhbCkpO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVkTGFuZykge1xuICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5nLnB1c2gobWF0Y2hlZExhbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgX2FwcFN1cHBvcnRlZExhbmcgPSBzdXBwb3J0ZWRMYW5nWzBdO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIGZvciB0aGUgc2Vzc2lvbiBzdG9yYWdlIHRvIGxvYWQgYW55IHByZS1yZXF1ZXN0ZWQgbG9jYWxlXG4gICAgICAgIGNvbnN0IF9kZWZhdWx0TGFuZyA9IGdldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnKSB8fCBfc2VsZWN0ZWREZWZhdWx0TGFuZyB8fCBfYXBwU3VwcG9ydGVkTGFuZyB8fCBpbnRlcnNlY3Rpb24oX2FjY2VwdExhbmcsIF9zdXBwb3J0ZWRMYW5nKVswXSB8fCB0aGlzLmRlZmF1bHRTdXBwb3J0ZWRMb2NhbGU7XG4gICAgICAgIC8vIGlmIHRoZSBzdXBwb3J0ZWRMb2NhbGUgaXMgbm90IGF2YWlsYWJsZSBzZXQgaXQgdG8gZGVmYXVsdExvY2FsZVxuICAgICAgICBfc3VwcG9ydGVkTGFuZyA9IF9zdXBwb3J0ZWRMYW5nIHx8IFtfZGVmYXVsdExhbmddO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZSA9IF9kZWZhdWx0TGFuZyB8fCBfc3VwcG9ydGVkTGFuZ1swXTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRMYW5ndWFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZERlZmF1bHRMb2NhbGUoKSB7XG4gICAgICAgIERhdGUucHJvdG90eXBlW1wibW9udGhcIl0gPSBEYXRlLnByb3RvdHlwZS5nZXRNb250aDtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5kZWR1Y2VBcHBMb2NhbGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9jYWxpemVkTWVzc2FnZShtZXNzYWdlLCAuLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiByZXBsYWNlKHRoaXMuYXBwTG9jYWxlW21lc3NhZ2VdLCBhcmdzKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGFjY2VwdGVkIGxhbmd1YWdlcyBsaXN0XG4gICAgcHVibGljIGdldEFjY2VwdGVkTGFuZ3VhZ2VzKCkge1xuICAgICAgICBsZXQgbGFuZ3VhZ2VzO1xuICAgICAgICBpZiAoQ09OU1RBTlRTLmhhc0NvcmRvdmEpIHtcbiAgICAgICAgICAgIGxhbmd1YWdlcyA9IG5hdmlnYXRvci5sYW5ndWFnZXMgfHwgW25hdmlnYXRvci5sYW5ndWFnZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYW5ndWFnZXMgPSBkZWNvZGVVUklDb21wb25lbnQoZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLnByZWZlcnJlZExhbmd1YWdlIHx8ICcnKTtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQWNjZXB0LUxhbmd1YWdlIEhlYWRlciB3aWxsIGNvbnRhaW4gc2V0IG9mIHN1cHBvcnRlZCBsb2NhbGUsIHNvIHRyeSBzcGxpdHRpbmcgdGhlIHN0cmluZyB0byBwcm9wZXIgbG9jYWxlIHNldFxuICAgICAgICAgICAgICogRXg6IGVuLGVuLVVTO3E9MC45LGRlO3E9MC42LGFyO3E9MC4yLGhpXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogU3BsaXQgdGhlIGFib3ZlIGludG8gW2VuLGVuLXVzLGRlLGFyLGhpXVxuICAgICAgICAgICAgICogQHR5cGUge0FycmF5fVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBsYW5ndWFnZXMgPSBsYW5ndWFnZXMuc3BsaXQoJywnKS5tYXAoZnVuY3Rpb24obG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5zcGxpdCgnOycpWzBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcChsYW5ndWFnZXMsIHRvTG93ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2FsZW5kYXJMb2NhbGUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhbGUgIT09ICdlbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRDYWxlbmRhckxvY2FsZUJ1bmRsZSh0aGlzLnNlbGVjdGVkTG9jYWxlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQW5ndWxhckxvY2FsZUxvYWRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQW5ndWxhckxvY2FsZUxvYWRlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0d2lkZ2V0TG9jYWxlKGxvY2FsZSkge1xuICAgICAgICB0aGlzLmZvcm1hdHNCeUxvY2FsZVsnbnVtYmVyJ10gPSBsb2NhbGVbJ251bWJlciddO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXR3aWRnZXRMb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHNCeUxvY2FsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeUxvY2FsZUNoYW5nZWQoKSB7XG4gICAgICAgIGlmKHRoaXMuYnVuZGxlTG9hZGVkLm1vbWVudCAmJiB0aGlzLmJ1bmRsZUxvYWRlZC5mdWxsQ2FsZW5kYXIgJiYgdGhpcy5idW5kbGVMb2FkZWQuYW5ndWxhciAmJiB0aGlzLmJ1bmRsZUxvYWRlZC5hcHApIHtcbiAgICAgICAgICAgIHRoaXMuYXBwLm5vdGlmeSggICdsb2NhbGUtY2hhbmdlZCcsIHRoaXMuYnVuZGxlTG9hZGVkLmxpYkxvY2FsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -260,7 +260,7 @@ export class NavigationServiceImpl {
|
|
|
260
260
|
});
|
|
261
261
|
return dialogId;
|
|
262
262
|
}
|
|
263
|
-
static { this.ɵfac = function NavigationServiceImpl_Factory(
|
|
263
|
+
static { this.ɵfac = function NavigationServiceImpl_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NavigationServiceImpl)(i0.ɵɵinject(i1.App), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i0.NgZone)); }; }
|
|
264
264
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NavigationServiceImpl, factory: NavigationServiceImpl.ɵfac }); }
|
|
265
265
|
}
|
|
266
266
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavigationServiceImpl, [{
|
|
@@ -304,4 +304,4 @@ class History {
|
|
|
304
304
|
return this.stack.length > 0 ? this.stack[this.stack.length - 1] : undefined;
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsR0FBRyxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQUluRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUd4QyxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQW9CLEdBQVEsRUFBVSxNQUFjLEVBQVMsSUFBWTtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFKakUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBR2pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLFFBQVEsQ0FBQztnQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQzdCLElBQUks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QUFDO0lBOEJ4QyxDQUFDO0lBM0JVLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxJQUFJLENBQUMsUUFBa0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRU0sR0FBRztRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHAsIE5hdmlnYXRpb25PcHRpb25zLCBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnQHdtL3ZhcmlhYmxlcyc7XG5pbXBvcnQge2ZpbHRlciwgaXNFbXB0eSwgaXNFcXVhbH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IHBhcmVudFNlbGVjdG9yID0gJ2JvZHkgPmFwcC1yb290JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgaGlzdG9yeSA9IG5ldyBIaXN0b3J5KCk7XG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpc1BhZ2VBZGRlZFRvSGlzdG9yeSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHVibGljIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSB7fTtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwuc3Vic3RyKHVybC5pbmRleE9mKCc/JykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0cyA9IHMuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsUGFyYW1zW3NwbGl0c1swXV0gPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybC5zdWJzdHIoMCwgdXJsLmluZGV4T2YoJz8nKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZU5hbWVbMF0gPT09ICcvJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZU5hbWUgPSBwYWdlTmFtZS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICogQ29tbWVudGluZyB0aGlzIGNvZGUsIG9uZSBjbGllbnQgcHJvamVjdCBoYXMgSG9tZV9QYWdlIGNvbmZpZ3VyZWQgYXMgTG9naW4gUGFnZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAqIFNvIHJlZGlyZWN0aW9uIHRvIEhvbWVfUGFnZSBwb3N0IGxvZ2luIGlzIGZhaWxpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBsb2dpbiBwYWdlIGlzIGJlaW5nIGxvYWRlZCBhbmQgdXNlciBpcyBsb2dnZWQgaW4sIGNhbmNlbCB0aGF0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcnMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcExvZ2luUGFnZVBvc3RMb2dpbigkcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdXJsUGFyYW1zWyduYW1lJ107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wdXNoKG5ldyBQYWdlSW5mbyhwYWdlTmFtZSwgdXJsUGFyYW1zLCB0aGlzLnRyYW5zaXRpb24pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VUcmFuc2l0aW9uKCkge1xuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLnRyYW5zaXRpb24pIHx8IGlzRXF1YWwoJ25vbmUnLCB0aGlzLnRyYW5zaXRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBwYXJ0aWN1bGFyIHBhZ2VcbiAgICAgKiBAcGFyYW0gcGFnZU5hbWVcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucykge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSBvcHRpb25zLnRyYW5zaXRpb24gfHwgJyc7XG4gICAgICAgIC8vIHBhZ2UgaXMgYWRkZWQgdG8gc3RhY2sgb25seSB3aGVuIGN1cnJlbnRQYWdlIGlzIGF2YWlsYWJsZS5cbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yeS5nZXRDdXJyZW50UGFnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhpc3RvcnkucHVzaCggbmV3IFBhZ2VJbmZvKHBhZ2VOYW1lLCBvcHRpb25zLnVybFBhcmFtcywgdGhpcy50cmFuc2l0aW9uKSk7XG4gICAgICAvKipcbiAgICAgICAqICBCcm93c2VyQW5pbWNhdGlvbiBtb2R1bGUgaGFzIGlzc3VlIHdpdGggUm91dGVyT3V0bGV0XG4gICAgICAgICAgSW4gdGhlIHJlc3VsdCBldmVyeSByb3V0ZSBhcHBlbmRpbmcgdG8gcHJldmlvdXMgcm91dGUgaW5zdGVhZCBvZiByZXBsYWNlLlxuICAgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUgd2UgYXJlIG5hdmlnYXRpbmcgaW5zaWRlIHRoZSBuZ1pvbmVzXG4gICAgICAgKlxuICAgICAgICogICovXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLyR7cGFnZU5hbWV9YF0sIHsgcXVlcnlQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zfSk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIGxhc3QgdmlzaXRlZCBwYWdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUHJldmlvdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkuZ2V0UGFnZXNDb3VudCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLmhpc3RvcnkuZ2V0Q3VycmVudFBhZ2UoKS50cmFuc2l0aW9uO1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMudHJhbnNpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gKz0gJy1leGl0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wb3AoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSB0cnVlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRvZG9bU2h1YmhhbV0gTmVlZCB0byBoYW5kbGUgZ290b0VsZW1lbnQgaW4gb3RoZXIgcGFydGlhbHNcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gcGFydGljdWxhciB2aWV3XG4gICAgICogQHBhcmFtIHZpZXdOYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1ZpZXcodmlld05hbWU6IHN0cmluZywgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMsIHZhcmlhYmxlOiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHBhZ2VOYW1lID0gb3B0aW9ucy5wYWdlTmFtZTtcbiAgICAgICAgY29uc3QgdHJhbnNpdGlvbiA9IG9wdGlvbnMudHJhbnNpdGlvbiB8fCAnJztcbiAgICAgICAgY29uc3QgJGV2ZW50ID0gb3B0aW9ucy4kZXZlbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVBhZ2UgPSB0aGlzLmFwcC5hY3RpdmVQYWdlO1xuICAgICAgICBjb25zdCBwcmVmYWJOYW1lID0gdmFyaWFibGUgJiYgdmFyaWFibGUuX2NvbnRleHQgJiYgdmFyaWFibGUuX2NvbnRleHQucHJlZmFiTmFtZTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhcHAgaXMgUHJlZmFiXG4gICAgICAgIGlmICh0aGlzLmFwcC5pc1ByZWZhYlR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub0VsZW1lbnRWaWV3KCQocGFyZW50U2VsZWN0b3IpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIHByZXNlbnQgaW4gdGhlIHBhZ2Ugb3Igbm90LCBpZiBubyBzaG93IGFuIGVycm9yIHRvYXN0ZXJcbiAgICAgICAgICAgIC8vIGlmIHllcyBjaGVjayBpZiBpdCBpcyBpbnNpZGUgYSBwYXJ0aWFsL3ByZWZhYiBpbiB0aGUgcGFnZSBhbmQgdGhlbiBoaWdobGlnaHQgdGhlIHJlc3BlY3RpdmUgZWxlbWVudFxuICAgICAgICAgICAgLy8gZWxzZSBnb3RvIHRoZSBwYWdlIGluIHdoaWNoIHRoZSBlbGVtZW50IGV4aXN0cyBhbmQgaGlnaGxpZ2h0IHRoZSBlbGVtZW50XG4gICAgICAgICAgICBpZiAocGFnZU5hbWUgIT09IGFjdGl2ZVBhZ2UuYWN0aXZlUGFnZU5hbWUgJiYgIXByZWZhYk5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BhcnRpYWxXaXRoTmFtZUV4aXN0cyhwYWdlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJCgnW3BhcnRpYWxjb250YWluZXJdW2NvbnRlbnQ9XCInICsgcGFnZU5hbWUgKyAnXCJdJykuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRvZG9bU2h1YmhhbV06IE1ha2UgYW4gQVBJIGNhbGwgdG8gZ2V0IGFsbCBwYWdlcyBhbmQgY2hlY2sgaWYgdGhlIHBhZ2UgbmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyAgaXMgYSBwYWdlIGFuZCB0aGVuIGRvIHRoaXMgY2FsbCBlbHNlIHNob3cgYW4gZXJyb3IgYXM6XG4gICAgICAgICAgICAgICAgICAgIC8vICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9QYWdlKHBhZ2VOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TmFtZTogdmlld05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQ6ICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpYmUgdG8gYW4gZXZlbnQgbmFtZWQgcGFnZVJlYWR5IHdoaWNoIG5vdGlmaWVzIHRoaXMgc3Vic2NyaWJlclxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIGFsbCB3aWRnZXRzIGluIHBhZ2UgYXJlIGxvYWRlZCBpLmUgd2hlbiBwYWdlIGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VSZWFkeVN1YnNjcmliZXIgPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ3BhZ2VSZWFkeScsIChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKHBhcmVudFNlbGVjdG9yKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlUmVhZHlTdWJzY3JpYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJlZmFiTmFtZSAmJiB0aGlzLmlzUHJlZmFiV2l0aE5hbWVFeGlzdHMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbcHJlZmFiTmFtZT1cIicgKyBwcmVmYWJOYW1lICsgJ1wiXScpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBhZ2VOYW1lIHx8IHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJChwYXJlbnRTZWxlY3RvcikuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBuYXZpZ2F0ZXMgdGhlIHVzZXIgdG8gYSB2aWV3IGVsZW1lbnQgd2l0aCBnaXZlbiBuYW1lXG4gICAgICogaWYgdGhlIGVsZW1lbnQgbm90IGZvdW5kIGluIHRoZSBjb21waWxlZCBtYXJrdXAsIHRoZSBzYW1lIGlzIHNlYXJjaGVkIGluIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiB0aGUgcGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ29Ub0VsZW1lbnRWaWV3KHZpZXdFbGVtZW50LCB2aWV3TmFtZTogc3RyaW5nLCBwYWdlTmFtZTogc3RyaW5nLCB2YXJpYWJsZTogYW55KSB7XG4gICAgICAgIGxldCAkZWwsIHBhcmVudERpYWxvZztcbiAgICAgICAgY29uc3QgYWN0aXZlUGFnZSA9IHRoaXMuYXBwLmFjdGl2ZVBhZ2U7XG4gICAgICAgIGlmICh2aWV3RWxlbWVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcHAuaXNQcmVmYWJUeXBlICYmIHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdmlld0VsZW1lbnQgPSB0aGlzLmdldFZpZXdFbGVtZW50SW5BY3RpdmVQYWdlKHZpZXdFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGVsID0gdmlld0VsZW1lbnRbMF0ud2lkZ2V0O1xuICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3dtLWFjY29yZGlvbnBhbmUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbmNlc3RvcnModmlld0VsZW1lbnQsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgJGVsLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd20tc2VnbWVudC1jb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5uYXZpZ2F0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS1wYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIC8qIGZsaXAgdGhlIGFjdGl2ZSBmbGFnICovXG4gICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGlhbG9nID0gdGhpcy5zaG93QW5jZXN0b3JEaWFsb2codmlld05hbWUpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJZiBwYWdlIG5hbWUgaXMgZXF1YWwgdG8gYWN0aXZlIHBhZ2VOYW1lLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGVsZW1lbnQgaW4gdGhlIHBhZ2UuXG4gICAgIFRoZSBlbGVtZW50IGluIHRoZSBwYXJ0aWFsIHBhZ2UgaXMgbm90IHNlbGVjdGVkLiovXG4gICAgcHJpdmF0ZSBnZXRWaWV3RWxlbWVudEluQWN0aXZlUGFnZSgkZWwpIHtcbiAgICAgICAgbGV0IHNlbGVjdG9yO1xuICAgICAgICBpZiAoJGVsLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gZmlsdGVyKCRlbCwgKGNoaWxkU2VsZWN0b3IpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1tkYXRhLXJvbGUgPSBcInBhcnRpYWxcIl0nKSkgJiYgaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1t3bXByZWZhYmNvbnRhaW5lcl0nKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkU2VsZWN0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAkZWwgPSAkKHNlbGVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFnZWNvbnRhaW5lciBoYXMgdGhlIHBhZ2VOYW1lLlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNQYXJ0aWFsV2l0aE5hbWVFeGlzdHMobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAkKCdbcGFydGlhbGNvbnRhaW5lcl1bY29udGVudD1cIicgKyBuYW1lICsgJ1wiXScpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3MgaWYgdGhlIHBhZ2Vjb250YWluZXIgaGFzIHRoZSBwcmVmYWIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc1ByZWZhYldpdGhOYW1lRXhpc3RzKHByZWZhYk5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gJCgnW3ByZWZhYk5hbWU9XCInICsgcHJlZmFiTmFtZSArICdcIl0nKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBzaG93cyBhbGwgdGhlIHBhcmVudCBjb250YWluZXIgdmlldyBlbGVtZW50cyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3dBbmNlc3RvcnMoZWxlbWVudCwgdmFyaWFibGUpIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JTZWFyY2hRdWVyeSA9ICdbd20tbmF2aWdhYmxlLWVsZW1lbnQ9XCJ0cnVlXCJdJztcblxuICAgICAgICBlbGVtZW50XG4gICAgICAgICAgICAucGFyZW50cyhhbmNlc3RvclNlYXJjaFF1ZXJ5KVxuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRlbCA9IHBhcmVudC53aWRnZXQ7XG4gICAgICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1hY2NvcmRpb25wYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1zZWdtZW50LWNvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgJGVsLm5hdmlnYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd20tcGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgLyogZmxpcCB0aGUgYWN0aXZlIGZsYWcgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgLypcbiAgICAgKiBzZWFyY2hlcyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnQgaW5zaWRlIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiBjdXJyZW50IHBhZ2VcbiAgICAgKiBpZiBmb3VuZCwgdGhlIGRpYWxvZyBpcyBkaXNwbGF5ZWQsIHRoZSBkaWFsb2cgaWQgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaG93QW5jZXN0b3JEaWFsb2codmlld05hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgZGlhbG9nSWQ7XG4gICAgICAgICQoJ2FwcC1yb290IFtkaWFsb2d0eXBlXScpXG4gICAgICAgICAgICAuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBpZiAoJChkaWFsb2cuaHRtbCgpKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBkaWFsb2cuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkaWFsb2dJZDtcbiAgICB9XG59XG5cbmNsYXNzIFBhZ2VJbmZvIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lLCBwdWJsaWMgdXJsUGFyYW1zPywgcHVibGljIHRyYW5zaXRpb24/KSB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IGlzRW1wdHkodGhpcy50cmFuc2l0aW9uKSA/IG51bGwgOiB0aGlzLnRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWwocGFnZTE6IFBhZ2VJbmZvKSB7XG4gICAgICAgIHJldHVybiBwYWdlMSAmJiBwYWdlMS5uYW1lID09PSB0aGlzLm5hbWUgJiYgaXNFcXVhbChwYWdlMS51cmxQYXJhbXMsIHRoaXMudXJsUGFyYW1zKTtcbiAgICB9XG59XG5cbmNsYXNzIEhpc3Rvcnkge1xuICAgIHByaXZhdGUgc3RhY2s6IEFycmF5PFBhZ2VJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgY3VycmVudFBhZ2U6IFBhZ2VJbmZvO1xuXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnZXNDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0xhc3RWaXNpdGVkUGFnZShwYWdlOiBQYWdlSW5mbykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMYXN0UGFnZSgpLmlzRXF1YWwocGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHB1c2gocGFnZUluZm86IFBhZ2VJbmZvKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2godGhpcy5jdXJyZW50UGFnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2VJbmZvO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3AoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLnN0YWNrLnBvcCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdFBhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aCA+IDAgPyB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsR0FBRyxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQUluRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUd4QyxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQW9CLEdBQVEsRUFBVSxNQUFjLEVBQVMsSUFBWTtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFKakUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBR2pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLFFBQVEsQ0FBQztnQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQzdCLElBQUks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QUFDO0lBOEJ4QyxDQUFDO0lBM0JVLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxJQUFJLENBQUMsUUFBa0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRU0sR0FBRztRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHAsIE5hdmlnYXRpb25PcHRpb25zLCBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnQHdtL3ZhcmlhYmxlcyc7XG5pbXBvcnQge2ZpbHRlciwgaXNFbXB0eSwgaXNFcXVhbH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IHBhcmVudFNlbGVjdG9yID0gJ2JvZHkgPmFwcC1yb290JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgaGlzdG9yeSA9IG5ldyBIaXN0b3J5KCk7XG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpc1BhZ2VBZGRlZFRvSGlzdG9yeSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHVibGljIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSB7fTtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwuc3Vic3RyKHVybC5pbmRleE9mKCc/JykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0cyA9IHMuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsUGFyYW1zW3NwbGl0c1swXV0gPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybC5zdWJzdHIoMCwgdXJsLmluZGV4T2YoJz8nKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZU5hbWVbMF0gPT09ICcvJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZU5hbWUgPSBwYWdlTmFtZS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICogQ29tbWVudGluZyB0aGlzIGNvZGUsIG9uZSBjbGllbnQgcHJvamVjdCBoYXMgSG9tZV9QYWdlIGNvbmZpZ3VyZWQgYXMgTG9naW4gUGFnZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAqIFNvIHJlZGlyZWN0aW9uIHRvIEhvbWVfUGFnZSBwb3N0IGxvZ2luIGlzIGZhaWxpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBsb2dpbiBwYWdlIGlzIGJlaW5nIGxvYWRlZCBhbmQgdXNlciBpcyBsb2dnZWQgaW4sIGNhbmNlbCB0aGF0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcnMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcExvZ2luUGFnZVBvc3RMb2dpbigkcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdXJsUGFyYW1zWyduYW1lJ107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wdXNoKG5ldyBQYWdlSW5mbyhwYWdlTmFtZSwgdXJsUGFyYW1zLCB0aGlzLnRyYW5zaXRpb24pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VUcmFuc2l0aW9uKCkge1xuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLnRyYW5zaXRpb24pIHx8IGlzRXF1YWwoJ25vbmUnLCB0aGlzLnRyYW5zaXRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBwYXJ0aWN1bGFyIHBhZ2VcbiAgICAgKiBAcGFyYW0gcGFnZU5hbWVcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucykge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSBvcHRpb25zLnRyYW5zaXRpb24gfHwgJyc7XG4gICAgICAgIC8vIHBhZ2UgaXMgYWRkZWQgdG8gc3RhY2sgb25seSB3aGVuIGN1cnJlbnRQYWdlIGlzIGF2YWlsYWJsZS5cbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yeS5nZXRDdXJyZW50UGFnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhpc3RvcnkucHVzaCggbmV3IFBhZ2VJbmZvKHBhZ2VOYW1lLCBvcHRpb25zLnVybFBhcmFtcywgdGhpcy50cmFuc2l0aW9uKSk7XG4gICAgICAvKipcbiAgICAgICAqICBCcm93c2VyQW5pbWNhdGlvbiBtb2R1bGUgaGFzIGlzc3VlIHdpdGggUm91dGVyT3V0bGV0XG4gICAgICAgICAgSW4gdGhlIHJlc3VsdCBldmVyeSByb3V0ZSBhcHBlbmRpbmcgdG8gcHJldmlvdXMgcm91dGUgaW5zdGVhZCBvZiByZXBsYWNlLlxuICAgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUgd2UgYXJlIG5hdmlnYXRpbmcgaW5zaWRlIHRoZSBuZ1pvbmVzXG4gICAgICAgKlxuICAgICAgICogICovXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLyR7cGFnZU5hbWV9YF0sIHsgcXVlcnlQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zfSk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIGxhc3QgdmlzaXRlZCBwYWdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUHJldmlvdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkuZ2V0UGFnZXNDb3VudCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLmhpc3RvcnkuZ2V0Q3VycmVudFBhZ2UoKS50cmFuc2l0aW9uO1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMudHJhbnNpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gKz0gJy1leGl0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wb3AoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSB0cnVlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRvZG9bU2h1YmhhbV0gTmVlZCB0byBoYW5kbGUgZ290b0VsZW1lbnQgaW4gb3RoZXIgcGFydGlhbHNcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gcGFydGljdWxhciB2aWV3XG4gICAgICogQHBhcmFtIHZpZXdOYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1ZpZXcodmlld05hbWU6IHN0cmluZywgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMsIHZhcmlhYmxlOiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHBhZ2VOYW1lID0gb3B0aW9ucy5wYWdlTmFtZTtcbiAgICAgICAgY29uc3QgdHJhbnNpdGlvbiA9IG9wdGlvbnMudHJhbnNpdGlvbiB8fCAnJztcbiAgICAgICAgY29uc3QgJGV2ZW50ID0gb3B0aW9ucy4kZXZlbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVBhZ2UgPSB0aGlzLmFwcC5hY3RpdmVQYWdlO1xuICAgICAgICBjb25zdCBwcmVmYWJOYW1lID0gdmFyaWFibGUgJiYgdmFyaWFibGUuX2NvbnRleHQgJiYgdmFyaWFibGUuX2NvbnRleHQucHJlZmFiTmFtZTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhcHAgaXMgUHJlZmFiXG4gICAgICAgIGlmICh0aGlzLmFwcC5pc1ByZWZhYlR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub0VsZW1lbnRWaWV3KCQocGFyZW50U2VsZWN0b3IpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIHByZXNlbnQgaW4gdGhlIHBhZ2Ugb3Igbm90LCBpZiBubyBzaG93IGFuIGVycm9yIHRvYXN0ZXJcbiAgICAgICAgICAgIC8vIGlmIHllcyBjaGVjayBpZiBpdCBpcyBpbnNpZGUgYSBwYXJ0aWFsL3ByZWZhYiBpbiB0aGUgcGFnZSBhbmQgdGhlbiBoaWdobGlnaHQgdGhlIHJlc3BlY3RpdmUgZWxlbWVudFxuICAgICAgICAgICAgLy8gZWxzZSBnb3RvIHRoZSBwYWdlIGluIHdoaWNoIHRoZSBlbGVtZW50IGV4aXN0cyBhbmQgaGlnaGxpZ2h0IHRoZSBlbGVtZW50XG4gICAgICAgICAgICBpZiAocGFnZU5hbWUgIT09IGFjdGl2ZVBhZ2UuYWN0aXZlUGFnZU5hbWUgJiYgIXByZWZhYk5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BhcnRpYWxXaXRoTmFtZUV4aXN0cyhwYWdlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJCgnW3BhcnRpYWxjb250YWluZXJdW2NvbnRlbnQ9XCInICsgcGFnZU5hbWUgKyAnXCJdJykuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRvZG9bU2h1YmhhbV06IE1ha2UgYW4gQVBJIGNhbGwgdG8gZ2V0IGFsbCBwYWdlcyBhbmQgY2hlY2sgaWYgdGhlIHBhZ2UgbmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyAgaXMgYSBwYWdlIGFuZCB0aGVuIGRvIHRoaXMgY2FsbCBlbHNlIHNob3cgYW4gZXJyb3IgYXM6XG4gICAgICAgICAgICAgICAgICAgIC8vICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9QYWdlKHBhZ2VOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TmFtZTogdmlld05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQ6ICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpYmUgdG8gYW4gZXZlbnQgbmFtZWQgcGFnZVJlYWR5IHdoaWNoIG5vdGlmaWVzIHRoaXMgc3Vic2NyaWJlclxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIGFsbCB3aWRnZXRzIGluIHBhZ2UgYXJlIGxvYWRlZCBpLmUgd2hlbiBwYWdlIGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VSZWFkeVN1YnNjcmliZXIgPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ3BhZ2VSZWFkeScsIChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKHBhcmVudFNlbGVjdG9yKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlUmVhZHlTdWJzY3JpYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJlZmFiTmFtZSAmJiB0aGlzLmlzUHJlZmFiV2l0aE5hbWVFeGlzdHMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbcHJlZmFiTmFtZT1cIicgKyBwcmVmYWJOYW1lICsgJ1wiXScpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBhZ2VOYW1lIHx8IHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJChwYXJlbnRTZWxlY3RvcikuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBuYXZpZ2F0ZXMgdGhlIHVzZXIgdG8gYSB2aWV3IGVsZW1lbnQgd2l0aCBnaXZlbiBuYW1lXG4gICAgICogaWYgdGhlIGVsZW1lbnQgbm90IGZvdW5kIGluIHRoZSBjb21waWxlZCBtYXJrdXAsIHRoZSBzYW1lIGlzIHNlYXJjaGVkIGluIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiB0aGUgcGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ29Ub0VsZW1lbnRWaWV3KHZpZXdFbGVtZW50LCB2aWV3TmFtZTogc3RyaW5nLCBwYWdlTmFtZTogc3RyaW5nLCB2YXJpYWJsZTogYW55KSB7XG4gICAgICAgIGxldCAkZWwsIHBhcmVudERpYWxvZztcbiAgICAgICAgY29uc3QgYWN0aXZlUGFnZSA9IHRoaXMuYXBwLmFjdGl2ZVBhZ2U7XG4gICAgICAgIGlmICh2aWV3RWxlbWVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcHAuaXNQcmVmYWJUeXBlICYmIHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdmlld0VsZW1lbnQgPSB0aGlzLmdldFZpZXdFbGVtZW50SW5BY3RpdmVQYWdlKHZpZXdFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGVsID0gdmlld0VsZW1lbnRbMF0ud2lkZ2V0O1xuICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3dtLWFjY29yZGlvbnBhbmUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbmNlc3RvcnModmlld0VsZW1lbnQsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgJGVsLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd20tc2VnbWVudC1jb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5uYXZpZ2F0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS1wYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIC8qIGZsaXAgdGhlIGFjdGl2ZSBmbGFnICovXG4gICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGlhbG9nID0gdGhpcy5zaG93QW5jZXN0b3JEaWFsb2codmlld05hbWUpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJZiBwYWdlIG5hbWUgaXMgZXF1YWwgdG8gYWN0aXZlIHBhZ2VOYW1lLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGVsZW1lbnQgaW4gdGhlIHBhZ2UuXG4gICAgIFRoZSBlbGVtZW50IGluIHRoZSBwYXJ0aWFsIHBhZ2UgaXMgbm90IHNlbGVjdGVkLiovXG4gICAgcHJpdmF0ZSBnZXRWaWV3RWxlbWVudEluQWN0aXZlUGFnZSgkZWwpIHtcbiAgICAgICAgbGV0IHNlbGVjdG9yO1xuICAgICAgICBpZiAoJGVsLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gZmlsdGVyKCRlbCwgKGNoaWxkU2VsZWN0b3IpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1tkYXRhLXJvbGUgPSBcInBhcnRpYWxcIl0nKSkgJiYgaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1t3bXByZWZhYmNvbnRhaW5lcl0nKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkU2VsZWN0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAkZWwgPSAkKHNlbGVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFnZWNvbnRhaW5lciBoYXMgdGhlIHBhZ2VOYW1lLlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNQYXJ0aWFsV2l0aE5hbWVFeGlzdHMobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAkKCdbcGFydGlhbGNvbnRhaW5lcl1bY29udGVudD1cIicgKyBuYW1lICsgJ1wiXScpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3MgaWYgdGhlIHBhZ2Vjb250YWluZXIgaGFzIHRoZSBwcmVmYWIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc1ByZWZhYldpdGhOYW1lRXhpc3RzKHByZWZhYk5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gJCgnW3ByZWZhYk5hbWU9XCInICsgcHJlZmFiTmFtZSArICdcIl0nKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBzaG93cyBhbGwgdGhlIHBhcmVudCBjb250YWluZXIgdmlldyBlbGVtZW50cyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3dBbmNlc3RvcnMoZWxlbWVudCwgdmFyaWFibGUpIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JTZWFyY2hRdWVyeSA9ICdbd20tbmF2aWdhYmxlLWVsZW1lbnQ9XCJ0cnVlXCJdJztcblxuICAgICAgICBlbGVtZW50XG4gICAgICAgICAgICAucGFyZW50cyhhbmNlc3RvclNlYXJjaFF1ZXJ5KVxuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRlbCA9IHBhcmVudC53aWRnZXQ7XG4gICAgICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1hY2NvcmRpb25wYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1zZWdtZW50LWNvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgJGVsLm5hdmlnYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd20tcGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgLyogZmxpcCB0aGUgYWN0aXZlIGZsYWcgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgLypcbiAgICAgKiBzZWFyY2hlcyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnQgaW5zaWRlIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiBjdXJyZW50IHBhZ2VcbiAgICAgKiBpZiBmb3VuZCwgdGhlIGRpYWxvZyBpcyBkaXNwbGF5ZWQsIHRoZSBkaWFsb2cgaWQgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaG93QW5jZXN0b3JEaWFsb2codmlld05hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgZGlhbG9nSWQ7XG4gICAgICAgICQoJ2FwcC1yb290IFtkaWFsb2d0eXBlXScpXG4gICAgICAgICAgICAuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBpZiAoJChkaWFsb2cuaHRtbCgpKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBkaWFsb2cuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkaWFsb2dJZDtcbiAgICB9XG59XG5cbmNsYXNzIFBhZ2VJbmZvIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lLCBwdWJsaWMgdXJsUGFyYW1zPywgcHVibGljIHRyYW5zaXRpb24/KSB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IGlzRW1wdHkodGhpcy50cmFuc2l0aW9uKSA/IG51bGwgOiB0aGlzLnRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWwocGFnZTE6IFBhZ2VJbmZvKSB7XG4gICAgICAgIHJldHVybiBwYWdlMSAmJiBwYWdlMS5uYW1lID09PSB0aGlzLm5hbWUgJiYgaXNFcXVhbChwYWdlMS51cmxQYXJhbXMsIHRoaXMudXJsUGFyYW1zKTtcbiAgICB9XG59XG5cbmNsYXNzIEhpc3Rvcnkge1xuICAgIHByaXZhdGUgc3RhY2s6IEFycmF5PFBhZ2VJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgY3VycmVudFBhZ2U6IFBhZ2VJbmZvO1xuXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnZXNDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0xhc3RWaXNpdGVkUGFnZShwYWdlOiBQYWdlSW5mbykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMYXN0UGFnZSgpLmlzRXF1YWwocGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHB1c2gocGFnZUluZm86IFBhZ2VJbmZvKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2godGhpcy5jdXJyZW50UGFnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2VJbmZvO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3AoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLnN0YWNrLnBvcCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdFBhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aCA+IDAgPyB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
|
|
@@ -111,7 +111,7 @@ export class PipeProvider {
|
|
|
111
111
|
return new ref(...args);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
static { this.ɵfac = function PipeProvider_Factory(
|
|
114
|
+
static { this.ɵfac = function PipeProvider_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PipeProvider)(i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i1.DomSanitizer), i0.ɵɵinject(i2.AbstractI18nService)); }; }
|
|
115
115
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PipeProvider, factory: PipeProvider.ɵfac, providedIn: 'root' }); }
|
|
116
116
|
}
|
|
117
117
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PipeProvider, [{
|
|
@@ -120,4 +120,4 @@ export class PipeProvider {
|
|
|
120
120
|
providedIn: 'root'
|
|
121
121
|
}]
|
|
122
122
|
}], () => [{ type: i0.Compiler }, { type: i0.Injector }, { type: i1.DomSanitizer }, { type: i2.AbstractI18nService }], null); })();
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9waXBlLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFrQixlQUFlLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFDSCxTQUFTLEVBQ1QsYUFBYSxFQUNiLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsY0FBYyxFQUNkLGNBQWMsRUFDZCxZQUFZLEVBQ1osY0FBYyxFQUNqQixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7O0FBS3ZELE1BQU0sT0FBTyxZQUFZO0lBZ0JyQixXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLDJCQUEyQjtZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZ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LElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUN6QyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNoQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7NkVBekhRLFlBQVk7dUVBQVosWUFBWSxXQUFaLFlBQVksbUJBRlQsTUFBTTs7aUZBRVQsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21waWxlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3Rpb25Ub2tlbiwgS2V5VmFsdWVEaWZmZXJzLCBQaXBlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQXN5bmNQaXBlLFxuICAgIFVwcGVyQ2FzZVBpcGUsXG4gICAgTG93ZXJDYXNlUGlwZSxcbiAgICBKc29uUGlwZSxcbiAgICBTbGljZVBpcGUsXG4gICAgRGVjaW1hbFBpcGUsXG4gICAgUGVyY2VudFBpcGUsXG4gICAgVGl0bGVDYXNlUGlwZSxcbiAgICBDdXJyZW5jeVBpcGUsXG4gICAgRGF0ZVBpcGUsXG4gICAgSTE4blBsdXJhbFBpcGUsXG4gICAgSTE4blNlbGVjdFBpcGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIE5nTG9jYWxpemF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gICAgU3VmZml4UGlwZSxcbiAgICBUb0RhdGVQaXBlLFxuICAgIEZpbGVJY29uQ2xhc3NQaXBlLFxuICAgIEZpbGVFeHRlbnNpb25Gcm9tTWltZVBpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBGaWxlU2l6ZVBpcGUsXG4gICAgVG9OdW1iZXJQaXBlLFxuICAgIFRvQ3VycmVuY3lQaXBlLFxuICAgIFByZWZpeFBpcGUsXG4gICAgVGltZUZyb21Ob3dQaXBlLFxuICAgIE51bWJlclRvU3RyaW5nUGlwZSxcbiAgICBTdGF0ZUNsYXNzUGlwZSxcbiAgICBTdHJpbmdUb051bWJlclBpcGUsXG4gICAgQ3VzdG9tUGlwZSxcbiAgICBUcnVzdEFzUGlwZSxcbiAgICBTYW5pdGl6ZVBpcGVcbn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sIEN1c3RvbVBpcGVNYW5hZ2VyLCBBYnN0cmFjdEkxOG5TZXJ2aWNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGlwZVByb3ZpZGVyIHtcbiAgICBfcGlwZU1ldGE7XG4gICAgX2xvY2FsZSA9IGdldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnKSB8fCAnZW4nO1xuICAgIGZvcm1hdHNCeUxvY2FsZTtcbiAgICBwcmVwYXJlUGlwZU1ldGEgPSAoXG4gICAgICAgIHJlZmVyZW5jZTogUGlwZSxcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdXJlOiBib29sZWFuLFxuICAgICAgICBkaURlcHMgPSBbXVxuICAgICkgPT4gKHtcbiAgICAgICAgdHlwZTogeyByZWZlcmVuY2UsIGRpRGVwcyB9LFxuICAgICAgICBuYW1lLFxuICAgICAgICBwdXJlXG4gICAgfSk7XG4gICAgX3BpcGVEYXRhID0gW107XG5cbiAgICBzZXRQaXBlRGF0YSgpIHtcbiAgICAgICAgdGhpcy5fcGlwZURhdGEgPSBbXG4gICAgICAgICAgICAvLyBUT0RPIHwgTkVFRCBUTyBCRSBURVNURURcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEFzeW5jUGlwZSwgJ2FzeW5jJywgZmFsc2UsIFtDaGFuZ2VEZXRlY3RvclJlZl0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU2xpY2VQaXBlLCAnc2xpY2UnLCBmYWxzZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShQZXJjZW50UGlwZSwgJ3BlcmNlbnQnLCB0cnVlLCBbdGhpcy5fbG9jYWxlXSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShJMThuUGx1cmFsUGlwZSwgJ2kxOG5QbHVyYWwnLCB0cnVlLCBbXG4gICAgICAgICAgICAgICAgTmdMb2NhbGl6YXRpb25cbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoSTE4blNlbGVjdFBpcGUsICdpMThuU2VsZWN0JywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShLZXlWYWx1ZVBpcGUsICdrZXl2YWx1ZScsIGZhbHNlLCBbXG4gICAgICAgICAgICAgICAgS2V5VmFsdWVEaWZmZXJzXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEZpbGVJY29uQ2xhc3NQaXBlLCAnZmlsZUljb25DbGFzcycsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoXG4gICAgICAgICAgICAgICAgRmlsZUV4dGVuc2lvbkZyb21NaW1lUGlwZSxcbiAgICAgICAgICAgICAgICAnZmlsZUV4dGVuc2lvbkZyb21NaW1lJyxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU3RhdGVDbGFzc1BpcGUsICdzdGF0ZUNsYXNzJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShGaWxlU2l6ZVBpcGUsICdmaWxlc2l6ZScsIHRydWUpLFxuICAgICAgICAgICAgLy8gVEVTVEVEXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShGaWx0ZXJQaXBlLCAnZmlsdGVyJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShVcHBlckNhc2VQaXBlLCAndXBwZXJjYXNlJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShMb3dlckNhc2VQaXBlLCAnbG93ZXJjYXNlJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShKc29uUGlwZSwgJ2pzb24nLCBmYWxzZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShEZWNpbWFsUGlwZSwgJ251bWJlcicsIHRydWUsIFt0aGlzLl9sb2NhbGVdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFRpdGxlQ2FzZVBpcGUsICd0aXRsZWNhc2UnLCB0cnVlKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEN1cnJlbmN5UGlwZSwgJ2N1cnJlbmN5JywgdHJ1ZSwgW3RoaXMuX2xvY2FsZV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoRGF0ZVBpcGUsICdkYXRlJywgdHJ1ZSwgW3RoaXMuX2xvY2FsZV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVG9EYXRlUGlwZSwgJ3RvRGF0ZScsIHRydWUsIFtcbiAgICAgICAgICAgICAgICBuZXcgRGF0ZVBpcGUodGhpcy5fbG9jYWxlKSwgdW5kZWZpbmVkLCB0aGlzLmluamVjdG9yLmdldChDdXN0b21QaXBlTWFuYWdlcilcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVG9OdW1iZXJQaXBlLCAndG9OdW1iZXInLCB0cnVlLCBbXG4gICAgICAgICAgICAgICAgbmV3IERlY2ltYWxQaXBlKHRoaXMuX2xvY2FsZSksXG4gICAgICAgICAgICAgICAgdGhpcy5pMThzZXJ2aWNlXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFRvQ3VycmVuY3lQaXBlLCAndG9DdXJyZW5jeScsIHRydWUsIFtcbiAgICAgICAgICAgICAgICBuZXcgRGVjaW1hbFBpcGUodGhpcy5fbG9jYWxlKSxcbiAgICAgICAgICAgICAgICB0aGlzLmkxOHNlcnZpY2VcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoUHJlZml4UGlwZSwgJ3ByZWZpeCcsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU3VmZml4UGlwZSwgJ3N1ZmZpeCcsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVGltZUZyb21Ob3dQaXBlLCAndGltZUZyb21Ob3cnLCB0cnVlKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKE51bWJlclRvU3RyaW5nUGlwZSwgJ251bWJlclRvU3RyaW5nJywgdHJ1ZSwgW1xuICAgICAgICAgICAgICAgIG5ldyBEZWNpbWFsUGlwZSh0aGlzLl9sb2NhbGUpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFN0cmluZ1RvTnVtYmVyUGlwZSwgJ3N0cmluZ1RvTnVtYmVyJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShDdXN0b21QaXBlLCAnY3VzdG9tJywgdHJ1ZSwgW3RoaXMuaW5qZWN0b3IuZ2V0KEN1c3RvbVBpcGVNYW5hZ2VyKV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVHJ1c3RBc1BpcGUsICd0cnVzdEFzJywgdHJ1ZSwgW3RoaXMuZG9tU2FuaXRpemVyXSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShTYW5pdGl6ZVBpcGUsICdzYW5pdGl6ZScsIHRydWUsIFt0aGlzLmRvbVNhbml0aXplcl0pXG4gICAgICAgIF07XG4gICAgfVxuXG5cbiAgICB1bmtub3duUGlwZShuYW1lKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBUaGUgcGlwZSAnJHtuYW1lfScgY291bGQgbm90IGJlIGZvdW5kYCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGRvbVNhbml0aXplcjpEb21TYW5pdGl6ZXIsIHByaXZhdGUgaTE4c2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSkge1xuICAgICAgICB0aGlzLl9waXBlTWV0YSA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5zZXRQaXBlRGF0YSgpO1xuICAgICAgICB0aGlzLl9waXBlRGF0YS5mb3JFYWNoKHYgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcGlwZU1ldGEuc2V0KHYubmFtZSwgdik7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1hdHNCeUxvY2FsZSA9IHRoaXMuaTE4c2VydmljZT8gdGhpcy5pMThzZXJ2aWNlLmdldHdpZGdldExvY2FsZSgpIDoge307XG4gICAgfVxuXG4gICAgbWV0YShuYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGEgPSB0aGlzLl9waXBlTWV0YS5nZXQobmFtZSk7XG4gICAgICAgIGlmICghbWV0YSkge1xuICAgICAgICAgICAgdGhpcy51bmtub3duUGlwZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWV0YTtcbiAgICB9XG5cbiAgICBnZXRQaXBlTmFtZVZzSXNQdXJlTWFwKCkge1xuICAgICAgICBjb25zdCBfbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLl9waXBlTWV0YS5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgICAgICBfbWFwLnNldChrLCB2LnB1cmUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIF9tYXA7XG4gICAgfVxuXG4gICAgcmVzb2x2ZURlcChkZXApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KGRlcC50b2tlbi5pZGVudGlmaWVyLnJlZmVyZW5jZSk7XG4gICAgfVxuXG4gICAgZ2V0SW5zdGFuY2UobmFtZSkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0eXBlOiB7IHJlZmVyZW5jZTogcmVmLCBkaURlcHM6IGRlcHMgfVxuICAgICAgICB9ID0gdGhpcy5tZXRhKG5hbWUpO1xuICAgICAgICBpZiAoIXJlZikge1xuICAgICAgICAgICAgdGhpcy51bmtub3duUGlwZShuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGVwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgcmVmKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBkZXBzKSB7XG4gICAgICAgICAgICAgICAgYXJncy5wdXNoKGRlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IHJlZiguLi5hcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9waXBlLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFrQixlQUFlLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFDSCxTQUFTLEVBQ1QsYUFBYSxFQUNiLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsY0FBYyxFQUNkLGNBQWMsRUFDZCxZQUFZLEVBQ1osY0FBYyxFQUNqQixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7O0FBS3ZELE1BQU0sT0FBTyxZQUFZO0lBZ0JyQixXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLDJCQUEyQjtZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZ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LElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUN6QyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNoQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7NkdBekhRLFlBQVk7dUVBQVosWUFBWSxXQUFaLFlBQVksbUJBRlQsTUFBTTs7aUZBRVQsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21waWxlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3Rpb25Ub2tlbiwgS2V5VmFsdWVEaWZmZXJzLCBQaXBlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQXN5bmNQaXBlLFxuICAgIFVwcGVyQ2FzZVBpcGUsXG4gICAgTG93ZXJDYXNlUGlwZSxcbiAgICBKc29uUGlwZSxcbiAgICBTbGljZVBpcGUsXG4gICAgRGVjaW1hbFBpcGUsXG4gICAgUGVyY2VudFBpcGUsXG4gICAgVGl0bGVDYXNlUGlwZSxcbiAgICBDdXJyZW5jeVBpcGUsXG4gICAgRGF0ZVBpcGUsXG4gICAgSTE4blBsdXJhbFBpcGUsXG4gICAgSTE4blNlbGVjdFBpcGUsXG4gICAgS2V5VmFsdWVQaXBlLFxuICAgIE5nTG9jYWxpemF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gICAgU3VmZml4UGlwZSxcbiAgICBUb0RhdGVQaXBlLFxuICAgIEZpbGVJY29uQ2xhc3NQaXBlLFxuICAgIEZpbGVFeHRlbnNpb25Gcm9tTWltZVBpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBGaWxlU2l6ZVBpcGUsXG4gICAgVG9OdW1iZXJQaXBlLFxuICAgIFRvQ3VycmVuY3lQaXBlLFxuICAgIFByZWZpeFBpcGUsXG4gICAgVGltZUZyb21Ob3dQaXBlLFxuICAgIE51bWJlclRvU3RyaW5nUGlwZSxcbiAgICBTdGF0ZUNsYXNzUGlwZSxcbiAgICBTdHJpbmdUb051bWJlclBpcGUsXG4gICAgQ3VzdG9tUGlwZSxcbiAgICBUcnVzdEFzUGlwZSxcbiAgICBTYW5pdGl6ZVBpcGVcbn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sIEN1c3RvbVBpcGVNYW5hZ2VyLCBBYnN0cmFjdEkxOG5TZXJ2aWNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGlwZVByb3ZpZGVyIHtcbiAgICBfcGlwZU1ldGE7XG4gICAgX2xvY2FsZSA9IGdldFNlc3Npb25TdG9yYWdlSXRlbSgnc2VsZWN0ZWRMb2NhbGUnKSB8fCAnZW4nO1xuICAgIGZvcm1hdHNCeUxvY2FsZTtcbiAgICBwcmVwYXJlUGlwZU1ldGEgPSAoXG4gICAgICAgIHJlZmVyZW5jZTogUGlwZSxcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdXJlOiBib29sZWFuLFxuICAgICAgICBkaURlcHMgPSBbXVxuICAgICkgPT4gKHtcbiAgICAgICAgdHlwZTogeyByZWZlcmVuY2UsIGRpRGVwcyB9LFxuICAgICAgICBuYW1lLFxuICAgICAgICBwdXJlXG4gICAgfSk7XG4gICAgX3BpcGVEYXRhID0gW107XG5cbiAgICBzZXRQaXBlRGF0YSgpIHtcbiAgICAgICAgdGhpcy5fcGlwZURhdGEgPSBbXG4gICAgICAgICAgICAvLyBUT0RPIHwgTkVFRCBUTyBCRSBURVNURURcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEFzeW5jUGlwZSwgJ2FzeW5jJywgZmFsc2UsIFtDaGFuZ2VEZXRlY3RvclJlZl0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU2xpY2VQaXBlLCAnc2xpY2UnLCBmYWxzZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShQZXJjZW50UGlwZSwgJ3BlcmNlbnQnLCB0cnVlLCBbdGhpcy5fbG9jYWxlXSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShJMThuUGx1cmFsUGlwZSwgJ2kxOG5QbHVyYWwnLCB0cnVlLCBbXG4gICAgICAgICAgICAgICAgTmdMb2NhbGl6YXRpb25cbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoSTE4blNlbGVjdFBpcGUsICdpMThuU2VsZWN0JywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShLZXlWYWx1ZVBpcGUsICdrZXl2YWx1ZScsIGZhbHNlLCBbXG4gICAgICAgICAgICAgICAgS2V5VmFsdWVEaWZmZXJzXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEZpbGVJY29uQ2xhc3NQaXBlLCAnZmlsZUljb25DbGFzcycsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoXG4gICAgICAgICAgICAgICAgRmlsZUV4dGVuc2lvbkZyb21NaW1lUGlwZSxcbiAgICAgICAgICAgICAgICAnZmlsZUV4dGVuc2lvbkZyb21NaW1lJyxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU3RhdGVDbGFzc1BpcGUsICdzdGF0ZUNsYXNzJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShGaWxlU2l6ZVBpcGUsICdmaWxlc2l6ZScsIHRydWUpLFxuICAgICAgICAgICAgLy8gVEVTVEVEXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShGaWx0ZXJQaXBlLCAnZmlsdGVyJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShVcHBlckNhc2VQaXBlLCAndXBwZXJjYXNlJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShMb3dlckNhc2VQaXBlLCAnbG93ZXJjYXNlJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShKc29uUGlwZSwgJ2pzb24nLCBmYWxzZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShEZWNpbWFsUGlwZSwgJ251bWJlcicsIHRydWUsIFt0aGlzLl9sb2NhbGVdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFRpdGxlQ2FzZVBpcGUsICd0aXRsZWNhc2UnLCB0cnVlKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKEN1cnJlbmN5UGlwZSwgJ2N1cnJlbmN5JywgdHJ1ZSwgW3RoaXMuX2xvY2FsZV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoRGF0ZVBpcGUsICdkYXRlJywgdHJ1ZSwgW3RoaXMuX2xvY2FsZV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVG9EYXRlUGlwZSwgJ3RvRGF0ZScsIHRydWUsIFtcbiAgICAgICAgICAgICAgICBuZXcgRGF0ZVBpcGUodGhpcy5fbG9jYWxlKSwgdW5kZWZpbmVkLCB0aGlzLmluamVjdG9yLmdldChDdXN0b21QaXBlTWFuYWdlcilcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVG9OdW1iZXJQaXBlLCAndG9OdW1iZXInLCB0cnVlLCBbXG4gICAgICAgICAgICAgICAgbmV3IERlY2ltYWxQaXBlKHRoaXMuX2xvY2FsZSksXG4gICAgICAgICAgICAgICAgdGhpcy5pMThzZXJ2aWNlXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFRvQ3VycmVuY3lQaXBlLCAndG9DdXJyZW5jeScsIHRydWUsIFtcbiAgICAgICAgICAgICAgICBuZXcgRGVjaW1hbFBpcGUodGhpcy5fbG9jYWxlKSxcbiAgICAgICAgICAgICAgICB0aGlzLmkxOHNlcnZpY2VcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoUHJlZml4UGlwZSwgJ3ByZWZpeCcsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoU3VmZml4UGlwZSwgJ3N1ZmZpeCcsIHRydWUpLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVGltZUZyb21Ob3dQaXBlLCAndGltZUZyb21Ob3cnLCB0cnVlKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKE51bWJlclRvU3RyaW5nUGlwZSwgJ251bWJlclRvU3RyaW5nJywgdHJ1ZSwgW1xuICAgICAgICAgICAgICAgIG5ldyBEZWNpbWFsUGlwZSh0aGlzLl9sb2NhbGUpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVBpcGVNZXRhKFN0cmluZ1RvTnVtYmVyUGlwZSwgJ3N0cmluZ1RvTnVtYmVyJywgdHJ1ZSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShDdXN0b21QaXBlLCAnY3VzdG9tJywgdHJ1ZSwgW3RoaXMuaW5qZWN0b3IuZ2V0KEN1c3RvbVBpcGVNYW5hZ2VyKV0pLFxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUGlwZU1ldGEoVHJ1c3RBc1BpcGUsICd0cnVzdEFzJywgdHJ1ZSwgW3RoaXMuZG9tU2FuaXRpemVyXSksXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVQaXBlTWV0YShTYW5pdGl6ZVBpcGUsICdzYW5pdGl6ZScsIHRydWUsIFt0aGlzLmRvbVNhbml0aXplcl0pXG4gICAgICAgIF07XG4gICAgfVxuXG5cbiAgICB1bmtub3duUGlwZShuYW1lKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBUaGUgcGlwZSAnJHtuYW1lfScgY291bGQgbm90IGJlIGZvdW5kYCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGRvbVNhbml0aXplcjpEb21TYW5pdGl6ZXIsIHByaXZhdGUgaTE4c2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSkge1xuICAgICAgICB0aGlzLl9waXBlTWV0YSA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5zZXRQaXBlRGF0YSgpO1xuICAgICAgICB0aGlzLl9waXBlRGF0YS5mb3JFYWNoKHYgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcGlwZU1ldGEuc2V0KHYubmFtZSwgdik7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1hdHNCeUxvY2FsZSA9IHRoaXMuaTE4c2VydmljZT8gdGhpcy5pMThzZXJ2aWNlLmdldHdpZGdldExvY2FsZSgpIDoge307XG4gICAgfVxuXG4gICAgbWV0YShuYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGEgPSB0aGlzLl9waXBlTWV0YS5nZXQobmFtZSk7XG4gICAgICAgIGlmICghbWV0YSkge1xuICAgICAgICAgICAgdGhpcy51bmtub3duUGlwZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWV0YTtcbiAgICB9XG5cbiAgICBnZXRQaXBlTmFtZVZzSXNQdXJlTWFwKCkge1xuICAgICAgICBjb25zdCBfbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLl9waXBlTWV0YS5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgICAgICBfbWFwLnNldChrLCB2LnB1cmUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIF9tYXA7XG4gICAgfVxuXG4gICAgcmVzb2x2ZURlcChkZXApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KGRlcC50b2tlbi5pZGVudGlmaWVyLnJlZmVyZW5jZSk7XG4gICAgfVxuXG4gICAgZ2V0SW5zdGFuY2UobmFtZSkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0eXBlOiB7IHJlZmVyZW5jZTogcmVmLCBkaURlcHM6IGRlcHMgfVxuICAgICAgICB9ID0gdGhpcy5tZXRhKG5hbWUpO1xuICAgICAgICBpZiAoIXJlZikge1xuICAgICAgICAgICAgdGhpcy51bmtub3duUGlwZShuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGVwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgcmVmKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBkZXBzKSB7XG4gICAgICAgICAgICAgICAgYXJncy5wdXNoKGRlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IHJlZiguLi5hcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -21,11 +21,11 @@ export class PipeService {
|
|
|
21
21
|
throw Error(`The pipe '${name}' could not be found`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = function PipeService_Factory(
|
|
24
|
+
static { this.ɵfac = function PipeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PipeService)(i0.ɵɵinject(i1.PipeProvider), i0.ɵɵinject(i2.App)); }; }
|
|
25
25
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PipeService, factory: PipeService.ɵfac, providedIn: 'root' }); }
|
|
26
26
|
}
|
|
27
27
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PipeService, [{
|
|
28
28
|
type: Injectable,
|
|
29
29
|
args: [{ providedIn: 'root' }]
|
|
30
30
|
}], () => [{ type: i1.PipeProvider }, { type: i2.App }], null); })();
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9waXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUcvQixNQUFNLE9BQU8sV0FBVztJQUNwQixZQUFvQixZQUEwQixFQUMxQixJQUFTO1FBRFQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBSztRQU1yQixtQkFBYyxHQUFHLENBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFMN0ksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFJTSxPQUFPLENBQUMsSUFBWTtRQUN2QixJQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sS0FBSyxDQUFDLGFBQWEsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDOzRHQWhCUSxXQUFXO3VFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQURFLE1BQU07O2lGQUNuQixXQUFXO2NBRHZCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBpcGVQcm92aWRlciB9IGZyb20gXCIuL3BpcGUtcHJvdmlkZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcIkB3bS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGlwZVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGlwZVByb3ZpZGVyOiBQaXBlUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSAkYXBwOiBBcHApIHtcbiAgICAgICAgaWYodGhpcy4kYXBwLmlzQXBwbGljYXRpb25UeXBlKSB7XG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRlZFBpcGVzLnB1c2goJ2N1c3RvbScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdXBwb3J0ZWRQaXBlcyA9IFsgXCJ0b0RhdGVcIiwgXCJ0b0N1cnJlbmN5XCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwibnVtYmVyVG9TdHJpbmdcIiwgXCJzdHJpbmdUb051bWJlclwiLCBcInRpbWVGcm9tTm93XCIsIFwidHJ1c3RBc1wiLCBcInNhbml0aXplXCJdO1xuXG4gICAgcHVibGljIGdldFBpcGUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmKHRoaXMuc3VwcG9ydGVkUGlwZXMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBpcGVQcm92aWRlci5nZXRJbnN0YW5jZShuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBUaGUgcGlwZSAnJHtuYW1lfScgY291bGQgbm90IGJlIGZvdW5kYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -86,10 +86,10 @@ export class PrefabManagerService {
|
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = function PrefabManagerService_Factory(
|
|
89
|
+
static { this.ɵfac = function PrefabManagerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrefabManagerService)(i0.ɵɵinject(i1.MetadataService), i0.ɵɵinject(i2.PrefabConfigProvider)); }; }
|
|
90
90
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrefabManagerService, factory: PrefabManagerService.ɵfac }); }
|
|
91
91
|
}
|
|
92
92
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrefabManagerService, [{
|
|
93
93
|
type: Injectable
|
|
94
94
|
}], () => [{ type: i1.MetadataService }, { type: i2.PrefabConfigProvider }], null); })();
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmFiLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvc2VydmljZXMvcHJlZmFiLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0FBQ25ELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7QUFFMUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzVELElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQztJQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUN6RCxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFHRixNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ks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ci9jb3JlJztcblxuaW1wb3J0IHsgbG9hZFNjcmlwdHMsIGxvYWRTdHlsZVNoZWV0cywgc3RyaW5nU3RhcnRzV2l0aCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuXG5pbXBvcnQgeyBQcmVmYWJDb25maWdQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcbmltcG9ydCB7IGdldFByZWZhYkJhc2VVcmwsIGlzUHJlZmFiSW5QcmV2aWV3IH0gZnJvbSAnLi4vdXRpbC91dGlscyc7XG5pbXBvcnQge2VuZHNXaXRofSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0IHByZWZhYnNXaXRoRXJyb3IgPSBuZXcgU2V0PHN0cmluZz4oKTtcbmNvbnN0IGluUHJvZ3Jlc3MgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuY29uc3QgcmVzb2x2ZWRQcmVmYWJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbmNvbnN0IGdldFByZWZhYlJlc291cmNlVXJsID0gKHJlc291cmNlUGF0aCwgcmVzb3VyY2VCYXNlUGF0aCkgPT4ge1xuICAgIGxldCBfdXJsID0gcmVzb3VyY2VQYXRoO1xuICAgIGlmICghc3RyaW5nU3RhcnRzV2l0aChyZXNvdXJjZVBhdGgsICdodHRwOi8vfGh0dHBzOi8vfC8vJykpIHtcbiAgICAgICAgX3VybCA9IChyZXNvdXJjZUJhc2VQYXRoICsgX3VybCkucmVwbGFjZSgnLy8nLCAnLycpO1xuICAgIH1cbiAgICByZXR1cm4gX3VybDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVmYWJNYW5hZ2VyU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSAkbWV0YWRhdGE6IE1ldGFkYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwcmVmYWJDb25maWdQcm92aWRlcjogUHJlZmFiQ29uZmlnUHJvdmlkZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKHByZWZhYk5hbWUpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmYWJDb25maWdQcm92aWRlci5nZXRDb25maWcocHJlZmFiTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvYWRTZXJ2aWNlRGVmcyhwcmVmYWJOYW1lKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGlzUHJlZmFiSW5QcmV2aWV3KHByZWZhYk5hbWUpID8gUHJvbWlzZS5yZXNvbHZlKCkgOiB0aGlzLiRtZXRhZGF0YS5sb2FkKHByZWZhYk5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkU3R5bGVzKHByZWZhYk5hbWUsIHtyZXNvdXJjZXM6IHtzdHlsZXN9fSA9IHtyZXNvdXJjZXM6IHtzdHlsZXM6IFtdfX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IGdldFByZWZhYkJhc2VVcmwocHJlZmFiTmFtZSk7XG4gICAgICAgIGNvbnN0IF9zdHlsZXMgPSBzdHlsZXMubWFwKHVybCA9PiB7XG4gICAgICAgICAgICBpZiAoIWVuZHNXaXRoKHVybCwgJy9wYWdlcy9NYWluL01haW4uY3NzJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJlZmFiUmVzb3VyY2VVcmwodXJsLCBiYXNlVXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0pLmZpbHRlcih1cmwgPT4gISF1cmwpO1xuXG4gICAgICAgIGxvYWRTdHlsZVNoZWV0cyhfc3R5bGVzKTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyBbVmluYXldIC0gaW1wbGVtZW50IG9uUHJlZmFiUmVzb3VyY2VMb2FkXG4gICAgcHJvdGVjdGVkIGxvYWRTY3JpcHRzKHByZWZhYk5hbWUsIHtyZXNvdXJjZXM6IHtzY3JpcHRzfX0gPSB7cmVzb3VyY2VzOiB7c2NyaXB0czogW119fSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSBnZXRQcmVmYWJCYXNlVXJsKHByZWZhYk5hbWUpO1xuICAgICAgICBzY3JpcHRzID0gc2NyaXB0cy5maWx0ZXIoc2NyaXB0ID0+ICFzY3JpcHQuc3RhcnRzV2l0aCgnbnBtOi8vJykpO1xuICAgICAgICBjb25zdCBfc2NyaXB0cyA9IHNjcmlwdHMubWFwKHVybCA9PiBnZXRQcmVmYWJSZXNvdXJjZVVybCh1cmwsIGJhc2VVcmwpKTtcblxuICAgICAgICByZXR1cm4gbG9hZFNjcmlwdHMoX3NjcmlwdHMsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5Qcm9ncmVzcyhwcmVmYWJOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IF9yZXM7XG4gICAgICAgIGxldCBfcmVqO1xuICAgICAgICBjb25zdCBfcHJvbWlzZTogYW55ID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICAgICAgICBfcmVzID0gcmVzO1xuICAgICAgICAgICAgX3JlaiA9IHJlajtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3Byb21pc2UucmVzb2x2ZSA9IF9yZXM7XG4gICAgICAgIF9wcm9taXNlLnJlamVjdCA9IF9yZWo7XG5cbiAgICAgICAgaW5Qcm9ncmVzcy5zZXQocHJlZmFiTmFtZSwgX3Byb21pc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUluUHJvZ3Jlc3MocHJlZmFiTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpblByb2dyZXNzLmdldChwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgKGluUHJvZ3Jlc3MuZ2V0KHByZWZhYk5hbWUpIGFzIGFueSkucmVzb2x2ZSgpO1xuICAgICAgICAgICAgaW5Qcm9ncmVzcy5kZWxldGUocHJlZmFiTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZERlcGVuZGVuY2llcyhwcmVmYWJOYW1lKTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICAgICAgaWYgKHJlc29sdmVkUHJlZmFicy5oYXMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVmYWJzV2l0aEVycm9yLmhhcyhwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpblByb2dyZXNzLmdldChwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIGluUHJvZ3Jlc3MuZ2V0KHByZWZhYk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRJblByb2dyZXNzKHByZWZhYk5hbWUpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZyhwcmVmYWJOYW1lKVxuICAgICAgICAgICAgLnRoZW4oY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTdHlsZXMocHJlZmFiTmFtZSwgY29uZmlnKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0cyhwcmVmYWJOYW1lLCBjb25maWcpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTZXJ2aWNlRGVmcyhwcmVmYWJOYW1lKVxuICAgICAgICAgICAgICAgIF0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVJblByb2dyZXNzKHByZWZhYk5hbWUpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlZFByZWZhYnMuYWRkKHByZWZhYk5hbWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|