@elderbyte/ngx-starter 17.7.2 → 17.8.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/esm2022/lib/common/arrays.mjs +2 -2
- package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +2 -2
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +4 -4
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +2 -2
- package/esm2022/lib/common/data/field-comparator.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter-context.mjs +2 -2
- package/esm2022/lib/common/data/http-params-builder.mjs +2 -2
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +5 -5
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +11 -11
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +1 -1
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +1 -1
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +1 -1
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
- package/esm2022/lib/common/forms/form-field-base.component.mjs +1 -1
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +1 -1
- package/esm2022/lib/common/forms/template-composite-control.mjs +2 -3
- package/esm2022/lib/common/forms/value-accessor-base.mjs +1 -1
- package/esm2022/lib/common/http/http-client-builder.service.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +1 -1
- package/esm2022/lib/common/time/interval.mjs +6 -6
- package/esm2022/lib/common/time/period-duration.mjs +1 -1
- package/esm2022/lib/common/url/elder-router.service.mjs +1 -1
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +1 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +1 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +1 -1
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +1 -1
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +1 -1
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +1 -1
- package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +5 -9
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -9
- package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +1 -1
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +1 -1
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +6 -6
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +1 -1
- package/esm2022/lib/components/chips/elder-chips.module.mjs +1 -1
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +1 -1
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +1 -1
- package/esm2022/lib/components/containers/elder-containers.module.mjs +1 -1
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv.module.mjs +1 -1
- package/esm2022/lib/components/currency/elder-currency.module.mjs +1 -1
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +1 -1
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +1 -1
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +1 -1
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +1 -1
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +1 -1
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +1 -1
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +1 -1
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +1 -1
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +2 -2
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +1 -1
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +1 -1
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +1 -1
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +1 -1
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +1 -1
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +1 -1
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +1 -1
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +1 -1
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +1 -1
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +1 -1
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +1 -1
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +1 -1
- package/esm2022/lib/components/errors/elder-error.module.mjs +1 -1
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +1 -1
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +1 -1
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +1 -1
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +1 -1
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +1 -1
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +1 -1
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +1 -1
- package/esm2022/lib/components/files/elder-file.module.mjs +1 -1
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +1 -1
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +1 -1
- package/esm2022/lib/components/files/listing/file-entry.mjs +2 -2
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +1 -1
- package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +2 -2
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +1 -1
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -5
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +23 -23
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +1 -1
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +1 -1
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +1 -1
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +1 -1
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +1 -1
- package/esm2022/lib/components/headers/elder-header.module.mjs +1 -1
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +1 -1
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +1 -1
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +1 -1
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +1 -1
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +1 -1
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +2 -2
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +1 -1
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +2 -2
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
- package/esm2022/lib/components/iframes/typed-event-message.mjs +2 -2
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +1 -1
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +1 -1
- package/esm2022/lib/components/labels/elder-labels.module.mjs +1 -1
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +9 -17
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +1 -1
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +1 -1
- package/esm2022/lib/components/measures/elder-measures.module.mjs +1 -1
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +1 -1
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +1 -1
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +1 -1
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +1 -1
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +1 -1
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +1 -1
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +1 -1
- package/esm2022/lib/components/panels/elder-panel.module.mjs +1 -1
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +1 -1
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +1 -1
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +1 -1
- package/esm2022/lib/components/select/elder-select-base.mjs +1 -1
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +1 -1
- package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +2 -2
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +24 -24
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +1 -1
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +1 -1
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +6 -6
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +1 -1
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +2 -3
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +1 -1
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +1 -1
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +1 -1
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +1 -1
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +1 -1
- package/esm2022/lib/components/shell/elder-shell.module.mjs +1 -1
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +1 -1
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +1 -1
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +1 -1
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +1 -1
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +1 -1
- package/esm2022/lib/components/theme/elder-theme.module.mjs +1 -1
- package/esm2022/lib/components/theme/elder-theme.service.mjs +1 -1
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +5 -5
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +1 -1
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +1 -1
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +2 -2
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +73 -21
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +1 -1
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +1 -1
- package/esm2022/lib/components/time/elder-time.module.mjs +1 -1
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +1 -1
- 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 +1 -1
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +1 -1
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +1 -1
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +1 -1
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +23 -25
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent.module.mjs +1 -1
- package/esm2022/lib/pipes/bytes.pipe.mjs +1 -1
- package/esm2022/lib/pipes/elder-pipes.module.mjs +1 -1
- package/esm2022/lib/pipes/elder-round.pipe.mjs +1 -1
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +1 -1
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +1 -1
- package/esm2022/lib/pipes/weight.pipe.mjs +1 -1
- package/fesm2022/elderbyte-ngx-starter.mjs +162 -133
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/filters/filter-context.d.ts +1 -1
- package/lib/common/data/required-filter-evaluator.d.ts +3 -3
- package/lib/common/enums/elder-enum-translation.service.d.ts +3 -3
- package/lib/components/badge/elder-badge/elder-badge.component.d.ts +1 -1
- package/lib/components/forms/search/elder-search.module.d.ts +5 -5
- package/lib/components/scrollbar/elder-scrollbar.directive.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +4 -4
- package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +12 -12
- package/lib/components/select/multi/elder-mutli-select-all-directive.d.ts +2 -2
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -2
- package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +16 -6
- package/lib/features/event-source/fetch/reactive-fetch-event-source.d.ts +11 -10
- package/package.json +1 -1
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
75
75
|
type: Input,
|
|
76
76
|
args: ['autoSelectFirst']
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvYXV0by9lbGRlci1hdXRvLXNlbGVjdC1maXJzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyw2QkFBNkI7SUFZeEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ2tCLFdBQW9EO1FBQXBELGdCQUFXLEdBQVgsV0FBVyxDQUF5QztRQWpCdEU7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFZbEUsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7OztPQUdHO0lBQ0gsSUFDVyxzQkFBc0IsQ0FBQyxHQUFxQjtRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxHQUFZO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzVELG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDRFQUE0RSxDQUFDLENBQUM7U0FDN0Y7SUFDSCxDQUFDOzhHQXZFVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUZBK0NZLHNCQUFzQjtzQkFEaEMsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7RWxkZXJTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Rmlyc3RVdGlsfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1maXJzdC11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXV0b1NlbGVjdEZpcnN0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZTxURW50aXR5ID0gYW55LCBUSWQgPSBhbnk+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZGVyU2VsZWN0OiBFbGRlclNlbGVjdENvbXBvbmVudDxURW50aXR5LCBUSWQsIGFueT5cbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyBIQUNLOiBXYWl0IHVudGlsIG5nTW9kZWwgaGFzIGRvbmUgaXRzIHN0cmFuZ2UgbnVsbC9lbXB0eSB2YWx1ZSBpbml0Li4uXG4gICAgICB0aGlzLmxvZy5pbmZvKCdhdXRvU2VsZWN0Rmlyc3QgYWZ0ZXItdmlldyBpbml0LCBhdXRvIHNlbGVjdGluZyB2YWx1ZScpO1xuICAgICAgdGhpcy5oYW5kbGVBdXRvU2VsZWN0Rmlyc3QoKTtcbiAgICB9LCAxMCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQWZ0ZXIgZGF0YSBpcyBsb2FkZWQgaW50byB0aGlzIHNlbGVjdCwgZW5zdXJlIHRoYXRcbiAgICogYSB2YWx1ZSBpcyBzZWxlY3RlZCBvciBzZWxlY3QgdGhlIGZpcnN0IGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBASW5wdXQoJ2F1dG9TZWxlY3RGaXJzdCcpXG4gIHB1YmxpYyBzZXQgYXV0b1NlbGVjdEZpcnN0RW5hYmxlZCh2YWw6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLmVuYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZW5hYmxlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gdmFsO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBoYW5kbGVBdXRvU2VsZWN0Rmlyc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVsZGVyU2VsZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmxvZy5kZWJ1ZygnQXR0ZW1wdGluZyB0byBhdXRvIHNlbGVjdCBmaXJzdCBlbnRpdHkuLi4nKTtcbiAgICAgIEVsZGVyU2VsZWN0Rmlyc3RVdGlsLnRyeVNlbGVjdEZpcnN0KHRoaXMuZWxkZXJTZWxlY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdDb25mbGljdCBhdm9pZGVkOiBBYm9ydGVkIGF1dG8gc2VsZWN0aW9uIGJlY2F1c2UgdmFsdWUgaWQgYWxyZWFkeSBwcmVzZW50IScpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -311,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
311
311
|
type: ContentChildren,
|
|
312
312
|
args: [ElderSelectOptionComponent]
|
|
313
313
|
}] } });
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUFFLGVBQWUsRUFFN0IsU0FBUyxFQUVULFlBQVksRUFDWixjQUFjLEVBQ2QsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBR3ZGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBSXJGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEVBQWUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUlyRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7QUFJMUcsTUFBTSxPQUFPLHlCQUF5QjtJQUU3QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQTBCO1FBQ3RELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVDO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3hCLE9BQU8seUJBQXlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0wsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QztJQUNILENBQUM7SUFHTSxNQUFNLENBQUMsSUFBSTtRQUNoQixPQUFPLElBQUkseUJBQXlCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLHlCQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBVTtRQUM1QixJQUFJLFFBQWdCLENBQUM7UUFDckIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUkseUJBQXlCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDa0IsSUFBYSxFQUNiLE9BQWdCLEVBQ2hCLEtBQWE7UUFGYixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBRS9CLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFpQyxpQkFBaUIsQ0FBQyxDQUFDO0FBR3ZHOzs7Ozs7Ozs7O0dBVUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFnQixlQUFzQyxTQUFRLHlCQUFpQztJQTJFbkc7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLElBQVksRUFDN0IsT0FBbUIsRUFDbkIsV0FBbUIsRUFDbkIsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLFNBQXFCO1FBRXJCLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQVB0RCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBaEYvQjs7OztvRkFJNEU7UUFFM0QsWUFBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxtQkFBYyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDOUMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQXdDLEVBQUUsQ0FBQyxDQUFDO1FBSWpGLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRWhDOzs7Ozs7V0FNRztRQUVJLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFTiw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUUxSTs7OztXQUlHO1FBQ2EsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFaEY7O1dBRUc7UUFFSSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBR2QsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQXFCMUI7OztXQUdHO1FBRWEsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTdDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBNEIseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQWlCMUcsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLFNBQVMsQ0FBQyxTQUF1QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csZUFBZSxDQUFDLFFBQWdCO1FBQ3pDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUNXLHVCQUF1QixDQUFDLFFBQXdCO1FBQ3pELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWlCO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUNXLFVBQVUsQ0FBQyxNQUE0QjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBVzthQUNuRCxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxJQUE0QztRQUUxRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxJQUFJLFlBQVksS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFXO2lCQUNuRCxTQUFTLEVBQUU7aUJBQ1gsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3JFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsSUFBMkI7UUFDaEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxhQUFhLENBQUMsUUFBMEI7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFvQixVQUFVO1FBQzVCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxZQUFZLENBQUMsYUFBc0I7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxjQUF5QjtRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQXFCO1FBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFnQztRQUNqRCxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQW9CLGdCQUFnQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUNXLGdCQUFnQixDQUFDLEtBQTRDO1FBQ3RFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFhRDs7OztnRkFJNEU7SUFFbEUsV0FBVyxDQUFDLE1BQWU7UUFDbkMsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9DO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLCtFQUErRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMvRztJQUNILENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQy9DLElBQUksVUFBVSxFQUFFO2dCQUNkLE9BQU8sVUFBVSxDQUFDO2FBQ25CO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0ZBQWdGLEdBQUcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDN0g7U0FDRjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRkFBaUYsQ0FBQyxDQUFDO1NBQ3BHO0lBQ0gsQ0FBQztJQUVTLE9BQU8sQ0FBQyxDQUFVLEVBQUUsQ0FBVTtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSwwQ0FBMEM7WUFDbEYsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFUyxPQUFPLENBQUMsQ0FBVTtRQUMxQixPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFjLEVBQUUsUUFBZ0I7UUFDNUQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBYSxLQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzhHQTdTbUIsZUFBZTtrR0FBZixlQUFlLHFnQkFxRHJCLHlCQUF5QiwyQkFBUyxXQUFXLDRFQUk3Qyw0QkFBNEIsc0VBbUt6QiwwQkFBMEI7OzJGQTVOdkIsZUFBZTtrQkFGcEMsU0FBUzsyTUEwQkQsT0FBTztzQkFEYixLQUFLO2dCQWdCQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLbkUsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSW5DLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBUVUsY0FBYztzQkFEN0IsTUFBTTtnQkE2QkksU0FBUztzQkFEbkIsS0FBSztnQkFhSyxlQUFlO3NCQUR6QixLQUFLO2dCQU1LLHVCQUF1QjtzQkFEakMsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBWUssSUFBSTtzQkFEZCxLQUFLO2dCQThCSyxhQUFhO3NCQUR2QixLQUFLO2dCQW9ESyxnQkFBZ0I7c0JBRDFCLGVBQWU7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtJRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0RhdGFDb250ZXh0QnVpbGRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1idWlsZGVyJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuaW1wb3J0IHtFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC12YWx1ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0V2l0aCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3J1bkluWm9uZX0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWxzL25nLXpvbmUtdXRpbHMnO1xuaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0VsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2V9IGZyb20gJy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBUZXh0UmVzb2x2ZXJGbiA9ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcblxuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhQ29udGV4dChkY1N0YXRlOiBEYXRhQ29udGV4dFN0YXR1cyk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIGlmIChkY1N0YXRlLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmxvYWRpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGRjU3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmVycm9yKGRjU3RhdGUuZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCk7XG4gICAgfVxuICB9XG5cblxuICBwdWJsaWMgc3RhdGljIGlkbGUoKTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKHRydWUsIGZhbHNlLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9hZGluZygpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUoZmFsc2UsIHRydWUsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlcnJvcihlcnJvcjogYW55KTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgbGV0IGVycm9yTXNnOiBzdHJpbmc7XG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yTXNnID0gSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvck1zZyA9IGVycm9yO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUoZmFsc2UsIGZhbHNlLCBlcnJvck1zZyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWRsZTogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZzogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXJyb3I6IHN0cmluZ1xuICApIHtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgRUxERVJfU0VMRUNUX0JBU0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48RWxkZXJTZWxlY3RCYXNlPGFueSwgYW55LCBhbnk+PignRWxkZXJTZWxlY3RCYXNlJyk7XG5cblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgRWxkZXIgU2VsZWN0aW9uIENvbnRyb2xzLlxuICpcbiAqICBFbGRlciBTZWxlY3Rpb24gaGFzIHRoZSBmb2xsb3dpbmcgYWJzdHJhY3QgY29uY2VwdDpcbiAqXG4gKiAtIFN1Z2dlc3Rpb24tTW9kZWw6IEEgRGF0YVNvdXJjZSBhbmQgZGVyaXZlZCBEYXRhQ29udGV4dCBmb3IgdGhlIChhdXRvLWNvbXBsZXRlKSBzdWdnZXN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gVElEIEVudGl0eSBJZCBUeXBlXG4gKiBAcGFyYW0gVCBFbnRpdHkgVHlwZVxuICogQHBhcmFtIFRWYWx1ZSBWYWx1ZSBiYWNraW5nIHRoZSBjb250cm9sLiBDYW4gYmUgdGhlIGVudGl0eSwgdGhlIGlkIG9yIHNvbWV0aGluZyBlbHNlLlxuICovXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVsZGVyU2VsZWN0QmFzZTxUSWQsIFRFbnRpdHksIFRWYWx1ZT4gZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPFRWYWx1ZT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckNvbnRleHQgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuICBwcml2YXRlIF90ZW1wbGF0ZU9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudDxURW50aXR5PltdPihbXSk7XG5cbiAgcHJpdmF0ZSBfdmFsdWVBc0lkOiBib29sZWFuO1xuXG4gIHByb3RlY3RlZCB0aW1lb3V0QWZ0ZXJNcyA9IDUwMDA7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBlbGRlci1zZWxlY3Qgc2hvdWxkIGNsZWFuIHVwIHRoZVxuICAgKiBkYXRhLWNvbnRleHQgcmVzb3VyY2VzIGZvciB5b3UuXG4gICAqXG4gICAqIEluIG1vcmUgYWR2YW5jZWQgc2NlbmFyaW9zIHdoZXJlIHlvdSBwbGFuIHRvIHJldXNlIHRoZSBzYW1lIGRhdGEtY29udGV4dFxuICAgKiBzZXQgdGhpcyB0byBmYWxzZSBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIHlvdXJzZWxmLiAoZGF0YUNvbnRleHQuY2xvc2UpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xlYW5VcCA9IHRydWU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGV4dFJlc29sdmVyRm4+KCh2YWx1ZTogVEVudGl0eSkgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBudWxsKSk7XG5cbiAgLyoqXG4gICAqIEVudGl0eSBEYXRhQ29udGV4dCwgd2hpY2ggaXMgdXNlZFxuICAgKiB0byBzaWRlIGxvYWQgZW50aXRpZXMgYnkgaWQgYW5kIGFsc29cbiAgICogdG8gbG9hZCBzdWdnZXN0aW9ucyB3aGVuIGF1dG8tY29tcGxldGluZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxURW50aXR5Pj4obnVsbCk7XG5cbiAgLyoqXG4gICAqIFBhZ2Ugc2l6ZS4gKFVzZWQgZm9yIGluZmluaXRlIHNjcm9sbGluZyBjaHVua3MpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNpemUgPSAxMDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlGaWx0ZXIgPSAncXVlcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0czogU29ydFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9wdGlvbiB0ZW1wbGF0ZSB0byBjdXN0b21pemUgdGhlIHVpIGxvb2suXG4gICAqL1xuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHZhbHVlVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdmFsdWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWxlY3Rpb25Qb3B1cDogU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25EaXNhYmxlZEZuOiAob3B0aW9uOiBURW50aXR5KSA9PiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkhpZGRlbkZuOiAob3B0aW9uOiBURW50aXR5KSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB1c2VyIGhhcyBjbGlja2VkIG9uIHRoZSBjdXJyZW50XG4gICAqIHNlbGVjdGVkIGVudGl0eS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRFbnRpdHk+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZT4oRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIGNvbnRyb2xUeXBlOiBzdHJpbmcsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoaG9zdFJlZiwgY29udHJvbFR5cGUsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgbmdDb250cm9sKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0lkKHZhbHVlQXNJZDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdmFsdWVBc0lkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlQXNJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlQXNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVBc0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGRpc3BsYXkgdGhlIHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyID0gKHZhbHVlID0+IHRoaXMucHJvcGVydHlTdHJpbmdWYWx1ZSh2YWx1ZSwgcHJvcGVydHkpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIocmVzb2x2ZXI6IFRleHRSZXNvbHZlckZuKSB7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlciQubmV4dChyZXNvbHZlcik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dC5maWx0ZXJzU25hcHNob3Q7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGFTb3VyY2Uoc291cmNlOiBJRGF0YVNvdXJjZTxURW50aXR5Pikge1xuICAgIHRoaXMuZGF0YUNvbnRleHQgPSBEYXRhQ29udGV4dEJ1aWxkZXIuc3RhcnQ8VEVudGl0eT4oKVxuICAgICAgLnBhZ2VTaXplKHRoaXMucGFnZVNpemUpXG4gICAgICAuYnVpbGQoc291cmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJRGF0YVNvdXJjZTxURW50aXR5PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGEoZGF0YTogQXJyYXk8VEVudGl0eT4gfCBJRGF0YUNvbnRleHQ8VEVudGl0eT4pIHtcblxuICAgIHRoaXMuYXV0b0NsZWFuVXAoKTtcblxuICAgIGlmIChkYXRhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQgPSBEYXRhQ29udGV4dEJ1aWxkZXIuc3RhcnQ8VEVudGl0eT4oKVxuICAgICAgICAubG9jYWxTb3J0KClcbiAgICAgICAgLmJ1aWxkTG9jYWwoZGF0YSk7IC8vIE1lbW9yeSBsZWFrXG4gICAgICB0aGlzLmRhdGFDb250ZXh0LnN0YXJ0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQgPSBkYXRhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpLmJ1aWxkRW1wdHkoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFDb250ZXh0KGRhdGE6IElEYXRhQ29udGV4dDxURW50aXR5Pikge1xuICAgIHRoaXMuYXV0b0NsZWFuVXAoKTtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICAgIHRoaXMub25EYXRhQ29udGV4dENoYW5nZWQoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxURW50aXR5PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl92YWx1ZVRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlVGVtcGxhdGUgfHwgdGhpcy52YWx1ZVRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdGF0ZSQuZ2V0VmFsdWUoKS5lcnJvciB8fCBzdXBlci5lcnJvclN0YXRlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uQ3VycmVudENsaWNrZWQoZW50aXR5OiBURW50aXR5KTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50Q2xpY2tlZC5lbWl0KGVudGl0eSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXI/OiBGaWx0ZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0LnVwZGF0ZUZpbHRlcih1cGRhdGVkRmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXJzKHVwZGF0ZWRGaWx0ZXJzPzogRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0LnVwZGF0ZUZpbHRlcnModXBkYXRlZEZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2VGaWx0ZXJzKG5ld0ZpbHRlcnM/OiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQucmVwbGFjZUZpbHRlcnMobmV3RmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZShzdGF0ZTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSk6IHZvaWQge1xuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oJ3VwZGF0ZVN0YXRlIHRvIEVycm9yOiAnICsgc3RhdGUuZXJyb3IpO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlJC5uZXh0KHN0YXRlKTtcbiAgICB0aGlzLmVtaXRTdGF0ZUNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yU3RhdGUgfHwgISF0aGlzLmljb24gfHwgc3VwZXIuc2hvdWxkTGFiZWxGbG9hdDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQpXG4gIHB1YmxpYyBzZXQgdGVtcGxhdGVPcHRpb25zJChjb21wczogRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQ8VEVudGl0eT5bXSkge1xuICAgIHRoaXMuX3RlbXBsYXRlT3B0aW9ucyQubmV4dChjb21wcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbXBsYXRlT3B0aW9ucyQoKTogT2JzZXJ2YWJsZTxFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudDxURW50aXR5PltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlT3B0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQWJzdHJhY3QgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHN1Z2dlc3Rpb25zIGRhdGEtY29udGV4dCBoYXMgY2hhbmdlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uRGF0YUNvbnRleHRDaGFuZ2VkKGRhdGE6IElEYXRhQ29udGV4dDxURW50aXR5Pik6IHZvaWQ7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGdldEVudGl0eUlkKGVudGl0eTogVEVudGl0eSk6IFRJZCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VPclRocm93KCkuZ2V0SWQoZW50aXR5KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBleHRyYWN0IGlkIGZyb20gZW50aXR5IHNpbmNlIG5vIGRhdGFTb3VyY2UgaXMgYXZhaWxhYmxlISBDYXVzZWQgYnkgJyArIGU/Lm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBkYXRhU291cmNlT3JUaHJvdygpOiBJRGF0YVNvdXJjZTxURW50aXR5PiB7XG4gICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB0aGlzLmRhdGFDb250ZXh0LmRhdGFTb3VyY2U7XG4gICAgICBpZiAoZGF0YVNvdXJjZSkge1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIERhdGFDb250ZXh0IGhhcyBub3QgRGF0YVNvdXJjZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIHZhbHVlQXNJZCEgJyArIHR5cGVvZiB0aGlzLmRhdGFDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBEYXRhQ29udGV4dCBhdmFpbGFibGUhIEEgRGF0YUNvbnRleHQgKERhdGFTb3VyY2UpIGlzIHJlcXVpcmVkIGZvciB2YWx1ZUFzSWQhJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXF1YWwoYTogVEVudGl0eSwgYjogVEVudGl0eSk6IGJvb2xlYW4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFbXB0eShhKSAmJiB0aGlzLmlzRW1wdHkoYikpIHsgLy8gSEFDSzogSGFuZGxlIGVtcHR5IHN0cmluZyBhcyB1bmRlZmluZWQuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5SWQoYSkgPT09IHRoaXMuZ2V0RW50aXR5SWQoYik7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFbXB0eShhOiBURW50aXR5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChhID09PSBudWxsIHx8IGEgPT09IHVuZGVmaW5lZCB8fCA8YW55PmEgPT09ICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBjbGVhbiB1cCBvZiB0aGUgY3VycmVudCBkYXRhIGNvbnRleHQgaWYgYXV0byBjbGVhbiB1cCBpcyBlbmFibGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGF1dG9DbGVhblVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsZWFuVXAgJiYgdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCdSZWxlYXNpbmcgRGF0YUNvbnRleHQgcmVzb3VyY2VzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuIFtjbGVhblVwXT1cInRydWVcIicpO1xuICAgICAgdGhpcy5kYXRhQ29udGV4dC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlOiBURW50aXR5LCBwcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuICg8YW55PnZhbHVlKVtwcm9wZXJ0eV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUFFLGVBQWUsRUFDN0IsU0FBUyxFQUVULFlBQVksRUFDWixjQUFjLEVBQ2QsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFHdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBSXJHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDOzs7OztBQUkxRyxNQUFNLE9BQU8seUJBQXlCO0lBRTdCLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBMEI7UUFDdEQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLE9BQU8seUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDNUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDeEIsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMs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QUNiO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFhLEtBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OEdBN1NtQixlQUFlO2tHQUFmLGVBQWUscWdCQXFEckIseUJBQXlCLDJCQUFTLFdBQVcsNEVBSTdDLDRCQUE0QixzRUFtS3pCLDBCQUEwQjs7MkZBNU52QixlQUFlO2tCQUZwQyxTQUFTOzJNQTBCRCxPQUFPO3NCQURiLEtBQUs7Z0JBZ0JDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0Msa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtuRSxjQUFjO3NCQURwQixZQUFZO3VCQUFDLDRCQUE0QjtnQkFJbkMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRVSxjQUFjO3NCQUQ3QixNQUFNO2dCQTZCSSxTQUFTO3NCQURuQixLQUFLO2dCQWFLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBTUssdUJBQXVCO3NCQURqQyxLQUFLO2dCQU1LLE9BQU87c0JBRGpCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkFZSyxJQUFJO3NCQURkLEtBQUs7Z0JBOEJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBb0RLLGdCQUFnQjtzQkFEMUIsZUFBZTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge0lEYXRhU291cmNlfSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlJztcbmltcG9ydCB7RGF0YUNvbnRleHRCdWlsZGVyfSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0RhdGFDb250ZXh0U3RhdHVzfSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLWNvbnRleHQnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICcuL211bHRpL2VsZGVyLWNoaXAtc2VsZWN0LW9wdGlvbi9lbGRlci1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFRleHRSZXNvbHZlckZuID0gKHZhbHVlOiBhbnkpID0+IHN0cmluZztcblxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbURhdGFDb250ZXh0KGRjU3RhdGU6IERhdGFDb250ZXh0U3RhdHVzKTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB7XG4gICAgaWYgKGRjU3RhdGUubG9hZGluZykge1xuICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUubG9hZGluZygpO1xuICAgIH0gZWxzZSBpZiAoZGNTdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZGNTdGF0ZS5lcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmlkbGUoKTtcbiAgICB9XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgaWRsZSgpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUodHJ1ZSwgZmFsc2UsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBsb2FkaW5nKCk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZShmYWxzZSwgdHJ1ZSwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVycm9yKGVycm9yOiBhbnkpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICBsZXQgZXJyb3JNc2c6IHN0cmluZztcbiAgICBpZiAodHlwZW9mIGVycm9yID09PSAnb2JqZWN0Jykge1xuICAgICAgZXJyb3JNc2cgPSBKU09OLnN0cmluZ2lmeShlcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yTXNnID0gZXJyb3I7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZShmYWxzZSwgZmFsc2UsIGVycm9yTXNnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBpZGxlOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBlcnJvcjogc3RyaW5nXG4gICkge1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTERFUl9TRUxFQ1RfQkFTRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbGRlclNlbGVjdEJhc2U8YW55LCBhbnksIGFueT4+KCdFbGRlclNlbGVjdEJhc2UnKTtcblxuXG4vKipcbiAqIEJhc2UgY29tcG9uZW50IGZvciBFbGRlciBTZWxlY3Rpb24gQ29udHJvbHMuXG4gKlxuICogIEVsZGVyIFNlbGVjdGlvbiBoYXMgdGhlIGZvbGxvd2luZyBhYnN0cmFjdCBjb25jZXB0OlxuICpcbiAqIC0gU3VnZ2VzdGlvbi1Nb2RlbDogQSBEYXRhU291cmNlIGFuZCBkZXJpdmVkIERhdGFDb250ZXh0IGZvciB0aGUgKGF1dG8tY29tcGxldGUpIHN1Z2dlc3Rpb25zLlxuICpcbiAqIEBwYXJhbSBUSUQgRW50aXR5IElkIFR5cGVcbiAqIEBwYXJhbSBUIEVudGl0eSBUeXBlXG4gKiBAcGFyYW0gVFZhbHVlIFZhbHVlIGJhY2tpbmcgdGhlIGNvbnRyb2wuIENhbiBiZSB0aGUgZW50aXR5LCB0aGUgaWQgb3Igc29tZXRoaW5nIGVsc2UuXG4gKi9cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWxkZXJTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPiBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8VFZhbHVlPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ29udGV4dCA9IG5ldyBGaWx0ZXJDb250ZXh0KCk7XG4gIHByaXZhdGUgX3RlbXBsYXRlT3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50PFRFbnRpdHk+W10+KFtdKTtcblxuICBwcml2YXRlIF92YWx1ZUFzSWQ6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHRpbWVvdXRBZnRlck1zID0gNTAwMDtcblxuICAvKipcbiAgICogRGVmaW5lIGlmIGVsZGVyLXNlbGVjdCBzaG91bGQgY2xlYW4gdXAgdGhlXG4gICAqIGRhdGEtY29udGV4dCByZXNvdXJjZXMgZm9yIHlvdS5cbiAgICpcbiAgICogSW4gbW9yZSBhZHZhbmNlZCBzY2VuYXJpb3Mgd2hlcmUgeW91IHBsYW4gdG8gcmV1c2UgdGhlIHNhbWUgZGF0YS1jb250ZXh0XG4gICAqIHNldCB0aGlzIHRvIGZhbHNlIGFuZCByZWxlYXNlIHRoZSByZXNvdXJjZXMgeW91cnNlbGYuIChkYXRhQ29udGV4dC5jbG9zZSlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbGVhblVwID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0UmVzb2x2ZXJGbj4oKHZhbHVlOiBURW50aXR5KSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIG51bGwpKTtcblxuICAvKipcbiAgICogRW50aXR5IERhdGFDb250ZXh0LCB3aGljaCBpcyB1c2VkXG4gICAqIHRvIHNpZGUgbG9hZCBlbnRpdGllcyBieSBpZCBhbmQgYWxzb1xuICAgKiB0byBsb2FkIHN1Z2dlc3Rpb25zIHdoZW4gYXV0by1jb21wbGV0aW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PFRFbnRpdHk+PihudWxsKTtcblxuICAvKipcbiAgICogUGFnZSBzaXplLiAoVXNlZCBmb3IgaW5maW5pdGUgc2Nyb2xsaW5nIGNodW5rcylcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2l6ZSA9IDEwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUZpbHRlciA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uIHRlbXBsYXRlIHRvIGN1c3RvbWl6ZSB0aGUgdWkgbG9vay5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdmFsdWVUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF92YWx1ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSlcbiAgcHVibGljIHNlbGVjdGlvblBvcHVwOiBTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkRpc2FibGVkRm46IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzT3B0aW9uSGlkZGVuRm46IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHVzZXIgaGFzIGNsaWNrZWQgb24gdGhlIGN1cnJlbnRcbiAgICogc2VsZWN0ZWQgZW50aXR5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VEVudGl0eT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlPihFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmlkbGUoKSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgY29udHJvbFR5cGU6IHN0cmluZyxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIG5nQ29udHJvbD86IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcihob3N0UmVmLCBjb250cm9sVHlwZSwgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZUFzSWQodmFsdWVBc0lkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl92YWx1ZUFzSWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWVBc0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVBc0lkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzSWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3BlcnR5IHVzZWQgdG8gZGlzcGxheSB0aGUgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5UHJvcGVydHkocHJvcGVydHk6IHN0cmluZykge1xuICAgIHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIgPSAodmFsdWUgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBwcm9wZXJ0eSkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5UHJvcGVydHlSZXNvbHZlcihyZXNvbHZlcjogVGV4dFJlc29sdmVyRm4pIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJC5uZXh0KHJlc29sdmVyKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMucmVwbGFjZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250ZXh0LmZpbHRlcnNTbmFwc2hvdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YVNvdXJjZShzb3VyY2U6IElEYXRhU291cmNlPFRFbnRpdHk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpXG4gICAgICAucGFnZVNpemUodGhpcy5wYWdlU2l6ZSlcbiAgICAgIC5idWlsZChzb3VyY2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElEYXRhU291cmNlPFRFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dD8uZGF0YVNvdXJjZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBBcnJheTxURW50aXR5PiB8IElEYXRhQ29udGV4dDxURW50aXR5Pikge1xuXG4gICAgdGhpcy5hdXRvQ2xlYW5VcCgpO1xuXG4gICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpXG4gICAgICAgIC5sb2NhbFNvcnQoKVxuICAgICAgICAuYnVpbGRMb2NhbChkYXRhKTsgLy8gTWVtb3J5IGxlYWtcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IGRhdGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0ID0gRGF0YUNvbnRleHRCdWlsZGVyLnN0YXJ0PFRFbnRpdHk+KCkuYnVpbGRFbXB0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KSB7XG4gICAgdGhpcy5hdXRvQ2xlYW5VcCgpO1xuICAgIHRoaXMuZGF0YUNvbnRleHQkLm5leHQoZGF0YSk7XG4gICAgdGhpcy5vbkRhdGFDb250ZXh0Q2hhbmdlZChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PFRFbnRpdHk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWVUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3ZhbHVlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUZW1wbGF0ZSB8fCB0aGlzLnZhbHVlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0YXRlJC5nZXRWYWx1ZSgpLmVycm9yIHx8IHN1cGVyLmVycm9yU3RhdGU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25DdXJyZW50Q2xpY2tlZChlbnRpdHk6IFRFbnRpdHkpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRDbGlja2VkLmVtaXQoZW50aXR5KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXIodXBkYXRlZEZpbHRlcj86IEZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQudXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcnModXBkYXRlZEZpbHRlcnM/OiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQudXBkYXRlRmlsdGVycyh1cGRhdGVkRmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZUZpbHRlcnMobmV3RmlsdGVycz86IEZpbHRlcltdKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC5yZXBsYWNlRmlsdGVycyhuZXdGaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICB0aGlzLl9sb2dnZXIud2FybigndXBkYXRlU3RhdGUgdG8gRXJyb3I6ICcgKyBzdGF0ZS5lcnJvcik7XG4gICAgfVxuICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JTdGF0ZSB8fCAhIXRoaXMuaWNvbiB8fCBzdXBlci5zaG91bGRMYWJlbEZsb2F0O1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudClcbiAgcHVibGljIHNldCB0ZW1wbGF0ZU9wdGlvbnMkKGNvbXBzOiBFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudDxURW50aXR5PltdKSB7XG4gICAgdGhpcy5fdGVtcGxhdGVPcHRpb25zJC5uZXh0KGNvbXBzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVtcGxhdGVPcHRpb25zJCgpOiBPYnNlcnZhYmxlPEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50PFRFbnRpdHk+W10+IHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVPcHRpb25zJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc3VnZ2VzdGlvbnMgZGF0YS1jb250ZXh0IGhhcyBjaGFuZ2VkXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25EYXRhQ29udGV4dENoYW5nZWQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KTogdm9pZDtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSW50ZXJuYWwgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5SWQoZW50aXR5OiBURW50aXR5KTogVElkIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZU9yVGhyb3coKS5nZXRJZChlbnRpdHkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGV4dHJhY3QgaWQgZnJvbSBlbnRpdHkgc2luY2Ugbm8gZGF0YVNvdXJjZSBpcyBhdmFpbGFibGUhIENhdXNlZCBieSAnICsgZT8ubWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGRhdGFTb3VyY2VPclRocm93KCk6IElEYXRhU291cmNlPFRFbnRpdHk+IHtcbiAgICBpZiAodGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZSA9IHRoaXMuZGF0YUNvbnRleHQuZGF0YVNvdXJjZTtcbiAgICAgIGlmIChkYXRhU291cmNlKSB7XG4gICAgICAgIHJldHVybiBkYXRhU291cmNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgRGF0YUNvbnRleHQgaGFzIG5vdCBEYXRhU291cmNlLCB3aGljaCBpcyByZXF1aXJlZCBmb3IgdmFsdWVBc0lkISAnICsgdHlwZW9mIHRoaXMuZGF0YUNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIERhdGFDb250ZXh0IGF2YWlsYWJsZSEgQSBEYXRhQ29udGV4dCAoRGF0YVNvdXJjZSkgaXMgcmVxdWlyZWQgZm9yIHZhbHVlQXNJZCEnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFcXVhbChhOiBURW50aXR5LCBiOiBURW50aXR5KTogYm9vbGVhbiB7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0VtcHR5KGEpICYmIHRoaXMuaXNFbXB0eShiKSkgeyAvLyBIQUNLOiBIYW5kbGUgZW1wdHkgc3RyaW5nIGFzIHVuZGVmaW5lZC5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlJZChhKSA9PT0gdGhpcy5nZXRFbnRpdHlJZChiKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VtcHR5KGE6IFRFbnRpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGEgPT09IG51bGwgfHwgYSA9PT0gdW5kZWZpbmVkIHx8IDxhbnk+YSA9PT0gJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGNsZWFuIHVwIG9mIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dCBpZiBhdXRvIGNsZWFuIHVwIGlzIGVuYWJsZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0b0NsZWFuVXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xlYW5VcCAmJiB0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICB0aGlzLl9sb2dnZXIuZGVidWcoJ1JlbGVhc2luZyBEYXRhQ29udGV4dCByZXNvdXJjZXMgdG8gcHJldmVudCBtZW1vcnkgbGVhay4gW2NsZWFuVXBdPVwidHJ1ZVwiJyk7XG4gICAgICB0aGlzLmRhdGFDb250ZXh0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWU6IFRFbnRpdHksIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gKDxhbnk+dmFsdWUpW3Byb3BlcnR5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
131
131
|
type: HostListener,
|
|
132
132
|
args: ['keydown.tab']
|
|
133
133
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LW9uLXRhYi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBUSxZQUFZLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQU0xRixNQUFNLE9BQU8seUJBQXlCO0lBeUJwQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsV0FBbUMsRUFDSSxlQUErQztRQUR0RixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDSSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0M7UUEvQnpHOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSWhEOztXQUVHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQjs7O1dBR0c7UUFDSyxjQUFTLEdBQUcsS0FB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QUM7SUFDaEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFlO1FBQ25DLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDekQsaUVBQWlFO1lBQ2pFLGlEQUFpRDtZQUNqRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNMLDZEQUE2RDtZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2REFBNkQsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMzRyxPQUFZLE1BQU0sQ0FBQztTQUNwQjtJQUNILENBQUM7OEdBdElVLHlCQUF5Qix3REFpQ2QsaUJBQWlCO2tHQWpDNUIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBa0NJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCO3lDQWFoQyxjQUFjO3NCQUZwQixZQUFZO3VCQUFDLGlCQUFpQjs7c0JBQzlCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQU0xQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQge2RlbGF5LCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2Zvcm1zL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuaW1wb3J0IHtFTERFUl9TRUxFQ1RfQkFTRSwgRWxkZXJTZWxlY3RCYXNlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7TWF0T3B0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7aXNFbGRlckVudGl0eVZhbHVlQWNjZXNzb3J9IGZyb20gJy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1lbnRpdHktdmFsdWUtYWNjZXNzb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlclNlbGVjdE9uVGFiXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdE9uVGFiRGlyZWN0aXZlPFRFbnRpdHkgPSBhbnksIFRJZCA9IGFueSwgVFZhbHVlID0gVEVudGl0eSB8IFRJZD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xWYWx1ZUFjY2Vzc29yOiBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgcGFuZWwgd2FzIG9wZW4gYmVmb3JlIHRoZSBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBwYW5lbE9wZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBzZWxlY3RlZCBhbiBvcHRpb24uXG4gICAqIChXZSB3YW50IHRvIGlnbm9yZSBzZWxlY3Rpb25zIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzZWxlY3Rpb24gcHJlc2VudCBhbmQgdGhlIHVzZXIgdGFicyBhd2F5KVxuICAgKi9cbiAgcHJpdmF0ZSB1c2VySW5wdXQgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9UcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICAgIEBTa2lwU2VsZigpIEBJbmplY3QoRUxERVJfU0VMRUNUX0JBU0UpIHByaXZhdGUgcmVhZG9ubHkgZWxkZXJTZWxlY3RCYXNlOiBFbGRlclNlbGVjdEJhc2U8YW55LCBhbnksIGFueT5cbiAgKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvciA9IGVsZGVyU2VsZWN0QmFzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBMaXN0ZW5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcpXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dkb3duJylcbiAgcHVibGljIG9uT3B0aW9uU2VsZWN0KCl7XG4gICAgdGhpcy51c2VySW5wdXQgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuXG4gICAgaWYgKCF0aGlzLnBhbmVsT3BlbikgeyByZXR1cm47IH1cblxuICAgIGlmICghdGhpcy51c2VySW5wdXQpIHtcbiAgICAgIC8vIFRoZSB1c2VyIGRpZCBub3Qgc2VsZWN0IGFueXRoaW5nIGluIHRoZSBhdXRvLWNvbXBsZXRlXG5cbiAgICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yLnZhbHVlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0Rpc2NhcmRpbmcgVEFCIHNpbmNlIHRoZSB1c2VyIGRpZCBwcm9iYWJseSBub3QgaW50ZW5kIHRvIGNoYW5nZSB0aGUgdmFsdWUhIHVzZXJJbnB1dDonLCB0aGlzLnVzZXJJbnB1dCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMuZWxkZXJTZWxlY3RCYXNlLnJlcXVpcmVkKSB7XG4gICAgICAgIC8vIFRoZSB1c2VyIGRpZCBub3Qgc2VsZWN0IGFueSBvcHRpb24gYW5kIG5vIGN1cnJlbnQgdmFsdWUgaXMgcHJlc2VudC5cbiAgICAgICAgLy8gU2luY2UgdGhlIGlucHV0IGlzIE5PVCBtYXJrZWQgYXMgcmVxdWlyZWQsIHdlIGFzc3VtZSB0aGUgdXNlciBkaWQgbm90IHdhbnQgdG8gc2VsZWN0IGEgdmFsdWVcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbiA9IHRoaXMuYXV0b1RyaWdnZXIuYWN0aXZlT3B0aW9uIGFzIE1hdE9wdGlvbjxURW50aXR5PjtcbiAgICBpZiAoYWN0aXZlT3B0aW9uKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBhY3RpdmVPcHRpb24udmFsdWU7XG4gICAgICB0aGlzLndyaXRlRW50aXR5KGVudGl0eSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmF1dG9UcmlnZ2VyLmF1dG9jb21wbGV0ZTtcbiAgICBtZXJnZShcbiAgICAgIGF1dG9jb21wbGV0ZS5vcGVuZWQucGlwZShtYXAoKCkgPT4gdHJ1ZSkpLFxuICAgICAgYXV0b2NvbXBsZXRlLmNsb3NlZC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZGVsYXkoMClcbiAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnBhbmVsT3BlbiA9IHZhbHVlKTtcblxuICAgIHRoaXMuYXV0b1RyaWdnZXIub3B0aW9uU2VsZWN0aW9ucy5waXBlKCAvLyBUT0RPIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvcHVsbC8xNDgxM1xuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgdGFwKG9wdCA9PiB0aGlzLmxvZ2dlci5kZWJ1ZygnW29wdGlvblNlbGVjdGlvbnNdIENIQU5HRUQgJywgb3B0KSksXG4gICAgICBtYXAob3B0ID0+IG9wdC5pc1VzZXJJbnB1dClcbiAgICApLnN1YnNjcmliZShpc1VzZXJJbnB1dCA9PiB0aGlzLnVzZXJJbnB1dCA9IGlzVXNlcklucHV0KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlcklucHV0ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlRW50aXR5KGVudGl0eTogVEVudGl0eSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbnRpdHlUb1ZhbHVlKGVudGl0eSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3Nvci51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5hdXRvVHJpZ2dlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdXcm90ZSBlbnRpdHkgdG8gY29udHJvbCBhcyB2YWx1ZTogJywgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnRpdHlUb1ZhbHVlKGVudGl0eTogVEVudGl0eSk6IFRWYWx1ZSB7XG4gICAgaWYgKGlzRWxkZXJFbnRpdHlWYWx1ZUFjY2Vzc29yKHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IpKSB7XG4gICAgICAvLyBTaW5jZSBlbGRlci1zZWxlY3QgbWF5IHVzZSB0aGUgZW50aXR5IGlkIGFzIHZhbHVlICh2YWx1ZUFzSWQpLFxuICAgICAgLy8gd2UgY2FuIG5vdCBkaXJlY3RseSB3cml0ZSB0byB0aGUgdmFsdWUgc2FmZWx5LlxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IuZW50aXR5VG9WYWx1ZShlbnRpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBCeSBkZWZhdWx0LCB3cml0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBjb250cm9sIHZhbHVlXG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdbY29udHJvbFZhbHVlQWNjZXNzb3JdIGlzIG5vdCBhIEVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvciE6ICcsIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IpO1xuICAgICAgcmV0dXJuIDxhbnk+ZW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LW9uLXRhYi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQU0xRixNQUFNLE9BQU8seUJBQXlCO0lBeUJwQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsV0FBbUMsRUFDSSxlQUErQztRQUR0RixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFDSSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0M7UUEvQnpHOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSWhEOztXQUVHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQjs7O1dBR0c7UUFDSyxjQUFTLEdBQUcsS0FB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QUM7SUFDaEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFlO1FBQ25DLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDekQsaUVBQWlFO1lBQ2pFLGlEQUFpRDtZQUNqRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNMLDZEQUE2RDtZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2REFBNkQsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMzRyxPQUFZLE1BQU0sQ0FBQztTQUNwQjtJQUNILENBQUM7OEdBdElVLHlCQUF5Qix3REFpQ2QsaUJBQWlCO2tHQWpDNUIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBa0NJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCO3lDQWFoQyxjQUFjO3NCQUZwQixZQUFZO3VCQUFDLGlCQUFpQjs7c0JBQzlCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQU0xQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQge2RlbGF5LCBtYXAsIHRha2VVbnRpbCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2Zvcm1zL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuaW1wb3J0IHtFTERFUl9TRUxFQ1RfQkFTRSwgRWxkZXJTZWxlY3RCYXNlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7TWF0T3B0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7aXNFbGRlckVudGl0eVZhbHVlQWNjZXNzb3J9IGZyb20gJy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1lbnRpdHktdmFsdWUtYWNjZXNzb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlclNlbGVjdE9uVGFiXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdE9uVGFiRGlyZWN0aXZlPFRFbnRpdHkgPSBhbnksIFRJZCA9IGFueSwgVFZhbHVlID0gVEVudGl0eSB8IFRJZD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xWYWx1ZUFjY2Vzc29yOiBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgcGFuZWwgd2FzIG9wZW4gYmVmb3JlIHRoZSBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBwYW5lbE9wZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBzZWxlY3RlZCBhbiBvcHRpb24uXG4gICAqIChXZSB3YW50IHRvIGlnbm9yZSBzZWxlY3Rpb25zIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzZWxlY3Rpb24gcHJlc2VudCBhbmQgdGhlIHVzZXIgdGFicyBhd2F5KVxuICAgKi9cbiAgcHJpdmF0ZSB1c2VySW5wdXQgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9UcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICAgIEBTa2lwU2VsZigpIEBJbmplY3QoRUxERVJfU0VMRUNUX0JBU0UpIHByaXZhdGUgcmVhZG9ubHkgZWxkZXJTZWxlY3RCYXNlOiBFbGRlclNlbGVjdEJhc2U8YW55LCBhbnksIGFueT5cbiAgKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvciA9IGVsZGVyU2VsZWN0QmFzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFdmVudCBMaXN0ZW5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcpXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dkb3duJylcbiAgcHVibGljIG9uT3B0aW9uU2VsZWN0KCl7XG4gICAgdGhpcy51c2VySW5wdXQgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuXG4gICAgaWYgKCF0aGlzLnBhbmVsT3BlbikgeyByZXR1cm47IH1cblxuICAgIGlmICghdGhpcy51c2VySW5wdXQpIHtcbiAgICAgIC8vIFRoZSB1c2VyIGRpZCBub3Qgc2VsZWN0IGFueXRoaW5nIGluIHRoZSBhdXRvLWNvbXBsZXRlXG5cbiAgICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yLnZhbHVlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0Rpc2NhcmRpbmcgVEFCIHNpbmNlIHRoZSB1c2VyIGRpZCBwcm9iYWJseSBub3QgaW50ZW5kIHRvIGNoYW5nZSB0aGUgdmFsdWUhIHVzZXJJbnB1dDonLCB0aGlzLnVzZXJJbnB1dCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMuZWxkZXJTZWxlY3RCYXNlLnJlcXVpcmVkKSB7XG4gICAgICAgIC8vIFRoZSB1c2VyIGRpZCBub3Qgc2VsZWN0IGFueSBvcHRpb24gYW5kIG5vIGN1cnJlbnQgdmFsdWUgaXMgcHJlc2VudC5cbiAgICAgICAgLy8gU2luY2UgdGhlIGlucHV0IGlzIE5PVCBtYXJrZWQgYXMgcmVxdWlyZWQsIHdlIGFzc3VtZSB0aGUgdXNlciBkaWQgbm90IHdhbnQgdG8gc2VsZWN0IGEgdmFsdWVcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbiA9IHRoaXMuYXV0b1RyaWdnZXIuYWN0aXZlT3B0aW9uIGFzIE1hdE9wdGlvbjxURW50aXR5PjtcbiAgICBpZiAoYWN0aXZlT3B0aW9uKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBhY3RpdmVPcHRpb24udmFsdWU7XG4gICAgICB0aGlzLndyaXRlRW50aXR5KGVudGl0eSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmF1dG9UcmlnZ2VyLmF1dG9jb21wbGV0ZTtcbiAgICBtZXJnZShcbiAgICAgIGF1dG9jb21wbGV0ZS5vcGVuZWQucGlwZShtYXAoKCkgPT4gdHJ1ZSkpLFxuICAgICAgYXV0b2NvbXBsZXRlLmNsb3NlZC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZGVsYXkoMClcbiAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnBhbmVsT3BlbiA9IHZhbHVlKTtcblxuICAgIHRoaXMuYXV0b1RyaWdnZXIub3B0aW9uU2VsZWN0aW9ucy5waXBlKCAvLyBUT0RPIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvcHVsbC8xNDgxM1xuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgdGFwKG9wdCA9PiB0aGlzLmxvZ2dlci5kZWJ1ZygnW29wdGlvblNlbGVjdGlvbnNdIENIQU5HRUQgJywgb3B0KSksXG4gICAgICBtYXAob3B0ID0+IG9wdC5pc1VzZXJJbnB1dClcbiAgICApLnN1YnNjcmliZShpc1VzZXJJbnB1dCA9PiB0aGlzLnVzZXJJbnB1dCA9IGlzVXNlcklucHV0KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlcklucHV0ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlRW50aXR5KGVudGl0eTogVEVudGl0eSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbnRpdHlUb1ZhbHVlKGVudGl0eSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3Nvci51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5hdXRvVHJpZ2dlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdXcm90ZSBlbnRpdHkgdG8gY29udHJvbCBhcyB2YWx1ZTogJywgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnRpdHlUb1ZhbHVlKGVudGl0eTogVEVudGl0eSk6IFRWYWx1ZSB7XG4gICAgaWYgKGlzRWxkZXJFbnRpdHlWYWx1ZUFjY2Vzc29yKHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IpKSB7XG4gICAgICAvLyBTaW5jZSBlbGRlci1zZWxlY3QgbWF5IHVzZSB0aGUgZW50aXR5IGlkIGFzIHZhbHVlICh2YWx1ZUFzSWQpLFxuICAgICAgLy8gd2UgY2FuIG5vdCBkaXJlY3RseSB3cml0ZSB0byB0aGUgdmFsdWUgc2FmZWx5LlxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IuZW50aXR5VG9WYWx1ZShlbnRpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBCeSBkZWZhdWx0LCB3cml0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBjb250cm9sIHZhbHVlXG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdbY29udHJvbFZhbHVlQWNjZXNzb3JdIGlzIG5vdCBhIEVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvciE6ICcsIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3IpO1xuICAgICAgcmV0dXJuIDxhbnk+ZW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { AsyncPipe, CommonModule } from
|
|
2
|
+
import { AsyncPipe, CommonModule } from '@angular/common';
|
|
3
3
|
import { ElderSelectComponent } from './single/elder-select/elder-select.component';
|
|
4
4
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -30,11 +30,11 @@ import { ElderClearSelectDirective } from './single/elder-clear-select.directive
|
|
|
30
30
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
31
31
|
import { ElderThemeModule } from '../theme/elder-theme.module';
|
|
32
32
|
import { ElderSelectionPopupTriggerAdapterDirective } from './popup/selection-model-popup-trigger-adapter.directive';
|
|
33
|
-
import { ElderChipsModule } from
|
|
33
|
+
import { ElderChipsModule } from '../chips/elder-chips.module';
|
|
34
34
|
import { CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';
|
|
35
35
|
import { ElderMultiSelectChipOptionsComponent } from './multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component';
|
|
36
|
-
import { ElderSelectOptionComponent } from
|
|
37
|
-
import { ElderMultiSelectAllInitialDirective } from
|
|
36
|
+
import { ElderSelectOptionComponent } from './multi/elder-chip-select-option/elder-select-option.component';
|
|
37
|
+
import { ElderMultiSelectAllInitialDirective } from './multi/elder-mutli-select-all-directive';
|
|
38
38
|
import * as i0 from "@angular/core";
|
|
39
39
|
export { ElderSelectValueDirective } from './elder-select-value.directive';
|
|
40
40
|
export * from './elder-select-chip.directive';
|
|
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
164
164
|
]
|
|
165
165
|
}]
|
|
166
166
|
}] });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVB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N0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7d0JBQzlDLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWUsRUFBRSxlQUFlO3dCQUNoQyxjQUFjLEVBQUUscUJBQXFCO3dCQUNyQyxnQkFBZ0IsRUFBRSxvQkFBb0I7d0JBQ3RDLHdCQUF3QixFQUFFLGNBQWM7d0JBQ3hDLGdCQUFnQjt3QkFDaEIsV0FBVyxFQUFFLE9BQU87d0JBQ3BCLGVBQWU7d0JBQ2YsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCO3dCQUN2RSx1QkFBdUI7d0JBQ3ZCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxTQUFTO3dCQUMxRSxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyw0QkFBNEI7d0JBQzVCLDBDQUEwQzt3QkFDMUMseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLDBCQUEwQjt3QkFDMUIsbUNBQW1DO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QiwwQ0FBMEM7d0JBQzFDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLG9DQUFvQzt3QkFDcEMsMEJBQTBCO3dCQUMxQixtQ0FBbUM7cUJBQ3RDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7RWxkZXJTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vc2luZ2xlL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL3BvcHVwL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdERpYWxvZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZX0gZnJvbSAnLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3Jtcy1kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7TWF0VG9vbGJhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtFbGRlclRhYmxlTW9kdWxlfSBmcm9tICcuLi9kYXRhLXZpZXcvdGFibGUvZWxkZXItdGFibGUubW9kdWxlJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7RWxkZXJJbmZpbml0ZVNjcm9sbE1vZHVsZX0gZnJvbSAnLi4vaW5maW5pdGVzY3JvbGwvZWxkZXItaW5maW5pdGUtc2Nyb2xsLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0T25UYWJEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LW9uLXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnLi4vaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC12YWx1ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRDaGlwc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmUsIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LWZpcnN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyUGlwZXNNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGVzL2VsZGVyLXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zaW5nbGUvZWxkZXItY2xlYXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtFbGRlclRoZW1lTW9kdWxlfSBmcm9tICcuLi90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWxkZXJDaGlwc01vZHVsZSB9IGZyb20gXCIuLi9jaGlwcy9lbGRlci1jaGlwcy5tb2R1bGVcIjtcbmltcG9ydCB7Q2RrRHJhZywgQ2RrRHJvcExpc3R9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBFbGRlck11bHRpU2VsZWN0QWxsSW5pdGlhbERpcmVjdGl2ZSB9IGZyb20gXCIuL211bHRpL2VsZGVyLW11dGxpLXNlbGVjdC1hbGwtZGlyZWN0aXZlXCI7XG5cbmV4cG9ydCB7RWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnNcbn0gZnJvbSAnLi9wb3B1cC90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0QmFzZX0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RWxkZXJBdXRvU2VsZWN0Rmlyc3REaXJlY3RpdmV9IGZyb20gJy4vYXV0by9lbGRlci1hdXRvLXNlbGVjdC1maXJzdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlckNsZWFyU2VsZWN0RGlyZWN0aXZlfSBmcm9tICcuL3NpbmdsZS9lbGRlci1jbGVhci1zZWxlY3QuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRUb29sYmFyTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBNYXRDaGlwc01vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgQ2RrRHJvcExpc3QsIENka0RyYWcsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUsIEVsZGVyVGFibGVNb2R1bGUsIEVsZGVySW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgICAgIEVsZGVyQXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFbGRlclBpcGVzTW9kdWxlLCBFbGRlclRoZW1lTW9kdWxlLCBFbGRlckNoaXBzTW9kdWxlLCBBc3luY1BpcGUsIEFzeW5jUGlwZSxcbiAgICAgICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdE9uVGFiRGlyZWN0aXZlLFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRWxkZXJTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLFxuICAgICAgICBFbGRlckF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdENoaXBPcHRpb25zQ29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0TW9kdWxlIHtcbn1cbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2VsZGVyLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVB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N0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7d0JBQzlDLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWUsRUFBRSxlQUFlO3dCQUNoQyxjQUFjLEVBQUUscUJBQXFCO3dCQUNyQyxnQkFBZ0IsRUFBRSxvQkFBb0I7d0JBQ3RDLHdCQUF3QixFQUFFLGNBQWM7d0JBQ3hDLGdCQUFnQjt3QkFDaEIsV0FBVyxFQUFFLE9BQU87d0JBQ3BCLGVBQWU7d0JBQ2YsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUseUJBQXlCO3dCQUN2RSx1QkFBdUI7d0JBQ3ZCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxTQUFTO3dCQUMxRSxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyw0QkFBNEI7d0JBQzVCLDBDQUEwQzt3QkFDMUMseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLDBCQUEwQjt3QkFDMUIsbUNBQW1DO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGlDQUFpQzt3QkFDakMsNEJBQTRCO3dCQUM1QiwwQ0FBMEM7d0JBQzFDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLG9DQUFvQzt3QkFDcEMsMEJBQTBCO3dCQUMxQixtQ0FBbUM7cUJBQ3RDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FzeW5jUGlwZSwgQ29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7TWF0UHJvZ3Jlc3NCYXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQge0VsZGVyVGFibGVNb2R1bGV9IGZyb20gJy4uL2RhdGEtdmlldy90YWJsZS9lbGRlci10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWxlY3Qtb24tdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZXMvZWxkZXItcGlwZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9zaW5nbGUvZWxkZXItY2xlYXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtFbGRlclRoZW1lTW9kdWxlfSBmcm9tICcuLi90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdGlvblBvcHVwVHJpZ2dlckFkYXB0ZXJEaXJlY3RpdmV9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLXRyaWdnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckNoaXBzTW9kdWxlfSBmcm9tICcuLi9jaGlwcy9lbGRlci1jaGlwcy5tb2R1bGUnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcm9wTGlzdH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdEFsbEluaXRpYWxEaXJlY3RpdmV9IGZyb20gJy4vbXVsdGkvZWxkZXItbXV0bGktc2VsZWN0LWFsbC1kaXJlY3RpdmUnO1xuXG5leHBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VsZWN0T25UYWJEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VsZWN0LW9uLXRhYi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zaW5nbGUvZWxkZXItc2VsZWN0L2VsZGVyLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LCBJU2VsZWN0aW9uTW9kZWxEaWFsb2dPcHRpb25zXG59IGZyb20gJy4vcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7U2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZX0gZnJvbSAnLi9wb3B1cC9zZWxlY3Rpb24tbW9kZWwtcG9wdXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWxlY3Rpb25Qb3B1cFRyaWdnZXJBZGFwdGVyRGlyZWN0aXZlfSBmcm9tICcuL3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC10cmlnZ2VyLWFkYXB0ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJNdWx0aVNlbGVjdEJhc2V9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWJhc2UnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlck11bHRpU2VsZWN0Q2hpcE9wdGlvbnNDb21wb25lbnR9IGZyb20gJy4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXAtb3B0aW9ucy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcC1vcHRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICcuL211bHRpL2VsZGVyLWNoaXAtc2VsZWN0LW9wdGlvbi9lbGRlci1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyQXV0b1NlbGVjdEZpcnN0RGlyZWN0aXZlfSBmcm9tICcuL2F1dG8vZWxkZXItYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJDbGVhclNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9zaW5nbGUvZWxkZXItY2xlYXItc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyTXVsdGlTZWxlY3RBbGxJbml0aWFsRGlyZWN0aXZlfSBmcm9tICcuL211bHRpL2VsZGVyLW11dGxpLXNlbGVjdC1hbGwtZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTWF0VG9vbGJhck1vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIENka0Ryb3BMaXN0LCBDZGtEcmFnLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLCBFbGRlclRhYmxlTW9kdWxlLCBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgICAgICBFbGRlckF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgRWxkZXJQaXBlc01vZHVsZSwgRWxkZXJUaGVtZU1vZHVsZSwgRWxkZXJDaGlwc01vZHVsZSwgQXN5bmNQaXBlLCBBc3luY1BpcGUsXG4gICAgICAgIEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlLFxuICAgICAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlckRpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWxlY3RPblRhYkRpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJBdXRvU2VsZWN0Rmlyc3REaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RBbGxJbml0aWFsRGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEVsZGVyU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlLFxuICAgICAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0aW9uUG9wdXBUcmlnZ2VyQWRhcHRlckRpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50LFxuICAgICAgICBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJBdXRvU2VsZWN0Rmlyc3REaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyQ2xlYXJTZWxlY3REaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RDaGlwT3B0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgICAgIEVsZGVyTXVsdGlTZWxlY3RBbGxJbml0aWFsRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlbGVjdE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class ElderSelectOptionComponent {
|
|
4
4
|
constructor() {
|
|
@@ -8,10 +8,10 @@ export class ElderSelectOptionComponent {
|
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ElderSelectOptionComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
|
-
args: [{ selector:
|
|
11
|
+
args: [{ selector: 'elder-select-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "" }]
|
|
12
12
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
13
13
|
type: Input
|
|
14
14
|
}], label: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFTeEUsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQztJQUNBLENBQUM7OEdBVFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsMkhDVHZDLEVBQUE7OzJGRFNhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3dEQUtYLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1zZWxlY3Qtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQ8VEVudGl0eT4ge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogVEVudGl0eTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsIiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, HostBinding, Input, Output } from
|
|
1
|
+
import { Directive, HostBinding, Input, Output } from '@angular/core';
|
|
2
2
|
import { ElderSelectBase, ElderSelectComponentState } from '../elder-select-base';
|
|
3
3
|
import { BehaviorSubject, EMPTY, of, throwError } from 'rxjs';
|
|
4
4
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
@@ -382,4 +382,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
382
382
|
}], entityIds: [{
|
|
383
383
|
type: Input
|
|
384
384
|
}] } });
|
|
385
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZUFBZSxFQUFFLHlCQUF5QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLMUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR3pELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBSTlDOzs7Ozs7OztHQVFHO0FBRUgsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0Isb0JBQ3BCLFNBQVEsZUFBdUM7SUFpRC9DOzs7O2dGQUk0RTtJQUU1RSxZQUNFLElBQVksRUFDWixPQUFtQixFQUNuQixXQUFtQixFQUNuQixZQUEwQixFQUMxQixnQkFBa0MsRUFDakIsYUFBaUMsRUFDbEQsU0FBcUI7UUFFckIsS0FBSyxDQUFDLElBQUksRUFBRSxP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RUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDL0MsZ0VBQWdFO2dCQUNoRSxPQUFPLE1BQU0sQ0FBQzthQUNmO1NBQ0Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzhHQW5jbUIsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRnpDLFNBQVM7NE9BdUJELGFBQWE7c0JBRG5CLEtBQUs7Z0JBUUMsY0FBYztzQkFEcEIsS0FBSztnQkFJVSxlQUFlO3NCQUQ5QixNQUFNO2dCQUlTLGNBQWM7c0JBRDdCLE1BQU07Z0JBUVMsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQVFTLGVBQWU7c0JBRDlCLE1BQU07Z0JBK0RtQixTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU87Z0JBSTBCLGFBQWE7c0JBQTFELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUlLLGVBQWU7c0JBQTNELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUlPLGFBQWE7c0JBQTFELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUlHLFVBQVU7c0JBQXBELFdBQVc7dUJBQUMsd0JBQXdCO2dCQW1CMUIsUUFBUTtzQkFEbEIsS0FBSztnQkFnQkssU0FBUztzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RWxkZXJTZWxlY3RCYXNlLCBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlfSBmcm9tICcuLi9lbGRlci1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAsIHRpbWVvdXR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2V0c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NldHMnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge0lFbGRlck11bHRpRW50aXR5VmFsdWVBY2Nlc3Nvcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLW11bHRpLWVudGl0eS12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuaW1wb3J0IHtTb3J0VXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL3NvcnQtdXRpbCc7XG5pbXBvcnQge0VsZGVyRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vZGlhbG9ncy9lbGRlci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBcnJheXN9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9hcnJheXMnO1xuaW1wb3J0IHsgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnRcIjtcblxuXG4vKipcbiAqIEJhc2UgY29tcG9uZW50IGltcGxlbWVudGF0aW9uIG9mIGVsZGVyLW11bHRpLXNlbGVjdC5cbiAqXG4gKiBNdWx0aSBTZWxlY3QgaGFzIHRoZSBmb2xsb3dpbmcgYWJzdHJhY3QgY29uY2VwdDpcbiAqXG4gKiAtIFN1Z2dlc3Rpb24tTW9kZWw6IEEgRGF0YVNvdXJjZSBhbmQgZGVyaXZlZCBEYXRhQ29udGV4dCBmb3IgdGhlIChhdXRvLWNvbXBsZXRlKSBzdWdnZXN0aW9ucy5cbiAqIC0gVGhlIGJhY2tpbmcgVmFsdWUgaXMgYSBsaXN0IG9mIHRoZSBjdXJyZW50IHNlbGVjdGVkIGVudGl0aWVzLiBUW11cbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+XG4gIGV4dGVuZHMgRWxkZXJTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlW10+XG4gIGltcGxlbWVudHMgSUVsZGVyTXVsdGlFbnRpdHlWYWx1ZUFjY2Vzc29yPFRFbnRpdHksIFRJZCwgVFZhbHVlPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudGl0eUlkcyQ6IE9ic2VydmFibGU8VElkW10+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbnRpdGllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRFbnRpdHlbXT4oW10pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGhvdyB0aGUgZW50aXRpZXMgc2hvdWxkIGJlIHNvcnRlZCBsb2NhbGx5LlxuICAgKiBUaGlzIGFmZmVjdHMgaG93IGVudGl0aWVzIGFyZSBkaXNwbGF5ZWQgd2hlbiBtb3JlIHRoYW5cbiAgICogb25lIGlzIHNlbGVjdGVkLCBzdWNoIGFzIGluIGEgY2hpcCBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVudGl0aWVzU29ydHM6IFNvcnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBiZWZvcmUgcmVtb3Zpbmcgc2VsZWN0ZWQgZW50aXRpZXNcbiAgICogdGhlIHVzZXIgd2lsbCBiZSBwcm9tcHRlZCB0byBjb25maXJtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpcm1SZW1vdmFsID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbnRpdHlJZHNDaGFuZ2U6IE9ic2VydmFibGU8VElkW10+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXRpZXNDaGFuZ2U6IE9ic2VydmFibGU8VEVudGl0eVtdPjtcblxuICAvKipcbiAgICogU2ltaWxhciB0byBlbnRpdHktaWQgY2hhbmdlLCBidXQgZW1pdHMgb25seSB3aGVuIHRoZSB1c2VyXG4gICAqIGhhcyB1cGRhdGVkIHRoZSB2YWx1ZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXR5SWRzVXBkYXRlZDogT2JzZXJ2YWJsZTxUSWRbXT47XG5cbiAgLyoqXG4gICAqIFNpbWlsYXIgdG8gZW50aXR5IGNoYW5nZSwgYnV0IGVtaXRzIG9ubHkgd2hlbiB0aGUgdXNlclxuICAgKiBoYXMgdXBkYXRlZCB0aGUgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVudGl0aWVzVXBkYXRlZDogT2JzZXJ2YWJsZTxURW50aXR5W10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICBjb250cm9sVHlwZTogc3RyaW5nLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBFbGRlckRpYWxvZ1NlcnZpY2UsXG4gICAgbmdDb250cm9sPzogTmdDb250cm9sXG4gICkge1xuICAgIHN1cGVyKHpvbmUsIGhvc3RSZWYsIGNvbnRyb2xUeXBlLCBmb2N1c01vbml0b3IsIHRyYW5zbGF0ZVNlcnZpY2UsIG5nQ29udHJvbCk7XG5cbiAgICB0aGlzLmVudGl0eUlkc0NoYW5nZSA9IHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4gdGhpcy5lbnRpdHlJZHNGcm9tVmFsdWVzKHZhbHVlcykpXG4gICAgKTtcblxuICAgIHRoaXMuX2VudGl0eUlkcyQgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKHZhbHVlcyA9PiB0aGlzLmVudGl0eUlkc0Zyb21WYWx1ZXModmFsdWVzKSlcbiAgICApO1xuXG4gICAgdGhpcy5lbnRpdGllc0NoYW5nZSA9IHRoaXMuX2VudGl0aWVzJC5waXBlKFxuICAgICAgc2tpcCgxKSAvLyBTa2lwIHRoZSBpbml0aWFsIG9yIGN1cnJlbnQgdmFsdWVcbiAgICApO1xuXG4gICAgdGhpcy5lbnRpdHlJZHNVcGRhdGVkID0gdGhpcy52YWx1ZVVwZGF0ZWQucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4gdGhpcy5lbnRpdHlJZHNGcm9tVmFsdWVzKHZhbHVlcykpXG4gICAgKTtcblxuICAgIHRoaXMuZW50aXRpZXNVcGRhdGVkID0gdGhpcy5lbnRpdHlJZHNVcGRhdGVkLnBpcGUoXG4gICAgICB0YXAoZW50aXR5SWRzID0+IHRoaXMubG9nZ2VyLmRlYnVnKCdBd2FpdGluZyBlbnRpdGllcyB3aXRoIGlkcycsIGVudGl0eUlkcykpLFxuICAgICAgc3dpdGNoTWFwKGVudGl0eUlkcyA9PiB0aGlzLmF3YWl0RW50aXRpZXNXaXRoSWQoZW50aXR5SWRzLCB0aGlzLnRpbWVvdXRBZnRlck1zKSksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oYGF3YWl0RW50aXRpZXNXaXRoSWQgLT4gdGltZWQgb3V0IGFmdGVyOiAke3RoaXMudGltZW91dEFmdGVyTXN9YCwgZXJyKTtcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgfSlcbiAgICApO1xuXG5cbiAgfVxuXG4gIHByaXZhdGUgYXdhaXRFbnRpdGllc1dpdGhJZChlbnRpdHlJZHM6IFRJZFtdLCB0aW1lb3V0TXM6IG51bWJlcik6IE9ic2VydmFibGU8VEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0aWVzJC5waXBlKFxuICAgICAgdGFwKGVudGl0aWVzID0+IHRoaXMubG9nZ2VyLmRlYnVnKCdHb3QgZW50aXRpZXMgZm9yIGlkcycgKyBlbnRpdHlJZHMsIGVudGl0aWVzKSksXG4gICAgICBmaWx0ZXIoZW50aXRpZXMgPT4gdGhpcy5lcXVhbElkcyh0aGlzLmdldEVudGl0eUlkcyhlbnRpdGllcyksIGVudGl0eUlkcykpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRpbWVvdXQodGltZW91dE1zKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBCaW5kaW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGhvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZWxkZXItc2VsZWN0LWJhc2UgZWxkZXItbXVsdGktc2VsZWN0JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1kaXNhYmxlZCcpIGdldCBkaXNhYmxlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc2VsZWN0LWludmFsaWQnKSBnZXQgZXJyb3JTdGF0ZUNsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yU3RhdGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3QtcmVxdWlyZWQnKSBnZXQgcmVxdWlyZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1lbXB0eScpIGdldCBlbXB0eUNsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVtcHR5O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBlbnRpdGllcyQoKTogT2JzZXJ2YWJsZTxURW50aXR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRpZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbnRpdHlJZHMkKCk6IE9ic2VydmFibGU8VElkW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5SWRzJDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXRpZXMoZW50aXRpZXM6IFRFbnRpdHlbXSkge1xuICAgIGlmKCF0aGlzLmVxdWFsRW50aXRpZXNFeGFjdE9yZGVyKHRoaXMuZW50aXRpZXMsIGVudGl0aWVzKSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlSW50ZXJuYWwoXG4gICAgICAgIHRoaXMuZW50aXRpZXNUb1ZhbHVlcyhcbiAgICAgICAgICB0aGlzLndyaXRlRW50aXRpZXNTb3J0ZWQoZW50aXRpZXMpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBlbnRpdGllcygpOiBURW50aXR5W10ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXR5SWRzKGlkczogVElkW10pIHtcbiAgICBpZighdGhpcy5lcXVhbElkc0V4YWN0T3JkZXIodGhpcy5lbnRpdHlJZHMsIGlkcykpIHtcbiAgICAgIGlmICh0aGlzLnZhbHVlQXNJZCkge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWVJbnRlcm5hbCg8YW55PmlkcyBhcyBUVmFsdWVbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdEVudGl0aWVzQnlJZHMoaWRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGl0eUlkcygpOiBUSWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5SWRzRnJvbVZhbHVlcyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcHRpb25EaXNhYmxlZEludGVybmFsRm4oKTogKG9wdGlvbjogVEVudGl0eSkgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuIChvcHRpb246IFRFbnRpdHkpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzT3B0aW9uRGlzYWJsZWRGbikge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09wdGlvbkRpc2FibGVkRm4ob3B0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wdGlvbkhpZGRlbkludGVybmFsRm4oKTogKG9wdGlvbjogVEVudGl0eSkgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuIChvcHRpb246IFRFbnRpdHkpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQWxyZWFkeVByZXNlbnQob3B0aW9uKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3B0aW9uSGlkZGVuRm4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcHRpb25IaWRkZW5GbihvcHRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdXBkYXRlVmFsdWVCeUVudGl0aWVzKGVudGl0aWVzOiBURW50aXR5W10pOiB2b2lkIHtcbiAgICBlbnRpdGllcyA9IHRoaXMud3JpdGVFbnRpdGllc1NvcnRlZChlbnRpdGllcyk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIHRoaXMuZW50aXRpZXNUb1ZhbHVlcyhlbnRpdGllcylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGVuZEVudGl0aWVzKG5ld0VudGl0aWVzOiBURW50aXR5W10pIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5lbnRpdGllcyA/IHRoaXMuZW50aXRpZXMgOiBbXTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQnlFbnRpdGllcyhbLi4uY3VycmVudCwgLi4ubmV3RW50aXRpZXNdKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBlbmRFbnRpdHkobmV3RW50aXR5OiBhbnkpIHtcbiAgICB0aGlzLmFwcGVuZEVudGl0aWVzKFtuZXdFbnRpdHldKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0UmVtb3ZlRW50aXR5KHRvUmVtb3ZlOiBURW50aXR5LCBza2lwQ29uZmlybT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVlc3RSZW1vdmVFbnRpdGllcyhbdG9SZW1vdmVdLCBza2lwQ29uZmlybSk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFJlbW92ZUVudGl0aWVzKFxuICAgIHRvUmVtb3ZlOiBURW50aXR5W10sXG4gICAgc2tpcENvbmZpcm0/OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtRGVsZXRlKFxuICAgICAge1xuICAgICAgICBkZWxldGlvbkNvdW50OiB0b1JlbW92ZS5sZW5ndGgsXG4gICAgICAgIGNvbmZpcm1SZW1vdmFsOiB0aGlzLmNvbmZpcm1SZW1vdmFsLFxuICAgICAgICBza2lwQ29uZmlybTogc2tpcENvbmZpcm1cbiAgICAgIH0sXG4gICAgICAoKSA9PiB0aGlzLnJlbW92ZUVudGl0aWVzKHRvUmVtb3ZlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRW50aXRpZXModG9SZW1vdmU6IFRFbnRpdHlbXSk6IHZvaWQge1xuICAgIHRvUmVtb3ZlLmZvckVhY2goZSA9PiB0aGlzLnJlbW92ZUVudGl0eShlKSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRW50aXR5KHRvUmVtb3ZlOiBURW50aXR5KTogdm9pZCB7XG4gICAgY29uc3QgcmVtYWluaW5nID0gdGhpcy5lbnRpdGllc1xuICAgICAgLmZpbHRlcihsID0+ICF0aGlzLmlzRXF1YWwobCwgdG9SZW1vdmUpKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQnlFbnRpdGllcyhyZW1haW5pbmcpO1xuICB9XG5cbiAgcHVibGljIG9wZW5TZWxlY3Rpb25Qb3B1cChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Qb3B1cCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Qb3B1cC5jaG9vc2UoXG4gICAgICAgIChlOiBURW50aXR5KSA9PiB0aGlzLmdldEVudGl0eUlkKGUpLFxuICAgICAgICB0aGlzLmVudGl0aWVzLFxuICAgICAgICB0aGlzLmZpbHRlcnMsXG4gICAgICAgIHRoaXMuc29ydHMsXG4gICAgICAgIHRydWVcbiAgICAgICkuc3Vic2NyaWJlKFxuICAgICAgICAoc2VsZWN0aW9uOiBURW50aXR5W10pID0+IHRoaXMudXBkYXRlVmFsdWVCeUVudGl0aWVzKHNlbGVjdGlvbilcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0NhbnQgb3BlbiBzZWxlY3Rpb24gYnJvd3NlciBwb3B1cCwgc2luY2UgW1NlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmVdIHdhcyBub3QgZm91bmQhJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVudGl0eVRvVmFsdWUoZW50aXR5OiBURW50aXR5KTogVFZhbHVlIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzSWQpIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5nZXRFbnRpdHlJZChlbnRpdHkpO1xuICAgICAgcmV0dXJuIDxhbnk+aWQgYXMgVFZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPGFueT5lbnRpdHkgYXMgVFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBJbnRlcm5hbCBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZXNFcXVhbHMoYTogVFZhbHVlW10sIGI6IFRWYWx1ZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXF1YWxJZHNFeGFjdE9yZGVyKHRoaXMuZW50aXR5SWRzRnJvbVZhbHVlcyhhKSwgdGhpcy5lbnRpdHlJZHNGcm9tVmFsdWVzKGIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRhdGFDb250ZXh0Q2hhbmdlZChkYXRhOiBJRGF0YUNvbnRleHQ8VEVudGl0eT4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0RW50aXRpZXNCeUlkcyh0aGlzLmVudGl0eUlkcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgYWZ0ZXIgYSB2YWx1ZSBoYXMgYmVlbiB3cml0dGVuIHRvIHRoaXMgY29udHJvbC5cbiAgICpcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3cml0ZVRvQ29udHJvbCh2YWx1ZTogVFZhbHVlW10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzSWQpIHtcbiAgICAgIGNvbnN0IGVudGl0eUlkcyA9IDxhbnk+dmFsdWUgYXMgVElkW107XG4gICAgICAvLyBWYWx1ZSB3YXMgd3JpdHRlbiBhcyBlbnRpdHkgaWRzLCBlbnN1cmUgd2Ugc2VsZWN0IGVudGl0eSBieSBpZFxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3dyaXRlVG9Db250cm9sOiB2YWx1ZSB3YXMgd3JpdHRlbiBhcyBpZHM6ICcgKyBlbnRpdHlJZHMsIHZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0RW50aXRpZXNCeUlkcyhlbnRpdHlJZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBWYWx1ZSB3YXMgd3JpdHRlbiBhcyBlbnRpdHksIGVuc3VyZSBlbnRpdHkgaXMgdXBkYXRlZFxuICAgICAgY29uc3QgY3VycmVudEVudGl0aWVzID0gdGhpcy5lbnRpdGllcztcbiAgICAgIGNvbnN0IG5ld0VudGl0aWVzID0gPGFueT52YWx1ZSBhcyBURW50aXR5W107XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnd3JpdGVUb0NvbnRyb2w6IHZhbHVlIHdhcyB3cml0dGVuIGFzIGVudGl0aWVzIChzaXplKTogJyArIG5ld0VudGl0aWVzPy5sZW5ndGgsIHZhbHVlKTtcbiAgICAgIGlmICghdGhpcy5lcXVhbEVudGl0aWVzKGN1cnJlbnRFbnRpdGllcywgbmV3RW50aXRpZXMpKSB7XG4gICAgICAgIHRoaXMud3JpdGVFbnRpdGllc1NvcnRlZChuZXdFbnRpdGllcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdJZ25vcmVkIHdyaXR0ZW4gZW50aXRpZXMgYXMgdGhleSBhcmUgYWxyZWFkeSBzZXQgdG8gZW50aXRpZXMkIScpO1xuICAgICAgfVxuICAgIH1cbiAgICBzdXBlci53cml0ZVRvQ29udHJvbCh2YWx1ZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgaXNBbHJlYWR5UHJlc2VudChxdWVyeVZhbHVlOiBURW50aXR5KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzLnNvbWUodiA9PiB0aGlzLmlzRXF1YWwodiwgcXVlcnlWYWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbnRpdHlJZHNGcm9tVmFsdWVzKHZhbHVlczogVFZhbHVlW10pOiBUSWRbXSB8IG51bGwge1xuICAgIGlmICh2YWx1ZXMpIHtcbiAgICAgIHJldHVybiB2YWx1ZXMubWFwKHYgPT4gdGhpcy5lbnRpdHlJZEZyb21WYWx1ZSh2KSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnRpdHlJZEZyb21WYWx1ZSh2YWx1ZTogVFZhbHVlKTogVElkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzSWQpIHtcbiAgICAgIHJldHVybiA8YW55PnZhbHVlIGFzIFRJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZW50aXR5ID0gKDxhbnk+dmFsdWUpIGFzIFRFbnRpdHk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlJZChlbnRpdHkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW50aXRpZXNUb1ZhbHVlcyhlbnRpdGllczogVEVudGl0eVtdKTogVFZhbHVlW10gfCBudWxsIHtcbiAgICBpZiAoZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiBlbnRpdGllcy5tYXAoZSA9PiB0aGlzLmVudGl0eVRvVmFsdWUoZSkpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW50aXR5SWRzKHZhbHVlczogVEVudGl0eVtdIHwgbnVsbCk6IFRJZFtdIHtcbiAgICBpZiAodmFsdWVzKSB7XG4gICAgICByZXR1cm4gdmFsdWVzLm1hcCh2ID0+IHRoaXMuZ2V0RW50aXR5SWQodikpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZXF1YWxJZHMoaWRzQTogVElkW10sIGlkc0I6IFRJZFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNldHMuZXF1YWxDb250ZW50KGlkc0EsIGlkc0IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlcXVhbElkc0V4YWN0T3JkZXIoaWRzQTogVElkW10sIGlkc0I6IFRJZFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5cy5lcXVhbENvbnRlbnRBbmRPcmRlcihpZHNBLCBpZHNCKTtcbiAgfVxuXG4gIHByaXZhdGUgZXF1YWxFbnRpdGllcyhlbnRpdGllc0E6IFRFbnRpdHlbXSwgZW50aXRpZXNCOiBURW50aXR5W10pIHtcbiAgICByZXR1cm4gdGhpcy5lcXVhbElkcyh0aGlzLmdldEVudGl0eUlkcyhlbnRpdGllc0EpLCB0aGlzLmdldEVudGl0eUlkcyhlbnRpdGllc0IpKTtcbiAgfVxuXG4gIHByaXZhdGUgZXF1YWxFbnRpdGllc0V4YWN0T3JkZXIoZW50aXRpZXNBOiBURW50aXR5W10sIGVudGl0aWVzQjogVEVudGl0eVtdKSB7XG4gICAgcmV0dXJuIHRoaXMuZXF1YWxJZHNFeGFjdE9yZGVyKHRoaXMuZ2V0RW50aXR5SWRzKGVudGl0aWVzQSksIHRoaXMuZ2V0RW50aXR5SWRzKGVudGl0aWVzQikpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RFbnRpdGllc0J5SWRzKGlkczogVElkW10pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RW50aXRpZXMgPSB0aGlzLmVudGl0aWVzO1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ3NlbGVjdEVudGl0aWVzQnlJZHM6IGlkczogJyArIGlkcyArICcsIGN1cnJlbnQgZW50aXRpZXM6JywgY3VycmVudEVudGl0aWVzKTtcbiAgICBpZiAoY3VycmVudEVudGl0aWVzICYmIHRoaXMuZXF1YWxJZHModGhpcy5nZXRFbnRpdHlJZHMoY3VycmVudEVudGl0aWVzKSwgaWRzKSkge1xuICAgICAgcmV0dXJuOyAvLyBFbnRpdGllcyBhbHJlYWR5IGxvYWRlZFxuICAgIH1cblxuICAgIHRoaXMuZmluZE9yTG9hZEVudGl0aWVzQnlJZHMoaWRzKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGVudGl0aWVzID0+IHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcyxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB0aGlzLnVwZGF0ZVN0YXRlKEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZXJyKSlcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kT3JMb2FkRW50aXRpZXNCeUlkcyhpZHM6IFRJZFtdKTogT2JzZXJ2YWJsZTxURW50aXR5W10+IHtcbiAgICBpZiAoaWRzID09PSBudWxsIHx8IGlkcy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5maW5kSW5EYXRhQ29udGV4dChpZHMpO1xuICAgICAgY29uc3QgbWlzc2luZ0lkcyA9IGlkcy5maWx0ZXIoaWQgPT4gIWV4aXN0aW5nLmhhcyhpZCkpO1xuICAgICAgY29uc3QgdmFsdWVMb2FkUmVxdWVzdCQgPSBtaXNzaW5nSWRzLmxlbmd0aCA+IDAgPyB0aGlzLmxvYWRFbnRpdGllc0J5SWRzKG1pc3NpbmdJZHMpIDogb2YobmV3IE1hcCgpKTtcblxuICAgICAgcmV0dXJuIHZhbHVlTG9hZFJlcXVlc3QkLnBpcGUoXG4gICAgICAgIG1hcChsb2FkZWQgPT4ge1xuICAgICAgICAgIGxvYWRlZC5mb3JFYWNoKCh2LCBrKSA9PiBleGlzdGluZy5zZXQoaywgdikpO1xuICAgICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgICAgfSksXG4gICAgICAgIG1hcChhbGxWYWx1ZXNNYXAgPT4gQXJyYXkuZnJvbShhbGxWYWx1ZXNNYXAudmFsdWVzKCkpKSAvLyBUT0RPIFNvcnQ/XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gc2VsZWN0IHZhbHVlIGJ5IElkczogJyArIGlkcyArICcgLSBEYXRhQ29udGV4dCBub3QgYXZhaWxhYmxlLicpO1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEVudGl0aWVzQnlJZHMoaWRzOiBUSWRbXSk6IE9ic2VydmFibGU8TWFwPFRJZCwgVEVudGl0eT4+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlT3JUaHJvdygpLmZpbmRCeUlkcyhpZHMpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBlbnRpdGllcyBieSBpZHM6ICcgKyBpZHMsIGVycik7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICB9KSxcbiAgICAgIG1hcCh2YWx1ZXMgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTG9hZGVkIGVudGl0aWVzIGJ5IGlkOicsIHZhbHVlcyk7XG4gICAgICAgIGNvbnN0IHZhbHVlTWFwID0gbmV3IE1hcDxUSWQsIFRFbnRpdHk+KCk7XG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHYgPT4gdmFsdWVNYXAuc2V0KHRoaXMuZ2V0RW50aXR5SWQodiksIHYpKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlTWFwO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kSW5EYXRhQ29udGV4dChpZHM6IFRJZFtdKTogTWFwPFRJZCwgVEVudGl0eT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nVmFsdWVzID0gbmV3IE1hcDxUSWQsIFRFbnRpdHk+KCk7XG4gICAgaWYgKGlkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YUNvbnRleHQuc25hcHNob3QuZGF0YTtcbiAgICAgIGNvbnN0IHJlcXVpcmVkSWRzID0gbmV3IFNldChpZHMpO1xuICAgICAgZGF0YVxuICAgICAgICAuZmlsdGVyKGQgPT4gcmVxdWlyZWRJZHMuaGFzKHRoaXMuZ2V0RW50aXR5SWQoZCkpKVxuICAgICAgICAuZm9yRWFjaChkID0+IGV4aXN0aW5nVmFsdWVzLnNldCh0aGlzLmdldEVudGl0eUlkKGQpLCBkKSk7XG4gICAgfVxuICAgIHJldHVybiBleGlzdGluZ1ZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVFbnRpdGllc1NvcnRlZChlbnRpdGllczogVEVudGl0eVtdKTogVEVudGl0eVtdIHtcbiAgICBjb25zdCBzb3J0ZWQgPSB0aGlzLnNvcnRFbnRpdGllcyhlbnRpdGllcyk7XG4gICAgdGhpcy5fZW50aXRpZXMkLm5leHQoc29ydGVkKTtcbiAgICByZXR1cm4gc29ydGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0RW50aXRpZXMoZW50aXRpZXM6IFRFbnRpdHlbXSk6IFRFbnRpdHlbXSB7XG4gICAgaWYgKGVudGl0aWVzICYmIHRoaXMuZW50aXRpZXNTb3J0cyAmJiB0aGlzLmVudGl0aWVzU29ydHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc29ydGVkID0gU29ydFV0aWwuc29ydERhdGEoZW50aXRpZXMsIHRoaXMuZW50aXRpZXNTb3J0cyk7XG4gICAgICBpZiAoIVNvcnRVdGlsLmVxdWFsc0V4YWN0UmVmcyhlbnRpdGllcywgc29ydGVkKSkge1xuICAgICAgICAvLyBPbmx5IHJldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5IGlmIGFjdHVhbGx5IHNvbWV0aGluZyBjaGFuZ2VkXG4gICAgICAgIHJldHVybiBzb3J0ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbnRpdGllcztcbiAgfVxufVxuIl19
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUsxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFHekQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFHOUM7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFnQixvQkFDcEIsU0FBUSxlQUF1QztJQWlEL0M7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsSUFBWSxFQUNaLE9BQW1CLEVBQ25CLFdBQW1CLEVBQ25CLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNqQixhQUFpQyxFQUNsRCxTQUFxQjtRQUVyQixLQUFLLENBQUMsSUFBSSxFQUFFLE9B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QUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUMvQyxnRUFBZ0U7Z0JBQ2hFLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OEdBbmNtQixvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFGekMsU0FBUzs0T0F1QkQsYUFBYTtzQkFEbkIsS0FBSztnQkFRQyxjQUFjO3NCQURwQixLQUFLO2dCQUlVLGVBQWU7c0JBRDlCLE1BQU07Z0JBSVMsY0FBYztzQkFEN0IsTUFBTTtnQkFRUyxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBUVMsZUFBZTtzQkFEOUIsTUFBTTtnQkErRG1CLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTztnQkFJMEIsYUFBYTtzQkFBMUQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSUssZUFBZTtzQkFBM0QsV0FBVzt1QkFBQywwQkFBMEI7Z0JBSU8sYUFBYTtzQkFBMUQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSUcsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBbUIxQixRQUFRO3NCQURsQixLQUFLO2dCQWdCSyxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgTmdab25lLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlclNlbGVjdEJhc2UsIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGV9IGZyb20gJy4uL2VsZGVyLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBza2lwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCwgdGltZW91dH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTZXRzfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2V0cyc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7SUVsZGVyTXVsdGlFbnRpdHlWYWx1ZUFjY2Vzc29yfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItbXVsdGktZW50aXR5LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge1NvcnRVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvc29ydC11dGlsJztcbmltcG9ydCB7RWxkZXJEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9kaWFsb2dzL2VsZGVyLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FycmF5c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FycmF5cyc7XG5cblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbiBvZiBlbGRlci1tdWx0aS1zZWxlY3QuXG4gKlxuICogTXVsdGkgU2VsZWN0IGhhcyB0aGUgZm9sbG93aW5nIGFic3RyYWN0IGNvbmNlcHQ6XG4gKlxuICogLSBTdWdnZXN0aW9uLU1vZGVsOiBBIERhdGFTb3VyY2UgYW5kIGRlcml2ZWQgRGF0YUNvbnRleHQgZm9yIHRoZSAoYXV0by1jb21wbGV0ZSkgc3VnZ2VzdGlvbnMuXG4gKiAtIFRoZSBiYWNraW5nIFZhbHVlIGlzIGEgbGlzdCBvZiB0aGUgY3VycmVudCBzZWxlY3RlZCBlbnRpdGllcy4gVFtdXG4gKlxuICovXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVsZGVyTXVsdGlTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPlxuICBleHRlbmRzIEVsZGVyU2VsZWN0QmFzZTxUSWQsIFRFbnRpdHksIFRWYWx1ZVtdPlxuICBpbXBsZW1lbnRzIElFbGRlck11bHRpRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBUSWQsIFRWYWx1ZT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbnRpdHlJZHMkOiBPYnNlcnZhYmxlPFRJZFtdPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZW50aXRpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxURW50aXR5W10+KFtdKTtcblxuICAvKipcbiAgICogRGVmaW5lcyBob3cgdGhlIGVudGl0aWVzIHNob3VsZCBiZSBzb3J0ZWQgbG9jYWxseS5cbiAgICogVGhpcyBhZmZlY3RzIGhvdyBlbnRpdGllcyBhcmUgZGlzcGxheWVkIHdoZW4gbW9yZSB0aGFuXG4gICAqIG9uZSBpcyBzZWxlY3RlZCwgc3VjaCBhcyBpbiBhIGNoaXAgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbnRpdGllc1NvcnRzOiBTb3J0W10gPSBbXTtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgYmVmb3JlIHJlbW92aW5nIHNlbGVjdGVkIGVudGl0aWVzXG4gICAqIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgdG8gY29uZmlybS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25maXJtUmVtb3ZhbCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXR5SWRzQ2hhbmdlOiBPYnNlcnZhYmxlPFRJZFtdPjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVudGl0aWVzQ2hhbmdlOiBPYnNlcnZhYmxlPFRFbnRpdHlbXT47XG5cbiAgLyoqXG4gICAqIFNpbWlsYXIgdG8gZW50aXR5LWlkIGNoYW5nZSwgYnV0IGVtaXRzIG9ubHkgd2hlbiB0aGUgdXNlclxuICAgKiBoYXMgdXBkYXRlZCB0aGUgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVudGl0eUlkc1VwZGF0ZWQ6IE9ic2VydmFibGU8VElkW10+O1xuXG4gIC8qKlxuICAgKiBTaW1pbGFyIHRvIGVudGl0eSBjaGFuZ2UsIGJ1dCBlbWl0cyBvbmx5IHdoZW4gdGhlIHVzZXJcbiAgICogaGFzIHVwZGF0ZWQgdGhlIHZhbHVlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBlbnRpdGllc1VwZGF0ZWQ6IE9ic2VydmFibGU8VEVudGl0eVtdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgem9uZTogTmdab25lLFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgY29udHJvbFR5cGU6IHN0cmluZyxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogRWxkZXJEaWFsb2dTZXJ2aWNlLFxuICAgIG5nQ29udHJvbD86IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcih6b25lLCBob3N0UmVmLCBjb250cm9sVHlwZSwgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpO1xuXG4gICAgdGhpcy5lbnRpdHlJZHNDaGFuZ2UgPSB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAodmFsdWVzID0+IHRoaXMuZW50aXR5SWRzRnJvbVZhbHVlcyh2YWx1ZXMpKVxuICAgICk7XG5cbiAgICB0aGlzLl9lbnRpdHlJZHMkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4gdGhpcy5lbnRpdHlJZHNGcm9tVmFsdWVzKHZhbHVlcykpXG4gICAgKTtcblxuICAgIHRoaXMuZW50aXRpZXNDaGFuZ2UgPSB0aGlzLl9lbnRpdGllcyQucGlwZShcbiAgICAgIHNraXAoMSkgLy8gU2tpcCB0aGUgaW5pdGlhbCBvciBjdXJyZW50IHZhbHVlXG4gICAgKTtcblxuICAgIHRoaXMuZW50aXR5SWRzVXBkYXRlZCA9IHRoaXMudmFsdWVVcGRhdGVkLnBpcGUoXG4gICAgICBtYXAodmFsdWVzID0+IHRoaXMuZW50aXR5SWRzRnJvbVZhbHVlcyh2YWx1ZXMpKVxuICAgICk7XG5cbiAgICB0aGlzLmVudGl0aWVzVXBkYXRlZCA9IHRoaXMuZW50aXR5SWRzVXBkYXRlZC5waXBlKFxuICAgICAgdGFwKGVudGl0eUlkcyA9PiB0aGlzLmxvZ2dlci5kZWJ1ZygnQXdhaXRpbmcgZW50aXRpZXMgd2l0aCBpZHMnLCBlbnRpdHlJZHMpKSxcbiAgICAgIHN3aXRjaE1hcChlbnRpdHlJZHMgPT4gdGhpcy5hd2FpdEVudGl0aWVzV2l0aElkKGVudGl0eUlkcywgdGhpcy50aW1lb3V0QWZ0ZXJNcykpLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBhd2FpdEVudGl0aWVzV2l0aElkIC0+IHRpbWVkIG91dCBhZnRlcjogJHt0aGlzLnRpbWVvdXRBZnRlck1zfWAsIGVycik7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgIH0pXG4gICAgKTtcblxuXG4gIH1cblxuICBwcml2YXRlIGF3YWl0RW50aXRpZXNXaXRoSWQoZW50aXR5SWRzOiBUSWRbXSwgdGltZW91dE1zOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRFbnRpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQucGlwZShcbiAgICAgIHRhcChlbnRpdGllcyA9PiB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IGVudGl0aWVzIGZvciBpZHMnICsgZW50aXR5SWRzLCBlbnRpdGllcykpLFxuICAgICAgZmlsdGVyKGVudGl0aWVzID0+IHRoaXMuZXF1YWxJZHModGhpcy5nZXRFbnRpdHlJZHMoZW50aXRpZXMpLCBlbnRpdHlJZHMpKSxcbiAgICAgIHRha2UoMSksXG4gICAgICB0aW1lb3V0KHRpbWVvdXRNcylcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgQmluZGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2VsZGVyLXNlbGVjdC1iYXNlIGVsZGVyLW11bHRpLXNlbGVjdCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3QtZGlzYWJsZWQnKSBnZXQgZGlzYWJsZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1pbnZhbGlkJykgZ2V0IGVycm9yU3RhdGVDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvclN0YXRlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc2VsZWN0LXJlcXVpcmVkJykgZ2V0IHJlcXVpcmVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3QtZW1wdHknKSBnZXQgZW1wdHlDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbXB0eTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZW50aXRpZXMkKCk6IE9ic2VydmFibGU8VEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0aWVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW50aXR5SWRzJCgpOiBPYnNlcnZhYmxlPFRJZFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eUlkcyQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVudGl0aWVzKGVudGl0aWVzOiBURW50aXR5W10pIHtcbiAgICBpZighdGhpcy5lcXVhbEVudGl0aWVzRXhhY3RPcmRlcih0aGlzLmVudGl0aWVzLCBlbnRpdGllcykpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZUludGVybmFsKFxuICAgICAgICB0aGlzLmVudGl0aWVzVG9WYWx1ZXMoXG4gICAgICAgICAgdGhpcy53cml0ZUVudGl0aWVzU29ydGVkKGVudGl0aWVzKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW50aXRpZXMoKTogVEVudGl0eVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRpZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVudGl0eUlkcyhpZHM6IFRJZFtdKSB7XG4gICAgaWYoIXRoaXMuZXF1YWxJZHNFeGFjdE9yZGVyKHRoaXMuZW50aXR5SWRzLCBpZHMpKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZUFzSWQpIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlSW50ZXJuYWwoPGFueT5pZHMgYXMgVFZhbHVlW10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RFbnRpdGllc0J5SWRzKGlkcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBlbnRpdHlJZHMoKTogVElkW10ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eUlkc0Zyb21WYWx1ZXModGhpcy52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3B0aW9uRGlzYWJsZWRJbnRlcm5hbEZuKCk6IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAob3B0aW9uOiBURW50aXR5KSA9PiB7XG4gICAgICBpZiAodGhpcy5pc09wdGlvbkRpc2FibGVkRm4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcHRpb25EaXNhYmxlZEZuKG9wdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcHRpb25IaWRkZW5JbnRlcm5hbEZuKCk6IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAob3B0aW9uOiBURW50aXR5KSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0FscmVhZHlQcmVzZW50KG9wdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc09wdGlvbkhpZGRlbkZuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT3B0aW9uSGlkZGVuRm4ob3B0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHVwZGF0ZVZhbHVlQnlFbnRpdGllcyhlbnRpdGllczogVEVudGl0eVtdKTogdm9pZCB7XG4gICAgZW50aXRpZXMgPSB0aGlzLndyaXRlRW50aXRpZXNTb3J0ZWQoZW50aXRpZXMpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICB0aGlzLmVudGl0aWVzVG9WYWx1ZXMoZW50aXRpZXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBlbmRFbnRpdGllcyhuZXdFbnRpdGllczogVEVudGl0eVtdKSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZW50aXRpZXMgPyB0aGlzLmVudGl0aWVzIDogW107XG4gICAgdGhpcy51cGRhdGVWYWx1ZUJ5RW50aXRpZXMoWy4uLmN1cnJlbnQsIC4uLm5ld0VudGl0aWVzXSk7XG4gIH1cblxuICBwdWJsaWMgYXBwZW5kRW50aXR5KG5ld0VudGl0eTogYW55KSB7XG4gICAgdGhpcy5hcHBlbmRFbnRpdGllcyhbbmV3RW50aXR5XSk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFJlbW92ZUVudGl0eSh0b1JlbW92ZTogVEVudGl0eSwgc2tpcENvbmZpcm0/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZXF1ZXN0UmVtb3ZlRW50aXRpZXMoW3RvUmVtb3ZlXSwgc2tpcENvbmZpcm0pO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RSZW1vdmVFbnRpdGllcyhcbiAgICB0b1JlbW92ZTogVEVudGl0eVtdLFxuICAgIHNraXBDb25maXJtPzogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybURlbGV0ZShcbiAgICAgIHtcbiAgICAgICAgZGVsZXRpb25Db3VudDogdG9SZW1vdmUubGVuZ3RoLFxuICAgICAgICBjb25maXJtUmVtb3ZhbDogdGhpcy5jb25maXJtUmVtb3ZhbCxcbiAgICAgICAgc2tpcENvbmZpcm06IHNraXBDb25maXJtXG4gICAgICB9LFxuICAgICAgKCkgPT4gdGhpcy5yZW1vdmVFbnRpdGllcyh0b1JlbW92ZSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUVudGl0aWVzKHRvUmVtb3ZlOiBURW50aXR5W10pOiB2b2lkIHtcbiAgICB0b1JlbW92ZS5mb3JFYWNoKGUgPT4gdGhpcy5yZW1vdmVFbnRpdHkoZSkpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUVudGl0eSh0b1JlbW92ZTogVEVudGl0eSk6IHZvaWQge1xuICAgIGNvbnN0IHJlbWFpbmluZyA9IHRoaXMuZW50aXRpZXNcbiAgICAgIC5maWx0ZXIobCA9PiAhdGhpcy5pc0VxdWFsKGwsIHRvUmVtb3ZlKSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUJ5RW50aXRpZXMocmVtYWluaW5nKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuU2VsZWN0aW9uUG9wdXAoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uUG9wdXApIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUG9wdXAuY2hvb3NlKFxuICAgICAgICAoZTogVEVudGl0eSkgPT4gdGhpcy5nZXRFbnRpdHlJZChlKSxcbiAgICAgICAgdGhpcy5lbnRpdGllcyxcbiAgICAgICAgdGhpcy5maWx0ZXJzLFxuICAgICAgICB0aGlzLnNvcnRzLFxuICAgICAgICB0cnVlXG4gICAgICApLnN1YnNjcmliZShcbiAgICAgICAgKHNlbGVjdGlvbjogVEVudGl0eVtdKSA9PiB0aGlzLnVwZGF0ZVZhbHVlQnlFbnRpdGllcyhzZWxlY3Rpb24pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdDYW50IG9wZW4gc2VsZWN0aW9uIGJyb3dzZXIgcG9wdXAsIHNpbmNlIFtTZWxlY3Rpb25Nb2RlbFBvcHVwRGlyZWN0aXZlXSB3YXMgbm90IGZvdW5kIScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbnRpdHlUb1ZhbHVlKGVudGl0eTogVEVudGl0eSk6IFRWYWx1ZSB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0lkKSB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0RW50aXR5SWQoZW50aXR5KTtcbiAgICAgIHJldHVybiA8YW55PmlkIGFzIFRWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDxhbnk+ZW50aXR5IGFzIFRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSW50ZXJuYWwgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVzRXF1YWxzKGE6IFRWYWx1ZVtdLCBiOiBUVmFsdWVbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVxdWFsSWRzRXhhY3RPcmRlcih0aGlzLmVudGl0eUlkc0Zyb21WYWx1ZXMoYSksIHRoaXMuZW50aXR5SWRzRnJvbVZhbHVlcyhiKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EYXRhQ29udGV4dENoYW5nZWQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0lkKSB7XG4gICAgICB0aGlzLnNlbGVjdEVudGl0aWVzQnlJZHModGhpcy5lbnRpdHlJZHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBpbnZva2VkIGFmdGVyIGEgdmFsdWUgaGFzIGJlZW4gd3JpdHRlbiB0byB0aGlzIGNvbnRyb2wuXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd3JpdGVUb0NvbnRyb2wodmFsdWU6IFRWYWx1ZVtdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0lkKSB7XG4gICAgICBjb25zdCBlbnRpdHlJZHMgPSA8YW55PnZhbHVlIGFzIFRJZFtdO1xuICAgICAgLy8gVmFsdWUgd2FzIHdyaXR0ZW4gYXMgZW50aXR5IGlkcywgZW5zdXJlIHdlIHNlbGVjdCBlbnRpdHkgYnkgaWRcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd3cml0ZVRvQ29udHJvbDogdmFsdWUgd2FzIHdyaXR0ZW4gYXMgaWRzOiAnICsgZW50aXR5SWRzLCB2YWx1ZSk7XG4gICAgICB0aGlzLnNlbGVjdEVudGl0aWVzQnlJZHMoZW50aXR5SWRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVmFsdWUgd2FzIHdyaXR0ZW4gYXMgZW50aXR5LCBlbnN1cmUgZW50aXR5IGlzIHVwZGF0ZWRcbiAgICAgIGNvbnN0IGN1cnJlbnRFbnRpdGllcyA9IHRoaXMuZW50aXRpZXM7XG4gICAgICBjb25zdCBuZXdFbnRpdGllcyA9IDxhbnk+dmFsdWUgYXMgVEVudGl0eVtdO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3dyaXRlVG9Db250cm9sOiB2YWx1ZSB3YXMgd3JpdHRlbiBhcyBlbnRpdGllcyAoc2l6ZSk6ICcgKyBuZXdFbnRpdGllcz8ubGVuZ3RoLCB2YWx1ZSk7XG4gICAgICBpZiAoIXRoaXMuZXF1YWxFbnRpdGllcyhjdXJyZW50RW50aXRpZXMsIG5ld0VudGl0aWVzKSkge1xuICAgICAgICB0aGlzLndyaXRlRW50aXRpZXNTb3J0ZWQobmV3RW50aXRpZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignSWdub3JlZCB3cml0dGVuIGVudGl0aWVzIGFzIHRoZXkgYXJlIGFscmVhZHkgc2V0IHRvIGVudGl0aWVzJCEnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc3VwZXIud3JpdGVUb0NvbnRyb2wodmFsdWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwcml2YXRlIGlzQWxyZWFkeVByZXNlbnQocXVlcnlWYWx1ZTogVEVudGl0eSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmVudGl0aWVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbnRpdGllcy5zb21lKHYgPT4gdGhpcy5pc0VxdWFsKHYsIHF1ZXJ5VmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW50aXR5SWRzRnJvbVZhbHVlcyh2YWx1ZXM6IFRWYWx1ZVtdKTogVElkW10gfCBudWxsIHtcbiAgICBpZiAodmFsdWVzKSB7XG4gICAgICByZXR1cm4gdmFsdWVzLm1hcCh2ID0+IHRoaXMuZW50aXR5SWRGcm9tVmFsdWUodikpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZW50aXR5SWRGcm9tVmFsdWUodmFsdWU6IFRWYWx1ZSk6IFRJZCB7XG4gICAgaWYgKHRoaXMudmFsdWVBc0lkKSB7XG4gICAgICByZXR1cm4gPGFueT52YWx1ZSBhcyBUSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVudGl0eSA9ICg8YW55PnZhbHVlKSBhcyBURW50aXR5O1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5SWQoZW50aXR5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVudGl0aWVzVG9WYWx1ZXMoZW50aXRpZXM6IFRFbnRpdHlbXSk6IFRWYWx1ZVtdIHwgbnVsbCB7XG4gICAgaWYgKGVudGl0aWVzKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKGUgPT4gdGhpcy5lbnRpdHlUb1ZhbHVlKGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldEVudGl0eUlkcyh2YWx1ZXM6IFRFbnRpdHlbXSB8IG51bGwpOiBUSWRbXSB7XG4gICAgaWYgKHZhbHVlcykge1xuICAgICAgcmV0dXJuIHZhbHVlcy5tYXAodiA9PiB0aGlzLmdldEVudGl0eUlkKHYpKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGVxdWFsSWRzKGlkc0E6IFRJZFtdLCBpZHNCOiBUSWRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZXRzLmVxdWFsQ29udGVudChpZHNBLCBpZHNCKTtcbiAgfVxuXG4gIHByaXZhdGUgZXF1YWxJZHNFeGFjdE9yZGVyKGlkc0E6IFRJZFtdLCBpZHNCOiBUSWRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheXMuZXF1YWxDb250ZW50QW5kT3JkZXIoaWRzQSwgaWRzQik7XG4gIH1cblxuICBwcml2YXRlIGVxdWFsRW50aXRpZXMoZW50aXRpZXNBOiBURW50aXR5W10sIGVudGl0aWVzQjogVEVudGl0eVtdKSB7XG4gICAgcmV0dXJuIHRoaXMuZXF1YWxJZHModGhpcy5nZXRFbnRpdHlJZHMoZW50aXRpZXNBKSwgdGhpcy5nZXRFbnRpdHlJZHMoZW50aXRpZXNCKSk7XG4gIH1cblxuICBwcml2YXRlIGVxdWFsRW50aXRpZXNFeGFjdE9yZGVyKGVudGl0aWVzQTogVEVudGl0eVtdLCBlbnRpdGllc0I6IFRFbnRpdHlbXSkge1xuICAgIHJldHVybiB0aGlzLmVxdWFsSWRzRXhhY3RPcmRlcih0aGlzLmdldEVudGl0eUlkcyhlbnRpdGllc0EpLCB0aGlzLmdldEVudGl0eUlkcyhlbnRpdGllc0IpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0RW50aXRpZXNCeUlkcyhpZHM6IFRJZFtdKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEVudGl0aWVzID0gdGhpcy5lbnRpdGllcztcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdzZWxlY3RFbnRpdGllc0J5SWRzOiBpZHM6ICcgKyBpZHMgKyAnLCBjdXJyZW50IGVudGl0aWVzOicsIGN1cnJlbnRFbnRpdGllcyk7XG4gICAgaWYgKGN1cnJlbnRFbnRpdGllcyAmJiB0aGlzLmVxdWFsSWRzKHRoaXMuZ2V0RW50aXR5SWRzKGN1cnJlbnRFbnRpdGllcyksIGlkcykpIHtcbiAgICAgIHJldHVybjsgLy8gRW50aXRpZXMgYWxyZWFkeSBsb2FkZWRcbiAgICB9XG5cbiAgICB0aGlzLmZpbmRPckxvYWRFbnRpdGllc0J5SWRzKGlkcylcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBlbnRpdGllcyA9PiB0aGlzLmVudGl0aWVzID0gZW50aXRpZXMsXG4gICAgICAgIGVycm9yOiBlcnIgPT4gdGhpcy51cGRhdGVTdGF0ZShFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmVycm9yKGVycikpXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE9yTG9hZEVudGl0aWVzQnlJZHMoaWRzOiBUSWRbXSk6IE9ic2VydmFibGU8VEVudGl0eVtdPiB7XG4gICAgaWYgKGlkcyA9PT0gbnVsbCB8fCBpZHMubGVuZ3RoID09IDApIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuZmluZEluRGF0YUNvbnRleHQoaWRzKTtcbiAgICAgIGNvbnN0IG1pc3NpbmdJZHMgPSBpZHMuZmlsdGVyKGlkID0+ICFleGlzdGluZy5oYXMoaWQpKTtcbiAgICAgIGNvbnN0IHZhbHVlTG9hZFJlcXVlc3QkID0gbWlzc2luZ0lkcy5sZW5ndGggPiAwID8gdGhpcy5sb2FkRW50aXRpZXNCeUlkcyhtaXNzaW5nSWRzKSA6IG9mKG5ldyBNYXAoKSk7XG5cbiAgICAgIHJldHVybiB2YWx1ZUxvYWRSZXF1ZXN0JC5waXBlKFxuICAgICAgICBtYXAobG9hZGVkID0+IHtcbiAgICAgICAgICBsb2FkZWQuZm9yRWFjaCgodiwgaykgPT4gZXhpc3Rpbmcuc2V0KGssIHYpKTtcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoYWxsVmFsdWVzTWFwID0+IEFycmF5LmZyb20oYWxsVmFsdWVzTWFwLnZhbHVlcygpKSkgLy8gVE9ETyBTb3J0P1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignRmFpbGVkIHRvIHNlbGVjdCB2YWx1ZSBieSBJZHM6ICcgKyBpZHMgKyAnIC0gRGF0YUNvbnRleHQgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRFbnRpdGllc0J5SWRzKGlkczogVElkW10pOiBPYnNlcnZhYmxlPE1hcDxUSWQsIFRFbnRpdHk+PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZU9yVGhyb3coKS5maW5kQnlJZHMoaWRzKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGxvYWQgZW50aXRpZXMgYnkgaWRzOiAnICsgaWRzLCBlcnIpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgfSksXG4gICAgICBtYXAodmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0xvYWRlZCBlbnRpdGllcyBieSBpZDonLCB2YWx1ZXMpO1xuICAgICAgICBjb25zdCB2YWx1ZU1hcCA9IG5ldyBNYXA8VElkLCBURW50aXR5PigpO1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2ID0+IHZhbHVlTWFwLnNldCh0aGlzLmdldEVudGl0eUlkKHYpLCB2KSk7XG4gICAgICAgIHJldHVybiB2YWx1ZU1hcDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEluRGF0YUNvbnRleHQoaWRzOiBUSWRbXSk6IE1hcDxUSWQsIFRFbnRpdHk+IHtcbiAgICBjb25zdCBleGlzdGluZ1ZhbHVlcyA9IG5ldyBNYXA8VElkLCBURW50aXR5PigpO1xuICAgIGlmIChpZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFDb250ZXh0LnNuYXBzaG90LmRhdGE7XG4gICAgICBjb25zdCByZXF1aXJlZElkcyA9IG5ldyBTZXQoaWRzKTtcbiAgICAgIGRhdGFcbiAgICAgICAgLmZpbHRlcihkID0+IHJlcXVpcmVkSWRzLmhhcyh0aGlzLmdldEVudGl0eUlkKGQpKSlcbiAgICAgICAgLmZvckVhY2goZCA9PiBleGlzdGluZ1ZhbHVlcy5zZXQodGhpcy5nZXRFbnRpdHlJZChkKSwgZCkpO1xuICAgIH1cbiAgICByZXR1cm4gZXhpc3RpbmdWYWx1ZXM7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlRW50aXRpZXNTb3J0ZWQoZW50aXRpZXM6IFRFbnRpdHlbXSk6IFRFbnRpdHlbXSB7XG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy5zb3J0RW50aXRpZXMoZW50aXRpZXMpO1xuICAgIHRoaXMuX2VudGl0aWVzJC5uZXh0KHNvcnRlZCk7XG4gICAgcmV0dXJuIHNvcnRlZDtcbiAgfVxuXG4gIHByaXZhdGUgc29ydEVudGl0aWVzKGVudGl0aWVzOiBURW50aXR5W10pOiBURW50aXR5W10ge1xuICAgIGlmIChlbnRpdGllcyAmJiB0aGlzLmVudGl0aWVzU29ydHMgJiYgdGhpcy5lbnRpdGllc1NvcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNvcnRlZCA9IFNvcnRVdGlsLnNvcnREYXRhKGVudGl0aWVzLCB0aGlzLmVudGl0aWVzU29ydHMpO1xuICAgICAgaWYgKCFTb3J0VXRpbC5lcXVhbHNFeGFjdFJlZnMoZW50aXRpZXMsIHNvcnRlZCkpIHtcbiAgICAgICAgLy8gT25seSByZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheSBpZiBhY3R1YWxseSBzb21ldGhpbmcgY2hhbmdlZFxuICAgICAgICByZXR1cm4gc29ydGVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZW50aXRpZXM7XG4gIH1cbn1cbiJdfQ==
|