@sbb-esta/lyne-elements 3.0.0 → 3.1.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/autocomplete/autocomplete-base-element.d.ts +1 -1
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete-base-element.js +3 -1
- package/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
- package/button/accent-button/accent-button.component.d.ts +2 -1
- package/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/button/accent-button-link/accent-button-link.component.d.ts +2 -1
- package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/button/accent-button-static/accent-button-static.component.d.ts +2 -1
- package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/button/button/button.component.d.ts +2 -1
- package/button/button/button.component.d.ts.map +1 -1
- package/button/button-link/button-link.component.d.ts +2 -1
- package/button/button-link/button-link.component.d.ts.map +1 -1
- package/button/button-static/button-static.component.d.ts +2 -1
- package/button/button-static/button-static.component.d.ts.map +1 -1
- package/button/common/button-common.d.ts +1 -0
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common/button-common.js +52 -28
- package/button/common.js +1 -1
- package/button/mini-button/mini-button.component.d.ts +1 -0
- package/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/button/mini-button/mini-button.component.js +20 -14
- package/button/secondary-button/secondary-button.component.d.ts +2 -1
- package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
- package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
- package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/button/transparent-button/transparent-button.component.d.ts +2 -1
- package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
- package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
- package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/button.js +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.js +4 -4
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/core/a11y/live-announcer.d.ts.map +1 -1
- package/core/a11y/live-announcer.js +10 -8
- package/core/base-elements/link-base-element.d.ts +1 -0
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.js +18 -17
- package/core/base-elements/open-close-base-element.d.ts +3 -3
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/config/config.d.ts +5 -0
- package/core/config/config.d.ts.map +1 -1
- package/core/mixins/selection-panel-mixin.d.ts +23 -0
- package/core/mixins/selection-panel-mixin.d.ts.map +1 -0
- package/core/mixins/selection-panel-mixin.js +87 -0
- package/core/mixins.d.ts +1 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +12 -10
- package/core/styles/core.scss +42 -7
- package/core.css +22 -1
- package/custom-elements.json +22060 -19260
- package/datepicker/datepicker/datepicker.component.d.ts +7 -3
- package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/datepicker/datepicker/datepicker.component.js +31 -25
- package/development/accordion/accordion.component.js +1 -1
- package/development/action-group/action-group.component.js +1 -1
- package/development/alert/alert/alert.component.js +1 -1
- package/development/alert/alert-group/alert-group.component.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +4 -2
- package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
- package/development/button/accent-button/accent-button.component.d.ts +2 -1
- package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -1
- package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +1 -1
- package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -1
- package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +1 -1
- package/development/button/button/button.component.d.ts +2 -1
- package/development/button/button/button.component.d.ts.map +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/button-link/button-link.component.d.ts +2 -1
- package/development/button/button-link/button-link.component.d.ts.map +1 -1
- package/development/button/button-link/button-link.component.js +1 -1
- package/development/button/button-static/button-static.component.d.ts +2 -1
- package/development/button/button-static/button-static.component.d.ts.map +1 -1
- package/development/button/button-static/button-static.component.js +1 -1
- package/development/button/common/button-common.d.ts +1 -0
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common/button-common.js +42 -5
- package/development/button/common.js +1 -1
- package/development/button/mini-button/mini-button.component.d.ts +1 -0
- package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.component.js +41 -2
- package/development/button/mini-button-group/mini-button-group.component.js +1 -1
- package/development/button/secondary-button/secondary-button.component.d.ts +2 -1
- package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
- package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
- package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
- package/development/button/transparent-button/transparent-button.component.d.ts +2 -1
- package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
- package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
- package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
- package/development/button.js +1 -1
- package/development/calendar/calendar.component.js +1 -1
- package/development/card/card/card.component.js +1 -1
- package/development/card/card-badge/card-badge.component.js +1 -1
- package/development/card/card-button/card-button.component.js +1 -1
- package/development/card/card-link/card-link.component.js +1 -1
- package/development/card/common/card-action-common.js +1 -1
- package/development/checkbox/checkbox/checkbox.component.js +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.js +2 -2
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +1 -1
- package/development/checkbox/common/checkbox-common.js +1 -1
- package/development/chip/chip/chip.component.js +1 -1
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip-label/chip-label.component.js +1 -1
- package/development/clock/clock.component.js +1 -1
- package/development/container/container/container.component.js +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +1 -1
- package/development/core/a11y/arrow-navigation.js +1 -1
- package/development/core/a11y/focus-trap-controller.js +1 -1
- package/development/core/a11y/focus-visible-within-controller.js +1 -1
- package/development/core/a11y/input-modality-detector.js +1 -1
- package/development/core/a11y/interactivity-checker.js +1 -1
- package/development/core/a11y/live-announcer.d.ts.map +1 -1
- package/development/core/a11y/live-announcer.js +10 -6
- package/development/core/base-elements/action-base-element.js +1 -1
- package/development/core/base-elements/button-base-element.js +1 -1
- package/development/core/base-elements/link-base-element.d.ts +1 -0
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.js +3 -1
- package/development/core/base-elements/open-close-base-element.d.ts +3 -3
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements/open-close-base-element.js +1 -1
- package/development/core/config/config.d.ts +5 -0
- package/development/core/config/config.d.ts.map +1 -1
- package/development/core/config/config.js +1 -1
- package/development/core/controllers/escapable-overlay-controller.js +1 -1
- package/development/core/controllers/id-reference-controller.js +1 -1
- package/development/core/controllers/inert-controller.js +1 -1
- package/development/core/controllers/language-controller.js +1 -1
- package/development/core/controllers/media-matchers-controller.js +1 -1
- package/development/core/controllers/slot-state-controller.js +1 -1
- package/development/core/datetime/date-adapter.js +1 -1
- package/development/core/datetime/native-date-adapter.js +1 -1
- package/development/core/decorators/force-type.js +1 -1
- package/development/core/decorators/get-override.js +1 -1
- package/development/core/decorators/handle-distinct-change.js +1 -1
- package/development/core/decorators/host-attributes.js +1 -1
- package/development/core/decorators/id-reference.js +1 -1
- package/development/core/decorators/omit-empty-converter.js +1 -1
- package/development/core/decorators/plain-date.js +1 -1
- package/development/core/decorators/slot-state.js +1 -1
- package/development/core/dom/animation.js +1 -1
- package/development/core/dom/breakpoint.js +1 -1
- package/development/core/dom/host-context.js +1 -1
- package/development/core/dom/scroll.js +1 -1
- package/development/core/dom/set-or-remove-attribute.js +1 -1
- package/development/core/eventing/composed-path-has-attribute.js +1 -1
- package/development/core/eventing/form-element-handlers.js +1 -1
- package/development/core/eventing/throttle.js +1 -1
- package/development/core/i18n/i18n.js +1 -1
- package/development/core/mixins/animation-complete-mixin.js +1 -1
- package/development/core/mixins/disabled-mixin.js +1 -1
- package/development/core/mixins/element-internals-mixin.js +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +1 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
- package/development/core/mixins/hydration-mixin.js +1 -1
- package/development/core/mixins/named-slot-list-mixin.js +1 -1
- package/development/core/mixins/negative-mixin.js +1 -1
- package/development/core/mixins/panel-mixin.js +1 -1
- package/development/core/mixins/readonly-mixin.js +1 -1
- package/development/core/mixins/required-mixin.js +1 -1
- package/development/core/mixins/selection-panel-mixin.d.ts +23 -0
- package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -0
- package/development/core/mixins/selection-panel-mixin.js +120 -0
- package/development/core/mixins/update-scheduler-mixin.js +1 -1
- package/development/core/mixins.d.ts +1 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +7 -5
- package/development/core/overlay/overlay-option-panel.js +1 -1
- package/development/core/overlay/overlay-trigger-attributes.js +1 -1
- package/development/core/overlay/position.js +1 -1
- package/development/core/testing/event-spy.js +1 -1
- package/development/core/testing/mocha-extensions.js +1 -1
- package/development/core/testing/wait-for-condition.js +1 -1
- package/development/core/testing/wait-for-image-ready.js +1 -1
- package/development/date-input/date-input.component.js +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +7 -3
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +14 -3
- package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
- package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
- package/development/dialog/dialog/dialog.component.d.ts +4 -2
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +61 -11
- package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
- package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
- package/development/dialog/dialog-actions/dialog-actions.component.js +10 -1
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +53 -0
- package/development/dialog/dialog-close-button.d.ts +5 -0
- package/development/dialog/dialog-close-button.d.ts.map +1 -0
- package/development/dialog/dialog-close-button.js +5 -0
- package/development/dialog/dialog-content/dialog-content.component.js +2 -2
- package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
- package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
- package/development/dialog/dialog-title/dialog-title.component.js +6 -2
- package/development/dialog.d.ts +1 -0
- package/development/dialog.d.ts.map +1 -1
- package/development/dialog.js +3 -1
- package/development/divider/divider.component.js +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -2
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
- package/development/footer/footer.component.js +1 -1
- package/development/form-error/form-error.component.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts +23 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +39 -12
- package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
- package/development/form-field/form-field.js +2 -1
- package/development/form-field.js +2 -1
- package/development/header/common/header-action-common.js +1 -1
- package/development/header/header/header.component.js +1 -1
- package/development/header/header-environment/header-environment.component.d.ts +23 -0
- package/development/header/header-environment/header-environment.component.d.ts.map +1 -0
- package/development/header/header-environment/header-environment.component.js +111 -0
- package/development/header/header-environment.d.ts +5 -0
- package/development/header/header-environment.d.ts.map +1 -0
- package/development/header/header-environment.js +5 -0
- package/development/icon/icon-base.js +1 -1
- package/development/icon/icon-name-mixin.js +1 -1
- package/development/icon/icon-request.js +1 -1
- package/development/icon/icon-validate.js +1 -1
- package/development/icon/icon.component.js +1 -1
- package/development/image/image.component.js +1 -1
- package/development/journey-header/journey-header.component.js +1 -1
- package/development/lead-container/lead-container.component.js +1 -1
- package/development/link/common/block-link-common.js +1 -1
- package/development/link-common-DPLJx5Uo.js +1 -1
- package/development/link-list/common/link-list-base.js +1 -1
- package/development/link-list/link-list/link-list.component.js +1 -1
- package/development/loading-indicator/loading-indicator.component.js +1 -1
- package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
- package/development/logo/logo.component.js +1 -1
- package/development/map-container/map-container.component.js +1 -1
- package/development/menu/common/menu-action-common.js +1 -1
- package/development/menu/menu/menu.component.d.ts +1 -0
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +2 -2
- package/development/menu/menu-button/menu-button.component.d.ts +1 -0
- package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.component.js +2 -3
- package/development/menu/menu-link/menu-link.component.d.ts +1 -0
- package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
- package/development/menu/menu-link/menu-link.component.js +5 -1
- package/development/message/message.component.js +1 -1
- package/development/navigation/common/navigation-action-common.js +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-list/navigation-list.component.js +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/notification/notification.component.js +1 -1
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +8 -6
- package/development/option/optgroup/optgroup.component.js +1 -1
- package/development/option/option/option-base-element.d.ts +1 -1
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +1 -1
- package/development/option/option/option.component.d.ts +1 -1
- package/development/option/option/option.component.d.ts.map +1 -1
- package/development/option/option/option.component.js +1 -1
- package/development/option/option-hint/option-hint.component.d.ts +18 -0
- package/development/option/option-hint/option-hint.component.d.ts.map +1 -0
- package/development/option/option-hint/option-hint.component.js +74 -0
- package/development/option/option-hint.d.ts +5 -0
- package/development/option/option-hint.d.ts.map +1 -0
- package/development/option/option-hint.js +5 -0
- package/development/option.d.ts +1 -0
- package/development/option.d.ts.map +1 -1
- package/development/option.js +4 -2
- package/development/overlay/overlay-base-element.d.ts +1 -0
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +3 -3
- package/development/overlay/overlay.component.js +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
- package/development/paginator/paginator/paginator.component.js +1 -1
- package/development/popover/popover/popover.component.d.ts +19 -4
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +44 -32
- package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
- package/development/radio-button/common/radio-button-common.js +1 -1
- package/development/radio-button/radio-button/radio-button.component.js +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.component.js +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.component.js +7 -7
- package/development/screen-reader-only/screen-reader-only.component.js +1 -1
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +2 -2
- package/development/selection-action-panel/selection-action-panel.component.d.ts +22 -0
- package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
- package/development/selection-action-panel/selection-action-panel.component.js +105 -0
- package/development/selection-action-panel.d.ts +5 -0
- package/development/selection-action-panel.d.ts.map +1 -0
- package/development/selection-action-panel.js +5 -0
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +26 -106
- package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
- package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
- package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
- package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
- package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
- package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/signet/signet.component.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/status/status.component.js +1 -1
- package/development/stepper/step/step.component.d.ts +1 -1
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +1 -1
- package/development/stepper/step-label/step-label.component.js +1 -1
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/tabs/tab/tab.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tag/tag/tag.component.js +1 -1
- package/development/tag/tag-group/tag-group.component.js +1 -1
- package/development/teaser/teaser.component.js +1 -1
- package/development/teaser-hero/teaser-hero.component.js +1 -1
- package/development/teaser-product/common/teaser-product-common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/development/time-input/time-input.component.js +1 -1
- package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
- package/development/title/title-base.js +1 -1
- package/development/toast/toast.component.js +1 -1
- package/development/toggle/toggle/toggle.component.js +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +1 -1
- package/development/toggle-check/toggle-check.component.js +1 -1
- package/development/train/train/train.component.js +1 -1
- package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
- package/development/train/train-formation/train-formation.component.js +1 -1
- package/development/train/train-wagon/train-wagon.component.js +1 -1
- package/development/{transparent-button-Ddb_s0a0.js → transparent-button-Dun6bh2G.js} +89 -8
- package/development/visual-checkbox/visual-checkbox.component.js +1 -1
- package/dialog/dialog/dialog.component.d.ts +4 -2
- package/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/dialog/dialog/dialog.component.js +63 -56
- package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
- package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +13 -9
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
- package/dialog/dialog-close-button/dialog-close-button.component.js +31 -0
- package/dialog/dialog-close-button.d.ts +5 -0
- package/dialog/dialog-close-button.d.ts.map +1 -0
- package/dialog/dialog-close-button.js +4 -0
- package/dialog/dialog-content/dialog-content.component.js +6 -6
- package/dialog/dialog-title/dialog-title.component.d.ts +1 -0
- package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
- package/dialog/dialog-title/dialog-title.component.js +11 -8
- package/dialog.d.ts +1 -0
- package/dialog.d.ts.map +1 -1
- package/dialog.js +6 -4
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -7
- package/form-field/form-field/form-field.component.d.ts +23 -1
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +52 -41
- package/form-field/form-field.js +3 -2
- package/form-field.js +5 -4
- package/header/header-environment/header-environment.component.d.ts +23 -0
- package/header/header-environment/header-environment.component.d.ts.map +1 -0
- package/header/header-environment/header-environment.component.js +37 -0
- package/header/header-environment.d.ts +5 -0
- package/header/header-environment.d.ts.map +1 -0
- package/header/header-environment.js +4 -0
- package/index.d.ts +8 -0
- package/index.js +8 -0
- package/menu/menu/menu.component.d.ts +1 -0
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/menu/menu-button/menu-button.component.d.ts +1 -0
- package/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/menu/menu-button/menu-button.component.js +8 -8
- package/menu/menu-link/menu-link.component.d.ts +1 -0
- package/menu/menu-link/menu-link.component.d.ts.map +1 -1
- package/menu/menu-link/menu-link.component.js +9 -6
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.js +19 -17
- package/option/option/option-base-element.d.ts +1 -1
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option.component.d.ts +1 -1
- package/option/option/option.component.d.ts.map +1 -1
- package/option/option-hint/option-hint.component.d.ts +18 -0
- package/option/option-hint/option-hint.component.d.ts.map +1 -0
- package/option/option-hint/option-hint.component.js +27 -0
- package/option/option-hint.d.ts +5 -0
- package/option/option-hint.d.ts.map +1 -0
- package/option/option-hint.js +4 -0
- package/option.d.ts +1 -0
- package/option.d.ts.map +1 -1
- package/option.js +5 -3
- package/overlay/overlay-base-element.d.ts +1 -0
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay-base-element.js +21 -21
- package/package.json +23 -3
- package/popover/popover/popover.component.d.ts +19 -4
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +109 -96
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.component.js +9 -9
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +1 -1
- package/selection-action-panel/selection-action-panel.component.d.ts +22 -0
- package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
- package/selection-action-panel/selection-action-panel.component.js +34 -0
- package/selection-action-panel.d.ts +5 -0
- package/selection-action-panel.d.ts.map +1 -0
- package/selection-action-panel.js +4 -0
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +45 -102
- package/standard-theme.css +22 -1
- package/stepper/step/step.component.d.ts +1 -1
- package/stepper/step/step.component.d.ts.map +1 -1
- package/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/transparent-button-rf30m88X.js +9 -0
- package/transparent-button-BlbvexCb.js +0 -9
|
@@ -93,4 +93,4 @@ let SbbCompactPaginatorElement = (() => {
|
|
|
93
93
|
export {
|
|
94
94
|
SbbCompactPaginatorElement
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jb21wYWN0LXBhZ2luYXRvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudCBpbiBjb21wYWN0IG1vZGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jb21wYWN0LXBhZ2luYXRvcicpXG5jbGFzcyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCBleHRlbmRzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yX19kaXZpZGVyXCJcbiAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICA+PC9zYmItZGl2aWRlclxuICAgICAgICA+JHt0aGlzLm51bWJlck9mUGFnZXMoKX08L3NwYW5cbiAgICAgID5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yXCI+
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jb21wYWN0LXBhZ2luYXRvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudCBpbiBjb21wYWN0IG1vZGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jb21wYWN0LXBhZ2luYXRvcicpXG5jbGFzcyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCBleHRlbmRzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yX19kaXZpZGVyXCJcbiAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICA+PC9zYmItZGl2aWRlclxuICAgICAgICA+JHt0aGlzLm51bWJlck9mUGFnZXMoKX08L3NwYW5cbiAgICAgID5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yXCI+XG4gICAgICAgICR7dGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgICAgPyBodG1sYCR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfWBcbiAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9YH1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jb21wYWN0LXBhZ2luYXRvcic6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBY00sOEJBQTBCLE1BQUE7OzBCQUQvQixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNFLCtCQUErQixVQUFVO0FBQWpELEVBQUEsbUJBQVEsWUFBMEM7QUFBQSxJQU16RSxxQkFBa0I7QUFDeEIsYUFBTztBQUFBO0FBQUEsV0FFQSxLQUFLLFlBQVksQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUlQLEtBQUssUUFBUTtBQUFBO0FBQUEsV0FFeEIsS0FBSyxlQUFlO0FBQUE7QUFBQTtBQUFBLElBRzdCO0FBQUEsSUFFbUIsa0JBQWU7QUFDaEMsYUFBTztBQUFBO0FBQUEsVUFFRCxLQUFLLGtCQUFrQixVQUNyQixPQUFPLEtBQUssdUJBQXVCLElBQUksS0FBSyxtQkFBQSxDQUFvQixLQUNoRSxPQUFPLEtBQUssbUJBQUEsQ0FBb0IsSUFBSSxLQUFLLHNCQUFBLENBQXVCLEVBQUU7QUFBQTtBQUFBO0FBQUEsSUFHNUU7QUFBQTs7QUE1QkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBaUM7QUFBQSxJQUN0RCxNQUFNO0FBQUEsRUFBQSxHQUhKLGtCQUFBLFlBQUEsdUJBQUEsR0FBMkI7OzsifQ==
|
|
@@ -436,4 +436,4 @@ let SbbPaginatorElement = (() => {
|
|
|
436
436
|
export {
|
|
437
437
|
SbbPaginatorElement
|
|
438
438
|
};
|
|
439
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgaTE4bkl0ZW1zUGVyUGFnZSwgaTE4blBhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BhZ2luYXRvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2Zvcm0tZmllbGQuanMnO1xuaW1wb3J0ICcuLi8uLi9zZWxlY3QuanMnO1xuaW1wb3J0ICcuLi8uLi9vcHRpb24uanMnO1xuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5jb25zdCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCA9IDM7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBwYWdpbmF0b3IgY29tcG9uZW50LlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcGFnaW5hdG9yJylcbmNsYXNzIFNiYlBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICBwcml2YXRlIF9tYXJrRm9yRm9jdXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLyoqIFRhYiBuYXZpZ2F0aW9uIGNhbiBmb3JjZSBhIHJlcmVuZGVyIHdoZW4gZWxsaXBzaXMgZWxlbWVudHMgbmVlZCB0byBiZSBkaXNwbGF5ZWQ7IHRoZSBmb2N1cyBtdXN0IHN0YXkgb24gdGhlIGNvcnJlY3QgZWxlbWVudC4gKi9cbiAgICBpZiAodGhpcy5fbWFya0ZvckZvY3VzICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIFJlc2V0IG1hcmsgZm9yIGZvY3VzXG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSBudWxsO1xuICAgIH1cbiAgfVxuICAvKiogUmV0dXJucyB0aGUgZGlzcGxheWVkIHBhZ2UgZWxlbWVudHMuICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlcygpOiBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvckFsbCgnLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0aGUgcGFnZXMgc2V0IGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgcnVsZXM6XG4gICAqICAtIHRoZSBmaXJzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIHRoZSBsYXN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRURgIG90aGVyIHBhZ2VzLCBlbGxpcHNpcyBidXR0b24gbXVzdCBiZSB1c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKTogKG51bWJlciB8ICdlbGxpcHNpcycpW10ge1xuICAgIGNvbnN0IHRvdGFsUGFnZXM6IG51bWJlciA9IHRoaXMubnVtYmVyT2ZQYWdlcygpO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlSW5kZXg6IG51bWJlciA9IHRoaXMucGFnZUluZGV4O1xuXG4gICAgaWYgKHRvdGFsUGFnZXMgPD0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmFuZ2UodG90YWxQYWdlcyk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4IDwgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxKSwgJ2VsbGlwc2lzJywgdG90YWxQYWdlcyAtIDFdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA+PSB0b3RhbFBhZ2VzIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIC4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSwgdG90YWxQYWdlcyAtIDEgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCksXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4IC0gMSxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCArIDEsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIHRvdGFsUGFnZXMgLSAxLFxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhbiBhcnJheSBvZiBjb25zZWN1dGl2ZSBudW1iZXJzIGdpdmVuIHRoZSBsZW5ndGggYW5kIHRoZSBzdGFydGluZyB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfcmFuZ2UobGVuZ3RoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyID0gMCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoXywgaykgPT4gayArIG9mZnNldCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICcgJyAmJiBldmVudC5rZXkgIT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoY3VycmVudCkge1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB8IHR5cGVvZiBub3RoaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZU9wdGlvbnMgJiYgdGhpcy5wYWdlU2l6ZU9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgPyBodG1sYFxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLXNpemUtb3B0aW9uc1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlbGVjdFwiPiR7aTE4bkl0ZW1zUGVyUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfTwvbGFiZWw+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEN1c3RvbUV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgKHRoaXMucGFnZVNpemUgPSArKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHtpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCQSxNQUFNLDZCQUE2QjtJQU83Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNHLCtCQUErQixVQUFVOzs7Ozs7O0FBQWpELEVBQUEsbUJBQVEsWUFBMEM7QUFBQTs7QUFRMUU7QUFNMEQ7QUFOMUMseUJBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0FBTXFDLHlCQUFBLGtDQUFBLGtCQUFBLE1BQUEsa0NBQUEsR0FB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
|
|
439
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgaTE4bkl0ZW1zUGVyUGFnZSwgaTE4blBhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BhZ2luYXRvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2Zvcm0tZmllbGQuanMnO1xuaW1wb3J0ICcuLi8uLi9zZWxlY3QuanMnO1xuaW1wb3J0ICcuLi8uLi9vcHRpb24uanMnO1xuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5jb25zdCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCA9IDM7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBwYWdpbmF0b3IgY29tcG9uZW50LlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcGFnaW5hdG9yJylcbmNsYXNzIFNiYlBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICBwcml2YXRlIF9tYXJrRm9yRm9jdXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLyoqIFRhYiBuYXZpZ2F0aW9uIGNhbiBmb3JjZSBhIHJlcmVuZGVyIHdoZW4gZWxsaXBzaXMgZWxlbWVudHMgbmVlZCB0byBiZSBkaXNwbGF5ZWQ7IHRoZSBmb2N1cyBtdXN0IHN0YXkgb24gdGhlIGNvcnJlY3QgZWxlbWVudC4gKi9cbiAgICBpZiAodGhpcy5fbWFya0ZvckZvY3VzICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIFJlc2V0IG1hcmsgZm9yIGZvY3VzXG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSBudWxsO1xuICAgIH1cbiAgfVxuICAvKiogUmV0dXJucyB0aGUgZGlzcGxheWVkIHBhZ2UgZWxlbWVudHMuICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlcygpOiBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvckFsbCgnLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0aGUgcGFnZXMgc2V0IGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgcnVsZXM6XG4gICAqICAtIHRoZSBmaXJzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIHRoZSBsYXN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRURgIG90aGVyIHBhZ2VzLCBlbGxpcHNpcyBidXR0b24gbXVzdCBiZSB1c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKTogKG51bWJlciB8ICdlbGxpcHNpcycpW10ge1xuICAgIGNvbnN0IHRvdGFsUGFnZXM6IG51bWJlciA9IHRoaXMubnVtYmVyT2ZQYWdlcygpO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlSW5kZXg6IG51bWJlciA9IHRoaXMucGFnZUluZGV4O1xuXG4gICAgaWYgKHRvdGFsUGFnZXMgPD0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmFuZ2UodG90YWxQYWdlcyk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4IDwgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxKSwgJ2VsbGlwc2lzJywgdG90YWxQYWdlcyAtIDFdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA+PSB0b3RhbFBhZ2VzIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIC4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSwgdG90YWxQYWdlcyAtIDEgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCksXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4IC0gMSxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCArIDEsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIHRvdGFsUGFnZXMgLSAxLFxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhbiBhcnJheSBvZiBjb25zZWN1dGl2ZSBudW1iZXJzIGdpdmVuIHRoZSBsZW5ndGggYW5kIHRoZSBzdGFydGluZyB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfcmFuZ2UobGVuZ3RoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyID0gMCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoXywgaykgPT4gayArIG9mZnNldCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICcgJyAmJiBldmVudC5rZXkgIT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoY3VycmVudCkge1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB8IHR5cGVvZiBub3RoaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZU9wdGlvbnMgJiYgdGhpcy5wYWdlU2l6ZU9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgPyBodG1sYFxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLXNpemUtb3B0aW9uc1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlbGVjdFwiPiR7aTE4bkl0ZW1zUGVyUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfTwvbGFiZWw+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgKHRoaXMucGFnZVNpemUgPSArKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHtpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCQSxNQUFNLDZCQUE2QjtJQU83Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNHLCtCQUErQixVQUFVOzs7Ozs7O0FBQWpELEVBQUEsbUJBQVEsWUFBMEM7QUFBQTs7QUFRMUU7QUFNMEQ7QUFOMUMseUJBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0FBTXFDLHlCQUFBLGtDQUFBLGtCQUFBLE1BQUEsa0NBQUEsR0FBQSxrQkFB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
|
|
@@ -18,6 +18,7 @@ export declare abstract class SbbPopoverBaseElement extends SbbPopoverBaseElemen
|
|
|
18
18
|
private _openStateController;
|
|
19
19
|
private _escapableOverlayController;
|
|
20
20
|
private _focusTrapController;
|
|
21
|
+
private _blurTimeout;
|
|
21
22
|
protected closeTimeout?: ReturnType<typeof setTimeout>;
|
|
22
23
|
protected overlay?: HTMLDivElement;
|
|
23
24
|
/** Opens the popover on trigger click. */
|
|
@@ -63,10 +64,24 @@ export declare class SbbPopoverElement extends SbbPopoverBaseElement {
|
|
|
63
64
|
accessor hideCloseButton: boolean;
|
|
64
65
|
/** Whether the popover should be triggered on hover. */
|
|
65
66
|
accessor hoverTrigger: boolean;
|
|
66
|
-
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Open the popover after a given delay in milliseconds.
|
|
69
|
+
* Global configuration is used as default, if not set.
|
|
70
|
+
*
|
|
71
|
+
* @default 0
|
|
72
|
+
*/
|
|
73
|
+
set openDelay(value: number);
|
|
74
|
+
get openDelay(): number;
|
|
75
|
+
private _openDelay?;
|
|
76
|
+
/**
|
|
77
|
+
* Close the popover after a given delay in milliseconds.
|
|
78
|
+
* Global configuration is used as default, if not set.
|
|
79
|
+
*
|
|
80
|
+
* @default 0
|
|
81
|
+
*/
|
|
82
|
+
set closeDelay(value: number);
|
|
83
|
+
get closeDelay(): number;
|
|
84
|
+
private _closeDelay?;
|
|
70
85
|
/** This will be forwarded as aria-label to the close button element. */
|
|
71
86
|
accessor accessibilityCloseLabel: string;
|
|
72
87
|
private _hoverTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAW/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { property, customElement } from "lit/decorators.js";
|
|
|
11
11
|
import { ref } from "lit/directives/ref.js";
|
|
12
12
|
import { SbbFocusTrapController, IS_FOCUSABLE_QUERY, sbbInputModalityDetector, isFakeMousedownFromScreenReader } from "../../core/a11y.js";
|
|
13
13
|
import { SbbOpenCloseBaseElement } from "../../core/base-elements.js";
|
|
14
|
+
import { readConfig } from "../../core/config.js";
|
|
14
15
|
import { SbbMediaQueryPointerCoarse, SbbEscapableOverlayController, SbbLanguageController } from "../../core/controllers.js";
|
|
15
16
|
import { idReference, forceType } from "../../core/decorators.js";
|
|
16
17
|
import { isZeroAnimationDuration } from "../../core/dom.js";
|
|
@@ -198,6 +199,7 @@ let SbbPopoverBaseElement = (() => {
|
|
|
198
199
|
this._skipCloseFocus = false;
|
|
199
200
|
this._escapableOverlayController = new SbbEscapableOverlayController(this);
|
|
200
201
|
this._focusTrapController = new SbbFocusTrapController(this);
|
|
202
|
+
this._blurTimeout = null;
|
|
201
203
|
this._pointerDownListener = (event) => {
|
|
202
204
|
this._isPointerDownEventOnPopover = isEventOnElement(this.overlay, event);
|
|
203
205
|
};
|
|
@@ -310,6 +312,9 @@ let SbbPopoverBaseElement = (() => {
|
|
|
310
312
|
this._triggerAbortController?.abort();
|
|
311
313
|
this._openStateController?.abort();
|
|
312
314
|
popoversRef.delete(this);
|
|
315
|
+
if (this._blurTimeout) {
|
|
316
|
+
clearTimeout(this._blurTimeout);
|
|
317
|
+
}
|
|
313
318
|
}
|
|
314
319
|
// Check if the trigger is valid and attach click event listeners.
|
|
315
320
|
_configureTrigger() {
|
|
@@ -380,10 +385,13 @@ let SbbPopoverBaseElement = (() => {
|
|
|
380
385
|
if (!focused) {
|
|
381
386
|
this.setAttribute("tabindex", "0");
|
|
382
387
|
this.focus();
|
|
383
|
-
this.addEventListener("blur", () => {
|
|
384
|
-
setTimeout(() => {
|
|
388
|
+
this.addEventListener("blur", (e) => {
|
|
389
|
+
this._blurTimeout = setTimeout(() => {
|
|
385
390
|
if (document.visibilityState !== "hidden") {
|
|
386
391
|
this.removeAttribute("tabindex");
|
|
392
|
+
if (this.contains(e.relatedTarget)) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
387
395
|
if (this.state === "opened" || this.state === "opening") {
|
|
388
396
|
this._skipCloseFocus = true;
|
|
389
397
|
}
|
|
@@ -449,24 +457,21 @@ let SbbPopoverBaseElement = (() => {
|
|
|
449
457
|
})(), _a.styles = style, _a;
|
|
450
458
|
})();
|
|
451
459
|
let SbbPopoverElement = (() => {
|
|
452
|
-
var _hideCloseButton_accessor_storage, _hoverTrigger_accessor_storage,
|
|
460
|
+
var _hideCloseButton_accessor_storage, _hoverTrigger_accessor_storage, _accessibilityCloseLabel_accessor_storage, _a;
|
|
453
461
|
let _classDecorators = [customElement("sbb-popover")];
|
|
454
462
|
let _classDescriptor;
|
|
455
463
|
let _classExtraInitializers = [];
|
|
456
464
|
let _classThis;
|
|
457
465
|
let _classSuper = SbbPopoverBaseElement;
|
|
466
|
+
let _instanceExtraInitializers = [];
|
|
458
467
|
let _hideCloseButton_decorators;
|
|
459
468
|
let _hideCloseButton_initializers = [];
|
|
460
469
|
let _hideCloseButton_extraInitializers = [];
|
|
461
470
|
let _hoverTrigger_decorators;
|
|
462
471
|
let _hoverTrigger_initializers = [];
|
|
463
472
|
let _hoverTrigger_extraInitializers = [];
|
|
464
|
-
let
|
|
465
|
-
let
|
|
466
|
-
let _openDelay_extraInitializers = [];
|
|
467
|
-
let _closeDelay_decorators;
|
|
468
|
-
let _closeDelay_initializers = [];
|
|
469
|
-
let _closeDelay_extraInitializers = [];
|
|
473
|
+
let _set_openDelay_decorators;
|
|
474
|
+
let _set_closeDelay_decorators;
|
|
470
475
|
let _accessibilityCloseLabel_decorators;
|
|
471
476
|
let _accessibilityCloseLabel_initializers = [];
|
|
472
477
|
let _accessibilityCloseLabel_extraInitializers = [];
|
|
@@ -475,14 +480,11 @@ let SbbPopoverElement = (() => {
|
|
|
475
480
|
super(...arguments);
|
|
476
481
|
__privateAdd(this, _hideCloseButton_accessor_storage);
|
|
477
482
|
__privateAdd(this, _hoverTrigger_accessor_storage);
|
|
478
|
-
__privateAdd(this, _openDelay_accessor_storage);
|
|
479
|
-
__privateAdd(this, _closeDelay_accessor_storage);
|
|
480
483
|
__privateAdd(this, _accessibilityCloseLabel_accessor_storage);
|
|
481
|
-
__privateSet(this, _hideCloseButton_accessor_storage, __runInitializers(this, _hideCloseButton_initializers, false));
|
|
484
|
+
__privateSet(this, _hideCloseButton_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _hideCloseButton_initializers, false)));
|
|
482
485
|
__privateSet(this, _hoverTrigger_accessor_storage, (__runInitializers(this, _hideCloseButton_extraInitializers), __runInitializers(this, _hoverTrigger_initializers, false)));
|
|
483
|
-
|
|
484
|
-
__privateSet(this,
|
|
485
|
-
__privateSet(this, _accessibilityCloseLabel_accessor_storage, (__runInitializers(this, _closeDelay_extraInitializers), __runInitializers(this, _accessibilityCloseLabel_initializers, "")));
|
|
486
|
+
this._openDelay = __runInitializers(this, _hoverTrigger_extraInitializers);
|
|
487
|
+
__privateSet(this, _accessibilityCloseLabel_accessor_storage, __runInitializers(this, _accessibilityCloseLabel_initializers, ""));
|
|
486
488
|
this._hoverTrigger = (__runInitializers(this, _accessibilityCloseLabel_extraInitializers), false);
|
|
487
489
|
this._language = new SbbLanguageController(this);
|
|
488
490
|
this._overlayAbortController = null;
|
|
@@ -528,19 +530,29 @@ let SbbPopoverElement = (() => {
|
|
|
528
530
|
set hoverTrigger(value) {
|
|
529
531
|
__privateSet(this, _hoverTrigger_accessor_storage, value);
|
|
530
532
|
}
|
|
531
|
-
/**
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
533
|
+
/**
|
|
534
|
+
* Open the popover after a given delay in milliseconds.
|
|
535
|
+
* Global configuration is used as default, if not set.
|
|
536
|
+
*
|
|
537
|
+
* @default 0
|
|
538
|
+
*/
|
|
535
539
|
set openDelay(value) {
|
|
536
|
-
|
|
540
|
+
this._openDelay = +value;
|
|
537
541
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
return __privateGet(this, _closeDelay_accessor_storage);
|
|
542
|
+
get openDelay() {
|
|
543
|
+
return this._openDelay ?? readConfig().popover?.openDelay ?? 0;
|
|
541
544
|
}
|
|
545
|
+
/**
|
|
546
|
+
* Close the popover after a given delay in milliseconds.
|
|
547
|
+
* Global configuration is used as default, if not set.
|
|
548
|
+
*
|
|
549
|
+
* @default 0
|
|
550
|
+
*/
|
|
542
551
|
set closeDelay(value) {
|
|
543
|
-
|
|
552
|
+
this._closeDelay = +value;
|
|
553
|
+
}
|
|
554
|
+
get closeDelay() {
|
|
555
|
+
return this._closeDelay ?? readConfig().popover?.closeDelay ?? 0;
|
|
544
556
|
}
|
|
545
557
|
/** This will be forwarded as aria-label to the close button element. */
|
|
546
558
|
get accessibilityCloseLabel() {
|
|
@@ -613,12 +625,12 @@ let SbbPopoverElement = (() => {
|
|
|
613
625
|
</span>
|
|
614
626
|
`;
|
|
615
627
|
}
|
|
616
|
-
}, _hideCloseButton_accessor_storage = new WeakMap(), _hoverTrigger_accessor_storage = new WeakMap(),
|
|
628
|
+
}, _hideCloseButton_accessor_storage = new WeakMap(), _hoverTrigger_accessor_storage = new WeakMap(), _accessibilityCloseLabel_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
617
629
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
618
630
|
_hideCloseButton_decorators = [forceType(), property({ attribute: "hide-close-button", type: Boolean })];
|
|
619
631
|
_hoverTrigger_decorators = [forceType(), property({ attribute: "hover-trigger", type: Boolean })];
|
|
620
|
-
|
|
621
|
-
|
|
632
|
+
_set_openDelay_decorators = [property({ attribute: "open-delay", type: Number })];
|
|
633
|
+
_set_closeDelay_decorators = [property({ attribute: "close-delay", type: Number })];
|
|
622
634
|
_accessibilityCloseLabel_decorators = [forceType(), property({ attribute: "accessibility-close-label" })];
|
|
623
635
|
__esDecorate(_a, null, _hideCloseButton_decorators, { kind: "accessor", name: "hideCloseButton", static: false, private: false, access: { has: (obj) => "hideCloseButton" in obj, get: (obj) => obj.hideCloseButton, set: (obj, value) => {
|
|
624
636
|
obj.hideCloseButton = value;
|
|
@@ -626,12 +638,12 @@ let SbbPopoverElement = (() => {
|
|
|
626
638
|
__esDecorate(_a, null, _hoverTrigger_decorators, { kind: "accessor", name: "hoverTrigger", static: false, private: false, access: { has: (obj) => "hoverTrigger" in obj, get: (obj) => obj.hoverTrigger, set: (obj, value) => {
|
|
627
639
|
obj.hoverTrigger = value;
|
|
628
640
|
} }, metadata: _metadata }, _hoverTrigger_initializers, _hoverTrigger_extraInitializers);
|
|
629
|
-
__esDecorate(_a, null,
|
|
641
|
+
__esDecorate(_a, null, _set_openDelay_decorators, { kind: "setter", name: "openDelay", static: false, private: false, access: { has: (obj) => "openDelay" in obj, set: (obj, value) => {
|
|
630
642
|
obj.openDelay = value;
|
|
631
|
-
} }, metadata: _metadata },
|
|
632
|
-
__esDecorate(_a, null,
|
|
643
|
+
} }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
644
|
+
__esDecorate(_a, null, _set_closeDelay_decorators, { kind: "setter", name: "closeDelay", static: false, private: false, access: { has: (obj) => "closeDelay" in obj, set: (obj, value) => {
|
|
633
645
|
obj.closeDelay = value;
|
|
634
|
-
} }, metadata: _metadata },
|
|
646
|
+
} }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
635
647
|
__esDecorate(_a, null, _accessibilityCloseLabel_decorators, { kind: "accessor", name: "accessibilityCloseLabel", static: false, private: false, access: { has: (obj) => "accessibilityCloseLabel" in obj, get: (obj) => obj.accessibilityCloseLabel, set: (obj, value) => {
|
|
636
648
|
obj.accessibilityCloseLabel = value;
|
|
637
649
|
} }, metadata: _metadata }, _accessibilityCloseLabel_initializers, _accessibilityCloseLabel_extraInitializers);
|
|
@@ -646,4 +658,4 @@ export {
|
|
|
646
658
|
SbbPopoverBaseElement,
|
|
647
659
|
SbbPopoverElement
|
|
648
660
|
};
|
|
649
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlEZWNsYXJhdGlvbiwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VQb3BvdmVyIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBnZXRFbGVtZW50UG9zaXRpb24sXG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BvcG92ZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5cbmNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDE2O1xuY29uc3QgSE9SSVpPTlRBTF9PRkZTRVQgPSAzMjtcblxubGV0IG5leHRJZCA9IDA7XG5cbmNvbnN0IHBvcG92ZXJzUmVmID0gbmV3IFNldDxTYmJQb3BvdmVyQmFzZUVsZW1lbnQ+KCk7XG5jb25zdCBwb2ludGVyQ29hcnNlID0gaXNTZXJ2ZXIgPyBmYWxzZSA6IG1hdGNoTWVkaWEoU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UpLm1hdGNoZXM7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJQb3BvdmVyQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIHBvcG92ZXIgb3ZlcmxheS5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBUaGUgZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1cyBhZnRlciBjbG9zaW5nIGJhc2VkIG9uIHdoZXJlIGluIHRoZSBiYWNrZHJvcCB0aGUgdXNlciBjbGlja3MuXG4gIHByaXZhdGUgX25leHRGb2N1c2VkRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9za2lwQ2xvc2VGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wb3BvdmVyQ2xvc2VFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3Zlcj86IGJvb2xlYW47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuU3RhdGVDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNUcmFwQ29udHJvbGxlciA9IG5ldyBTYmJGb2N1c1RyYXBDb250cm9sbGVyKHRoaXMpO1xuICBwcm90ZWN0ZWQgY2xvc2VUaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByb3RlY3RlZCBvdmVybGF5PzogSFRNTERpdkVsZW1lbnQ7XG5cbiAgLyoqIE9wZW5zIHRoZSBwb3BvdmVyIG9uIHRyaWdnZXIgY2xpY2suICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLnN0YXRlICE9PSAnY2xvc2luZycpIHx8XG4gICAgICAhdGhpcy5vdmVybGF5IHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgdGhlIG90aGVyIHBvcG92ZXJzXG4gICAgZm9yIChjb25zdCBwb3BvdmVyIG9mIHBvcG92ZXJzUmVmKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHBvcG92ZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gICAgICBpZiAoc3RhdGUgJiYgKHN0YXRlID09PSAnb3BlbmVkJyB8fCBzdGF0ZSA9PT0gJ29wZW5pbmcnKSkge1xuICAgICAgICBwb3BvdmVyLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcbiAgICB0aGlzLl9uZXh0Rm9jdXNlZEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fc2tpcENsb3NlRm9jdXMgPSBmYWxzZTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgcG9wb3Zlci4gKi9cbiAgcHVibGljIGNsb3NlKHRhcmdldD86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3BvcG92ZXJDbG9zZUVsZW1lbnQgPSB0YXJnZXQ7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCh7IGNsb3NlVGFyZ2V0OiB0YXJnZXQgPz8gbnVsbCB9KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5pbmVydCA9IHRydWU7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXBvcG92ZXItYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMub3ZlcmxheT8uZmlyc3RFbGVtZW50Q2hpbGQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuXG4gICAgaWYgKCF0aGlzLl9za2lwQ2xvc2VGb2N1cykge1xuICAgICAgY29uc3QgZWxlbWVudFRvRm9jdXMgPSB0aGlzLl9uZXh0Rm9jdXNlZEVsZW1lbnQgfHwgdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICAgIC8vIFRvIGVuYWJsZSBmb2N1c2luZyBvdGhlciBlbGVtZW50IHRoYW4gdGhlIHRyaWdnZXIsIHdlIG5lZWQgdG8gY2FsbCBmb2N1cygpIGEgc2Vjb25kIHRpbWUuXG4gICAgICBlbGVtZW50VG9Gb2N1cz8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoeyBjbG9zZVRhcmdldDogdGhpcy5fcG9wb3ZlckNsb3NlRWxlbWVudCA/PyBudWxsIH0pO1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuX3NldFBvcG92ZXJGb2N1cygpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1wb3BvdmVyLSR7KytuZXh0SWR9YDtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgcG9wb3ZlcnNSZWYuYWRkKHRoaXMpO1xuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIC8vIENoZWNraW5nIGZvciBob3ZlclRyaWdnZXIgaXMgYSBzcGVjaWFsIGNhc2UsIGFzIG9ubHkgdGhlIFNiYlBvcG92ZXJFbGVtZW50XG4gICAgLy8gc3ViY2xhc3MgaGFzIHRoaXMgcHJvcGVydHkuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInIHx8IG5hbWUgPT09ICdob3ZlclRyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICBwb3BvdmVyc1JlZi5kZWxldGUodGhpcyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVHJpZ2dlcigpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlndXJlVHJpZ2dlcih0aGlzLl90cmlnZ2VyRWxlbWVudCA/PyBudWxsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVUcmlnZ2VyKF9vbGRUcmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdkaWFsb2cnLCB0aGlzLmlkLCB0aGlzLnN0YXRlKTtcblxuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnModGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyVHJpZ2dlckxpc3RlbmVycyhzaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHsgc2lnbmFsIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fc2V0UG9wb3ZlclBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgLy8gV2l0aG91dCBjYXB0dXJlLCBvdGhlciBzY3JvbGwgY29udGV4dHMgd291bGQgbm90IGJ1YmJsZSB0byB0aGlzIGV2ZW50IGxpc3RlbmVyLlxuICAgICAgLy8gQ2FwdHVyZSBhbGxvd3MgdXMgdG8gcmVhY3QgdG8gYWxsIHNjcm9sbCBjb250ZXh0cyBpbiB0aGlzIERPTS5cbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICAvLyBDbG9zZSBwb3BvdmVyIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBDbG9zZSB0aGUgcG9wb3ZlciBvbiBjbGljayBvZiBhbnkgZWxlbWVudCB0aGF0IGhhcyB0aGUgJ3NiYi1wb3BvdmVyLWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZUVsZW1lbnQgPSBjb21wb3NlZFBhdGhIYXNBdHRyaWJ1dGUoZXZlbnQsICdzYmItcG9wb3Zlci1jbG9zZScsIHRoaXMpO1xuXG4gICAgaWYgKGNsb3NlRWxlbWVudCAmJiAhY2xvc2VFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoY2xvc2VFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgcG9wb3Zlci5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25Qb3BvdmVyICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMub3ZlcmxheSEsIGV2ZW50KSkge1xuICAgICAgdGhpcy5fbmV4dEZvY3VzZWRFbGVtZW50ID0gZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgICAgLmZpbmQoKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoSVNfRk9DVVNBQkxFX1FVRVJZKSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyBTZXQgcG9wb3ZlciBwb3NpdGlvbiAoeCwgeSkgdG8gJzAnIG9uY2UgdGhlIHBvcG92ZXIgaXMgY2xvc2VkIGFuZCB0aGUgdHJhbnNpdGlvbiBlbmRlZCB0byBwcmV2ZW50IHRoZVxuICAvLyB2aWV3cG9ydCBmcm9tIG92ZXJmbG93aW5nLiBBbmQgc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgb25jZSB0aGUgcG9wb3ZlciBpcyBvcGVuLlxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uUG9wb3ZlckFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50LlxuICBwcml2YXRlIF9zZXRQb3BvdmVyRm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNlZCA9IHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuXG4gICAgaWYgKCFmb2N1c2VkKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgdGhpcy5mb2N1cygpO1xuXG4gICAgICAvLyBXaGVuIGEgYmx1ciBvY2N1cnMsIHdlIGtub3cgdGhhdCB0aGUgcG9wb3ZlciBoYXMgdG8gYmUgY2xvc2VkLFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBhcmUgbm8gaW50ZXJhY3RpdmUgZWxlbWVudHMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgLy8gV2hlbiBhIHdpbmRvdy90YWIgY2hhbmdlIG9jY3VycywgYSBibHVyIGV2ZW50IGlzIGFsc28gZmlyZWQuIEhvd2V2ZXIsIHdoZW4gdGhlIGN1cnJlbnQgd2luZG93L3RhYlxuICAgICAgLy8gYmVjb21lcyBhY3RpdmUgYWdhaW4sIGl0IGZvY3VzZXMgb25jZSBhZ2FpbiB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFRoZXJlZm9yZSwgd2UgY2Fubm90IGxpc3RlbiB0byB0aGUgYmx1ciBldmVudCBvbmx5IG9uY2UuXG4gICAgICAvLyBUbyBwcmV2ZW50IGFjY2lkZW50YWxseSBjbG9zaW5nIHRoZSBwb3BvdmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGZvciB0aGUgd2luZG93L3RhYiBzdGF0ZS5cbiAgICAgIC8vIFdlIGNhbiBhY2hpZXZlIHRoaXMgYnkgdXNpbmcgdmlzaWJpbGl0eVN0YXRlLCB3aGljaCBvbmx5IHdvcmtzIHdpdGggc2V0VGltZW91dCgpLlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnYmx1cicsXG4gICAgICAgICgpOiB2b2lkID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2tpcENsb3NlRm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFBvcG92ZXJQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheSB8fCAhdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3BvdmVyUG9zaXRpb24gPSBnZXRFbGVtZW50UG9zaXRpb24oXG4gICAgICB0aGlzLm92ZXJsYXksXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCxcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1wb3BvdmVyX19jb250YWluZXInKSEsXG4gICAgICB7XG4gICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBWRVJUSUNBTF9PRkZTRVQsXG4gICAgICAgIGhvcml6b250YWxPZmZzZXQ6IEhPUklaT05UQUxfT0ZGU0VULFxuICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZUhlaWdodDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1wb3NpdGlvbicsIHBvcG92ZXJQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xuXG4gICAgY29uc3QgYXJyb3dYUG9zaXRpb24gPVxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtXG4gICAgICBwb3BvdmVyUG9zaXRpb24ubGVmdCArXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLVxuICAgICAgODsgLy8gaGFsZiB0aGUgc2l6ZSBvZiB0aGUgcG9wb3ZlciBhcnJvd1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItcG9wb3Zlci1wb3NpdGlvbi14JywgYCR7cG9wb3ZlclBvc2l0aW9uLmxlZnR9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLXBvc2l0aW9uLXknLCBgJHtwb3BvdmVyUG9zaXRpb24udG9wfXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItcG9wb3Zlci1hcnJvdy1wb3NpdGlvbi14JywgYCR7YXJyb3dYUG9zaXRpb259cHhgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJDb250ZW50KCk6IFRlbXBsYXRlUmVzdWx0O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoZGV0YWlsPzoge1xuICAgIGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50PHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCB9PignYmVmb3JlY2xvc2UnLCB7XG4gICAgICAgIGRldGFpbCxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hDbG9zZUV2ZW50KGRldGFpbD86IHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCB9KTogYm9vbGVhbiB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge0N1c3RvbUV2ZW50PHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCB9Pn1cbiAgICAgKiBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGlzIGNsb3NlZC5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50PHsgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCB9PignY2xvc2UnLCB7IGRldGFpbCB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBvcG92ZXJfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uUG9wb3ZlckFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyXCJcbiAgICAgICAgICByb2xlPVwidG9vbHRpcFwiXG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMub3ZlcmxheSA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckNvbnRlbnQoKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgY29udGV4dHVhbCBpbmZvcm1hdGlvbiB3aXRoaW4gYSBwb3BvdmVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgaW50byB0aGUgcG9wb3Zlci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1wb3BvdmVyLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBvcG92ZXInKVxuY2xhc3MgU2JiUG9wb3ZlckVsZW1lbnQgZXh0ZW5kcyBTYmJQb3BvdmVyQmFzZUVsZW1lbnQge1xuICAvKiogV2hldGhlciB0aGUgY2xvc2UgYnV0dG9uIHNob3VsZCBiZSBoaWRkZW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoaWRlLWNsb3NlLWJ1dHRvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGhpZGVDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSB0cmlnZ2VyZWQgb24gaG92ZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdob3Zlci10cmlnZ2VyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJUcmlnZ2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE9wZW4gdGhlIHBvcG92ZXIgYWZ0ZXIgYSBjZXJ0YWluIGRlbGF5LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbkRlbGF5OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBDbG9zZSB0aGUgcG9wb3ZlciBhZnRlciBhIGNlcnRhaW4gZGVsYXkuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjbG9zZS1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2xvc2VEZWxheTogbnVtYmVyID0gMDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfaG92ZXJUcmlnZ2VyID0gZmFsc2U7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheUFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgdHJpZ2dlciBjYW4gYmUgaG92ZXJlZC4gU29tZSBkZXZpY2VzIG1pZ2h0IGludGVycHJldCB0aGUgbWVkaWEgcXVlcnkgKGhvdmVyOiBob3ZlcikgZGlmZmVyZW50bHksXG4gICAgLy8gYW5kIG5vdCByZXNwZWN0IHRoZSBmYWxsYmFjayBtZWNoYW5pc20gb24gdGhlIGNsaWNrLiBUaGVyZWZvcmUsIHRoZSBmb2xsb3dpbmcgaXMgcHJlZmVycmVkIHRvIGlkZW50aWZ5XG4gICAgLy8gYWxsIG5vbi10b3VjaHNjcmVlbiBkZXZpY2VzLlxuICAgIGNvbnN0IGhvdmVyVHJpZ2dlciA9IHRoaXMuaG92ZXJUcmlnZ2VyICYmICFwb2ludGVyQ29hcnNlO1xuXG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gb2xkVHJpZ2dlciAmJiBob3ZlclRyaWdnZXIgPT09IHRoaXMuX2hvdmVyVHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIgIT09IGhvdmVyVHJpZ2dlcikge1xuICAgICAgdGhpcy5faG92ZXJUcmlnZ2VyID0gaG92ZXJUcmlnZ2VyO1xuICAgICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgc3VwZXIuY29uZmlndXJlVHJpZ2dlcihvbGRUcmlnZ2VyKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgaWYgKHRoaXMuX2hvdmVyVHJpZ2dlcikge1xuICAgICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgIHRoaXMub3ZlcmxheT8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHRoaXMuX29uT3ZlcmxheU1vdXNlRW50ZXIoKSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUxlYXZlKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIHRoaXMuX29uVHJpZ2dlck1vdXNlRW50ZXIsIHsgc2lnbmFsIH0pO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLl9vblRyaWdnZXJNb3VzZUxlYXZlLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAna2V5ZG93bicsXG4gICAgICAgIChldnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZ0LmNvZGUgPT09ICdTcGFjZScgfHwgZXZ0LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBzaWduYWwgfSxcbiAgICAgICk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBXaXRob3V0IHRoaXMgY2hlY2ssIE5WREEgY2FuJ3Qgb3BlbiB0aGUgcG9wb3ZlciBvbiBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICAgICAgICBpZiAoaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldnQpKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5yZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlIHRyaWdnZXIgaXMgZm9jdXNlZCBieSBrZXlib2FyZCBhbmQgaG92ZXJlZCB3aXRoIHRoZSBtb3VzZSwgdGhlIG91dGxpbmUgd291bGQgYmUgdmlzaWJsZS5cbiAgICAgICAgLy8gU28gd2UgcmVzZXQgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGhpZGUgdGhlIG91dGxpbmUuXG4gICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5yZXNldCgpO1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0sIHRoaXMub3BlbkRlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UcmlnZ2VyTW91c2VMZWF2ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLmNsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fb3BlblRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9XG4gIH07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBvcG92ZXJfX2Nsb3NlXCI+XG4gICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZVBvcG92ZXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgICBzYmItcG9wb3Zlci1jbG9zZVxuICAgICAgICA+PC9zYmItc2Vjb25kYXJ5LWJ1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAkeyF0aGlzLmhpZGVDbG9zZUJ1dHRvbiAmJiAhdGhpcy5faG92ZXJUcmlnZ2VyID8gY2xvc2VCdXR0b24gOiBub3RoaW5nfVxuICAgICAgPHNwYW4+XG4gICAgICAgIDxzbG90Pk5vIGNvbnRlbnQ8L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBvcG92ZXInOiBTYmJQb3BvdmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQSxNQUFNLGtCQUFrQjtBQUN4QixNQUFNLG9CQUFvQjtBQUUxQixJQUFJLFNBQVM7QUFFYixNQUFNLGtDQUFrQixJQUFBO0FBQ3hCLE1BQU0sZ0JBQWdCLFdBQVcsUUFBUSxXQUFXLDBCQUEwQixFQUFFO0lBRTFELHlCQUFxQixNQUFBOztvQkFBUyxrQkFBa0IsdUJBQXVCOzs7O0FBQXZFLFNBQUEsbUJBQThCLFlBQTBDO0FBQUE7O0FBVTVGO0FBQWdCLHlCQUFBLDJCQUFBLGtCQUFBLE1BQUEsdUJBQThCLElBQUk7QUFHMUMsV0FBQSxzQkFBbUIsa0JBQUEsTUFBQSwwQkFBQTtBQUNuQixXQUFBLGtCQUEyQjtBQU0zQixXQUFBLDhCQUE4QixJQUFJLDhCQUE4QixJQUFJO0FBQ3BFLFdBQUEsdUJBQXVCLElBQUksdUJBQXVCLElBQUk7QUFtTXRELFdBQUEsdUJBQXVCLENBQUMsVUFBNkI7QUFDM0QsYUFBSywrQkFBK0IsaUJBQWlCLEtBQUssU0FBVSxLQUFLO0FBQUEsTUFBQTtBQUluRSxXQUFBLHdCQUF3QixDQUFDLFVBQTZCO0FBQzVELFlBQUksQ0FBQyxLQUFLLGdDQUFnQyxDQUFDLGlCQUFpQixLQUFLLFNBQVUsS0FBSyxHQUFHO0FBQ2pGLGVBQUssc0JBQXNC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
|
|
661
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlEZWNsYXJhdGlvbiwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlUG9wb3ZlciB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wb3BvdmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuXG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSAxNjtcbmNvbnN0IEhPUklaT05UQUxfT0ZGU0VUID0gMzI7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwb3BvdmVyc1JlZiA9IG5ldyBTZXQ8U2JiUG9wb3ZlckJhc2VFbGVtZW50PigpO1xuY29uc3QgcG9pbnRlckNvYXJzZSA9IGlzU2VydmVyID8gZmFsc2UgOiBtYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiUG9wb3ZlckJhc2VFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gVGhlIGVsZW1lbnQgd2hpY2ggc2hvdWxkIHJlY2VpdmUgZm9jdXMgYWZ0ZXIgY2xvc2luZyBiYXNlZCBvbiB3aGVyZSBpbiB0aGUgYmFja2Ryb3AgdGhlIHVzZXIgY2xpY2tzLlxuICBwcml2YXRlIF9uZXh0Rm9jdXNlZEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfc2tpcENsb3NlRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcG9wb3ZlckNsb3NlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPblBvcG92ZXI/OiBib29sZWFuO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudD86IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfYmx1clRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBjbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJvdGVjdGVkIG92ZXJsYXk/OiBIVE1MRGl2RWxlbWVudDtcblxuICAvKiogT3BlbnMgdGhlIHBvcG92ZXIgb24gdHJpZ2dlciBjbGljay4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuc3RhdGUgIT09ICdjbG9zaW5nJykgfHxcbiAgICAgICF0aGlzLm92ZXJsYXkgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgb3RoZXIgcG9wb3ZlcnNcbiAgICBmb3IgKGNvbnN0IHBvcG92ZXIgb2YgcG9wb3ZlcnNSZWYpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gcG9wb3Zlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgICAgIGlmIChzdGF0ZSAmJiAoc3RhdGUgPT09ICdvcGVuZWQnIHx8IHN0YXRlID09PSAnb3BlbmluZycpKSB7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IGZhbHNlO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBwb3BvdmVyLiAqL1xuICBwdWJsaWMgY2xvc2UodGFyZ2V0PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcG9wb3ZlckNsb3NlRWxlbWVudCA9IHRhcmdldDtcbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KHsgY2xvc2VUYXJnZXQ6IHRhcmdldCA/PyBudWxsIH0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5vdmVybGF5Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBDbG9zZUZvY3VzKSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7IGNsb3NlVGFyZ2V0OiB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID8/IG51bGwgfSk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fc2V0UG9wb3ZlckZvY3VzKCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXBvcG92ZXItJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBwb3BvdmVyc1JlZi5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgLy8gQ2hlY2tpbmcgZm9yIGhvdmVyVHJpZ2dlciBpcyBhIHNwZWNpYWwgY2FzZSwgYXMgb25seSB0aGUgU2JiUG9wb3ZlckVsZW1lbnRcbiAgICAvLyBzdWJjbGFzcyBoYXMgdGhpcyBwcm9wZXJ0eS5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicgfHwgbmFtZSA9PT0gJ2hvdmVyVHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHBvcG92ZXJzUmVmLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAodGhpcy5fYmx1clRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ibHVyVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ3VyZVRyaWdnZXIodGhpcy5fdHJpZ2dlckVsZW1lbnQgPz8gbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlVHJpZ2dlcihfb2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHBvcG92ZXIgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlICdzYmItcG9wb3Zlci1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXBvcG92ZXItY2xvc2UnLCB0aGlzKTtcblxuICAgIGlmIChjbG9zZUVsZW1lbnQgJiYgIWNsb3NlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5vdmVybGF5ISwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCkpIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2V0IHBvcG92ZXIgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIHBvcG92ZXIgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblxuICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIHRoaXMuZm9jdXMoKTtcblxuICAgICAgLy8gV2hlbiBhIGJsdXIgb2NjdXJzLCB3ZSBrbm93IHRoYXQgdGhlIHBvcG92ZXIgaGFzIHRvIGJlIGNsb3NlZCxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgYXJlIG5vIGludGVyYWN0aXZlIGVsZW1lbnRzIGluc2lkZSB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFdoZW4gYSB3aW5kb3cvdGFiIGNoYW5nZSBvY2N1cnMsIGEgYmx1ciBldmVudCBpcyBhbHNvIGZpcmVkLiBIb3dldmVyLCB3aGVuIHRoZSBjdXJyZW50IHdpbmRvdy90YWJcbiAgICAgIC8vIGJlY29tZXMgYWN0aXZlIGFnYWluLCBpdCBmb2N1c2VzIG9uY2UgYWdhaW4gdGhlIHBvcG92ZXIuXG4gICAgICAvLyBUaGVyZWZvcmUsIHdlIGNhbm5vdCBsaXN0ZW4gdG8gdGhlIGJsdXIgZXZlbnQgb25seSBvbmNlLlxuICAgICAgLy8gVG8gcHJldmVudCBhY2NpZGVudGFsbHkgY2xvc2luZyB0aGUgcG9wb3Zlciwgd2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIHdpbmRvdy90YWIgc3RhdGUuXG4gICAgICAvLyBXZSBjYW4gYWNoaWV2ZSB0aGlzIGJ5IHVzaW5nIHZpc2liaWxpdHlTdGF0ZSwgd2hpY2ggb25seSB3b3JrcyB3aXRoIHNldFRpbWVvdXQoKS5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2JsdXInLFxuICAgICAgICAoZTogRm9jdXNFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuX2JsdXJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcblxuICAgICAgICAgICAgICAvLyBJbiBTYWZhcmkgb24gaU9TIGl0IGNhbiBvY2N1ciwgdGhhdCBhIGJsdXIgZXZlbnQgdHJpZ2dlcnMgb24gdGhlIHBvcG92ZXJcbiAgICAgICAgICAgICAgLy8gYWx0aG91Z2ggdGhlIGZvY3VzIHJlbWFpbnMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gc3RvcCB0aGUgY2xvc2luZyBpZiB0aGUgcmVsYXRlZFRhcmdldCBpcyBjb250YWluZWQgaW4gdGhlIHBvcG92ZXIuXG4gICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvcG92ZXJQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgIHRoaXMub3ZlcmxheSxcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXBvcG92ZXJfX2NvbnRhaW5lcicpISxcbiAgICAgIHtcbiAgICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogSE9SSVpPTlRBTF9PRkZTRVQsXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9wb3ZlclBvc2l0aW9uLmFsaWdubWVudC52ZXJ0aWNhbCk7XG5cbiAgICBjb25zdCBhcnJvd1hQb3NpdGlvbiA9XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHBvcG92ZXJQb3NpdGlvbi5sZWZ0ICtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtXG4gICAgICA4OyAvLyBoYWxmIHRoZSBzaXplIG9mIHRoZSBwb3BvdmVyIGFycm93XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItcG9zaXRpb24teScsIGAke3BvcG92ZXJQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgnLCBgJHthcnJvd1hQb3NpdGlvbn1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChkZXRhaWw/OiB7XG4gICAgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgfSk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgfT59XG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogeyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdjbG9zZScsIHsgZGV0YWlsIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5vdmVybGF5ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHdpdGhpbiBhIHBvcG92ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBwb3BvdmVyLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcG9wb3ZlcicpXG5jbGFzcyBTYmJQb3BvdmVyRWxlbWVudCBleHRlbmRzIFNiYlBvcG92ZXJCYXNlRWxlbWVudCB7XG4gIC8qKiBXaGV0aGVyIHRoZSBjbG9zZSBidXR0b24gc2hvdWxkIGJlIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtY2xvc2UtYnV0dG9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaGlkZUNsb3NlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIHRyaWdnZXJlZCBvbiBob3Zlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvdmVyLXRyaWdnZXInLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBob3ZlclRyaWdnZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogT3BlbiB0aGUgcG9wb3ZlciBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdvcGVuLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgb3BlbkRlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9vcGVuRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBvcGVuRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbkRlbGF5ID8/IHJlYWRDb25maWcoKS5wb3BvdmVyPy5vcGVuRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9vcGVuRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSBwb3BvdmVyIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgY2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkucG9wb3Zlcj8uY2xvc2VEZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX2Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2hvdmVyVHJpZ2dlciA9IGZhbHNlO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlBYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjb25maWd1cmVUcmlnZ2VyKG9sZFRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIHRyaWdnZXIgY2FuIGJlIGhvdmVyZWQuIFNvbWUgZGV2aWNlcyBtaWdodCBpbnRlcnByZXQgdGhlIG1lZGlhIHF1ZXJ5IChob3ZlcjogaG92ZXIpIGRpZmZlcmVudGx5LFxuICAgIC8vIGFuZCBub3QgcmVzcGVjdCB0aGUgZmFsbGJhY2sgbWVjaGFuaXNtIG9uIHRoZSBjbGljay4gVGhlcmVmb3JlLCB0aGUgZm9sbG93aW5nIGlzIHByZWZlcnJlZCB0byBpZGVudGlmeVxuICAgIC8vIGFsbCBub24tdG91Y2hzY3JlZW4gZGV2aWNlcy5cbiAgICBjb25zdCBob3ZlclRyaWdnZXIgPSB0aGlzLmhvdmVyVHJpZ2dlciAmJiAhcG9pbnRlckNvYXJzZTtcblxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IG9sZFRyaWdnZXIgJiYgaG92ZXJUcmlnZ2VyID09PSB0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICE9PSBob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2hvdmVyVHJpZ2dlciA9IGhvdmVyVHJpZ2dlcjtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHN1cGVyLmNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9vblRyaWdnZXJNb3VzZUVudGVyLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwgeyBzaWduYWwgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZ0OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5jb2RlID09PSAnU3BhY2UnIHx8IGV2dC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBOVkRBIGNhbid0IG9wZW4gdGhlIHBvcG92ZXIgb24ga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaWYgKGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZ0KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHNpZ25hbCB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9vblRyaWdnZXJNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX29wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZSB0cmlnZ2VyIGlzIGZvY3VzZWQgYnkga2V5Ym9hcmQgYW5kIGhvdmVyZWQgd2l0aCB0aGUgbW91c2UsIHRoZSBvdXRsaW5lIHdvdWxkIGJlIHZpc2libGUuXG4gICAgICAgIC8vIFNvIHdlIHJlc2V0IHRoZSBpbnB1dCBtb2RhbGl0eSB0byBoaWRlIHRoZSBvdXRsaW5lLlxuICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IucmVzZXQoKTtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9LCB0aGlzLm9wZW5EZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25PdmVybGF5TW91c2VFbnRlciA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUxlYXZlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJDb250ZW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1wb3BvdmVyX19jbG9zZVwiPlxuICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VQb3BvdmVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgc2JiLXBvcG92ZXItY2xvc2VcbiAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHshdGhpcy5oaWRlQ2xvc2VCdXR0b24gJiYgIXRoaXMuX2hvdmVyVHJpZ2dlciA/IGNsb3NlQnV0dG9uIDogbm90aGluZ31cbiAgICAgIDxzcGFuPlxuICAgICAgICA8c2xvdD5ObyBjb250ZW50PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wb3BvdmVyJzogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBLE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sb0JBQW9CO0FBRTFCLElBQUksU0FBUztBQUViLE1BQU0sa0NBQWtCLElBQUE7QUFDeEIsTUFBTSxnQkFBZ0IsV0FBVyxRQUFRLFdBQVcsMEJBQTBCLEVBQUU7SUFFMUQseUJBQXFCLE1BQUE7O29CQUFTLGtCQUFrQix1QkFBdUI7Ozs7QUFBdkUsU0FBQSxtQkFBOEIsWUFBMEM7QUFBQTs7QUFVNUY7QUFBZ0IseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx1QkFBOEIsSUFBSTtBQUcxQyxXQUFBLHNCQUFtQixrQkFBQSxNQUFBLDBCQUFBO0FBQ25CLFdBQUEsa0JBQTJCO0FBTTNCLFdBQUEsOEJB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
|
|
@@ -210,4 +210,4 @@ let SbbPopoverTriggerElement = (() => {
|
|
|
210
210
|
export {
|
|
211
211
|
SbbPopoverTriggerElement
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vcG9wb3Zlci10cmlnZ2VyLnNjc3M/
|
|
213
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vcG9wb3Zlci10cmlnZ2VyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSB0cmlnZ2VyIGZvciB0aGUgYHNiYi1wb3BvdmVyYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1wb3BvdmVyLXRyaWdnZXJgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcG9wb3Zlci10cmlnZ2VyJylcbmNsYXNzIFNiYlBvcG92ZXJUcmlnZ2VyRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihcbiAgU2JiTmVnYXRpdmVNaXhpbihTYmJJY29uTmFtZU1peGluKFNiYkJ1dHRvbkJhc2VFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3QgZm9ybUZpZWxkID0gaG9zdENvbnRleHQoJ3NiYi1mb3JtLWZpZWxkJywgdGhpcykgPz8gaG9zdENvbnRleHQoJ1tkYXRhLWZvcm0tZmllbGRdJywgdGhpcyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pY29uLXNtYWxsJywgdHJ1ZSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gKGZvcm1GaWVsZCBhcyBIVE1MRWxlbWVudCkuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2xvdD5cbiAgICAgICAgPHNiYi1pY29uIG5hbWU9JHt0aGlzLmljb25OYW1lIHx8ICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnfT48L3NiYi1pY29uPlxuICAgICAgPC9zbG90PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wb3BvdmVyLXRyaWdnZXInOiBTYmJQb3BvdmVyVHJpZ2dlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUJNLDRCQUF3QixNQUFBOzswQkFEN0IsY0FBYyxxQkFBcUIsQ0FBQzs7OztvQkFDRSwrQkFDckMsaUJBQWlCLGlCQUFpQixvQkFBb0IsQ0FBQyxDQUFDO0FBRDNCLEVBQUEsbUJBQVEsWUFFdEM7QUFBQSxJQUdpQixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUNOLFlBQU0sWUFBWSxZQUFZLGtCQUFrQixJQUFJLEtBQUssWUFBWSxxQkFBcUIsSUFBSTtBQUU5RixVQUFJLFdBQVc7QUFDYixhQUFLLGdCQUFnQixtQkFBbUIsSUFBSTtBQUM1QyxhQUFLLFdBQVksVUFBMEIsYUFBYSxVQUFVO0FBQUEsTUFDcEU7QUFBQSxJQUNGO0FBQUEsSUFFbUIsaUJBQWM7QUFDL0IsYUFBTztBQUFBO0FBQUEseUJBRWMsS0FBSyxZQUFZLDBCQUEwQjtBQUFBO0FBQUE7QUFBQSxJQUdsRTtBQUFBOztBQXJCRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBR3lCLEdBQUEsU0FBeUIsT0FINUMsa0JBQUEsWUFBQSx1QkFBQSxHQUF5Qjs7OyJ9
|
|
@@ -86,4 +86,4 @@ const SbbRadioButtonCommonElementMixin = (superClass) => {
|
|
|
86
86
|
export {
|
|
87
87
|
SbbRadioButtonCommonElementMixin
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9jb21tb24vcmFkaW8tYnV0dG9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIHR5cGUgQWJzdHJhY3RDb25zdHJ1Y3RvcixcbiAgdHlwZSBDb25zdHJ1Y3RvcixcbiAgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uLWdyb3VwLmpzJztcblxuZXhwb3J0IHR5cGUgU2JiUmFkaW9CdXR0b25TaXplID0gJ3hzJyB8ICdzJyB8ICdtJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKFxuICBMaXRFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGFsbG93RW1wdHlTZWxlY3Rpb24oYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYWRpbyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhbGxvd0VtcHR5U2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uIHx8ICh0aGlzLmdyb3VwPy5hbGxvd0VtcHR5U2VsZWN0aW9uID8/IGZhbHNlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWxsb3dFbXB0eVNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb25uZWN0ZWQgcmFkaW8gYnV0dG9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLl9ncm91cDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9ncm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCcpIGFzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgcmVxdWVzdFVwZGF0ZSB0byB1cGRhdGUgdGhlIHJlZmxlY3RlZCBhdHRyaWJ1dGVzXG4gICAgICBbJ2Rpc2FibGVkJywgJ3JlcXVpcmVkJywgJ3NpemUnXS5mb3JFYWNoKChwKSA9PiB0aGlzLnJlcXVlc3RVcGRhdGUocCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcmFkaW8tYnV0dG9uIGFzICdjaGVja2VkJzsgaWYgJ2FsbG93RW1wdHlTZWxlY3Rpb24nLCB0b2dnbGUgdGhlIGNoZWNrZWQgcHJvcGVydHkuXG4gICAgICogSW4gYm90aCBjYXNlcyBpdCBlbWl0cyB0aGUgY2hhbmdlIGV2ZW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbGxvd0VtcHR5U2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5ncm91cD8ucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWxlY3QoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBTaW5jZSBvbmx5IGEgc2luZ2xlIHJhZGlvIG9mIGEgZ3JvdXAgaXMgZm9jdXNhYmxlIGF0IGFueSB0aW1lLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBvbmUgY2xpY2tlZCBkb2VzIG5vdCBoYXZlICd0YWJpbmRleD0wJy5cbiAgICAgICAqIFRvIGNvdmVyIHRoYXQsIHdlIGF3YWl0IHRoZSBuZXh0IHJlbmRlciAod2hpY2ggd2lsbCBtYWtlIHRoZSAnY2hlY2tlZCcgcmFkaW8gZm9jdXNhYmxlKSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcmFkaW9cbiAgICAgICAqL1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTsgLy8gV2FpdCBmb3IgJ3RhYmluZGV4JyB0byBiZSB1cGRhdGVkXG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9jb21tb24vcmFkaW8tYnV0dG9uLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIHR5cGUgQWJzdHJhY3RDb25zdHJ1Y3RvcixcbiAgdHlwZSBDb25zdHJ1Y3RvcixcbiAgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uLWdyb3VwLmpzJztcblxuZXhwb3J0IHR5cGUgU2JiUmFkaW9CdXR0b25TaXplID0gJ3hzJyB8ICdzJyB8ICdtJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKFxuICBMaXRFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0IGFsbG93RW1wdHlTZWxlY3Rpb24oYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYWRpbyBjYW4gYmUgZGVzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhbGxvdy1lbXB0eS1zZWxlY3Rpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhbGxvd0VtcHR5U2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uID0gQm9vbGVhbih2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYWxsb3dFbXB0eVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9hbGxvd0VtcHR5U2VsZWN0aW9uIHx8ICh0aGlzLmdyb3VwPy5hbGxvd0VtcHR5U2VsZWN0aW9uID8/IGZhbHNlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWxsb3dFbXB0eVNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb25uZWN0ZWQgcmFkaW8gYnV0dG9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLl9ncm91cDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ3JvdXA6IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9ncm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCcpIGFzIFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50O1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgcmVxdWVzdFVwZGF0ZSB0byB1cGRhdGUgdGhlIHJlZmxlY3RlZCBhdHRyaWJ1dGVzXG4gICAgICBbJ2Rpc2FibGVkJywgJ3JlcXVpcmVkJywgJ3NpemUnXS5mb3JFYWNoKChwKSA9PiB0aGlzLnJlcXVlc3RVcGRhdGUocCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcmFkaW8tYnV0dG9uIGFzICdjaGVja2VkJzsgaWYgJ2FsbG93RW1wdHlTZWxlY3Rpb24nLCB0b2dnbGUgdGhlIGNoZWNrZWQgcHJvcGVydHkuXG4gICAgICogSW4gYm90aCBjYXNlcyBpdCBlbWl0cyB0aGUgY2hhbmdlIGV2ZW50cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbGxvd0VtcHR5U2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5ncm91cD8ucmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWxlY3QoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBTaW5jZSBvbmx5IGEgc2luZ2xlIHJhZGlvIG9mIGEgZ3JvdXAgaXMgZm9jdXNhYmxlIGF0IGFueSB0aW1lLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBvbmUgY2xpY2tlZCBkb2VzIG5vdCBoYXZlICd0YWJpbmRleD0wJy5cbiAgICAgICAqIFRvIGNvdmVyIHRoYXQsIHdlIGF3YWl0IHRoZSBuZXh0IHJlbmRlciAod2hpY2ggd2lsbCBtYWtlIHRoZSAnY2hlY2tlZCcgcmFkaW8gZm9jdXNhYmxlKSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcmFkaW9cbiAgICAgICAqL1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTsgLy8gV2FpdCBmb3IgJ3RhYmluZGV4JyB0byBiZSB1cGRhdGVkXG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFzQk8sTUFBTSxtQ0FBbUMsQ0FDOUMsZUFDaUU7TUFDbEQsK0JBQTJCLE1BQUE7O3NCQUNoQyxrQ0FBa0MsVUFBVTs7O0FBRHZDLFdBQUEsbUJBQ0wsWUFBNkM7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQVlyRCxJQUFXLG9CQUFvQixPQUFjO0FBQzNDLGFBQUssdUJBQXVCLFFBQVEsS0FBSztBQUFBLE1BQzNDO0FBQUEsTUFDQSxJQUFXLHNCQUFtQjtBQUM1QixlQUFPLEtBQUsseUJBQXlCLEtBQUssT0FBTyx1QkFBdUI7QUFBQSxNQUMxRTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BTUEsSUFBVyxRQUFLO0FBQ2QsZUFBTyxLQUFLO0FBQUEsTUFDZDtBQUFBLE1BR0EsY0FBQTtBQUNFLGNBQUE7QUFYTSxhQUFBLHdCQW5CSyxrQkFBQSxNQUFBLDBCQUFBLEdBbUJrQjtBQVF2QixhQUFBLFNBQTRDO0FBSWxELGFBQUssbUJBQW1CLFNBQVMsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLENBQUM7QUFDNUQsYUFBSyxtQkFBbUIsV0FBVyxDQUFDLE1BQU0sS0FBSyxlQUFlLENBQUMsQ0FBQztBQUFBLE1BQ2xFO0FBQUEsTUFFZ0Isb0JBQWlCO0FBQy9CLGNBQU0sa0JBQUE7QUFDTixhQUFLLFNBQVMsS0FBSyxRQUFRLHdCQUF3QjtBQUduRCxTQUFDLFlBQVksWUFBWSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsQ0FBQztBQUFBLE1BQ3ZFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQU1PLFNBQU07QUFDWCxZQUFJLEtBQUssWUFBWSxLQUFLLGNBQWM7QUFDdEM7QUFBQSxRQUNGO0FBRUEsWUFBSSxLQUFLLHFCQUFxQjtBQUM1QixlQUFLLFVBQVUsQ0FBQyxLQUFLO0FBQ3JCLGVBQUssaUJBQUE7QUFBQSxRQUNQLFdBQVcsQ0FBQyxLQUFLLFNBQVM7QUFDeEIsZUFBSyxVQUFVO0FBQ2YsZUFBSyxpQkFBQTtBQUFBLFFBQ1A7QUFBQSxNQUNGO0FBQUEsTUFFbUIsdUJBQW9CO0FBQ3JDLGVBQU8sS0FBSyxPQUFPLFlBQVk7QUFBQSxNQUNqQztBQUFBLE1BRW1CLHVCQUFvQjtBQUNyQyxlQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsTUFDakM7QUFBQSxNQUVRLE1BQU0sYUFBYSxPQUFZO0FBQ3JDLGNBQU0sZUFBQTtBQUNOLGFBQUssT0FBQTtBQU1MLGNBQU0sS0FBSztBQUNYLGFBQUssTUFBQTtBQUFBLE1BQ1A7QUFBQSxNQUVRLGVBQWUsS0FBa0I7QUFDdkMsWUFBSSxJQUFJLFNBQVMsU0FBUztBQUN4QixjQUFJLGVBQUE7QUFDSixlQUFLLE9BQUE7QUFBQSxRQUNQO0FBQUEsTUFDRjtBQUFBLElBQUE7OzZDQTFFQyxTQUFTLEVBQUUsV0FBVyx5QkFBeUIsTUFBTSxRQUFBLENBQVMsQ0FBQztBQUNoRSxtQkFBQSxJQUFBLE1BQUEscUNBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSx1QkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSx5QkFBQSxLQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFXLHNCQUFtQjtBQUFBLE1BQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLDBCQUFBOztVQVRQLEdBQUEsU0FBUztBQUFBLE1BQzlCLFFBQVE7QUFBQSxNQUNSLE9BQU87QUFBQSxJQUFBLEdBTkk7QUFBQTtBQXlGZixTQUFPO0FBRVQ7In0=
|
|
@@ -101,4 +101,4 @@ let SbbRadioButtonElement = (() => {
|
|
|
101
101
|
export {
|
|
102
102
|
SbbRadioButtonElement
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRPdmVycmlkZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluLFxuICByYWRpb0J1dHRvbkNvbW1vblN0eWxlLFxuICB0eXBlIFNiYlJhZGlvQnV0dG9uU2l6ZSxcbn0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHJhZGlvQnV0dG9uU3R5bGUgZnJvbSAnLi9yYWRpby1idXR0b24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHJhZGlvIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHJhZGlvIGxhYmVsLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXJhZGlvLWJ1dHRvbicpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3JhZGlvQnV0dG9uQ29tbW9uU3R5bGUsIHJhZGlvQnV0dG9uU3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzdGF0ZWNoYW5nZTogJ3N0YXRlY2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciB4cywgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuZ3JvdXA/LnNpemUgPz8gdilcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlJhZGlvQnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxhYmVsIGNsYXNzPVwic2JiLXJhZGlvLWJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3RcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRPdmVycmlkZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluLFxuICByYWRpb0J1dHRvbkNvbW1vblN0eWxlLFxuICB0eXBlIFNiYlJhZGlvQnV0dG9uU2l6ZSxcbn0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHJhZGlvQnV0dG9uU3R5bGUgZnJvbSAnLi9yYWRpby1idXR0b24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHJhZGlvIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHJhZGlvIGxhYmVsLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXJhZGlvLWJ1dHRvbicpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3JhZGlvQnV0dG9uQ29tbW9uU3R5bGUsIHJhZGlvQnV0dG9uU3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzdGF0ZWNoYW5nZTogJ3N0YXRlY2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciB4cywgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuZ3JvdXA/LnNpemUgPz8gdilcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlJhZGlvQnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxhYmVsIGNsYXNzPVwic2JiLXJhZGlvLWJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25fX2xhYmVsLXNsb3RcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXJhZGlvLWJ1dHRvbic6IFNiYlJhZGlvQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBeUJNLHlCQUFxQixNQUFBOztBQUYxQixNQUFBLG1CQUFBLENBQUEsY0FBYyxrQkFBa0IsR0FDaEMsV0FBVzs7OztvQkFDb0MsaUNBQWlDLFVBQVU7Ozs7Ozs7QUFBbkQsRUFBQSxtQkFBUSxZQUE0QztBQUFBOztBQWMxRixpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxPQUFBLElBQVcsT0FBTyxHQUFHO0FBTWhFLG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFrQyxJQUFJOzs7Ozs7O0lBTnRDLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTXBCLElBQWdCLFFBQUs7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXJCLElBQWdCLE1BQUssT0FBQTtBQUFBLHlCQUFBLHlCQUFBO0FBQUEsSUFBQTtBQUFBLElBRUYsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPVDtBQUFBLEtBaEJBLHdDQU1BOzt3QkFSQyxTQUFTLEVBQUUsU0FBUyxNQUFNLEdBQzFCLFlBQVksQ0FBQyxHQUFHLE1BQU0sRUFBRSxPQUFPLFFBQVEsQ0FBQyxDQUFDO0FBTXpDLHdCQUFBLENBQUEsVUFBVTtBQUxYLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE1BQUksS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTtBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxvQkFBQSx1QkFBQTtBQU1wQixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEscUJBQUEsd0JBQUE7QUFwQnZCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixDQUFDLHdCQUF3QixnQkFBZ0IsR0FDbEUsR0FBQSxTQUFTO0FBQUEsSUFDOUIsYUFBYTtBQUFBLElBQ2IsUUFBUTtBQUFBLElBQ1IsT0FBTztBQUFBLEVBQUEsR0FMTCxrQkFBQSxZQUFBLHVCQUFBLEdBQWtDOzs7In0=
|