@sbb-esta/lyne-elements 4.0.0-next.3 → 4.0.0-next.4
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/accordion/accordion.component.d.ts.map +1 -1
- package/accordion/accordion.component.js +29 -27
- package/action-group/action-group.component.js +1 -1
- package/alert/alert/alert.component.js +7 -7
- package/alert/alert-group/alert-group.component.d.ts +1 -1
- package/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/alert/alert-group/alert-group.component.js +23 -23
- package/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete/autocomplete-base-element.js +58 -56
- package/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/autocomplete/autocomplete.component.js +12 -12
- package/breadcrumb/breadcrumb/breadcrumb.component.js +5 -5
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +53 -47
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common/button-common.js +40 -42
- package/button/common.js +1 -1
- package/button.js +1 -1
- package/calendar/calendar.component.d.ts +4 -4
- package/calendar/calendar.component.d.ts.map +1 -1
- package/calendar/calendar.component.js +183 -183
- package/card/card/card.component.d.ts +3 -6
- package/card/card/card.component.d.ts.map +1 -1
- package/card/card/card.component.js +32 -47
- package/card/card-badge/card-badge.component.d.ts +0 -2
- package/card/card-badge/card-badge.component.d.ts.map +1 -1
- package/card/card-badge/card-badge.component.js +29 -36
- package/card/common/card-action-common.d.ts.map +1 -1
- package/card/common/card-action-common.js +36 -24
- package/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/checkbox/checkbox/checkbox.component.js +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
- package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.js +39 -38
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.component.js +35 -55
- package/checkbox/common.js +1 -1
- package/checkbox-common-t04WeA36.js +5 -0
- package/checkbox.js +1 -1
- package/chip/chip-group/chip-group.component.d.ts +1 -0
- package/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/chip/chip-group/chip-group.component.js +23 -23
- package/clock/clock.component.d.ts +3 -1
- package/clock/clock.component.d.ts.map +1 -1
- package/clock/clock.component.js +40 -39
- package/container/container/container.component.d.ts.map +1 -1
- package/container/container/container.component.js +27 -24
- package/container/sticky-bar/sticky-bar.component.d.ts +3 -1
- package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/container/sticky-bar/sticky-bar.component.js +41 -41
- package/core/a11y/focus-visible-within-controller.d.ts +2 -1
- package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/core/a11y/focus-visible-within-controller.js +8 -7
- package/core/base-elements/action-base-element.d.ts +1 -0
- package/core/base-elements/action-base-element.d.ts.map +1 -1
- package/core/base-elements/action-base-element.js +37 -45
- package/core/base-elements/button-base-element.d.ts +1 -1
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.js +55 -56
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.js +62 -64
- package/core/base-elements/open-close-base-element.d.ts +2 -1
- package/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/core/base-elements/open-close-base-element.js +8 -8
- package/core/controllers/media-matchers-controller.d.ts +4 -1
- package/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/core/controllers/media-matchers-controller.js +30 -26
- package/core/controllers/overlay-position-controller.d.ts +3 -2
- package/core/controllers/overlay-position-controller.d.ts.map +1 -1
- package/core/controllers/overlay-position-controller.js +35 -35
- package/core/controllers/property-watcher-controller.d.ts +16 -0
- package/core/controllers/property-watcher-controller.d.ts.map +1 -0
- package/core/controllers/property-watcher-controller.js +58 -0
- package/core/controllers.d.ts +1 -1
- package/core/controllers.js +21 -18
- package/core/datetime/date-adapter.d.ts +1 -3
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/dom/animation.d.ts.map +1 -1
- package/core/dom/animation.js +2 -2
- package/core/dom/set-or-remove-attribute.d.ts +0 -14
- package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
- package/core/dom/set-or-remove-attribute.js +3 -11
- package/core/dom.d.ts +0 -2
- package/core/dom.d.ts.map +1 -1
- package/core/dom.js +25 -33
- package/core/i18n/i18n.d.ts +0 -2
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n/i18n.js +60 -66
- package/core/i18n.js +53 -54
- package/core/interfaces/types.d.ts +0 -14
- package/core/interfaces/types.d.ts.map +1 -1
- package/core/mixins/element-internals-mixin.d.ts +14 -1
- package/core/mixins/element-internals-mixin.d.ts.map +1 -1
- package/core/mixins/element-internals-mixin.js +102 -75
- package/core/mixins/form-associated-mixin.js +1 -1
- package/core/mixins/form-associated-radio-button-mixin.js +16 -16
- package/core/mixins/panel-mixin.d.ts +10 -2
- package/core/mixins/panel-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.js +51 -37
- package/core/mixins/selection-panel-mixin.d.ts +5 -11
- package/core/mixins/selection-panel-mixin.d.ts.map +1 -1
- package/core/mixins/selection-panel-mixin.js +35 -83
- package/core/mixins.js +28 -27
- package/core/overlay/overlay-option-panel.d.ts +2 -1
- package/core/overlay/overlay-option-panel.d.ts.map +1 -1
- package/core/overlay/overlay-option-panel.js +9 -6
- package/core/styles/core.scss +32 -11
- package/core/styles/mixins/card.scss +71 -55
- package/core/testing/wait-for-render.d.ts +1 -1
- package/core.css +151 -26
- package/custom-elements.json +8452 -8203
- package/date-input/date-input.component.d.ts +0 -5
- package/date-input/date-input.component.d.ts.map +1 -1
- package/date-input/date-input.component.js +0 -7
- package/development/accordion/accordion.component.d.ts.map +1 -1
- package/development/accordion/accordion.component.js +5 -4
- package/development/action-group/action-group.component.js +2 -2
- package/development/alert/alert/alert.component.js +5 -5
- package/development/alert/alert-group/alert-group.component.d.ts +1 -1
- package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
- package/development/alert/alert-group/alert-group.component.js +5 -5
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +28 -32
- package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.component.js +2 -3
- package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +33 -24
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common/button-common.js +8 -17
- package/development/button/common.js +1 -1
- package/development/button.js +1 -1
- package/development/calendar/calendar.component.d.ts +4 -4
- package/development/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar.component.js +11 -11
- package/development/card/card/card.component.d.ts +3 -6
- package/development/card/card/card.component.d.ts.map +1 -1
- package/development/card/card/card.component.js +91 -146
- package/development/card/card-badge/card-badge.component.d.ts +0 -2
- package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
- package/development/card/card-badge/card-badge.component.js +34 -71
- package/development/card/common/card-action-common.d.ts.map +1 -1
- package/development/card/common/card-action-common.js +21 -10
- package/development/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/development/checkbox/checkbox/checkbox.component.js +2 -2
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.js +13 -15
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +6 -41
- package/development/checkbox/common.js +1 -1
- package/development/{checkbox-common-CX17vF7q.js → checkbox-common-D2-QcV8n.js} +4 -1
- package/development/checkbox.js +1 -1
- package/development/chip/chip-group/chip-group.component.d.ts +1 -0
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +11 -5
- package/development/clock/clock.component.d.ts +3 -1
- package/development/clock/clock.component.d.ts.map +1 -1
- package/development/clock/clock.component.js +5 -4
- package/development/container/container/container.component.d.ts.map +1 -1
- package/development/container/container/container.component.js +4 -3
- package/development/container/sticky-bar/sticky-bar.component.d.ts +3 -1
- package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
- package/development/container/sticky-bar/sticky-bar.component.js +40 -34
- package/development/core/a11y/focus-visible-within-controller.d.ts +2 -1
- package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/development/core/a11y/focus-visible-within-controller.js +4 -3
- package/development/core/a11y/interactivity-checker.js +1 -1
- package/development/core/base-elements/action-base-element.d.ts +1 -0
- package/development/core/base-elements/action-base-element.d.ts.map +1 -1
- package/development/core/base-elements/action-base-element.js +41 -56
- package/development/core/base-elements/button-base-element.d.ts +1 -1
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.js +7 -7
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.js +6 -15
- package/development/core/base-elements/open-close-base-element.d.ts +2 -1
- package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
- package/development/core/base-elements/open-close-base-element.js +12 -6
- package/development/core/controllers/media-matchers-controller.d.ts +4 -1
- package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
- package/development/core/controllers/media-matchers-controller.js +12 -5
- package/development/core/controllers/overlay-position-controller.d.ts +3 -2
- package/development/core/controllers/overlay-position-controller.d.ts.map +1 -1
- package/development/core/controllers/overlay-position-controller.js +3 -3
- package/development/core/controllers/property-watcher-controller.d.ts +16 -0
- package/development/core/controllers/property-watcher-controller.d.ts.map +1 -0
- package/development/core/controllers/property-watcher-controller.js +101 -0
- package/development/core/controllers.d.ts +1 -1
- package/development/core/controllers.js +6 -3
- package/development/core/datetime/date-adapter.d.ts +1 -3
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.js +1 -1
- package/development/core/dom/animation.d.ts.map +1 -1
- package/development/core/dom/animation.js +2 -2
- package/development/core/dom/set-or-remove-attribute.d.ts +0 -14
- package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
- package/development/core/dom/set-or-remove-attribute.js +1 -9
- package/development/core/dom.d.ts +0 -2
- package/development/core/dom.d.ts.map +1 -1
- package/development/core/dom.js +2 -10
- package/development/core/i18n/i18n.d.ts +0 -2
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n/i18n.js +1 -8
- package/development/core/i18n.js +1 -2
- package/development/core/interfaces/types.d.ts +0 -14
- package/development/core/interfaces/types.d.ts.map +1 -1
- package/development/core/mixins/element-internals-mixin.d.ts +14 -1
- package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
- package/development/core/mixins/element-internals-mixin.js +58 -10
- package/development/core/mixins/form-associated-input-mixin.js +1 -1
- package/development/core/mixins/form-associated-mixin.js +2 -2
- package/development/core/mixins/form-associated-radio-button-mixin.js +2 -2
- package/development/core/mixins/panel-mixin.d.ts +10 -2
- package/development/core/mixins/panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.js +24 -6
- package/development/core/mixins/selection-panel-mixin.d.ts +5 -11
- package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -1
- package/development/core/mixins/selection-panel-mixin.js +47 -111
- package/development/core/mixins.js +18 -9
- package/development/core/overlay/overlay-option-panel.d.ts +2 -1
- package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
- package/development/core/overlay/overlay-option-panel.js +10 -2
- package/development/core/overlay/position.js +1 -1
- package/development/core/testing/wait-for-render.d.ts +1 -1
- package/development/core/testing/wait-for-render.js +1 -1
- package/development/date-input/date-input.component.d.ts +0 -5
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +1 -8
- package/development/dialog/dialog/dialog.component.js +7 -7
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
- package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel/expansion-panel.component.js +30 -33
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +17 -2
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +17 -6
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +5 -5
- package/development/flip-card/flip-card/flip-card.component.d.ts +2 -1
- package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/development/flip-card/flip-card/flip-card.component.js +25 -14
- package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
- package/development/flip-card/flip-card-details/flip-card-details.component.js +7 -6
- package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
- package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
- package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -7
- package/development/form-field/error/error.component.js +2 -2
- package/development/form-field/form-field/form-field.component.d.ts +1 -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 +2 -2
- package/development/form-field/form-field-clear/form-field-clear.component.js +2 -2
- package/development/header/common/header-action-common.js +5 -5
- package/development/header/header/header.component.d.ts +1 -1
- package/development/header/header/header.component.d.ts.map +1 -1
- package/development/header/header/header.component.js +14 -14
- package/development/header/header-environment/header-environment.component.d.ts +1 -0
- package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
- package/development/header/header-environment/header-environment.component.js +8 -5
- package/development/icon/icon-base.d.ts +1 -0
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon-base.js +21 -25
- package/development/icon/icon-validate.js +2 -2
- package/development/{icon-sidebar-button-common-C6QChtaa.js → icon-sidebar-button-common-DR6eQvkq.js} +4 -4
- package/development/image/image.component.d.ts +5 -3
- package/development/image/image.component.d.ts.map +1 -1
- package/development/image/image.component.js +10 -9
- package/development/link/common/block-link-common.js +1 -1
- package/development/link/common/inline-link-common.js +1 -1
- package/development/link/common/link-common.d.ts.map +1 -1
- package/development/link/common/link-common.js +2 -3
- package/development/link/common.js +1 -1
- package/development/{link-common-DYZHRSSJ.js → link-common-CYr3PeRf.js} +9 -16
- package/development/link-list/link-list-anchor/link-list-anchor.component.js +6 -6
- package/development/link.js +1 -1
- package/development/map-container/map-container.component.d.ts +3 -1
- package/development/map-container/map-container.component.d.ts.map +1 -1
- package/development/map-container/map-container.component.js +5 -4
- package/development/menu/common/menu-action-common.js +2 -2
- package/development/menu/menu/menu.component.d.ts +1 -1
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +29 -23
- package/development/{mini-button-common-TSDaMUCP.js → mini-button-common-CWTMR_Lu.js} +15 -15
- package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
- package/development/mini-calendar/mini-calendar/mini-calendar.component.js +7 -6
- package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -4
- package/development/navigation/common/navigation-action-common.js +7 -7
- package/development/navigation/navigation/navigation.component.d.ts +0 -1
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +26 -38
- package/development/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
- package/development/navigation/navigation-marker/navigation-marker.component.js +8 -8
- package/development/navigation/navigation-section/navigation-section.component.d.ts +8 -7
- package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +48 -45
- package/development/notification/notification.component.d.ts +3 -2
- package/development/notification/notification.component.d.ts.map +1 -1
- package/development/notification/notification.component.js +22 -19
- package/development/option/optgroup/optgroup-base-element.d.ts +0 -3
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +6 -32
- package/development/option/optgroup/optgroup.component.d.ts +2 -2
- package/development/option/optgroup/optgroup.component.d.ts.map +1 -1
- package/development/option/optgroup/optgroup.component.js +21 -13
- package/development/option/option/option-base-element.d.ts +0 -5
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option/option-base-element.js +8 -41
- package/development/option/option/option.component.d.ts +5 -4
- package/development/option/option/option.component.d.ts.map +1 -1
- package/development/option/option/option.component.js +52 -39
- package/development/overlay/overlay-base-element.d.ts +1 -1
- package/development/overlay/overlay-base-element.js +2 -2
- package/development/overlay/overlay.component.js +7 -7
- package/development/paginator/common/paginator-common.d.ts +0 -1
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +1 -1
- package/development/paginator/paginator/paginator.component.d.ts +1 -1
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +8 -14
- package/development/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
- package/development/popover/popover.component.d.ts.map +1 -0
- package/development/popover/popover.component.js +720 -0
- package/development/popover.d.ts +1 -1
- package/development/popover.d.ts.map +1 -1
- package/development/popover.js +1 -1
- package/development/radio-button/common.js +1 -1
- package/development/radio-button/radio-button/radio-button.component.d.ts +0 -1
- package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
- package/development/radio-button/radio-button/radio-button.component.js +1 -2
- package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
- package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.component.js +28 -43
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
- 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 +5 -37
- package/development/{radio-button-common-BPrInmpg.js → radio-button-common-B3kVD7QV.js} +19 -42
- package/development/radio-button.js +1 -1
- package/development/{sbb-tokens-DZrHvErO.js → sbb-tokens-CZCt5L4q.js} +9 -9
- package/development/select/select.component.d.ts +1 -1
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +31 -36
- package/development/selection-action-panel/selection-action-panel.component.d.ts +0 -1
- package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
- package/development/selection-action-panel/selection-action-panel.component.js +22 -9
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +35 -30
- package/development/sidebar/common.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +13 -14
- package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
- package/development/sidebar/sidebar-container/sidebar-container.component.js +10 -8
- package/development/sidebar.js +1 -1
- package/development/skiplink-list/skiplink-list.component.js +1 -1
- package/development/stepper/step/step.component.d.ts +3 -1
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +25 -12
- package/development/stepper/step-label/step-label.component.d.ts +4 -1
- package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/development/stepper/step-label/step-label.component.js +40 -17
- package/development/stepper/stepper/stepper.component.d.ts +2 -2
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +21 -22
- package/development/tabs/tab/tab.component.d.ts +0 -5
- package/development/tabs/tab/tab.component.d.ts.map +1 -1
- package/development/tabs/tab/tab.component.js +3 -9
- package/development/tabs/tab-group/tab-group.component.d.ts +1 -25
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +19 -23
- package/development/tabs/tab-label/tab-label.component.d.ts +1 -0
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +20 -7
- package/development/tag/tag/tag.component.js +9 -9
- package/development/teaser/teaser.component.js +2 -2
- package/development/teaser-product/common.js +1 -1
- package/development/teaser-product/teaser-product/teaser-product.component.js +2 -2
- package/development/{teaser-product-common-v3BvyFdH.js → teaser-product-common-CJfmvweQ.js} +2 -2
- package/development/teaser-product.js +1 -1
- package/development/time-input/time-input.component.d.ts +0 -5
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +1 -8
- package/development/toast/toast.component.js +5 -5
- package/development/toggle/toggle/toggle.component.js +4 -4
- package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.component.js +2 -3
- package/development/toggle-check/toggle-check.component.js +4 -4
- package/development/tooltip/tooltip.component.d.ts.map +1 -1
- package/development/tooltip/tooltip.component.js +7 -7
- package/development/visual-checkbox/visual-checkbox.component.js +8 -4
- package/dialog/dialog/dialog.component.js +20 -20
- package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
- package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel/expansion-panel.component.js +51 -56
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +21 -13
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +24 -20
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common/file-selector-common.js +28 -28
- package/flip-card/flip-card/flip-card.component.d.ts +2 -1
- package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
- package/flip-card/flip-card/flip-card.component.js +44 -40
- package/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
- package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
- package/flip-card/flip-card-details/flip-card-details.component.js +15 -14
- package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
- package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
- package/flip-card/flip-card-summary/flip-card-summary.component.js +23 -26
- package/form-field/error/error.component.js +3 -3
- package/form-field/form-field/form-field.component.d.ts +1 -1
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/form-field/form-field-clear/form-field-clear.component.js +7 -7
- package/header/common/header-action-common.js +14 -14
- package/header/header/header.component.d.ts +1 -1
- package/header/header/header.component.d.ts.map +1 -1
- package/header/header/header.component.js +40 -40
- package/header/header-environment/header-environment.component.d.ts +1 -0
- package/header/header-environment/header-environment.component.d.ts.map +1 -1
- package/header/header-environment/header-environment.component.js +8 -9
- package/icon/icon-base.d.ts +1 -0
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon-base.js +45 -48
- package/icon/icon-validate.js +3 -3
- package/{icon-sidebar-button-common-W6GYJbVt.js → icon-sidebar-button-common-ffAscVDk.js} +1 -1
- package/image/image.component.d.ts +5 -3
- package/image/image.component.d.ts.map +1 -1
- package/image/image.component.js +31 -30
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/link/common/block-link-common.js +1 -1
- package/link/common/inline-link-common.js +1 -1
- package/link/common/link-common.d.ts.map +1 -1
- package/link/common/link-common.js +2 -3
- package/link/common.js +1 -1
- package/link-common-D9TmX32v.js +45 -0
- package/link-list/link-list-anchor/link-list-anchor.component.js +9 -9
- package/link.js +1 -1
- package/map-container/map-container.component.d.ts +3 -1
- package/map-container/map-container.component.d.ts.map +1 -1
- package/map-container/map-container.component.js +18 -17
- package/menu/common/menu-action-common.js +5 -5
- package/menu/menu/menu.component.d.ts +1 -1
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +29 -28
- package/mini-button-common-Bb4ri3Rn.js +10 -0
- package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
- package/mini-calendar/mini-calendar/mini-calendar.component.js +22 -21
- package/navigation/common/navigation-action-common.js +10 -10
- package/navigation/navigation/navigation.component.d.ts +0 -1
- package/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/navigation/navigation/navigation.component.js +46 -55
- package/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
- package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +20 -20
- package/navigation/navigation-section/navigation-section.component.d.ts +8 -7
- package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/navigation/navigation-section/navigation-section.component.js +65 -65
- package/notification/notification.component.d.ts +3 -2
- package/notification/notification.component.d.ts.map +1 -1
- package/notification/notification.component.js +22 -25
- package/off-brand-theme.css +151 -26
- package/option/optgroup/optgroup-base-element.d.ts +0 -3
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.js +45 -64
- package/option/optgroup/optgroup.component.d.ts +2 -2
- package/option/optgroup/optgroup.component.d.ts.map +1 -1
- package/option/optgroup/optgroup.component.js +27 -19
- package/option/option/option-base-element.d.ts +0 -5
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option/option-base-element.js +58 -74
- package/option/option/option.component.d.ts +5 -4
- package/option/option/option.component.d.ts.map +1 -1
- package/option/option/option.component.js +40 -36
- package/overlay/overlay-base-element.d.ts +1 -1
- package/overlay/overlay-base-element.js +1 -1
- package/overlay/overlay.component.js +28 -28
- package/package.json +1 -6
- package/paginator/common/paginator-common.d.ts +0 -1
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.d.ts +1 -1
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +17 -20
- package/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
- package/popover/popover.component.d.ts.map +1 -0
- package/popover/popover.component.js +316 -0
- package/popover.d.ts +1 -1
- package/popover.d.ts.map +1 -1
- package/popover.js +1 -1
- package/radio-button/common.js +1 -1
- package/radio-button/radio-button/radio-button.component.d.ts +0 -1
- package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
- package/radio-button/radio-button/radio-button.component.js +4 -5
- package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
- package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.component.js +45 -46
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
- 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 +36 -54
- package/radio-button-common-1Yg7p8dc.js +5 -0
- package/radio-button.js +1 -1
- package/safety-theme.css +151 -26
- package/{sbb-tokens-BNWpZrLn.js → sbb-tokens-DruExozg.js} +8 -8
- package/select/select.component.d.ts +1 -1
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +52 -52
- package/selection-action-panel/selection-action-panel.component.d.ts +0 -1
- package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
- package/selection-action-panel/selection-action-panel.component.js +9 -13
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +49 -55
- package/sidebar/common.js +1 -1
- package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/sidebar/sidebar/sidebar.component.js +26 -32
- package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
- package/sidebar/sidebar-container/sidebar-container.component.js +33 -32
- package/sidebar.js +1 -1
- package/skiplink-list/skiplink-list.component.js +1 -1
- package/standard-theme.css +151 -26
- package/stepper/step/step.component.d.ts +3 -1
- package/stepper/step/step.component.d.ts.map +1 -1
- package/stepper/step/step.component.js +28 -20
- package/stepper/step-label/step-label.component.d.ts +4 -1
- package/stepper/step-label/step-label.component.d.ts.map +1 -1
- package/stepper/step-label/step-label.component.js +35 -23
- package/stepper/stepper/stepper.component.d.ts +2 -2
- package/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/stepper/stepper/stepper.component.js +49 -48
- package/tabs/tab/tab.component.d.ts +0 -5
- package/tabs/tab/tab.component.d.ts.map +1 -1
- package/tabs/tab/tab.component.js +12 -18
- package/tabs/tab-group/tab-group.component.d.ts +1 -25
- package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/tabs/tab-group/tab-group.component.js +48 -50
- package/tabs/tab-label/tab-label.component.d.ts +1 -0
- package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/tabs/tab-label/tab-label.component.js +34 -29
- package/tag/tag/tag.component.js +12 -12
- package/teaser/teaser.component.js +1 -1
- package/teaser-product/common.js +1 -1
- package/teaser-product/teaser-product/teaser-product.component.js +1 -1
- package/teaser-product-common-DwaWdQEh.js +5 -0
- package/teaser-product.js +1 -1
- package/time-input/time-input.component.d.ts +0 -5
- package/time-input/time-input.component.d.ts.map +1 -1
- package/time-input/time-input.component.js +3 -10
- package/toast/toast.component.js +23 -23
- package/toggle/toggle/toggle.component.js +13 -13
- package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.component.js +20 -21
- package/toggle-check/toggle-check.component.js +8 -8
- package/tooltip/tooltip.component.d.ts.map +1 -1
- package/tooltip/tooltip.component.js +39 -39
- package/visual-checkbox/visual-checkbox.component.js +15 -15
- package/checkbox-common-DK5WsQPi.js +0 -5
- package/core/controllers/ancestor-watcher-controller.d.ts +0 -14
- package/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
- package/core/controllers/ancestor-watcher-controller.js +0 -51
- package/core/dom/breakpoint.d.ts +0 -16
- package/core/dom/breakpoint.d.ts.map +0 -1
- package/core/dom/breakpoint.js +0 -12
- package/core/dom/host-context.d.ts +0 -11
- package/core/dom/host-context.d.ts.map +0 -1
- package/core/dom/host-context.js +0 -17
- package/development/core/controllers/ancestor-watcher-controller.d.ts +0 -14
- package/development/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
- package/development/core/controllers/ancestor-watcher-controller.js +0 -87
- package/development/core/dom/breakpoint.d.ts +0 -16
- package/development/core/dom/breakpoint.d.ts.map +0 -1
- package/development/core/dom/breakpoint.js +0 -19
- package/development/core/dom/host-context.d.ts +0 -11
- package/development/core/dom/host-context.d.ts.map +0 -1
- package/development/core/dom/host-context.js +0 -21
- package/development/popover/popover/popover.component.d.ts.map +0 -1
- package/development/popover/popover/popover.component.js +0 -722
- package/development/popover/popover.d.ts +0 -5
- package/development/popover/popover.d.ts.map +0 -1
- package/development/popover/popover.js +0 -6
- package/link-common-CdQBSga7.js +0 -46
- package/mini-button-common-C3-aFB4L.js +0 -10
- package/popover/popover/popover.component.d.ts.map +0 -1
- package/popover/popover/popover.component.js +0 -321
- package/popover/popover.d.ts +0 -5
- package/popover/popover.d.ts.map +0 -1
- package/popover/popover.js +0 -5
- package/radio-button-common-chJrmIBn.js +0 -5
- package/teaser-product-common-a4NenpSA.js +0 -5
|
@@ -10,7 +10,7 @@ import { css, LitElement, html } from "lit";
|
|
|
10
10
|
import { state, property } from "lit/decorators.js";
|
|
11
11
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
12
12
|
import { until } from "lit/directives/until.js";
|
|
13
|
-
import {
|
|
13
|
+
import { forceType } from "../core/decorators.js";
|
|
14
14
|
import { SbbElementInternalsMixin } from "../core/mixins.js";
|
|
15
15
|
import { boxSizingStyles } from "../core/styles.js";
|
|
16
16
|
import { getSvgContent } from "./icon-request.js";
|
|
@@ -20,23 +20,23 @@ const style = css`:host {
|
|
|
20
20
|
-webkit-tap-highlight-color: transparent;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
:host([
|
|
23
|
+
:host(:is(:state(empty),[state--empty])) {
|
|
24
24
|
--sbb-icon-default-dimension: 0;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
:host([
|
|
27
|
+
:host(:is(:state(empty),[state--empty]):is(:state(namespace-default),[state--namespace-default])[name$=-extra-small]) {
|
|
28
28
|
--sbb-icon-default-dimension: var(--sbb-size-icon-ui-extra-small);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
:host([
|
|
31
|
+
:host(:is(:state(empty),[state--empty]):is(:state(namespace-default),[state--namespace-default])[name$=-small]) {
|
|
32
32
|
--sbb-icon-default-dimension: var(--sbb-size-icon-ui-small);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
:host([
|
|
35
|
+
:host(:is(:state(empty),[state--empty]):is(:state(namespace-default),[state--namespace-default])[name$=-medium]) {
|
|
36
36
|
--sbb-icon-default-dimension: var(--sbb-size-icon-ui-medium);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
:host([
|
|
39
|
+
:host(:is(:state(empty),[state--empty]):is(:state(namespace-default),[state--namespace-default])[name$=-large]) {
|
|
40
40
|
--sbb-icon-default-dimension: var(--sbb-size-icon-ui-large);
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -59,13 +59,6 @@ svg:not(.color-immutable) :where(:not([stroke]):not([fill])) :where(path, polygo
|
|
|
59
59
|
const defaultNamespace = "default";
|
|
60
60
|
let SbbIconBase = (() => {
|
|
61
61
|
var __svgNamespace_accessor_storage, __svgIcon_accessor_storage, _noSanitize_accessor_storage, _a;
|
|
62
|
-
let _classDecorators = [hostAttributes({
|
|
63
|
-
"data-namespace": defaultNamespace,
|
|
64
|
-
"data-empty": ""
|
|
65
|
-
})];
|
|
66
|
-
let _classDescriptor;
|
|
67
|
-
let _classExtraInitializers = [];
|
|
68
|
-
let _classThis;
|
|
69
62
|
let _classSuper = SbbElementInternalsMixin(LitElement);
|
|
70
63
|
let __svgNamespace_decorators;
|
|
71
64
|
let __svgNamespace_initializers = [];
|
|
@@ -76,13 +69,14 @@ let SbbIconBase = (() => {
|
|
|
76
69
|
let _noSanitize_decorators;
|
|
77
70
|
let _noSanitize_initializers = [];
|
|
78
71
|
let _noSanitize_extraInitializers = [];
|
|
79
|
-
_a = class extends _classSuper {
|
|
72
|
+
return _a = class extends _classSuper {
|
|
80
73
|
constructor() {
|
|
81
|
-
super(
|
|
74
|
+
super();
|
|
82
75
|
__privateAdd(this, __svgNamespace_accessor_storage, __runInitializers(this, __svgNamespace_initializers, defaultNamespace));
|
|
83
76
|
__privateAdd(this, __svgIcon_accessor_storage, (__runInitializers(this, __svgNamespace_extraInitializers), __runInitializers(this, __svgIcon_initializers, null)));
|
|
84
77
|
__privateAdd(this, _noSanitize_accessor_storage, (__runInitializers(this, __svgIcon_extraInitializers), __runInitializers(this, _noSanitize_initializers, false)));
|
|
85
78
|
__runInitializers(this, _noSanitize_extraInitializers);
|
|
79
|
+
this.internals.states.add("empty");
|
|
86
80
|
}
|
|
87
81
|
get _svgNamespace() {
|
|
88
82
|
return __privateGet(this, __svgNamespace_accessor_storage);
|
|
@@ -116,14 +110,19 @@ let SbbIconBase = (() => {
|
|
|
116
110
|
return;
|
|
117
111
|
}
|
|
118
112
|
const [namespace, name] = this._splitIconName(iconName);
|
|
113
|
+
if (this._svgNamespace) {
|
|
114
|
+
this.internals.states.delete(`namespace-${this._svgNamespace}`);
|
|
115
|
+
}
|
|
119
116
|
this._svgNamespace = namespace;
|
|
120
|
-
|
|
117
|
+
if (this._svgNamespace) {
|
|
118
|
+
this.internals.states.add(`namespace-${this._svgNamespace}`);
|
|
119
|
+
}
|
|
121
120
|
const svgIcon = this.fetchSvgIcon(this._svgNamespace, name);
|
|
122
121
|
this._svgIcon = svgIcon.then((v) => unsafeHTML(v));
|
|
123
122
|
try {
|
|
124
|
-
this.
|
|
123
|
+
this.toggleState("empty", !await svgIcon);
|
|
125
124
|
} catch {
|
|
126
|
-
this.
|
|
125
|
+
this.internals.states.add("empty");
|
|
127
126
|
}
|
|
128
127
|
}
|
|
129
128
|
async fetchSvgIcon(namespace, name) {
|
|
@@ -152,7 +151,7 @@ let SbbIconBase = (() => {
|
|
|
152
151
|
)}</span
|
|
153
152
|
>`;
|
|
154
153
|
}
|
|
155
|
-
}, __svgNamespace_accessor_storage = new WeakMap(), __svgIcon_accessor_storage = new WeakMap(), _noSanitize_accessor_storage = new WeakMap(),
|
|
154
|
+
}, __svgNamespace_accessor_storage = new WeakMap(), __svgIcon_accessor_storage = new WeakMap(), _noSanitize_accessor_storage = new WeakMap(), (() => {
|
|
156
155
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
157
156
|
__svgNamespace_decorators = [state()];
|
|
158
157
|
__svgIcon_decorators = [state()];
|
|
@@ -166,13 +165,10 @@ let SbbIconBase = (() => {
|
|
|
166
165
|
__esDecorate(_a, null, _noSanitize_decorators, { kind: "accessor", name: "noSanitize", static: false, private: false, access: { has: (obj) => "noSanitize" in obj, get: (obj) => obj.noSanitize, set: (obj, value) => {
|
|
167
166
|
obj.noSanitize = value;
|
|
168
167
|
} }, metadata: _metadata }, _noSanitize_initializers, _noSanitize_extraInitializers);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
172
|
-
})(), _a.styles = [boxSizingStyles, style], _a.role = "img", __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
173
|
-
return _classThis;
|
|
168
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
169
|
+
})(), _a.styles = [boxSizingStyles, style], _a.role = "img", _a;
|
|
174
170
|
})();
|
|
175
171
|
export {
|
|
176
172
|
SbbIconBase
|
|
177
173
|
};
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1iYXNlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaWNvbi9pY29uLWJhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgdHlwZSB7IERpcmVjdGl2ZVJlc3VsdCB9IGZyb20gJ2xpdC9kaXJlY3RpdmUuanMnO1xuaW1wb3J0IHR5cGUgeyBVbnNhZmVIVE1MRGlyZWN0aXZlIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW5zYWZlLWh0bWwuanMnO1xuaW1wb3J0IHsgdW5zYWZlSFRNTCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuXG5pbXBvcnQgeyBnZXRTdmdDb250ZW50IH0gZnJvbSAnLi9pY29uLXJlcXVlc3QudHMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vaWNvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBkZWZhdWx0TmFtZXNwYWNlID0gJ2RlZmF1bHQnO1xuXG4vKipcbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy13aWR0aD1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIHNldCBhIGN1c3RvbSB3aWR0aC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pY29uLXN2Zy1oZWlnaHQ9YXV0b10gLSBDYW4gYmUgdXNlZCB0byBzZXQgYSBjdXN0b20gaGVpZ2h0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiSWNvbkJhc2UgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdpbWcnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX3N2Z05hbWVzcGFjZSA9IGRlZmF1bHROYW1lc3BhY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHN2ZyBjb250ZW50IHJlbmRlcmVkIG9uIHRoZSBwYWdlOiA8c3ZnPi4uLjwvc3ZnPi5cbiAgICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX3N2Z0ljb246IFByb21pc2U8RGlyZWN0aXZlUmVzdWx0PHR5cGVvZiBVbnNhZmVIVE1MRGlyZWN0aXZlPj4gfCBudWxsID1cbiAgICBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIFNWRyBjb250ZW50IHRoYXQgaXMgSFRUUCBmZXRjaGVkIHdpbGwgbm90IGJlIGNoZWNrZWRcbiAgICogaWYgdGhlIHJlc3BvbnNlIFNWRyBjb250ZW50IGhhcyBhbnkgYDxzY3JpcHQ+YCBlbGVtZW50cywgb3IgYW55IGF0dHJpYnV0ZXNcbiAgICogdGhhdCBzdGFydCB3aXRoIGBvbmAsIHN1Y2ggYXMgYG9uY2xpY2tgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ25vLXNhbml0aXplJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igbm9TYW5pdGl6ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2VtcHR5Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZFN2Z0ljb24oaWNvbk5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbbmFtZXNwYWNlLCBuYW1lXSA9IHRoaXMuX3NwbGl0SWNvbk5hbWUoaWNvbk5hbWUpO1xuXG4gICAgaWYgKHRoaXMuX3N2Z05hbWVzcGFjZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgbmFtZXNwYWNlLSR7dGhpcy5fc3ZnTmFtZXNwYWNlfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdmdOYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgaWYgKHRoaXMuX3N2Z05hbWVzcGFjZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgbmFtZXNwYWNlLSR7dGhpcy5fc3ZnTmFtZXNwYWNlfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHN2Z0ljb24gPSB0aGlzLmZldGNoU3ZnSWNvbih0aGlzLl9zdmdOYW1lc3BhY2UsIG5hbWUpO1xuICAgIHRoaXMuX3N2Z0ljb24gPSBzdmdJY29uLnRoZW4oKHYpID0+IHVuc2FmZUhUTUwodikpO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdlbXB0eScsICEoYXdhaXQgc3ZnSWNvbikpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnZW1wdHknKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZmV0Y2hTdmdJY29uKG5hbWVzcGFjZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCBnZXRTdmdDb250ZW50KG5hbWVzcGFjZSwgbmFtZSwgIXRoaXMubm9TYW5pdGl6ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zcGxpdEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICBpZiAoIWljb25OYW1lKSB7XG4gICAgICByZXR1cm4gWycnLCAnJ107XG4gICAgfVxuICAgIGNvbnN0IHBhcnRzID0gaWNvbk5hbWUuc3BsaXQoJzonKTtcbiAgICBzd2l0Y2ggKHBhcnRzLmxlbmd0aCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICAvLyBVc2UgZGVmYXVsdCBuYW1lc3BhY2UgaWYgZW1wdHkuXG4gICAgICAgIHJldHVybiBbZGVmYXVsdE5hbWVzcGFjZSwgcGFydHNbMF1dO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gcGFydHMgYXMgW3N0cmluZywgc3RyaW5nXTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGljb24gbmFtZTogXCIke2ljb25OYW1lfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItaWNvbi1pbm5lclwiXG4gICAgICA+JHt1bnRpbChcbiAgICAgICAgdGhpcy5fc3ZnSWNvbixcbiAgICAgICAgLy8gVG8gcmVzZXJ2ZSBzcGFjZSwgd2UgbmVlZCBhbiBlbXB0eSBzdmcgdG8gYXBwbHkgZGltZW5zaW9uIHRvLlxuICAgICAgICBodG1sYDxzdmcgd2lkdGg9XCIwXCIgaGVpZ2h0PVwiMFwiPjwvc3ZnPmAsXG4gICAgICApfTwvc3BhblxuICAgID5gO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLE1BQU0sbUJBQW1CO0lB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
|
|
@@ -31,7 +31,7 @@ const validateContent = (svgContent, sanitize = true, colorImmutable = false) =>
|
|
|
31
31
|
if (colorImmutable && !svgElm.classList.contains("color-immutable")) {
|
|
32
32
|
svgElm.classList.add("color-immutable");
|
|
33
33
|
}
|
|
34
|
-
if (sanitize
|
|
34
|
+
if (!sanitize) {
|
|
35
35
|
return div.innerHTML;
|
|
36
36
|
}
|
|
37
37
|
if (isValid(svgElm)) {
|
|
@@ -44,4 +44,4 @@ export {
|
|
|
44
44
|
isValid,
|
|
45
45
|
validateContent
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi12YWxpZGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc1N0ciA9ICh2YWw6IGFueSk6IHZhbCBpcyBzdHJpbmcgPT4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZyc7XG5cbi8qKlxuICogU2FuaXRpemVzIHRoZSBTVkcgZWxlbWVudCBhbmQgYWxsIGl0cyBjaGlsZCBub2Rlcy5cbiAqIERvZXMgbm90IGFsbG93IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWQgPSAoZWxtOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xuICBpZiAoZWxtLm5vZGVUeXBlID09PSAxKSB7XG4gICAgLy8gaXMgYW4gRWxlbWVudCBub2RlIGxpa2UgPGRpdj4sIDxwPiBvciA8c3ZnPlxuICAgIGlmIChlbG0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3QgYWxsb3cgYXR0cmlidXRlcyBzdGFydGluZyB3aXRoIGBvbmBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsbS5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2YWwgPSBlbG0uYXR0cmlidXRlc1tpXS5uYW1lO1xuICAgICAgaWYgKGlzU3RyKHZhbCkgJiYgdmFsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignb24nKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFpc1ZhbGlkKGVsbS5jaGlsZE5vZGVzW2ldIGFzIGFueSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBTVkcgY29udGVudCBieSBjaGVja2luZyB0aGF0IGl0IGhhcyBvbmx5IG9uZSByb290IGVsZW1lbnQgYDxzdmc+YCxcbiAqIGFkZGluZyB0aGUgYGNvbG9yLWltbXV0YWJsZWAgY2xhc3MgaWYgdGhlIGBjb2xvckltbXV0YWJsZWAgb3B0aW9uIGlzIHNldCB0byBgdHJ1ZWAsXG4gKiBhbmQgc2FuaXRpemluZyB0aGUgcHJvdmlkZWQgY29udGVudCBhcyBsb25nIGFzIHRoZSBgc2FuaXRpemVgIHByb3BlcnR5IGlzIG5vdCBleHBsaWNpdGx5IHNldCB0byBgZmFsc2VgLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVDb250ZW50ID0gKFxuICBzdmdDb250ZW50OiBzdHJpbmcsXG4gIHNhbml0aXplID0gdHJ1ZSxcbiAgY29sb3JJbW11dGFibGUgPSBmYWxzZSxcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudDtcblxuICBmb3IgKGxldCBpID0gZGl2LmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi12YWxpZGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ljb24vaWNvbi12YWxpZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc1N0ciA9ICh2YWw6IGFueSk6IHZhbCBpcyBzdHJpbmcgPT4gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZyc7XG5cbi8qKlxuICogU2FuaXRpemVzIHRoZSBTVkcgZWxlbWVudCBhbmQgYWxsIGl0cyBjaGlsZCBub2Rlcy5cbiAqIERvZXMgbm90IGFsbG93IGA8c2NyaXB0PmAgZWxlbWVudHMsIG9yIGFueSBhdHRyaWJ1dGVzIHRoYXQgc3RhcnQgd2l0aCBgb25gLCBzdWNoIGFzIGBvbmNsaWNrYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWQgPSAoZWxtOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xuICBpZiAoZWxtLm5vZGVUeXBlID09PSAxKSB7XG4gICAgLy8gaXMgYW4gRWxlbWVudCBub2RlIGxpa2UgPGRpdj4sIDxwPiBvciA8c3ZnPlxuICAgIGlmIChlbG0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBkbyBub3QgYWxsb3cgYXR0cmlidXRlcyBzdGFydGluZyB3aXRoIGBvbmBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsbS5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2YWwgPSBlbG0uYXR0cmlidXRlc1tpXS5uYW1lO1xuICAgICAgaWYgKGlzU3RyKHZhbCkgJiYgdmFsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignb24nKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbG0uY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFpc1ZhbGlkKGVsbS5jaGlsZE5vZGVzW2ldIGFzIGFueSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBTVkcgY29udGVudCBieSBjaGVja2luZyB0aGF0IGl0IGhhcyBvbmx5IG9uZSByb290IGVsZW1lbnQgYDxzdmc+YCxcbiAqIGFkZGluZyB0aGUgYGNvbG9yLWltbXV0YWJsZWAgY2xhc3MgaWYgdGhlIGBjb2xvckltbXV0YWJsZWAgb3B0aW9uIGlzIHNldCB0byBgdHJ1ZWAsXG4gKiBhbmQgc2FuaXRpemluZyB0aGUgcHJvdmlkZWQgY29udGVudCBhcyBsb25nIGFzIHRoZSBgc2FuaXRpemVgIHByb3BlcnR5IGlzIG5vdCBleHBsaWNpdGx5IHNldCB0byBgZmFsc2VgLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVDb250ZW50ID0gKFxuICBzdmdDb250ZW50OiBzdHJpbmcsXG4gIHNhbml0aXplID0gdHJ1ZSxcbiAgY29sb3JJbW11dGFibGUgPSBmYWxzZSxcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudDtcblxuICBmb3IgKGxldCBpID0gZGl2LmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBpZiAoZGl2LmNoaWxkTm9kZXNbaV0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3N2ZycpIHtcbiAgICAgIGRpdi5yZW1vdmVDaGlsZChkaXYuY2hpbGROb2Rlc1tpXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gbXVzdCBvbmx5IGhhdmUgMSByb290IGVsZW1lbnRcbiAgY29uc3Qgc3ZnRWxtID0gZGl2LmZpcnN0RWxlbWVudENoaWxkO1xuXG4gIGlmIChzdmdFbG0gJiYgc3ZnRWxtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgaWYgKGNvbG9ySW1tdXRhYmxlICYmICFzdmdFbG0uY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2xvci1pbW11dGFibGUnKSkge1xuICAgICAgc3ZnRWxtLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLWltbXV0YWJsZScpO1xuICAgIH1cblxuICAgIC8vIGRvIG5vdCBzYW5pdGl6ZSB0aGUgc3ZnIGVsZW1lbnRcbiAgICBpZiAoIXNhbml0aXplKSB7XG4gICAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgICB9XG5cbiAgICAvLyBzYW5pdGl6ZSB0aGUgc3ZnIGVsZW1lbnRcbiAgICBpZiAoaXNWYWxpZChzdmdFbG0gYXMgYW55KSkge1xuICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gICAgfVxuICB9XG4gIHJldHVybiAnJztcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxRQUFRLENBQUMsUUFBNEIsT0FBTyxRQUFRO0FBTW5ELE1BQU0sVUFBVSxDQUFDLFFBQTZCO0FBQ25ELE1BQUksSUFBSSxhQUFhLEdBQUc7QUFFdEIsUUFBSSxJQUFJLFNBQVMsWUFBQSxNQUFrQixVQUFVO0FBQzNDLGFBQU87QUFBQSxJQUNUO0FBR0EsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFlBQU0sTUFBTSxJQUFJLFdBQVcsQ0FBQyxFQUFFO0FBQzlCLFVBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxjQUFjLFFBQVEsSUFBSSxNQUFNLEdBQUc7QUFDdkQsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBRUEsYUFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFdBQVcsUUFBUSxLQUFLO0FBQzlDLFVBQUksQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLENBQVEsR0FBRztBQUN0QyxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUO0FBT08sTUFBTSxrQkFBa0IsQ0FDN0IsWUFDQSxXQUFXLE1BQ1gsaUJBQWlCLFVBQ1A7QUFDVixRQUFNLE1BQU0sU0FBUyxjQUFjLEtBQUs7QUFDeEMsTUFBSSxZQUFZO0FBRWhCLFdBQVMsSUFBSSxJQUFJLFdBQVcsU0FBUyxHQUFHLEtBQUssR0FBRyxLQUFLO0FBQ25ELFFBQUksSUFBSSxXQUFXLENBQUMsRUFBRSxTQUFTLFlBQUEsTUFBa0IsT0FBTztBQUN0RCxVQUFJLFlBQVksSUFBSSxXQUFXLENBQUMsQ0FBQztBQUFBLElBQ25DO0FBQUEsRUFDRjtBQUdBLFFBQU0sU0FBUyxJQUFJO0FBRW5CLE1BQUksVUFBVSxPQUFPLFNBQVMsWUFBQSxNQUFrQixPQUFPO0FBQ3JELFFBQUksa0JBQWtCLENBQUMsT0FBTyxVQUFVLFNBQVMsaUJBQWlCLEdBQUc7QUFDbkUsYUFBTyxVQUFVLElBQUksaUJBQWlCO0FBQUEsSUFDeEM7QUFHQSxRQUFJLENBQUMsVUFBVTtBQUNiLGFBQU8sSUFBSTtBQUFBLElBQ2I7QUFHQSxRQUFJLFFBQVEsTUFBYSxHQUFHO0FBQzFCLGFBQU8sSUFBSTtBQUFBLElBQ2I7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUOyJ9
|
|
@@ -35,19 +35,19 @@ const iconSidebarButtonCommon = css`:host {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
@media (forced-colors: active) {
|
|
38
|
-
:host([
|
|
38
|
+
:host(:is(:state(button),[state--button])) {
|
|
39
39
|
--sbb-icon-sidebar-button-color: ButtonText !important;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
@media (forced-colors: active) {
|
|
44
|
-
:host([
|
|
44
|
+
:host(:is(:state(link),[state--link])) {
|
|
45
45
|
--sbb-icon-sidebar-button-color: LinkText !important;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
@media (any-hover: hover) {
|
|
50
|
-
:host(:not(:active, [
|
|
50
|
+
:host(:not(:active, :is(:state(active),[state--active])):hover) {
|
|
51
51
|
--sbb-icon-sidebar-button__hover-shift: 0.0625rem;
|
|
52
52
|
--sbb-icon-sidebar-button__cursor: var(--sbb-cursor-pointer);
|
|
53
53
|
}
|
|
@@ -90,4 +90,4 @@ export {
|
|
|
90
90
|
iconSidebarButtonCommon as i,
|
|
91
91
|
sidebarContainerCommon as s
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaWRlYmFyLWJ1dHRvbi1jb21tb24tRFI2ZVF2a3EuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
|
|
@@ -17,6 +17,7 @@ export interface InterfaceImageAttributesSizesConfigMediaQuery {
|
|
|
17
17
|
};
|
|
18
18
|
conditionOperator: false;
|
|
19
19
|
}
|
|
20
|
+
declare const SbbImageElement_base: import('../core/mixins.ts').AbstractConstructor<import('../core/mixins.ts').SbbElementInternalsMixinType> & typeof LitElement & import('../core/mixins.ts').SbbElementInternalsConstructor;
|
|
20
21
|
/**
|
|
21
22
|
* It displays an image.
|
|
22
23
|
*
|
|
@@ -26,7 +27,7 @@ export interface InterfaceImageAttributesSizesConfigMediaQuery {
|
|
|
26
27
|
* @cssprop [--sbb-image-object-position] - Can be used to set the object-position CSS property of the image itself if the image itself is cropped.
|
|
27
28
|
* @cssprop [--sbb-image-object-fit=cover] - Can be used to set the object-fit CSS property of the image itself if the image itself is cropped.
|
|
28
29
|
*/
|
|
29
|
-
export declare class SbbImageElement extends
|
|
30
|
+
export declare class SbbImageElement extends SbbImageElement_base {
|
|
30
31
|
static styles: CSSResultGroup;
|
|
31
32
|
static readonly events: {
|
|
32
33
|
readonly error: "error";
|
|
@@ -111,9 +112,9 @@ export declare class SbbImageElement extends LitElement {
|
|
|
111
112
|
*/
|
|
112
113
|
accessor loading: 'eager' | 'lazy';
|
|
113
114
|
/**
|
|
114
|
-
* With performance.mark you can log a timestamp associated with
|
|
115
|
+
* With `performance.mark` you can log a timestamp associated with
|
|
115
116
|
* the name you define in performanceMark when a certain event is
|
|
116
|
-
* happening. In our case we will log the performance.mark into
|
|
117
|
+
* happening. In our case we will log the `performance.mark` into
|
|
117
118
|
* the PerformanceEntry API once the image is fully loaded.
|
|
118
119
|
* Performance monitoring tools like SpeedCurve or Lighthouse are
|
|
119
120
|
* then able to grab these entries from the PerformanceEntry API
|
|
@@ -210,4 +211,5 @@ declare global {
|
|
|
210
211
|
'sbb-image': SbbImageElement;
|
|
211
212
|
}
|
|
212
213
|
}
|
|
214
|
+
export {};
|
|
213
215
|
//# sourceMappingURL=image.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/image/image.component.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"image.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/image/image.component.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AASb,MAAM,WAAW,mCAAmC;IAClD,WAAW,EAAE,6CAA6C,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,6CAA6C;IAC5D,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,YAAY,EAAE,6CAA6C,EAAE,CAAC;CAC/D;AAED,MAAM,WAAW,6CAA6C;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,iBAAiB,EAAE,KAAK,CAAC;CAC1B;;AAwFD;;;;;;;;GAQG;AACH,qBAEM,eAAgB,SAAQ,oBAAoC;IAChE,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,gBAAuB,MAAM;;;MAGlB;IAEX,OAAO,CAAC,eAAe,CAAC,CAAc;IACtC,OAAO,CAAC,eAAe,CAAC,CAA8B;IACtD,OAAO,CAAC,OAAO,CAGb;IAEF;;;;;;OAMG;IACH,SAEgB,GAAG,EAAE,MAAM,CAAM;IAEjC;;;;;;OAMG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;;OAIG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;;;;OAMG;IACH,SAA4B,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAU;IAEzE;;;OAGG;IACH,SAEgB,eAAe,EAAE,OAAO,CAAS;IAEjD;;OAEG;IACH,SAEgB,WAAW,EAAE,MAAM,CAAK;IAExC;;OAEG;IACH,SAEgB,WAAW,EAAE,MAAM,CAAK;IAExC;;;;;;;;;OASG;IACH,SAEgB,QAAQ,EAAE,MAAM,CAAM;IAEtC;;;;;;;;OAQG;IACH,SAA4B,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAU;IAEzE;;;;;;;;;OASG;IACH,SAA4B,OAAO,EAAE,OAAO,GAAG,MAAM,CAAW;IAEhE;;;;;;;;;;;;OAYG;IACH,SAEgB,eAAe,EAAE,MAAM,CAAM;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;IACH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,+DAA+D;IAC/D,IAAW,QAAQ,IAAI,OAAO,CAE7B;cAEkB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAgBtD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAW9E,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,0BAA0B;IAgElC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,YAAY;cAQD,MAAM,IAAI,cAAc;CAoE5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
|
|
@@ -6,10 +6,11 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
-
import {
|
|
9
|
+
import { f as SbbBreakpointUltraMax, c as SbbBreakpointUltraMin, e as SbbBreakpointLargeMax, b as SbbBreakpointLargeMin, d as SbbBreakpointSmallMax, a as SbbBreakpointSmallMin, g as SbbBreakpointZeroMax, S as SbbBreakpointZeroMin } from "../sbb-tokens-CZCt5L4q.js";
|
|
10
10
|
import { css, LitElement, nothing, html } from "lit";
|
|
11
11
|
import { customElement, property, eventOptions } from "lit/decorators.js";
|
|
12
12
|
import { forceType } from "../core/decorators.js";
|
|
13
|
+
import { SbbElementInternalsMixin } from "../core/mixins.js";
|
|
13
14
|
import { boxSizingStyles } from "../core/styles.js";
|
|
14
15
|
const style = css`:host {
|
|
15
16
|
--sbb-image-aspect-ratio: 16 / 9;
|
|
@@ -25,7 +26,7 @@ const style = css`:host {
|
|
|
25
26
|
.sbb-image__img {
|
|
26
27
|
opacity: 0.000001;
|
|
27
28
|
}
|
|
28
|
-
:host([
|
|
29
|
+
:host(:is(:state(loaded),[state--loaded])) .sbb-image__img {
|
|
29
30
|
opacity: 0.999999;
|
|
30
31
|
}
|
|
31
32
|
:host(:not([skip-lqip])) .sbb-image__img {
|
|
@@ -33,7 +34,7 @@ const style = css`:host {
|
|
|
33
34
|
inset: 0;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
:host([
|
|
37
|
+
:host(:is(:state(loaded),[state--loaded])) .sbb-image__blurred {
|
|
37
38
|
opacity: 0;
|
|
38
39
|
}
|
|
39
40
|
|
|
@@ -120,7 +121,7 @@ let SbbImageElement = (() => {
|
|
|
120
121
|
let _classDescriptor;
|
|
121
122
|
let _classExtraInitializers = [];
|
|
122
123
|
let _classThis;
|
|
123
|
-
let _classSuper = LitElement;
|
|
124
|
+
let _classSuper = SbbElementInternalsMixin(LitElement);
|
|
124
125
|
let _instanceExtraInitializers = [];
|
|
125
126
|
let _alt_decorators;
|
|
126
127
|
let _alt_initializers = [];
|
|
@@ -319,9 +320,9 @@ let SbbImageElement = (() => {
|
|
|
319
320
|
__privateSet(this, _loading_accessor_storage, value);
|
|
320
321
|
}
|
|
321
322
|
/**
|
|
322
|
-
* With performance.mark you can log a timestamp associated with
|
|
323
|
+
* With `performance.mark` you can log a timestamp associated with
|
|
323
324
|
* the name you define in performanceMark when a certain event is
|
|
324
|
-
* happening. In our case we will log the performance.mark into
|
|
325
|
+
* happening. In our case we will log the `performance.mark` into
|
|
325
326
|
* the PerformanceEntry API once the image is fully loaded.
|
|
326
327
|
* Performance monitoring tools like SpeedCurve or Lighthouse are
|
|
327
328
|
* then able to grab these entries from the PerformanceEntry API
|
|
@@ -430,7 +431,7 @@ let SbbImageElement = (() => {
|
|
|
430
431
|
super.firstUpdated(changedProperties);
|
|
431
432
|
this.updateComplete.then(() => {
|
|
432
433
|
if (this.complete) {
|
|
433
|
-
this.
|
|
434
|
+
this.internals.states.add("loaded");
|
|
434
435
|
}
|
|
435
436
|
});
|
|
436
437
|
}
|
|
@@ -547,7 +548,7 @@ let SbbImageElement = (() => {
|
|
|
547
548
|
}
|
|
548
549
|
_imageLoaded() {
|
|
549
550
|
this._logPerformanceMarks();
|
|
550
|
-
this.
|
|
551
|
+
this.internals.states.add("loaded");
|
|
551
552
|
this.dispatchEvent(new Event("load"));
|
|
552
553
|
}
|
|
553
554
|
render() {
|
|
@@ -665,4 +666,4 @@ let SbbImageElement = (() => {
|
|
|
665
666
|
export {
|
|
666
667
|
SbbImageElement
|
|
667
668
|
};
|
|
668
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRMYXJnZU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1pbixcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWF4LFxuICBTYmJCcmVha3BvaW50VWx0cmFNaW4sXG4gIFNiYkJyZWFrcG9pbnRaZXJvTWF4LFxuICBTYmJCcmVha3BvaW50WmVyb01pbixcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFqc29uT2JqZWN0LmJyZWFrcG9pbnRzIHx8IGpzb25PYmplY3QuYnJlYWtwb2ludHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIGdldCBhbiBhcnJheSBvZiBicmVha3BvaW50c1xuICBpZiAoIUFycmF5LmlzQXJyYXkoanNvbk9iamVjdC5icmVha3BvaW50cykpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogMS4gbWFrZSBzdXJlIHRoYXQgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIGJyZWFrcG9pbnRzIG9iamVjdCBjb250YWlucyBvbmx5IGFsbG93ZWQga2V5c1xuICAgKiAyLiBtYWtlIHN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGtleXMgYXJlIHByZXNlbnRcbiAgICovXG4gIGxldCB3cm9uZ0tleURldGVjdGVkID0gZmFsc2U7XG4gIGxldCBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdCBhbGxvd2VkS2V5cyA9IFsnaW1hZ2UnLCAnbWVkaWFRdWVyaWVzJ107XG5cbiAganNvbk9iamVjdC5icmVha3BvaW50cy5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludEtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50KTtcblxuICAgIGJyZWFrcG9pbnRLZXlzLmZvckVhY2goKGJyZWFrcG9pbnRLZXkpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEtleXMuaW5jbHVkZXMoYnJlYWtwb2ludEtleSkpIHtcbiAgICAgICAgd3JvbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhbGxvd2VkS2V5cy5mb3JFYWNoKChhbGxvd2VkS2V5KSA9PiB7XG4gICAgICBpZiAoIWJyZWFrcG9pbnRLZXlzLmluY2x1ZGVzKGFsbG93ZWRLZXkpKSB7XG4gICAgICAgIG1pc3NpbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICh3cm9uZ0tleURldGVjdGVkIHx8IG1pc3NpbmdLZXlEZXRlY3RlZCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBqc29uT2JqZWN0LmJyZWFrcG9pbnRzO1xufTtcblxuY29uc3QgZXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG5jb25zdCBicmVha3BvaW50TWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnc2JiLWJyZWFrcG9pbnQtemVyby1taW4nOiBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWF4JzogU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1taW4nOiBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1tYXgnOiBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1taW4nOiBTYmJCcmVha3BvaW50TGFyZ2VNaW4sXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1tYXgnOiBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1taW4nOiBTYmJCcmVha3BvaW50VWx0cmFNaW4sXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1tYXgnOiBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGltYWdlLlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi1pbWFnZS1hc3BlY3QtcmF0aW89YXV0b10gLSBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSBgYXNwZWN0UmF0aW9gIHByb3BlcnR5LlxuICogVGhpcyB3YXkgd2UgY2FuIGhhdmUsIGZvciBleGFtcGxlLCBhbiBpbWFnZSBjb21wb25lbnQgd2l0aCBhbiBhc3BlY3RcbiAqIHJhdGlvIG9mIDQvMyBpbiBzbWFsbGVyIHZpZXdwb3J0cyBhbmQgMTYvOSBpbiBsYXJnZXIgdmlld3BvcnRzLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLW9iamVjdC1wb3NpdGlvbl0gLSBDYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1wb3NpdGlvbiBDU1MgcHJvcGVydHkgb2YgdGhlIGltYWdlIGl0c2VsZiBpZiB0aGUgaW1hZ2UgaXRzZWxmIGlzIGNyb3BwZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2Utb2JqZWN0LWZpdD1jb3Zlcl0gLSBDYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1maXQgQ1NTIHByb3BlcnR5IG9mIHRoZSBpbWFnZSBpdHNlbGYgaWYgdGhlIGltYWdlIGl0c2VsZiBpcyBjcm9wcGVkLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItaW1hZ2UnKVxuY2xhc3MgU2JiSW1hZ2VFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZXJyb3I6ICdlcnJvcicsXG4gICAgbG9hZDogJ2xvYWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX2NhcHRpb25FbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2xpbmtzSW5DYXB0aW9uPzogTm9kZUxpc3RPZjxIVE1MTGlua0VsZW1lbnQ+O1xuICBwcml2YXRlIF9jb25maWcgPSB7XG4gICAgbm9uUmV0aW5hUXVhbGl0eTogJzQ1JyxcbiAgICByZXRpbmFRdWFsaXR5OiAnMjAnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBbiBhbHQgdGV4dCBpcyBub3QgYWx3YXlzIG5lY2Vzc2FyeSAoZS5nLiBpbiB0ZWFzZXIgY2FyZHMgd2hlblxuICAgKiBhZGRpdGlvbmFsIGxpbmsgdGV4dCBpcyBwcm92aWRlZCkuIEluIHRoaXMgY2FzZSB3ZSBjYW4gbGVhdmVcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBhbHQgYXR0cmlidXRlIGJsYW5rLCBidXQgdGhlIGF0dHJpYnV0ZSBpdHNlbGZcbiAgICogc3RpbGwgbmVlZHMgdG8gYmUgcHJlc2VudC4gVGhhdCB3YXkgd2UgY2FuIHNpZ25hbCBhc3Npc3RpdmVcbiAgICogdGVjaG5vbG9neSwgdGhhdCB0aGV5IGNhbiBza2lwIHRoZSBpbWFnZS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgYWx0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB3ZSBzaG93IGEgYmx1cnJlZCB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBhc1xuICAgKiBwbGFjZWhvbGRlciBiZWZvcmUgdGhlIGFjdHVhbCBpbWFnZSBzaG93cyB1cC4gVGhpcyB3aWxsIGhlbHBcbiAgICogdG8gaW1wcm92ZSB0aGUgcGVyY2VpdmVkIGxvYWRpbmcgcGVyZm9ybWFuY2UuIFJlYWQgbW9yZSBhYm91dFxuICAgKiB0aGUgaWRlYSBvZiBscWlwIGhlcmU6XG4gICAqIGh0dHBzOi8vbWVkaXVtLmNvbS9AaW1naXgvbHFpcC15b3VyLWltYWdlcy1mb3ItZmFzdC1sb2FkaW5nLTI1MjNkOWVlNGE2MlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NraXAtbHFpcCcsIHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNraXBMcWlwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIGlmIHlvdSB3YW50IHRvIHBhc3MgYSBjdXN0b20gZm9jYWwgcG9pbnRcbiAgICogZm9yIHRoZSBpbWFnZS4gU2VlIGZ1bGwgZG9jdW1lbnRhdGlvbiBoZXJlOlxuICAgKiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nL2ZvY2FscG9pbnQtY3JvcFxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2N1c3RvbS1mb2NhbC1wb2ludCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGN1c3RvbUZvY2FsUG9pbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSWYgdGhlIGxhenkgcHJvcGVydHkgaXMgc2V0IHRvIHRydWUsIHRoZSBtb2R1bGUgd2lsbCBhdXRvbWF0aWNhbGx5XG4gICAqIGNoYW5nZSB0aGUgZGVjb2RpbmcgdG8gYXN5bmMsIG90aGVyd2lzZSB0aGUgZGVjb2RpbmcgaXMgc2V0IHRvIGF1dG9cbiAgICogd2hpY2ggbGVhdmVzIHRoZSBoYW5kbGluZyB1cCB0byB0aGUgYnJvd3Nlci4gUmVhZCBtb3JlIGFib3V0IHRoZVxuICAgKiBkZWNvZGluZyBhdHRyaWJ1dGUgaGVyZTpcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hUTUxJbWFnZUVsZW1lbnQvZGVjb2RpbmdcbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBkZWNvZGluZzogJ3N5bmMnIHwgJ2FzeW5jJyB8ICdhdXRvJyA9ICdhdXRvJztcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSwgdG8gcmVjZWl2ZSB2aXN1YWwgZ3VpZGFuY2Ugd2hlcmUgdGhlIGN1c3RvbSBmb2NhbFxuICAgKiBwb2ludCBpcyBjdXJyZW50bHkgc2V0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LWRlYnVnJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jYWxQb2ludERlYnVnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBmbG9hdGluZyBudW1iZXIgYmV0d2VlbiAwIChsZWZ0KSBhbmQgMSAocmlnaHQpLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY2FsUG9pbnRYOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAodG9wKSBhbmQgMSAoYm90dG9tKS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb2NhbC1wb2ludC15JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBmb2NhbFBvaW50WTogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogUmlnaHQgbm93IHRoZSBtb2R1bGUgaXMgaGVhdmlseSBjb3VwbGVkIHdpdGggdGhlIGltYWdlIGRlbGl2ZXJ5XG4gICAqIHNlcnZpY2UgaW1naXggYW5kIGRlcGVuZHMgb24gdGhlIG9yaWdpbmFsIGZpbGVzIGJlaW5nIHN0b3JlZFxuICAgKiBpbnNpZGUgQUVNLiBZb3UgY2FuIHBhc3MgaW4gYW55IGh0dHBzOi8vY2RuLmltZy5zYmIuY2ggaW1nXG4gICAqIHNyYyBhZGRyZXNzIHlvdSBmaW5kIG9uIHNiYi5jaCB0byBwbGF5IGFyb3VuZCB3aXRoIGl0LiBKdXN0XG4gICAqIHN0cmlwIHRoZSB1cmwgcGFyYW1ldGVycyBhbmQgcGFzdGUgaW4gdGhlIHBsYWluIGZpbGUgYWRkcmVzcy5cbiAgICogSWYgeW91IHdhbnQgdG8ga25vdyBob3cgdG8gYmVzdCB3b3JrIHdpdGggdGhpcyBtb2R1bGUgd2l0aFxuICAgKiBpbWFnZXMgY29taW5nIGZyb20gYSBkaWZmZXJlbnQgc291cmNlLCBwbGVhc2UgY29udGFjdCB0aGVcbiAgICogTFlORSBDb3JlIFRlYW0uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW1hZ2Utc3JjJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaW1hZ2VTcmM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1wb3J0YW5jZSBhdHRyaWJ1dGUgaXMgZmFpcmx5IG5ldyBhdHRyaWJ1dGUgd2hpY2ggc2hvdWxkXG4gICAqIGhlbHAgdGhlIGJyb3dzZXIgZGVjaWRlIHdoaWNoIHJlc291cmNlcyBpdCBzaG91bGQgcHJpb3JpdGlzZVxuICAgKiBkdXJpbmcgcGFnZSBsb2FkLiBXZSB3aWxsIHNldCB0aGUgYXR0cmlidXRlIHZhbHVlIGJhc2VkIG9uIHRoZVxuICAgKiB2YWx1ZSwgd2UgcmVjZWl2ZSBpbiB0aGUgbG9hZGluZyBhdHRyaWJ1dGUuICdlYWdlcicsIHdoaWNoIHdlIHVzZVxuICAgKiBmb3IgdGhlIGxhcmdlc3QgaW1hZ2Ugd2l0aGluIHRoZSBpbml0aWFsIHZpZXdwb3J0LCB3aWxsIHNldCB0aGVcbiAgICogYXR0cmlidXRlIHZhbHVlIHRvICdoaWdoJy4gJ2xhenknLCB3aGljaCB3ZSB1c2UgZm9yIGltYWdlcyBiZWxvd1xuICAgKiB0aGUgZm9sZCwgd2lsbCBzZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZSB0byAnbG93Jy5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBpbXBvcnRhbmNlOiAnYXV0bycgfCAnaGlnaCcgfCAnbG93JyA9ICdoaWdoJztcblxuICAvKipcbiAgICogV2l0aCB0aGUgc3VwcG9ydCBvZiBuYXRpdmUgaW1hZ2UgbGF6eSBsb2FkaW5nLCB3ZSBjYW4gbm93XG4gICAqIGRlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gbG9hZCB0aGUgaW1hZ2UgaW1tZWRpYXRlbHkgb3Igb25seVxuICAgKiBvbmNlIGl0IGlzIGNsb3NlIHRvIHRoZSB2aXNpYmxlIHZpZXdwb3J0LiBUaGUgdmFsdWUgZWFnZXIgaXNcbiAgICogYmVzdCB1c2VkIGZvciBpbWFnZXMgd2l0aGluIHRoZSBpbml0aWFsIHZpZXdwb3J0LiBXZSB3YW50IHRvXG4gICAqIGxvYWQgdGhlc2UgaW1hZ2VzIGFzIGZhc3QgYXMgcG9zc2libGUgdG8gaW1wcm92ZSB0aGUgQ29yZSBXZWJcbiAgICogVml0YWxzIHZhbHVlcy4gbGF6eSBvbiB0aGUgb3RoZXIgaGFuZCB3b3JrcyBiZXN0IGZvciBpbWFnZXNcbiAgICogd2hpY2ggYXJlIGZ1cnRoZXIgZG93biB0aGUgcGFnZSBvciBpbnZpc2libGUgZHVyaW5nIHRoZSBsb2FkaW5nXG4gICAqIG9mIHRoZSBpbml0aWFsIHZpZXdwb3J0LlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIGxvYWRpbmc6ICdlYWdlcicgfCAnbGF6eScgPSAnZWFnZXInO1xuXG4gIC8qKlxuICAgKiBXaXRoIHBlcmZvcm1hbmNlLm1hcmsgeW91IGNhbiBsb2cgYSB0aW1lc3RhbXAgYXNzb2NpYXRlZCB3aXRoXG4gICAqIHRoZSBuYW1lIHlvdSBkZWZpbmUgaW4gcGVyZm9ybWFuY2VNYXJrIHdoZW4gYSBjZXJ0YWluIGV2ZW50IGlzXG4gICAqIGhhcHBlbmluZy4gSW4gb3VyIGNhc2Ugd2Ugd2lsbCBsb2cgdGhlIHBlcmZvcm1hbmNlLm1hcmsgaW50b1xuICAgKiB0aGUgUGVyZm9ybWFuY2VFbnRyeSBBUEkgb25jZSB0aGUgaW1hZ2UgaXMgZnVsbHkgbG9hZGVkLlxuICAgKiBQZXJmb3JtYW5jZSBtb25pdG9yaW5nIHRvb2xzIGxpa2UgU3BlZWRDdXJ2ZSBvciBMaWdodGhvdXNlIGFyZVxuICAgKiB0aGVuIGFibGUgdG8gZ3JhYiB0aGVzZSBlbnRyaWVzIGZyb20gdGhlIFBlcmZvcm1hbmNlRW50cnkgQVBJXG4gICAqIGFuZCBnaXZlIHVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYW5kIGluc2lnaHRzIGFib3V0IG91ciBwYWdlXG4gICAqIGxvYWRpbmcgYmVoYXZpb3VyLiBXZSBhcmUgdGhlbiBhbHNvIGFibGUgdG8gbW9uaXRvciB0aGVzZVxuICAgKiB2YWx1ZXMgb3ZlciBhIGxvbmcgcGVyaW9kIHRvIHNlZSBpZiBvdXIgcGVyZm9ybWFuY2VcbiAgICogaW5jcmVhc2VzIG9yIGRlY3JlYXNlcyBvdmVyIHRpbWUuIEJlc3QgdG8gdXNlIGxvd2VyY2FzZSBzdHJpbmdzXG4gICAqIGhlcmUsIHNlcGFyYXRlIHdvcmRzIHdpdGggdW5kZXJzY29yZXMgb3IgZGFzaGVzLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BlcmZvcm1hbmNlLW1hcmsnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwZXJmb3JtYW5jZU1hcms6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBwaWN0dXJlU2l6ZXNDb25maWcgb2JqZWN0LCB5b3UgY2FuIHBhc3MgaW4gaW5mb3JtYXRpb25cbiAgICogaW50byBpbWFnZSBhYm91dCB3aGF0IGtpbmQgb2Ygc291cmNlIGVsZW1lbnRzIHNob3VsZCBnZXRcbiAgICogcmVuZGVyZWQuIG1lZGlhUXVlcmllcyBhY2NlcHRzIG11bHRpcGxlIE1lZGlhIFF1ZXJ5IGVudHJpZXNcbiAgICogd2hpY2ggY2FuIGdldCBjb21iaW5lZCBieSBkZWZpbmluZyBhIGNvbmRpdGlvbk9wZXJhdG9yLlxuICAgKiBUeXBlIGlzOiBzdHJpbmdpZmllZCBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZy1PYmplY3RcbiAgICogQW4gZXhhbXBsZSBjb3VsZCBsb29rIGxpa2UgdGhpczpcbiAgICoge1xuICAgKiAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI2NzVcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjEyMDBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNTQ5XCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCI5NzZcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTgwXCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCIzMjBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWF4XCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogXCJhbmRcIlxuICAgKiAgICAgICAgICB9LFxuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwib3JpZW50YXRpb25cIixcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAqICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiBmYWxzZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJsYW5kc2NhcGVcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfVxuICAgKiAgICBdXG4gICAqICB9XG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGljdHVyZS1zaXplcy1jb25maWcnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwaWN0dXJlU2l6ZXNDb25maWc6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpbWFnZSBpcyBmaW5pc2hlZCBsb2FkaW5nIG9yIGZhaWxlZCB0byBsb2FkLiAqL1xuICBwdWJsaWMgZ2V0IGNvbXBsZXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I/LjxIVE1MSW1hZ2VFbGVtZW50PignLnNiYi1pbWFnZV9faW1nJyk/LmNvbXBsZXRlID8/IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2NhcHRpb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24gPSB0aGlzLl9jYXB0aW9uRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxMaW5rRWxlbWVudD4oJ2EnKTtcblxuICAgIGlmICghdGhpcy5fbGlua3NJbkNhcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkgbG9hZGVkLlxuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1sb2FkZWQnLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVyZm9ybWFuY2VNYXJrKSB7XG4gICAgICBwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHRoaXMucGVyZm9ybWFuY2VNYXJrKTtcbiAgICAgIHBlcmZvcm1hbmNlLm1hcmsodGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2xpbmtzSW5DYXB0aW9uPy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVJbWFnZVVybChiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQsIGxxdWlwID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGlmICghYmFzZVVybCB8fCBiYXNlVXJsID09PSAnJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIENyZWF0aW5nIGFuIFVSTCB3aXRob3V0IGEgc2NoZW1hIHdpbGwgZmFpbCwgYnV0IGlzIGEgdmFsaWQgaW5wdXQgZm9yIGJhc2VVcmwuXG4gICAgLy8gZS5nLiBpbWFnZS1zcmMgY2FuIGJlIGh0dHBzOi8vZXhhbXBsZS5jb20vbXktaW1hZ2UucG5nIG9yIC9teS1pbWFnZS5wbmdcbiAgICBjb25zdCBpc0Z1bGx5UXVhbGlmaWVkVXJsID0gISFiYXNlVXJsLm1hdGNoKC9eXFx3KzpcXC9cXC8vKTtcbiAgICBjb25zdCBpbWFnZVVybE9iaiA9IGlzRnVsbHlRdWFsaWZpZWRVcmwgPyBuZXcgVVJMKGJhc2VVcmwpIDogbmV3IFVSTChgaHR0cDovL25vb3AvJHtiYXNlVXJsfWApO1xuXG4gICAgaWYgKGxxdWlwKSB7XG4gICAgICAvLyBibHVyIGFuZCBzaXplOiA/Ymx1cj0xMDAmdz0xMDAmaD01NlxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnYmx1cicsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3cnLCAnMTAwJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdoJywgJzU2Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENETiBJbmZvcm1hdGlvbjogaHR0cHM6Ly9kb2NzLmltZ2l4LmNvbS9hcGlzL3JlbmRlcmluZ1xuICAgICAgLy8gcGFyYW0uYXV0bzogP2F1dG89Zm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiXG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRvJywgJ2Zvcm1hdCxjb21wcmVzcyxjcz10aW55c3JnYicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1c3RvbUZvY2FsUG9pbnQpIHtcbiAgICAgIC8vIGNyb3A6IGAmZml0PWNyb3AmY3JvcD1mb2NhbHBvaW50JmZwLXg9JHt0aGlzLmZvY2FsUG9pbnRYfSZmcC15PSR7dGhpcy5mb2NhbFBvaW50WX0mZnAtej0xYCxcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZpdCcsICdjcm9wJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjcm9wJywgJ2ZvY2FscG9pbnQnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXgnLCB0aGlzLmZvY2FsUG9pbnRYLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC15JywgdGhpcy5mb2NhbFBvaW50WS50b1N0cmluZygxMCkpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteicsICcxJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9jYWxQb2ludERlYnVnKSB7XG4gICAgICAvLyBmb2NhbFBvaW50RGVidWc6ICcmZnAtZGVidWc9dHJ1ZSdcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLWRlYnVnJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICAvLyBJbiBjYXNlIG9mIFwibm9vcFwiIGhvc3QsIHdlIGRvbid0IHJldHVybiB0aGUgaG9zdCBhbmQgbXVzdCByZW1vdmUgdGhlXG4gICAgLy8gc3RhcnRpbmcgYC9gIG9mIHRoZSBwYXRobmFtZS5cbiAgICByZXR1cm4gaXNGdWxseVF1YWxpZmllZFVybFxuICAgICAgPyBpbWFnZVVybE9iai5ocmVmXG4gICAgICA6IGltYWdlVXJsT2JqLnBhdGhuYW1lLnN1YnN0cmluZygxKSArIGltYWdlVXJsT2JqLnNlYXJjaDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10ge1xuICAgIGxldCBwaWN0dXJlU2l6ZXNDb25maWc7XG5cbiAgICBpZiAodGhpcy5waWN0dXJlU2l6ZXNDb25maWcpIHtcbiAgICAgIHBpY3R1cmVTaXplc0NvbmZpZyA9IHRoaXMucGljdHVyZVNpemVzQ29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWZhdWx0IGNvbmZpZ1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gYHtcbiAgICAgICAgXCJicmVha3BvaW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDY3NSxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAxMjAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNTQ5LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDk3NlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDE4MCxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAzMjBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtYXgtd2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LXplcm8tbWF4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGltYWdlSGVscGVyR2V0QnJlYWtwb2ludHMocGljdHVyZVNpemVzQ29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoXG4gICAgbWVkaWFRdWVyaWVzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ01lZGlhUXVlcnlbXSxcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbWVkaWFRdWVyeSA9ICcnO1xuXG4gICAgbWVkaWFRdWVyaWVzLmZvckVhY2goKG1xKSA9PiB7XG4gICAgICBjb25zdCBtcUNvbmRpdGlvbiA9IG1xLmNvbmRpdGlvbkZlYXR1cmU7XG4gICAgICBsZXQgbXFWYWx1ZTtcblxuICAgICAgaWYgKG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS5seW5lRGVzaWduVG9rZW4pIHtcbiAgICAgICAgbXFWYWx1ZSA9IGJyZWFrcG9pbnRNYXBbbXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLnZhbHVlXSA/PyAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1xVmFsdWUgPSBtcS5jb25kaXRpb25GZWF0dXJlVmFsdWUudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1xQ29tYmluZXIgPSBtcS5jb25kaXRpb25PcGVyYXRvciA/IGAgJHttcS5jb25kaXRpb25PcGVyYXRvcn0gYCA6ICcnO1xuXG4gICAgICBtZWRpYVF1ZXJ5ICs9IGAoJHttcUNvbmRpdGlvbn06ICR7bXFWYWx1ZX0pJHttcUNvbWJpbmVyfWA7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVkaWFRdWVyeTtcbiAgfVxuXG4gIEBldmVudE9wdGlvbnMoZXZlbnRMaXN0ZW5lck9wdGlvbnMpXG4gIHByaXZhdGUgX2ltYWdlTG9hZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1sb2FkZWQnLCB0cnVlKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBpbWFnZSBoYXMgYmVlbiBsb2FkZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnbG9hZCcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGltYWdlVXJsTFFJUCA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCB0cnVlKTtcbiAgICBjb25zdCBpbWFnZVVybFdpdGhQYXJhbXMgPSB0aGlzLl9wcmVwYXJlSW1hZ2VVcmwodGhpcy5pbWFnZVNyYywgZmFsc2UpO1xuXG4gICAgaWYgKHRoaXMubG9hZGluZyA9PT0gJ2xhenknKSB7XG4gICAgICB0aGlzLmRlY29kaW5nID0gJ2FzeW5jJztcbiAgICAgIHRoaXMuaW1wb3J0YW5jZSA9ICdsb3cnO1xuICAgIH1cblxuICAgIGNvbnN0IHBpY3R1cmVTaXplQ29uZmlncyA9IHRoaXMuX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhbHQgYXR0cmlidXRlIHNob3VsZCBhbHdheXMgYmUgcHJlc2VudCBmb3IgdGhlIGltZyBlbGVtZW50LlxuICAgICAqIElmIGl0IGhhcyBhbiBlbXB0eSBzdHJpbmcgYXMgaXRzIHZhbHVlLCBpdCBpcyBzaW1wbHkgaWdub3JlZFxuICAgICAqIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuIElmIHdlIGxlYXZlIGl0IG91dCBjb21wbGV0ZWx5LFxuICAgICAqIHRoZXkgbWlnaHQgdHJ5IHRvIGludGVycHJldCB0aGUgaW1nIGVsZW1lbnQuXG4gICAgICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWltYWdlX193cmFwcGVyXCI+XG4gICAgICAgICR7IXRoaXMuc2tpcExxaXBcbiAgICAgICAgICA/IGh0bWxgPGltZ1xuICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9fYmx1cnJlZFwiXG4gICAgICAgICAgICAgIHNyYz0ke2ltYWdlVXJsTFFJUH1cbiAgICAgICAgICAgICAgd2lkdGg9XCIxMDAwXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiNTYyXCJcbiAgICAgICAgICAgICAgbG9hZGluZz0ke3RoaXMubG9hZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICBkZWNvZGluZz0ke3RoaXMuZGVjb2RpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgIC8+YFxuICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICA8cGljdHVyZT5cbiAgICAgICAgICA8IS0tIHJlbmRlciBwaWN0dXJlIGVsZW1lbnQgc291cmNlcyAtLT5cbiAgICAgICAgICAke3BpY3R1cmVTaXplQ29uZmlncy5tYXAoKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBjb25maWcuaW1hZ2UuaGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGNvbmZpZy5pbWFnZS53aWR0aDtcbiAgICAgICAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSB0aGlzLl9jcmVhdGVNZWRpYVF1ZXJ5U3RyaW5nKGNvbmZpZy5tZWRpYVF1ZXJpZXMpO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICAgICAgIDxzb3VyY2VcbiAgICAgICAgICAgICAgICBtZWRpYT0ke2Ake21lZGlhUXVlcnl9YH1cbiAgICAgICAgICAgICAgICBzaXplcz0ke2Ake2ltYWdlV2lkdGh9cHhgfVxuICAgICAgICAgICAgICAgIHNyY3NldD0ke1xuICAgICAgICAgICAgICAgICAgYCR7aW1hZ2VVcmxXaXRoUGFyYW1zfSZ3PSR7aW1hZ2VXaWR0aH0maD0ke2ltYWdlSGVpZ2h0fSZxPSR7dGhpcy5fY29uZmlnLm5vblJldGluYVF1YWxpdHl9ICR7aW1hZ2VXaWR0aH13LCBgICtcbiAgICAgICAgICAgICAgICAgIGAke2ltYWdlVXJsV2l0aFBhcmFtc30mdz0ke2ltYWdlV2lkdGggKiAyfSZoPSR7aW1hZ2VIZWlnaHQgKiAyfSZxPSR7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5yZXRpbmFRdWFsaXR5XG4gICAgICAgICAgICAgICAgICB9ICR7aW1hZ2VXaWR0aCAqIDJ9d2BcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID48L3NvdXJjZT5gO1xuICAgICAgICAgIH0pfVxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGFsdD0ke3RoaXMuYWx0IHx8ICcnfVxuICAgICAgICAgICAgQGxvYWQ9JHt0aGlzLl9pbWFnZUxvYWRlZH1cbiAgICAgICAgICAgIEBlcnJvcj0keygpID0+IHtcbiAgICAgICAgICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIGltYWdlIGxvYWRpbmcgZW5kZWQgaW4gYW4gZXJyb3IuICovXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdlcnJvcicpKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9faW1nXCJcbiAgICAgICAgICAgIHNyYz0ke3RoaXMuaW1hZ2VTcmMhfVxuICAgICAgICAgICAgd2lkdGg9XCIxMDAwXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjU2MlwiXG4gICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICBkZWNvZGluZz0ke3RoaXMuZGVjb2RpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgIC5mZXRjaFByaW9yaXR5PSR7dGhpcy5pbXBvcnRhbmNlID8/IG5vdGhpbmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9waWN0dXJlPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWltYWdlJzogU2JiSW1hZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaURBLE1BQU0sNEJBQTRCLENBQ2hDLGVBQ21EO0FBQ25ELE1BQUksQ0FBQyxjQUFjLFdBQVcsV0FBVyxHQUFHO0FBQzFDLFdBQU8sQ0FBQTtBQUFBLEVBQ1Q7QUFHQSxRQUFNLGFBQ0YsTUFDRSxRQUFRLEtBQ04scUpB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
|
|
669
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRMYXJnZU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1pbixcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWF4LFxuICBTYmJCcmVha3BvaW50VWx0cmFNaW4sXG4gIFNiYkJyZWFrcG9pbnRaZXJvTWF4LFxuICBTYmJCcmVha3BvaW50WmVyb01pbixcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFqc29uT2JqZWN0LmJyZWFrcG9pbnRzIHx8IGpzb25PYmplY3QuYnJlYWtwb2ludHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIGdldCBhbiBhcnJheSBvZiBicmVha3BvaW50c1xuICBpZiAoIUFycmF5LmlzQXJyYXkoanNvbk9iamVjdC5icmVha3BvaW50cykpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogMS4gbWFrZSBzdXJlIHRoYXQgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIGJyZWFrcG9pbnRzIG9iamVjdCBjb250YWlucyBvbmx5IGFsbG93ZWQga2V5c1xuICAgKiAyLiBtYWtlIHN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGtleXMgYXJlIHByZXNlbnRcbiAgICovXG4gIGxldCB3cm9uZ0tleURldGVjdGVkID0gZmFsc2U7XG4gIGxldCBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdCBhbGxvd2VkS2V5cyA9IFsnaW1hZ2UnLCAnbWVkaWFRdWVyaWVzJ107XG5cbiAganNvbk9iamVjdC5icmVha3BvaW50cy5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludEtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50KTtcblxuICAgIGJyZWFrcG9pbnRLZXlzLmZvckVhY2goKGJyZWFrcG9pbnRLZXkpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEtleXMuaW5jbHVkZXMoYnJlYWtwb2ludEtleSkpIHtcbiAgICAgICAgd3JvbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhbGxvd2VkS2V5cy5mb3JFYWNoKChhbGxvd2VkS2V5KSA9PiB7XG4gICAgICBpZiAoIWJyZWFrcG9pbnRLZXlzLmluY2x1ZGVzKGFsbG93ZWRLZXkpKSB7XG4gICAgICAgIG1pc3NpbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICh3cm9uZ0tleURldGVjdGVkIHx8IG1pc3NpbmdLZXlEZXRlY3RlZCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBqc29uT2JqZWN0LmJyZWFrcG9pbnRzO1xufTtcblxuY29uc3QgZXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG5jb25zdCBicmVha3BvaW50TWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnc2JiLWJyZWFrcG9pbnQtemVyby1taW4nOiBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWF4JzogU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1taW4nOiBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1tYXgnOiBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1taW4nOiBTYmJCcmVha3BvaW50TGFyZ2VNaW4sXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1tYXgnOiBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1taW4nOiBTYmJCcmVha3BvaW50VWx0cmFNaW4sXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1tYXgnOiBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGltYWdlLlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi1pbWFnZS1hc3BlY3QtcmF0aW89YXV0b10gLSBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSBgYXNwZWN0UmF0aW9gIHByb3BlcnR5LlxuICogVGhpcyB3YXkgd2UgY2FuIGhhdmUsIGZvciBleGFtcGxlLCBhbiBpbWFnZSBjb21wb25lbnQgd2l0aCBhbiBhc3BlY3RcbiAqIHJhdGlvIG9mIDQvMyBpbiBzbWFsbGVyIHZpZXdwb3J0cyBhbmQgMTYvOSBpbiBsYXJnZXIgdmlld3BvcnRzLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLW9iamVjdC1wb3NpdGlvbl0gLSBDYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1wb3NpdGlvbiBDU1MgcHJvcGVydHkgb2YgdGhlIGltYWdlIGl0c2VsZiBpZiB0aGUgaW1hZ2UgaXRzZWxmIGlzIGNyb3BwZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2Utb2JqZWN0LWZpdD1jb3Zlcl0gLSBDYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1maXQgQ1NTIHByb3BlcnR5IG9mIHRoZSBpbWFnZSBpdHNlbGYgaWYgdGhlIGltYWdlIGl0c2VsZiBpcyBjcm9wcGVkLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItaW1hZ2UnKVxuY2xhc3MgU2JiSW1hZ2VFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICBsb2FkOiAnbG9hZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfY2FwdGlvbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfbGlua3NJbkNhcHRpb24/OiBOb2RlTGlzdE9mPEhUTUxMaW5rRWxlbWVudD47XG4gIHByaXZhdGUgX2NvbmZpZyA9IHtcbiAgICBub25SZXRpbmFRdWFsaXR5OiAnNDUnLFxuICAgIHJldGluYVF1YWxpdHk6ICcyMCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEFuIGFsdCB0ZXh0IGlzIG5vdCBhbHdheXMgbmVjZXNzYXJ5IChlLmcuIGluIHRlYXNlciBjYXJkcyB3aGVuXG4gICAqIGFkZGl0aW9uYWwgbGluayB0ZXh0IGlzIHByb3ZpZGVkKS4gSW4gdGhpcyBjYXNlIHdlIGNhbiBsZWF2ZVxuICAgKiB0aGUgdmFsdWUgb2YgdGhlIGFsdCBhdHRyaWJ1dGUgYmxhbmssIGJ1dCB0aGUgYXR0cmlidXRlIGl0c2VsZlxuICAgKiBzdGlsbCBuZWVkcyB0byBiZSBwcmVzZW50LiBUaGF0IHdheSB3ZSBjYW4gc2lnbmFsIGFzc2lzdGl2ZVxuICAgKiB0ZWNobm9sb2d5LCB0aGF0IHRoZXkgY2FuIHNraXAgdGhlIGltYWdlLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciBhbHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gZmFsc2UsIHdlIHNob3cgYSBibHVycmVkIHZlcnNpb24gb2YgdGhlIGltYWdlIGFzXG4gICAqIHBsYWNlaG9sZGVyIGJlZm9yZSB0aGUgYWN0dWFsIGltYWdlIHNob3dzIHVwLiBUaGlzIHdpbGwgaGVscFxuICAgKiB0byBpbXByb3ZlIHRoZSBwZXJjZWl2ZWQgbG9hZGluZyBwZXJmb3JtYW5jZS4gUmVhZCBtb3JlIGFib3V0XG4gICAqIHRoZSBpZGVhIG9mIGxxaXAgaGVyZTpcbiAgICogaHR0cHM6Ly9tZWRpdW0uY29tL0BpbWdpeC9scWlwLXlvdXItaW1hZ2VzLWZvci1mYXN0LWxvYWRpbmctMjUyM2Q5ZWU0YTYyXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2tpcC1scWlwJywgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2tpcExxaXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSwgaWYgeW91IHdhbnQgdG8gcGFzcyBhIGN1c3RvbSBmb2NhbCBwb2ludFxuICAgKiBmb3IgdGhlIGltYWdlLiBTZWUgZnVsbCBkb2N1bWVudGF0aW9uIGhlcmU6XG4gICAqIGh0dHBzOi8vZG9jcy5pbWdpeC5jb20vYXBpcy9yZW5kZXJpbmcvZm9jYWxwb2ludC1jcm9wXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY3VzdG9tLWZvY2FsLXBvaW50JywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY3VzdG9tRm9jYWxQb2ludDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgbGF6eSBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSwgdGhlIG1vZHVsZSB3aWxsIGF1dG9tYXRpY2FsbHlcbiAgICogY2hhbmdlIHRoZSBkZWNvZGluZyB0byBhc3luYywgb3RoZXJ3aXNlIHRoZSBkZWNvZGluZyBpcyBzZXQgdG8gYXV0b1xuICAgKiB3aGljaCBsZWF2ZXMgdGhlIGhhbmRsaW5nIHVwIHRvIHRoZSBicm93c2VyLiBSZWFkIG1vcmUgYWJvdXQgdGhlXG4gICAqIGRlY29kaW5nIGF0dHJpYnV0ZSBoZXJlOlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSFRNTEltYWdlRWxlbWVudC9kZWNvZGluZ1xuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIGRlY29kaW5nOiAnc3luYycgfCAnYXN5bmMnIHwgJ2F1dG8nID0gJ2F1dG8nO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlLCB0byByZWNlaXZlIHZpc3VhbCBndWlkYW5jZSB3aGVyZSB0aGUgY3VzdG9tIGZvY2FsXG4gICAqIHBvaW50IGlzIGN1cnJlbnRseSBzZXQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZm9jYWwtcG9pbnQtZGVidWcnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBmb2NhbFBvaW50RGVidWc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogUGFzcyBpbiBhIGZsb2F0aW5nIG51bWJlciBiZXR3ZWVuIDAgKGxlZnQpIGFuZCAxIChyaWdodCkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZm9jYWwtcG9pbnQteCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jYWxQb2ludFg6IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBmbG9hdGluZyBudW1iZXIgYmV0d2VlbiAwICh0b3ApIGFuZCAxIChib3R0b20pLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY2FsUG9pbnRZOiBudW1iZXIgPSAxO1xuXG4gIC8qKlxuICAgKiBSaWdodCBub3cgdGhlIG1vZHVsZSBpcyBoZWF2aWx5IGNvdXBsZWQgd2l0aCB0aGUgaW1hZ2UgZGVsaXZlcnlcbiAgICogc2VydmljZSBpbWdpeCBhbmQgZGVwZW5kcyBvbiB0aGUgb3JpZ2luYWwgZmlsZXMgYmVpbmcgc3RvcmVkXG4gICAqIGluc2lkZSBBRU0uIFlvdSBjYW4gcGFzcyBpbiBhbnkgaHR0cHM6Ly9jZG4uaW1nLnNiYi5jaCBpbWdcbiAgICogc3JjIGFkZHJlc3MgeW91IGZpbmQgb24gc2JiLmNoIHRvIHBsYXkgYXJvdW5kIHdpdGggaXQuIEp1c3RcbiAgICogc3RyaXAgdGhlIHVybCBwYXJhbWV0ZXJzIGFuZCBwYXN0ZSBpbiB0aGUgcGxhaW4gZmlsZSBhZGRyZXNzLlxuICAgKiBJZiB5b3Ugd2FudCB0byBrbm93IGhvdyB0byBiZXN0IHdvcmsgd2l0aCB0aGlzIG1vZHVsZSB3aXRoXG4gICAqIGltYWdlcyBjb21pbmcgZnJvbSBhIGRpZmZlcmVudCBzb3VyY2UsIHBsZWFzZSBjb250YWN0IHRoZVxuICAgKiBMWU5FIENvcmUgVGVhbS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbWFnZS1zcmMnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbWFnZVNyYzogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbXBvcnRhbmNlIGF0dHJpYnV0ZSBpcyBmYWlybHkgbmV3IGF0dHJpYnV0ZSB3aGljaCBzaG91bGRcbiAgICogaGVscCB0aGUgYnJvd3NlciBkZWNpZGUgd2hpY2ggcmVzb3VyY2VzIGl0IHNob3VsZCBwcmlvcml0aXNlXG4gICAqIGR1cmluZyBwYWdlIGxvYWQuIFdlIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgYmFzZWQgb24gdGhlXG4gICAqIHZhbHVlLCB3ZSByZWNlaXZlIGluIHRoZSBsb2FkaW5nIGF0dHJpYnV0ZS4gJ2VhZ2VyJywgd2hpY2ggd2UgdXNlXG4gICAqIGZvciB0aGUgbGFyZ2VzdCBpbWFnZSB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQsIHdpbGwgc2V0IHRoZVxuICAgKiBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2hpZ2gnLiAnbGF6eScsIHdoaWNoIHdlIHVzZSBmb3IgaW1hZ2VzIGJlbG93XG4gICAqIHRoZSBmb2xkLCB3aWxsIHNldCB0aGUgYXR0cmlidXRlIHZhbHVlIHRvICdsb3cnLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIGltcG9ydGFuY2U6ICdhdXRvJyB8ICdoaWdoJyB8ICdsb3cnID0gJ2hpZ2gnO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBzdXBwb3J0IG9mIG5hdGl2ZSBpbWFnZSBsYXp5IGxvYWRpbmcsIHdlIGNhbiBub3dcbiAgICogZGVjaWRlIHdoZXRoZXIgd2Ugd2FudCB0byBsb2FkIHRoZSBpbWFnZSBpbW1lZGlhdGVseSBvciBvbmx5XG4gICAqIG9uY2UgaXQgaXMgY2xvc2UgdG8gdGhlIHZpc2libGUgdmlld3BvcnQuIFRoZSB2YWx1ZSBlYWdlciBpc1xuICAgKiBiZXN0IHVzZWQgZm9yIGltYWdlcyB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQuIFdlIHdhbnQgdG9cbiAgICogbG9hZCB0aGVzZSBpbWFnZXMgYXMgZmFzdCBhcyBwb3NzaWJsZSB0byBpbXByb3ZlIHRoZSBDb3JlIFdlYlxuICAgKiBWaXRhbHMgdmFsdWVzLiBsYXp5IG9uIHRoZSBvdGhlciBoYW5kIHdvcmtzIGJlc3QgZm9yIGltYWdlc1xuICAgKiB3aGljaCBhcmUgZnVydGhlciBkb3duIHRoZSBwYWdlIG9yIGludmlzaWJsZSBkdXJpbmcgdGhlIGxvYWRpbmdcbiAgICogb2YgdGhlIGluaXRpYWwgdmlld3BvcnQuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgbG9hZGluZzogJ2VhZ2VyJyB8ICdsYXp5JyA9ICdlYWdlcic7XG5cbiAgLyoqXG4gICAqIFdpdGggYHBlcmZvcm1hbmNlLm1hcmtgIHlvdSBjYW4gbG9nIGEgdGltZXN0YW1wIGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgbmFtZSB5b3UgZGVmaW5lIGluIHBlcmZvcm1hbmNlTWFyayB3aGVuIGEgY2VydGFpbiBldmVudCBpc1xuICAgKiBoYXBwZW5pbmcuIEluIG91ciBjYXNlIHdlIHdpbGwgbG9nIHRoZSBgcGVyZm9ybWFuY2UubWFya2AgaW50b1xuICAgKiB0aGUgUGVyZm9ybWFuY2VFbnRyeSBBUEkgb25jZSB0aGUgaW1hZ2UgaXMgZnVsbHkgbG9hZGVkLlxuICAgKiBQZXJmb3JtYW5jZSBtb25pdG9yaW5nIHRvb2xzIGxpa2UgU3BlZWRDdXJ2ZSBvciBMaWdodGhvdXNlIGFyZVxuICAgKiB0aGVuIGFibGUgdG8gZ3JhYiB0aGVzZSBlbnRyaWVzIGZyb20gdGhlIFBlcmZvcm1hbmNlRW50cnkgQVBJXG4gICAqIGFuZCBnaXZlIHVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYW5kIGluc2lnaHRzIGFib3V0IG91ciBwYWdlXG4gICAqIGxvYWRpbmcgYmVoYXZpb3VyLiBXZSBhcmUgdGhlbiBhbHNvIGFibGUgdG8gbW9uaXRvciB0aGVzZVxuICAgKiB2YWx1ZXMgb3ZlciBhIGxvbmcgcGVyaW9kIHRvIHNlZSBpZiBvdXIgcGVyZm9ybWFuY2VcbiAgICogaW5jcmVhc2VzIG9yIGRlY3JlYXNlcyBvdmVyIHRpbWUuIEJlc3QgdG8gdXNlIGxvd2VyY2FzZSBzdHJpbmdzXG4gICAqIGhlcmUsIHNlcGFyYXRlIHdvcmRzIHdpdGggdW5kZXJzY29yZXMgb3IgZGFzaGVzLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BlcmZvcm1hbmNlLW1hcmsnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwZXJmb3JtYW5jZU1hcms6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBwaWN0dXJlU2l6ZXNDb25maWcgb2JqZWN0LCB5b3UgY2FuIHBhc3MgaW4gaW5mb3JtYXRpb25cbiAgICogaW50byBpbWFnZSBhYm91dCB3aGF0IGtpbmQgb2Ygc291cmNlIGVsZW1lbnRzIHNob3VsZCBnZXRcbiAgICogcmVuZGVyZWQuIG1lZGlhUXVlcmllcyBhY2NlcHRzIG11bHRpcGxlIE1lZGlhIFF1ZXJ5IGVudHJpZXNcbiAgICogd2hpY2ggY2FuIGdldCBjb21iaW5lZCBieSBkZWZpbmluZyBhIGNvbmRpdGlvbk9wZXJhdG9yLlxuICAgKiBUeXBlIGlzOiBzdHJpbmdpZmllZCBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZy1PYmplY3RcbiAgICogQW4gZXhhbXBsZSBjb3VsZCBsb29rIGxpa2UgdGhpczpcbiAgICoge1xuICAgKiAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI2NzVcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjEyMDBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNTQ5XCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCI5NzZcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTgwXCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCIzMjBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWF4XCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogXCJhbmRcIlxuICAgKiAgICAgICAgICB9LFxuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwib3JpZW50YXRpb25cIixcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAqICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiBmYWxzZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJsYW5kc2NhcGVcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfVxuICAgKiAgICBdXG4gICAqICB9XG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGljdHVyZS1zaXplcy1jb25maWcnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwaWN0dXJlU2l6ZXNDb25maWc6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpbWFnZSBpcyBmaW5pc2hlZCBsb2FkaW5nIG9yIGZhaWxlZCB0byBsb2FkLiAqL1xuICBwdWJsaWMgZ2V0IGNvbXBsZXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I/LjxIVE1MSW1hZ2VFbGVtZW50PignLnNiYi1pbWFnZV9faW1nJyk/LmNvbXBsZXRlID8/IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2NhcHRpb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24gPSB0aGlzLl9jYXB0aW9uRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxMaW5rRWxlbWVudD4oJ2EnKTtcblxuICAgIGlmICghdGhpcy5fbGlua3NJbkNhcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkgbG9hZGVkLlxuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdsb2FkZWQnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVyZm9ybWFuY2VNYXJrKSB7XG4gICAgICBwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHRoaXMucGVyZm9ybWFuY2VNYXJrKTtcbiAgICAgIHBlcmZvcm1hbmNlLm1hcmsodGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2xpbmtzSW5DYXB0aW9uPy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVJbWFnZVVybChiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQsIGxxdWlwID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGlmICghYmFzZVVybCB8fCBiYXNlVXJsID09PSAnJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIENyZWF0aW5nIGEgVVJMIHdpdGhvdXQgYSBzY2hlbWEgd2lsbCBmYWlsLCBidXQgaXMgYSB2YWxpZCBpbnB1dCBmb3IgYmFzZVVybC5cbiAgICAvLyBlLmcuIGltYWdlLXNyYyBjYW4gYmUgaHR0cHM6Ly9leGFtcGxlLmNvbS9teS1pbWFnZS5wbmcgb3IgL215LWltYWdlLnBuZ1xuICAgIGNvbnN0IGlzRnVsbHlRdWFsaWZpZWRVcmwgPSAhIWJhc2VVcmwubWF0Y2goL15cXHcrOlxcL1xcLy8pO1xuICAgIGNvbnN0IGltYWdlVXJsT2JqID0gaXNGdWxseVF1YWxpZmllZFVybCA/IG5ldyBVUkwoYmFzZVVybCkgOiBuZXcgVVJMKGBodHRwOi8vbm9vcC8ke2Jhc2VVcmx9YCk7XG5cbiAgICBpZiAobHF1aXApIHtcbiAgICAgIC8vIGJsdXIgYW5kIHNpemU6ID9ibHVyPTEwMCZ3PTEwMCZoPTU2XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdibHVyJywgJzEwMCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgndycsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2gnLCAnNTYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ0ROIEluZm9ybWF0aW9uOiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nXG4gICAgICAvLyBwYXJhbS5hdXRvOiA/YXV0bz1mb3JtYXQsY29tcHJlc3MsY3M9dGlueXNyZ2JcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dG8nLCAnZm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tRm9jYWxQb2ludCkge1xuICAgICAgLy8gY3JvcDogYCZmaXQ9Y3JvcCZjcm9wPWZvY2FscG9pbnQmZnAteD0ke3RoaXMuZm9jYWxQb2ludFh9JmZwLXk9JHt0aGlzLmZvY2FsUG9pbnRZfSZmcC16PTFgLFxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZml0JywgJ2Nyb3AnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Nyb3AnLCAnZm9jYWxwb2ludCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteCcsIHRoaXMuZm9jYWxQb2ludFgudG9TdHJpbmcoMTApKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXknLCB0aGlzLmZvY2FsUG9pbnRZLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC16JywgJzEnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb2NhbFBvaW50RGVidWcpIHtcbiAgICAgIC8vIGZvY2FsUG9pbnREZWJ1ZzogJyZmcC1kZWJ1Zz10cnVlJ1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAtZGVidWcnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIEluIGNhc2Ugb2YgXCJub29wXCIgaG9zdCwgd2UgZG9uJ3QgcmV0dXJuIHRoZSBob3N0IGFuZCBtdXN0IHJlbW92ZSB0aGVcbiAgICAvLyBzdGFydGluZyBgL2Agb2YgdGhlIHBhdGhuYW1lLlxuICAgIHJldHVybiBpc0Z1bGx5UXVhbGlmaWVkVXJsXG4gICAgICA/IGltYWdlVXJsT2JqLmhyZWZcbiAgICAgIDogaW1hZ2VVcmxPYmoucGF0aG5hbWUuc3Vic3RyaW5nKDEpICsgaW1hZ2VVcmxPYmouc2VhcmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXSB7XG4gICAgbGV0IHBpY3R1cmVTaXplc0NvbmZpZztcblxuICAgIGlmICh0aGlzLnBpY3R1cmVTaXplc0NvbmZpZykge1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gdGhpcy5waWN0dXJlU2l6ZXNDb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgY29uZmlnXG4gICAgICBwaWN0dXJlU2l6ZXNDb25maWcgPSBge1xuICAgICAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNjc1LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDEyMDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtaW4td2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LWxhcmdlLW1pblwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiaW1hZ2VcIjoge1xuICAgICAgICAgICAgICBcImhlaWdodFwiOiA1NDksXG4gICAgICAgICAgICAgIFwid2lkdGhcIjogOTc2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1zbWFsbC1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogMTgwLFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDMyMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtemVyby1tYXhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyhwaWN0dXJlU2l6ZXNDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTWVkaWFRdWVyeVN0cmluZyhcbiAgICBtZWRpYVF1ZXJpZXM6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnTWVkaWFRdWVyeVtdLFxuICApOiBzdHJpbmcge1xuICAgIGxldCBtZWRpYVF1ZXJ5ID0gJyc7XG5cbiAgICBtZWRpYVF1ZXJpZXMuZm9yRWFjaCgobXEpID0+IHtcbiAgICAgIGNvbnN0IG1xQ29uZGl0aW9uID0gbXEuY29uZGl0aW9uRmVhdHVyZTtcbiAgICAgIGxldCBtcVZhbHVlO1xuXG4gICAgICBpZiAobXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLmx5bmVEZXNpZ25Ub2tlbikge1xuICAgICAgICBtcVZhbHVlID0gYnJlYWtwb2ludE1hcFttcS5jb25kaXRpb25GZWF0dXJlVmFsdWUudmFsdWVdID8/ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbXFWYWx1ZSA9IG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbXFDb21iaW5lciA9IG1xLmNvbmRpdGlvbk9wZXJhdG9yID8gYCAke21xLmNvbmRpdGlvbk9wZXJhdG9yfSBgIDogJyc7XG5cbiAgICAgIG1lZGlhUXVlcnkgKz0gYCgke21xQ29uZGl0aW9ufTogJHttcVZhbHVlfSkke21xQ29tYmluZXJ9YDtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZWRpYVF1ZXJ5O1xuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyhldmVudExpc3RlbmVyT3B0aW9ucylcbiAgcHJpdmF0ZSBfaW1hZ2VMb2FkZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nUGVyZm9ybWFuY2VNYXJrcygpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2xvYWRlZCcpO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGltYWdlIGhhcyBiZWVuIGxvYWRlZC4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdsb2FkJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgaW1hZ2VVcmxMUUlQID0gdGhpcy5fcHJlcGFyZUltYWdlVXJsKHRoaXMuaW1hZ2VTcmMsIHRydWUpO1xuICAgIGNvbnN0IGltYWdlVXJsV2l0aFBhcmFtcyA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nID09PSAnbGF6eScpIHtcbiAgICAgIHRoaXMuZGVjb2RpbmcgPSAnYXN5bmMnO1xuICAgICAgdGhpcy5pbXBvcnRhbmNlID0gJ2xvdyc7XG4gICAgfVxuXG4gICAgY29uc3QgcGljdHVyZVNpemVDb25maWdzID0gdGhpcy5fcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFsdCBhdHRyaWJ1dGUgc2hvdWxkIGFsd2F5cyBiZSBwcmVzZW50IGZvciB0aGUgaW1nIGVsZW1lbnQuXG4gICAgICogSWYgaXQgaGFzIGFuIGVtcHR5IHN0cmluZyBhcyBpdHMgdmFsdWUsIGl0IGlzIHNpbXBseSBpZ25vcmVkXG4gICAgICogYnkgYXNzaXN0aXZlIHRlY2hub2xvZ2llcy4gSWYgd2UgbGVhdmUgaXQgb3V0IGNvbXBsZXRlbHksXG4gICAgICogdGhleSBtaWdodCB0cnkgdG8gaW50ZXJwcmV0IHRoZSBpbWcgZWxlbWVudC5cbiAgICAgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItaW1hZ2VfX3dyYXBwZXJcIj5cbiAgICAgICAgJHshdGhpcy5za2lwTHFpcFxuICAgICAgICAgID8gaHRtbGA8aW1nXG4gICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWltYWdlX19ibHVycmVkXCJcbiAgICAgICAgICAgICAgc3JjPSR7aW1hZ2VVcmxMUUlQfVxuICAgICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCI1NjJcIlxuICAgICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgLz5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuXG4gICAgICAgIDxwaWN0dXJlPlxuICAgICAgICAgIDwhLS0gcmVuZGVyIHBpY3R1cmUgZWxlbWVudCBzb3VyY2VzIC0tPlxuICAgICAgICAgICR7cGljdHVyZVNpemVDb25maWdzLm1hcCgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGNvbmZpZy5pbWFnZS5oZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBpbWFnZVdpZHRoID0gY29uZmlnLmltYWdlLndpZHRoO1xuICAgICAgICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IHRoaXMuX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoY29uZmlnLm1lZGlhUXVlcmllcyk7XG4gICAgICAgICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgICAgICAgPHNvdXJjZVxuICAgICAgICAgICAgICAgIG1lZGlhPSR7YCR7bWVkaWFRdWVyeX1gfVxuICAgICAgICAgICAgICAgIHNpemVzPSR7YCR7aW1hZ2VXaWR0aH1weGB9XG4gICAgICAgICAgICAgICAgc3Jjc2V0PSR7XG4gICAgICAgICAgICAgICAgICBgJHtpbWFnZVVybFdpdGhQYXJhbXN9Jnc9JHtpbWFnZVdpZHRofSZoPSR7aW1hZ2VIZWlnaHR9JnE9JHt0aGlzLl9jb25maWcubm9uUmV0aW5hUXVhbGl0eX0gJHtpbWFnZVdpZHRofXcsIGAgK1xuICAgICAgICAgICAgICAgICAgYCR7aW1hZ2VVcmxXaXRoUGFyYW1zfSZ3PSR7aW1hZ2VXaWR0aCAqIDJ9Jmg9JHtpbWFnZUhlaWdodCAqIDJ9JnE9JHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnLnJldGluYVF1YWxpdHlcbiAgICAgICAgICAgICAgICAgIH0gJHtpbWFnZVdpZHRoICogMn13YFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPjwvc291cmNlPmA7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PSR7dGhpcy5hbHQgfHwgJyd9XG4gICAgICAgICAgICBAbG9hZD0ke3RoaXMuX2ltYWdlTG9hZGVkfVxuICAgICAgICAgICAgQGVycm9yPSR7KCkgPT4ge1xuICAgICAgICAgICAgICAvKiogRW1pdHMgd2hlbiB0aGUgaW1hZ2UgbG9hZGluZyBlbmRlZCBpbiBhbiBlcnJvci4gKi9cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJykpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWltYWdlX19pbWdcIlxuICAgICAgICAgICAgc3JjPSR7dGhpcy5pbWFnZVNyYyF9XG4gICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiNTYyXCJcbiAgICAgICAgICAgIGxvYWRpbmc9JHt0aGlzLmxvYWRpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgLmZldGNoUHJpb3JpdHk9JHt0aGlzLmltcG9ydGFuY2UgPz8gbm90aGluZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8L3BpY3R1cmU+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItaW1hZ2UnOiBTYmJJbWFnZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0RBLE1BQU0sNEJBQTRCLENBQ2hDLGVBQ21EO0FBQ25ELE1BQUksQ0FB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
|
|
@@ -10,7 +10,7 @@ import { property } from "lit/decorators.js";
|
|
|
10
10
|
import { html } from "lit/static-html.js";
|
|
11
11
|
import { boxSizingStyles } from "../../core/styles.js";
|
|
12
12
|
import { SbbIconNameMixin } from "../../icon.js";
|
|
13
|
-
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-
|
|
13
|
+
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-CYr3PeRf.js";
|
|
14
14
|
import { css } from "lit";
|
|
15
15
|
const blockStyle = css`:host {
|
|
16
16
|
--sbb-link-color-hover: var(--sbb-color-primary125);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { boxSizingStyles } from "../../core/styles.js";
|
|
2
|
-
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-
|
|
2
|
+
import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-CYr3PeRf.js";
|
|
3
3
|
import { css } from "lit";
|
|
4
4
|
const inlineStyle = css`:host {
|
|
5
5
|
font-family: inherit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/link/common/link-common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"link-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/link/common/link-common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAIlF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;;AAE3C,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kCAAsC;IAC/F,SAAgB,IAAI,EAAE,WAAW,CAAC;CACnC;AAGD,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,mBAAmB,CAAC,oBAAoB,CAAC,EAC3F,YAAY,CAAC,KACZ,mBAAmB,CAAC,6BAA6B,CAAC,GAAG,CAwBvD,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import "tslib";
|
|
2
2
|
import "lit/decorators.js";
|
|
3
3
|
import "lit/static-html.js";
|
|
4
|
-
import "../../core/decorators.js";
|
|
5
4
|
import "../../core/dom.js";
|
|
6
5
|
import "../../core/mixins.js";
|
|
7
|
-
import { S } from "../../link-common-
|
|
6
|
+
import { S } from "../../link-common-CYr3PeRf.js";
|
|
8
7
|
export {
|
|
9
8
|
S as SbbLinkCommonElementMixin
|
|
10
9
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb21tb24uanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SbbBlockLinkCommonElementMixin } from "./common/block-link-common.js";
|
|
2
2
|
import { SbbInlineLinkCommonElementMixin } from "./common/inline-link-common.js";
|
|
3
|
-
import { S } from "../link-common-
|
|
3
|
+
import { S } from "../link-common-CYr3PeRf.js";
|
|
4
4
|
export {
|
|
5
5
|
SbbBlockLinkCommonElementMixin,
|
|
6
6
|
SbbInlineLinkCommonElementMixin,
|