@sbb-esta/lyne-elements 2.0.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +6 -6
- package/action-group.js +3 -3
- package/alert/alert.js +8 -8
- package/autocomplete/autocomplete-base-element.d.ts +4 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button.js +4 -4
- package/autocomplete-grid/autocomplete-grid-cell.js +3 -3
- package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +10 -10
- package/autocomplete-grid/autocomplete-grid-row.js +5 -5
- package/autocomplete.js +99 -90
- package/breadcrumb/breadcrumb-group.js +5 -5
- package/button/accent-button-link.js +9 -9
- package/button/accent-button-static.js +6 -6
- package/button/accent-button.js +6 -6
- package/button/button-link.js +7 -7
- package/button/button-static.js +7 -7
- package/button/button.js +8 -8
- package/button/common.js +15 -15
- package/button/mini-button-group.js +8 -8
- package/button/secondary-button-link.js +7 -7
- package/button/secondary-button-static.js +7 -7
- package/button/secondary-button.js +3 -3
- package/button/transparent-button-link.js +6 -6
- package/button/transparent-button-static.js +5 -5
- package/button/transparent-button.js +6 -6
- package/card/card-badge.js +11 -11
- package/card/card-button.js +5 -5
- package/card/card-link.js +7 -7
- package/card/card.js +3 -3
- package/checkbox/checkbox-panel.js +16 -16
- package/checkbox/checkbox.js +15 -15
- package/checkbox/common.js +3 -3
- package/chip-label.js +3 -3
- package/clock.js +10 -10
- package/container/container/container.d.ts +1 -1
- package/container/container/container.d.ts.map +1 -1
- package/container/container.js +23 -23
- package/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/container/sticky-bar.js +4 -4
- package/core/a11y/focus.d.ts.map +1 -1
- package/core/a11y.js +8 -8
- package/core/base-elements/link-base-element.d.ts +2 -0
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements.js +125 -114
- package/core/controllers.js +4 -4
- package/core/datetime/date-adapter.d.ts +1 -1
- package/core/datetime/date-adapter.d.ts.map +1 -1
- package/core/datetime/native-date-adapter.d.ts +1 -1
- package/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/core/datetime.js +6 -6
- package/core/dom/scroll.d.ts +1 -0
- package/core/dom/scroll.d.ts.map +1 -1
- package/core/dom.js +35 -35
- package/core/eventing.js +4 -4
- package/core/images.d.ts.map +1 -1
- package/core/mixins.js +18 -18
- package/core/styles/core.scss +23 -2
- package/core/testing.js +14 -14
- package/core.css +20 -2
- package/custom-elements.json +828 -431
- package/datepicker/common/datepicker-association-controllers.d.ts +21 -0
- package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
- package/datepicker/common/datepicker-button.d.ts +17 -9
- package/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/datepicker/common.d.ts +1 -0
- package/datepicker/common.d.ts.map +1 -1
- package/datepicker/common.js +130 -92
- package/datepicker/datepicker/datepicker.d.ts +19 -4
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +106 -113
- package/datepicker/datepicker.js +95 -80
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +1 -1
- package/development/action-group.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +4 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option.js +3 -3
- package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
- package/development/autocomplete.js +37 -8
- package/development/breadcrumb/breadcrumb-group.js +3 -3
- package/development/button/common.js +69 -70
- package/development/calendar.js +1 -1
- package/development/card/card-badge.js +1 -1
- package/development/card/card.js +1 -1
- package/development/chip-label.js +1 -1
- package/development/clock.js +1 -1
- package/development/container/container/container.d.ts +1 -1
- package/development/container/container/container.d.ts.map +1 -1
- package/development/container/container.js +18 -2
- package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
- package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
- package/development/container/sticky-bar.js +9 -1
- package/development/core/a11y/focus.d.ts.map +1 -1
- package/development/core/a11y.js +3 -3
- package/development/core/base-elements/link-base-element.d.ts +2 -0
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +22 -5
- package/development/core/controllers.js +1 -1
- package/development/core/datetime/date-adapter.d.ts +1 -1
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/native-date-adapter.d.ts +1 -1
- package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
- package/development/core/datetime.js +1 -1
- package/development/core/dom/scroll.d.ts +1 -0
- package/development/core/dom/scroll.d.ts.map +1 -1
- package/development/core/dom.js +4 -1
- package/development/core/images.d.ts.map +1 -1
- package/development/core/mixins.js +1 -1
- package/development/datepicker/common/datepicker-association-controllers.d.ts +21 -0
- package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
- package/development/datepicker/common/datepicker-button.d.ts +17 -9
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common.d.ts +1 -0
- package/development/datepicker/common.d.ts.map +1 -1
- package/development/datepicker/common.js +139 -90
- package/development/datepicker/datepicker/datepicker.d.ts +19 -4
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +76 -73
- package/development/datepicker/datepicker.js +55 -37
- package/development/dialog/dialog/dialog.d.ts +2 -0
- package/development/dialog/dialog/dialog.d.ts.map +1 -1
- package/development/dialog/dialog-content.js +1 -1
- package/development/dialog/dialog.js +38 -12
- package/development/expansion-panel/expansion-panel-content.js +1 -1
- package/development/flip-card/flip-card-details.js +1 -1
- package/development/flip-card/flip-card-summary.js +1 -1
- package/development/icon.js +1 -1
- package/development/image.js +2 -2
- package/development/lead-container.js +1 -1
- package/development/link-list/link-list-anchor.js +1 -1
- package/development/link-list/link-list.js +1 -1
- package/development/loading-indicator-circle.js +1 -1
- package/development/loading-indicator.js +1 -1
- package/development/map-container.js +1 -1
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu.js +35 -12
- package/development/message.js +1 -1
- package/development/navigation/navigation/navigation.d.ts.map +1 -1
- package/development/navigation/navigation.js +15 -8
- package/development/notification.js +1 -1
- package/development/option/optgroup.js +1 -1
- package/development/option/option/option-base-element.d.ts +3 -2
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +16 -9
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay.d.ts.map +1 -1
- package/development/overlay.js +29 -13
- package/development/paginator/paginator.js +1 -1
- package/development/popover/popover/popover.d.ts.map +1 -1
- package/development/popover/popover.js +16 -13
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +2 -2
- package/development/{sbb-tokens-BdGhUJjM.js → sbb-tokens-CSAKTXUi.js} +15 -15
- package/development/screen-reader-only.js +1 -1
- package/development/select/select.d.ts +11 -0
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +60 -9
- package/development/signet.js +1 -1
- package/development/stepper/step.js +1 -1
- package/development/tabs/tab.js +1 -1
- package/development/time-input.js +1 -1
- package/development/title/title-base.d.ts.map +1 -1
- package/development/title.js +4 -5
- package/development/toast/toast.d.ts.map +1 -1
- package/development/toast.js +14 -8
- package/development/toggle/toggle.js +2 -2
- package/development/train/train-blocked-passage.js +1 -1
- package/development/train/train-wagon.js +1 -1
- package/dialog/dialog/dialog.d.ts +2 -0
- package/dialog/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog-content.js +4 -4
- package/dialog/dialog-title.js +8 -8
- package/dialog/dialog.js +59 -49
- package/divider.js +12 -12
- package/expansion-panel/expansion-panel-content.js +3 -3
- package/file-selector/file-selector-dropzone.js +5 -5
- package/file-selector/file-selector.js +6 -6
- package/flip-card/flip-card-details.js +7 -7
- package/flip-card/flip-card-summary.js +12 -12
- package/header/header-button.js +5 -5
- package/header/header-link.js +5 -5
- package/icon.js +37 -37
- package/image.js +16 -16
- package/lead-container.js +3 -3
- package/link/block-link-button.js +4 -4
- package/link/block-link-static.js +9 -9
- package/link/block-link.js +4 -4
- package/link/common.js +16 -16
- package/link/link-button.js +7 -7
- package/link/link-static.js +7 -7
- package/link/link.js +4 -4
- package/link-list/common.js +12 -12
- package/link-list/link-list-anchor.js +3 -3
- package/link-list/link-list.js +3 -3
- package/loading-indicator-circle.js +14 -14
- package/loading-indicator.js +3 -3
- package/map-container.js +6 -6
- package/menu/common.js +7 -7
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button.js +8 -8
- package/menu/menu-link.js +6 -6
- package/menu/menu.js +64 -42
- package/message.js +3 -3
- package/navigation/navigation/navigation.d.ts.map +1 -1
- package/navigation/navigation-button.js +4 -4
- package/navigation/navigation-link.js +7 -7
- package/navigation/navigation-list.js +4 -4
- package/navigation/navigation-marker.js +3 -3
- package/navigation/navigation.js +21 -20
- package/notification.js +19 -19
- package/option/optgroup.js +14 -14
- package/option/option/option-base-element.d.ts +3 -2
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +115 -103
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay.d.ts.map +1 -1
- package/overlay.js +87 -84
- package/package.json +1 -1
- package/paginator/common.js +6 -6
- package/paginator/paginator.js +1 -1
- package/popover/popover/popover.d.ts.map +1 -1
- package/popover/popover.js +73 -73
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +1 -1
- package/radio-button/radio-button-panel.js +5 -5
- package/{sbb-tokens-Dx20OtVg.js → sbb-tokens-BgDF8jIh.js} +14 -14
- package/screen-reader-only.js +8 -8
- package/select/select.d.ts +11 -0
- package/select/select.d.ts.map +1 -1
- package/select.js +111 -83
- package/signet.js +1 -1
- package/slider.js +8 -8
- package/standard-theme.css +20 -2
- package/status.js +3 -3
- package/stepper/step-label.js +4 -4
- package/stepper/step.js +3 -3
- package/table/table-wrapper.js +4 -4
- package/tabs/tab-group.js +24 -24
- package/tabs/tab.js +4 -4
- package/tag/tag-group.js +7 -7
- package/teaser-product/common.js +5 -5
- package/teaser-product/teaser-product-static.js +2 -2
- package/time-input.js +3 -3
- package/timetable-occupancy-icon.js +3 -3
- package/timetable-occupancy.js +6 -6
- package/title/title-base.d.ts.map +1 -1
- package/title.js +41 -42
- package/toast/toast.d.ts.map +1 -1
- package/toast.js +58 -54
- package/toggle/toggle-option.js +11 -11
- package/toggle/toggle.js +3 -3
- package/toggle-check.js +5 -5
- package/train/train-blocked-passage.js +3 -3
- package/train/train.js +28 -28
package/development/accordion.js
CHANGED
|
@@ -146,4 +146,4 @@ let SbbAccordionElement = (() => {
|
|
|
146
146
|
export {
|
|
147
147
|
SbbAccordionElement
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpc0V2ZW50UHJldmVudGVkIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYWNjb3JkaW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1leHBhbnNpb24tcGFuZWxgIGVsZW1lbnRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYWNjb3JkaW9uJylcbmNsYXNzIFNiYkFjY29yZGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIHM7IG92ZXJyaWRlcyB0aGUgc2l6ZSBvbiBhbnkgcHJvamVjdGVkIGBzYmItZXhwYW5zaW9uLXBhbmVsYC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIGxldmVsIGZvciB0aGUgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJzIHdpdGhpbiB0aGUgY29tcG9uZW50LlxuICAgKiBAY29udHJvbHMgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50LnRpdGxlTGV2ZWxcbiAgICovXG4gIEBoYW5kbGVEaXN0aW5jdENoYW5nZSgoZSkgPT4gZS5fc2V0VGl0bGVMZXZlbE9uQ2hpbGRyZW4oKSlcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFdoZXRoZXIgbW9yZSB0aGFuIG9uZSBzYmItZXhwYW5zaW9uLXBhbmVsIGNhbiBiZSBvcGVuIGF0IHRoZSBzYW1lIHRpbWUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGUsIG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gZS5fcmVzZXRFeHBhbnNpb25QYW5lbHMobmV3VmFsdWUsICEhb2xkVmFsdWUpKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ3dpbGxPcGVuJyxcbiAgICAgIGFzeW5jIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4ge1xuICAgICAgICBpZiAoIShhd2FpdCBpc0V2ZW50UHJldmVudGVkKGUpKSkge1xuICAgICAgICAgIHRoaXMuX2Nsb3NlUGFuZWxzKGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBXZSB1c2UgY2FwdHVyZSBoZXJlLCBiZWNhdXNlIHdpbGxPcGVuIGRvZXMgbm90IGJ1YmJsZS5cbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2V4cGFuc2lvblBhbmVscygpOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1leHBhbnNpb24tcGFuZWwnKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZVBhbmVscyhlOiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGlmICgoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy5sb2NhbE5hbWUgIT09ICdzYmItZXhwYW5zaW9uLXBhbmVsJyB8fCB0aGlzLm11bHRpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZXhwYW5zaW9uUGFuZWxzKClcbiAgICAgIC5maWx0ZXIoKHBhbmVsKSA9PiBwYW5lbCAhPT0gZS50YXJnZXQpXG4gICAgICAuZm9yRWFjaCgocGFuZWwpID0+IChwYW5lbC5leHBhbmRlZCA9IGZhbHNlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fZXhwYW5zaW9uUGFuZWxzKCkuZm9yRWFjaChcbiAgICAgICAgKHBhbmVsOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQpID0+IChwYW5lbC5zaXplID0gdGhpcy5zaXplKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRFeHBhbnNpb25QYW5lbHMobmV3VmFsdWU6IGJvb2xlYW4sIG9sZFZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gSWYgaXQncyBjaGFuZ2luZyBmcm9tIFwibXVsdGkgPSB0cnVlXCIgdG8gXCJtdWx0aSA9IGZhbHNlXCIsIG9wZW4gdGhlIGZpcnN0IHBhbmVsIGFuZCBjbG9zZSBhbGwgdGhlIG90aGVycy5cbiAgICBjb25zdCBleHBhbnNpb25QYW5lbHMgPSB0aGlzLl9leHBhbnNpb25QYW5lbHMoKTtcbiAgICBpZiAoZXhwYW5zaW9uUGFuZWxzLmxlbmd0aCA+IDEgJiYgb2xkVmFsdWUgJiYgIW5ld1ZhbHVlKSB7XG4gICAgICBleHBhbnNpb25QYW5lbHNbMF0uZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgZXhwYW5zaW9uUGFuZWxzXG4gICAgICAgIC5maWx0ZXIoKF8sIGluZGV4OiBudW1iZXIpID0+IGluZGV4ID4gMClcbiAgICAgICAgLmZvckVhY2goKHBhbmVsKSA9PiAocGFuZWwuZXhwYW5kZWQgPSBmYWxzZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFRpdGxlTGV2ZWxPbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuc2lvblBhbmVscygpLmZvckVhY2goXG4gICAgICAocGFuZWw6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCkgPT4gKHBhbmVsLnRpdGxlTGV2ZWwgPSB0aGlzLnRpdGxlTGV2ZWwpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuc2lvblBhbmVscygpLmZvckVhY2goXG4gICAgICAocGFuZWw6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudFtdKSA9PiB7XG4gICAgICAgIHBhbmVsLnRpdGxlTGV2ZWwgPSB0aGlzLnRpdGxlTGV2ZWw7XG4gICAgICAgIHBhbmVsLnNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIHBhbmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24tZmlyc3QnLCBpbmRleCA9PT0gMCk7XG4gICAgICAgIHBhbmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24tbGFzdCcsIGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hY2NvcmRpb25cIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYWNjb3JkaW9uJzogU2JiQWNjb3JkaW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW9CTSx1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
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBoYW5kbGVEaXN0aW5jdENoYW5nZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpc0V2ZW50UHJldmVudGVkIH0gZnJvbSAnLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYWNjb3JkaW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1leHBhbnNpb24tcGFuZWxgIGVsZW1lbnRzLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYWNjb3JkaW9uJylcbmNsYXNzIFNiYkFjY29yZGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIHM7IG92ZXJyaWRlcyB0aGUgc2l6ZSBvbiBhbnkgcHJvamVjdGVkIGBzYmItZXhwYW5zaW9uLXBhbmVsYC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIGxldmVsIGZvciB0aGUgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJzIHdpdGhpbiB0aGUgY29tcG9uZW50LlxuICAgKiBAY29udHJvbHMgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50LnRpdGxlTGV2ZWxcbiAgICovXG4gIEBoYW5kbGVEaXN0aW5jdENoYW5nZSgoZTogU2JiQWNjb3JkaW9uRWxlbWVudCkgPT4gZS5fc2V0VGl0bGVMZXZlbE9uQ2hpbGRyZW4oKSlcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFdoZXRoZXIgbW9yZSB0aGFuIG9uZSBzYmItZXhwYW5zaW9uLXBhbmVsIGNhbiBiZSBvcGVuIGF0IHRoZSBzYW1lIHRpbWUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoXG4gICAgKGU6IFNiYkFjY29yZGlvbkVsZW1lbnQsIG5ld1ZhbHVlOiBib29sZWFuLCBvbGRWYWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkgPT5cbiAgICAgIGUuX3Jlc2V0RXhwYW5zaW9uUGFuZWxzKG5ld1ZhbHVlLCAhIW9sZFZhbHVlKSxcbiAgKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ3dpbGxPcGVuJyxcbiAgICAgIGFzeW5jIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4ge1xuICAgICAgICBpZiAoIShhd2FpdCBpc0V2ZW50UHJldmVudGVkKGUpKSkge1xuICAgICAgICAgIHRoaXMuX2Nsb3NlUGFuZWxzKGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBXZSB1c2UgY2FwdHVyZSBoZXJlLCBiZWNhdXNlIHdpbGxPcGVuIGRvZXMgbm90IGJ1YmJsZS5cbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2V4cGFuc2lvblBhbmVscygpOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1leHBhbnNpb24tcGFuZWwnKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZVBhbmVscyhlOiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGlmICgoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy5sb2NhbE5hbWUgIT09ICdzYmItZXhwYW5zaW9uLXBhbmVsJyB8fCB0aGlzLm11bHRpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZXhwYW5zaW9uUGFuZWxzKClcbiAgICAgIC5maWx0ZXIoKHBhbmVsKSA9PiBwYW5lbCAhPT0gZS50YXJnZXQpXG4gICAgICAuZm9yRWFjaCgocGFuZWwpID0+IChwYW5lbC5leHBhbmRlZCA9IGZhbHNlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fZXhwYW5zaW9uUGFuZWxzKCkuZm9yRWFjaChcbiAgICAgICAgKHBhbmVsOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQpID0+IChwYW5lbC5zaXplID0gdGhpcy5zaXplKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRFeHBhbnNpb25QYW5lbHMobmV3VmFsdWU6IGJvb2xlYW4sIG9sZFZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gSWYgaXQncyBjaGFuZ2luZyBmcm9tIFwibXVsdGkgPSB0cnVlXCIgdG8gXCJtdWx0aSA9IGZhbHNlXCIsIG9wZW4gdGhlIGZpcnN0IHBhbmVsIGFuZCBjbG9zZSBhbGwgdGhlIG90aGVycy5cbiAgICBjb25zdCBleHBhbnNpb25QYW5lbHMgPSB0aGlzLl9leHBhbnNpb25QYW5lbHMoKTtcbiAgICBpZiAoZXhwYW5zaW9uUGFuZWxzLmxlbmd0aCA+IDEgJiYgb2xkVmFsdWUgJiYgIW5ld1ZhbHVlKSB7XG4gICAgICBleHBhbnNpb25QYW5lbHNbMF0uZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgZXhwYW5zaW9uUGFuZWxzXG4gICAgICAgIC5maWx0ZXIoKF8sIGluZGV4OiBudW1iZXIpID0+IGluZGV4ID4gMClcbiAgICAgICAgLmZvckVhY2goKHBhbmVsKSA9PiAocGFuZWwuZXhwYW5kZWQgPSBmYWxzZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFRpdGxlTGV2ZWxPbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuc2lvblBhbmVscygpLmZvckVhY2goXG4gICAgICAocGFuZWw6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCkgPT4gKHBhbmVsLnRpdGxlTGV2ZWwgPSB0aGlzLnRpdGxlTGV2ZWwpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuc2lvblBhbmVscygpLmZvckVhY2goXG4gICAgICAocGFuZWw6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudFtdKSA9PiB7XG4gICAgICAgIHBhbmVsLnRpdGxlTGV2ZWwgPSB0aGlzLnRpdGxlTGV2ZWw7XG4gICAgICAgIHBhbmVsLnNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIHBhbmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24tZmlyc3QnLCBpbmRleCA9PT0gMCk7XG4gICAgICAgIHBhbmVsLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24tbGFzdCcsIGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hY2NvcmRpb25cIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYWNjb3JkaW9uJzog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
|
|
@@ -6,7 +6,7 @@ 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 { css,
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { isLean } from "./core/dom.js";
|
|
12
12
|
const style = css`*,
|
|
@@ -53,6 +53,10 @@ export declare abstract class SbbAutocompleteBaseElement extends SbbAutocomplete
|
|
|
53
53
|
/** When an option is selected, update the input value and close the autocomplete. */
|
|
54
54
|
protected onOptionSelected(event: CustomEvent): void;
|
|
55
55
|
private _handleSlotchange;
|
|
56
|
+
/**
|
|
57
|
+
* If the 'input' is focused and there's a change in the number of options, open the autocomplete
|
|
58
|
+
*/
|
|
59
|
+
private _openOnNewOptions;
|
|
56
60
|
/** The autocomplete should inherit 'readonly' state from the trigger. */
|
|
57
61
|
private _readonly;
|
|
58
62
|
private _componentSetup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAUrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;;AAUzD,
|
|
1
|
+
{"version":3,"file":"autocomplete-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete-base-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { css,
|
|
2
|
+
import { css, LitElement, html } from "lit";
|
|
3
3
|
import { customElement } from "lit/decorators.js";
|
|
4
4
|
import { hostAttributes } from "../core/decorators.js";
|
|
5
5
|
const style = css`*,
|
package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare class SbbAutocompleteGridOptionElement extends SbbOptionBaseEleme
|
|
|
23
23
|
protected selectionChange: EventEmitter;
|
|
24
24
|
/** Emits when an option was selected by user. */
|
|
25
25
|
protected optionSelected: EventEmitter;
|
|
26
|
-
protected
|
|
26
|
+
protected onExternalMutation(mutationsList: MutationRecord[]): void;
|
|
27
27
|
willUpdate(changedProperties: PropertyValues<this>): void;
|
|
28
28
|
protected setAttributeFromParent(): void;
|
|
29
29
|
protected selectByClick(event: MouseEvent): void;
|
package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-grid-option.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,wBAAwB,EAAE,MAAuC,CAAC;AAE/E;;;;;;;;;GASG;AACH,qBAKM,gCAAiC,SAAQ,oBAAoB;IACjE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,SAAS,CAAC,QAAQ,SAA4B;IAE9C,sDAAsD;IACtD,SAAS,CAAC,eAAe,EAAE,YAAY,CAGrC;IAEF,iDAAiD;IACjD,SAAS,CAAC,cAAc,EAAE,YAAY,CAGpC;cAEiB,
|
|
1
|
+
{"version":3,"file":"autocomplete-grid-option.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,wBAAwB,EAAE,MAAuC,CAAC;AAE/E;;;;;;;;;GASG;AACH,qBAKM,gCAAiC,SAAQ,oBAAoB;IACjE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX,SAAS,CAAC,QAAQ,SAA4B;IAE9C,sDAAsD;IACtD,SAAS,CAAC,eAAe,EAAE,YAAY,CAGrC;IAEF,iDAAiD;IACjD,SAAS,CAAC,cAAc,EAAE,YAAY,CAGpC;cAEiB,kBAAkB,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI;IAQ5D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAWzE,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAexC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQjD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;IAED,UAAU,2BAA2B;QACnC,iCAAiC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KACtD;CACF"}
|
|
@@ -89,9 +89,9 @@ let SbbAutocompleteGridOptionElement = (() => {
|
|
|
89
89
|
this.selectionChange = new EventEmitter(this, SbbAutocompleteGridOptionElement2.events.selectionChange);
|
|
90
90
|
this.optionSelected = new EventEmitter(this, SbbAutocompleteGridOptionElement2.events.optionSelected);
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
onExternalMutation(mutationsList) {
|
|
93
93
|
var _a2, _b;
|
|
94
|
-
super.
|
|
94
|
+
super.onExternalMutation(mutationsList);
|
|
95
95
|
(_b = (_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-autocomplete-grid-row")) == null ? void 0 : _b.toggleAttribute("data-disabled", this.disabled || this.disabledFromGroup);
|
|
96
96
|
}
|
|
97
97
|
willUpdate(changedProperties) {
|
|
@@ -135,4 +135,4 @@ export {
|
|
|
135
135
|
SbbAutocompleteGridOptionElement,
|
|
136
136
|
autocompleteGridOptionId
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBjb25zdCBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ6IHN0cmluZyA9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uYDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBvcHRpb24gaXRlbSB3aGljaCBjYW4gYmUgdXNlZCBpbiBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBvcHRpb24gbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+
|
|
138
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBjb25zdCBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ6IHN0cmluZyA9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uYDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBvcHRpb24gaXRlbSB3aGljaCBjYW4gYmUgdXNlZCBpbiBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBvcHRpb24gbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBhdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2UgLSBFbWl0cyB3aGVuIHRoZSBvcHRpb24gc2VsZWN0aW9uIHN0YXR1cyBjaGFuZ2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgLSBFbWl0cyB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgdXNlci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheT1ub25lXSAtIENhbiBiZSB1c2VkIHRvIHJlc2VydmUgc3BhY2UgZXZlblxuICogd2hlbiBwcmVzZXJ2ZS1pY29uLXNwYWNlIG9uIGF1dG9jb21wbGV0ZSBpcyBub3Qgc2V0IG9yIGljb25OYW1lIGlzIG5vdCBzZXQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ2dyaWRjZWxsJyxcbn0pXG5jbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCBleHRlbmRzIFNiYk9wdGlvbkJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGlvbkNoYW5nZTogJ2F1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgb3B0aW9uU2VsZWN0ZWQ6ICdhdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJvdGVjdGVkIG9wdGlvbklkID0gYXV0b2NvbXBsZXRlR3JpZE9wdGlvbklkO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBvcHRpb24gc2VsZWN0aW9uIHN0YXR1cyBjaGFuZ2VzLiAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQuZXZlbnRzLnNlbGVjdGlvbkNoYW5nZSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuICovXG4gIHByb3RlY3RlZCBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50LmV2ZW50cy5vcHRpb25TZWxlY3RlZCxcbiAgKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBzdXBlci5vbkV4dGVybmFsTXV0YXRpb24obXV0YXRpb25zTGlzdCk7XG4gICAgdGhpcy5jbG9zZXN0Py4oJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cnKT8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtZGlzYWJsZWQnLFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpPy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAgICdkYXRhLWRpc2FibGVkJyxcbiAgICAgICAgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwLFxuICAgICAgKTtcbiAgICAgIHRoaXMudXBkYXRlQXJpYURpc2FibGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgcGFyZW50R3JvdXAgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cCcpO1xuICAgIGlmIChwYXJlbnRHcm91cCkge1xuICAgICAgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCA9IHBhcmVudEdyb3VwLmRpc2FibGVkO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93Jyk/LnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWRpc2FibGVkJyxcbiAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCxcbiAgICApO1xuXG4gICAgdGhpcy5uZWdhdGl2ZSA9ICEhdGhpcy5jbG9zZXN0KGA6aXMoc2JiLWF1dG9jb21wbGV0ZS1ncmlkW25lZ2F0aXZlXSxzYmItZm9ybS1maWVsZFtuZWdhdGl2ZV0pYCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTZWxlY3RlZFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbic6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50O1xuICB9XG5cbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU08sTUFBTSwyQkFBbUM7SUFpQjFDLG9DQUFnQyxNQUFBOztBQUpyQyxNQUFBLG1CQUFBLENBQUEsY0FBYyw4QkFBOEIsR0FDNUMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUCxDQUFDOzs7O29CQUM2QztBQUFSQSxNQUFBQSxxQ0FBQSxtQkFBUSxZQUFvQjtBQUFBOztBQU92RCxXQUFRLFdBQUc7QUFHWCxXQUFBLGtCQUFnQyxJQUFJLGFBQzVDLE1BQ0FBLGtDQUFpQyxPQUFPLGVBQWU7QUFJL0MsV0FBQSxpQkFBK0IsSUFBSSxhQUMzQyxNQUNBQSxrQ0FBaUMsT0FBTyxjQUFjO0FBQUEsSUFBQTtBQUFBLElBR3JDLG1CQUFtQixlQUErQjs7QUFDbkUsWUFBTSxtQkFBbUIsYUFBYTtBQUNqQyxhQUFBQyxNQUFBLEtBQUEsWUFBQSxnQkFBQUEsSUFBQSxXQUFVLGlDQUFWLG1CQUF3QyxnQkFDM0MsaUJBQ0EsS0FBSyxZQUFZLEtBQUs7QUFBQSxJQUFpQjtBQUFBLElBSTNCLFdBQVcsbUJBQXVDOztBQUNoRSxZQUFNLFdBQVcsaUJBQWlCO0FBQzlCLFVBQUEsa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ2hDLGVBQUFBLE1BQUEsS0FBQSxZQUFBLGdCQUFBQSxJQUFBLFdBQVUsaUNBQVYsbUJBQXdDLGdCQUMzQyxpQkFDQSxLQUFLLFlBQVksS0FBSztBQUV4QixhQUFLLG1CQUFrQjtBQUFBLE1BQUE7QUFBQSxJQUN6QjtBQUFBLElBR1EseUJBQXNCOztBQUN4QixZQUFBLGNBQWMsS0FBSyxRQUFRLGdDQUFnQztBQUNqRSxVQUFJLGFBQWE7QUFDZixhQUFLLG9CQUFvQixZQUFZO0FBQ3JDLGFBQUssbUJBQWtCO0FBQUEsTUFBQTtBQUVwQixPQUFBQSxNQUFBLEtBQUEsUUFBUSwyQkFBMkIsTUFBbkMsZ0JBQUFBLElBQXNDLGdCQUN6QyxpQkFDQSxLQUFLLFlBQVksS0FBSztBQUd4QixXQUFLLFdBQVcsQ0FBQyxDQUFDLEtBQUssUUFBUSwrREFBK0Q7QUFDekYsV0FBQSxnQkFBZ0IsaUJBQWlCLEtBQUssUUFBUTtBQUFBLElBQUE7QUFBQSxJQUczQyxjQUFjLE9BQWlCO0FBQ25DLFVBQUEsS0FBSyxZQUFZLEtBQUssbUJBQW1CO0FBQzNDLGNBQU0sZ0JBQWU7QUFDckI7QUFBQSxNQUFBO0FBR0YsV0FBSyw4QkFBOEIsSUFBSTtBQUFBLElBQUE7QUFBQTs7QUE3RDNDLGlCQStEQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBOUR3QixHQUFNLFNBQW1CLE9BQ3pCLEdBQUEsU0FBUztBQUFBLElBQzlCLGlCQUFpQjtBQUFBLElBQ2pCLGdCQUFnQjtBQUFBLEVBQ1IsR0FMTixrQkFBZ0MsWUFBQSx1QkFBQSxHQUFDOzs7In0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { css,
|
|
2
|
+
import { css, LitElement, html } from "lit";
|
|
3
3
|
import { customElement } from "lit/decorators.js";
|
|
4
4
|
import { hostAttributes } from "../core/decorators.js";
|
|
5
5
|
const style = css`*,
|
|
@@ -8,7 +8,7 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
|
8
8
|
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
9
|
import { property, customElement } from "lit/decorators.js";
|
|
10
10
|
import { getNextElementIndex } from "./core/a11y.js";
|
|
11
|
-
import {
|
|
11
|
+
import { hostAttributes, forceType } from "./core/decorators.js";
|
|
12
12
|
import { isZeroAnimationDuration, findReferencedElement, isSafari } from "./core/dom.js";
|
|
13
13
|
import { isEventOnElement, setOverlayPosition, removeAriaComboBoxAttributes, overlayGapFixCorners, setAriaComboBoxAttributes } from "./core/overlay.js";
|
|
14
14
|
import { css, isServer, html, nothing } from "lit";
|
|
@@ -89,6 +89,10 @@ const style = css`*,
|
|
|
89
89
|
--sbb-autocomplete-z-index,
|
|
90
90
|
var(--sbb-overlay-default-z-index)
|
|
91
91
|
);
|
|
92
|
+
display: none;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:host([data-state]:not([data-state=closed])) {
|
|
92
96
|
display: block;
|
|
93
97
|
}
|
|
94
98
|
|
|
@@ -291,6 +295,12 @@ const style = css`*,
|
|
|
291
295
|
const ariaRoleOnHost$1 = isSafari;
|
|
292
296
|
let SbbAutocompleteBaseElement = (() => {
|
|
293
297
|
var _origin_accessor_storage, _trigger_accessor_storage, _preserveIconSpace_accessor_storage, _a;
|
|
298
|
+
let _classDecorators = [hostAttributes({
|
|
299
|
+
popover: "manual"
|
|
300
|
+
})];
|
|
301
|
+
let _classDescriptor;
|
|
302
|
+
let _classExtraInitializers = [];
|
|
303
|
+
let _classThis;
|
|
294
304
|
let _classSuper = SbbNegativeMixin(SbbHydrationMixin(SbbOpenCloseBaseElement));
|
|
295
305
|
let _origin_decorators;
|
|
296
306
|
let _origin_initializers = [];
|
|
@@ -301,7 +311,7 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
301
311
|
let _preserveIconSpace_decorators;
|
|
302
312
|
let _preserveIconSpace_initializers = [];
|
|
303
313
|
let _preserveIconSpace_extraInitializers = [];
|
|
304
|
-
|
|
314
|
+
_a = class extends _classSuper {
|
|
305
315
|
constructor() {
|
|
306
316
|
super(...arguments);
|
|
307
317
|
__privateAdd(this, _origin_accessor_storage);
|
|
@@ -364,12 +374,14 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
364
374
|
}
|
|
365
375
|
/** Opens the autocomplete. */
|
|
366
376
|
open() {
|
|
377
|
+
var _a2;
|
|
367
378
|
if (this.state !== "closed" || !this._overlay || this.options.length === 0 || this._readonly()) {
|
|
368
379
|
return;
|
|
369
380
|
}
|
|
370
381
|
if (!this.willOpen.emit()) {
|
|
371
382
|
return;
|
|
372
383
|
}
|
|
384
|
+
(_a2 = this.showPopover) == null ? void 0 : _a2.call(this);
|
|
373
385
|
this.state = "opening";
|
|
374
386
|
this._setOverlayPosition();
|
|
375
387
|
if (this._isZeroAnimationDuration()) {
|
|
@@ -446,6 +458,19 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
446
458
|
_handleSlotchange() {
|
|
447
459
|
var _a2;
|
|
448
460
|
this._highlightOptions((_a2 = this.triggerElement) == null ? void 0 : _a2.value);
|
|
461
|
+
this._openOnNewOptions();
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* If the 'input' is focused and there's a change in the number of options, open the autocomplete
|
|
465
|
+
*/
|
|
466
|
+
_openOnNewOptions() {
|
|
467
|
+
if ((document == null ? void 0 : document.activeElement) === this.triggerElement) {
|
|
468
|
+
if (this.options.length > 0) {
|
|
469
|
+
this.open();
|
|
470
|
+
} else {
|
|
471
|
+
this.close();
|
|
472
|
+
}
|
|
473
|
+
}
|
|
449
474
|
}
|
|
450
475
|
/** The autocomplete should inherit 'readonly' state from the trigger. */
|
|
451
476
|
_readonly() {
|
|
@@ -543,9 +568,10 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
543
568
|
this.didOpen.emit();
|
|
544
569
|
}
|
|
545
570
|
_handleClosing() {
|
|
546
|
-
var _a2;
|
|
571
|
+
var _a2, _b;
|
|
547
572
|
this.state = "closed";
|
|
548
|
-
(_a2 = this.
|
|
573
|
+
(_a2 = this.hidePopover) == null ? void 0 : _a2.call(this);
|
|
574
|
+
(_b = this.triggerElement) == null ? void 0 : _b.setAttribute("aria-expanded", "false");
|
|
549
575
|
this.resetActiveElement();
|
|
550
576
|
this._optionContainer.scrollTop = 0;
|
|
551
577
|
this.didClose.emit();
|
|
@@ -621,7 +647,7 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
621
647
|
</div>
|
|
622
648
|
`;
|
|
623
649
|
}
|
|
624
|
-
}, _origin_accessor_storage = new WeakMap(), _trigger_accessor_storage = new WeakMap(), _preserveIconSpace_accessor_storage = new WeakMap(), (() => {
|
|
650
|
+
}, _origin_accessor_storage = new WeakMap(), _trigger_accessor_storage = new WeakMap(), _preserveIconSpace_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
625
651
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
626
652
|
_origin_decorators = [property()];
|
|
627
653
|
_trigger_decorators = [property()];
|
|
@@ -635,8 +661,11 @@ let SbbAutocompleteBaseElement = (() => {
|
|
|
635
661
|
__esDecorate(_a, null, _preserveIconSpace_decorators, { kind: "accessor", name: "preserveIconSpace", static: false, private: false, access: { has: (obj) => "preserveIconSpace" in obj, get: (obj) => obj.preserveIconSpace, set: (obj, value) => {
|
|
636
662
|
obj.preserveIconSpace = value;
|
|
637
663
|
} }, metadata: _metadata }, _preserveIconSpace_initializers, _preserveIconSpace_extraInitializers);
|
|
638
|
-
|
|
639
|
-
|
|
664
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
665
|
+
_classThis = _classDescriptor.value;
|
|
666
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
667
|
+
})(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
|
|
668
|
+
return _classThis;
|
|
640
669
|
})();
|
|
641
670
|
let nextId = 0;
|
|
642
671
|
const ariaRoleOnHost = isSafari;
|
|
@@ -731,4 +760,4 @@ export {
|
|
|
731
760
|
SbbAutocompleteBaseElement,
|
|
732
761
|
SbbAutocompleteElement
|
|
733
762
|
};
|
|
734
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgZmluZFJlZmVyZW5jZWRFbGVtZW50LCBpc1NhZmFyaSwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluLCBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7XG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIG92ZXJsYXlHYXBGaXhDb3JuZXJzLFxuICByZW1vdmVBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzLFxuICBzZXRPdmVybGF5UG9zaXRpb24sXG59IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWJhc2UtZWxlbWVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGFyaWEgcm9sZSAnbGlzdGJveCcgbXVzdCBiZSBvbiB0aGUgaG9zdCBlbGVtZW50LCBvciBlbHNlIFZvaWNlT3ZlciB3b24ndCB3b3JrIGF0IGFsbC5cbiAqIE9uIHRoZSBvdGhlciBoYW5kLCBKQVdTIGFuZCBOVkRBIG5lZWQgdGhlIHJvbGUgdG8gYmUgXCJjbG9zZXJcIiB0byB0aGUgb3B0aW9ucywgb3IgZWxzZSBvcHRncm91cHMgd29uJ3Qgd29yay5cbiAqL1xuY29uc3QgYXJpYVJvbGVPbkhvc3QgPSBpc1NhZmFyaTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiSHlkcmF0aW9uTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB3aGVyZSB0aGUgYXV0b2NvbXBsZXRlIHdpbGwgYXR0YWNoOyBhY2NlcHRzIGJvdGggYW4gZWxlbWVudCdzIGlkIG9yIGFuIEhUTUxFbGVtZW50LlxuICAgKiBJZiBub3Qgc2V0LCBpdCB3aWxsIHNlYXJjaCBmb3IgdGhlIGZpcnN0ICdzYmItZm9ybS1maWVsZCcgYW5jZXN0b3IuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3Igb3JpZ2luOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYXV0b2NvbXBsZXRlIG9wZW5pbmc7IGFjY2VwdHMgYm90aCBhbiBlbGVtZW50J3MgaWQgb3IgYW4gSFRNTEVsZW1lbnQuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBhdXRvY29tcGxldGUgd2lsbCBvcGVuIG9uIGZvY3VzLCBjbGljaywgaW5wdXQgb3IgYEFycm93RG93bmAga2V5cHJlc3Mgb2YgdGhlICd0cmlnZ2VyJyBlbGVtZW50LlxuICAgKiBJZiBub3Qgc2V0LCB3aWxsIHNlYXJjaCBmb3IgdGhlIGZpcnN0ICdpbnB1dCcgY2hpbGQgb2YgYSAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IHN0cmluZyB8IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgaWNvbiBzcGFjZSBpcyBwcmVzZXJ2ZWQgd2hlbiBubyBpY29uIGlzIHNldC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3ByZXNlcnZlLWljb24tc3BhY2UnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwcmVzZXJ2ZUljb25TcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBlbGVtZW50IHdoZXJlIGF1dG9jb21wbGV0ZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvLiAqL1xuICBwdWJsaWMgZ2V0IG9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGlmICghdGhpcy5fb3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IHRoaXMuX2ZpbmRPcmlnaW5FbGVtZW50KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5FbGVtZW50O1xuICB9XG4gIHByaXZhdGUgX29yaWdpbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAvKiogUmV0dXJucyB0aGUgdHJpZ2dlciBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYW5lbFJvbGU6IHN0cmluZztcbiAgLyoqIEBkZXByZWNhdGVkIE5vIGxvbmdlciB1c2VkIGludGVybmFsbHkuICovXG4gIHByb3RlY3RlZCBhYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXkhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfb3B0aW9uQ29udGFpbmVyITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9kaWRMb2FkID0gZmFsc2U7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25CYXNlRWxlbWVudFtdO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3luY05lZ2F0aXZlKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZWxlY3RCeUtleWJvYXJkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQ7XG5cbiAgLyoqIE9wZW5zIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8XG4gICAgICAhdGhpcy5fb3ZlcmxheSB8fFxuICAgICAgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgdGhpcy5fcmVhZG9ubHkoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMud2lsbE9wZW4uZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy53aWxsQ2xvc2UuZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLmFib3J0KCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItb3B0aW9ucy1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmIChhcmlhUm9sZU9uSG9zdCkge1xuICAgICAgdGhpcy5pZCB8fD0gdGhpcy5vdmVybGF5SWQ7XG4gICAgfVxuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3QoJ1tkYXRhLWZvcm0tZmllbGRdJyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGlkTG9hZCkge1xuICAgICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB9XG4gICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZ2luJykgJiYgdGhpcy5vcmlnaW4gIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgnb3JpZ2luJykpIHx8XG4gICAgICAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd0cmlnZ2VyJykgJiYgdGhpcy50cmlnZ2VyICE9PSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3RyaWdnZXInKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFNldHVwKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuc3luY05lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB0aGlzLl9kaWRMb2FkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICAvKiogV2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQsIHVwZGF0ZSB0aGUgaW5wdXQgdmFsdWUgYW5kIGNsb3NlIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHByb3RlY3RlZCBvbk9wdGlvblNlbGVjdGVkKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJPcHRpb25CYXNlRWxlbWVudDtcbiAgICBpZiAoIXRhcmdldC5zZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIERlc2VsZWN0IHRoZSBwcmV2aW91cyBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25zXG4gICAgICAuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5pZCAhPT0gdGFyZ2V0LmlkICYmIG9wdGlvbi5zZWxlY3RlZClcbiAgICAgIC5mb3JFYWNoKChvcHRpb24pID0+IChvcHRpb24uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuXG4gICAgaWYgKHRoaXMudHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIC8vIFNldCB0aGUgb3B0aW9uIHZhbHVlXG4gICAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IFJlYWN0IG9uQ2hhbmdlIGV2ZW50LCB3ZSBoYXZlIHRvIGdldCB0aGUgc2V0dGVyIGFuZCBjYWxsIGl0LlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTYwMCNpc3N1ZWNvbW1lbnQtMzQ1ODEzMTMwXG4gICAgICBjb25zdCBzZXRWYWx1ZSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICd2YWx1ZScpIS5zZXQhO1xuICAgICAgc2V0VmFsdWUuY2FsbCh0aGlzLnRyaWdnZXJFbGVtZW50LCB0YXJnZXQudmFsdWUpO1xuXG4gICAgICAvLyBNYW51YWxseSB0cmlnZ2VyIHRoZSBjaGFuZ2UgZXZlbnRzXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucyh0aGlzLnRyaWdnZXJFbGVtZW50Py52YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgaW5oZXJpdCAncmVhZG9ubHknIHN0YXRlIGZyb20gdGhlIHRyaWdnZXIuICovXG4gIHByaXZhdGUgX3JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9jb21wb25lbnRTZXR1cCgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIHRoaXMuX29yaWdpbkVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1vcHRpb24tcGFuZWwtb3JpZ2luLWJvcmRlcmxlc3MnLFxuICAgICAgISF0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKT8uaGFzQXR0cmlidXRlKCdib3JkZXJsZXNzJyksXG4gICAgKTtcblxuICAgIHRoaXMuX2JpbmRUbyh0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZWxlbWVudCB3aGVyZSB0aGUgYXV0b2NvbXBsZXRlIHdpbGwgYmUgYXR0YWNoZWQuXG4gICAqIEByZXR1cm5zICdvcmlnaW4nIG9yIHRoZSBmaXJzdCAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZmluZE9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGxldCByZXN1bHQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAgIGlmICghdGhpcy5vcmlnaW4pIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy4oJyNvdmVybGF5LWFuY2hvcicpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQodGhpcy5vcmlnaW4pO1xuICAgIH1cblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgb3JpZ2luIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciByZWFkIHRoZSBcIm9yaWdpblwiIHByb3AgZG9jdW1lbnRhdGlvbicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGF1dG9jb21wbGV0ZSBvcGVuaW5nLlxuICAgKiBAcmV0dXJucyAndHJpZ2dlcicgb3IgdGhlIGZpcnN0ICdpbnB1dCcgaW5zaWRlIHRoZSBvcmlnaW4gZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2dldFRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIGlmICghdGhpcy50cmlnZ2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4odGhpcy50cmlnZ2VyKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgdHJpZ2dlciBlbGVtZW50LiBQbGVhc2Ugc3BlY2lmeSBhIHZhbGlkIGVsZW1lbnQgb3IgcmVhZCB0aGUgXCJ0cmlnZ2VyXCIgcHJvcCBkb2N1bWVudGF0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRUbyh0cmlnZ2VyRWxlbTogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdHJpZ2dlckVsZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBhdHRyaWJ1dGVzIHRvIHRoZSBvbGQgdHJpZ2dlciBhbmQgYWRkIHRoZW0gdG8gdGhlIG5ldyBvbmVcbiAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLnRyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLnNldFRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXJFbGVtKTtcblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW07XG5cbiAgICB0aGlzLl9zZXR1cFRyaWdnZXJFdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwVHJpZ2dlckV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIE9wZW4gdGhlIG92ZXJsYXkgb24gZm9jdXMsIGNsaWNrLCBpbnB1dCBhbmQgYEFycm93RG93bmAgZXZlbnRcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2lucHV0JyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQpLFxuICAgICAgeyBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICAvLyBTZXQgb3ZlcmxheSBwb3NpdGlvbiwgd2lkdGggYW5kIG1heCBoZWlnaHRcbiAgcHJpdmF0ZSBfc2V0T3ZlcmxheVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHNldE92ZXJsYXlQb3NpdGlvbihcbiAgICAgIHRoaXMuX292ZXJsYXksXG4gICAgICB0aGlzLm9yaWdpbkVsZW1lbnQsXG4gICAgICB0aGlzLl9vcHRpb25Db250YWluZXIsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItYXV0b2NvbXBsZXRlX19jb250YWluZXInKSEsXG4gICAgICB0aGlzLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT24gb3Blbi9jbG9zZSBhbmltYXRpb24gZW5kLlxuICAgKiBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAgKiBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gICAqL1xuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9hdHRhY2hPcGVuUGFuZWxFdmVudHMoKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbiBvbiBzY3JvbGwgYW5kIHdpbmRvdyByZXNpemVcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAvLyBXaXRob3V0IGNhcHR1cmUsIG90aGVyIHNjcm9sbCBjb250ZXh0cyB3b3VsZCBub3QgYnViYmxlIHRvIHRoaXMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICAvLyBDYXB0dXJlIGFsbG93cyB1cyB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGNvbnRleHRzIGluIHRoaXMgRE9NLlxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBLZXlib2FyZCBpbnRlcmFjdGlvbnNcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLm9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCk7XG4gIH07XG5cbiAgLy8gSWYgdGhlIGNsaWNrIGlzIG91dHNpZGUgdGhlIGF1dG9jb21wbGV0ZSwgY2xvc2VzIHRoZSBwYW5lbC5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5vcmlnaW5FbGVtZW50LCBldmVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfY2xvc2VkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIaWdobGlnaHQgdGhlIHNlYXJjaGVkIHRleHQgb24gdGhlIG9wdGlvbnMuICovXG4gIHByaXZhdGUgX2hpZ2hsaWdodE9wdGlvbnMoc2VhcmNoVGVybT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChzZWFyY2hUZXJtID09PSBudWxsIHx8IHNlYXJjaFRlcm0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uaGlnaGxpZ2h0KHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj4ke292ZXJsYXlHYXBGaXhDb3JuZXJzKCl9PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19wYW5lbFwiXG4gICAgICAgICAgP2RhdGEtb3Blbj0ke3RoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJ31cbiAgICAgICAgICAke3JlZigob3ZlcmxheVJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9vdmVybGF5ID0gb3ZlcmxheVJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgcm9sZT0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMucGFuZWxSb2xlIDogbm90aGluZ31cbiAgICAgICAgICAgICAgaWQ9JHshYXJpYVJvbGVPbkhvc3QgPyB0aGlzLm92ZXJsYXlJZCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7cmVmKChjb250YWluZXJSZWYpID0+ICh0aGlzLl9vcHRpb25Db250YWluZXIgPSBjb250YWluZXJSZWYgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIG9yIGBzYmItb3B0Z3JvdXBgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGVgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItYXV0b2NvbXBsZXRlLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiBhcmlhUm9sZU9uSG9zdCA/ICdsaXN0Ym94JyA6IG51bGwsXG59KVxuY2xhc3MgU2JiQXV0b2NvbXBsZXRlRWxlbWVudCBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHtcbiAgcHJvdGVjdGVkIG92ZXJsYXlJZCA9IGBzYmItYXV0b2NvbXBsZXRlLSR7KytuZXh0SWR9YDtcbiAgcHJvdGVjdGVkIHBhbmVsUm9sZSA9ICdsaXN0Ym94JztcbiAgcHJpdmF0ZSBfYWN0aXZlSXRlbUluZGV4ID0gLTE7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignb3B0aW9uU2VsZWN0aW9uQ2hhbmdlJywgKGU6IEN1c3RvbUV2ZW50PHZvaWQ+KSA9PlxuICAgICAgdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItZGl2aWRlcicpLmZvckVhY2goKGRpdmlkZXIpID0+IChkaXZpZGVyLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZSkpO1xuXG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiT3B0aW9uRWxlbWVudCB8IFNiYk9wdEdyb3VwRWxlbWVudD4oXG4gICAgICAnc2JiLW9wdGlvbiwgc2JiLW9wdGdyb3VwJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uID0gdGhpcy5vcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG5cbiAgICBpZiAoYWN0aXZlT3B0aW9uKSB7XG4gICAgICBhY3RpdmVPcHRpb24uc2V0U2VsZWN0ZWRWaWFVc2VySW50ZXJhY3Rpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKG9wdCkgPT4gIW9wdC5kaXNhYmxlZCAmJiAhb3B0Lmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpLFxuICAgICk7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgdGhpcy5fYWN0aXZlSXRlbUluZGV4LCBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKTtcbiAgICBjb25zdCBuZXh0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW25leHRdO1xuICAgIG5leHRBY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgbmV4dEFjdGl2ZU9wdGlvbi5pZCk7XG4gICAgbmV4dEFjdGl2ZU9wdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cbiAgICAvLyBSZXNldCB0aGUgcHJldmlvdXMgYWN0aXZlIG9wdGlvblxuICAgIGNvbnN0IGxhc3RBY3RpdmVPcHRpb24gPSBmaWx0ZXJlZE9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZU9wdGlvbikge1xuICAgICAgbGFzdEFjdGl2ZU9wdGlvbi5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IG5leHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLm9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcblxuICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICBhY3RpdmVFbGVtZW50LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VHJpZ2dlckF0dHJpYnV0ZXMoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIHNldEFyaWFDb21ib0JveEF0dHJpYnV0ZXMoZWxlbWVudCwgYXJpYVJvbGVPbkhvc3QgPyB0aGlzLmlkIDogdGhpcy5vdmVybGF5SWQsIGZhbHNlKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZSc6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhcmlhUm9sZU9uSG9zdCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxNQUFNQSxtQkFBaUI7SUFFRCw4QkFBMEIsTUFBQTs7QUFBUyxNQUFBLGNBQUEsaUJBQ3ZELGtCQUFrQix1QkFBdUIsQ0FBQzs7Ozs7Ozs7OztBQUR0QixTQUFBLG1CQUFtQyxZQUV4RDtBQUFBOztBQU9hO0FBT0E7QUFLWjtBQVo0Qix5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
|
|
763
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGZpbmRSZWZlcmVuY2VkRWxlbWVudCwgaXNTYWZhcmksIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiwgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICBvdmVybGF5R2FwRml4Q29ybmVycyxcbiAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyxcbiAgc2V0T3ZlcmxheVBvc2l0aW9uLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcG9wb3ZlcjogJ21hbnVhbCcsXG59KVxuYWJzdHJhY3QgY2xhc3MgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdXRvY29tcGxldGUgd2lsbCBhdHRhY2g7IGFjY2VwdHMgYm90aCBhbiBlbGVtZW50J3MgaWQgb3IgYW4gSFRNTEVsZW1lbnQuXG4gICAqIElmIG5vdCBzZXQsIGl0IHdpbGwgc2VhcmNoIGZvciB0aGUgZmlyc3QgJ3NiYi1mb3JtLWZpZWxkJyBhbmNlc3Rvci5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBvcmlnaW46IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBhdXRvY29tcGxldGUgb3BlbmluZzsgYWNjZXB0cyBib3RoIGFuIGVsZW1lbnQncyBpZCBvciBhbiBIVE1MRWxlbWVudC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGF1dG9jb21wbGV0ZSB3aWxsIG9wZW4gb24gZm9jdXMsIGNsaWNrLCBpbnB1dCBvciBgQXJyb3dEb3duYCBrZXlwcmVzcyBvZiB0aGUgJ3RyaWdnZXInIGVsZW1lbnQuXG4gICAqIElmIG5vdCBzZXQsIHdpbGwgc2VhcmNoIGZvciB0aGUgZmlyc3QgJ2lucHV0JyBjaGlsZCBvZiBhICdzYmItZm9ybS1maWVsZCcgYW5jZXN0b3IuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogc3RyaW5nIHwgSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpY29uIHNwYWNlIGlzIHByZXNlcnZlZCB3aGVuIG5vIGljb24gaXMgc2V0LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJlc2VydmUtaWNvbi1zcGFjZScsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHByZXNlcnZlSWNvblNwYWNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIGVsZW1lbnQgd2hlcmUgYXV0b2NvbXBsZXRlIG92ZXJsYXkgaXMgYXR0YWNoZWQgdG8uICovXG4gIHB1YmxpYyBnZXQgb3JpZ2luRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgaWYgKCF0aGlzLl9vcmlnaW5FbGVtZW50KSB7XG4gICAgICB0aGlzLl9vcmlnaW5FbGVtZW50ID0gdGhpcy5fZmluZE9yaWdpbkVsZW1lbnQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX29yaWdpbkVsZW1lbnQ7XG4gIH1cbiAgcHJpdmF0ZSBfb3JpZ2luRWxlbWVudD86IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSB0cmlnZ2VyIGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgdHJpZ2dlckVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50O1xuICB9XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvdmVybGF5SWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHBhbmVsUm9sZTogc3RyaW5nO1xuICAvKiogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHVzZWQgaW50ZXJuYWxseS4gKi9cbiAgcHJvdGVjdGVkIGFib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheSE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9vcHRpb25Db250YWluZXIhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2RpZExvYWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50W107XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW5jTmVnYXRpdmUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZDtcblxuICAvKiogT3BlbnMgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgfHxcbiAgICAgICF0aGlzLl9vdmVybGF5IHx8XG4gICAgICB0aGlzLm9wdGlvbnMubGVuZ3RoID09PSAwIHx8XG4gICAgICB0aGlzLl9yZWFkb25seSgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3NldE92ZXJsYXlQb3NpdGlvbigpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuYWJvcnQoKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1vcHRpb25zLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKGFyaWFSb2xlT25Ib3N0KSB7XG4gICAgICB0aGlzLmlkIHx8PSB0aGlzLm92ZXJsYXlJZDtcbiAgICB9XG4gICAgY29uc3QgZm9ybUZpZWxkID0gdGhpcy5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpID8/IHRoaXMuY2xvc2VzdCgnW2RhdGEtZm9ybS1maWVsZF0nKTtcblxuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9kaWRMb2FkKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIH1cbiAgICB0aGlzLnN5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoXG4gICAgICAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmlnaW4nKSAmJiB0aGlzLm9yaWdpbiAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdvcmlnaW4nKSkgfHxcbiAgICAgIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3RyaWdnZXInKSAmJiB0aGlzLnRyaWdnZXIgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgndHJpZ2dlcicpKVxuICAgICkge1xuICAgICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIHRoaXMuX2RpZExvYWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSBpbnB1dCB2YWx1ZSBhbmQgY2xvc2UgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHJvdGVjdGVkIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIFNiYk9wdGlvbkJhc2VFbGVtZW50O1xuICAgIGlmICghdGFyZ2V0LnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRGVzZWxlY3QgdGhlIHByZXZpb3VzIG9wdGlvbnNcbiAgICB0aGlzLm9wdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmlkICE9PSB0YXJnZXQuaWQgJiYgb3B0aW9uLnNlbGVjdGVkKVxuICAgICAgLmZvckVhY2goKG9wdGlvbikgPT4gKG9wdGlvbi5zZWxlY3RlZCA9IGZhbHNlKSk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgLy8gU2V0IHRoZSBvcHRpb24gdmFsdWVcbiAgICAgIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgUmVhY3Qgb25DaGFuZ2UgZXZlbnQsIHdlIGhhdmUgdG8gZ2V0IHRoZSBzZXR0ZXIgYW5kIGNhbGwgaXQuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExNjAwI2lzc3VlY29tbWVudC0zNDU4MTMxMzBcbiAgICAgIGNvbnN0IHNldFZhbHVlID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZSwgJ3ZhbHVlJykhLnNldCE7XG4gICAgICBzZXRWYWx1ZS5jYWxsKHRoaXMudHJpZ2dlckVsZW1lbnQsIHRhcmdldC52YWx1ZSk7XG5cbiAgICAgIC8vIE1hbnVhbGx5IHRyaWdnZXIgdGhlIGNoYW5nZSBldmVudHNcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9oaWdobGlnaHRPcHRpb25zKHRoaXMudHJpZ2dlckVsZW1lbnQ/LnZhbHVlKTtcbiAgICB0aGlzLl9vcGVuT25OZXdPcHRpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlICdpbnB1dCcgaXMgZm9jdXNlZCBhbmQgdGhlcmUncyBhIGNoYW5nZSBpbiB0aGUgbnVtYmVyIG9mIG9wdGlvbnMsIG9wZW4gdGhlIGF1dG9jb21wbGV0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfb3Blbk9uTmV3T3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoZG9jdW1lbnQ/LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMudHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgaW5oZXJpdCAncmVhZG9ubHknIHN0YXRlIGZyb20gdGhlIHRyaWdnZXIuICovXG4gIHByaXZhdGUgX3JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9jb21wb25lbnRTZXR1cCgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIHRoaXMuX29yaWdpbkVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1vcHRpb24tcGFuZWwtb3JpZ2luLWJvcmRlcmxlc3MnLFxuICAgICAgISF0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKT8uaGFzQXR0cmlidXRlKCdib3JkZXJsZXNzJyksXG4gICAgKTtcblxuICAgIHRoaXMuX2JpbmRUbyh0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZWxlbWVudCB3aGVyZSB0aGUgYXV0b2NvbXBsZXRlIHdpbGwgYmUgYXR0YWNoZWQuXG4gICAqIEByZXR1cm5zICdvcmlnaW4nIG9yIHRoZSBmaXJzdCAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZmluZE9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGxldCByZXN1bHQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAgIGlmICghdGhpcy5vcmlnaW4pIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy4oJyNvdmVybGF5LWFuY2hvcicpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQodGhpcy5vcmlnaW4pO1xuICAgIH1cblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgb3JpZ2luIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciByZWFkIHRoZSBcIm9yaWdpblwiIHByb3AgZG9jdW1lbnRhdGlvbicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGF1dG9jb21wbGV0ZSBvcGVuaW5nLlxuICAgKiBAcmV0dXJucyAndHJpZ2dlcicgb3IgdGhlIGZpcnN0ICdpbnB1dCcgaW5zaWRlIHRoZSBvcmlnaW4gZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2dldFRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIGlmICghdGhpcy50cmlnZ2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBmaW5kUmVmZXJlbmNlZEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4odGhpcy50cmlnZ2VyKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgdHJpZ2dlciBlbGVtZW50LiBQbGVhc2Ugc3BlY2lmeSBhIHZhbGlkIGVsZW1lbnQgb3IgcmVhZCB0aGUgXCJ0cmlnZ2VyXCIgcHJvcCBkb2N1bWVudGF0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2JpbmRUbyh0cmlnZ2VyRWxlbTogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdHJpZ2dlckVsZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBhdHRyaWJ1dGVzIHRvIHRoZSBvbGQgdHJpZ2dlciBhbmQgYWRkIHRoZW0gdG8gdGhlIG5ldyBvbmVcbiAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLnRyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLnNldFRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXJFbGVtKTtcblxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW07XG5cbiAgICB0aGlzLl9zZXR1cFRyaWdnZXJFdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwVHJpZ2dlckV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIE9wZW4gdGhlIG92ZXJsYXkgb24gZm9jdXMsIGNsaWNrLCBpbnB1dCBhbmQgYEFycm93RG93bmAgZXZlbnRcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2lucHV0JyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQpLFxuICAgICAgeyBzaWduYWw6IHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICAvLyBTZXQgb3ZlcmxheSBwb3NpdGlvbiwgd2lkdGggYW5kIG1heCBoZWlnaHRcbiAgcHJpdmF0ZSBfc2V0T3ZlcmxheVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHNldE92ZXJsYXlQb3NpdGlvbihcbiAgICAgIHRoaXMuX292ZXJsYXksXG4gICAgICB0aGlzLm9yaWdpbkVsZW1lbnQsXG4gICAgICB0aGlzLl9vcHRpb25Db250YWluZXIsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItYXV0b2NvbXBsZXRlX19jb250YWluZXInKSEsXG4gICAgICB0aGlzLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT24gb3Blbi9jbG9zZSBhbmltYXRpb24gZW5kLlxuICAgKiBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAgKiBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gICAqL1xuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9hdHRhY2hPcGVuUGFuZWxFdmVudHMoKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuZGlkT3Blbi5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbiBvbiBzY3JvbGwgYW5kIHdpbmRvdyByZXNpemVcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAvLyBXaXRob3V0IGNhcHR1cmUsIG90aGVyIHNjcm9sbCBjb250ZXh0cyB3b3VsZCBub3QgYnViYmxlIHRvIHRoaXMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICAvLyBDYXB0dXJlIGFsbG93cyB1cyB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGNvbnRleHRzIGluIHRoaXMgRE9NLlxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBLZXlib2FyZCBpbnRlcmFjdGlvbnNcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLm9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCk7XG4gIH07XG5cbiAgLy8gSWYgdGhlIGNsaWNrIGlzIG91dHNpZGUgdGhlIGF1dG9jb21wbGV0ZSwgY2xvc2VzIHRoZSBwYW5lbC5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5vcmlnaW5FbGVtZW50LCBldmVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfY2xvc2VkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIaWdobGlnaHQgdGhlIHNlYXJjaGVkIHRleHQgb24gdGhlIG9wdGlvbnMuICovXG4gIHByaXZhdGUgX2hpZ2hsaWdodE9wdGlvbnMoc2VhcmNoVGVybT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChzZWFyY2hUZXJtID09PSBudWxsIHx8IHNlYXJjaFRlcm0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uaGlnaGxpZ2h0KHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj4ke292ZXJsYXlHYXBGaXhDb3JuZXJzKCl9PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19wYW5lbFwiXG4gICAgICAgICAgP2RhdGEtb3Blbj0ke3RoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJ31cbiAgICAgICAgICAke3JlZigob3ZlcmxheVJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9vdmVybGF5ID0gb3ZlcmxheVJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgcm9sZT0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMucGFuZWxSb2xlIDogbm90aGluZ31cbiAgICAgICAgICAgICAgaWQ9JHshYXJpYVJvbGVPbkhvc3QgPyB0aGlzLm92ZXJsYXlJZCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7cmVmKChjb250YWluZXJSZWYpID0+ICh0aGlzLl9vcHRpb25Db250YWluZXIgPSBjb250YWluZXJSZWYgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIG9yIGBzYmItb3B0Z3JvdXBgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGVgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItYXV0b2NvbXBsZXRlLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiBhcmlhUm9sZU9uSG9zdCA/ICdsaXN0Ym94JyA6IG51bGwsXG59KVxuY2xhc3MgU2JiQXV0b2NvbXBsZXRlRWxlbWVudCBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHtcbiAgcHJvdGVjdGVkIG92ZXJsYXlJZCA9IGBzYmItYXV0b2NvbXBsZXRlLSR7KytuZXh0SWR9YDtcbiAgcHJvdGVjdGVkIHBhbmVsUm9sZSA9ICdsaXN0Ym94JztcbiAgcHJpdmF0ZSBfYWN0aXZlSXRlbUluZGV4ID0gLTE7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignb3B0aW9uU2VsZWN0aW9uQ2hhbmdlJywgKGU6IEN1c3RvbUV2ZW50PHZvaWQ+KSA9PlxuICAgICAgdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItZGl2aWRlcicpLmZvckVhY2goKGRpdmlkZXIpID0+IChkaXZpZGVyLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZSkpO1xuXG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiT3B0aW9uRWxlbWVudCB8IFNiYk9wdEdyb3VwRWxlbWVudD4oXG4gICAgICAnc2JiLW9wdGlvbiwgc2JiLW9wdGdyb3VwJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uID0gdGhpcy5vcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG5cbiAgICBpZiAoYWN0aXZlT3B0aW9uKSB7XG4gICAgICBhY3RpdmVPcHRpb24uc2V0U2VsZWN0ZWRWaWFVc2VySW50ZXJhY3Rpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKG9wdCkgPT4gIW9wdC5kaXNhYmxlZCAmJiAhb3B0Lmhhc0F0dHJpYnV0ZSgnZGF0YS1ncm91cC1kaXNhYmxlZCcpLFxuICAgICk7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgdGhpcy5fYWN0aXZlSXRlbUluZGV4LCBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKTtcbiAgICBjb25zdCBuZXh0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW25leHRdO1xuICAgIG5leHRBY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgbmV4dEFjdGl2ZU9wdGlvbi5pZCk7XG4gICAgbmV4dEFjdGl2ZU9wdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cbiAgICAvLyBSZXNldCB0aGUgcHJldmlvdXMgYWN0aXZlIG9wdGlvblxuICAgIGNvbnN0IGxhc3RBY3RpdmVPcHRpb24gPSBmaWx0ZXJlZE9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZU9wdGlvbikge1xuICAgICAgbGFzdEFjdGl2ZU9wdGlvbi5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IG5leHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLm9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcblxuICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICBhY3RpdmVFbGVtZW50LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VHJpZ2dlckF0dHJpYnV0ZXMoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIHNldEFyaWFDb21ib0JveEF0dHJpYnV0ZXMoZWxlbWVudCwgYXJpYVJvbGVPbkhvc3QgPyB0aGlzLmlkIDogdGhpcy5vdmVybGF5SWQsIGZhbHNlKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZSc6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhcmlhUm9sZU9uSG9zdCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsTUFBTUEsbUJBQWlCO0lBTVIsOEJBQTBCLE1BQUE7O0FBSHhDLE1BQUEsbUJBQUEsQ0FBQSxlQUFlO0FBQUEsSUFDZCxTQUFTO0FBQUEsRUFBQSxDQUNWLENBQUM7Ozs7QUFDZ0QsTUFBQSxjQUFBLGlCQUNoRCxrQkFBa0IsdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFERixFQUFBLG1CQUFRLFlBRWpEO0FBQUE7O0FBT2E7QUFPQTtBQUtaO0FBWjRCLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQXNDLElBQUk7QUFPMUMseUJBQUEsNEJBQUEsa0JBQUEsTUFBQSx5QkFBQSxHQUFBLGtCQUFBLE1BQUEsdUJBQTRDLElBQUk7QUFLNUQseUJBQUEsc0NBQUEsa0JBQUEsTUFBQSwwQkFBQSxHQUFBLGtCQUFBLE1BQUEsaUNBQTZCLEtBQUs7QUFTMUMsV0FBQSxpQkFBNkIsa0JBQUEsTUFBQSxvQ0FBQTtBQVczQixXQUFBLFFBQVEsSUFBSSw0QkFBNEIsSUFBSTtBQUs5QyxXQUFRLFdBQUc7QUFDWCxXQUF5Qiw0QkFBWTtBQXFVckMsV0FBQSx1QkFBdUIsQ0FBQyxVQUE2QjtBQUMzRCxhQUFLLDRCQUE0QixpQkFBaUIsS0FBSyxVQUFVLEtBQUs7QUFBQSxNQUN4RTtBQUdRLFdB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
|
|
@@ -175,8 +175,8 @@ let SbbBreadcrumbGroupElement = (() => {
|
|
|
175
175
|
/** Apply the aria-current attribute to the last sbb-breadcrumb element. */
|
|
176
176
|
_syncBreadcrumbs() {
|
|
177
177
|
var _a2;
|
|
178
|
-
this.listChildren.slice(0, -1).filter((c) => c.hasAttribute("
|
|
179
|
-
(_a2 = this.listChildren[this.listChildren.length - 1]) == null ? void 0 : _a2.setAttribute("
|
|
178
|
+
this.listChildren.slice(0, -1).filter((c) => c.hasAttribute("accessibility-current")).forEach((c) => c.removeAttribute("accessibility-current"));
|
|
179
|
+
(_a2 = this.listChildren[this.listChildren.length - 1]) == null ? void 0 : _a2.setAttribute("accessibility-current", "page");
|
|
180
180
|
if (this.listChildren.length < MIN_BREADCRUMBS_TO_COLLAPSE) {
|
|
181
181
|
this._state = null;
|
|
182
182
|
}
|
|
@@ -278,4 +278,4 @@ let SbbBreadcrumbGroupElement = (() => {
|
|
|
278
278
|
export {
|
|
279
279
|
SbbBreadcrumbGroupElement
|
|
280
280
|
};
|
|
281
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaXNBcnJvd0tleVByZXNzZWQsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkJyZWFkY3J1bWJFbGVtZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuY29uc3QgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFID0gMztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1icmVhZGNydW1iYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1icmVhZGNydW1iYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWJyZWFkY3J1bWItZ3JvdXAnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxufSlcbmNsYXNzIFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYkJyZWFkY3J1bWJFbGVtZW50LFxuICB0eXBlb2YgTGl0RWxlbWVudFxuPihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLWJyZWFkY3J1bWInXTtcblxuICAvKiBUaGUgc3RhdGUgb2YgdGhlIGJyZWFkY3J1bWIgZ3JvdXAuICovXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCkge1xuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiAnY29sbGFwc2VkJyB8ICdtYW51YWxseS1leHBhbmRlZCcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyAnY29sbGFwc2VkJyB8ICdtYW51YWxseS1leHBhbmRlZCcgfCBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCksXG4gIH0pO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY29sbGFwc2VkJykge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNOZXh0Q29sbGFwc2VkKGV2dCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb2N1c05leHQoZXZ0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fc3luY0JyZWFkY3J1bWJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlblsxXT8uZm9jdXMoKTtcblxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgYXJpYS1jdXJyZW50IGF0dHJpYnV0ZSB0byB0aGUgbGFzdCBzYmItYnJlYWRjcnVtYiBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zeW5jQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuaGFzQXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnKSlcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JykpO1xuICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcsICdwYWdlJyk7XG5cbiAgICAvLyBJZiBpdCBpcyBub3QgZXhwYW5kYWJsZSwgcmVzZXQgc3RhdGVcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIDwgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQgd2hlbiB0aGUgZWxsaXBzaXMgYnJlYWRjcnVtYiBpcyBkaXNwbGF5ZWQgYW5kIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgd2l0aCBrZXlib2FyZCdzIGFycm93cy5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzTmV4dENvbGxhcHNlZChldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheUNvbGxhcHNlZDogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IFtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzBdLFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMnKSBhcyBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdLFxuICAgIF07XG4gICAgdGhpcy5fZm9jdXNOZXh0KGV2dCwgYXJyYXlDb2xsYXBzZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0KFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCxcbiAgICBicmVhZGNydW1iczogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IHRoaXMubGlzdENoaWxkcmVuLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBicmVhZGNydW1icy5maW5kSW5kZXgoXG4gICAgICAoZSkgPT4gZSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCBlID09PSB0aGlzLnNoYWRvd1Jvb3QhLmFjdGl2ZUVsZW1lbnQsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBicmVhZGNydW1icy5sZW5ndGgpO1xuICAgIGJyZWFkY3J1bWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTm90ZTogZHVlIHRvIEBTdGF0ZSBhbm5vdGF0aW9uIG9uIF9zdGF0ZSwgdGhpcyBtZXRob2QgdHJpZ2dlcnMgYSBuZXcgcmVuZGVyOyBhcyBhIGNvbnNlcXVlbmNlLCB0aGUgZm9jdXMgaXMgbW92ZWRcbiAgICogdG8gdGhlIGBib2R5YCwgc28gaWYgdGhlIGVsbGlwc2lzIGVsZW1lbnQgaGFzIGZvY3VzLCBpdCdzIGFzeW5jaHJvbm91c2x5IGZvcmNlZCB0byB0aGUgZmlyc3QgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ21hbnVhbGx5LWV4cGFuZGVkJztcbiAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEV2YWx1YXRlIGlmIHRoZSBleHBhbmRlZCBicmVhZGNydW1iIGVsZW1lbnQgZml0cyBpbiBwYWdlIHdpZHRoLCBvdGhlcndpc2UgaXQgbmVlZHMgZWxsaXBzaXMgKi9cbiAgcHJpdmF0ZSBfZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc3RhdGUgJiZcbiAgICAgIHRoaXMuc2Nyb2xsV2lkdGggPiB0aGlzLm9mZnNldFdpZHRoICYmXG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPj0gTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuICAgICAgdGhpcy5yZW1vdmVDb250cm9sbGVyKHRoaXMuX3Jlc2l6ZU9ic2VydmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDb2xsYXBzZWQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxpLTBcIj48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIiBpZD1cInNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlkPVwic2JiLWJyZWFkY3J1bWItZWxsaXBzaXNcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9leHBhbmRCcmVhZGNydW1icygpfVxuICAgICAgICA+XG4gICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPHNsb3QgbmFtZT0ke2BsaS0ke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDF9YH0+PC9zbG90PlxuICAgICAgPC9saT5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyRXhwYW5kZWQoKTogVGVtcGxhdGVSZXN1bHRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFNsb3RFbnRyaWVzKCkubWFwKFxuICAgICAgKHNsb3QsIGluZGV4LCBhcnJheSkgPT4gaHRtbGBcbiAgICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgJHtpbmRleCAhPT0gYXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvbGk+XG4gICAgICBgLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxvbCBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5fc3RhdGUgPT09ICdjb2xsYXBzZWQnID8gdGhpcy5fcmVuZGVyQ29sbGFwc2VkKCkgOiB0aGlzLl9yZW5kZXJFeHBhbmRlZCgpfVxuICAgICAgPC9vbD5cbiAgICAgICR7dGhpcy5yZW5kZXJIaWRkZW5TbG90KCl9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWJyZWFkY3J1bWItZ3JvdXAnOiBTYmJCcmVhZGNydW1iR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsic3RhdGUiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSw4QkFBOEI7SUFZOUIsNkJBQXlCLE1BQUE7O0FBSjlCLE1BQUEsbUJBQUEsQ0FB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
|
|
281
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaXNBcnJvd0tleVByZXNzZWQsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkJyZWFkY3J1bWJFbGVtZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuY29uc3QgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFID0gMztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1icmVhZGNydW1iYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1icmVhZGNydW1iYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWJyZWFkY3J1bWItZ3JvdXAnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxufSlcbmNsYXNzIFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYkJyZWFkY3J1bWJFbGVtZW50LFxuICB0eXBlb2YgTGl0RWxlbWVudFxuPihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLWJyZWFkY3J1bWInXTtcblxuICAvKiBUaGUgc3RhdGUgb2YgdGhlIGJyZWFkY3J1bWIgZ3JvdXAuICovXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCkge1xuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiAnY29sbGFwc2VkJyB8ICdtYW51YWxseS1leHBhbmRlZCcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyAnY29sbGFwc2VkJyB8ICdtYW51YWxseS1leHBhbmRlZCcgfCBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCksXG4gIH0pO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY29sbGFwc2VkJykge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNOZXh0Q29sbGFwc2VkKGV2dCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9mb2N1c05leHQoZXZ0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fc3luY0JyZWFkY3J1bWJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlblsxXT8uZm9jdXMoKTtcblxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgYXJpYS1jdXJyZW50IGF0dHJpYnV0ZSB0byB0aGUgbGFzdCBzYmItYnJlYWRjcnVtYiBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zeW5jQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuaGFzQXR0cmlidXRlKCdhY2Nlc3NpYmlsaXR5LWN1cnJlbnQnKSlcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnYWNjZXNzaWJpbGl0eS1jdXJyZW50JykpO1xuICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdPy5zZXRBdHRyaWJ1dGUoJ2FjY2Vzc2liaWxpdHktY3VycmVudCcsICdwYWdlJyk7XG5cbiAgICAvLyBJZiBpdCBpcyBub3QgZXhwYW5kYWJsZSwgcmVzZXQgc3RhdGVcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIDwgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQgd2hlbiB0aGUgZWxsaXBzaXMgYnJlYWRjcnVtYiBpcyBkaXNwbGF5ZWQgYW5kIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgd2l0aCBrZXlib2FyZCdzIGFycm93cy5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzTmV4dENvbGxhcHNlZChldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheUNvbGxhcHNlZDogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IFtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzBdLFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMnKSBhcyBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdLFxuICAgIF07XG4gICAgdGhpcy5fZm9jdXNOZXh0KGV2dCwgYXJyYXlDb2xsYXBzZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0KFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCxcbiAgICBicmVhZGNydW1iczogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IHRoaXMubGlzdENoaWxkcmVuLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBicmVhZGNydW1icy5maW5kSW5kZXgoXG4gICAgICAoZSkgPT4gZSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCBlID09PSB0aGlzLnNoYWRvd1Jvb3QhLmFjdGl2ZUVsZW1lbnQsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBicmVhZGNydW1icy5sZW5ndGgpO1xuICAgIGJyZWFkY3J1bWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTm90ZTogZHVlIHRvIEBTdGF0ZSBhbm5vdGF0aW9uIG9uIF9zdGF0ZSwgdGhpcyBtZXRob2QgdHJpZ2dlcnMgYSBuZXcgcmVuZGVyOyBhcyBhIGNvbnNlcXVlbmNlLCB0aGUgZm9jdXMgaXMgbW92ZWRcbiAgICogdG8gdGhlIGBib2R5YCwgc28gaWYgdGhlIGVsbGlwc2lzIGVsZW1lbnQgaGFzIGZvY3VzLCBpdCdzIGFzeW5jaHJvbm91c2x5IGZvcmNlZCB0byB0aGUgZmlyc3QgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ21hbnVhbGx5LWV4cGFuZGVkJztcbiAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEV2YWx1YXRlIGlmIHRoZSBleHBhbmRlZCBicmVhZGNydW1iIGVsZW1lbnQgZml0cyBpbiBwYWdlIHdpZHRoLCBvdGhlcndpc2UgaXQgbmVlZHMgZWxsaXBzaXMgKi9cbiAgcHJpdmF0ZSBfZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc3RhdGUgJiZcbiAgICAgIHRoaXMuc2Nyb2xsV2lkdGggPiB0aGlzLm9mZnNldFdpZHRoICYmXG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPj0gTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuICAgICAgdGhpcy5yZW1vdmVDb250cm9sbGVyKHRoaXMuX3Jlc2l6ZU9ic2VydmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDb2xsYXBzZWQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxpLTBcIj48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIiBpZD1cInNiYi1icmVhZGNydW1iLWdyb3VwLWVsbGlwc2lzXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlkPVwic2JiLWJyZWFkY3J1bWItZWxsaXBzaXNcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9leHBhbmRCcmVhZGNydW1icygpfVxuICAgICAgICA+XG4gICAgICAgICAgLi4uXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19pdGVtXCI+XG4gICAgICAgIDxzYmItaWNvblxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgPHNsb3QgbmFtZT0ke2BsaS0ke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDF9YH0+PC9zbG90PlxuICAgICAgPC9saT5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyRXhwYW5kZWQoKTogVGVtcGxhdGVSZXN1bHRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFNsb3RFbnRyaWVzKCkubWFwKFxuICAgICAgKHNsb3QsIGluZGV4LCBhcnJheSkgPT4gaHRtbGBcbiAgICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPSR7c2xvdC5uYW1lfT48L3Nsb3Q+XG4gICAgICAgICAgJHtpbmRleCAhPT0gYXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwX19kaXZpZGVyLWljb25cIlxuICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvbGk+XG4gICAgICBgLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxvbCBjbGFzcz1cInNiYi1icmVhZGNydW1iLWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5fc3RhdGUgPT09ICdjb2xsYXBzZWQnID8gdGhpcy5fcmVuZGVyQ29sbGFwc2VkKCkgOiB0aGlzLl9yZW5kZXJFeHBhbmRlZCgpfVxuICAgICAgPC9vbD5cbiAgICAgICR7dGhpcy5yZW5kZXJIaWRkZW5TbG90KCl9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWJyZWFkY3J1bWItZ3JvdXAnOiBTYmJCcmVhZGNydW1iR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsic3RhdGUiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSw4QkFBOEI7SUFZOUIsNkJBQXlC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
|