@elderbyte/ngx-starter 18.11.0 → 18.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +38 -33
- package/esm2022/lib/common/arrays.mjs +1 -1
- package/esm2022/lib/common/async/public_api.mjs +1 -1
- package/esm2022/lib/common/async/refreshing-entity.mjs +5 -3
- package/esm2022/lib/common/csv/csv-serializer.mjs +5 -5
- package/esm2022/lib/common/csv/csv-spec.mjs +2 -2
- package/esm2022/lib/common/csv/public_api.mjs +1 -1
- package/esm2022/lib/common/data/continuable-listing.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +5 -4
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +7 -5
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +19 -12
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +5 -7
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +5 -7
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +2 -2
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +17 -7
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +2 -2
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +5 -4
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +25 -8
- package/esm2022/lib/common/data/data-context/data-context-status.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context.mjs +5 -5
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +2 -2
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +14 -8
- package/esm2022/lib/common/data/data-context/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +9 -5
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +20 -10
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +14 -15
- package/esm2022/lib/common/data/datasource/data-source.mjs +4 -4
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +2 -2
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +2 -2
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +9 -11
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +4 -2
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +58 -0
- package/esm2022/lib/common/data/datasource/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/rest/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +44 -39
- package/esm2022/lib/common/data/entity-set-patch.mjs +6 -9
- package/esm2022/lib/common/data/field-comparator.mjs +2 -2
- package/esm2022/lib/common/data/filters/filter-commons.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter-context.mjs +9 -9
- package/esm2022/lib/common/data/filters/filter-value.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter.mjs +2 -2
- package/esm2022/lib/common/data/http-params-builder.mjs +5 -7
- package/esm2022/lib/common/data/page.mjs +1 -1
- package/esm2022/lib/common/data/public_api.mjs +1 -1
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +7 -10
- package/esm2022/lib/common/data/sort-context.mjs +4 -6
- package/esm2022/lib/common/data/sort.mjs +1 -1
- package/esm2022/lib/common/data/token-chunk-request.mjs +1 -1
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +9 -9
- package/esm2022/lib/common/enums/public_api.mjs +1 -1
- package/esm2022/lib/common/errors/exception-detail.mjs +1 -1
- package/esm2022/lib/common/errors/public_api.mjs +1 -1
- package/esm2022/lib/common/errors/standard-error-detail.mjs +1 -1
- package/esm2022/lib/common/format/bytes-format.mjs +2 -9
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
- package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
- package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +6 -4
- package/esm2022/lib/common/format/public_api.mjs +1 -1
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +7 -7
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +7 -7
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +1 -1
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +5 -5
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +7 -7
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +7 -7
- package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +2 -2
- package/esm2022/lib/common/forms/public_api.mjs +1 -1
- package/esm2022/lib/common/forms/template-composite-control.mjs +17 -13
- package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
- package/esm2022/lib/common/forms/view-providers.mjs +1 -1
- package/esm2022/lib/common/http/http-client-builder.service.mjs +2 -2
- package/esm2022/lib/common/http/http-client-pristine.mjs +2 -2
- package/esm2022/lib/common/http/public_api.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +2 -2
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +6 -5
- package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer.mjs +1 -1
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +9 -9
- package/esm2022/lib/common/http/transfer/public_api.mjs +1 -1
- package/esm2022/lib/common/http/upload/file-upload-client.mjs +2 -2
- package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/impl/translated.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/language-tag.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/locale.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +4 -4
- package/esm2022/lib/common/i18n/entity/localized.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/public_api.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +4 -4
- package/esm2022/lib/common/i18n/entity/translated.mjs +1 -1
- package/esm2022/lib/common/i18n/public_api.mjs +1 -1
- package/esm2022/lib/common/json-map.mjs +3 -4
- package/esm2022/lib/common/objects.mjs +1 -1
- package/esm2022/lib/common/public_api.mjs +1 -1
- package/esm2022/lib/common/reactive-map.mjs +5 -5
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +2 -2
- package/esm2022/lib/common/rxjs/public_api.mjs +1 -1
- package/esm2022/lib/common/selection/public_api.mjs +1 -1
- package/esm2022/lib/common/selection/selection-model.mjs +8 -8
- package/esm2022/lib/common/sets.mjs +3 -2
- package/esm2022/lib/common/suggestion-provider.mjs +1 -1
- package/esm2022/lib/common/templates/template-slot-manager.mjs +2 -2
- package/esm2022/lib/common/theme-sizes.mjs +1 -1
- package/esm2022/lib/common/time/date-util.mjs +8 -10
- package/esm2022/lib/common/time/interval-coerce.mjs +3 -3
- package/esm2022/lib/common/time/interval.mjs +19 -16
- package/esm2022/lib/common/time/period-duration.mjs +1 -1
- package/esm2022/lib/common/time/public_api.mjs +1 -1
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +1 -1
- package/esm2022/lib/common/time/temporal-util.mjs +7 -1
- package/esm2022/lib/common/time/time-util.mjs +3 -6
- package/esm2022/lib/common/url/elder-router.service.mjs +2 -2
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -6
- package/esm2022/lib/common/url/public_api.mjs +1 -1
- package/esm2022/lib/common/url/url-query-params.mjs +2 -2
- package/esm2022/lib/common/utils/batcher.mjs +2 -2
- package/esm2022/lib/common/utils/collection-util.mjs +7 -5
- package/esm2022/lib/common/utils/filter-util.mjs +10 -8
- package/esm2022/lib/common/utils/focus-util.mjs +1 -1
- package/esm2022/lib/common/utils/input-utils.mjs +1 -1
- package/esm2022/lib/common/utils/next-number-util.mjs +4 -3
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +2 -2
- package/esm2022/lib/common/utils/parse-util.mjs +1 -1
- package/esm2022/lib/common/utils/property-path-util.mjs +2 -2
- package/esm2022/lib/common/utils/public_api.mjs +1 -1
- package/esm2022/lib/common/utils/query-list-binding.mjs +5 -4
- package/esm2022/lib/common/utils/sort-util.mjs +2 -2
- package/esm2022/lib/common/utils/url-builder.mjs +1 -1
- package/esm2022/lib/common/utils/uuid-util.mjs +3 -4
- package/esm2022/lib/common/utils/value-wrapper.mjs +1 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -5
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -15
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +16 -6
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -6
- package/esm2022/lib/components/auditing/i-audited-entity.mjs +1 -1
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +18 -12
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +7 -7
- package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -5
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -20
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +2 -2
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +7 -7
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +24 -12
- package/esm2022/lib/components/card-organizer/card-stack.mjs +3 -3
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +18 -7
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +9 -9
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +16 -10
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
- package/esm2022/lib/components/chips/elder-chips.module.mjs +3 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +9 -8
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +10 -12
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
- package/esm2022/lib/components/connectivity/public_api.mjs +1 -1
- package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -10
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/containers/public_api.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +6 -6
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +2 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +2 -2
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +12 -12
- package/esm2022/lib/components/csv/elder-csv.module.mjs +6 -19
- package/esm2022/lib/components/currency/elder-currency.module.mjs +6 -18
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +2 -2
- package/esm2022/lib/components/currency/model/currency-code.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency-unit.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency.mjs +1 -1
- package/esm2022/lib/components/currency/public_api.mjs +1 -1
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +28 -16
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +12 -10
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +23 -12
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +13 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +11 -3
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +4 -2
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -5
- package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view.mjs +1 -1
- package/esm2022/lib/components/data-view/base/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +2 -2
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +5 -7
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +4 -5
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +6 -6
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +38 -20
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +5 -13
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +16 -6
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +6 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -5
- package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +1 -1
- package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +1 -1
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +46 -26
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +30 -21
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +15 -9
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +5 -7
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +8 -6
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +2 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +19 -25
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +5 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
- package/esm2022/lib/components/data-view/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -5
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +41 -16
- package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +6 -6
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +23 -15
- package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -5
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +8 -7
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +54 -38
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +6 -11
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -8
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +8 -6
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +57 -25
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +7 -7
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +15 -11
- package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +4 -4
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +11 -9
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +7 -5
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +13 -3
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +34 -13
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +19 -22
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +17 -5
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +5 -5
- package/esm2022/lib/components/errors/elder-error.module.mjs +4 -6
- package/esm2022/lib/components/errors/error-util.mjs +4 -4
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +17 -6
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +15 -8
- package/esm2022/lib/components/files/blob-url.mjs +1 -1
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +16 -11
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +7 -7
- package/esm2022/lib/components/files/elder-file-select-input.mjs +3 -3
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +14 -16
- package/esm2022/lib/components/files/elder-file.module.mjs +16 -10
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +5 -6
- package/esm2022/lib/components/files/file-system-api.mjs +2 -2
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +16 -3
- package/esm2022/lib/components/files/listing/file-entry.mjs +3 -3
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +5 -5
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +3 -3
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +10 -11
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +2 -2
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +5 -3
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -6
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +6 -6
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +13 -10
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +5 -3
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +2 -2
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +2 -2
- package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -6
- package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -9
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -9
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +12 -11
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
- package/esm2022/lib/components/forms/public_api.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +7 -3
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +2 -2
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +2 -2
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +14 -8
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +15 -12
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +30 -25
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -19
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +24 -13
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +2 -4
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +1 -1
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +27 -8
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +19 -10
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +24 -6
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +8 -6
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +6 -6
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -10
- package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +1 -1
- package/esm2022/lib/components/graph/public_api.mjs +1 -1
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
- package/esm2022/lib/components/headers/elder-header.module.mjs +12 -14
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -9
- package/esm2022/lib/components/http-support/public_api.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +31 -20
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +14 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +42 -19
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +2 -2
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -5
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +2 -2
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +6 -6
- package/esm2022/lib/components/i18n/language/elder-language-config.mjs +1 -1
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +8 -7
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +11 -10
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +17 -5
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
- package/esm2022/lib/components/i18n/public_api.mjs +1 -1
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +13 -13
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +13 -11
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +2 -3
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +12 -4
- package/esm2022/lib/components/iframes/iframe-messages.mjs +1 -1
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +11 -9
- package/esm2022/lib/components/iframes/iframe.service.mjs +7 -5
- package/esm2022/lib/components/iframes/typed-event-message.mjs +1 -1
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +10 -6
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +12 -7
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -10
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +26 -17
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +11 -7
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +8 -6
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +9 -6
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
- package/esm2022/lib/components/input/public_api.mjs +1 -1
- package/esm2022/lib/components/labels/elder-labels.module.mjs +26 -8
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +28 -11
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +22 -21
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
- package/esm2022/lib/components/measures/elder-measures.module.mjs +7 -19
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +2 -2
- package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -6
- package/esm2022/lib/components/measures/model/dimensions.mjs +1 -1
- package/esm2022/lib/components/measures/model/quantity.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit-dimension.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit.mjs +1 -1
- package/esm2022/lib/components/measures/public_api.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +13 -3
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +18 -16
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -8
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -8
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +15 -10
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +26 -6
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -8
- package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +26 -20
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +15 -21
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +20 -7
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
- package/esm2022/lib/components/navigation/public_api.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +2 -2
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +26 -20
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +2 -2
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +12 -7
- package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -5
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +5 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +1 -1
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +23 -14
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -10
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -12
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +6 -6
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +3 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -8
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -7
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-panel.module.mjs +10 -7
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +2 -2
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +6 -6
- package/esm2022/lib/components/public_api.mjs +1 -1
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +2 -2
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -8
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +1 -1
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +7 -9
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +7 -4
- package/esm2022/lib/components/select/elder-select-base.mjs +12 -13
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +10 -5
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +2 -2
- package/esm2022/lib/components/select/elder-select.module.mjs +65 -29
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +9 -9
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +19 -15
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +6 -8
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +7 -11
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +2 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +29 -27
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +12 -10
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +40 -29
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +41 -21
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +2 -2
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +7 -8
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +8 -10
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +7 -5
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +13 -13
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +15 -5
- package/esm2022/lib/components/select/public_api.mjs +1 -1
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +5 -3
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +39 -29
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +1 -1
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +11 -12
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +3 -5
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +8 -4
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +6 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +7 -7
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +2 -2
- package/esm2022/lib/components/shell/elder-shell.module.mjs +10 -7
- package/esm2022/lib/components/shell/elder-shell.service.mjs +6 -9
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +34 -14
- package/esm2022/lib/components/shell/shell-content-slot.mjs +1 -1
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +5 -5
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +2 -2
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +12 -12
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -14
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +5 -6
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +6 -7
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +5 -3
- package/esm2022/lib/components/theme/elder-theme.module.mjs +9 -15
- package/esm2022/lib/components/theme/elder-theme.service.mjs +7 -9
- package/esm2022/lib/components/theme/known-elder-themes.mjs +1 -1
- package/esm2022/lib/components/theme/public_api.mjs +1 -1
- package/esm2022/lib/components/theme/theme-spec.mjs +3 -7
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +2 -2
- package/esm2022/lib/components/time/duration/duration-bucket.mjs +3 -2
- package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -12
- package/esm2022/lib/components/time/duration/iso-duration-str.mjs +1 -1
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +13 -7
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -13
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +27 -27
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +1 -1
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +15 -18
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +8 -11
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +16 -11
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +22 -13
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +7 -13
- package/esm2022/lib/components/time/elder-time.module.mjs +29 -21
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -12
- package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
- package/esm2022/lib/components/time/period/period-format.mjs +1 -1
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +2 -2
- package/esm2022/lib/components/time/public_api.mjs +1 -1
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +18 -4
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +9 -10
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +21 -14
- package/esm2022/lib/components/toasts/toast-type.mjs +1 -1
- package/esm2022/lib/components/toasts/toast.mjs +1 -1
- package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +1 -1
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +3 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +16 -5
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -10
- package/esm2022/lib/features/event-source/fetch/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +14 -14
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +2 -2
- package/esm2022/lib/features/event-source/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +2 -2
- package/esm2022/lib/features/event-source/standard/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +8 -7
- package/esm2022/lib/features/kafent/access-token-provider.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-config.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +16 -8
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent.module.mjs +10 -13
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +12 -9
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +2 -3
- package/esm2022/lib/features/public_api.mjs +1 -1
- package/esm2022/lib/pipes/bytes.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-pipes.module.mjs +52 -8
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-round.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +2 -2
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -5
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +2 -2
- package/esm2022/lib/pipes/public_api.mjs +1 -1
- package/esm2022/lib/pipes/time-ago.pipe.mjs +12 -7
- package/esm2022/lib/pipes/time-duration.pipe.mjs +6 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -3
- package/esm2022/public_api.mjs +1 -1
- package/fesm2022/elderbyte-ngx-starter.mjs +3054 -2329
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/arrays.d.ts +1 -1
- package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
- package/lib/common/data/data-context/data-context-base.d.ts +1 -1
- package/lib/common/data/data-context/data-context-builder.d.ts +2 -2
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
- package/lib/common/data/data-context/data-context-continuable-paged.d.ts +1 -1
- package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
- package/lib/common/data/data-context/data-context-simple.d.ts +1 -1
- package/lib/common/data/data-context/data-context-source-event-binding.d.ts +2 -5
- package/lib/common/data/datasource/data-source-change-event.d.ts +14 -5
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -3
- package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
- package/lib/common/data/datasource/patch/deep-partial-patcher.d.ts +28 -0
- package/lib/common/json-map.d.ts +1 -1
- package/lib/common/selection/selection-model.d.ts +2 -2
- package/lib/common/time/interval.d.ts +4 -4
- package/lib/common/time/temporal-util.d.ts +2 -0
- package/lib/common/utils/collection-util.d.ts +1 -1
- package/lib/components/card-organizer/card-organizer-data.d.ts +3 -3
- package/lib/components/card-organizer/card-stack.d.ts +2 -2
- package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +1 -1
- package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -1
- package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +2 -2
- package/lib/components/data-view/grid/elder-grid.module.d.ts +1 -1
- package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
- package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +1 -1
- package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +3 -3
- package/lib/components/select/elder-select.module.d.ts +1 -1
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -4
- package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +2 -2
- package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +2 -1
- package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +4 -2
- package/package.json +1 -1
- package/src/assets/i18n/de.json +0 -1
- package/src/assets/i18n/en.json +0 -1
- package/src/lib/components/access-denied/elder-access-denied.component.scss +1 -5
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +0 -1
- package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -7
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.scss +0 -1
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -14
- package/src/lib/components/cards/elder-card/elder-card.component.scss +3 -9
- package/src/lib/components/chips/_elder-chip-theme.scss +5 -9
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +4 -5
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.scss +1 -1
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +21 -13
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.scss +2 -3
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -4
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +0 -4
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -4
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +2 -7
- package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +0 -2
- package/src/lib/components/global-search/elder-global-search.component.scss +1 -2
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +0 -1
- package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -1
- package/src/lib/components/labels/labels-input/labels-input.component.scss +0 -2
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +4 -8
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +6 -6
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +0 -1
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.scss +1 -2
- package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +0 -3
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +0 -1
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +0 -2
- package/src/lib/components/panels/flat/elder-panel.component.scss +1 -2
- package/src/lib/components/select/_elder-select-base.scss +0 -1
- package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +7 -7
- package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +3 -4
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +7 -7
- package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -1
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -3
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -2
- package/src/lib/components/shell/shell/elder-shell.component.scss +0 -1
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.scss +1 -2
- package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.scss +0 -4
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.scss +1 -3
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.scss +0 -1
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.scss +2 -5
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.scss +0 -4
- package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +0 -1
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.scss +0 -5
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.scss +0 -1
- package/theming/_elder-common.scss +10 -11
- package/theming/_elder-defaults.scss +2 -4
- package/theming/_elder-flex-layout.scss +7 -8
- package/theming/_elder-mdc-support.scss +22 -19
- package/theming/_elder-palettes.scss +28 -25
- package/theming/_elder-scrollbar-theme.scss +0 -2
- package/theming/_elder-style-fixes.scss +10 -7
- package/theming/_elder-theme.scss +6 -1
- package/theming/_elder-toast-theme.scss +0 -2
- package/theming/_mat-icon-button-size.scss +3 -2
- package/theming/_mixins.scss +11 -9
|
@@ -34,7 +34,9 @@ export class ElderSearchContextDirective {
|
|
|
34
34
|
this._filterContext$ = new BehaviorSubject(null);
|
|
35
35
|
this._searchContext$ = new BehaviorSubject(SearchContext.standalone());
|
|
36
36
|
this._searchContextId$ = new BehaviorSubject(null);
|
|
37
|
-
this._searchContextId
|
|
37
|
+
this._searchContextId$
|
|
38
|
+
.pipe(takeUntilDestroyed(this.destroyRef), filter((contextId) => !!contextId), map((contextId) => searchContextService.context(contextId)))
|
|
39
|
+
.subscribe((ctx) => this._searchContext$.next(ctx));
|
|
38
40
|
}
|
|
39
41
|
/***************************************************************************
|
|
40
42
|
* *
|
|
@@ -117,9 +119,7 @@ export class ElderSearchContextDirective {
|
|
|
117
119
|
* Returns the current user touched attributes. (ignoring fallbacks)
|
|
118
120
|
*/
|
|
119
121
|
get touchedSearchInputs$() {
|
|
120
|
-
return this.states$.pipe(map(states => states
|
|
121
|
-
.filter(s => !s.pristine)
|
|
122
|
-
.filter(s => !s.hasFallbackValue)));
|
|
122
|
+
return this.states$.pipe(map((states) => states.filter((s) => !s.pristine).filter((s) => !s.hasFallbackValue)));
|
|
123
123
|
}
|
|
124
124
|
/***************************************************************************
|
|
125
125
|
* *
|
|
@@ -134,15 +134,12 @@ export class ElderSearchContextDirective {
|
|
|
134
134
|
searchInput.applyFilters(this.initialFilters);
|
|
135
135
|
}
|
|
136
136
|
this.log.debug('Registering search input [' + searchInput.queryKey + '].');
|
|
137
|
-
this._searchInputs$.next([
|
|
138
|
-
...this.searchInputs(),
|
|
139
|
-
searchInput
|
|
140
|
-
]);
|
|
137
|
+
this._searchInputs$.next([...this.searchInputs(), searchInput]);
|
|
141
138
|
}
|
|
142
139
|
reset() {
|
|
143
140
|
this.attributesSnapshot
|
|
144
|
-
.filter(attr => !attr.readonly)
|
|
145
|
-
.forEach(a => {
|
|
141
|
+
.filter((attr) => !attr.readonly)
|
|
142
|
+
.forEach((a) => {
|
|
146
143
|
a.reset();
|
|
147
144
|
});
|
|
148
145
|
}
|
|
@@ -165,16 +162,20 @@ export class ElderSearchContextDirective {
|
|
|
165
162
|
}
|
|
166
163
|
}
|
|
167
164
|
applyAsDefaultsUntilUserAction(searchContext, dcFilters) {
|
|
168
|
-
dcFilters.filters
|
|
165
|
+
dcFilters.filters
|
|
166
|
+
.pipe(takeUntilDestroyed(this.destroyRef), map((filters) => searchContext.updateUserFiltersSave(filters))
|
|
169
167
|
// takeWhile(acceptDefaultFilters => acceptDefaultFilters)
|
|
170
|
-
)
|
|
168
|
+
)
|
|
169
|
+
.subscribe();
|
|
171
170
|
}
|
|
172
171
|
syncSearchInputsToSearchContext() {
|
|
173
|
-
this._searchInputs
|
|
172
|
+
this._searchInputs$
|
|
173
|
+
.pipe(takeUntilDestroyed(this.destroyRef), switchMap((inputs) => combineLatest(inputs.map((i) => i.state$))), debounceTime(5))
|
|
174
|
+
.subscribe((states) => {
|
|
174
175
|
/// this.log.error('SearchInputStates Changed: ', states);
|
|
175
176
|
this._searchStates$.next(states);
|
|
176
177
|
});
|
|
177
|
-
const inputFilters$ = this._searchStates$.pipe(map(states => this.convertToFilters(states)), filter(filters => filters.length > 0));
|
|
178
|
+
const inputFilters$ = this._searchStates$.pipe(map((states) => this.convertToFilters(states)), filter((filters) => filters.length > 0));
|
|
178
179
|
inputFilters$
|
|
179
180
|
.pipe(takeUntilDestroyed(this.destroyRef), combineLatestWith(this._searchContext$))
|
|
180
181
|
.subscribe(([inputFilters, searchContext]) => {
|
|
@@ -182,13 +183,17 @@ export class ElderSearchContextDirective {
|
|
|
182
183
|
});
|
|
183
184
|
}
|
|
184
185
|
syncSearchContextToBoundFilterContext() {
|
|
185
|
-
this._searchContext
|
|
186
|
+
this._searchContext$
|
|
187
|
+
.pipe(takeUntilDestroyed(this.destroyRef), switchMap((context) => context.allFiltersChanged))
|
|
188
|
+
.subscribe((allFilters) => this.applyToBoundFilterContext(allFilters));
|
|
186
189
|
}
|
|
187
190
|
applyToBoundFilterContext(filters) {
|
|
188
191
|
const filterCtx = this.filterContext;
|
|
189
192
|
if (filterCtx) {
|
|
190
193
|
filterCtx.replaceFilters(filters);
|
|
191
|
-
this.log.debug('Applied Filters of SearchContext ' +
|
|
194
|
+
this.log.debug('Applied Filters of SearchContext ' +
|
|
195
|
+
this.searchContextId +
|
|
196
|
+
' to DataContext FilterContext.', filters);
|
|
192
197
|
}
|
|
193
198
|
else {
|
|
194
199
|
this.log.warn('Failed to apply filters since no FilterContext is available!', filters);
|
|
@@ -204,9 +209,9 @@ export class ElderSearchContextDirective {
|
|
|
204
209
|
const inputsByKey = this.searchInputsByQueryKey();
|
|
205
210
|
this.log.warn('applyFiltersToInputs [' + Array.from(inputsByKey.keys()) + ']', {
|
|
206
211
|
filters: filters,
|
|
207
|
-
inputsByQueryKey: inputsByKey
|
|
212
|
+
inputsByQueryKey: inputsByKey,
|
|
208
213
|
});
|
|
209
|
-
this.searchInputs().forEach(searchInput => searchInput.applyFilters(filters));
|
|
214
|
+
this.searchInputs().forEach((searchInput) => searchInput.applyFilters(filters));
|
|
210
215
|
}
|
|
211
216
|
}
|
|
212
217
|
saveInitialFilters(filters) {
|
|
@@ -215,20 +220,20 @@ export class ElderSearchContextDirective {
|
|
|
215
220
|
}
|
|
216
221
|
buildFilterValueMap(filters) {
|
|
217
222
|
const map = new Map();
|
|
218
|
-
filters.forEach(filter => map.set(filter.key, filter));
|
|
223
|
+
filters.forEach((filter) => map.set(filter.key, filter));
|
|
219
224
|
return map;
|
|
220
225
|
}
|
|
221
226
|
searchInputsByQueryKey() {
|
|
222
227
|
const inputs = this._searchInputs$.getValue();
|
|
223
228
|
const map = new Map();
|
|
224
|
-
inputs.forEach(input => map.set(input.queryKey, input));
|
|
229
|
+
inputs.forEach((input) => map.set(input.queryKey, input));
|
|
225
230
|
return map;
|
|
226
231
|
}
|
|
227
232
|
convertToFilters(states) {
|
|
228
233
|
return states
|
|
229
|
-
.filter(s =>
|
|
230
|
-
.flatMap(s => s.filters)
|
|
231
|
-
.filter(filter => !!filter.key);
|
|
234
|
+
.filter((s) => s.userEvent || s.hasFallbackValue)
|
|
235
|
+
.flatMap((s) => s.filters)
|
|
236
|
+
.filter((filter) => !!filter.key);
|
|
232
237
|
}
|
|
233
238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchContextDirective, deps: [{ token: i1.SearchContextService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
234
239
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: ElderSearchContextDirective, isStandalone: true, selector: "[elderSearchContext]", inputs: { searchContextId: "searchContextId", filterContext: ["elderSearchContext", "filterContext"], forcedFilters: "forcedFilters" }, exportAs: ["elderSearchContext"], ngImport: i0 }); }
|
|
@@ -238,7 +243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
238
243
|
args: [{
|
|
239
244
|
selector: '[elderSearchContext]',
|
|
240
245
|
exportAs: 'elderSearchContext',
|
|
241
|
-
standalone: true
|
|
246
|
+
standalone: true,
|
|
242
247
|
}]
|
|
243
248
|
}], ctorParameters: () => [{ type: i1.SearchContextService }, { type: i0.DestroyRef }], propDecorators: { searchContextId: [{
|
|
244
249
|
type: Input
|
|
@@ -248,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
248
253
|
}], forcedFilters: [{
|
|
249
254
|
type: Input
|
|
250
255
|
}] } });
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBR2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUcxRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUU5RDs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxvQkFBMEMsRUFDekIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFCekM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFHOUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIs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UUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2tIQThEWSxlQUFlO3NCQUR6QixLQUFLO2dCQXNCSyxhQUFhO3NCQUR2QixLQUFLO3VCQUFDLG9CQUFvQjtnQkEyQmhCLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWFyY2hJbnB1dH0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0JztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLWNvbnRleHQnO1xuaW1wb3J0IHtTZWFyY2hJbnB1dFN0YXRlfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQtc3RhdGUnO1xuaW1wb3J0IHtTZWFyY2hDb250ZXh0U2VydmljZX0gZnJvbSAnLi9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dH0gZnJvbSAnLi9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dCc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIFRoZSBTZWFyY2hDb250ZXh0RGlyZWN0aXZlIGJpbmRzIGEgZ3JvdXAgb2Ygc2VhcmNoLWlucHV0c1xuICogdG8gYSBTZWFyY2hDb250ZXh0IHdpdGggYSB0d28td2F5IGJpbmRpbmcuXG4gKlxuICogSXQgYWxzbyBiaW5kcyB0aGUgU2VhcmNoQ29udGV4dCB0byBhIEZpbHRlckNvbnRleHQgKERhdGFDb250ZXh0KS5cbiAqIFRPRE8gTWF5YmUgc2VwYXJhdGUgdGhpcz8/XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlYXJjaENvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaENvbnRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbEZpbHRlcnM6IEZpbHRlcltdID0gW107XG4gIHByaXZhdGUgaW5pdGlhbEZpbHRlcnNSZWdpc3RlcmVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaElucHV0W10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoU3RhdGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoSW5wdXRTdGF0ZVtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckNvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJDb250ZXh0PihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoQ29udGV4dD4oU2VhcmNoQ29udGV4dC5zdGFuZGFsb25lKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hDb250ZXh0SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlYXJjaENvbnRleHRTZXJ2aWNlOiBTZWFyY2hDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5fc2VhcmNoQ29udGV4dElkJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBmaWx0ZXIoY29udGV4dElkID0+ICEhY29udGV4dElkKSxcbiAgICAgIG1hcChjb250ZXh0SWQgPT4gc2VhcmNoQ29udGV4dFNlcnZpY2UuY29udGV4dChjb250ZXh0SWQpKVxuICAgICkuc3Vic2NyaWJlKGN0eCA9PiB0aGlzLl9zZWFyY2hDb250ZXh0JC5uZXh0KGN0eCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlEZWZhdWx0RmlsdGVyc1RvU2VhcmNoQ29udGV4dCgpO1xuICAgIHRoaXMuc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250ZXh0ID0gdGhpcy5zZWFyY2hDb250ZXh0O1xuICAgIHRoaXMuYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoc2VhcmNoQ29udGV4dCk7XG4gICAgdGhpcy5zeW5jU2VhcmNoSW5wdXRzVG9TZWFyY2hDb250ZXh0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlYXJjaENvbnRleHRJZChjb250ZXh0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3NlYXJjaENvbnRleHRJZCQubmV4dChjb250ZXh0SWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udGV4dElkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0SWQkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbnRleHRJZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHQkKCk6IE9ic2VydmFibGU8U2VhcmNoQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dCgpOiBTZWFyY2hDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hDb250ZXh0JylcbiAgcHVibGljIHNldCBmaWx0ZXJDb250ZXh0KHZhbHVlOiBGaWx0ZXJDb250ZXh0IHwgJycpIHtcbiAgICBsZXQgY29udGV4dDogRmlsdGVyQ29udGV4dDtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnRleHQgPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nLndhcm4oJ0lsbGVnYWwgdmFsdWUgcHJvdmlkZWQgZm9yIHByb3BlcnR5IGZpbHRlckNvbnRleHQ6ICcsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCB2YWx1ZSBwcm92aWRlZCBmb3IgcHJvcGVydHkgZmlsdGVyQ29udGV4dCEgJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dCA9IEZpbHRlckNvbnRleHQuZW1wdHkoKTtcbiAgICB9XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dCQubmV4dChjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQ29udGV4dCgpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZWQgZmlsdGVycyBhcmUgYWx3YXlzIG1lcmdlZCBpbnRvIHRoZSBmaW5hbCBGaWx0ZXJDb250ZXh0LlxuICAgKlxuICAgKiBUaGlzIG1lYW5zIHRoZXkgb3ZlcnJpZGUgdXNlciBkZWZpbmVkIGZpbHRlcnMsIGJ1dCBhdHRlbXB0XG4gICAqIHRvIGFsc28ga2VlcCB0aGUgdXNlcnMgaW50ZW50IChieSBtZXJnaW5nKSB0aGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb3JjZWRGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlcGxhY2VGb3JjZWRGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JjZWRGaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hDb250ZXh0LmZvcmNlZEZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJpYnV0ZXMoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaElucHV0cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJpYnV0ZXNTbmFwc2hvdCgpOiBTZWFyY2hJbnB1dFtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZXMkKCk6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFN0YXRlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlc1NuYXBzaG90KCk6IFNlYXJjaElucHV0U3RhdGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFN0YXRlcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHVzZXIgdG91Y2hlZCBhdHRyaWJ1dGVzLiAoaWdub3JpbmcgZmFsbGJhY2tzKVxuICAgKi9cbiAgcHVibGljIGdldCB0b3VjaGVkU2VhcmNoSW5wdXRzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcyQucGlwZShcbiAgICAgIG1hcChzdGF0ZXMgPT5cbiAgICAgICAgc3RhdGVzXG4gICAgICAgICAgLmZpbHRlcihzID0+ICFzLnByaXN0aW5lKVxuICAgICAgICAgIC5maWx0ZXIocyA9PiAhcy5oYXNGYWxsYmFja1ZhbHVlKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBuZXcgc2VhcmNoIG5hbWUgaW4gdGhpcyBjb250YWluZXJcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsRmlsdGVyc1JlZ2lzdGVyZWQpIHtcbiAgICAgIHNlYXJjaElucHV0LmFwcGx5RmlsdGVycyh0aGlzLmluaXRpYWxGaWx0ZXJzKTtcbiAgICB9XG4gICAgdGhpcy5sb2cuZGVidWcoJ1JlZ2lzdGVyaW5nIHNlYXJjaCBpbnB1dCBbJyArIHNlYXJjaElucHV0LnF1ZXJ5S2V5ICsgJ10uJyk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5uZXh0KFtcbiAgICAgIC4uLnRoaXMuc2VhcmNoSW5wdXRzKCksXG4gICAgICBzZWFyY2hJbnB1dFxuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKGF0dHIgPT4gIWF0dHIucmVhZG9ubHkpXG4gICAgICAuZm9yRWFjaChhID0+IHtcbiAgICAgICAgYS5yZXNldCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc2VhcmNoSW5wdXRzKCk6IFNlYXJjaElucHV0W10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG5cbiAgICBjb25zdCBkY0ZpbHRlcnMgPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgY29uc3Qgc2VhcmNoQ29udGV4dCA9IHRoaXMuc2VhcmNoQ29udGV4dDtcbiAgICBpZiAoc2VhcmNoQ29udGV4dC51c2VyRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYXBwbHlBc0RlZmF1bHRzVW50aWxVc2VyQWN0aW9uKHNlYXJjaENvbnRleHQsIGRjRmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRjRmlsdGVycy5yZXBsYWNlRmlsdGVycyhcbiAgICAgICAgc2VhcmNoQ29udGV4dC51c2VyRmlsdGVyc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXNEZWZhdWx0c1VudGlsVXNlckFjdGlvbihcbiAgICBzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0LFxuICAgIGRjRmlsdGVyczogRmlsdGVyQ29udGV4dFxuICApOiB2b2lkIHtcbiAgICBkY0ZpbHRlcnMuZmlsdGVycy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBtYXAoZmlsdGVycyA9PiBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzU2F2ZShmaWx0ZXJzKSlcbiAgICAgIC8vIHRha2VXaGlsZShhY2NlcHREZWZhdWx0RmlsdGVycyA9PiBhY2NlcHREZWZhdWx0RmlsdGVycylcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jU2VhcmNoSW5wdXRzVG9TZWFyY2hDb250ZXh0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBzd2l0Y2hNYXAoaW5wdXRzID0+IGNvbWJpbmVMYXRlc3QoaW5wdXRzLm1hcChpID0+IGkuc3RhdGUkKSkpLFxuICAgICAgZGVib3VuY2VUaW1lKDUpXG4gICAgKS5zdWJzY3JpYmUoc3RhdGVzID0+IHtcbiAgICAgIC8vLyB0aGlzLmxvZy5lcnJvcignU2VhcmNoSW5wdXRTdGF0ZXMgQ2hhbmdlZDogJywgc3RhdGVzKTtcbiAgICAgIHRoaXMuX3NlYXJjaFN0YXRlcyQubmV4dChzdGF0ZXMpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgaW5wdXRGaWx0ZXJzJCA9IHRoaXMuX3NlYXJjaFN0YXRlcyQucGlwZShcbiAgICAgIG1hcChzdGF0ZXMgPT4gdGhpcy5jb252ZXJ0VG9GaWx0ZXJzKHN0YXRlcykpLFxuICAgICAgZmlsdGVyKGZpbHRlcnMgPT4gZmlsdGVycy5sZW5ndGggPiAwKVxuICAgICk7XG5cbiAgICBpbnB1dEZpbHRlcnMkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuX3NlYXJjaENvbnRleHQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW2lucHV0RmlsdGVycywgc2VhcmNoQ29udGV4dF0pID0+IHtcbiAgICAgICAgc2VhcmNoQ29udGV4dC51cGRhdGVVc2VyRmlsdGVycyhpbnB1dEZpbHRlcnMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNTZWFyY2hDb250ZXh0VG9Cb3VuZEZpbHRlckNvbnRleHQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VhcmNoQ29udGV4dCQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgc3dpdGNoTWFwKGNvbnRleHQgPT4gY29udGV4dC5hbGxGaWx0ZXJzQ2hhbmdlZClcbiAgICApLnN1YnNjcmliZShhbGxGaWx0ZXJzID0+IHRoaXMuYXBwbHlUb0JvdW5kRmlsdGVyQ29udGV4dChhbGxGaWx0ZXJzKSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJDdHggPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgaWYgKGZpbHRlckN0eCkge1xuICAgICAgZmlsdGVyQ3R4LnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0FwcGxpZWQgRmlsdGVycyBvZiBTZWFyY2hDb250ZXh0ICcgKyB0aGlzLnNlYXJjaENvbnRleHRJZCArICcgdG8gRGF0YUNvbnRleHQgRmlsdGVyQ29udGV4dC4nLCBmaWx0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignRmFpbGVkIHRvIGFwcGx5IGZpbHRlcnMgc2luY2Ugbm8gRmlsdGVyQ29udGV4dCBpcyBhdmFpbGFibGUhJywgZmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlYXJjaENvbnRleHRUb0lucHV0cyhzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0KTogdm9pZCB7XG4gICAgY29uc3QgbWVyZ2VkRmlsdGVycyA9IFsuLi5zZWFyY2hDb250ZXh0LnVzZXJGaWx0ZXJzXTtcbiAgICB0aGlzLmFwcGx5RmlsdGVyc1RvSW5wdXRzKFxuICAgICAgbWVyZ2VkRmlsdGVyc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RmlsdGVyc1RvSW5wdXRzKGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlSW5pdGlhbEZpbHRlcnMoZmlsdGVycyk7XG4gICAgaWYgKGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaW5wdXRzQnlLZXkgPSB0aGlzLnNlYXJjaElucHV0c0J5UXVlcnlLZXkoKTtcbiAgICAgIHRoaXMubG9nLndhcm4oJ2FwcGx5RmlsdGVyc1RvSW5wdXRzIFsnICsgQXJyYXkuZnJvbShpbnB1dHNCeUtleS5rZXlzKCkpICsgJ10nLCB7XG4gICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGlucHV0c0J5UXVlcnlLZXk6IGlucHV0c0J5S2V5XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRzKCkuZm9yRWFjaChzZWFyY2hJbnB1dCA9PlxuICAgICAgICBzZWFyY2hJbnB1dC5hcHBseUZpbHRlcnMoZmlsdGVycylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlSW5pdGlhbEZpbHRlcnMoXG4gICAgZmlsdGVyczogRmlsdGVyW11cbiAgKSB7XG4gICAgdGhpcy5pbml0aWFsRmlsdGVyc1JlZ2lzdGVyZWQgPSB0cnVlO1xuICAgIHRoaXMuaW5pdGlhbEZpbHRlcnMucHVzaCguLi5maWx0ZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGaWx0ZXJWYWx1ZU1hcChmaWx0ZXJzOiBGaWx0ZXJbXSk6IE1hcDxzdHJpbmcsIEZpbHRlcj4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBGaWx0ZXI+KCk7XG4gICAgZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiBtYXAuc2V0KGZpbHRlci5rZXksIGZpbHRlcikpO1xuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaElucHV0c0J5UXVlcnlLZXkoKTogTWFwPHN0cmluZywgU2VhcmNoSW5wdXQ+IHtcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PigpO1xuICAgIGlucHV0cy5mb3JFYWNoKGlucHV0ID0+IG1hcC5zZXQoaW5wdXQucXVlcnlLZXksIGlucHV0KSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvRmlsdGVycyhzdGF0ZXM6IFNlYXJjaElucHV0U3RhdGVbXSk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gc3RhdGVzXG4gICAgICAuZmlsdGVyKHMgPT4gKHMudXNlckV2ZW50IHx8IHMuaGFzRmFsbGJhY2tWYWx1ZSkpXG4gICAgICAuZmxhdE1hcChzID0+IHMuZmlsdGVycylcbiAgICAgIC5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyLmtleSlcbiAgfVxufVxuXG4iXX0=
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBR2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUczRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7OztBQUUvRDs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBbUJ0Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxvQkFBMEMsRUFDekIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFCekM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFcEQsbUJBQWMsR0FBYSxFQUFFLENBQUE7UUFHN0IsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUE7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIs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QUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7OEdBaFNVLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtrSEErRFksZUFBZTtzQkFEekIsS0FBSztnQkFzQkssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMkJoQixhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3RXaXRoLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCdcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJ1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLWNvbnRleHQnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dFN0YXRlIH0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJ1xuaW1wb3J0IHsgU2VhcmNoQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2RvbWFpbi9jb250ZXh0L3NlYXJjaC1jb250ZXh0LnNlcnZpY2UnXG5pbXBvcnQgeyBTZWFyY2hDb250ZXh0IH0gZnJvbSAnLi9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dCdcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG4vKipcbiAqIFRoZSBTZWFyY2hDb250ZXh0RGlyZWN0aXZlIGJpbmRzIGEgZ3JvdXAgb2Ygc2VhcmNoLWlucHV0c1xuICogdG8gYSBTZWFyY2hDb250ZXh0IHdpdGggYSB0d28td2F5IGJpbmRpbmcuXG4gKlxuICogSXQgYWxzbyBiaW5kcyB0aGUgU2VhcmNoQ29udGV4dCB0byBhIEZpbHRlckNvbnRleHQgKERhdGFDb250ZXh0KS5cbiAqIFRPRE8gTWF5YmUgc2VwYXJhdGUgdGhpcz8/XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlYXJjaENvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaENvbnRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxGaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdXG4gIHByaXZhdGUgaW5pdGlhbEZpbHRlcnNSZWdpc3RlcmVkOiBib29sZWFuXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoSW5wdXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoSW5wdXRbXT4oW10pXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFN0YXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaElucHV0U3RhdGVbXT4oW10pXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckNvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJDb250ZXh0PihudWxsKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaENvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hDb250ZXh0PihTZWFyY2hDb250ZXh0LnN0YW5kYWxvbmUoKSlcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoQ29udGV4dElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlYXJjaENvbnRleHRTZXJ2aWNlOiBTZWFyY2hDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5fc2VhcmNoQ29udGV4dElkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBmaWx0ZXIoKGNvbnRleHRJZCkgPT4gISFjb250ZXh0SWQpLFxuICAgICAgICBtYXAoKGNvbnRleHRJZCkgPT4gc2VhcmNoQ29udGV4dFNlcnZpY2UuY29udGV4dChjb250ZXh0SWQpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoY3R4KSA9PiB0aGlzLl9zZWFyY2hDb250ZXh0JC5uZXh0KGN0eCkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseURlZmF1bHRGaWx0ZXJzVG9TZWFyY2hDb250ZXh0KClcbiAgICB0aGlzLnN5bmNTZWFyY2hDb250ZXh0VG9Cb3VuZEZpbHRlckNvbnRleHQoKVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250ZXh0ID0gdGhpcy5zZWFyY2hDb250ZXh0XG4gICAgdGhpcy5hcHBseVNlYXJjaENvbnRleHRUb0lucHV0cyhzZWFyY2hDb250ZXh0KVxuICAgIHRoaXMuc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlYXJjaENvbnRleHRJZChjb250ZXh0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3NlYXJjaENvbnRleHRJZCQubmV4dChjb250ZXh0SWQpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0SWQkLmdldFZhbHVlKClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dElkJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0SWQkLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHQkKCk6IE9ic2VydmFibGU8U2VhcmNoQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5hc09ic2VydmFibGUoKVxuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0KCk6IFNlYXJjaENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5nZXRWYWx1ZSgpXG4gIH1cblxuICBASW5wdXQoJ2VsZGVyU2VhcmNoQ29udGV4dCcpXG4gIHB1YmxpYyBzZXQgZmlsdGVyQ29udGV4dCh2YWx1ZTogRmlsdGVyQ29udGV4dCB8ICcnKSB7XG4gICAgbGV0IGNvbnRleHQ6IEZpbHRlckNvbnRleHRcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnRleHQgPSB2YWx1ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2cud2FybignSWxsZWdhbCB2YWx1ZSBwcm92aWRlZCBmb3IgcHJvcGVydHkgZmlsdGVyQ29udGV4dDogJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgdmFsdWUgcHJvdmlkZWQgZm9yIHByb3BlcnR5IGZpbHRlckNvbnRleHQhICcgKyB2YWx1ZSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dCA9IEZpbHRlckNvbnRleHQuZW1wdHkoKVxuICAgIH1cbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0JC5uZXh0KGNvbnRleHQpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlckNvbnRleHQoKTogRmlsdGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRleHQkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZWQgZmlsdGVycyBhcmUgYWx3YXlzIG1lcmdlZCBpbnRvIHRoZSBmaW5hbCBGaWx0ZXJDb250ZXh0LlxuICAgKlxuICAgKiBUaGlzIG1lYW5zIHRoZXkgb3ZlcnJpZGUgdXNlciBkZWZpbmVkIGZpbHRlcnMsIGJ1dCBhdHRlbXB0XG4gICAqIHRvIGFsc28ga2VlcCB0aGUgdXNlcnMgaW50ZW50IChieSBtZXJnaW5nKSB0aGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb3JjZWRGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlcGxhY2VGb3JjZWRGaWx0ZXJzKGZpbHRlcnMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcmNlZEZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRleHQuZm9yY2VkRmlsdGVyc1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzKCk6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJpYnV0ZXNTbmFwc2hvdCgpOiBTZWFyY2hJbnB1dFtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlcyQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3RhdGVzJC5hc09ic2VydmFibGUoKVxuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZXNTbmFwc2hvdCgpOiBTZWFyY2hJbnB1dFN0YXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hTdGF0ZXMkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHVzZXIgdG91Y2hlZCBhdHRyaWJ1dGVzLiAoaWdub3JpbmcgZmFsbGJhY2tzKVxuICAgKi9cbiAgcHVibGljIGdldCB0b3VjaGVkU2VhcmNoSW5wdXRzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcyQucGlwZShcbiAgICAgIG1hcCgoc3RhdGVzKSA9PiBzdGF0ZXMuZmlsdGVyKChzKSA9PiAhcy5wcmlzdGluZSkuZmlsdGVyKChzKSA9PiAhcy5oYXNGYWxsYmFja1ZhbHVlKSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBuZXcgc2VhcmNoIG5hbWUgaW4gdGhpcyBjb250YWluZXJcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsRmlsdGVyc1JlZ2lzdGVyZWQpIHtcbiAgICAgIHNlYXJjaElucHV0LmFwcGx5RmlsdGVycyh0aGlzLmluaXRpYWxGaWx0ZXJzKVxuICAgIH1cbiAgICB0aGlzLmxvZy5kZWJ1ZygnUmVnaXN0ZXJpbmcgc2VhcmNoIGlucHV0IFsnICsgc2VhcmNoSW5wdXQucXVlcnlLZXkgKyAnXS4nKVxuICAgIHRoaXMuX3NlYXJjaElucHV0cyQubmV4dChbLi4udGhpcy5zZWFyY2hJbnB1dHMoKSwgc2VhcmNoSW5wdXRdKVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKChhdHRyKSA9PiAhYXR0ci5yZWFkb25seSlcbiAgICAgIC5mb3JFYWNoKChhKSA9PiB7XG4gICAgICAgIGEucmVzZXQoKVxuICAgICAgfSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzZWFyY2hJbnB1dHMoKTogU2VhcmNoSW5wdXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaElucHV0cyQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURlZmF1bHRGaWx0ZXJzVG9TZWFyY2hDb250ZXh0KCk6IHZvaWQge1xuICAgIGNvbnN0IGRjRmlsdGVycyA9IHRoaXMuZmlsdGVyQ29udGV4dFxuICAgIGNvbnN0IHNlYXJjaENvbnRleHQgPSB0aGlzLnNlYXJjaENvbnRleHRcbiAgICBpZiAoc2VhcmNoQ29udGV4dC51c2VyRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYXBwbHlBc0RlZmF1bHRzVW50aWxVc2VyQWN0aW9uKHNlYXJjaENvbnRleHQsIGRjRmlsdGVycylcbiAgICB9IGVsc2Uge1xuICAgICAgZGNGaWx0ZXJzLnJlcGxhY2VGaWx0ZXJzKHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzRGVmYXVsdHNVbnRpbFVzZXJBY3Rpb24oXG4gICAgc2VhcmNoQ29udGV4dDogU2VhcmNoQ29udGV4dCxcbiAgICBkY0ZpbHRlcnM6IEZpbHRlckNvbnRleHRcbiAgKTogdm9pZCB7XG4gICAgZGNGaWx0ZXJzLmZpbHRlcnNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgbWFwKChmaWx0ZXJzKSA9PiBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzU2F2ZShmaWx0ZXJzKSlcbiAgICAgICAgLy8gdGFrZVdoaWxlKGFjY2VwdERlZmF1bHRGaWx0ZXJzID0+IGFjY2VwdERlZmF1bHRGaWx0ZXJzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpXG4gIH1cblxuICBwcml2YXRlIHN5bmNTZWFyY2hJbnB1dHNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBzd2l0Y2hNYXAoKGlucHV0cykgPT4gY29tYmluZUxhdGVzdChpbnB1dHMubWFwKChpKSA9PiBpLnN0YXRlJCkpKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZXMpID0+IHtcbiAgICAgICAgLy8vIHRoaXMubG9nLmVycm9yKCdTZWFyY2hJbnB1dFN0YXRlcyBDaGFuZ2VkOiAnLCBzdGF0ZXMpO1xuICAgICAgICB0aGlzLl9zZWFyY2hTdGF0ZXMkLm5leHQoc3RhdGVzKVxuICAgICAgfSlcblxuICAgIGNvbnN0IGlucHV0RmlsdGVycyQgPSB0aGlzLl9zZWFyY2hTdGF0ZXMkLnBpcGUoXG4gICAgICBtYXAoKHN0YXRlcykgPT4gdGhpcy5jb252ZXJ0VG9GaWx0ZXJzKHN0YXRlcykpLFxuICAgICAgZmlsdGVyKChmaWx0ZXJzKSA9PiBmaWx0ZXJzLmxlbmd0aCA+IDApXG4gICAgKVxuXG4gICAgaW5wdXRGaWx0ZXJzJFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuX3NlYXJjaENvbnRleHQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtpbnB1dEZpbHRlcnMsIHNlYXJjaENvbnRleHRdKSA9PiB7XG4gICAgICAgIHNlYXJjaENvbnRleHQudXBkYXRlVXNlckZpbHRlcnMoaW5wdXRGaWx0ZXJzKVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hDb250ZXh0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBzd2l0Y2hNYXAoKGNvbnRleHQpID0+IGNvbnRleHQuYWxsRmlsdGVyc0NoYW5nZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChhbGxGaWx0ZXJzKSA9PiB0aGlzLmFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoYWxsRmlsdGVycykpXG4gIH1cblxuICBwcml2YXRlIGFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJDdHggPSB0aGlzLmZpbHRlckNvbnRleHRcbiAgICBpZiAoZmlsdGVyQ3R4KSB7XG4gICAgICBmaWx0ZXJDdHgucmVwbGFjZUZpbHRlcnMoZmlsdGVycylcbiAgICAgIHRoaXMubG9nLmRlYnVnKFxuICAgICAgICAnQXBwbGllZCBGaWx0ZXJzIG9mIFNlYXJjaENvbnRleHQgJyArXG4gICAgICAgICAgdGhpcy5zZWFyY2hDb250ZXh0SWQgK1xuICAgICAgICAgICcgdG8gRGF0YUNvbnRleHQgRmlsdGVyQ29udGV4dC4nLFxuICAgICAgICBmaWx0ZXJzXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0ZhaWxlZCB0byBhcHBseSBmaWx0ZXJzIHNpbmNlIG5vIEZpbHRlckNvbnRleHQgaXMgYXZhaWxhYmxlIScsIGZpbHRlcnMpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlYXJjaENvbnRleHRUb0lucHV0cyhzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0KTogdm9pZCB7XG4gICAgY29uc3QgbWVyZ2VkRmlsdGVycyA9IFsuLi5zZWFyY2hDb250ZXh0LnVzZXJGaWx0ZXJzXVxuICAgIHRoaXMuYXBwbHlGaWx0ZXJzVG9JbnB1dHMobWVyZ2VkRmlsdGVycylcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJzVG9JbnB1dHMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVJbml0aWFsRmlsdGVycyhmaWx0ZXJzKVxuICAgIGlmIChmaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGlucHV0c0J5S2V5ID0gdGhpcy5zZWFyY2hJbnB1dHNCeVF1ZXJ5S2V5KClcbiAgICAgIHRoaXMubG9nLndhcm4oJ2FwcGx5RmlsdGVyc1RvSW5wdXRzIFsnICsgQXJyYXkuZnJvbShpbnB1dHNCeUtleS5rZXlzKCkpICsgJ10nLCB7XG4gICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGlucHV0c0J5UXVlcnlLZXk6IGlucHV0c0J5S2V5LFxuICAgICAgfSlcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRzKCkuZm9yRWFjaCgoc2VhcmNoSW5wdXQpID0+IHNlYXJjaElucHV0LmFwcGx5RmlsdGVycyhmaWx0ZXJzKSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNhdmVJbml0aWFsRmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuaW5pdGlhbEZpbHRlcnNSZWdpc3RlcmVkID0gdHJ1ZVxuICAgIHRoaXMuaW5pdGlhbEZpbHRlcnMucHVzaCguLi5maWx0ZXJzKVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZpbHRlclZhbHVlTWFwKGZpbHRlcnM6IEZpbHRlcltdKTogTWFwPHN0cmluZywgRmlsdGVyPiB7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKVxuICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiBtYXAuc2V0KGZpbHRlci5rZXksIGZpbHRlcikpXG4gICAgcmV0dXJuIG1hcFxuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hJbnB1dHNCeVF1ZXJ5S2V5KCk6IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PiB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpXG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PigpXG4gICAgaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBtYXAuc2V0KGlucHV0LnF1ZXJ5S2V5LCBpbnB1dCkpXG4gICAgcmV0dXJuIG1hcFxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9GaWx0ZXJzKHN0YXRlczogU2VhcmNoSW5wdXRTdGF0ZVtdKTogRmlsdGVyW10ge1xuICAgIHJldHVybiBzdGF0ZXNcbiAgICAgIC5maWx0ZXIoKHMpID0+IHMudXNlckV2ZW50IHx8IHMuaGFzRmFsbGJhY2tWYWx1ZSlcbiAgICAgIC5mbGF0TWFwKChzKSA9PiBzLmZpbHRlcnMpXG4gICAgICAuZmlsdGVyKChmaWx0ZXIpID0+ICEhZmlsdGVyLmtleSlcbiAgfVxufVxuIl19
|
|
@@ -34,9 +34,8 @@ export class ElderSearchInputDirective {
|
|
|
34
34
|
this._queryKey$ = new BehaviorSubject(null);
|
|
35
35
|
this._inputConverter = DefaultInputFilterConverter.of(() => this.queryKey);
|
|
36
36
|
this._initialValueDirective = new ElderInitialValueDirective(ngModel);
|
|
37
|
-
this._state$ = this.buildInputStateObservable()
|
|
38
|
-
|
|
39
|
-
);
|
|
37
|
+
this._state$ = this.buildInputStateObservable()
|
|
38
|
+
.pipe();
|
|
40
39
|
}
|
|
41
40
|
/***************************************************************************
|
|
42
41
|
* *
|
|
@@ -113,13 +112,12 @@ export class ElderSearchInputDirective {
|
|
|
113
112
|
this._initialValueDirective.setValue(value);
|
|
114
113
|
}
|
|
115
114
|
get valueChanges$() {
|
|
116
|
-
return this.ngModel.control.valueChanges
|
|
117
|
-
.pipe(takeUntilDestroyed(this.destroyRef));
|
|
115
|
+
return this.ngModel.control.valueChanges.pipe(takeUntilDestroyed(this.destroyRef));
|
|
118
116
|
}
|
|
119
117
|
buildInputStateObservable() {
|
|
120
118
|
const viewStabilized$ = of('stabilized$').pipe(delay(20), first());
|
|
121
|
-
const inputStateChanges$ = this.valueChanges$.pipe(takeUntilDestroyed(this.destroyRef), map(value => this.buildInputState(value, true)), skipUntil(viewStabilized$), debounceTime(20));
|
|
122
|
-
const startDelayed$ = of('start').pipe(delay(15), map(start => {
|
|
119
|
+
const inputStateChanges$ = this.valueChanges$.pipe(takeUntilDestroyed(this.destroyRef), map((value) => this.buildInputState(value, true)), skipUntil(viewStabilized$), debounceTime(20));
|
|
120
|
+
const startDelayed$ = of('start').pipe(delay(15), map((start) => {
|
|
123
121
|
const state = this.buildInputState(this.ngModel.control.value, false);
|
|
124
122
|
return state;
|
|
125
123
|
}));
|
|
@@ -132,12 +130,12 @@ export class ElderSearchInputDirective {
|
|
|
132
130
|
}
|
|
133
131
|
isFallbackValue(queryValue) {
|
|
134
132
|
if (this.hasFallback) {
|
|
135
|
-
return
|
|
133
|
+
return this.fallbackValue === queryValue;
|
|
136
134
|
}
|
|
137
135
|
return false;
|
|
138
136
|
}
|
|
139
137
|
areAllPristine(filters) {
|
|
140
|
-
return filters.every(f => this.isPristine(f));
|
|
138
|
+
return filters.every((f) => this.isPristine(f));
|
|
141
139
|
}
|
|
142
140
|
isPristine(filter) {
|
|
143
141
|
return !this.isAttributeValuePresent(filter.value);
|
|
@@ -183,15 +181,14 @@ export class ElderSearchInputDirective {
|
|
|
183
181
|
return value;
|
|
184
182
|
}
|
|
185
183
|
isAttributeValuePresent(value) {
|
|
186
|
-
return SearchInputState.isValueDefined(value)
|
|
187
|
-
&& (value + '').length !== 0;
|
|
184
|
+
return SearchInputState.isValueDefined(value) && (value + '').length !== 0;
|
|
188
185
|
}
|
|
189
186
|
resolveValue(value) {
|
|
190
187
|
if (Objects.nonNull(value)) {
|
|
191
188
|
if (value instanceof Array) {
|
|
192
189
|
const resolvedValues = value
|
|
193
|
-
.map(v => this.resolveSingleValue(v))
|
|
194
|
-
.filter(v => Objects.nonNull(v));
|
|
190
|
+
.map((v) => this.resolveSingleValue(v))
|
|
191
|
+
.filter((v) => Objects.nonNull(v));
|
|
195
192
|
return this.concatIfNecessary(resolvedValues);
|
|
196
193
|
}
|
|
197
194
|
else {
|
|
@@ -207,9 +204,7 @@ export class ElderSearchInputDirective {
|
|
|
207
204
|
value = this.valueTransform ? this.valueTransform(value) : value;
|
|
208
205
|
if (Objects.nonNull(value)) {
|
|
209
206
|
if (value instanceof Array) {
|
|
210
|
-
return value
|
|
211
|
-
.filter(i => Objects.nonNull(i))
|
|
212
|
-
.map(i => i.toString());
|
|
207
|
+
return value.filter((i) => Objects.nonNull(i)).map((i) => i.toString());
|
|
213
208
|
}
|
|
214
209
|
else {
|
|
215
210
|
return value.toString();
|
|
@@ -223,7 +218,7 @@ export class ElderSearchInputDirective {
|
|
|
223
218
|
return this.ngModel.name;
|
|
224
219
|
}
|
|
225
220
|
concatIfNecessary(values) {
|
|
226
|
-
const arrays = values.map(v => {
|
|
221
|
+
const arrays = values.map((v) => {
|
|
227
222
|
if (v instanceof Array) {
|
|
228
223
|
return v;
|
|
229
224
|
}
|
|
@@ -241,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
241
236
|
args: [{
|
|
242
237
|
selector: '[elderSearchInput]',
|
|
243
238
|
exportAs: 'elderSearchInput',
|
|
244
|
-
standalone: true
|
|
239
|
+
standalone: true,
|
|
245
240
|
}]
|
|
246
241
|
}], ctorParameters: () => [{ type: i1.ElderSearchContextDirective }, { type: i2.NgModel, decorators: [{
|
|
247
242
|
type: Host
|
|
@@ -260,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
260
255
|
type: Input,
|
|
261
256
|
args: ['elderSearchInputKey']
|
|
262
257
|
}] } });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLbkQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUd2RixPQUFPLDJCQUEyQixNQUFNLHlDQUF5QyxDQUFDO0FBR2xGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRTlEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQTBDcEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsYUFBMEMsRUFDbEMsT0FBZ0IsRUFDeEIsVUFBc0I7UUFGdEIsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FB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bXBvcnQge0FmdGVyVmlld0luaXQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge05nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGVsYXksIGZpcnN0LCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UHJvcGVydHlQYXRoVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL3Byb3BlcnR5LXBhdGgtdXRpbCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29uY2F0LCBvZiwgc2tpcFVudGlsfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7T2JqZWN0c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL29iamVjdHMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL2NvbGxlY3Rpb24tdXRpbCc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7RWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmV9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXItdmFsdWUnO1xuaW1wb3J0IHtJbnB1dEZpbHRlckNvbnZlcnRlcn0gZnJvbSAnLi9maWx0ZXIvaW5wdXQtZmlsdGVyLWNvbnZlcnRlcic7XG5pbXBvcnQgRGVmYXVsdElucHV0RmlsdGVyQ29udmVydGVyIGZyb20gJy4vZmlsdGVyL2RlZmF1bHQtaW5wdXQtZmlsdGVyLWNvbnZlcnRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtJbnB1dFZhbHVlfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9pbnB1dC12YWx1ZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIEJpbmRzIHRoZSBjb250cm9sIHZhbHVlIChuZ01vZGVsKSB0byBhIFNlYXJjaENvbnRleHRzIEZpbHRlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5wdXRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaElucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgU2VhcmNoSW5wdXQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxWYWx1ZURpcmVjdGl2ZTogRWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcXVlcnlLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICBwcml2YXRlIF9leHRyYWN0ZWROYW1lOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YXRlIF91c2VyUXVlcnlLZXk6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgRnVuY3Rpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgdmFsdWUgb2JqZWN0IHRvIGEgcXVlcnkgcGFyYW0gdmFsdWVcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dFRyYW5zZm9ybScpXG4gIHB1YmxpYyB2YWx1ZVRyYW5zZm9ybTogKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwsIERlZmF1bHQpIFBhdGggb24gdGhlIHZhbHVlIG9iamVjdCB0byB1c2UgYXMgcXVlcnkgcGFyYW0gdmFsdWVcbiAgICogIHZhbHVlID0gXCJ0eXBlLmlkXCJcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dCcpXG4gIHB1YmxpYyByZXNvbHZlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzZSB0aGlzIHZhbHVlIGZvciB0aGUgcXVlcnkgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dEZhbGxiYWNrJylcbiAgcHVibGljIGZhbGxiYWNrVmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZUFzSWQ6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIF9pbnB1dENvbnZlcnRlcjogSW5wdXRGaWx0ZXJDb252ZXJ0ZXIgPSBEZWZhdWx0SW5wdXRGaWx0ZXJDb252ZXJ0ZXIub2YoKCkgPT4gdGhpcy5xdWVyeUtleSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoQ29udGV4dDogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgIEBIb3N0KCkgcHJpdmF0ZSBuZ01vZGVsOiBOZ01vZGVsLFxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsVmFsdWVEaXJlY3RpdmUgPSBuZXcgRWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmUobmdNb2RlbCk7XG4gICAgdGhpcy5fc3RhdGUkID0gdGhpcy5idWlsZElucHV0U3RhdGVPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIC8vIHRhcChzdGF0ZSA9PiB0aGlzLmxvZy5lcnJvcignRU1JVCBTRUFSQ0ggSU5QVVQgU1RBVEUgWycgKyBzdGF0ZS5xdWVyeUtleSArICddOiAnICsgc3RhdGUucXVlcnlWYWx1ZSArIChzdGF0ZS5wcmlzdGluZSA/ICcocHJpc3RpbmUpJyA6ICcnKSwgc3RhdGUpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZXh0cmFjdGVkTmFtZSA9IHRoaXMuZXh0cmFjdE5hbWUoKTtcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5S2V5KCk7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9leHRyYWN0ZWROYW1lID0gdGhpcy5leHRyYWN0TmFtZSgpO1xuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKTtcbiAgICB0aGlzLmxvZy5kZWJ1Zyh0aGlzLnF1ZXJ5S2V5ICsgJyB8ICcgKyB0aGlzLnJlc29sdmVQYXRoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzdWFsbHkgdGhlIGNvbnRyb2wgbmFtZSBpcyB1c2VkLCB0aGlzIGFsbG93cyBhIGN1c3RvbSBxdWVyeSBrZXlcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dEtleScpXG4gIHB1YmxpYyBzZXQgcXVlcnlLZXkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3VzZXJRdWVyeUtleSA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5S2V5JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeUtleSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlLZXkkO1xuICB9XG5cbiAgcHVibGljIHNldCBpbnB1dENvbnZlcnRlcihpbnB1dENvbnZlcnRlcjogSW5wdXRGaWx0ZXJDb252ZXJ0ZXIpIHtcbiAgICB0aGlzLl9pbnB1dENvbnZlcnRlciA9IGlucHV0Q29udmVydGVyO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBoYXNGYWxsYmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2VhcmNoSW5wdXRTdGF0ZS5pc1ZhbHVlRGVmaW5lZCh0aGlzLmZhbGxiYWNrVmFsdWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGFwcGx5RmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuc2V0SW5wdXRWYWx1ZShcbiAgICAgIHRoaXMuX2lucHV0Q29udmVydGVyLmNvbnZlcnRUb1ZhbHVlKGZpbHRlcnMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nTW9kZWwucmVzZXQoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBkYXRlUXVlcnlLZXkoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3S2V5ID0gdGhpcy5fdXNlclF1ZXJ5S2V5ID8/IHRoaXMuX2V4dHJhY3RlZE5hbWU7XG4gICAgaWYgKHRoaXMuX3F1ZXJ5S2V5JC5nZXRWYWx1ZSgpICE9PSBuZXdLZXkpIHtcbiAgICAgIHRoaXMuX3F1ZXJ5S2V5JC5uZXh0KG5ld0tleSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlKHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29udmVydFF1ZXJ5U3RyaW5nVG9SYXdNb2RlbFZhbHVlKHF1ZXJ5U3RyaW5nKTtcbiAgICB0aGlzLl9pbml0aWFsVmFsdWVEaXJlY3RpdmUuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmFsdWVDaGFuZ2VzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG5cbiAgICBjb25zdCB2aWV3U3RhYmlsaXplZCQgPSBvZignc3RhYmlsaXplZCQnKS5waXBlKFxuICAgICAgZGVsYXkoMjApLFxuICAgICAgZmlyc3QoKVxuICAgICk7XG5cbiAgICBjb25zdCBpbnB1dFN0YXRlQ2hhbmdlcyQgPSB0aGlzLnZhbHVlQ2hhbmdlcyQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuYnVpbGRJbnB1dFN0YXRlKHZhbHVlLCB0cnVlKSksXG4gICAgICBza2lwVW50aWwodmlld1N0YWJpbGl6ZWQkKSxcbiAgICAgIGRlYm91bmNlVGltZSgyMClcbiAgICApO1xuXG4gICAgY29uc3Qgc3RhcnREZWxheWVkJCA9IG9mKCdzdGFydCcpLnBpcGUoXG4gICAgICBkZWxheSgxNSksXG4gICAgICBtYXAoc3RhcnQgPT4ge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuYnVpbGRJbnB1dFN0YXRlKHRoaXMubmdNb2RlbC5jb250cm9sLnZhbHVlLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBjb25jYXQoc3RhcnREZWxheWVkJCwgaW5wdXRTdGF0ZUNoYW5nZXMkKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlKGNvbnRyb2xWYWx1ZTogYW55LCB1c2VyRXZlbnQ6IGJvb2xlYW4pOiBTZWFyY2hJbnB1dFN0YXRlIHtcbiAgICBjb25zdCBxdWVyeVZhbHVlID0gdGhpcy5jb252ZXJ0UmF3TW9kZWxWYWx1ZVRvUXVlcnlTdHJpbmcoY29udHJvbFZhbHVlKTtcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5faW5wdXRDb252ZXJ0ZXIuY29udmVydFRvRmlsdGVycyhxdWVyeVZhbHVlKTtcblxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZShcbiAgICAgIHRoaXMucXVlcnlLZXksXG4gICAgICBmaWx0ZXJzLFxuICAgICAgdGhpcy5hcmVBbGxQcmlzdGluZShmaWx0ZXJzKSB8fCB0aGlzLmlzRmFsbGJhY2tWYWx1ZShxdWVyeVZhbHVlKSxcbiAgICAgIHVzZXJFdmVudFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzRmFsbGJhY2tWYWx1ZShxdWVyeVZhbHVlOiBJbnB1dFZhbHVlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaGFzRmFsbGJhY2spIHtcbiAgICAgIHJldHVybiAodGhpcy5mYWxsYmFja1ZhbHVlID09PSBxdWVyeVZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhcmVBbGxQcmlzdGluZShmaWx0ZXJzOiBGaWx0ZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KGYgPT4gdGhpcy5pc1ByaXN0aW5lKGYpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNQcmlzdGluZShmaWx0ZXI6IEZpbHRlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0F0dHJpYnV0ZVZhbHVlUHJlc2VudChmaWx0ZXIudmFsdWUpO1xuICB9XG5cblxuICBwcml2YXRlIGNvbnZlcnRRdWVyeVN0cmluZ1RvUmF3TW9kZWxWYWx1ZShxdWVyeVN0cmluZzogRmlsdGVyVmFsdWUpOiBGaWx0ZXJWYWx1ZSB7XG4gICAgaWYgKE9iamVjdHMubm9uTnVsbChxdWVyeVN0cmluZykpIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRSYXdNb2RlbFZhbHVlVG9RdWVyeVN0cmluZyhjb250cm9sVmFsdWU6IGFueSk6IEZpbHRlclZhbHVlIHtcblxuICAgIGxldCBxdWVyeVZhbHVlOiBGaWx0ZXJWYWx1ZSA9IG51bGw7XG5cbiAgICBpZiAodGhpcy52YWx1ZUFzSWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeVZhbHVlID0gdGhpcy5jaGVja0FuZENvbnZlcnRGYXVsdHlWYWx1ZXNUb051bGwoY29udHJvbFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQoY29udHJvbFZhbHVlKSkge1xuICAgICAgLy8gQXR0cmlidXRlIHZhbHVlIGlzIHByZXNlbnRcbiAgICAgIHF1ZXJ5VmFsdWUgPSB0aGlzLnJlc29sdmVWYWx1ZShjb250cm9sVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oYXNGYWxsYmFjaykge1xuICAgICAgICBxdWVyeVZhbHVlID0gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBxdWVyeVZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0FuZENvbnZlcnRGYXVsdHlWYWx1ZXNUb051bGwodmFsdWU6IGFueSkge1xuICAgIGxldCBmaXhlZFZhbHVlID0gdmFsdWU7XG4gICAgZml4ZWRWYWx1ZSA9IHRoaXMuY29udmVydEVtcHR5QXJyYXlUb051bGwoZml4ZWRWYWx1ZSk7XG4gICAgZml4ZWRWYWx1ZSA9IHRoaXMuY29udmVydEVtcHR5U3RyaW5nVG9OdWxsKGZpeGVkVmFsdWUpO1xuXG4gICAgcmV0dXJuIGZpeGVkVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRFbXB0eUFycmF5VG9OdWxsKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRFbXB0eVN0cmluZ1RvTnVsbCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dHJpYnV0ZVZhbHVlUHJlc2VudCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpXG4gICAgICAmJiAodmFsdWUgKyAnJykubGVuZ3RoICE9PSAwO1xuICB9XG5cblxuICBwcml2YXRlIHJlc29sdmVWYWx1ZSh2YWx1ZTogYW55KTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHtcbiAgICBpZiAoT2JqZWN0cy5ub25OdWxsKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcblxuICAgICAgICBjb25zdCByZXNvbHZlZFZhbHVlcyA9IHZhbHVlXG4gICAgICAgICAgLm1hcCh2ID0+IHRoaXMucmVzb2x2ZVNpbmdsZVZhbHVlKHYpKVxuICAgICAgICAgIC5maWx0ZXIodiA9PiBPYmplY3RzLm5vbk51bGwodikpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmNhdElmTmVjZXNzYXJ5KHJlc29sdmVkVmFsdWVzKTtcblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNpbmdsZVZhbHVlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2luZ2xlVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgdmFsdWUgPSBQcm9wZXJ0eVBhdGhVdGlsLnJlc29sdmVWYWx1ZSh2YWx1ZSwgdGhpcy5yZXNvbHZlUGF0aCk7XG4gICAgdmFsdWUgPSB0aGlzLnZhbHVlVHJhbnNmb3JtID8gdGhpcy52YWx1ZVRyYW5zZm9ybSh2YWx1ZSkgOiB2YWx1ZTtcblxuXG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgIC5maWx0ZXIoaSA9PiBPYmplY3RzLm5vbk51bGwoaSkpXG4gICAgICAgICAgLm1hcChpID0+IGkudG9TdHJpbmcoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLm5hbWU7XG4gIH1cblxuICBwcml2YXRlIGNvbmNhdElmTmVjZXNzYXJ5KHZhbHVlczogKHN0cmluZyB8IHN0cmluZ1tdKVtdKTogYW55W10ge1xuICAgIGNvbnN0IGFycmF5cyA9IHZhbHVlcy5tYXAodiA9PiB7XG4gICAgICBpZiAodiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFt2XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29sbGVjdGlvblV0aWwuZmxhdHRlbihhcnJheXMpO1xuICB9XG5cbn1cbiJdfQ==
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFLcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUd4RixPQUFPLDJCQUEyQixNQUFNLHlDQUF5QyxDQUFBO0FBR2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBOzs7O0FBRS9EOztHQUVHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQTJDcEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsYUFBMEMsRUFDbEMsT0FBZ0IsRUFDeEIsVUFBc0I7UUFGdEIsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FB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Q29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJ1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBQcm9wZXJ0eVBhdGhVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL3Byb3BlcnR5LXBhdGgtdXRpbCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29uY2F0LCBvZiwgc2tpcFVudGlsIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFNlYXJjaElucHV0U3RhdGUgfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQtc3RhdGUnXG5pbXBvcnQgeyBPYmplY3RzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL29iamVjdHMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uVXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlscy9jb2xsZWN0aW9uLXV0aWwnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBGaWx0ZXJWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLXZhbHVlJ1xuaW1wb3J0IHsgSW5wdXRGaWx0ZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2ZpbHRlci9pbnB1dC1maWx0ZXItY29udmVydGVyJ1xuaW1wb3J0IERlZmF1bHRJbnB1dEZpbHRlckNvbnZlcnRlciBmcm9tICcuL2ZpbHRlci9kZWZhdWx0LWlucHV0LWZpbHRlci1jb252ZXJ0ZXInXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IElucHV0VmFsdWUgfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9pbnB1dC12YWx1ZSdcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG4vKipcbiAqIEJpbmRzIHRoZSBjb250cm9sIHZhbHVlIChuZ01vZGVsKSB0byBhIFNlYXJjaENvbnRleHRzIEZpbHRlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5wdXRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaElucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlYXJjaElucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsVmFsdWVEaXJlY3RpdmU6IEVsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcXVlcnlLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpXG4gIHByaXZhdGUgX2V4dHJhY3RlZE5hbWU6IHN0cmluZyB8IG51bGxcbiAgcHJpdmF0ZSBfdXNlclF1ZXJ5S2V5OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgRnVuY3Rpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgdmFsdWUgb2JqZWN0IHRvIGEgcXVlcnkgcGFyYW0gdmFsdWVcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dFRyYW5zZm9ybScpXG4gIHB1YmxpYyB2YWx1ZVRyYW5zZm9ybTogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbFxuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwsIERlZmF1bHQpIFBhdGggb24gdGhlIHZhbHVlIG9iamVjdCB0byB1c2UgYXMgcXVlcnkgcGFyYW0gdmFsdWVcbiAgICogIHZhbHVlID0gXCJ0eXBlLmlkXCJcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dCcpXG4gIHB1YmxpYyByZXNvbHZlUGF0aDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVXNlIHRoaXMgdmFsdWUgZm9yIHRoZSBxdWVyeSBpZiBub25lIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgQElucHV0KCdlbGRlclNlYXJjaElucHV0RmFsbGJhY2snKVxuICBwdWJsaWMgZmFsbGJhY2tWYWx1ZTogc3RyaW5nIHwgc3RyaW5nW11cblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsdWVBc0lkOiBCb29sZWFuSW5wdXRcblxuICBwcml2YXRlIF9pbnB1dENvbnZlcnRlcjogSW5wdXRGaWx0ZXJDb252ZXJ0ZXIgPSBEZWZhdWx0SW5wdXRGaWx0ZXJDb252ZXJ0ZXIub2YoXG4gICAgKCkgPT4gdGhpcy5xdWVyeUtleVxuICApXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hDb250ZXh0OiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWwsXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIHRoaXMuX2luaXRpYWxWYWx1ZURpcmVjdGl2ZSA9IG5ldyBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZShuZ01vZGVsKVxuICAgIHRoaXMuX3N0YXRlJCA9IHRoaXMuYnVpbGRJbnB1dFN0YXRlT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZVxuICAgICAgLy8gdGFwKHN0YXRlID0+IHRoaXMubG9nLmVycm9yKCdFTUlUIFNFQVJDSCBJTlBVVCBTVEFURSBbJyArIHN0YXRlLnF1ZXJ5S2V5ICsgJ106ICcgKyBzdGF0ZS5xdWVyeVZhbHVlICsgKHN0YXRlLnByaXN0aW5lID8gJyhwcmlzdGluZSknIDogJycpLCBzdGF0ZSkpXG4gICAgICAoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2V4dHJhY3RlZE5hbWUgPSB0aGlzLmV4dHJhY3ROYW1lKClcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5S2V5KClcbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVnaXN0ZXIodGhpcylcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZXh0cmFjdGVkTmFtZSA9IHRoaXMuZXh0cmFjdE5hbWUoKVxuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKVxuICAgIHRoaXMubG9nLmRlYnVnKHRoaXMucXVlcnlLZXkgKyAnIHwgJyArIHRoaXMucmVzb2x2ZVBhdGgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBVc3VhbGx5IHRoZSBjb250cm9sIG5hbWUgaXMgdXNlZCwgdGhpcyBhbGxvd3MgYSBjdXN0b20gcXVlcnkga2V5XG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXRLZXknKVxuICBwdWJsaWMgc2V0IHF1ZXJ5S2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91c2VyUXVlcnlLZXkgPSB2YWx1ZVxuICAgIHRoaXMudXBkYXRlUXVlcnlLZXkoKVxuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlLZXkkLmdldFZhbHVlKClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlLZXkkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5S2V5JFxuICB9XG5cbiAgcHVibGljIHNldCBpbnB1dENvbnZlcnRlcihpbnB1dENvbnZlcnRlcjogSW5wdXRGaWx0ZXJDb252ZXJ0ZXIpIHtcbiAgICB0aGlzLl9pbnB1dENvbnZlcnRlciA9IGlucHV0Q29udmVydGVyXG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkXG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbC52YWx1ZVxuICB9XG5cbiAgcHVibGljIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLmlzRGlzYWJsZWRcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhhc0ZhbGxiYWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHRoaXMuZmFsbGJhY2tWYWx1ZSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnNldElucHV0VmFsdWUodGhpcy5faW5wdXRDb252ZXJ0ZXIuY29udmVydFRvVmFsdWUoZmlsdGVycykpXG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ01vZGVsLnJlc2V0KClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBkYXRlUXVlcnlLZXkoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3S2V5ID0gdGhpcy5fdXNlclF1ZXJ5S2V5ID8/IHRoaXMuX2V4dHJhY3RlZE5hbWVcbiAgICBpZiAodGhpcy5fcXVlcnlLZXkkLmdldFZhbHVlKCkgIT09IG5ld0tleSkge1xuICAgICAgdGhpcy5fcXVlcnlLZXkkLm5leHQobmV3S2V5KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRWYWx1ZShxdWVyeVN0cmluZzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnZlcnRRdWVyeVN0cmluZ1RvUmF3TW9kZWxWYWx1ZShxdWVyeVN0cmluZylcbiAgICB0aGlzLl9pbml0aWFsVmFsdWVEaXJlY3RpdmUuc2V0VmFsdWUodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGdldCB2YWx1ZUNoYW5nZXMkKCkge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICBjb25zdCB2aWV3U3RhYmlsaXplZCQgPSBvZignc3RhYmlsaXplZCQnKS5waXBlKGRlbGF5KDIwKSwgZmlyc3QoKSlcblxuICAgIGNvbnN0IGlucHV0U3RhdGVDaGFuZ2VzJCA9IHRoaXMudmFsdWVDaGFuZ2VzJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBtYXAoKHZhbHVlKSA9PiB0aGlzLmJ1aWxkSW5wdXRTdGF0ZSh2YWx1ZSwgdHJ1ZSkpLFxuICAgICAgc2tpcFVudGlsKHZpZXdTdGFiaWxpemVkJCksXG4gICAgICBkZWJvdW5jZVRpbWUoMjApXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhcnREZWxheWVkJCA9IG9mKCdzdGFydCcpLnBpcGUoXG4gICAgICBkZWxheSgxNSksXG4gICAgICBtYXAoKHN0YXJ0KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5idWlsZElucHV0U3RhdGUodGhpcy5uZ01vZGVsLmNvbnRyb2wudmFsdWUsIGZhbHNlKVxuICAgICAgICByZXR1cm4gc3RhdGVcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgcmV0dXJuIGNvbmNhdChzdGFydERlbGF5ZWQkLCBpbnB1dFN0YXRlQ2hhbmdlcyQpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZShjb250cm9sVmFsdWU6IGFueSwgdXNlckV2ZW50OiBib29sZWFuKTogU2VhcmNoSW5wdXRTdGF0ZSB7XG4gICAgY29uc3QgcXVlcnlWYWx1ZSA9IHRoaXMuY29udmVydFJhd01vZGVsVmFsdWVUb1F1ZXJ5U3RyaW5nKGNvbnRyb2xWYWx1ZSlcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5faW5wdXRDb252ZXJ0ZXIuY29udmVydFRvRmlsdGVycyhxdWVyeVZhbHVlKVxuXG4gICAgcmV0dXJuIG5ldyBTZWFyY2hJbnB1dFN0YXRlKFxuICAgICAgdGhpcy5xdWVyeUtleSxcbiAgICAgIGZpbHRlcnMsXG4gICAgICB0aGlzLmFyZUFsbFByaXN0aW5lKGZpbHRlcnMpIHx8IHRoaXMuaXNGYWxsYmFja1ZhbHVlKHF1ZXJ5VmFsdWUpLFxuICAgICAgdXNlckV2ZW50XG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpc0ZhbGxiYWNrVmFsdWUocXVlcnlWYWx1ZTogSW5wdXRWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmhhc0ZhbGxiYWNrKSB7XG4gICAgICByZXR1cm4gdGhpcy5mYWxsYmFja1ZhbHVlID09PSBxdWVyeVZhbHVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBhcmVBbGxQcmlzdGluZShmaWx0ZXJzOiBGaWx0ZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KChmKSA9PiB0aGlzLmlzUHJpc3RpbmUoZikpXG4gIH1cblxuICBwcml2YXRlIGlzUHJpc3RpbmUoZmlsdGVyOiBGaWx0ZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQoZmlsdGVyLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0UXVlcnlTdHJpbmdUb1Jhd01vZGVsVmFsdWUocXVlcnlTdHJpbmc6IEZpbHRlclZhbHVlKTogRmlsdGVyVmFsdWUge1xuICAgIGlmIChPYmplY3RzLm5vbk51bGwocXVlcnlTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gcXVlcnlTdHJpbmdcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFJhd01vZGVsVmFsdWVUb1F1ZXJ5U3RyaW5nKGNvbnRyb2xWYWx1ZTogYW55KTogRmlsdGVyVmFsdWUge1xuICAgIGxldCBxdWVyeVZhbHVlOiBGaWx0ZXJWYWx1ZSA9IG51bGxcblxuICAgIGlmICh0aGlzLnZhbHVlQXNJZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHF1ZXJ5VmFsdWUgPSB0aGlzLmNoZWNrQW5kQ29udmVydEZhdWx0eVZhbHVlc1RvTnVsbChjb250cm9sVmFsdWUpXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQXR0cmlidXRlVmFsdWVQcmVzZW50KGNvbnRyb2xWYWx1ZSkpIHtcbiAgICAgIC8vIEF0dHJpYnV0ZSB2YWx1ZSBpcyBwcmVzZW50XG4gICAgICBxdWVyeVZhbHVlID0gdGhpcy5yZXNvbHZlVmFsdWUoY29udHJvbFZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oYXNGYWxsYmFjaykge1xuICAgICAgICBxdWVyeVZhbHVlID0gdGhpcy5mYWxsYmFja1ZhbHVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1ZXJ5VmFsdWVcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tBbmRDb252ZXJ0RmF1bHR5VmFsdWVzVG9OdWxsKHZhbHVlOiBhbnkpIHtcbiAgICBsZXQgZml4ZWRWYWx1ZSA9IHZhbHVlXG4gICAgZml4ZWRWYWx1ZSA9IHRoaXMuY29udmVydEVtcHR5QXJyYXlUb051bGwoZml4ZWRWYWx1ZSlcbiAgICBmaXhlZFZhbHVlID0gdGhpcy5jb252ZXJ0RW1wdHlTdHJpbmdUb051bGwoZml4ZWRWYWx1ZSlcblxuICAgIHJldHVybiBmaXhlZFZhbHVlXG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRFbXB0eUFycmF5VG9OdWxsKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0RW1wdHlTdHJpbmdUb051bGwodmFsdWU6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBwcml2YXRlIGlzQXR0cmlidXRlVmFsdWVQcmVzZW50KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2VhcmNoSW5wdXRTdGF0ZS5pc1ZhbHVlRGVmaW5lZCh2YWx1ZSkgJiYgKHZhbHVlICsgJycpLmxlbmd0aCAhPT0gMFxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkVmFsdWVzID0gdmFsdWVcbiAgICAgICAgICAubWFwKCh2KSA9PiB0aGlzLnJlc29sdmVTaW5nbGVWYWx1ZSh2KSlcbiAgICAgICAgICAuZmlsdGVyKCh2KSA9PiBPYmplY3RzLm5vbk51bGwodikpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uY2F0SWZOZWNlc3NhcnkocmVzb2x2ZWRWYWx1ZXMpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2luZ2xlVmFsdWUodmFsdWUpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2luZ2xlVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgdmFsdWUgPSBQcm9wZXJ0eVBhdGhVdGlsLnJlc29sdmVWYWx1ZSh2YWx1ZSwgdGhpcy5yZXNvbHZlUGF0aClcbiAgICB2YWx1ZSA9IHRoaXMudmFsdWVUcmFuc2Zvcm0gPyB0aGlzLnZhbHVlVHJhbnNmb3JtKHZhbHVlKSA6IHZhbHVlXG5cbiAgICBpZiAoT2JqZWN0cy5ub25OdWxsKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcigoaSkgPT4gT2JqZWN0cy5ub25OdWxsKGkpKS5tYXAoKGkpID0+IGkudG9TdHJpbmcoKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLm5hbWVcbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0SWZOZWNlc3NhcnkodmFsdWVzOiAoc3RyaW5nIHwgc3RyaW5nW10pW10pOiBhbnlbXSB7XG4gICAgY29uc3QgYXJyYXlzID0gdmFsdWVzLm1hcCgodikgPT4ge1xuICAgICAgaWYgKHYgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICByZXR1cm4gdlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFt2XVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIENvbGxlY3Rpb25VdGlsLmZsYXR0ZW4oYXJyYXlzKVxuICB9XG59XG4iXX0=
|
|
@@ -26,12 +26,17 @@ export { ElderSearchPanelComponent } from './search-box/elder-search-panel.compo
|
|
|
26
26
|
// Because of AOT Compiler
|
|
27
27
|
export function initSearchUrlService(searchUrlService) {
|
|
28
28
|
// Hack to use Lambda here!
|
|
29
|
-
return () => {
|
|
29
|
+
return () => {
|
|
30
|
+
searchUrlService.init();
|
|
31
|
+
};
|
|
30
32
|
}
|
|
31
33
|
export class ElderSearchModule {
|
|
32
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchModule, imports: [CommonModule,
|
|
34
|
-
|
|
35
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchModule, imports: [CommonModule,
|
|
36
|
+
FormsModule,
|
|
37
|
+
MatInputModule,
|
|
38
|
+
MatButtonModule,
|
|
39
|
+
MatIconModule,
|
|
35
40
|
MatBadgeModule,
|
|
36
41
|
A11yModule,
|
|
37
42
|
ElderOverlayModule,
|
|
@@ -53,10 +58,13 @@ export class ElderSearchModule {
|
|
|
53
58
|
provide: APP_INITIALIZER,
|
|
54
59
|
useFactory: initSearchUrlService,
|
|
55
60
|
deps: [ElderSearchUrlService],
|
|
56
|
-
multi: true
|
|
61
|
+
multi: true,
|
|
57
62
|
},
|
|
58
|
-
], imports: [CommonModule,
|
|
59
|
-
|
|
63
|
+
], imports: [CommonModule,
|
|
64
|
+
FormsModule,
|
|
65
|
+
MatInputModule,
|
|
66
|
+
MatButtonModule,
|
|
67
|
+
MatIconModule,
|
|
60
68
|
MatBadgeModule,
|
|
61
69
|
A11yModule,
|
|
62
70
|
ElderOverlayModule,
|
|
@@ -73,12 +81,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
73
81
|
provide: APP_INITIALIZER,
|
|
74
82
|
useFactory: initSearchUrlService,
|
|
75
83
|
deps: [ElderSearchUrlService],
|
|
76
|
-
multi: true
|
|
84
|
+
multi: true,
|
|
77
85
|
},
|
|
78
86
|
],
|
|
79
87
|
imports: [
|
|
80
|
-
CommonModule,
|
|
81
|
-
|
|
88
|
+
CommonModule,
|
|
89
|
+
FormsModule,
|
|
90
|
+
MatInputModule,
|
|
91
|
+
MatButtonModule,
|
|
92
|
+
MatIconModule,
|
|
82
93
|
MatBadgeModule,
|
|
83
94
|
A11yModule,
|
|
84
95
|
ElderOverlayModule,
|
|
@@ -90,15 +101,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
90
101
|
ElderSearchInputDirective,
|
|
91
102
|
ElderInitialValueDirective,
|
|
92
103
|
ElderSearchBoxComponent,
|
|
93
|
-
ElderSearchPanelComponent
|
|
104
|
+
ElderSearchPanelComponent,
|
|
94
105
|
],
|
|
95
106
|
exports: [
|
|
96
107
|
ElderSearchContextDirective,
|
|
97
108
|
ElderSearchUrlDirective,
|
|
98
109
|
ElderSearchInputDirective,
|
|
99
110
|
ElderSearchBoxComponent,
|
|
100
|
-
ElderSearchPanelComponent
|
|
101
|
-
]
|
|
111
|
+
ElderSearchPanelComponent,
|
|
112
|
+
],
|
|
102
113
|
}]
|
|
103
114
|
}] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQzlFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTs7QUFFN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFFckYsMEJBQTBCO0FBQzFCLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxnQkFBdUM7SUFDMUUsMkJBQTJCO0lBQzNCLE9BQU8sR0FBRyxFQUFFO1FBQ1YsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDekIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQXNDRCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixZQTFCMUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2QsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLGVBQWU7WUFDZiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHlCQUF5QixhQUd6QiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCOytHQUdoQixpQkFBaUIsYUFuQ2pCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxvQkFBb0I7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUM3QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFFQyxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWM7WUFDZCxVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQiwwQkFBMEI7WUFDMUIsZUFBZTtZQUtmLHVCQUF1Qjs7MkZBV2QsaUJBQWlCO2tCQXBDN0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxvQkFBb0I7NEJBQ2hDLElBQUksRUFBRSxDQUFDLHFCQUFxQixDQUFDOzRCQUM3QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixlQUFlO3dCQUNmLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50J1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJPdmVybGF5TW9kdWxlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS5tb2R1bGUnXG5pbXBvcnQgeyBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlclBhbmVsTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGFuZWxzL2VsZGVyLXBhbmVsLm1vZHVsZSdcbmltcG9ydCB7IEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9lbGRlci1mb3Jtcy1kaXJlY3RpdmVzLm1vZHVsZSdcbmltcG9ydCB7IEVsZGVyU2VhcmNoVXJsRGlyZWN0aXZlIH0gZnJvbSAnLi9kb21haW4vdXJsL2VsZGVyLXNlYXJjaC11cmwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VsZGVyLWluaXRpYWwtdmFsdWUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hVcmxTZXJ2aWNlIH0gZnJvbSAnLi9kb21haW4vdXJsL2VsZGVyLXNlYXJjaC11cmwuc2VydmljZSdcblxuZXhwb3J0IHsgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnXG5leHBvcnQgeyBFbGRlclNlYXJjaFVybERpcmVjdGl2ZSB9IGZyb20gJy4vZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUnXG5leHBvcnQgeyBFbGRlclNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCdcblxuLy8gQmVjYXVzZSBvZiBBT1QgQ29tcGlsZXJcbmV4cG9ydCBmdW5jdGlvbiBpbml0U2VhcmNoVXJsU2VydmljZShzZWFyY2hVcmxTZXJ2aWNlOiBFbGRlclNlYXJjaFVybFNlcnZpY2UpIHtcbiAgLy8gSGFjayB0byB1c2UgTGFtYmRhIGhlcmUhXG4gIHJldHVybiAoKSA9PiB7XG4gICAgc2VhcmNoVXJsU2VydmljZS5pbml0KClcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiBpbml0U2VhcmNoVXJsU2VydmljZSxcbiAgICAgIGRlcHM6IFtFbGRlclNlYXJjaFVybFNlcnZpY2VdLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBBMTF5TW9kdWxlLFxuICAgIEVsZGVyT3ZlcmxheU1vZHVsZSxcbiAgICBFbGRlclBhbmVsTW9kdWxlLFxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgRWxkZXJTZWFyY2hVcmxEaXJlY3RpdmUsXG4gICAgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSxcbiAgICBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZSxcbiAgICBFbGRlclNlYXJjaEJveENvbXBvbmVudCxcbiAgICBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgIEVsZGVyU2VhcmNoVXJsRGlyZWN0aXZlLFxuICAgIEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUsXG4gICAgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hNb2R1bGUge31cbiJdfQ==
|
|
@@ -22,9 +22,7 @@ export default class DefaultInputFilterConverter {
|
|
|
22
22
|
* *
|
|
23
23
|
**************************************************************************/
|
|
24
24
|
convertToFilters(inputValue) {
|
|
25
|
-
return [
|
|
26
|
-
new Filter(this.queryKey(), inputValue)
|
|
27
|
-
];
|
|
25
|
+
return [new Filter(this.queryKey(), inputValue)];
|
|
28
26
|
}
|
|
29
27
|
convertToValue(filters) {
|
|
30
28
|
const queryKey = this.queryKey();
|
|
@@ -44,4 +42,4 @@ export default class DefaultInputFilterConverter {
|
|
|
44
42
|
return this.queryKeyProviderFn();
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbnB1dC1maWx0ZXItY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZmlsdGVyL2RlZmF1bHQtaW5wdXQtZmlsdGVyLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFFL0QsTUFBTSxDQUFDLE9BQU8sT0FBTywyQkFBMkI7SUFDOUM7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxFQUFFLENBQUMsa0JBQWdDO1FBQy9DLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsWUFBcUMsa0JBQWdDO1FBQWhDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBYztJQUFHLENBQUM7SUFFekU7Ozs7Z0ZBSTRFO0lBRXJFLGdCQUFnQixDQUFDLFVBQXNCO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQWlCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNoQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFBO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0RmlsdGVyQ29udmVydGVyIH0gZnJvbSAnLi9pbnB1dC1maWx0ZXItY29udmVydGVyJ1xuaW1wb3J0IHsgSW5wdXRWYWx1ZSB9IGZyb20gJy4uL2RvbWFpbi9pbnB1dC9pbnB1dC12YWx1ZSdcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJ1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWZhdWx0SW5wdXRGaWx0ZXJDb252ZXJ0ZXIgaW1wbGVtZW50cyBJbnB1dEZpbHRlckNvbnZlcnRlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgb2YocXVlcnlLZXlQcm92aWRlckZuOiAoKSA9PiBzdHJpbmcpOiBEZWZhdWx0SW5wdXRGaWx0ZXJDb252ZXJ0ZXIge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdElucHV0RmlsdGVyQ29udmVydGVyKHF1ZXJ5S2V5UHJvdmlkZXJGbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBxdWVyeUtleVByb3ZpZGVyRm46ICgpID0+IHN0cmluZykge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY29udmVydFRvRmlsdGVycyhpbnB1dFZhbHVlOiBJbnB1dFZhbHVlKTogRmlsdGVyW10ge1xuICAgIHJldHVybiBbbmV3IEZpbHRlcih0aGlzLnF1ZXJ5S2V5KCksIGlucHV0VmFsdWUpXVxuICB9XG5cbiAgcHVibGljIGNvbnZlcnRUb1ZhbHVlKGZpbHRlcnM6IEZpbHRlcltdKTogSW5wdXRWYWx1ZSB7XG4gICAgY29uc3QgcXVlcnlLZXkgPSB0aGlzLnF1ZXJ5S2V5KClcbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICBpZiAoZmlsdGVyLmtleSA9PT0gcXVlcnlLZXkpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBxdWVyeUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5S2V5UHJvdmlkZXJGbigpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLWNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2ZpbHRlci9pbnB1dC1maWx0ZXItY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IElucHV0VmFsdWUgfSBmcm9tICcuLi9kb21haW4vaW5wdXQvaW5wdXQtdmFsdWUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRGaWx0ZXJDb252ZXJ0ZXIge1xuICAvKipcbiAgICogQ29udmVydCB0aGUgSW5wdXQgVmFsdWUgdG8gb25lIG9yIG1vcmUgRmlsdGVycy5cbiAgICogTXVsdGlwbGUgRmlsdGVycyBhcmUgcmV0dXJuZWQgaW4gc3BlY2lhbCBjYXNlcyBzdWNoIGFzIGluY2x1ZGUvZXhjbHVkZS5cbiAgICogQHBhcmFtIGlucHV0VmFsdWVcbiAgICovXG4gIGNvbnZlcnRUb0ZpbHRlcnMoaW5wdXRWYWx1ZTogSW5wdXRWYWx1ZSk6IEZpbHRlcltdXG5cbiAgLyoqXG4gICAqIFBpY2sgdGhlIHJlbGV2YW50IGZpbHRlcnMgYW5kIGNvbnZlcnQgdG8gdGhlIElucHV0VmFsdWUuXG4gICAqIFVzdWFsbHkgYW4gSW5wdXQgY29uc3VtZXMgb25lIGZpbHRlciwgYnV0IGFkdmFuY2VkIGNhc2VzIGNhbiBjb25zdW1lIG1vcmUuXG4gICAqIEBwYXJhbSBmaWx0ZXJcbiAgICovXG4gIGNvbnZlcnRUb1ZhbHVlKGZpbHRlcjogRmlsdGVyW10pOiBJbnB1dFZhbHVlXG59XG4iXX0=
|