@acorex/components 7.1.2 → 7.1.3
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/README.md +24 -24
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +3 -1
- package/button/src/button-item.component.d.ts +1 -3
- package/color-picker/src/color-picker.component.d.ts +5 -0
- package/esm2022/action-sheet/public-api.mjs +1 -1
- package/esm2022/action-sheet/src/action-sheet.component.mjs +3 -3
- package/esm2022/action-sheet/src/action-sheet.interface.mjs +1 -1
- package/esm2022/action-sheet/src/action-sheet.module.mjs +1 -1
- package/esm2022/action-sheet/src/action-sheet.service.mjs +1 -1
- package/esm2022/alert/public-api.mjs +1 -1
- package/esm2022/alert/src/alert.component.mjs +3 -3
- package/esm2022/alert/src/alert.module.mjs +1 -1
- package/esm2022/avatar/public-api.mjs +1 -1
- package/esm2022/avatar/src/avatar-group.component.mjs +1 -1
- package/esm2022/avatar/src/avatar.component.mjs +3 -3
- package/esm2022/avatar/src/avatar.module.mjs +1 -1
- package/esm2022/badge/public-api.mjs +1 -1
- package/esm2022/badge/src/badge.component.mjs +3 -3
- package/esm2022/badge/src/badge.module.mjs +1 -1
- package/esm2022/breadcrumbs/public-api.mjs +1 -1
- package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +1 -1
- package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +3 -3
- package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +1 -1
- package/esm2022/button/public-api.mjs +1 -1
- package/esm2022/button/src/button-group.component.mjs +1 -1
- package/esm2022/button/src/button-item.class.mjs +1 -1
- package/esm2022/button/src/button-item.component.mjs +11 -11
- package/esm2022/button/src/button.component.mjs +3 -3
- package/esm2022/button/src/button.module.mjs +1 -1
- package/esm2022/calendar/public-api.mjs +1 -1
- package/esm2022/calendar/src/calendar-range.component.mjs +3 -3
- package/esm2022/calendar/src/calendar.class.mjs +1 -1
- package/esm2022/calendar/src/calendar.component.mjs +3 -3
- package/esm2022/calendar/src/calendar.module.mjs +1 -1
- package/esm2022/card/public-api.mjs +1 -1
- package/esm2022/card/src/card.component.mjs +3 -3
- package/esm2022/card/src/card.module.mjs +1 -1
- package/esm2022/checkbox/public-api.mjs +1 -1
- package/esm2022/checkbox/src/checkbox.component.mjs +3 -3
- package/esm2022/checkbox/src/checkbox.module.mjs +1 -1
- package/esm2022/chips/public-api.mjs +1 -1
- package/esm2022/chips/src/chips.component.mjs +3 -3
- package/esm2022/chips/src/chips.module.mjs +1 -1
- package/esm2022/collapse/public-api.mjs +1 -1
- package/esm2022/collapse/src/collapse-group.component.mjs +1 -1
- package/esm2022/collapse/src/collapse.component.mjs +3 -3
- package/esm2022/collapse/src/collapse.module.mjs +1 -1
- package/esm2022/color-palette/public-api.mjs +1 -1
- package/esm2022/color-palette/src/color-palette-input.component.mjs +3 -3
- package/esm2022/color-palette/src/color-palette-picker.component.mjs +3 -3
- package/esm2022/color-palette/src/color-palette-preview.component.mjs +7 -7
- package/esm2022/color-palette/src/color-palette-swatches.component.mjs +11 -11
- package/esm2022/color-palette/src/color-palette.class.mjs +1 -1
- package/esm2022/color-palette/src/color-palette.component.mjs +3 -3
- package/esm2022/color-palette/src/color-palette.module.mjs +1 -1
- package/esm2022/color-picker/public-api.mjs +1 -1
- package/esm2022/color-picker/src/color-picker.component.mjs +3 -3
- package/esm2022/color-picker/src/color-picker.module.mjs +1 -1
- package/esm2022/common/public-api.mjs +1 -1
- package/esm2022/common/src/classes/components.class.mjs +1 -1
- package/esm2022/common/src/classes/data.class.mjs +1 -1
- package/esm2022/common/src/classes/drawing.class.mjs +1 -1
- package/esm2022/common/src/classes/events.class.mjs +1 -1
- package/esm2022/common/src/classes/styles.class.mjs +1 -1
- package/esm2022/common/src/common.module.mjs +1 -1
- package/esm2022/common/src/components/base-component.class.mjs +1 -1
- package/esm2022/common/src/components/button-base-component.class.mjs +1 -1
- package/esm2022/common/src/components/color-component.class.mjs +1 -1
- package/esm2022/common/src/components/colorlook-component.class.mjs +1 -1
- package/esm2022/common/src/components/index.mjs +1 -1
- package/esm2022/common/src/components/interactive-component.class.mjs +1 -1
- package/esm2022/common/src/components/look-component.class.mjs +1 -1
- package/esm2022/common/src/components/value-component.class.mjs +1 -1
- package/esm2022/common/src/constant/positions.mjs +1 -1
- package/esm2022/common/src/directives/auto-focus.directive.mjs +1 -1
- package/esm2022/common/src/directives/debounce-time.directive.mjs +1 -1
- package/esm2022/common/src/directives/hotkey.directive.mjs +1 -1
- package/esm2022/common/src/directives/infinite-scroll.directive.mjs +1 -1
- package/esm2022/common/src/directives/responsive.directive.mjs +1 -1
- package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +1 -1
- package/esm2022/common/src/services/hotkey.service.mjs +1 -1
- package/esm2022/common/src/services/overlay.service.mjs +1 -1
- package/esm2022/context-menu/public-api.mjs +1 -1
- package/esm2022/context-menu/src/context-menu.component.mjs +3 -3
- package/esm2022/context-menu/src/context-menu.module.mjs +1 -1
- package/esm2022/data-pager/public-api.mjs +1 -1
- package/esm2022/data-pager/src/data-pager-base.component.mjs +1 -1
- package/esm2022/data-pager/src/data-pager-info.component.mjs +1 -1
- package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +9 -9
- package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +17 -17
- package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +27 -27
- package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +23 -23
- package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +15 -15
- package/esm2022/data-pager/src/data-pager.component.mjs +3 -3
- package/esm2022/data-pager/src/data-pager.module.mjs +1 -1
- package/esm2022/data-table/public-api.mjs +1 -1
- package/esm2022/data-table/src/data-column-cell-template.directive.mjs +1 -1
- package/esm2022/data-table/src/data-column.directive.mjs +1 -1
- package/esm2022/data-table/src/data-table.component.mjs +3 -3
- package/esm2022/data-table/src/data-table.module.mjs +1 -1
- package/esm2022/date-picker/public-api.mjs +1 -1
- package/esm2022/date-picker/src/datepicker.component.mjs +3 -3
- package/esm2022/date-picker/src/datepicker.module.mjs +1 -1
- package/esm2022/decorators/public-api.mjs +1 -1
- package/esm2022/decorators/src/close-button.component.mjs +9 -9
- package/esm2022/decorators/src/content.component.mjs +1 -1
- package/esm2022/decorators/src/decorators.module.mjs +1 -1
- package/esm2022/decorators/src/footer.component.mjs +9 -9
- package/esm2022/decorators/src/form-hint.component.mjs +1 -1
- package/esm2022/decorators/src/header.component.mjs +9 -9
- package/esm2022/decorators/src/icon.component.mjs +1 -1
- package/esm2022/decorators/src/overlay.component.mjs +1 -1
- package/esm2022/decorators/src/placeholder.component.mjs +1 -1
- package/esm2022/decorators/src/prefix.component.mjs +1 -1
- package/esm2022/decorators/src/sub-title.component.mjs +3 -3
- package/esm2022/decorators/src/suffix.component.mjs +1 -1
- package/esm2022/decorators/src/text.component.mjs +1 -1
- package/esm2022/decorators/src/title.component.mjs +1 -1
- package/esm2022/dialog/public-api.mjs +1 -1
- package/esm2022/dialog/src/dialog.class.mjs +1 -1
- package/esm2022/dialog/src/dialog.component.mjs +3 -3
- package/esm2022/dialog/src/dialog.module.mjs +1 -1
- package/esm2022/dialog/src/dialog.service.mjs +1 -1
- package/esm2022/drawer/public-api.mjs +1 -1
- package/esm2022/drawer/src/drawer-container.component.mjs +9 -9
- package/esm2022/drawer/src/drawer.component.mjs +7 -7
- package/esm2022/drawer/src/drawer.module.mjs +1 -1
- package/esm2022/dropdown/public-api.mjs +1 -1
- package/esm2022/dropdown/src/dropdown-panel.component.mjs +3 -3
- package/esm2022/dropdown/src/dropdown.module.mjs +1 -1
- package/esm2022/form/public-api.mjs +1 -1
- package/esm2022/form/src/form-field.component.mjs +1 -1
- package/esm2022/form/src/form.component.mjs +1 -1
- package/esm2022/form/src/form.module.mjs +1 -1
- package/esm2022/form/src/validation-rule.widget.mjs +1 -1
- package/esm2022/form/src/validation-summary.component.mjs +29 -29
- package/esm2022/form/src/validation.class.mjs +1 -1
- package/esm2022/image/public-api.mjs +1 -1
- package/esm2022/image/src/image.component.mjs +3 -3
- package/esm2022/image/src/image.module.mjs +1 -1
- package/esm2022/label/public-api.mjs +1 -1
- package/esm2022/label/src/label.component.mjs +3 -3
- package/esm2022/label/src/label.module.mjs +1 -1
- package/esm2022/loading/public-api.mjs +1 -1
- package/esm2022/loading/src/loading-spinner.component.mjs +53 -53
- package/esm2022/loading/src/loading.component.mjs +11 -11
- package/esm2022/loading/src/loading.directive.mjs +1 -1
- package/esm2022/loading/src/loading.module.mjs +1 -1
- package/esm2022/loading/src/loading.service.mjs +1 -1
- package/esm2022/menu/public-api.mjs +1 -1
- package/esm2022/menu/src/menu.component.mjs +3 -3
- package/esm2022/menu/src/menu.module.mjs +1 -1
- package/esm2022/mixin/public-api.mjs +1 -1
- package/esm2022/mixin/src/base-components.class.mjs +1 -1
- package/esm2022/mixin/src/base-menu-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/button-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/clickable-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/color-look-mixing.class.mjs +1 -1
- package/esm2022/mixin/src/constratctor.mjs +1 -1
- package/esm2022/mixin/src/datalist-component.class.mjs +1 -1
- package/esm2022/mixin/src/datalist.class.mjs +1 -1
- package/esm2022/mixin/src/dropdown-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/interactive-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/loading-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/mixin.class.mjs +1 -1
- package/esm2022/mixin/src/page-component.class.mjs +1 -1
- package/esm2022/mixin/src/selection-component.class.mjs +1 -1
- package/esm2022/mixin/src/sizable-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/textbox-mixin.class.mjs +1 -1
- package/esm2022/mixin/src/value-mixin.class.mjs +1 -1
- package/esm2022/notification/public-api.mjs +1 -1
- package/esm2022/notification/src/notification.class.mjs +1 -1
- package/esm2022/notification/src/notification.component.mjs +3 -3
- package/esm2022/notification/src/notification.module.mjs +1 -1
- package/esm2022/notification/src/notification.service.mjs +1 -1
- package/esm2022/number-box/public-api.mjs +1 -1
- package/esm2022/number-box/src/number-box.component.mjs +3 -3
- package/esm2022/number-box/src/number-box.module.mjs +1 -1
- package/esm2022/page/public-api.mjs +1 -1
- package/esm2022/page/src/base-page.class.mjs +1 -1
- package/esm2022/page/src/page.component.mjs +1 -1
- package/esm2022/page/src/page.module.mjs +1 -1
- package/esm2022/password-box/public-api.mjs +1 -1
- package/esm2022/password-box/src/password-box.component.mjs +3 -3
- package/esm2022/password-box/src/password-box.module.mjs +1 -1
- package/esm2022/picker/public-api.mjs +1 -1
- package/esm2022/picker/src/picker-column.component.mjs +3 -3
- package/esm2022/picker/src/picker.component.mjs +3 -3
- package/esm2022/picker/src/picker.module.mjs +1 -1
- package/esm2022/popover/public-api.mjs +1 -1
- package/esm2022/popover/src/popover.component.mjs +3 -3
- package/esm2022/popover/src/popover.module.mjs +1 -1
- package/esm2022/popup/public-api.mjs +1 -1
- package/esm2022/popup/src/popup.component.mjs +3 -3
- package/esm2022/popup/src/popup.module.mjs +1 -1
- package/esm2022/popup/src/popup.service.mjs +1 -1
- package/esm2022/progress-bar/public-api.mjs +1 -1
- package/esm2022/progress-bar/src/progress-bar.component.mjs +3 -3
- package/esm2022/progress-bar/src/progress-bar.module.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/radio/public-api.mjs +1 -1
- package/esm2022/radio/src/radio.component.mjs +3 -3
- package/esm2022/radio/src/radio.module.mjs +1 -1
- package/esm2022/range-slider/public-api.mjs +1 -1
- package/esm2022/range-slider/src/range-slider.component.mjs +1 -1
- package/esm2022/range-slider/src/range-slider.module.mjs +1 -1
- package/esm2022/rating/public-api.mjs +1 -1
- package/esm2022/rating/src/rating.component.mjs +3 -3
- package/esm2022/rating/src/rating.component.module.mjs +1 -1
- package/esm2022/result/public-api.mjs +1 -1
- package/esm2022/result/src/result.component.mjs +3 -3
- package/esm2022/result/src/result.module.mjs +1 -1
- package/esm2022/search-box/public-api.mjs +1 -1
- package/esm2022/search-box/src/search-box.component.mjs +3 -3
- package/esm2022/search-box/src/search-box.module.mjs +1 -1
- package/esm2022/select-box/public-api.mjs +1 -1
- package/esm2022/select-box/src/selectbox.component.mjs +3 -3
- package/esm2022/select-box/src/selectbox.module.mjs +1 -1
- package/esm2022/selection-list/public-api.mjs +1 -1
- package/esm2022/selection-list/src/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/src/selection-list.module.mjs +1 -1
- package/esm2022/switch/public-api.mjs +1 -1
- package/esm2022/switch/src/switch-content.component.mjs +1 -1
- package/esm2022/switch/src/switch.component.mjs +3 -3
- package/esm2022/switch/src/switch.module.mjs +1 -1
- package/esm2022/tabs/public-api.mjs +1 -1
- package/esm2022/tabs/src/tab-content.directive.mjs +1 -1
- package/esm2022/tabs/src/tab-item.component.mjs +51 -51
- package/esm2022/tabs/src/tabs.class.mjs +1 -1
- package/esm2022/tabs/src/tabs.component.mjs +9 -9
- package/esm2022/tabs/src/tabs.module.mjs +1 -1
- package/esm2022/tag/public-api.mjs +1 -1
- package/esm2022/tag/src/tag.component.mjs +3 -3
- package/esm2022/tag/src/tag.module.mjs +1 -1
- package/esm2022/textarea/public-api.mjs +1 -1
- package/esm2022/textarea/src/textarea.component.mjs +3 -3
- package/esm2022/textarea/src/textarea.module.mjs +1 -1
- package/esm2022/textbox/public-api.mjs +1 -1
- package/esm2022/textbox/src/mask-options.directive.mjs +1 -1
- package/esm2022/textbox/src/textbox.component.mjs +3 -3
- package/esm2022/textbox/src/textbox.module.mjs +1 -1
- package/esm2022/time-box/public-api.mjs +1 -1
- package/esm2022/time-box/src/time-box.component.mjs +3 -3
- package/esm2022/time-box/src/time-box.module.mjs +1 -1
- package/esm2022/toast/public-api.mjs +1 -1
- package/esm2022/toast/src/toast.class.mjs +1 -1
- package/esm2022/toast/src/toast.component.mjs +3 -3
- package/esm2022/toast/src/toast.module.mjs +1 -1
- package/esm2022/toast/src/toast.service.mjs +1 -1
- package/esm2022/tooltip/public-api.mjs +1 -1
- package/esm2022/tooltip/src/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/src/tooltip.directive.mjs +1 -1
- package/esm2022/tooltip/src/tooltip.module.mjs +1 -1
- package/esm2022/tree-view/public-api.mjs +1 -1
- package/esm2022/tree-view/src/tree-view.component.mjs +3 -3
- package/esm2022/tree-view/src/tree-view.module.mjs +1 -1
- package/esm2022/uploader/public-api.mjs +1 -1
- package/esm2022/uploader/src/uploader.component.mjs +3 -3
- package/esm2022/uploader/src/uploader.module.mjs +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +2 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +4 -4
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +12 -12
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +4 -4
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-card.mjs +2 -2
- package/fesm2022/acorex-components-card.mjs.map +1 -1
- package/fesm2022/acorex-components-checkbox.mjs +2 -2
- package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -2
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +2 -2
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +22 -22
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +2 -2
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +2 -2
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +88 -88
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +2 -2
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +2 -2
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +26 -26
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +2 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +14 -14
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +28 -28
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +2 -2
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +62 -62
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +2 -2
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -2
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +2 -2
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +4 -4
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +2 -2
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +2 -2
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rating.mjs +2 -2
- package/fesm2022/acorex-components-rating.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +2 -2
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +58 -58
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-textarea.mjs +2 -2
- package/fesm2022/acorex-components-textarea.mjs.map +1 -1
- package/fesm2022/acorex-components-textbox.mjs +2 -2
- package/fesm2022/acorex-components-textbox.mjs.map +1 -1
- package/fesm2022/acorex-components-time-box.mjs +2 -2
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +2 -2
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +2 -2
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/mixin/src/interactive-mixin.class.d.ts +2 -2
- package/mixin/src/textbox-mixin.class.d.ts +3 -5
- package/package.json +24 -24
- package/scss/index.scss +1 -1
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
17
17
|
providers: [],
|
18
18
|
}]
|
19
19
|
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3Jlc3VsdC9zcmMvcmVzdWx0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdkQsTUFNYSxjQUFjO3VHQUFkLGNBQWM7d0dBQWQsY0FBYyxpQkFMUixpQkFBaUIsYUFDckIsWUFBWSxhQUNiLGlCQUFpQjt3R0FHbEIsY0FBYyxZQUpaLFlBQVk7O1NBSWQsY0FBYzsyRkFBZCxjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYUmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9yZXN1bHQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFJlc3VsdENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgXSxcbiAgICBleHBvcnRzOiBbQVhSZXN1bHRDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUmVzdWx0TW9kdWxlIHt9Il19
|
@@ -1,3 +1,3 @@
|
|
1
1
|
export * from './src/search-box.component';
|
2
2
|
export * from './src/search-box.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zZWFyY2gtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZWFyY2gtYm94Lm1vZHVsZSc7XG4iXX0=
|
@@ -31,12 +31,12 @@ class AXSearchBoxComponent extends AXBaseComponentMixin {
|
|
31
31
|
this._textbox.value = '';
|
32
32
|
}
|
33
33
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXSearchBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXSearchableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: { placeholder: "placeholder", debounceTime: "debounceTime", searchExp: "searchExp" }, viewQueries: [{ propertyName: "_textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: { placeholder: "placeholder", debounceTime: "debounceTime", searchExp: "searchExp" }, viewQueries: [{ propertyName: "_textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\n (onValueChanged)=\"_onSearchExprChanged($event)\">\n <ax-prefix>\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n </ax-prefix>\n <ax-suffix>\n <button *ngIf=\"searchExp\" class=\"ax-general-button ax-button-icon\" (click)=\"clear()\">\n <span class=\"ax-icon ax-icon-close\"></span>\n </button>\n </ax-suffix>\n</ax-text-box>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i2.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "mask-options"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
35
35
|
}
|
36
36
|
export { AXSearchBoxComponent };
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXSearchBoxComponent, decorators: [{
|
38
38
|
type: Component,
|
39
|
-
args: [{ selector: 'ax-search-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\
|
39
|
+
args: [{ selector: 'ax-search-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\n (onValueChanged)=\"_onSearchExprChanged($event)\">\n <ax-prefix>\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n </ax-prefix>\n <ax-suffix>\n <button *ngIf=\"searchExp\" class=\"ax-general-button ax-button-icon\" (click)=\"clear()\">\n <span class=\"ax-icon ax-icon-close\"></span>\n </button>\n </ax-suffix>\n</ax-text-box>" }]
|
40
40
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i5.AXSearchableComponent, decorators: [{
|
41
41
|
type: Optional
|
42
42
|
}, {
|
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
52
52
|
}], searchExp: [{
|
53
53
|
type: Input
|
54
54
|
}] } });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94L3NyYy9zZWFyY2gtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gvc3JjL3NlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEdBRXRCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFaEUsTUFNYSxvQkFBcUIsU0FBUSxvQkFBb0I7SUFTbEQ7SUFQVixRQUFRLENBQXFCO0lBRTdCLFlBQ0UsV0FBdUIsRUFDdkIsSUFBdUIsRUFHZixPQUE4QjtRQUV0QyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRmpCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBR3hDLENBQUM7SUFHRCxXQUFXLEdBQVcsZUFBZSxDQUFDO0lBR3RDLFlBQVksR0FBVyxHQUFHLENBQUM7SUFHM0IsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUV2QixvQkFBb0IsQ0FBQyxDQUE4QjtRQUNqRCxvQkFBb0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFZLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQXBDVSxvQkFBb0IsNkVBUXJCLHFCQUFxQjsyRkFScEIsb0JBQW9CLDZMQUNwQixrQkFBa0IsdUVDekIvQiwyZEFVYzs7U0RjRCxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQVNsQyxRQUFROzswQkFDUixNQUFNOzJCQUFDLHFCQUFxQjs0Q0FOL0IsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFjN0IsV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9wdGlvbmFsLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhTZWFyY2hhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVlQ2hhbmdlZEV2ZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0Ym94JztcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2VhcmNoLWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VhcmNoQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4ge1xuICBAVmlld0NoaWxkKEFYVGV4dEJveENvbXBvbmVudClcbiAgX3RleHRib3g6IEFYVGV4dEJveENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoQVhTZWFyY2hhYmxlQ29tcG9uZW50KVxuICAgIHByaXZhdGUgX3BhcmVudDogQVhTZWFyY2hhYmxlQ29tcG9uZW50XG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnY29tbW9uLnNlYXJjaCc7XG5cbiAgQElucHV0KClcbiAgZGVib3VuY2VUaW1lOiBudW1iZXIgPSA1MDA7XG5cbiAgQElucHV0KClcbiAgc2VhcmNoRXhwOiBzdHJpbmcgPSAnJztcblxuICBfb25TZWFyY2hFeHByQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PHN0cmluZz4pIHtcbiAgICAvL1RPRE86IGRlYm91bmNlVGltZVxuICAgIGlmICh0aGlzLl9wYXJlbnQgJiYgdGhpcy5fcGFyZW50LnNlYXJjaCkge1xuICAgICAgdGhpcy5fcGFyZW50LnNlYXJjaChlLnZhbHVlIGFzIGFueSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5fdGV4dGJveD8uZm9jdXMoKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuX3RleHRib3gudmFsdWUgPSAnJztcbiAgfVxufVxuIiwiPGF4LXRleHQtYm94IHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfCB0cmFucyB9fVwiIFsodmFsdWUpXT1cInNlYXJjaEV4cFwiXG4gICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9vblNlYXJjaEV4cHJDaGFuZ2VkKCRldmVudClcIj5cbiAgICA8YXgtcHJlZml4PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1zZWFyY2ggYXgtZWRpdG9yLWNvbnRyb2xcIj48L3NwYW4+XG4gICAgPC9heC1wcmVmaXg+XG4gICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlYXJjaEV4cFwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiY2xlYXIoKVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2xvc2VcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvYXgtc3VmZml4PlxuPC9heC10ZXh0LWJveD4iXX0=
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
23
23
|
providers: [],
|
24
24
|
}]
|
25
25
|
}] });
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94L3NyYy9zZWFyY2gtYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUUzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRXhHLE1BTWEsaUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkFUWCxvQkFBb0IsYUFDdEIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxjQUFjLGFBRG5GLG9CQUFvQjt3R0FTMUIsaUJBQWlCLFlBSmIsT0FBTzs7U0FJWCxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0Ym94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYU2VhcmNoQm94Q29tcG9uZW50XTtcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlLCBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWERlY29yYXRvck1vZHVsZSwgQVhUZXh0Qm94TW9kdWxlLCBBWEJ1dHRvbk1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTZWFyY2hCb3hNb2R1bGUgeyB9XG4iXX0=
|
@@ -1,3 +1,3 @@
|
|
1
1
|
export * from './src/selectbox.component';
|
2
2
|
export * from './src/selectbox.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3Rib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NlbGVjdGJveC5tb2R1bGUnOyJdfQ==
|
@@ -329,7 +329,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
|
|
329
329
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", readonly: "readonly", pageSize: "pageSize", items: "items", valueField: "valueField", textField: "textField", disabledField: "disabledField", disabledCallback: "disabledCallback", multiple: "multiple", selectionMode: "selectionMode", clearButton: "clearButton", checkbox: "checkbox" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, classAttribute: "ax-editor-container ax-drop-down" }, providers: [
|
330
330
|
{ provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
|
331
331
|
{ provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
|
332
|
-
], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n class=\"ax-select-box-selection\"\r\n [tabindex]=\"tabIndex\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container\r\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container\r\n *ngIf=\"\r\n !multiple;\r\n then singleSelectedTemplate;\r\n else multipleSelectedTemplate\r\n \"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <div class=\"ax-select-multi-item\">\r\n {{ _getItemDisplayTextTemplte(item) }}\r\n <span\r\n class=\"ax-icon ax-icon-close\"\r\n (click)=\"_handleBadgeRemove($event, item)\">\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button\r\n color=\"light\"\r\n look=\"blank\"\r\n (onClick)=\"clear()\"\r\n [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\r\n</ax-button>\r\n<button\r\n [disabled]=\"disabled\"\r\n [tabIndex]=\"-1\"\r\n class=\"ax-editor-control\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ng-container>\r\n <ng-template #iconTemplate>\r\n <span\r\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\r\n [ngClass]=\"{\r\n '-ax-rotation-90': !isOpen,\r\n 'ax-rotation-90': isOpen\r\n }\"></span>\r\n </ng-template>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n (keydown)=\"_handlePopoverKeydown($event)\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\r\n [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isActionSheet\">\r\n <ax-title>{{ _popoverTitle }}</ax-title>\r\n <ax-close-button\r\n class=\"ax-icon\"\r\n [icon]=\"\r\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\r\n \"></ax-close-button>\r\n </ax-header>\r\n <div\r\n class=\"ax-search-box-container\"\r\n [class.ax-state-hidden]=\"!_searchBox\"\r\n [cdkTrapFocus]=\"_searchBox != null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div\r\n class=\"ax-content ax-list-items-container ax-default\"\r\n (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container\r\n *ngFor=\"\r\n let item of list;\r\n let i = index;\r\n trackBy: _trackByFunction\r\n \">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li\r\n class=\"ax-list-item\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: { $implicit: item, direction: direction }\r\n \">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\r\n <li\r\n class=\"ax-list-item-group\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n tmpTree;\r\n context: { list: item.children }\r\n \">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li\r\n class=\"ax-list-item\"\r\n [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <span\r\n class=\"ax-icon ax-icon-done ax-selected-icon\"\r\n *ngIf=\"isItemSelected(item)\"></span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li\r\n class=\"ax-list-item\"\r\n [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-state-checkbox]=\"checkbox\"\r\n [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span>\r\n <input\r\n class=\"ax-checkbox\"\r\n type=\"checkbox\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n *ngIf=\"checkbox\"\r\n [checked]=\"isItemSelected(item)\"\r\n [disabled]=\"isItemDisabled(item)\" />\r\n <span class=\"ax-checkbox-label\">{{\r\n _getItemDisplayTextTemplte(item)\r\n }}</span>\r\n </span>\r\n <span\r\n class=\"ax-icon ax-icon-done ax-selected-icon\"\r\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading\r\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div\r\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"\r\n 'common.no-result-for'\r\n | trans\r\n : {\r\n exp: this._searchBox ? this._searchBox.searchExp : ''\r\n }\r\n \"></div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i6.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
332
|
+
], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div\n class=\"ax-dropdown-content\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleInputClickEvent($event)\">\n <div\n class=\"ax-select-box-selection\"\n [tabindex]=\"tabIndex\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container\n *ngIf=\"\n !multiple;\n then singleSelectedTemplate;\n else multipleSelectedTemplate\n \"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span\n class=\"ax-icon ax-icon-close\"\n (click)=\"_handleBadgeRemove($event, item)\">\n </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button\n color=\"light\"\n look=\"blank\"\n (onClick)=\"clear()\"\n [tabIndex]=\"-1\"\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button\n class=\"ax-icon\"\n [icon]=\"\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\n \"></ax-close-button>\n </ax-header>\n <div\n class=\"ax-search-box-container\"\n [class.ax-state-hidden]=\"!_searchBox\"\n [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div\n class=\"ax-content ax-list-items-container ax-default\"\n (scroll)=\"_handleListScroll($event)\"\n #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\n </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container\n *ngFor=\"\n let item of list;\n let i = index;\n trackBy: _trackByFunction\n \">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li\n class=\"ax-list-item\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: { $implicit: item, direction: direction }\n \">\n </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li\n class=\"ax-list-item-group\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container\n *ngTemplateOutlet=\"\n tmpTree;\n context: { list: item.children }\n \">\n </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n *ngIf=\"checkbox\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{\n _getItemDisplayTextTemplte(item)\n }}</span>\n </span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i6.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
333
333
|
}
|
334
334
|
export { AXSelectBoxComponent };
|
335
335
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
|
@@ -368,7 +368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
368
368
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
369
369
|
{ provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
|
370
370
|
{ provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
|
371
|
-
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n class=\"ax-select-box-selection\"\r\n [tabindex]=\"tabIndex\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container\r\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container\r\n *ngIf=\"\r\n !multiple;\r\n then singleSelectedTemplate;\r\n else multipleSelectedTemplate\r\n \"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <div class=\"ax-select-multi-item\">\r\n {{ _getItemDisplayTextTemplte(item) }}\r\n <span\r\n class=\"ax-icon ax-icon-close\"\r\n (click)=\"_handleBadgeRemove($event, item)\">\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button\r\n color=\"light\"\r\n look=\"blank\"\r\n (onClick)=\"clear()\"\r\n [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\r\n</ax-button>\r\n<button\r\n [disabled]=\"disabled\"\r\n [tabIndex]=\"-1\"\r\n class=\"ax-editor-control\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ng-container>\r\n <ng-template #iconTemplate>\r\n <span\r\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\r\n [ngClass]=\"{\r\n '-ax-rotation-90': !isOpen,\r\n 'ax-rotation-90': isOpen\r\n }\"></span>\r\n </ng-template>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n (keydown)=\"_handlePopoverKeydown($event)\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\r\n [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isActionSheet\">\r\n <ax-title>{{ _popoverTitle }}</ax-title>\r\n <ax-close-button\r\n class=\"ax-icon\"\r\n [icon]=\"\r\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\r\n \"></ax-close-button>\r\n </ax-header>\r\n <div\r\n class=\"ax-search-box-container\"\r\n [class.ax-state-hidden]=\"!_searchBox\"\r\n [cdkTrapFocus]=\"_searchBox != null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div\r\n class=\"ax-content ax-list-items-container ax-default\"\r\n (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container\r\n *ngFor=\"\r\n let item of list;\r\n let i = index;\r\n trackBy: _trackByFunction\r\n \">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li\r\n class=\"ax-list-item\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: { $implicit: item, direction: direction }\r\n \">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\r\n <li\r\n class=\"ax-list-item-group\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n tmpTree;\r\n context: { list: item.children }\r\n \">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li\r\n class=\"ax-list-item\"\r\n [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <span\r\n class=\"ax-icon ax-icon-done ax-selected-icon\"\r\n *ngIf=\"isItemSelected(item)\"></span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li\r\n class=\"ax-list-item\"\r\n [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-state-checkbox]=\"checkbox\"\r\n [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event, item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span>\r\n <input\r\n class=\"ax-checkbox\"\r\n type=\"checkbox\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n *ngIf=\"checkbox\"\r\n [checked]=\"isItemSelected(item)\"\r\n [disabled]=\"isItemDisabled(item)\" />\r\n <span class=\"ax-checkbox-label\">{{\r\n _getItemDisplayTextTemplte(item)\r\n }}</span>\r\n </span>\r\n <span\r\n class=\"ax-icon ax-icon-done ax-selected-icon\"\r\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading\r\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div\r\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"\r\n 'common.no-result-for'\r\n | trans\r\n : {\r\n exp: this._searchBox ? this._searchBox.searchExp : ''\r\n }\r\n \"></div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"] }]
|
371
|
+
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div\n class=\"ax-dropdown-content\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleInputClickEvent($event)\">\n <div\n class=\"ax-select-box-selection\"\n [tabindex]=\"tabIndex\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container\n *ngIf=\"\n !multiple;\n then singleSelectedTemplate;\n else multipleSelectedTemplate\n \"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span\n class=\"ax-icon ax-icon-close\"\n (click)=\"_handleBadgeRemove($event, item)\">\n </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button\n color=\"light\"\n look=\"blank\"\n (onClick)=\"clear()\"\n [tabIndex]=\"-1\"\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button\n class=\"ax-icon\"\n [icon]=\"\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\n \"></ax-close-button>\n </ax-header>\n <div\n class=\"ax-search-box-container\"\n [class.ax-state-hidden]=\"!_searchBox\"\n [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div\n class=\"ax-content ax-list-items-container ax-default\"\n (scroll)=\"_handleListScroll($event)\"\n #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\n </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container\n *ngFor=\"\n let item of list;\n let i = index;\n trackBy: _trackByFunction\n \">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li\n class=\"ax-list-item\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: { $implicit: item, direction: direction }\n \">\n </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li\n class=\"ax-list-item-group\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container\n *ngTemplateOutlet=\"\n tmpTree;\n context: { list: item.children }\n \">\n </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n *ngIf=\"checkbox\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{\n _getItemDisplayTextTemplte(item)\n }}</span>\n </span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"] }]
|
372
372
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
|
373
373
|
type: ViewChild,
|
374
374
|
args: [AXPopoverComponent, { static: true }]
|
@@ -389,4 +389,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
389
389
|
type: HostListener,
|
390
390
|
args: ['keydown', ['$event']]
|
391
391
|
}] } });
|
392
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gvc3JjL3NlbGVjdGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94L3NyYy9zZWxlY3Rib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsR0FDdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUV4RTs7OztHQUlHO0FBQ0gsTUE2Q2Esb0JBQXFCLFNBQVEsNEJBQTRCO0lBdUMxRDtJQUNBO0lBQ0E7SUFDQTtJQXhDVixPQUFPLENBQXFCO0lBRzVCLFVBQVUsQ0FBdUI7SUFFakMsT0FBTyxDQUFpQjtJQUN4QixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBRXRCOztPQUVHO0lBRUgsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUU3Qjs7T0FFRztJQUVILFFBQVEsR0FBWSxLQUFLLENBQUM7SUFHbEIsYUFBYSxDQUE2QjtJQUcxQyxxQkFBcUIsQ0FBbUI7SUFFaEQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3Qjs7T0FFRztJQUNILFlBQ1UsV0FBdUMsRUFDdkMsSUFBdUIsRUFDdkIsS0FBYSxFQUNiLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMakIsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFZO1FBRzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBYTtRQUNsQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBYTtRQUNsQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNO1FBQ0osS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUU5QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVTtRQUNSLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUM5QyxtSUFBbUk7UUFDbkksSUFBSSxDQUFDLGFBQWE7WUFDaEIsSUFBSSxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDMUUsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQWEsRUFBRSxJQUFTO1FBQ3pDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFRO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUF3QixDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDMUQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUN6RDtZQUNBLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztpQkFDMUI7Z0JBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFhLEVBQUUsUUFBYTtRQUMxQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsQ0FBYSxFQUFFLElBQVM7UUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQWEsRUFBRSxJQUFJO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFHRCxjQUFjLENBQUMsQ0FBZ0I7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUMvQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDL0IsQ0FBQztRQUNGLElBQ0UsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUztZQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQzdEO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE9BQU87U0FDUjthQUFNLElBQ0wsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztZQUN0RSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNwQixDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFDcEI7WUFDQSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNiO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDYjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDekQ7YUFDRjtZQUNELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPO1NBQ1I7YUFBTSxJQUFJLFFBQVEsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE9BQU87U0FDUjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxDQUFnQjtRQUNwQyxJQUNHLENBQUMsQ0FBQyxNQUFzQixDQUFDLE9BQU8sSUFBSSxPQUFPO1lBQzVDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRXZDLE9BQU87UUFDVCxJQUNFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM1QjtZQUNBLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDcEI7YUFBTSxJQUNMLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVztZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQzdEO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNuRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDNUMsaUJBQWlCLENBQ2xCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFVBQVU7Z0JBQ2YsYUFBYTthQUNkLENBQUMsQ0FBQztZQUNILElBQUksV0FBVyxFQUFFO2dCQUNmLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRTtvQkFDcEMsT0FBTztpQkFDUjtnQkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjthQUFNLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNyQjthQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFDRSxJQUFJLENBQUMsVUFBVTtZQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQ25EO1lBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsSUFBWTtRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQ1gsRUFBRSxDQUFDLDhCQUE4QixDQUFDO1lBQ2xDLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNyQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLEdBQUcsQ0FDVCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FDekQsQ0FBQztRQUNqQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0wsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3RELElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sR0FBRyxHQUFHLENBQ1YsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQ3RFLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsRUFBRTtvQkFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBUSxDQUFDLENBQUM7aUJBQ2xDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sT0FBTyxHQUNYLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxFQUFlO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDWCxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUNsQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7aUJBQ3pDO3FCQUFNO29CQUNMLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ3RDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDOztnQkFDaEUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxLQUFLLEdBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssRUFBRTtZQUNULENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFVBQVU7Z0JBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ1YsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQzlDLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDVixJQUFJLEdBQUcsR0FBRyxDQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7YUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzt1R0FoV1Usb0JBQW9COzJGQUFwQixvQkFBb0IscTVCQU5wQjtZQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRTtZQUNuRSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUU7U0FDdEUsa0VBT2Esb0JBQW9CLGdOQUh2QixrQkFBa0Isb01DN0UvQiwrbFRBdU9BOztTRDNKYSxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkE3Q2hDLFNBQVM7K0JBQ0UsZUFBZSxVQUdqQjt3QkFDTixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsTUFBTTt3QkFDTixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixVQUFVO3dCQUNWLGVBQWU7cUJBQ2hCLFdBQ1E7d0JBQ1AsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHNCQUFzQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLHNCQUFzQixFQUFFO3FCQUN0RSxRQUNLLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFOytLQUluRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVdwRCxXQUFXO3NCQURWLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQUlFLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEMscUJBQXFCO3NCQUQ1QixZQUFZO3VCQUFDLGVBQWU7Z0JBMkg3QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaW5kTGFzdCwgZmluZExhc3RJbmRleCwgZmlyc3QsIGxhc3QsIG50aCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhDbGlja0V2ZW50LFxyXG4gIEFYQ2xvc2JhbGVDb21wb25lbnQsXHJcbiAgQVhTZWFyY2hhYmxlQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcclxuaW1wb3J0IHsgQVhCYXNlU2VsZWN0aW9uRHJvcGRvd25NaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1zZWxlY3QtYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Ym94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rib3guY29tcG9uZW50LnNjc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICdpc09wZW4nLFxyXG4gICAgJ2ZpdFBhcmVudCcsXHJcbiAgICAnZHJvcGRvd25XaWR0aCcsXHJcbiAgICAncG9zaXRpb24nLFxyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgICAncGxhY2Vob2xkZXInLFxyXG4gICAgJ21heExlbmd0aCcsXHJcbiAgICAndHlwZScsXHJcbiAgICAnYXV0b0NvbXBsZXRlJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAncGFnZVNpemUnLFxyXG4gICAgJ2l0ZW1zJyxcclxuICAgICd2YWx1ZUZpZWxkJyxcclxuICAgICd0ZXh0RmllbGQnLFxyXG4gICAgJ2Rpc2FibGVkRmllbGQnLFxyXG4gICAgJ2Rpc2FibGVkQ2FsbGJhY2snLFxyXG4gICAgJ211bHRpcGxlJyxcclxuICAgICdzZWxlY3Rpb25Nb2RlJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICdvbk9wZW5lZCcsXHJcbiAgICAnb25DbG9zZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveENvbXBvbmVudCB9LFxyXG4gICAgeyBwcm92aWRlOiBBWFNlYXJjaGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveENvbXBvbmVudCB9LFxyXG4gIF0sXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWVkaXRvci1jb250YWluZXIgYXgtZHJvcC1kb3duJyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VTZWxlY3Rpb25Ecm9wZG93bk1peGluIHtcclxuICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQVhTZWFyY2hCb3hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgX3NlYXJjaEJveDogQVhTZWFyY2hCb3hDb21wb25lbnQ7XHJcblxyXG4gIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIF9wb3BvdmVyVGl0bGU6IHN0cmluZztcclxuICBfcG9wb3ZlcldpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqICBEZWZpbmVzIHRoZSBjbGVhckJ1dHRvbi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGNsZWFyQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqICBEZWZpbmVzIHRoZSBjaGVja2JveC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGNoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgbGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2VtcHR5VGVtcGxhdGUnKVxyXG4gIHByaXZhdGUgX2NvbnRlbnRFbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50RW1wdHlUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIF9pc0FjdGlvblNoZWV0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgX2ZvcmNlRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIHRoaXMuX2lzQWN0aW9uU2hlZXQgPSB0aGlzLl9wbGF0Zm9ybS5pcygnU00nKTtcclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9pc0FjdGlvblNoZWV0ID0gdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJyk7XHJcbiAgICAgIHRoaXMucG9wb3Zlci5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuX2RldGVjdFBvcHVwU2l6ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAvLyBlLm5hdGl2ZUV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLl91cGRhdGVQb3B1cFRpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBvblZpZXdJbml0KCkge1xyXG4gICAgc3VwZXIub25WaWV3SW5pdCgpO1xyXG4gICAgdGhpcy5fZGV0ZWN0UG9wdXBTaXplKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICBzdXBlci5yZWZyZXNoKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVQb3B1cFRpdGxlKCkge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCB8fCAwO1xyXG4gICAgLy90aGlzLl9wb3BvdmVyVGl0bGUgPSBjb3VudCA+IDEgPyBgKCR7Y291bnR9KSBpdGVtcyBzZWxlY3RlZGAgOiAodGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpKTtcclxuICAgIHRoaXMuX3BvcG92ZXJUaXRsZSA9XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgfHwgQVhUcmFuc2xhdG9yLmdldCgnc2VsZWN0Ym94LnBvcG92ZXIudGl0bGUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGVjdFBvcHVwU2l6ZSgpIHtcclxuICAgIHRoaXMuX3BvcG92ZXJXaWR0aCA9IHRoaXMuX2lzQWN0aW9uU2hlZXQgPyAwIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgaWYgKHRoaXMuaXNJdGVtRGlzYWJsZWQoaXRlbSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB0aGlzLmNsb3NlKCk7XHJcbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcclxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlTGlzdFNjcm9sbChlOiBFdmVudCkge1xyXG4gICAgY29uc3QgbGlzdCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaWYgKGxpc3Quc2Nyb2xsVG9wIDwgbGlzdC5zY3JvbGxIZWlnaHQgLSBsaXN0LmNsaWVudEhlaWdodCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrRm9yTG9hZERhdGEoKSB7XHJcbiAgICBjb25zdCBsaXN0OiBhbnkgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5sb2FkZWRDb3VudCA8IHRoaXMudG90YWxDb3VudCAmJlxyXG4gICAgICBsaXN0LnNjcm9sbEhlaWdodCA8IGxpc3QucGFyZW50RWxlbWVudC5jbGllbnRIZWlnaHQgKiAxLjVcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vbkRhdGFMb2FkZWQoKSB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyLmlzT3Blbikge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLl9jaGVja0ZvckxvYWREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5wb3BvdmVyLnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ZvcmNlRm9jdXMpIHtcclxuICAgICAgICAgIHRoaXMuX2ZvY3VzU2VsZWN0ZWRJdGVtKCk7XHJcbiAgICAgICAgICB0aGlzLl9mb3JjZUZvY3VzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZvY3VzU2VhcmNoQm94KCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSkge1xyXG4gICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25SZW1vdmVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnVuc2VsZWN0SXRlbXMoaXRlbSk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUJhZGdlUmVtb3ZlKGU6IE1vdXNlRXZlbnQsIGl0ZW0pIHtcclxuICAgIHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpc0xldHRlciA9IG5ldyBSZWdFeHAoL1thLXpBLVowLTlcXC1dLykudGVzdChcclxuICAgICAgU3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUpXHJcbiAgICApO1xyXG4gICAgaWYgKFxyXG4gICAgICBlLmNvZGUgPT09ICdCYWNrc3BhY2UnICYmXHJcbiAgICAgIGUudHlwZSA9PT0gJ2tleWRvd24nICYmXHJcbiAgICAgICgodGhpcy5hbGxvd051bGwgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHx8XHJcbiAgICAgICAgKHRoaXMuYWxsb3dOdWxsICE9PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSlcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW1zKHRoaXMuc2VsZWN0ZWRJdGVtcy5wb3AoKSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgKGUuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZS5jb2RlID09PSAnQXJyb3dVcCcgfHwgZS5jb2RlID09PSAnU3BhY2UnKSAmJlxyXG4gICAgICAhdGhpcy5wb3BvdmVyLmlzT3BlbiAmJlxyXG4gICAgICBlLnR5cGUgPT09ICdrZXlkb3duJ1xyXG4gICAgKSB7XHJcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgaWYgKGUuY3RybEtleSB8fCBlLmNvZGUgPT09ICdTcGFjZScpIHtcclxuICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1CeU5hdihlLmtleSA9PT0gJ0Fycm93RG93bicgPyAxIDogLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSBpZiAoaXNMZXR0ZXIpIHtcclxuICAgICAgdGhpcy50ZXh0ID0gZS5rZXk7XHJcbiAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9oYW5kbGVQb3BvdmVyS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkudGFnTmFtZSA9PSAnSU5QVVQnICYmXHJcbiAgICAgIFsnU3BhY2UnLCAnQmFja3NwYWNlJ10uaW5jbHVkZXMoZS5jb2RlKVxyXG4gICAgKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAoXHJcbiAgICAgIChlLmtleSA9PT0gJ0Fycm93RG93bicgfHwgZS5rZXkgPT09ICdBcnJvd1VwJykgJiZcclxuICAgICAgdGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9mb2N1c0l0ZW1CeU5hdihlLmtleSA9PT0gJ0Fycm93RG93bicgPyAxIDogLTEpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBlLmNvZGUgPT09ICdCYWNrc3BhY2UnICYmXHJcbiAgICAgICgodGhpcy5hbGxvd051bGwgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHx8XHJcbiAgICAgICAgKHRoaXMuYWxsb3dOdWxsICE9PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSlcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW1zKHRoaXMuc2VsZWN0ZWRJdGVtcy5wb3AoKSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH0gZWxzZSBpZiAoZS5jb2RlID09PSAnU3BhY2UnIHx8IGUuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IGZvY3VzZWRJdGVtSWQgPVxyXG4gICAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KFxyXG4gICAgICAgICAgJy5heC1zdGF0ZS1mb2N1cydcclxuICAgICAgICApPy5kYXRhc2V0Py5pZDtcclxuICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSBmaW5kTGFzdCh0aGlzLmZsYXRJdGVtcywgW1xyXG4gICAgICAgIHRoaXMudmFsdWVGaWVsZCxcclxuICAgICAgICBmb2N1c2VkSXRlbUlkLFxyXG4gICAgICBdKTtcclxuICAgICAgaWYgKGZvY3VzZWRJdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNJdGVtRGlzYWJsZWQoZm9jdXNlZEl0ZW0pKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KGZvY3VzZWRJdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGZvY3VzZWRJdGVtKTtcclxuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZS5jb2RlID09PSAnVGFiJykge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgX2hhbmRsZVBvcHVwT25PcGVuZWQoZSkge1xyXG4gICAgdGhpcy5fZGV0ZWN0UG9wdXBTaXplKCk7XHJcbiAgICB0aGlzLnBvcG92ZXIuZm9jdXMoKTtcclxuICAgIGlmICh0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLl9mb3JjZUZvY3VzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9mb2N1c1NlbGVjdGVkSXRlbSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZm9jdXNTZWFyY2hCb3goKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVQb3B1cE9uQ2xvc2VkKGUpIHtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZvY3VzU2VhcmNoQm94KCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLl9zZWFyY2hCb3ggJiZcclxuICAgICAgKCF0aGlzLl9pc0FjdGlvblNoZWV0IHx8IHRoaXMuX3NlYXJjaEJveC5zZWFyY2hFeHApXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5fc2VhcmNoQm94LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb2N1c0l0ZW1CeU5hdihzaWduOiAtMSB8IDEpOiB2b2lkIHtcclxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGZuID0gcyA9PiBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KHMpO1xyXG4gICAgY29uc3QgaXRlbURpdjogYW55ID1cclxuICAgICAgZm4oYC5heC1saXN0LWl0ZW0uYXgtc3RhdGUtZm9jdXNgKSB8fFxyXG4gICAgICBmbihgLmF4LWxpc3QtaXRlbS5heC1zdGF0ZS1zZWxlY3RlZGApIHx8XHJcbiAgICAgIGZuKGAuYXgtbGlzdC1pdGVtYCk7XHJcbiAgICBsZXQgbmV4dCA9IChcclxuICAgICAgc2lnbiA9PSAxID8gaXRlbURpdi5uZXh0RWxlbWVudFNpYmxpbmcgOiBpdGVtRGl2LnByZXZpb3VzRWxlbWVudFNpYmxpbmdcclxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAobmV4dCkge1xyXG4gICAgICB0aGlzLl9mb2N1c0l0ZW1FbGVtZW50KG5leHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gaXRlbURpdi5jbG9zZXN0KCcuYXgtbGlzdC1pdGVtLWdyb3VwJyk7XHJcbiAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICBjb25zdCBsaXMgPSAoXHJcbiAgICAgICAgICBzaWduID09IDEgPyBwYXJlbnQubmV4dEVsZW1lbnRTaWJsaW5nIDogcGFyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmdcclxuICAgICAgICApPy5xdWVyeVNlbGVjdG9yQWxsKCdsaScpO1xyXG4gICAgICAgIGNvbnN0IGEgPSBzaWduID09IDEgPyBmaXJzdChsaXMpIDogbGFzdChsaXMpO1xyXG4gICAgICAgIGlmIChhKSB7XHJcbiAgICAgICAgICB0aGlzLl9mb2N1c0l0ZW1FbGVtZW50KGEgYXMgYW55KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZvY3VzU2VsZWN0ZWRJdGVtKCkge1xyXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgZm4gPSBzID0+IGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4ocyk7XHJcbiAgICAgIGNvbnN0IGl0ZW1EaXYgPVxyXG4gICAgICAgIGZuKGAuYXgtbGlzdC1pdGVtLmF4LXN0YXRlLXNlbGVjdGVkYCkgfHwgZm4oYC5heC1saXN0LWl0ZW1gKTtcclxuICAgICAgaWYgKGl0ZW1EaXYpIHtcclxuICAgICAgICB0aGlzLl9mb2N1c0l0ZW1FbGVtZW50KGl0ZW1EaXYpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZvY3VzSXRlbUVsZW1lbnQoZWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBsaXN0LnF1ZXJ5U2VsZWN0b3JBbGwoJy5heC1saXN0LWl0ZW0nKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgIGlmIChjID09IGVsKSB7XHJcbiAgICAgICAgICBjLmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWZvY3VzJyk7XHJcbiAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnYXV0bycgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGMuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZm9jdXMnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoIXRoaXMuX2lzQWN0aW9uU2hlZXQgJiYgdGhpcy5fc2VhcmNoQm94KSB0aGlzLl9zZWFyY2hCb3guZm9jdXMoKTtcclxuICAgICAgZWxzZSBlbC5mb2N1cygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1CeU5hdihzaWduOiAtMSB8IDEpOiB2b2lkIHtcclxuICAgIGNvbnN0IF9sYXN0OiBhbnkgPSBsYXN0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICBpZiAoX2xhc3QpIHtcclxuICAgICAgaSA9IGZpbmRMYXN0SW5kZXgodGhpcy5mbGF0SXRlbXMsIFtcclxuICAgICAgICB0aGlzLnZhbHVlRmllbGQsXHJcbiAgICAgICAgX2xhc3RbdGhpcy52YWx1ZUZpZWxkXSxcclxuICAgICAgXSk7XHJcbiAgICB9XHJcbiAgICBpICs9IHNpZ247XHJcbiAgICBsZXQgbmV4dCA9IG50aDxhbnk+KHRoaXMuZmxhdEl0ZW1zLCBpKTtcclxuICAgIHdoaWxlIChuZXh0Py5jaGlsZHJlbiAmJiBuZXh0Py5jaGlsZHJlbi5sZW5ndGgpIHtcclxuICAgICAgaSArPSBzaWduO1xyXG4gICAgICBuZXh0ID0gbnRoPGFueT4odGhpcy5mbGF0SXRlbXMsIGkpO1xyXG4gICAgfVxyXG4gICAgaWYgKG5leHQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RJdGVtcyhuZXh0KTtcclxuICAgIH0gZWxzZSBpZiAobmV4dCA9PSBudWxsICYmIHNpZ24gPT0gMSkge1xyXG4gICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaChleHA6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbXB0eSgpO1xyXG4gICAgdGhpcy5fZm9yY2VGb2N1cyA9IHRydWU7XHJcbiAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICB9XHJcblxyXG4gIF9mZXRjaERhdGEoKSB7XHJcbiAgICBzdXBlci5fZmV0Y2hEYXRhKHsgc2VhcmNoUXVlcnk6IHRoaXMuX3NlYXJjaEJveD8uc2VhcmNoRXhwIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxyXG48ZGl2XHJcbiAgY2xhc3M9XCJheC1kcm9wZG93bi1jb250ZW50XCJcclxuICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIChjbGljayk9XCJfaGFuZGxlSW5wdXRDbGlja0V2ZW50KCRldmVudClcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImF4LXNlbGVjdC1ib3gtc2VsZWN0aW9uXCJcclxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zICYmIHNlbGVjdGVkSXRlbXMubGVuZ3RoOyBlbHNlIHNob3dQbGFjZWhvbGRlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICFtdWx0aXBsZTtcclxuICAgICAgICAgIHRoZW4gc2luZ2xlU2VsZWN0ZWRUZW1wbGF0ZTtcclxuICAgICAgICAgIGVsc2UgbXVsdGlwbGVTZWxlY3RlZFRlbXBsYXRlXHJcbiAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2luZ2xlU2VsZWN0ZWRUZW1wbGF0ZT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkSXRlbXNcIj5cclxuICAgICAgICAgIDxzcGFuPiB7eyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlICNtdWx0aXBsZVNlbGVjdGVkVGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc2VsZWN0LW11bHRpLWl0ZW1cIj5cclxuICAgICAgICAgICAge3sgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkgfX1cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVCYWRnZVJlbW92ZSgkZXZlbnQsIGl0ZW0pXCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Nob3dQbGFjZWhvbGRlcj5cclxuICAgICAgPGRpdiBjbGFzcz1cImF4LXBsYWNlaG9sZGVyXCIgcm9sZT1cInRleHRib3hcIiBhcmVhLXJlYWRvbmx5PVwidHJ1ZVwiPlxyXG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1idXR0b25cclxuICBjb2xvcj1cImxpZ2h0XCJcclxuICBsb29rPVwiYmxhbmtcIlxyXG4gIChvbkNsaWNrKT1cImNsZWFyKClcIlxyXG4gIFt0YWJJbmRleF09XCItMVwiXHJcbiAgKm5nSWY9XCJ2YWx1ZSAmJiBjbGVhckJ1dHRvbiAmJiAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxyXG4gIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tY2xvc2VcIj48L2F4LWljb24+XHJcbjwvYXgtYnV0dG9uPlxyXG48YnV0dG9uXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbdGFiSW5kZXhdPVwiLTFcIlxyXG4gIGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRyb2xcIlxyXG4gIChjbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KCRldmVudClcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nICYmICF0aGlzLnBvcG92ZXIuaXNPcGVuOyBlbHNlIGljb25UZW1wbGF0ZVwiPlxyXG4gICAgPGF4LWxvYWRpbmcgdHlwZT1cInNwaW5uZXJcIj48L2F4LWxvYWRpbmc+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnQgYXgtdHJhbnNpdGlvbi1hbGxcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJy1heC1yb3RhdGlvbi05MCc6ICFpc09wZW4sXHJcbiAgICAgICAgJ2F4LXJvdGF0aW9uLTkwJzogaXNPcGVuXHJcbiAgICAgIH1cIj48L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XHJcbjxheC1wb3BvdmVyXHJcbiAgW3RhcmdldF09XCJfdGFyZ2V0XCJcclxuICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxyXG4gIFtvcGVuVHJpZ2dlcl09XCInbWFudWFsJ1wiXHJcbiAgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCJcclxuICBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgKG9uT3BlbmVkKT1cIl9oYW5kbGVQb3B1cE9uT3BlbmVkKCRldmVudClcIlxyXG4gIChvbkNsb3NlZCk9XCJfaGFuZGxlUG9wdXBPbkNsb3NlZCgkZXZlbnQpXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIlxyXG4gICAgKGtleWRvd24pPVwiX2hhbmRsZVBvcG92ZXJLZXlkb3duKCRldmVudClcIlxyXG4gICAgdGFiaW5kZXg9XCIwXCJcclxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcclxuICAgIGNka1RyYXBGb2N1c1xyXG4gICAgW2NsYXNzLmF4LW92ZXJsYXktYWN0aW9uc2hlZXRdPVwiX2lzQWN0aW9uU2hlZXRcIlxyXG4gICAgW2NsYXNzLmF4LWZ1bGxdPVwiX3NlYXJjaEJveCB8fCBpc0xhenlcIlxyXG4gICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJfcG9wb3ZlcldpZHRoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdFwiPlxyXG4gICAgICA8YXgtaGVhZGVyICpuZ0lmPVwiX2lzQWN0aW9uU2hlZXRcIj5cclxuICAgICAgICA8YXgtdGl0bGU+e3sgX3BvcG92ZXJUaXRsZSB9fTwvYXgtdGl0bGU+XHJcbiAgICAgICAgPGF4LWNsb3NlLWJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJheC1pY29uXCJcclxuICAgICAgICAgIFtpY29uXT1cIlxyXG4gICAgICAgICAgICBtdWx0aXBsZSA/ICdheC1pY29uLWRvbmUgIWF4LXRleHQtcHJpbWFyeS01MDAnIDogJ2F4LWljb24tY2xvc2UnXHJcbiAgICAgICAgICBcIj48L2F4LWNsb3NlLWJ1dHRvbj5cclxuICAgICAgPC9heC1oZWFkZXI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImF4LXNlYXJjaC1ib3gtY29udGFpbmVyXCJcclxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtaGlkZGVuXT1cIiFfc2VhcmNoQm94XCJcclxuICAgICAgICBbY2RrVHJhcEZvY3VzXT1cIl9zZWFyY2hCb3ggIT0gbnVsbFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNlYXJjaC1ib3hcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJheC1jb250ZW50IGF4LWxpc3QtaXRlbXMtY29udGFpbmVyIGF4LWRlZmF1bHRcIlxyXG4gICAgICAgIChzY3JvbGwpPVwiX2hhbmRsZUxpc3RTY3JvbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgI2xpc3RDb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlJdGVtcy5sZW5ndGg7IGVsc2UgdG1wRW1wdHlcIj5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidG1wVHJlZTsgY29udGV4dDogeyBsaXN0OiBkaXNwbGF5SXRlbXMgfVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0bXBUcmVlIGxldC1saXN0PVwibGlzdFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBsaXN0O1xyXG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4O1xyXG4gICAgICAgICAgICAgICAgICB0cmFja0J5OiBfdHJhY2tCeUZ1bmN0aW9uXHJcbiAgICAgICAgICAgICAgICBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtVGVtcGxhdGU7IGVsc2UgZGVmdWFsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbGlzdC1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaWRdPVwiaXRlbVt0aGlzLnZhbHVlRmllbGRdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgZGlyZWN0aW9uOiBkaXJlY3Rpb24gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmdWFsdFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMDsgZWxzZSB0bXBJdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWxpc3QtaXRlbS1ncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWlkXT1cIml0ZW1bdGhpcy52YWx1ZUZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7IF9nZXRJdGVtRGlzcGxheVRleHRUZW1wbHRlKGl0ZW0pIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcFRyZWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGxpc3Q6IGl0ZW0uY2hpbGRyZW4gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlOyBlbHNlIG11bHRpcGxlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWxpc3QtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1zZWxlY3RlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpc0l0ZW1EaXNhYmxlZChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWlkXT1cIml0ZW1bdGhpcy52YWx1ZUZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1pY29uIGF4LWljb24tZG9uZSBheC1zZWxlY3RlZC1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI211bHRpcGxlVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1saXN0LWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtY2hlY2tib3hdPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJpdGVtW3RoaXMudmFsdWVGaWVsZF1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY2hlY2tib3gtbGFiZWxcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWRvbmUgYXgtc2VsZWN0ZWQtaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0l0ZW1TZWxlY3RlZChpdGVtKSAmJiAhY2hlY2tib3hcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RlbXBsYXRlOyBlbHNlIGVsc2VMb2FkaW5nVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlTG9hZGluZ1RlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtcC00XCI+XHJcbiAgICAgICAgICAgICAgPGF4LWxvYWRpbmdcclxuICAgICAgICAgICAgICAgIHRleHQ9XCJ7eyAnbGF5b3V0LmxvYWRpbmcudGV4dCcgfCB0cmFucyB9fVwiPjwvYXgtbG9hZGluZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wRW1wdHk+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNFwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxyXG4gICAgICAgICAgICAgICAgICAnY29tbW9uLm5vLXJlc3VsdC1mb3InXHJcbiAgICAgICAgICAgICAgICAgICAgfCB0cmFuc1xyXG4gICAgICAgICAgICAgICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwOiB0aGlzLl9zZWFyY2hCb3ggPyB0aGlzLl9zZWFyY2hCb3guc2VhcmNoRXhwIDogJydcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtcy1jb250YWluZXIgYXgtdmVydGljYWwgYXgtZGVmYXVsdFwiIFtjbGFzcy5heC1mdWxsXT1cIl9pc01vYmlsZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImF4LWZvb3RlclwiPmZvb3RlcjwvZGl2PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+XHJcbiJdfQ==
|
392
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gvc3JjL3NlbGVjdGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94L3NyYy9zZWxlY3Rib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsR0FDdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUV4RTs7OztHQUlHO0FBQ0gsTUE2Q2Esb0JBQXFCLFNBQVEsNEJBQTRCO0lBdUMxRDtJQUNBO0lBQ0E7SUFDQTtJQXhDVixPQUFPLENBQXFCO0lBRzVCLFVBQVUsQ0FBdUI7SUFFakMsT0FBTyxDQUFpQjtJQUN4QixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBRXRCOztPQUVHO0lBRUgsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUU3Qjs7T0FFRztJ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QUFFO2dCQUkvQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVdwRCxXQUFXO3NCQURWLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQUlFLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEMscUJBQXFCO3NCQUQ1QixZQUFZO3VCQUFDLGVBQWU7Z0JBMkg3QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaW5kTGFzdCwgZmluZExhc3RJbmRleCwgZmlyc3QsIGxhc3QsIG50aCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIEFYQ2xvc2JhbGVDb21wb25lbnQsXG4gIEFYU2VhcmNoYWJsZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5cbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhCYXNlU2VsZWN0aW9uRHJvcGRvd25NaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5cbi8qKlxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0Ym94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogW1xuICAgICdpc09wZW4nLFxuICAgICdmaXRQYXJlbnQnLFxuICAgICdkcm9wZG93bldpZHRoJyxcbiAgICAncG9zaXRpb24nLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAnYWxsb3dOdWxsJyxcbiAgICAndmFsdWUnLFxuICAgICduYW1lJyxcbiAgICAnY2hlY2tlZCcsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAndHlwZScsXG4gICAgJ2F1dG9Db21wbGV0ZScsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAncGFnZVNpemUnLFxuICAgICdpdGVtcycsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICd0ZXh0RmllbGQnLFxuICAgICdkaXNhYmxlZEZpZWxkJyxcbiAgICAnZGlzYWJsZWRDYWxsYmFjaycsXG4gICAgJ211bHRpcGxlJyxcbiAgICAnc2VsZWN0aW9uTW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25PcGVuZWQnLFxuICAgICdvbkNsb3NlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2VsZWN0Qm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFNlYXJjaGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveENvbXBvbmVudCB9LFxuICBdLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0Qm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlU2VsZWN0aW9uRHJvcGRvd25NaXhpbiB7XG4gIEBWaWV3Q2hpbGQoQVhQb3BvdmVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWFNlYXJjaEJveENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3NlYXJjaEJveDogQVhTZWFyY2hCb3hDb21wb25lbnQ7XG5cbiAgX3RhcmdldDogSFRNTERpdkVsZW1lbnQ7XG4gIF9wb3BvdmVyVGl0bGU6IHN0cmluZztcbiAgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiAgRGVmaW5lcyB0aGUgY2xlYXJCdXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBjbGVhckJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiAgRGVmaW5lcyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBASW5wdXQoKVxuICBjaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2xpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIGxpc3RDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2VtcHR5VGVtcGxhdGUnKVxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEVtcHR5VGVtcGxhdGU7XG4gIH1cblxuICBfaXNBY3Rpb25TaGVldDogYm9vbGVhbiA9IGZhbHNlO1xuICBfZm9yY2VGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcbiAgICB0aGlzLl9pc0FjdGlvblNoZWV0ID0gdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJyk7XG4gICAgdGhpcy5fcGxhdGZvcm0ucmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9pc0FjdGlvblNoZWV0ID0gdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJyk7XG4gICAgICB0aGlzLnBvcG92ZXIuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fZGV0ZWN0UG9wdXBTaXplKCk7XG4gICAgfSk7XG4gIH1cblxuICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIC8vIGUubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIG9uSW5pdCgpIHtcbiAgICBzdXBlci5vbkluaXQoKTtcbiAgICB0aGlzLl90YXJnZXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLl91cGRhdGVQb3B1cFRpdGxlKCk7XG4gIH1cblxuICBvblZpZXdJbml0KCkge1xuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcbiAgICB0aGlzLl9kZXRlY3RQb3B1cFNpemUoKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgc3VwZXIucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUG9wdXBUaXRsZSgpIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuc2VsZWN0ZWRJdGVtcz8ubGVuZ3RoIHx8IDA7XG4gICAgLy90aGlzLl9wb3BvdmVyVGl0bGUgPSBjb3VudCA+IDEgPyBgKCR7Y291bnR9KSBpdGVtcyBzZWxlY3RlZGAgOiAodGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpKTtcbiAgICB0aGlzLl9wb3BvdmVyVGl0bGUgPVxuICAgICAgdGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0UG9wdXBTaXplKCkge1xuICAgIHRoaXMuX3BvcG92ZXJXaWR0aCA9IHRoaXMuX2lzQWN0aW9uU2hlZXQgPyAwIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICB9XG5cbiAgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkKGl0ZW0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5tdWx0aXBsZSkgdGhpcy5jbG9zZSgpO1xuICAgIHRoaXMudG9nZ2xlU2VsZWN0KGl0ZW0pO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBfaGFuZGxlTGlzdFNjcm9sbChlOiBFdmVudCkge1xuICAgIGNvbnN0IGxpc3QgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBpZiAobGlzdC5zY3JvbGxUb3AgPCBsaXN0LnNjcm9sbEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tGb3JMb2FkRGF0YSgpIHtcbiAgICBjb25zdCBsaXN0OiBhbnkgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoXG4gICAgICB0aGlzLmxvYWRlZENvdW50IDwgdGhpcy50b3RhbENvdW50ICYmXG4gICAgICBsaXN0LnNjcm9sbEhlaWdodCA8IGxpc3QucGFyZW50RWxlbWVudC5jbGllbnRIZWlnaHQgKiAxLjVcbiAgICApIHtcbiAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIF9vbkRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMucG9wb3Zlci5pc09wZW4pIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jaGVja0ZvckxvYWREYXRhKCk7XG4gICAgICAgIHRoaXMucG9wb3Zlci51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5fZm9yY2VGb2N1cykge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzU2VsZWN0ZWRJdGVtKCk7XG4gICAgICAgICAgdGhpcy5fZm9yY2VGb2N1cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZvY3VzU2VhcmNoQm94KCk7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgfVxuXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KSB7XG4gICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gIH1cblxuICBfaGFuZGxlT25SZW1vdmVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XG4gICAgdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBfaGFuZGxlQmFkZ2VSZW1vdmUoZTogTW91c2VFdmVudCwgaXRlbSkge1xuICAgIHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaXNMZXR0ZXIgPSBuZXcgUmVnRXhwKC9bYS16QS1aMC05XFwtXS8pLnRlc3QoXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSlcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGUuY29kZSA9PT0gJ0JhY2tzcGFjZScgJiZcbiAgICAgIGUudHlwZSA9PT0gJ2tleWRvd24nICYmXG4gICAgICAoKHRoaXMuYWxsb3dOdWxsID09PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB8fFxuICAgICAgICAodGhpcy5hbGxvd051bGwgIT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEpKVxuICAgICkge1xuICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgICB0aGlzLnVuc2VsZWN0SXRlbXModGhpcy5zZWxlY3RlZEl0ZW1zLnBvcCgpKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGUuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZS5jb2RlID09PSAnQXJyb3dVcCcgfHwgZS5jb2RlID09PSAnU3BhY2UnKSAmJlxuICAgICAgIXRoaXMucG9wb3Zlci5pc09wZW4gJiZcbiAgICAgIGUudHlwZSA9PT0gJ2tleWRvd24nXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICBpZiAoZS5jdHJsS2V5IHx8IGUuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbUJ5TmF2KGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGlzTGV0dGVyKSB7XG4gICAgICB0aGlzLnRleHQgPSBlLmtleTtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVQb3BvdmVyS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS50YWdOYW1lID09ICdJTlBVVCcgJiZcbiAgICAgIFsnU3BhY2UnLCAnQmFja3NwYWNlJ10uaW5jbHVkZXMoZS5jb2RlKVxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBpZiAoXG4gICAgICAoZS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGUua2V5ID09PSAnQXJyb3dVcCcpICYmXG4gICAgICB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2ZvY3VzSXRlbUJ5TmF2KGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGUuY29kZSA9PT0gJ0JhY2tzcGFjZScgJiZcbiAgICAgICgodGhpcy5hbGxvd051bGwgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICh0aGlzLmFsbG93TnVsbCAhPT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpXG4gICAgKSB7XG4gICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyh0aGlzLnNlbGVjdGVkSXRlbXMucG9wKCkpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZS5jb2RlID09PSAnU3BhY2UnIHx8IGUuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgZm9jdXNlZEl0ZW1JZCA9XG4gICAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICcuYXgtc3RhdGUtZm9jdXMnXG4gICAgICAgICk/LmRhdGFzZXQ/LmlkO1xuICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSBmaW5kTGFzdCh0aGlzLmZsYXRJdGVtcywgW1xuICAgICAgICB0aGlzLnZhbHVlRmllbGQsXG4gICAgICAgIGZvY3VzZWRJdGVtSWQsXG4gICAgICBdKTtcbiAgICAgIGlmIChmb2N1c2VkSXRlbSkge1xuICAgICAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZChmb2N1c2VkSXRlbSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChmb2N1c2VkSXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyhmb2N1c2VkSXRlbSk7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlLmNvZGUgPT09ICdUYWInKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIF9oYW5kbGVQb3B1cE9uT3BlbmVkKGUpIHtcbiAgICB0aGlzLl9kZXRlY3RQb3B1cFNpemUoKTtcbiAgICB0aGlzLnBvcG92ZXIuZm9jdXMoKTtcbiAgICBpZiAodGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoID09IDApIHtcbiAgICAgIHRoaXMuX2ZvcmNlRm9jdXMgPSB0cnVlO1xuICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZvY3VzU2VsZWN0ZWRJdGVtKCk7XG4gICAgfVxuICAgIHRoaXMuX2ZvY3VzU2VhcmNoQm94KCk7XG4gIH1cblxuICBfaGFuZGxlUG9wdXBPbkNsb3NlZChlKSB7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNTZWFyY2hCb3goKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5fc2VhcmNoQm94ICYmXG4gICAgICAoIXRoaXMuX2lzQWN0aW9uU2hlZXQgfHwgdGhpcy5fc2VhcmNoQm94LnNlYXJjaEV4cClcbiAgICApIHtcbiAgICAgIHRoaXMuX3NlYXJjaEJveC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZvY3VzSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSk6IHZvaWQge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBmbiA9IHMgPT4gbGlzdC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihzKTtcbiAgICBjb25zdCBpdGVtRGl2OiBhbnkgPVxuICAgICAgZm4oYC5heC1saXN0LWl0ZW0uYXgtc3RhdGUtZm9jdXNgKSB8fFxuICAgICAgZm4oYC5heC1saXN0LWl0ZW0uYXgtc3RhdGUtc2VsZWN0ZWRgKSB8fFxuICAgICAgZm4oYC5heC1saXN0LWl0ZW1gKTtcbiAgICBsZXQgbmV4dCA9IChcbiAgICAgIHNpZ24gPT0gMSA/IGl0ZW1EaXYubmV4dEVsZW1lbnRTaWJsaW5nIDogaXRlbURpdi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAobmV4dCkge1xuICAgICAgdGhpcy5fZm9jdXNJdGVtRWxlbWVudChuZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFyZW50ID0gaXRlbURpdi5jbG9zZXN0KCcuYXgtbGlzdC1pdGVtLWdyb3VwJyk7XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIGNvbnN0IGxpcyA9IChcbiAgICAgICAgICBzaWduID09IDEgPyBwYXJlbnQubmV4dEVsZW1lbnRTaWJsaW5nIDogcGFyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmdcbiAgICAgICAgKT8ucXVlcnlTZWxlY3RvckFsbCgnbGknKTtcbiAgICAgICAgY29uc3QgYSA9IHNpZ24gPT0gMSA/IGZpcnN0KGxpcykgOiBsYXN0KGxpcyk7XG4gICAgICAgIGlmIChhKSB7XG4gICAgICAgICAgdGhpcy5fZm9jdXNJdGVtRWxlbWVudChhIGFzIGFueSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb2N1c1NlbGVjdGVkSXRlbSgpIHtcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IGZuID0gcyA9PiBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KHMpO1xuICAgICAgY29uc3QgaXRlbURpdiA9XG4gICAgICAgIGZuKGAuYXgtbGlzdC1pdGVtLmF4LXN0YXRlLXNlbGVjdGVkYCkgfHwgZm4oYC5heC1saXN0LWl0ZW1gKTtcbiAgICAgIGlmIChpdGVtRGl2KSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbUVsZW1lbnQoaXRlbURpdik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9mb2N1c0l0ZW1FbGVtZW50KGVsOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgbGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXgtbGlzdC1pdGVtJykuZm9yRWFjaChjID0+IHtcbiAgICAgICAgaWYgKGMgPT0gZWwpIHtcbiAgICAgICAgICBjLmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWZvY3VzJyk7XG4gICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ2F1dG8nIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGMuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZm9jdXMnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoIXRoaXMuX2lzQWN0aW9uU2hlZXQgJiYgdGhpcy5fc2VhcmNoQm94KSB0aGlzLl9zZWFyY2hCb3guZm9jdXMoKTtcbiAgICAgIGVsc2UgZWwuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSk6IHZvaWQge1xuICAgIGNvbnN0IF9sYXN0OiBhbnkgPSBsYXN0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgbGV0IGkgPSAwO1xuICAgIGlmIChfbGFzdCkge1xuICAgICAgaSA9IGZpbmRMYXN0SW5kZXgodGhpcy5mbGF0SXRlbXMsIFtcbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkLFxuICAgICAgICBfbGFzdFt0aGlzLnZhbHVlRmllbGRdLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGkgKz0gc2lnbjtcbiAgICBsZXQgbmV4dCA9IG50aDxhbnk+KHRoaXMuZmxhdEl0ZW1zLCBpKTtcbiAgICB3aGlsZSAobmV4dD8uY2hpbGRyZW4gJiYgbmV4dD8uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBpICs9IHNpZ247XG4gICAgICBuZXh0ID0gbnRoPGFueT4odGhpcy5mbGF0SXRlbXMsIGkpO1xuICAgIH1cbiAgICBpZiAobmV4dCkge1xuICAgICAgdGhpcy5zZWxlY3RJdGVtcyhuZXh0KTtcbiAgICB9IGVsc2UgaWYgKG5leHQgPT0gbnVsbCAmJiBzaWduID09IDEpIHtcbiAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaChleHA6IHN0cmluZykge1xuICAgIHRoaXMuZW1wdHkoKTtcbiAgICB0aGlzLl9mb3JjZUZvY3VzID0gdHJ1ZTtcbiAgICB0aGlzLl9mZXRjaERhdGEoKTtcbiAgfVxuXG4gIF9mZXRjaERhdGEoKSB7XG4gICAgc3VwZXIuX2ZldGNoRGF0YSh7IHNlYXJjaFF1ZXJ5OiB0aGlzLl9zZWFyY2hCb3g/LnNlYXJjaEV4cCB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+IDwvbmctY29udGVudD5cbjxkaXZcbiAgY2xhc3M9XCJheC1kcm9wZG93bi1jb250ZW50XCJcbiAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cIl9oYW5kbGVJbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1zZWxlY3QtYm94LXNlbGVjdGlvblwiXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zICYmIHNlbGVjdGVkSXRlbXMubGVuZ3RoOyBlbHNlIHNob3dQbGFjZWhvbGRlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICFtdWx0aXBsZTtcbiAgICAgICAgICB0aGVuIHNpbmdsZVNlbGVjdGVkVGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSBtdWx0aXBsZVNlbGVjdGVkVGVtcGxhdGVcbiAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3NpbmdsZVNlbGVjdGVkVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiPlxuICAgICAgICAgIDxzcGFuPiB7eyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNtdWx0aXBsZVNlbGVjdGVkVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1zZWxlY3QtbXVsdGktaXRlbVwiPlxuICAgICAgICAgICAge3sgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkgfX1cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsb3NlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVCYWRnZVJlbW92ZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3Nob3dQbGFjZWhvbGRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1wbGFjZWhvbGRlclwiIHJvbGU9XCJ0ZXh0Ym94XCIgYXJlYS1yZWFkb25seT1cInRydWVcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXgtYnV0dG9uXG4gIGNvbG9yPVwibGlnaHRcIlxuICBsb29rPVwiYmxhbmtcIlxuICAob25DbGljayk9XCJjbGVhcigpXCJcbiAgW3RhYkluZGV4XT1cIi0xXCJcbiAgKm5nSWY9XCJ2YWx1ZSAmJiBjbGVhckJ1dHRvbiAmJiAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxuICA8YXgtaWNvbiBpY29uPVwiYXgtaWNvbiBheC1pY29uLWNsb3NlXCI+PC9heC1pY29uPlxuPC9heC1idXR0b24+XG48YnV0dG9uXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFt0YWJJbmRleF09XCItMVwiXG4gIGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRyb2xcIlxuICAoY2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmcgJiYgIXRoaXMucG9wb3Zlci5pc09wZW47IGVsc2UgaWNvblRlbXBsYXRlXCI+XG4gICAgPGF4LWxvYWRpbmcgdHlwZT1cInNwaW5uZXJcIj48L2F4LWxvYWRpbmc+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1sZWZ0IGF4LXRyYW5zaXRpb24tYWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJy1heC1yb3RhdGlvbi05MCc6ICFpc09wZW4sXG4gICAgICAgICdheC1yb3RhdGlvbi05MCc6IGlzT3BlblxuICAgICAgfVwiPjwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XG48YXgtcG9wb3ZlclxuICBbdGFyZ2V0XT1cIl90YXJnZXRcIlxuICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICBbb3BlblRyaWdnZXJdPVwiJ21hbnVhbCdcIlxuICBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIlxuICBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiXG4gIChvbk9wZW5lZCk9XCJfaGFuZGxlUG9wdXBPbk9wZW5lZCgkZXZlbnQpXCJcbiAgKG9uQ2xvc2VkKT1cIl9oYW5kbGVQb3B1cE9uQ2xvc2VkKCRldmVudClcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lXCJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlUG9wb3ZlcktleWRvd24oJGV2ZW50KVwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgY2RrVHJhcEZvY3VzXG4gICAgW2NsYXNzLmF4LW92ZXJsYXktYWN0aW9uc2hlZXRdPVwiX2lzQWN0aW9uU2hlZXRcIlxuICAgIFtjbGFzcy5heC1mdWxsXT1cIl9zZWFyY2hCb3ggfHwgaXNMYXp5XCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9wb3BvdmVyV2lkdGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdFwiPlxuICAgICAgPGF4LWhlYWRlciAqbmdJZj1cIl9pc0FjdGlvblNoZWV0XCI+XG4gICAgICAgIDxheC10aXRsZT57eyBfcG9wb3ZlclRpdGxlIH19PC9heC10aXRsZT5cbiAgICAgICAgPGF4LWNsb3NlLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYXgtaWNvblwiXG4gICAgICAgICAgW2ljb25dPVwiXG4gICAgICAgICAgICBtdWx0aXBsZSA/ICdheC1pY29uLWRvbmUgIWF4LXRleHQtcHJpbWFyeS01MDAnIDogJ2F4LWljb24tY2xvc2UnXG4gICAgICAgICAgXCI+PC9heC1jbG9zZS1idXR0b24+XG4gICAgICA8L2F4LWhlYWRlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJheC1zZWFyY2gtYm94LWNvbnRhaW5lclwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1oaWRkZW5dPVwiIV9zZWFyY2hCb3hcIlxuICAgICAgICBbY2RrVHJhcEZvY3VzXT1cIl9zZWFyY2hCb3ggIT0gbnVsbFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zZWFyY2gtYm94XCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXgtY29udGVudCBheC1saXN0LWl0ZW1zLWNvbnRhaW5lciBheC1kZWZhdWx0XCJcbiAgICAgICAgKHNjcm9sbCk9XCJfaGFuZGxlTGlzdFNjcm9sbCgkZXZlbnQpXCJcbiAgICAgICAgI2xpc3RDb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5SXRlbXMubGVuZ3RoOyBlbHNlIHRtcEVtcHR5XCI+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRtcFRyZWU7IGNvbnRleHQ6IHsgbGlzdDogZGlzcGxheUl0ZW1zIH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0bXBUcmVlIGxldC1saXN0PVwibGlzdFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBsaXN0O1xuICAgICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IF90cmFja0J5RnVuY3Rpb25cbiAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVRlbXBsYXRlOyBlbHNlIGRlZnVhbHRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJpdGVtW3RoaXMudmFsdWVGaWVsZF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgZGlyZWN0aW9uOiBkaXJlY3Rpb24gfVxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZ1YWx0VGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMDsgZWxzZSB0bXBJdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbGlzdC1pdGVtLWdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWlkXT1cIml0ZW1bdGhpcy52YWx1ZUZpZWxkXVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wVHJlZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7IGxpc3Q6IGl0ZW0uY2hpbGRyZW4gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG1wSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZTsgZWxzZSBtdWx0aXBsZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaWRdPVwiaXRlbVt0aGlzLnZhbHVlRmllbGRdXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1kb25lIGF4LXNlbGVjdGVkLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI211bHRpcGxlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1jaGVja2JveF09XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlT25JdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWlkXT1cIml0ZW1bdGhpcy52YWx1ZUZpZWxkXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jaGVja2JveC1sYWJlbFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1kb25lIGF4LXNlbGVjdGVkLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pICYmICFjaGVja2JveFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RlbXBsYXRlOyBlbHNlIGVsc2VMb2FkaW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nVGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlTG9hZGluZ1RlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNFwiPlxuICAgICAgICAgICAgICA8YXgtbG9hZGluZ1xuICAgICAgICAgICAgICAgIHRleHQ9XCJ7eyAnbGF5b3V0LmxvYWRpbmcudGV4dCcgfCB0cmFucyB9fVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RtcEVtcHR5PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtcC00XCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgJ2NvbW1vbi5uby1yZXN1bHQtZm9yJ1xuICAgICAgICAgICAgICAgICAgICB8IHRyYW5zXG4gICAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cDogdGhpcy5fc2VhcmNoQm94ID8gdGhpcy5fc2VhcmNoQm94LnNlYXJjaEV4cCA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCI+PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJheC1saXN0LWl0ZW1zLWNvbnRhaW5lciBheC12ZXJ0aWNhbCBheC1kZWZhdWx0XCIgW2NsYXNzLmF4LWZ1bGxdPVwiX2lzTW9iaWxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImF4LWZvb3RlclwiPmZvb3RlcjwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG4iXX0=
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
62
62
|
providers: [],
|
63
63
|
}]
|
64
64
|
}] });
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gvc3JjL3NlbGVjdGJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFM0QsTUFrQmEsaUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkFIWCxvQkFBb0IsYUFkekIsWUFBWTtZQUNsQixjQUFjO1lBQ2QsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLGVBQWU7WUFDZixVQUFVO1lBQ1YsZUFBZSxhQUVULG9CQUFvQjt3R0FJckIsaUJBQWlCLFlBakJoQixZQUFZO1lBQ2xCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixjQUFjO1lBQ2QsZUFBZTtZQUNmLFVBQVU7WUFDVixlQUFlOztTQU1WLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQWxCN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZO3dCQUNsQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5cbmltcG9ydCB7IEFYU2VsZWN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rib3guY29tcG9uZW50JztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0Ym94JztcbmltcG9ydCB7IEFYQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgICAgICBBWEJhZGdlTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgICAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBBWFRleHRCb3hNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtBWFNlbGVjdEJveENvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbQVhTZWxlY3RCb3hDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0Qm94TW9kdWxlIHsgfVxuIl19
|
@@ -1,3 +1,3 @@
|
|
1
1
|
export * from './src/selection-list.component';
|
2
2
|
export * from './src/selection-list.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NlbGVjdGlvbi1saXN0Lm1vZHVsZSc7Il19
|
@@ -37,7 +37,7 @@ class AXSelectionListComponent extends AXBaseSelectionValueMixin {
|
|
37
37
|
e.stopPropagation();
|
38
38
|
}
|
39
39
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXSelectionListComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
40
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", valueField: "valueField", textField: "textField", multiple: "multiple", items: "items", selectionMode: "selectionMode", direction: "direction" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-selection-list ax-{{ direction }}\">\
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", valueField: "valueField", textField: "textField", multiple: "multiple", items: "items", selectionMode: "selectionMode", direction: "direction" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-selection-list ax-{{ direction }}\">\n <ng-container\n *ngIf=\"multiple; then checkboxList; else radioButtonList\"></ng-container>\n <ng-template #checkboxList>\n <ng-container *ngFor=\"let item of displayItems; let i = index\">\n <div\n class=\"ax-item-container\"\n [class.ax-state-selected]=\"isItemSelected(item)\">\n <div class=\"ax-item-input\">\n <input\n #ic\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\"\n [readonly]=\"readonly || item.readonly\" />\n </div>\n <div class=\"ax-item-text\">\n <label [for]=\"id + '-' + i\"> {{ item[textField] }}</label>\n <p class=\"ax-hint-text\">\n {{ item.hint ? item.hint : item[hintField] }}\n </p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-template #radioButtonList>\n <ng-container *ngFor=\"let item of displayItems; let i = index\">\n <div\n class=\"ax-item-container\"\n [class.ax-state-selected]=\"isItemSelected(item)\">\n <div class=\"ax-item-input\">\n <input\n #ir\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\"\n [readonly]=\"readonly || item.readonly\" />\n </div>\n <div class=\"ax-item-text\">\n <label [for]=\"id + '-' + i\"> {{ item[textField] }}</label>\n <p class=\"ax-hint-text\">\n {{ item.hint ? item.hint : item[hintField] }}\n </p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n", styles: [".ax-dark .ax-card-style .ax-selection-list.ax-vertical>div,.ax-dark .ax-card-style .ax-selection-list.ax-horizontal>div{background-color:rgba(var(--ax-color-surface))}.ax-selection-list{display:flex;flex-wrap:wrap}.ax-selection-list .ax-item-container{display:flex;align-items:flex-start}.ax-selection-list .ax-item-container .ax-item-input{display:flex;align-items:center;height:1.25rem}.ax-selection-list .ax-item-container .ax-item-text{font-size:.875rem;margin-inline-start:.75rem}.ax-selection-list.ax-vertical{flex-direction:column}.ax-selection-list.ax-vertical .ax-item-container:not(.ax-selection-list.ax-vertical .ax-item-container:last-child){margin-bottom:1rem}.ax-selection-list.ax-horizontal{flex-direction:row;gap:.75rem}.ax-selection-list.ax-horizontal .ax-item-container{padding-inline-end:.75rem}.ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}.ax-selection-list.ax-state-error .ax-checkbox-checkmark,.ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}.ax-separate-style .ax-selection-list.ax-vertical>div{padding-bottom:.875rem;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-separate-style .ax-selection-list.ax-vertical>div:last-child{border:0}.ax-card-style .ax-selection-list.ax-vertical>div,.ax-card-style .ax-selection-list.ax-horizontal>div{padding:1rem;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-card-style .ax-selection-list.ax-vertical>div.ax-state-selected,.ax-card-style .ax-selection-list.ax-horizontal>div.ax-state-selected{border-color:rgba(var(--ax-color-primary-500))}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
41
41
|
}
|
42
42
|
export { AXSelectionListComponent };
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXSelectionListComponent, decorators: [{
|
@@ -53,8 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
53
53
|
'multiple',
|
54
54
|
'items',
|
55
55
|
'selectionMode',
|
56
|
-
], outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-selection-list ax-{{ direction }}\">\
|
56
|
+
], outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-selection-list ax-{{ direction }}\">\n <ng-container\n *ngIf=\"multiple; then checkboxList; else radioButtonList\"></ng-container>\n <ng-template #checkboxList>\n <ng-container *ngFor=\"let item of displayItems; let i = index\">\n <div\n class=\"ax-item-container\"\n [class.ax-state-selected]=\"isItemSelected(item)\">\n <div class=\"ax-item-input\">\n <input\n #ic\n [id]=\"id + '-' + i\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\"\n [readonly]=\"readonly || item.readonly\" />\n </div>\n <div class=\"ax-item-text\">\n <label [for]=\"id + '-' + i\"> {{ item[textField] }}</label>\n <p class=\"ax-hint-text\">\n {{ item.hint ? item.hint : item[hintField] }}\n </p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-template #radioButtonList>\n <ng-container *ngFor=\"let item of displayItems; let i = index\">\n <div\n class=\"ax-item-container\"\n [class.ax-state-selected]=\"isItemSelected(item)\">\n <div class=\"ax-item-input\">\n <input\n #ir\n [id]=\"id + '-' + i\"\n class=\"ax-radio\"\n type=\"radio\"\n [attr.name]=\"id\"\n (change)=\"_handleOnItemValueChange(item, $event)\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"disabled || item.disabled\"\n [readonly]=\"readonly || item.readonly\" />\n </div>\n <div class=\"ax-item-text\">\n <label [for]=\"id + '-' + i\"> {{ item[textField] }}</label>\n <p class=\"ax-hint-text\">\n {{ item.hint ? item.hint : item[hintField] }}\n </p>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n", styles: [".ax-dark .ax-card-style .ax-selection-list.ax-vertical>div,.ax-dark .ax-card-style .ax-selection-list.ax-horizontal>div{background-color:rgba(var(--ax-color-surface))}.ax-selection-list{display:flex;flex-wrap:wrap}.ax-selection-list .ax-item-container{display:flex;align-items:flex-start}.ax-selection-list .ax-item-container .ax-item-input{display:flex;align-items:center;height:1.25rem}.ax-selection-list .ax-item-container .ax-item-text{font-size:.875rem;margin-inline-start:.75rem}.ax-selection-list.ax-vertical{flex-direction:column}.ax-selection-list.ax-vertical .ax-item-container:not(.ax-selection-list.ax-vertical .ax-item-container:last-child){margin-bottom:1rem}.ax-selection-list.ax-horizontal{flex-direction:row;gap:.75rem}.ax-selection-list.ax-horizontal .ax-item-container{padding-inline-end:.75rem}.ax-selection-list.ax-state-error{color:rgba(var(--ax-color-danger-500))}.ax-selection-list.ax-state-error .ax-checkbox-checkmark,.ax-selection-list.ax-state-error .ax-radio-checkmark{border-color:rgba(var(--ax-color-danger-500))}.ax-separate-style .ax-selection-list.ax-vertical>div{padding-bottom:.875rem;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-separate-style .ax-selection-list.ax-vertical>div:last-child{border:0}.ax-card-style .ax-selection-list.ax-vertical>div,.ax-card-style .ax-selection-list.ax-horizontal>div{padding:1rem;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-card-style .ax-selection-list.ax-vertical>div.ax-state-selected,.ax-card-style .ax-selection-list.ax-horizontal>div.ax-state-selected{border-color:rgba(var(--ax-color-primary-500))}\n"] }]
|
57
57
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { direction: [{
|
58
58
|
type: Input
|
59
59
|
}] } });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3Qvc3JjL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NlbGVjdGlvbi1saXN0L3NyYy9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFHakIsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7Ozs7R0FJRztBQUNILE1Bc0JhLHdCQUF5QixTQUFRLHlCQUF5QjtJQUNyRTs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBRSxHQUFzQjtRQUN4RCxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUVILFNBQVMsR0FBZ0IsWUFBWSxDQUFDO0lBRXRDLHdCQUF3QixDQUFDLElBQVMsRUFBRSxDQUFRO1FBQzFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDckI7YUFBTTtZQUNKLENBQUMsQ0FBQyxNQUFjLENBQUMsT0FBTztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFzQixFQUFFLENBQWE7UUFDekQsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUk7WUFBRSxPQUFPO1FBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO3VHQTlCVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qiw2YkN0Q3JDLHlpRUF3REE7O1NEbEJhLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQXRCcEMsU0FBUzsrQkFDRSxtQkFBbUIsVUFHckI7d0JBQ04sVUFBVTt3QkFDVixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsTUFBTTt3QkFDTixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxVQUFVO3dCQUNWLE9BQU87d0JBQ1AsZUFBZTtxQkFDaEIsV0FDUSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLGlCQUNoRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQWdCL0MsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaXJlY3Rpb24gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZVNlbGVjdGlvblZhbHVlTWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXNlbGVjdGlvbi1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3NpemUnLFxuICAgICd2YWx1ZScsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICd0ZXh0RmllbGQnLFxuICAgICdtdWx0aXBsZScsXG4gICAgJ2l0ZW1zJyxcbiAgICAnc2VsZWN0aW9uTW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnLCAnb25CbHVyJywgJ29uRm9jdXMnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuXG4vL1RPRE86IG9uIHBhcmVudCBjbGljayAoY2FyZCBzdHlsZSkgLT4gY2hlY2tib3ggb3IgcmFkaW8gY2hhbmdlIHZhbHVlXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlU2VsZWN0aW9uVmFsdWVNaXhpbiB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cblxuICAvKipcbiAgICogIERlZmluZXMgdGhlIGRpcmVjdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogQVhEaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCc7XG5cbiAgX2hhbmRsZU9uSXRlbVZhbHVlQ2hhbmdlKGl0ZW06IGFueSwgZTogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAoZS50YXJnZXQgYXMgYW55KS5jaGVja2VkXG4gICAgICAgID8gdGhpcy5zZWxlY3RJdGVtcyhpdGVtKVxuICAgICAgICA6IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKTtcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlQ29udGFpbmVyQ2xpY2soaXRlbTogSFRNTElucHV0RWxlbWVudCwgZTogTW91c2VFdmVudCkge1xuICAgIGlmIChlLnRhcmdldCA9PSBpdGVtKSByZXR1cm47XG4gICAgaXRlbS5jbGljaygpO1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8vIF9oYW5kbGVPbkNsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xuICAvL1xuICAvLyAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgLy8gICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgLy8gICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIC8vICAgfVxuICAvLyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtc2VsZWN0aW9uLWxpc3QgYXgte3sgZGlyZWN0aW9uIH19XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIm11bHRpcGxlOyB0aGVuIGNoZWNrYm94TGlzdDsgZWxzZSByYWRpb0J1dHRvbkxpc3RcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjaGVja2JveExpc3Q+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5SXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJheC1pdGVtLWNvbnRhaW5lclwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1zZWxlY3RlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtaXRlbS1pbnB1dFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2ljXG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnLScgKyBpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiX2hhbmRsZU9uSXRlbVZhbHVlQ2hhbmdlKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGl0ZW0ucmVhZG9ubHlcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWl0ZW0tdGV4dFwiPlxuICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlkICsgJy0nICsgaVwiPiB7eyBpdGVtW3RleHRGaWVsZF0gfX08L2xhYmVsPlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXgtaGludC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBpdGVtLmhpbnQgPyBpdGVtLmhpbnQgOiBpdGVtW2hpbnRGaWVsZF0gfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjcmFkaW9CdXR0b25MaXN0PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheUl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXgtaXRlbS1jb250YWluZXJcIlxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWl0ZW0taW5wdXRcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpclxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy0nICsgaVwiXG4gICAgICAgICAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbYXR0ci5uYW1lXT1cImlkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiX2hhbmRsZU9uSXRlbVZhbHVlQ2hhbmdlKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGl0ZW0ucmVhZG9ubHlcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWl0ZW0tdGV4dFwiPlxuICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlkICsgJy0nICsgaVwiPiB7eyBpdGVtW3RleHRGaWVsZF0gfX08L2xhYmVsPlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXgtaGludC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBpdGVtLmhpbnQgPyBpdGVtLmhpbnQgOiBpdGVtW2hpbnRGaWVsZF0gfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|