@eui/components 17.0.0-next.4 → 17.0.0-next.5
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/directives/eui-clearable.directive.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/esm2022/directives/eui-clearable.directive.mjs +8 -9
- package/esm2022/directives/eui-has-permission.directive.mjs +7 -7
- package/esm2022/directives/eui-loading.directive.mjs +3 -3
- package/esm2022/directives/eui-maxlength.directive.mjs +7 -7
- package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +3 -3
- package/esm2022/directives/eui-resizable/eui-resizable.directive.mjs +4 -5
- package/esm2022/directives/eui-resizable/eui-resizable.module.mjs +4 -4
- package/esm2022/directives/eui-scroll-handler.directive.mjs +10 -10
- package/esm2022/directives/eui-smooth-scroll.directive.mjs +10 -10
- package/esm2022/directives/eui-template.directive.mjs +7 -7
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +3 -3
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +58 -26
- package/esm2022/directives/eui-tooltip/eui-tooltip.module.mjs +4 -4
- package/esm2022/eui-alert/eui-alert.component.mjs +9 -8
- package/esm2022/eui-all/eui-all.module.mjs +9 -10
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +31 -15
- package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +4 -4
- package/esm2022/eui-autocomplete/models/eui-autocomplete-item.model.mjs +2 -1
- package/esm2022/eui-badge/eui-badge.component.mjs +8 -8
- package/esm2022/eui-block-content/eui-block-content.component.mjs +5 -5
- package/esm2022/eui-block-content/eui-block-content.module.mjs +4 -4
- package/esm2022/eui-block-document/eui-block-document.component.mjs +3 -3
- package/esm2022/eui-block-document/eui-block-document.module.mjs +4 -4
- package/esm2022/eui-button/eui-button.component.mjs +10 -10
- package/esm2022/eui-button-group/eui-button-group.component.mjs +7 -7
- package/esm2022/eui-buttons/eui-buttons.component.mjs +17 -17
- package/esm2022/eui-card/components/eui-card-content/eui-card-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-left-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-right-content.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-subtitle.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-title.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-header-body/eui-card-header-body.component.mjs +3 -3
- package/esm2022/eui-card/components/eui-card-media/eui-card-media.component.mjs +3 -3
- package/esm2022/eui-card/eui-card.component.mjs +3 -3
- package/esm2022/eui-card/eui-card.module.mjs +4 -4
- package/esm2022/eui-card/services/ui-state.service.mjs +3 -3
- package/esm2022/eui-chip/eui-chip.component.mjs +3 -3
- package/esm2022/eui-chip/eui-chip.module.mjs +4 -4
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +9 -9
- package/esm2022/eui-chip-list/eui-chip-list.module.mjs +4 -4
- package/esm2022/eui-chip-list/services/eui-chip-list-drag.service.mjs +3 -3
- package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +15 -15
- package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +9 -8
- package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +19 -6
- package/esm2022/eui-date-range-selector/eui-date-range-selector.module.mjs +4 -4
- package/esm2022/eui-datepicker/eui-datepicker.component.mjs +21 -21
- package/esm2022/eui-datepicker/eui-datepicker.module.mjs +4 -4
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +3 -3
- package/esm2022/eui-dialog/eui-dialog.component.mjs +10 -10
- package/esm2022/eui-dialog/eui-dialog.module.mjs +4 -4
- package/esm2022/eui-dialog/services/eui-dialog.service.mjs +5 -5
- package/esm2022/eui-dimmer/dimmer.component.mjs +4 -4
- package/esm2022/eui-dimmer/dimmer.module.mjs +4 -4
- package/esm2022/eui-disable-content/eui-disable-content.component.mjs +10 -10
- package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +5 -5
- package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +3 -3
- package/esm2022/eui-discussion-thread/eui-discussion-thread.module.mjs +4 -4
- package/esm2022/eui-dropdown/directives/eui-dropdown-content.directive.mjs +3 -3
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +10 -8
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
- package/esm2022/eui-dropdown/eui-dropdown.module.mjs +8 -8
- package/esm2022/eui-dropdown/eui-dropdown.service.mjs +3 -3
- package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +3 -3
- package/esm2022/eui-feedback-message/eui-feedback-message.module.mjs +4 -4
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +9 -9
- package/esm2022/eui-fieldset/eui-fieldset.module.mjs +4 -4
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +32 -18
- package/esm2022/eui-file-upload/eui-file-upload.module.mjs +6 -17
- package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +6 -4
- package/esm2022/eui-file-upload/pipes/filesize.pipe.mjs +3 -3
- package/esm2022/eui-file-upload/progress/eui-file-upload-progress.component.mjs +3 -3
- package/esm2022/eui-file-upload/utils/eui-file-upload.utils.mjs +4 -4
- package/esm2022/eui-file-upload/utils/eui-file-upload.validators.mjs +1 -1
- package/esm2022/eui-file-upload/utils/mime-types.mjs +3 -1
- package/esm2022/eui-growl/eui-growl.component.mjs +4 -4
- package/esm2022/eui-growl/eui-growl.module.mjs +4 -4
- package/esm2022/eui-growl/services/eui-growl.service.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-color.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon-svg.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon.component.mjs +3 -3
- package/esm2022/eui-icon/eui-icon.module.mjs +4 -4
- package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +3 -3
- package/esm2022/eui-icon-toggle/eui-icon-toggle.module.mjs +4 -4
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +4 -4
- package/esm2022/eui-input-checkbox/eui-input-checkbox.module.mjs +4 -4
- package/esm2022/eui-input-group/eui-input-group.component.mjs +4 -4
- package/esm2022/eui-input-group/eui-input-group.module.mjs +4 -4
- package/esm2022/eui-input-number/eui-input-number.component.mjs +4 -4
- package/esm2022/eui-input-number/eui-input-number.module.mjs +4 -4
- package/esm2022/eui-input-number/eui-number-control.directive.mjs +4 -4
- package/esm2022/eui-input-radio/eui-input-radio.component.mjs +9 -11
- package/esm2022/eui-input-radio/eui-input-radio.module.mjs +4 -4
- package/esm2022/eui-input-text/eui-input-text.component.mjs +5 -5
- package/esm2022/eui-input-text/eui-input-text.module.mjs +4 -4
- package/esm2022/eui-label/eui-label.component.mjs +4 -4
- package/esm2022/eui-label/eui-label.module.mjs +4 -4
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +4 -4
- package/esm2022/eui-list/eui-list.component.mjs +3 -3
- package/esm2022/eui-list/eui-list.module.mjs +4 -4
- package/esm2022/eui-list/services/eui-list.service.mjs +3 -3
- package/esm2022/eui-menu/eui-menu-item.component.mjs +4 -4
- package/esm2022/eui-menu/eui-menu.component.mjs +5 -5
- package/esm2022/eui-menu/eui-menu.module.mjs +4 -4
- package/esm2022/eui-message-box/eui-message-box.component.mjs +9 -7
- package/esm2022/eui-message-box/eui-message-box.module.mjs +4 -4
- package/esm2022/eui-message-box/services/eui-message-box.service.mjs +3 -3
- package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +38 -0
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +5 -5
- package/esm2022/eui-overlay/eui-overlay.component.mjs +30 -12
- package/esm2022/eui-overlay/index.mjs +2 -1
- package/esm2022/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +21 -21
- package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-content/eui-page-content.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +9 -9
- package/esm2022/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.mjs +3 -3
- package/esm2022/eui-page/components/eui-page-top-content/eui-page-top-content.component.mjs +3 -3
- package/esm2022/eui-page/eui-page.component.mjs +3 -3
- package/esm2022/eui-page/eui-page.module.mjs +4 -4
- package/esm2022/eui-paginator/eui-paginator.component.mjs +10 -8
- package/esm2022/eui-paginator/eui-paginator.module.mjs +4 -4
- package/esm2022/eui-picker/eui-picker.component.mjs +8 -6
- package/esm2022/eui-picker/eui-picker.module.mjs +4 -4
- package/esm2022/eui-picker/modal-picker/eui-modal-picker.component.mjs +5 -5
- package/esm2022/eui-popover/directives/eui-popover-arrow-position.directive.mjs +58 -0
- package/esm2022/eui-popover/eui-popover.component.mjs +25 -19
- package/esm2022/eui-popover/eui-popover.module.mjs +7 -6
- package/esm2022/eui-popover/models/eui-popover-position.model.mjs +18 -0
- package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +3 -3
- package/esm2022/eui-progress-bar/eui-progress-bar.module.mjs +4 -4
- package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +7 -7
- package/esm2022/eui-select/eui-select-control.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-multiple.directive.mjs +10 -5
- package/esm2022/eui-select/eui-select-mutli-option.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-option.directive.mjs +5 -4
- package/esm2022/eui-select/eui-select.component.mjs +5 -5
- package/esm2022/eui-select/eui-select.module.mjs +4 -4
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +6 -4
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.module.mjs +4 -4
- package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +4 -4
- package/esm2022/eui-slide-toggle/eui-slide-toggle.module.mjs +4 -4
- package/esm2022/eui-table/directives/eui-table-sticky-columns.directive.mjs +3 -3
- package/esm2022/eui-table/eui-table.component.mjs +76 -29
- package/esm2022/eui-table/eui-table.module.mjs +4 -4
- package/esm2022/eui-table/expandable-row/eui-table-expandable-row.component.mjs +3 -3
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +3 -3
- package/esm2022/eui-table/pipes/eui-table-highlight-filter.pipe.mjs +3 -3
- package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +3 -3
- package/esm2022/eui-table/selectable-row/eui-table-selectable-row.component.mjs +3 -3
- package/esm2022/eui-table/services/eui-table-selectable-row.service.mjs +3 -3
- package/esm2022/eui-table/services/eui-table-sort.service.mjs +3 -3
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +4 -4
- package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tab-content/eui-tab-content.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tab-label/eui-tab-label.component.mjs +6 -6
- package/esm2022/eui-tabs/eui-tabs.component.mjs +7 -7
- package/esm2022/eui-tabs/eui-tabs.module.mjs +4 -4
- package/esm2022/eui-textarea/auto-resize.directive.mjs +4 -4
- package/esm2022/eui-textarea/eui-textarea.component.mjs +5 -5
- package/esm2022/eui-textarea/eui-textarea.module.mjs +4 -4
- package/esm2022/eui-timebar/eui-timebar-item.model.mjs +3 -1
- package/esm2022/eui-timebar/eui-timebar.component.mjs +9 -9
- package/esm2022/eui-timeline/eui-timeline-item.component.mjs +3 -3
- package/esm2022/eui-timeline/eui-timeline.component.mjs +3 -3
- package/esm2022/eui-timeline/eui-timeline.module.mjs +4 -4
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +3 -3
- package/esm2022/eui-timepicker/eui-timepicker.module.mjs +11 -11
- package/esm2022/eui-timepicker/models/eui-date-time-picker.config.model.mjs +1 -1
- package/esm2022/eui-tree/eui-dropdown-tree.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree-form-control.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree-helper.mjs +1 -1
- package/esm2022/eui-tree/eui-tree.component.mjs +29 -11
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +3 -3
- package/esm2022/eui-wizard/eui-wizard.component.mjs +16 -14
- package/esm2022/eui-wizard/eui-wizard.module.mjs +4 -4
- package/esm2022/eui-wizard/services/eui-wizard.service.mjs +3 -3
- package/esm2022/externals/charts/chart/chart.component.mjs +3 -3
- package/esm2022/externals/charts/eui-charts.module.mjs +4 -4
- package/esm2022/externals/eui-editor/counters/eui-editor-counters.component.mjs +3 -3
- package/esm2022/externals/eui-editor/directives/eui-editor-maxlength.directive.mjs +3 -3
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +8 -8
- package/esm2022/externals/eui-editor/eui-editor.module.mjs +4 -4
- package/esm2022/externals/eui-editor/html-view/eui-editor-html-view.component.mjs +3 -3
- package/esm2022/externals/eui-editor/image-url-dialog/image-url-dialog.component.mjs +3 -3
- package/esm2022/externals/eui-editor/json-view/eui-editor-json-view.component.mjs +3 -3
- package/esm2022/externals/quill/quill-editor.component.mjs +3 -3
- package/esm2022/externals/quill/quill.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-footer/footer.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-header/header.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-body/sidebar-body.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +5 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +3 -3
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +5 -4
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.module.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app.component.mjs +6 -6
- package/esm2022/layout/eui-app/eui-app.module.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +10 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.service.mjs +3 -3
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +8 -8
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +6 -6
- package/esm2022/layout/eui-footer/footer.component.mjs +3 -3
- package/esm2022/layout/eui-footer/footer.module.mjs +4 -4
- package/esm2022/layout/eui-header/header-app/header-app.component.mjs +12 -12
- package/esm2022/layout/eui-header/header-app-name/header-app-name.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-app-name-logo/header-app-name-logo.component.mjs +7 -11
- package/esm2022/layout/eui-header/header-app-subtitle/header-app-subtitle.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-environment/header-environment.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-logo/header-logo.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-user-profile/header-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-header/header.component.mjs +3 -3
- package/esm2022/layout/eui-header/header.module.mjs +4 -4
- package/esm2022/layout/eui-language-selector/language-selector.component.mjs +4 -4
- package/esm2022/layout/eui-language-selector/language-selector.module.mjs +4 -4
- package/esm2022/layout/eui-language-selector/modal-selector/modal-selector.component.mjs +3 -3
- package/esm2022/layout/eui-layout.module.mjs +10 -5
- package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +5 -5
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-notifications/eui-notifications.module.mjs +4 -4
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +57 -0
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +244 -0
- package/esm2022/layout/eui-notifications-v2/eui-notifications.module.mjs +25 -0
- package/esm2022/layout/eui-notifications-v2/index.mjs +4 -0
- package/esm2022/layout/eui-search/search.component.mjs +3 -3
- package/esm2022/layout/eui-search/search.module.mjs +4 -4
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +3 -3
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.module.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-app/toolbar-app.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-center/toolbar-center.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item/toolbar-item.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-notifications/toolbar-item-notifications.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-search/toolbar-item-search.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-items/toolbar-items.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-logo/toolbar-logo.component.mjs +3 -3
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar.module.mjs +4 -4
- package/esm2022/layout/eui-user-profile/user-profile-card/user-profile-card.component.mjs +6 -5
- package/esm2022/layout/eui-user-profile/user-profile-menu/user-profile-menu.component.mjs +3 -3
- package/esm2022/layout/eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.mjs +3 -3
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +14 -5
- package/esm2022/layout/eui-user-profile/user-profile.module.mjs +4 -4
- package/esm2022/layout/index.mjs +2 -1
- package/esm2022/pipes/eui-is-empty.pipe.mjs +7 -7
- package/esm2022/pipes/eui-truncate.pipe.mjs +7 -7
- package/esm2022/shared/base/base-states.directive.mjs +3 -3
- package/esm2022/shared/base/base.directive.mjs +3 -3
- package/esm2022/shared/base/mixins/index.mjs +1 -1
- package/esm2022/shared/eui-common-header/common-header.component.mjs +7 -7
- package/esm2022/shared/eui-expand-content/eui-expand-content.component.mjs +7 -7
- package/esm2022/shared/input.directive.mjs +4 -4
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-all/eui-all.module.d.ts +19 -20
- package/eui-all/eui-all.module.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts +12 -3
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts +1 -0
- package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts.map +1 -1
- package/eui-block-content/eui-block-content.component.d.ts.map +1 -1
- package/eui-button/eui-button.component.d.ts +1 -1
- package/eui-button/eui-button.component.d.ts.map +1 -1
- package/eui-buttons/eui-buttons.component.d.ts +2 -2
- package/eui-buttons/eui-buttons.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dashboard-button/eui-dashboard-button.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts +5 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
- package/eui-dimmer/dimmer.component.d.ts.map +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts.map +1 -1
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts +8 -5
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.module.d.ts +5 -6
- package/eui-file-upload/eui-file-upload.module.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
- package/eui-file-upload/utils/mime-types.d.ts.map +1 -1
- package/eui-growl/eui-growl.component.d.ts.map +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts.map +1 -1
- package/eui-input-number/eui-number-control.directive.d.ts.map +1 -1
- package/eui-input-radio/eui-input-radio.component.d.ts +2 -1
- package/eui-input-radio/eui-input-radio.component.d.ts.map +1 -1
- package/eui-input-text/eui-input-text.component.d.ts +1 -1
- package/eui-input-text/eui-input-text.component.d.ts.map +1 -1
- package/eui-label/eui-label.component.d.ts.map +1 -1
- package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.d.ts +15 -0
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.d.ts.map +1 -0
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.d.ts +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.d.ts.map +1 -1
- package/eui-overlay/eui-overlay.component.d.ts +4 -2
- package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
- package/eui-overlay/index.d.ts +1 -0
- package/eui-overlay/index.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts +3 -1
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-picker/eui-picker.component.d.ts.map +1 -1
- package/eui-picker/modal-picker/eui-modal-picker.component.d.ts.map +1 -1
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts +18 -0
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts.map +1 -0
- package/eui-popover/eui-popover.component.d.ts +7 -5
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.module.d.ts +8 -7
- package/eui-popover/eui-popover.module.d.ts.map +1 -1
- package/eui-popover/models/eui-popover-position.model.d.ts +8 -0
- package/eui-popover/models/eui-popover-position.model.d.ts.map +1 -0
- package/eui-select/eui-select-multiple.directive.d.ts +1 -1
- package/eui-select/eui-select-multiple.directive.d.ts.map +1 -1
- package/eui-select/eui-select-mutli-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts +1 -1
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-table/sortable-col/eui-table-sortable-col.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.component.d.ts +3 -3
- package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
- package/eui-timebar/eui-timebar-item.model.d.ts +2 -2
- package/eui-timebar/eui-timebar-item.model.d.ts.map +1 -1
- package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.module.d.ts +1 -1
- package/eui-timepicker/eui-timepicker.module.d.ts.map +1 -1
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts +1 -10
- package/eui-timepicker/models/eui-date-time-picker.config.model.d.ts.map +1 -1
- package/eui-tree/eui-dropdown-tree.directive.d.ts.map +1 -1
- package/eui-tree/eui-tree-form-control.directive.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts +4 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +125 -95
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +8 -7
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-all.mjs +8 -9
- package/fesm2022/eui-components-eui-all.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +35 -18
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +7 -7
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +8 -8
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +7 -7
- package/fesm2022/eui-components-eui-button-group.mjs +7 -7
- package/fesm2022/eui-components-eui-button.mjs +9 -9
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-buttons.mjs +16 -16
- package/fesm2022/eui-components-eui-buttons.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +46 -46
- package/fesm2022/eui-components-eui-chip-list.mjs +15 -15
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +7 -7
- package/fesm2022/eui-components-eui-dashboard-button.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +8 -7
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +22 -9
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +24 -24
- package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +20 -20
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dimmer.mjs +7 -7
- package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
- package/fesm2022/eui-components-eui-disable-content.mjs +9 -9
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +11 -11
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +26 -24
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs +7 -7
- package/fesm2022/eui-components-eui-fieldset.mjs +13 -13
- package/fesm2022/eui-components-eui-file-upload.mjs +52 -153
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +10 -10
- package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +7 -7
- package/fesm2022/eui-components-eui-icon.mjs +13 -13
- package/fesm2022/eui-components-eui-input-checkbox.mjs +7 -7
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +8 -8
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +11 -11
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +12 -14
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +8 -8
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +7 -7
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +13 -13
- package/fesm2022/eui-components-eui-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +12 -12
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-message-box.mjs +15 -13
- package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +76 -25
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +55 -55
- package/fesm2022/eui-components-eui-paginator.mjs +14 -13
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-picker.mjs +15 -13
- package/fesm2022/eui-components-eui-picker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +104 -28
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +7 -7
- package/fesm2022/eui-components-eui-progress-circle.mjs +7 -7
- package/fesm2022/eui-components-eui-select.mjs +27 -21
- package/fesm2022/eui-components-eui-select.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +9 -7
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +7 -7
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +106 -59
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +22 -22
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +11 -11
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +10 -8
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +10 -10
- package/fesm2022/eui-components-eui-timepicker.mjs +13 -12
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +42 -24
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +25 -23
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +7 -7
- package/fesm2022/eui-components-externals-eui-editor.mjs +27 -27
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +7 -7
- package/fesm2022/eui-components-layout.mjs +553 -237
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-pipes.mjs +14 -14
- package/fesm2022/eui-components-shared-base.mjs +6 -6
- package/fesm2022/eui-components-shared-base.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +17 -17
- package/fesm2022/eui-components-shared.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.d.ts.map +1 -1
- package/layout/eui-breadcrumb/item/breadcrumb-item.component.d.ts +1 -1
- package/layout/eui-breadcrumb/item/breadcrumb-item.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-name/header-app-name.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-name-logo/header-app-name-logo.component.d.ts +2 -4
- package/layout/eui-header/header-app-name-logo/header-app-name-logo.component.d.ts.map +1 -1
- package/layout/eui-header/header-app-subtitle/header-app-subtitle.component.d.ts.map +1 -1
- package/layout/eui-header/header-environment/header-environment.component.d.ts.map +1 -1
- package/layout/eui-header/header-logo/header-logo.component.d.ts.map +1 -1
- package/layout/eui-layout.module.d.ts +10 -9
- package/layout/eui-layout.module.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts +21 -0
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -0
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts +78 -0
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -0
- package/layout/eui-notifications-v2/eui-notifications.module.d.ts +16 -0
- package/layout/eui-notifications-v2/eui-notifications.module.d.ts.map +1 -0
- package/layout/eui-notifications-v2/index.d.ts +4 -0
- package/layout/eui-notifications-v2/index.d.ts.map +1 -0
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/layout/eui-user-profile/user-profile.component.d.ts +5 -2
- package/layout/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/layout/index.d.ts +1 -0
- package/layout/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/shared/base/mixins/index.d.ts.map +1 -1
- package/shared/input.directive.d.ts.map +1 -1
- package/esm2022/eui-file-upload/uploaded-file/uploaded-file.component.mjs +0 -116
- package/eui-file-upload/uploaded-file/uploaded-file.component.d.ts +0 -51
- package/eui-file-upload/uploaded-file/uploaded-file.component.d.ts.map +0 -1
@@ -185,12 +185,12 @@ export class EuiTextareaComponent extends BaseDirective {
|
|
185
185
|
this.hostWrapperEl.appendChild(this.valueContainerEl);
|
186
186
|
}
|
187
187
|
}
|
188
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
189
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.
|
188
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextareaComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
189
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiTextareaComponent, selector: "textarea[euiTextArea]", inputs: { class: "class", disabled: "disabled", readonly: "readonly", id: "id", isInvalid: "isInvalid", e2eAttr: "e2eAttr" }, host: { listeners: { "input": "onInputChange($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "class": "this.class", "attr.disabled": "this.disabled", "attr.readonly": "this.readonly", "attr.id": "this.id", "attr.data-e2e": "this.e2eAttr" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => EuiTextareaComponent)), multi: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-textarea__wrapper .eui-textarea{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;height:auto;resize:vertical}.eui-textarea__wrapper .eui-textarea:active:not([readonly]),.eui-textarea__wrapper .eui-textarea:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper{align-items:center;display:flex;position:relative;width:100%}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible;z-index:var(--eui-base-z-index-clearable-icon)}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-textarea__wrapper .eui-textarea--invalid,.eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-textarea__wrapper .eui-textarea--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-textarea__wrapper .eui-textarea--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-textarea__wrapper .eui-textarea--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-textarea__wrapper .eui-textarea--disabled,.eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-textarea__wrapper .eui-textarea__value-container{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper--readonly{padding:var(--eui-base-spacing-2xs) 0}.eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper--readonly .eui-textarea__value-container{-webkit-appearance:initial;appearance:initial;color:var(--eui-base-color-grey-100);display:inline-block;word-break:break-word}.eui-textarea__wrapper .eui-textarea--readonly{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper .eui-textarea--invalid{border:1px solid var(--eui-base-color-danger-100)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
190
190
|
}
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextareaComponent, decorators: [{
|
192
192
|
type: Component,
|
193
|
-
args: [{ selector: 'textarea[euiTextArea]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => EuiTextareaComponent)), multi: true }], styles: [".eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-textarea__wrapper .eui-textarea{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;height:auto;resize:vertical}.eui-textarea__wrapper .eui-textarea:active:not([readonly]),.eui-textarea__wrapper .eui-textarea:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-textarea__wrapper .eui-textarea--invalid,.eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-textarea__wrapper .eui-textarea--clearable-icon{
|
193
|
+
args: [{ selector: 'textarea[euiTextArea]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => EuiTextareaComponent)), multi: true }], styles: [".eui-textarea__wrapper{display:flex;position:relative;width:100%}.eui-textarea__wrapper .eui-textarea{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;min-height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs));padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;height:auto;resize:vertical}.eui-textarea__wrapper .eui-textarea:active:not([readonly]),.eui-textarea__wrapper .eui-textarea:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper{align-items:center;display:flex;position:relative;width:100%}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible;z-index:var(--eui-base-z-index-clearable-icon)}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea .eui-clearable-wrapper .eui-input-text--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea::placeholder{color:var(--eui-base-color-grey-50)!important;opacity:1}.eui-textarea__wrapper .eui-textarea[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-textarea__wrapper .eui-textarea[readonly]+.eui-feedback-message,.eui-textarea__wrapper .eui-textarea[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper .eui-textarea[disabled]:not([readonly]),.eui-textarea__wrapper .eui-textarea--disabled:not([readonly]){background-color:var(--eui-base-color-grey-5)!important;border:1px solid var(--eui-base-color-grey-25)!important;color:var(--eui-base-color-grey-75);pointer-events:none}.eui-textarea__wrapper .eui-textarea--invalid,.eui-textarea__wrapper .eui-textarea--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-textarea__wrapper .eui-textarea--clearable-icon{bottom:calc(var(--eui-base-spacing-s) - 2px);cursor:pointer;position:absolute;right:var(--eui-base-spacing-s);-webkit-user-select:none;user-select:none;visibility:visible}.eui-textarea__wrapper .eui-textarea--clearable-icon:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-textarea__wrapper .eui-textarea--clearable-icon>svg{fill:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea--clearable-icon>svg:hover{fill:var(--eui-base-color-danger-100)}.eui-textarea__wrapper .eui-textarea--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-textarea__wrapper .eui-textarea--loading-icon{align-items:center;display:flex}.eui-textarea__wrapper .eui-textarea--loading-icon:after,.eui-textarea__wrapper .eui-textarea--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-textarea__wrapper .eui-textarea--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-textarea__wrapper .eui-textarea--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-textarea__wrapper .eui-textarea--loading-icon--sm:after,.eui-textarea__wrapper .eui-textarea--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-5)}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-35)}.eui-textarea__wrapper .eui-textarea::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-textarea__wrapper .eui-textarea--disabled,.eui-textarea__wrapper .eui-textarea[disabled]{pointer-events:auto}.eui-textarea__wrapper .eui-textarea__value-container{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper--readonly{padding:var(--eui-base-spacing-2xs) 0}.eui-textarea__wrapper--readonly .eui-input-maxlength-wrapper{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper--readonly .eui-textarea__value-container{-webkit-appearance:initial;appearance:initial;color:var(--eui-base-color-grey-100);display:inline-block;word-break:break-word}.eui-textarea__wrapper .eui-textarea--readonly{-webkit-appearance:none;appearance:none;display:none}.eui-textarea__wrapper .eui-textarea--invalid{border:1px solid var(--eui-base-color-danger-100)}\n"] }]
|
194
194
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { class: [{
|
195
195
|
type: HostBinding,
|
196
196
|
args: ['class']
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
|
|
225
225
|
type: HostListener,
|
226
226
|
args: ['blur', ['$event.target.value']]
|
227
227
|
}] } });
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10ZXh0YXJlYS9ldWktdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBS0wsaUJBQWlCLEVBSWpCLFVBQVUsRUFDVixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVTNDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO2FBQzVDLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQUVyQixJQUVXLEtBQUssQ0FBQyxRQUFnQjtRQUM3QixLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqSCxDQUFDO0lBRUQsSUFFVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMs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SUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO3dJQXhOUSxvQkFBb0I7NEhBQXBCLG9CQUFvQiwrYkFGbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixFQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLHNFQUZuRywyQkFBMkI7O2tHQUk1QixvQkFBb0I7a0JBUmhDLFNBQVM7K0JBRUksdUJBQXVCLFlBRXZCLDJCQUEyQixpQkFDdEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHFCQUFxQixFQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2dKQU9sRyxLQUFLO3NCQUZmLFdBQVc7dUJBQUMsT0FBTzs7c0JBQ25CLEtBQUs7Z0JBVUssUUFBUTtzQkFGbEIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFZSyxRQUFRO3NCQUZsQixXQUFXO3VCQUFDLGVBQWU7O3NCQUMzQixLQUFLO2dCQVVOLEVBQUU7c0JBRkQsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFJSyxTQUFTO3NCQURuQixLQUFLO2dCQVNpQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBa0I3QixhQUFhO3NCQURuQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQU12QyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE9uRGVzdHJveSxcbiAgICBEb0NoZWNrLFxuICAgIEluamVjdG9yLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0RmxhZ3MsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBOZ0NvbnRyb2wsXG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUNvbnRyb2xEaXJlY3RpdmUsXG4gICAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIEZvcm1Db250cm9sTmFtZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9zaGFyZWQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAndGV4dGFyZWFbZXVpVGV4dEFyZWFdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXVpVGV4dGFyZWFDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERvQ2hlY2ssIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHN0YXRpYyBpZENvdW50ZXIgPSAwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNsYXNzKGNzc0NsYXNzOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIuc3R5bGVDbGFzcyA9IGNzc0NsYXNzO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbdGhpcy5pc0ludmFsaWQgPyBgZXVpLXRleHRhcmVhLS1pbnZhbGlkYCA6IGBgLCBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktdGV4dGFyZWEnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkID8gdHJ1ZSA6IG51bGw7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQoc3RhdGU6IGFueSkge1xuICAgICAgICAvLyBpbiBjYXNlIGl0J3MgY29udHJvbGxlZCBieSBOZ0NvbnRyb2wgb3ZlcnJpZGVcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoc3RhdGUpO1xuICAgICAgICAvLyBzZXQgQmFzZURpcmVjdGl2ZSBBdHRyaWJ1dGVcbiAgICAgICAgc3VwZXIuZXVpRGlzYWJsZWQgPSB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJlYWRvbmx5JylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByZWFkb25seShzdGF0ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHN0YXRlKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIGlkID0gYGV1aS10ZXh0YXJlYV8ke0V1aVRleHRhcmVhQ29tcG9uZW50LmlkQ291bnRlcisrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgaXNJbnZhbGlkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNJbnZhbGlkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgc3VwZXIuZXVpRGFuZ2VyID0gdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1lMmUnKSBASW5wdXQoKSBlMmVBdHRyID0gJ2V1aS10ZXh0YXJlYSc7XG4gICAgcHJvdGVjdGVkIF9yZWFkb25seTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBob3N0RWw6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgaG9zdFBhcmVudEVsOiBIVE1MRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgaG9zdFdyYXBwZXJFbDogSFRNTERpdkVsZW1lbnQ7XG4gICAgcHJvdGVjdGVkIHZhbHVlQ29udGFpbmVyRWw6IEhUTUxEaXZFbGVtZW50O1xuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2lzSW52YWxpZD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBjb250cm9sOiBGb3JtQ29udHJvbCB8IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgcHVibGljIG9uQmx1cih2YWx1ZSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaG9zdEVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmhvc3RQYXJlbnRFbCA9IHRoaXMuaG9zdEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaG9zdFdyYXBwZXJFbCA9IHRoaXMuY3JlYXRlSG9zdFdyYXBwZXJDb250YWluZXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNvbnRhaW5lckVsID0gdGhpcy5jcmVhdGVWYWx1ZUNvbnRhaW5lcigpO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlTWFya3VwKCk7XG4gICAgICAgIC8vIGV4dHJhY3QgdGhlIEZvcm1Db250cm9sIG9yIE5nQ29udHJvbFxuICAgICAgICB0aGlzLmNvbnRyb2wgPSAodGhpcy5pbmplY3RvciBhcyBJbmplY3RvcikuZ2V0KE5nQ29udHJvbCwgbnVsbCwgSW5qZWN0RmxhZ3MuT3B0aW9uYWwpO1xuICAgICAgICBpZiAodGhpcy5jb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wgPSAodGhpcy5pbmplY3RvciBhcyBJbmplY3RvcikuZ2V0KEZvcm1Hcm91cERpcmVjdGl2ZSkuZ2V0Q29udHJvbCh0aGlzLmNvbnRyb2wpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2wuZm9ybSBhcyBGb3JtQ29udHJvbDtcbiAgICAgICAgfVxuICAgICAgICAvLyBzZXRzIGludmFsaWQgc3RhdGUgaWYgY29udHJvbCBpcyBwcmVzZW50XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCB8fCB0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBOZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmNvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRoaXMuY29udHJvbC5kaXJ0eSAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHN0YXR1cyA9PT0gJ0lOVkFMSUQnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdHVzID09PSAnRElTQUJMRUQnO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sIGluc3RhbmNlb2YgTmdDb250cm9sIHx8IHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBEZWxldGUgd2hlbiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8zMDI3NSBpcyByZXNvbHZlZFxuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gY2hhbmdlc1sncmVhZG9ubHknXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhvc3RXcmFwcGVyRWwgJiYgdGhpcy52YWx1ZUNvbnRhaW5lckVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0V3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoJ2V1aS10ZXh0YXJlYV9fd3JhcHBlci0tcmVhZG9ubHknLCAhIXJlYWRvbmx5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmhvc3RFbCAmJiB0aGlzLnZhbHVlQ29udGFpbmVyRWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFbC5jbGFzc0xpc3QudG9nZ2xlKCdldWktdGV4dGFyZWEtLXJlYWRvbmx5JywgISFyZWFkb25seSk7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnRhaW5lckVsLmlubmVyVGV4dCA9IHRoaXMuaG9zdEVsLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWydldWlEaXNhYmxlZCddKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydldWlEaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA/IHRoaXMuY29udHJvbC5kaXNhYmxlKCkgOiB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShjaGFuZ2VzWydldWlEaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIGNsZWFudXAgRE9NIGxlZnRvdmVyc1xuICAgICAgICBpZiAodGhpcy52YWx1ZUNvbnRhaW5lckVsKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuaG9zdEVsLnBhcmVudEVsZW1lbnQsIHRoaXMudmFsdWVDb250YWluZXJFbCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ob3N0V3JhcHBlckVsKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuaG9zdFBhcmVudEVsLCB0aGlzLmhvc3RXcmFwcGVyRWwpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlQ29udGFpbmVyRWwpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMudmFsdWVDb250YWluZXJFbCwgJ2lubmVyVGV4dCcsIG9iaik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBvYmopO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3N0RWwpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuaG9zdEVsLCAnZGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZShfKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShfKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZChfKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gdGhpcy5jb250cm9sLmludmFsaWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUhvc3RXcmFwcGVyQ29udGFpbmVyKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh3cmFwcGVyLCAnZXVpLXRleHRhcmVhX193cmFwcGVyJyk7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh3cmFwcGVyLCAnZXVpLXRleHRhcmVhX193cmFwcGVyLS1yZWFkb25seScpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWwsICdldWktdGV4dGFyZWEtLXJlYWRvbmx5Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh3cmFwcGVyLCAnZXVpLXRleHRhcmVhX193cmFwcGVyLS1yZWFkb25seScpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWwsICdldWktdGV4dGFyZWEtLXJlYWRvbmx5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBEaXYgZWxlbWVudCB3aGljaCB3aWxsIGhvbGQgdGhlIHZhbHVlIHRvIGRpc3BsYXkgd2hlbiByZWFkb25seVxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZVZhbHVlQ29udGFpbmVyKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICAgICAgY29uc3QgdmFsdWVDb250YWluZXIgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModmFsdWVDb250YWluZXIsICdldWktdGV4dGFyZWFfX3ZhbHVlLWNvbnRhaW5lcicpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh2YWx1ZUNvbnRhaW5lciwgJ2lubmVyVGV4dCcsIHRoaXMuaG9zdEVsLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlQ29udGFpbmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIG1hcmt1cCBhcm91bmQgdGhlIHRleHRhcmVhLiBBcHBlbmQgdGV4dGFyZWEgb250byBhIGNvbnRhaW5lciB3aXRoIGRpdlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZU1hcmt1cCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdFBhcmVudEVsICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFBhcmVudEVsLnJlcGxhY2VDaGlsZCh0aGlzLmhvc3RXcmFwcGVyRWwsIHRoaXMuaG9zdEVsKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdFdyYXBwZXJFbC5hcHBlbmRDaGlsZCh0aGlzLmhvc3RFbCk7XG4gICAgICAgICAgICB0aGlzLmhvc3RXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy52YWx1ZUNvbnRhaW5lckVsKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10ZXh0YXJlYS9ldWktdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBS0wsaUJBQWlCLEVBSWpCLFVBQVUsRUFDVixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVTNDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO2FBQzVDLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQUVyQixJQUVXLEtBQUssQ0FBQyxRQUFnQjtRQUM3QixLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqSCxDQUFDO0lBRUQsSUFFVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBVTtRQUMxQixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5Qyw4QkFBOEI7UUFDOUIsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUVXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUtELElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RDLENBQUM7SUFjRCxZQUNZLFFBQWtCLEVBQ2xCLFdBQXVCLEVBQ3ZCLFNBQW9CO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBSkEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBM0JoQyxPQUFFLEdBQUcsZ0JBQWdCLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFXakIsWUFBTyxHQUFHLGNBQWMsQ0FBQztRQVV4RCxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFTNUQsQ0FBQztJQUdNLGFBQWEsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUdNLE1BQU0sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksQ0FBQyxRQUFxQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksZUFBZSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUksSUFBSSxDQUFDLFFBQXFCLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvRjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxvQkFBb0IsRUFBRTtZQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBbUIsQ0FBQztTQUNuRDtRQUNELDJDQUEyQztRQUMzQyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksU0FBUyxFQUFFO1lBQzFFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNwRixJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUMzRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxLQUFLLFVBQVUsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxFQUFFO1lBQzFFLGdGQUFnRjtZQUNoRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2pFO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBRWxELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEY7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3ZEO1NBQ0o7UUFDRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxFQUFFO2dCQUNyQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDOUQ7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJO2dCQUNBLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ2hGO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQjtTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUk7Z0JBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuRTtJQUNMLENBQUM7SUFFUyxRQUFRLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw2REFBNkQ7SUFDbkQsU0FBUyxDQUFDLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFTywwQkFBMEI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDckU7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG9CQUFvQjtRQUN4QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsK0JBQStCLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxZQUFZO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQzt3SUE1TlEsb0JBQW9COzRIQUFwQixvQkFBb0IsK2JBRmxCLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsRUFBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxzRUFGbkcsMkJBQTJCOztrR0FJNUIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUVJLHVCQUF1QixZQUV2QiwyQkFBMkIsaUJBQ3RCLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxxQkFBcUIsRUFBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztnSkFPbEcsS0FBSztzQkFGZixXQUFXO3VCQUFDLE9BQU87O3NCQUNuQixLQUFLO2dCQVVLLFFBQVE7c0JBRmxCLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLEtBQUs7Z0JBWUssUUFBUTtzQkFGbEIsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFVTixFQUFFO3NCQUZELFdBQVc7dUJBQUMsU0FBUzs7c0JBQ3JCLEtBQUs7Z0JBSUssU0FBUztzQkFEbkIsS0FBSztnQkFTaUMsT0FBTztzQkFBN0MsV0FBVzt1QkFBQyxlQUFlOztzQkFBRyxLQUFLO2dCQXNCN0IsYUFBYTtzQkFEbkIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFNdkMsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgRG9DaGVjayxcbiAgICBJbmplY3RvcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdEZsYWdzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgTmdDb250cm9sLFxuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Db250cm9sRGlyZWN0aXZlLFxuICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBGb3JtQ29udHJvbE5hbWUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ3RleHRhcmVhW2V1aVRleHRBcmVhXScsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV1aVRleHRhcmVhQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrLCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjbGFzcyhjc3NDbGFzczogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyLnN0eWxlQ2xhc3MgPSBjc3NDbGFzcztcbiAgICB9XG4gICAgcHVibGljIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3RoaXMuaXNJbnZhbGlkID8gYGV1aS10ZXh0YXJlYS0taW52YWxpZGAgOiBgYCwgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZXVpLXRleHRhcmVhJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgPyB0cnVlIDogbnVsbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBkaXNhYmxlZChzdGF0ZTogYW55KSB7XG4gICAgICAgIC8vIGluIGNhc2UgaXQncyBjb250cm9sbGVkIGJ5IE5nQ29udHJvbCBvdmVycmlkZVxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShzdGF0ZSk7XG4gICAgICAgIC8vIHNldCBCYXNlRGlyZWN0aXZlIEF0dHJpYnV0ZVxuICAgICAgICBzdXBlci5ldWlEaXNhYmxlZCA9IHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucmVhZG9ubHknKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCByZWFkb25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5IHx8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHN0YXRlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoc3RhdGUpO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgaWQgPSBgZXVpLXRleHRhcmVhXyR7RXVpVGV4dGFyZWFDb21wb25lbnQuaWRDb3VudGVyKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBpc0ludmFsaWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBzdXBlci5ldWlEYW5nZXIgPSB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLXRleHRhcmVhJztcbiAgICBwcm90ZWN0ZWQgX3JlYWRvbmx5OiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIGhvc3RFbDogSFRNTFRleHRBcmVhRWxlbWVudDtcblxuICAgIHByb3RlY3RlZCBob3N0UGFyZW50RWw6IEhUTUxFbGVtZW50O1xuICAgIHByb3RlY3RlZCBob3N0V3JhcHBlckVsOiBIVE1MRGl2RWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgdmFsdWVDb250YWluZXJFbDogSFRNTERpdkVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgTmdDb250cm9sO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBwdWJsaWMgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQodmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RFbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwgPSB0aGlzLmhvc3RFbC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB0aGlzLmhvc3RXcmFwcGVyRWwgPSB0aGlzLmNyZWF0ZUhvc3RXcmFwcGVyQ29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMudmFsdWVDb250YWluZXJFbCA9IHRoaXMuY3JlYXRlVmFsdWVDb250YWluZXIoKTtcblxuICAgICAgICB0aGlzLmhhbmRsZU1hcmt1cCgpO1xuICAgICAgICAvLyBleHRyYWN0IHRoZSBGb3JtQ29udHJvbCBvciBOZ0NvbnRyb2xcbiAgICAgICAgdGhpcy5jb250cm9sID0gKHRoaXMuaW5qZWN0b3IgYXMgSW5qZWN0b3IpLmdldChOZ0NvbnRyb2wsIG51bGwsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gKHRoaXMuaW5qZWN0b3IgYXMgSW5qZWN0b3IpLmdldChGb3JtR3JvdXBEaXJlY3RpdmUpLmdldENvbnRyb2wodGhpcy5jb250cm9sKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5jb250cm9sLmZvcm0gYXMgRm9ybUNvbnRyb2w7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0cyBpbnZhbGlkIHN0YXRlIGlmIGNvbnRyb2wgaXMgcHJlc2VudFxuICAgICAgICBpZiAodGhpcy5jb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wgfHwgdGhpcy5jb250cm9sIGluc3RhbmNlb2YgTmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5jb250cm9sLmRpc2FibGVkO1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLmNvbnRyb2wuZGlydHkgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQ7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBzdGF0dXMgPT09ICdJTlZBTElEJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHN0YXR1cyA9PT0gJ0RJU0FCTEVEJztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIE5nQ29udHJvbCB8fCB0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgLy8gVE9ETzogRGVsZXRlIHdoZW4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzAyNzUgaXMgcmVzb2x2ZWRcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydyZWFkb25seSddKSB7XG4gICAgICAgICAgICBjb25zdCByZWFkb25seSA9IGNoYW5nZXNbJ3JlYWRvbmx5J10uY3VycmVudFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5ob3N0V3JhcHBlckVsICYmIHRoaXMudmFsdWVDb250YWluZXJFbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdFdyYXBwZXJFbC5jbGFzc0xpc3QudG9nZ2xlKCdldWktdGV4dGFyZWFfX3dyYXBwZXItLXJlYWRvbmx5JywgISFyZWFkb25seSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5ob3N0RWwgJiYgdGhpcy52YWx1ZUNvbnRhaW5lckVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0RWwuY2xhc3NMaXN0LnRvZ2dsZSgnZXVpLXRleHRhcmVhLS1yZWFkb25seScsICEhcmVhZG9ubHkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb250YWluZXJFbC5pbm5lclRleHQgPSB0aGlzLmhvc3RFbC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1snZXVpRGlzYWJsZWQnXSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlc1snZXVpRGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgPyB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5jb250cm9sLmVuYWJsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoY2hhbmdlc1snZXVpRGlzYWJsZWQnXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICAvLyBjbGVhbnVwIERPTSBsZWZ0b3ZlcnNcbiAgICAgICAgaWYgKHRoaXMudmFsdWVDb250YWluZXJFbCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmhvc3RFbC5wYXJlbnRFbGVtZW50LCB0aGlzLnZhbHVlQ29udGFpbmVyRWwpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaG9zdFdyYXBwZXJFbCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmhvc3RQYXJlbnRFbCwgdGhpcy5ob3N0V3JhcHBlckVsKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52YWx1ZUNvbnRhaW5lckVsKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnZhbHVlQ29udGFpbmVyRWwsICdpbm5lclRleHQnLCBvYmopO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgb2JqKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdEVsKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmhvc3RFbCwgJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UoXyk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoXyk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQoXyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIb3N0V3JhcHBlckNvbnRhaW5lcigpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlciwgJ2V1aS10ZXh0YXJlYV9fd3JhcHBlcicpO1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlciwgJ2V1aS10ZXh0YXJlYV9fd3JhcHBlci0tcmVhZG9ubHknKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsLCAnZXVpLXRleHRhcmVhLS1yZWFkb25seScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3Mod3JhcHBlciwgJ2V1aS10ZXh0YXJlYV9fd3JhcHBlci0tcmVhZG9ubHknKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsLCAnZXVpLXRleHRhcmVhLS1yZWFkb25seScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgRGl2IGVsZW1lbnQgd2hpY2ggd2lsbCBob2xkIHRoZSB2YWx1ZSB0byBkaXNwbGF5IHdoZW4gcmVhZG9ubHlcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVWYWx1ZUNvbnRhaW5lcigpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHZhbHVlQ29udGFpbmVyID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHZhbHVlQ29udGFpbmVyLCAnZXVpLXRleHRhcmVhX192YWx1ZS1jb250YWluZXInKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodmFsdWVDb250YWluZXIsICdpbm5lclRleHQnLCB0aGlzLmhvc3RFbC52YWx1ZSk7XG4gICAgICAgIHJldHVybiB2YWx1ZUNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2VzIHRoZSBtYXJrdXAgYXJvdW5kIHRoZSB0ZXh0YXJlYS4gQXBwZW5kIHRleHRhcmVhIG9udG8gYSBjb250YWluZXIgd2l0aCBkaXZcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYW5kbGVNYXJrdXAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3RQYXJlbnRFbCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RQYXJlbnRFbC5yZXBsYWNlQ2hpbGQodGhpcy5ob3N0V3JhcHBlckVsLCB0aGlzLmhvc3RFbCk7XG4gICAgICAgICAgICB0aGlzLmhvc3RXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5ob3N0RWwpO1xuICAgICAgICAgICAgdGhpcy5ob3N0V3JhcHBlckVsLmFwcGVuZENoaWxkKHRoaXMudmFsdWVDb250YWluZXJFbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -4,11 +4,11 @@ import { EuiTextareaComponent } from './eui-textarea.component';
|
|
4
4
|
import { AutoResizeDirective } from './auto-resize.directive';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export class EuiTextAreaModule {
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
8
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
9
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
7
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
8
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextAreaModule, declarations: [EuiTextareaComponent, AutoResizeDirective], imports: [CommonModule], exports: [EuiTextareaComponent, AutoResizeDirective] }); }
|
9
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextAreaModule, imports: [CommonModule] }); }
|
10
10
|
}
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTextAreaModule, decorators: [{
|
12
12
|
type: NgModule,
|
13
13
|
args: [{
|
14
14
|
imports: [CommonModule],
|
@@ -1,6 +1,8 @@
|
|
1
|
+
// TODO: v17 remove this class - unnecessary
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
1
3
|
export class EuiTimebarItem {
|
2
4
|
constructor(values = {}) {
|
3
5
|
Object.assign(this, values);
|
4
6
|
}
|
5
7
|
}
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRpbWViYXItaXRlbS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10aW1lYmFyL2V1aS10aW1lYmFyLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsNENBQTRDO0FBQzVDLDRFQUE0RTtBQUM1RSxNQUFNLE9BQU8sY0FBYztJQUt2QixZQUFZLE1BQU0sR0FBRyxFQUFFO1FBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWRlY2xhcmF0aW9uLW1lcmdpbmdcbmV4cG9ydCBpbnRlcmZhY2UgRXVpVGltZWJhckl0ZW0ge1xuICAgIGRhdGU6IERhdGU7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBzdGVwVHlwZT86IHN0cmluZztcbn1cblxuLy8gVE9ETzogdjE3IHJlbW92ZSB0aGlzIGNsYXNzIC0gdW5uZWNlc3Nhcnlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWRlY2xhcmF0aW9uLW1lcmdpbmdcbmV4cG9ydCBjbGFzcyBFdWlUaW1lYmFySXRlbSBpbXBsZW1lbnRzIEV1aVRpbWViYXJJdGVtIHtcbiAgICBkYXRlOiBEYXRlO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgc3RlcFR5cGU/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZXMgPSB7fSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHZhbHVlcyk7XG4gICAgfVxufVxuIl19
|
@@ -274,12 +274,12 @@ export class EuiTimebarComponent {
|
|
274
274
|
return 0;
|
275
275
|
}
|
276
276
|
}
|
277
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
278
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.3", type: EuiTimebarComponent, selector: "eui-timebar", inputs: { e2eAttr: "e2eAttr", markedDate: "markedDate", items: "items", startLabel: "startLabel", endLabel: "endLabel", dateFormat: "dateFormat", isShowLegend: "isShowLegend", isShowLegendAsIndex: "isShowLegendAsIndex", isShowCurrentDateMarker: "isShowCurrentDateMarker", isCurrentDateMarkerAlwaysInRange: "isCurrentDateMarkerAlwaysInRange", isGroupOverlappingLabels: "isGroupOverlappingLabels" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row flex-container\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date : dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date : dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date : dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date : dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row flex-container\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <span class=\"ux-icon ux-icon-fw ux-icon-circle eui-timebar__legend-item-icon--{{ item.item.stepType }}\"></span>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date : dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date : dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", styles: [".eui-timebar{border-bottom:2px solid var(--eui-base-color-grey-25);margin:6rem 3rem;padding:5px;position:relative}.eui-timebar__step{border:7px solid var(--eui-base-color-primary-110);border-radius:16px;height:14px;position:absolute;width:14px}.eui-timebar__step-date-item{background-color:var(--eui-base-color-grey-80);border-radius:var(--eui-border-radius-base);color:var(--eui-base-color-white);font-size:var(--eui-base-font-size-s);max-width:8rem;min-width:6rem;padding:var(--eui-base-spacing-xs);position:absolute;text-align:center;top:-2.5rem;transform:rotate(65deg);transform-origin:50% -175%;white-space:normal}.eui-timebar__step-date-item--with-end-date{left:2.5rem;top:-1.75rem}.eui-timebar__step--with-current-date-marker.hint--top:before,.eui-timebar__step--with-current-date-marker.hint--top:after{bottom:25px}.eui-timebar__current-progress{border-bottom:3px solid var(--eui-base-color-primary-100);padding-top:5px;position:absolute}.eui-timebar__current-date-marker{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xl);margin-left:-2px;margin-top:-22px;position:absolute}.eui-timebar__current-date-marker-step{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xs);position:absolute}.eui-timebar__start-label,.eui-timebar__end-label{font-size:var(--eui-base-font-size-s);font-weight:700;margin-top:6.5rem}.eui-timebar__start-label{text-align:right}.eui-timebar__step-date-item--with-end-date{margin:0;padding:0}.timebar__grouped__step{border-radius:3px;display:block;padding:3px 8px}.timebar__grouped__step.eui-timebar__step--info{background-color:var(--eui-base-color-info-110)}.timebar__grouped__step.eui-timebar__step--success{background-color:var(--eui-base-color-success-110)}.timebar__grouped__step.eui-timebar__step--warning{background-color:var(--eui-base-color-warning-110)}.timebar__grouped__step.eui-timebar__step--danger{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step--info{border-color:var(--eui-base-color-info-110)}.eui-timebar__step--info .eui-timebar__step-date-item{background-color:var(--eui-base-color-info-110)}.eui-timebar__step--success{border-color:var(--eui-base-color-success-110)}.eui-timebar__step--success .eui-timebar__step-date-item{background-color:var(--eui-base-color-success-110)}.eui-timebar__step--warning{border-color:var(--eui-base-color-warning-110)}.eui-timebar__step--warning .eui-timebar__step-date-item{background-color:var(--eui-base-color-warning-110)}.eui-timebar__step--danger{border-color:var(--eui-base-color-danger-110)}.eui-timebar__step--danger .eui-timebar__step-date-item{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step-label{margin-left:-4rem;margin-top:.7rem;overflow:hidden;position:absolute;text-align:center;width:8rem}.eui-timebar__legend{margin-left:var(--eui-base-spacing-s);margin-top:3rem}.eui-timebar__legend-item{align-items:center;display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0;width:100%}.eui-timebar__legend-item-icon{color:var(--eui-base-color-primary-100);font-size:16px;width:40px}.eui-timebar__legend-item-label{flex:1}.eui-timebar__legend-item-icon--info{color:var(--eui-base-color-info-110)}.eui-timebar__legend-item-icon--success{color:var(--eui-base-color-success-110)}.eui-timebar__legend-item-icon--warning{color:var(--eui-base-color-warning-110)}.eui-timebar__legend-item-icon--danger{color:var(--eui-base-color-danger-110)}.eui-timebar__legend-item-index-wrapper{background-color:var(--eui-base-color-primary-100);border-radius:100%;color:var(--eui-base-color-white);margin-right:var(--eui-base-spacing-m);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-timebar{margin:5rem var(--eui-base-spacing-m)}.eui-timebar__legend{margin-bottom:var(--eui-base-spacing-l);margin-left:18px}}\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: "pipe", type: i2.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
277
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarComponent, deps: [{ token: i1.UxAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
278
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EuiTimebarComponent, selector: "eui-timebar", inputs: { e2eAttr: "e2eAttr", markedDate: "markedDate", items: "items", startLabel: "startLabel", endLabel: "endLabel", dateFormat: "dateFormat", isShowLegend: "isShowLegend", isShowLegendAsIndex: "isShowLegendAsIndex", isShowCurrentDateMarker: "isShowCurrentDateMarker", isCurrentDateMarkerAlwaysInRange: "isCurrentDateMarkerAlwaysInRange", isGroupOverlappingLabels: "isGroupOverlappingLabels" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row flex-container\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date: dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date: dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date: dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date: dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row flex-container\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <span class=\"ux-icon ux-icon-fw ux-icon-circle eui-timebar__legend-item-icon--{{ item.item.stepType }}\"></span>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", styles: [".eui-timebar{border-bottom:2px solid var(--eui-base-color-grey-25);margin:6rem 3rem;padding:5px;position:relative}.eui-timebar__step{border:7px solid var(--eui-base-color-primary-110);border-radius:16px;height:14px;position:absolute;width:14px}.eui-timebar__step-date-item{background-color:var(--eui-base-color-grey-80);border-radius:var(--eui-border-radius-base);color:var(--eui-base-color-white);font-size:var(--eui-base-font-size-s);max-width:8rem;min-width:6rem;padding:var(--eui-base-spacing-xs);position:absolute;text-align:center;top:-2.5rem;transform:rotate(65deg);transform-origin:50% -175%;white-space:normal}.eui-timebar__step-date-item--with-end-date{left:2.5rem;top:-1.75rem}.eui-timebar__step--with-current-date-marker.hint--top:before,.eui-timebar__step--with-current-date-marker.hint--top:after{bottom:25px}.eui-timebar__current-progress{border-bottom:3px solid var(--eui-base-color-primary-100);padding-top:5px;position:absolute}.eui-timebar__current-date-marker{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xl);margin-left:-2px;margin-top:-22px;position:absolute}.eui-timebar__current-date-marker-step{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xs);position:absolute}.eui-timebar__start-label,.eui-timebar__end-label{font-size:var(--eui-base-font-size-s);font-weight:700;margin-top:6.5rem}.eui-timebar__start-label{text-align:right}.eui-timebar__step-date-item--with-end-date{margin:0;padding:0}.timebar__grouped__step{border-radius:3px;display:block;padding:3px 8px}.timebar__grouped__step.eui-timebar__step--info{background-color:var(--eui-base-color-info-110)}.timebar__grouped__step.eui-timebar__step--success{background-color:var(--eui-base-color-success-110)}.timebar__grouped__step.eui-timebar__step--warning{background-color:var(--eui-base-color-warning-110)}.timebar__grouped__step.eui-timebar__step--danger{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step--info{border-color:var(--eui-base-color-info-110)}.eui-timebar__step--info .eui-timebar__step-date-item{background-color:var(--eui-base-color-info-110)}.eui-timebar__step--success{border-color:var(--eui-base-color-success-110)}.eui-timebar__step--success .eui-timebar__step-date-item{background-color:var(--eui-base-color-success-110)}.eui-timebar__step--warning{border-color:var(--eui-base-color-warning-110)}.eui-timebar__step--warning .eui-timebar__step-date-item{background-color:var(--eui-base-color-warning-110)}.eui-timebar__step--danger{border-color:var(--eui-base-color-danger-110)}.eui-timebar__step--danger .eui-timebar__step-date-item{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step-label{margin-left:-4rem;margin-top:.7rem;overflow:hidden;position:absolute;text-align:center;width:8rem}.eui-timebar__legend{margin-left:var(--eui-base-spacing-s);margin-top:3rem}.eui-timebar__legend-item{align-items:center;display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0;width:100%}.eui-timebar__legend-item-icon{color:var(--eui-base-color-primary-100);font-size:16px;width:40px}.eui-timebar__legend-item-label{flex:1}.eui-timebar__legend-item-icon--info{color:var(--eui-base-color-info-110)}.eui-timebar__legend-item-icon--success{color:var(--eui-base-color-success-110)}.eui-timebar__legend-item-icon--warning{color:var(--eui-base-color-warning-110)}.eui-timebar__legend-item-icon--danger{color:var(--eui-base-color-danger-110)}.eui-timebar__legend-item-index-wrapper{background-color:var(--eui-base-color-primary-100);border-radius:100%;color:var(--eui-base-color-white);margin-right:var(--eui-base-spacing-m);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-timebar{margin:5rem var(--eui-base-spacing-m)}.eui-timebar__legend{margin-bottom:var(--eui-base-spacing-l);margin-left:18px}}\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: "pipe", type: i2.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
279
279
|
}
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarComponent, decorators: [{
|
281
281
|
type: Component,
|
282
|
-
args: [{ selector: 'eui-timebar', encapsulation: ViewEncapsulation.None, template: "<div class=\"row flex-container\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date : dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date : dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date : dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date : dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row flex-container\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <span class=\"ux-icon ux-icon-fw ux-icon-circle eui-timebar__legend-item-icon--{{ item.item.stepType }}\"></span>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date : dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date : dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", styles: [".eui-timebar{border-bottom:2px solid var(--eui-base-color-grey-25);margin:6rem 3rem;padding:5px;position:relative}.eui-timebar__step{border:7px solid var(--eui-base-color-primary-110);border-radius:16px;height:14px;position:absolute;width:14px}.eui-timebar__step-date-item{background-color:var(--eui-base-color-grey-80);border-radius:var(--eui-border-radius-base);color:var(--eui-base-color-white);font-size:var(--eui-base-font-size-s);max-width:8rem;min-width:6rem;padding:var(--eui-base-spacing-xs);position:absolute;text-align:center;top:-2.5rem;transform:rotate(65deg);transform-origin:50% -175%;white-space:normal}.eui-timebar__step-date-item--with-end-date{left:2.5rem;top:-1.75rem}.eui-timebar__step--with-current-date-marker.hint--top:before,.eui-timebar__step--with-current-date-marker.hint--top:after{bottom:25px}.eui-timebar__current-progress{border-bottom:3px solid var(--eui-base-color-primary-100);padding-top:5px;position:absolute}.eui-timebar__current-date-marker{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xl);margin-left:-2px;margin-top:-22px;position:absolute}.eui-timebar__current-date-marker-step{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xs);position:absolute}.eui-timebar__start-label,.eui-timebar__end-label{font-size:var(--eui-base-font-size-s);font-weight:700;margin-top:6.5rem}.eui-timebar__start-label{text-align:right}.eui-timebar__step-date-item--with-end-date{margin:0;padding:0}.timebar__grouped__step{border-radius:3px;display:block;padding:3px 8px}.timebar__grouped__step.eui-timebar__step--info{background-color:var(--eui-base-color-info-110)}.timebar__grouped__step.eui-timebar__step--success{background-color:var(--eui-base-color-success-110)}.timebar__grouped__step.eui-timebar__step--warning{background-color:var(--eui-base-color-warning-110)}.timebar__grouped__step.eui-timebar__step--danger{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step--info{border-color:var(--eui-base-color-info-110)}.eui-timebar__step--info .eui-timebar__step-date-item{background-color:var(--eui-base-color-info-110)}.eui-timebar__step--success{border-color:var(--eui-base-color-success-110)}.eui-timebar__step--success .eui-timebar__step-date-item{background-color:var(--eui-base-color-success-110)}.eui-timebar__step--warning{border-color:var(--eui-base-color-warning-110)}.eui-timebar__step--warning .eui-timebar__step-date-item{background-color:var(--eui-base-color-warning-110)}.eui-timebar__step--danger{border-color:var(--eui-base-color-danger-110)}.eui-timebar__step--danger .eui-timebar__step-date-item{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step-label{margin-left:-4rem;margin-top:.7rem;overflow:hidden;position:absolute;text-align:center;width:8rem}.eui-timebar__legend{margin-left:var(--eui-base-spacing-s);margin-top:3rem}.eui-timebar__legend-item{align-items:center;display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0;width:100%}.eui-timebar__legend-item-icon{color:var(--eui-base-color-primary-100);font-size:16px;width:40px}.eui-timebar__legend-item-label{flex:1}.eui-timebar__legend-item-icon--info{color:var(--eui-base-color-info-110)}.eui-timebar__legend-item-icon--success{color:var(--eui-base-color-success-110)}.eui-timebar__legend-item-icon--warning{color:var(--eui-base-color-warning-110)}.eui-timebar__legend-item-icon--danger{color:var(--eui-base-color-danger-110)}.eui-timebar__legend-item-index-wrapper{background-color:var(--eui-base-color-primary-100);border-radius:100%;color:var(--eui-base-color-white);margin-right:var(--eui-base-spacing-m);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-timebar{margin:5rem var(--eui-base-spacing-m)}.eui-timebar__legend{margin-bottom:var(--eui-base-spacing-l);margin-left:18px}}\n"] }]
|
282
|
+
args: [{ selector: 'eui-timebar', encapsulation: ViewEncapsulation.None, template: "<div class=\"row flex-container\" #container>\n <div *ngIf=\"startLabel\" class=\"col-2 eui-timebar__start-label\">\n {{ startLabel }}\n </div>\n <div class=\"{{ timebarColumnClass }}\">\n <div class=\"eui-timebar\" [style.marginBottom.px]=\"extraTimelineLabelSpace\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-progress\"\n [style.width.%]=\"currentPerc >= 100 ? 100 : currentPerc\"></div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-progress\" [style.width.%]=\"markedPerc >= 100 ? 100 : markedPerc\"></div>\n <ng-template [ngIf]=\"!isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div class=\"eui-timebar__step-date-item\" [class.eui-timebar__step-date-item--with-end-date]=\"item.groupEndDate\">\n <span\n *ngIf=\"item.groupEndDate\"\n class=\"timebar__grouped__step {{\n item.stepTypeClass ? 'eui-timebar__step--' + item.stepTypeClass : ''\n }}\">\n {{ item.groupEndDate | date: dateFormat }}\n </span>\n <span\n class=\"{{ item.tooltipColor ? 'eui-timebar__step--' + item.tooltipColor : '' }}\"\n [class.timebar__grouped__step]=\"item.groupEndDate\">\n {{ item.item.date | date: dateFormat }}\n </span>\n </div>\n <div *ngIf=\"!isShowLegendGenerated\" [style.left.%]=\"item.perc\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n <span title=\"{{ item.groupLabel }}\">{{ item.groupLabel }}</span>\n </ng-container>\n </div>\n <div\n *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\"\n [style.left.%]=\"item.perc\"\n class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template [ngIf]=\"isMobile\">\n <ng-container *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <ng-container *ngIf=\"!item.isGrouped\">\n <div\n class=\"eui-timebar__step\"\n [ngClass]=\"item.stepTypeClass\"\n [style.left.%]=\"item.perc\"\n [class.eui-timebar__step--with-current-date-marker]=\"isShowCurrentDateMarker || markedDate\">\n <div *ngIf=\"!isShowLegendGenerated\" class=\"eui-timebar__step-label\" title=\"{{ item.item.label }}\">\n <ng-container *ngIf=\"!item.groupLabel\">\n <span title=\"{{ item.item.label }}\">{{ item.item.label }}</span>\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n <div *ngIf=\"isShowLegendGenerated && isShowLegendAsIndexGenerated\" class=\"eui-timebar__step-label\">\n <ng-container *ngIf=\"!item.groupLabel\">\n {{ i + 1 }}\n </ng-container>\n <ng-container *ngIf=\"item.groupLabel\">\n {{ item.groupLabel }}\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <div\n *ngIf=\"isShowCurrentDateMarker\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"currentPerc\"\n title=\"{{ currentDate | date: dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"isShowCurrentDateMarker\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"currentPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n <div\n *ngIf=\"markedDate\"\n class=\"eui-timebar__current-date-marker\"\n [style.left.%]=\"markedPerc\"\n title=\"{{ markedDate | date: dateFormat }}\">\n <span class=\"ux-icon ux-icon-map-marker\"></span>\n </div>\n <div *ngIf=\"markedDate\" class=\"eui-timebar__current-date-marker-step\" [style.left.%]=\"markedPerc\">\n <span class=\"ux-icon ux-icon-circle\"></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2 eui-timebar__end-label\">\n {{ endLabel }}\n </div>\n</div>\n<div class=\"row flex-container\">\n <div *ngIf=\"startLabel\" class=\"col-2\"></div>\n <div class=\"{{ timebarColumnClass }}\">\n <div *ngIf=\"isShowLegendGenerated || isSomeStepsAreGrouped\" class=\"eui-timebar__legend\">\n <ng-container *ngIf=\"isShowLegendGenerated\">\n <div class=\"eui-timebar__legend-item\" *ngFor=\"let item of itemsUI; let i = index; trackBy: trackByFn\">\n <div *ngIf=\"!isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-icon\">\n <span class=\"ux-icon ux-icon-fw ux-icon-circle eui-timebar__legend-item-icon--{{ item.item.stepType }}\"></span>\n </div>\n <div *ngIf=\"isShowLegendAsIndexGenerated\" class=\"eui-timebar__legend-item-index-wrapper\">\n {{ i + 1 }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <ng-template [ngIf]=\"isMobile\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </ng-template>\n <ng-template [ngIf]=\"!isMobile\">\n {{ item.item.label }}\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!isShowLegendGenerated\">\n <ng-container *ngFor=\"let item of itemsUI; trackBy: trackByFn\">\n <div *ngIf=\"item.groupLabel || item.isGrouped\" class=\"eui-timebar__legend-item\">\n <div class=\"eui-timebar__legend-item-index-wrapper\">\n {{ item.groupIndex }}\n </div>\n <div class=\"eui-timebar__legend-item-label\">\n <strong>{{ item.item.date | date: dateFormat }}</strong> - {{ item.item.label }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"endLabel\" class=\"col-2\"></div>\n</div>\n", styles: [".eui-timebar{border-bottom:2px solid var(--eui-base-color-grey-25);margin:6rem 3rem;padding:5px;position:relative}.eui-timebar__step{border:7px solid var(--eui-base-color-primary-110);border-radius:16px;height:14px;position:absolute;width:14px}.eui-timebar__step-date-item{background-color:var(--eui-base-color-grey-80);border-radius:var(--eui-border-radius-base);color:var(--eui-base-color-white);font-size:var(--eui-base-font-size-s);max-width:8rem;min-width:6rem;padding:var(--eui-base-spacing-xs);position:absolute;text-align:center;top:-2.5rem;transform:rotate(65deg);transform-origin:50% -175%;white-space:normal}.eui-timebar__step-date-item--with-end-date{left:2.5rem;top:-1.75rem}.eui-timebar__step--with-current-date-marker.hint--top:before,.eui-timebar__step--with-current-date-marker.hint--top:after{bottom:25px}.eui-timebar__current-progress{border-bottom:3px solid var(--eui-base-color-primary-100);padding-top:5px;position:absolute}.eui-timebar__current-date-marker{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xl);margin-left:-2px;margin-top:-22px;position:absolute}.eui-timebar__current-date-marker-step{color:var(--eui-base-color-danger-100);font-size:var(--eui-base-font-size-xs);position:absolute}.eui-timebar__start-label,.eui-timebar__end-label{font-size:var(--eui-base-font-size-s);font-weight:700;margin-top:6.5rem}.eui-timebar__start-label{text-align:right}.eui-timebar__step-date-item--with-end-date{margin:0;padding:0}.timebar__grouped__step{border-radius:3px;display:block;padding:3px 8px}.timebar__grouped__step.eui-timebar__step--info{background-color:var(--eui-base-color-info-110)}.timebar__grouped__step.eui-timebar__step--success{background-color:var(--eui-base-color-success-110)}.timebar__grouped__step.eui-timebar__step--warning{background-color:var(--eui-base-color-warning-110)}.timebar__grouped__step.eui-timebar__step--danger{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step--info{border-color:var(--eui-base-color-info-110)}.eui-timebar__step--info .eui-timebar__step-date-item{background-color:var(--eui-base-color-info-110)}.eui-timebar__step--success{border-color:var(--eui-base-color-success-110)}.eui-timebar__step--success .eui-timebar__step-date-item{background-color:var(--eui-base-color-success-110)}.eui-timebar__step--warning{border-color:var(--eui-base-color-warning-110)}.eui-timebar__step--warning .eui-timebar__step-date-item{background-color:var(--eui-base-color-warning-110)}.eui-timebar__step--danger{border-color:var(--eui-base-color-danger-110)}.eui-timebar__step--danger .eui-timebar__step-date-item{background-color:var(--eui-base-color-danger-110)}.eui-timebar__step-label{margin-left:-4rem;margin-top:.7rem;overflow:hidden;position:absolute;text-align:center;width:8rem}.eui-timebar__legend{margin-left:var(--eui-base-spacing-s);margin-top:3rem}.eui-timebar__legend-item{align-items:center;display:flex;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0;width:100%}.eui-timebar__legend-item-icon{color:var(--eui-base-color-primary-100);font-size:16px;width:40px}.eui-timebar__legend-item-label{flex:1}.eui-timebar__legend-item-icon--info{color:var(--eui-base-color-info-110)}.eui-timebar__legend-item-icon--success{color:var(--eui-base-color-success-110)}.eui-timebar__legend-item-icon--warning{color:var(--eui-base-color-warning-110)}.eui-timebar__legend-item-icon--danger{color:var(--eui-base-color-danger-110)}.eui-timebar__legend-item-index-wrapper{background-color:var(--eui-base-color-primary-100);border-radius:100%;color:var(--eui-base-color-white);margin-right:var(--eui-base-spacing-m);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-timebar{margin:5rem var(--eui-base-spacing-m)}.eui-timebar__legend{margin-bottom:var(--eui-base-spacing-l);margin-left:18px}}\n"] }]
|
283
283
|
}], ctorParameters: function () { return [{ type: i1.UxAppShellService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { container: [{
|
284
284
|
type: ViewChild,
|
285
285
|
args: ['container']
|
@@ -307,11 +307,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
|
|
307
307
|
type: Input
|
308
308
|
}] } });
|
309
309
|
export class EuiTimebarModule {
|
310
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
311
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
312
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
310
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
311
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarModule, declarations: [EuiTimebarComponent], imports: [CommonModule], exports: [EuiTimebarComponent] }); }
|
312
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarModule, imports: [CommonModule] }); }
|
313
313
|
}
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EuiTimebarModule, decorators: [{
|
315
315
|
type: NgModule,
|
316
316
|
args: [{
|
317
317
|
imports: [CommonModule],
|
@@ -319,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
|
|
319
319
|
declarations: [EuiTimebarComponent],
|
320
320
|
}]
|
321
321
|
}] });
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRpbWViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXRpbWViYXIvZXVpLXRpbWViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRpbWViYXIvZXVpLXRpbWViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFFVCxLQUFLLEVBQ0wsUUFBUSxFQU1SLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQXFCLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUc1RCxNQUFNLE9BQU8sZ0JBQWdCO0NBUzVCO0FBUUQsTUFBTSxPQUFPLG1CQUFtQjtJQXFCNUIsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFtQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUNJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUIsQ0FBQyxLQUFtQjtRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQ0ksdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLHVCQUF1QixDQUFDLEtBQW1CO1FBQzNDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxxQkFBcUIsQ0FBQyxLQUFL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Z0NBQWdDLEVBQUU7d0JBQ3ZDLFVBQVUsR0FBRyxDQUFDLENBQUM7cUJBQ2xCO3lCQUFNO3dCQUNILFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDbkI7aUJBQ0o7YUFDSjtZQUVELE9BQU8sVUFBVSxDQUFDO1NBQ3JCO2FBQU07WUFDSCxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0wsQ0FBQzt3SUEzU1EsbUJBQW1COzRIQUFuQixtQkFBbUIsOGpCQ3hDaEMsNmxSQXNKQTs7a0dEOUdhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7d0lBZ0JiLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDYixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUYsWUFBWTtzQkFEZixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFTRix1QkFBdUI7c0JBRDFCLEtBQUs7Z0JBU0YsZ0NBQWdDO3NCQURuQyxLQUFLO2dCQVNGLHdCQUF3QjtzQkFEM0IsS0FBSzs7QUE4UFYsTUFBTSxPQUFPLGdCQUFnQjt3SUFBaEIsZ0JBQWdCO3lJQUFoQixnQkFBZ0IsaUJBblRoQixtQkFBbUIsYUErU2xCLFlBQVksYUEvU2IsbUJBQW1CO3lJQW1UbkIsZ0JBQWdCLFlBSmYsWUFBWTs7a0dBSWIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFV4QXBwU2hlbGxTZXJ2aWNlLCBmb3JtYXROdW1iZXIgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpVGltZWJhckl0ZW0gfSBmcm9tICcuL2V1aS10aW1lYmFyLWl0ZW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXVpVGltZWJhckl0ZW1VSSB7XG4gICAgcGVyYzogbnVtYmVyO1xuICAgIHN0ZXBUeXBlQ2xhc3M6IHN0cmluZztcbiAgICB0b29sdGlwQ29sb3I6IHN0cmluZztcbiAgICBpc0dyb3VwZWQ/OiBib29sZWFuO1xuICAgIGdyb3VwSW5kZXg/OiBudW1iZXI7XG4gICAgZ3JvdXBMYWJlbD86IHN0cmluZztcbiAgICBncm91cEVuZERhdGU/OiBEYXRlO1xuICAgIGl0ZW06IEV1aVRpbWViYXJJdGVtO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10aW1lYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXRpbWViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRpbWViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBpdGVtc1VJOiBFdWlUaW1lYmFySXRlbVVJW10gPSBbXTtcbiAgICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY3VycmVudFBlcmM6IG51bWJlcjtcbiAgICBtYXJrZWRQZXJjOiBudW1iZXI7XG4gICAgdGltZWJhckNvbHVtbkNsYXNzID0gJ2NvbC0xMic7XG4gICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgaXNTaG93TGVnZW5kR2VuZXJhdGVkOiBib29sZWFuO1xuICAgIGlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQ6IGJvb2xlYW47XG4gICAgaXNHcm91cE92ZXJsYXBwaW5nTGFiZWxzR2VuZXJhdGVkOiBib29sZWFuO1xuICAgIGlzTW9iaWxlID0gZmFsc2U7XG4gICAgaXNTb21lU3RlcHNBcmVHcm91cGVkID0gZmFsc2U7XG4gICAgZXh0cmFUaW1lbGluZUxhYmVsU3BhY2UgPSAyMTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdGltZWJhcic7XG4gICAgQElucHV0KCkgbWFya2VkRGF0ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBpdGVtczogRXVpVGltZWJhckl0ZW1bXTtcbiAgICBASW5wdXQoKSBzdGFydExhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZW5kTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBkYXRlRm9ybWF0ID0gJ1lZWVktTU0tZGQnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd0xlZ2VuZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd0xlZ2VuZDtcbiAgICB9XG4gICAgc2V0IGlzU2hvd0xlZ2VuZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd0xlZ2VuZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd0xlZ2VuZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd0xlZ2VuZEFzSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dMZWdlbmRBc0luZGV4O1xuICAgIH1cbiAgICBzZXQgaXNTaG93TGVnZW5kQXNJbmRleCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd0xlZ2VuZEFzSW5kZXggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dMZWdlbmRBc0luZGV4ID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1Nob3dDdXJyZW50RGF0ZU1hcmtlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd0N1cnJlbnREYXRlTWFya2VyO1xuICAgIH1cbiAgICBzZXQgaXNTaG93Q3VycmVudERhdGVNYXJrZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc1Nob3dDdXJyZW50RGF0ZU1hcmtlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd0N1cnJlbnREYXRlTWFya2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0N1cnJlbnREYXRlTWFya2VyQWx3YXlzSW5SYW5nZTtcbiAgICB9XG4gICAgc2V0IGlzQ3VycmVudERhdGVNYXJrZXJBbHdheXNJblJhbmdlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0N1cnJlbnREYXRlTWFya2VyQWx3YXlzSW5SYW5nZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzR3JvdXBPdmVybGFwcGluZ0xhYmVscygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscztcbiAgICB9XG4gICAgc2V0IGlzR3JvdXBPdmVybGFwcGluZ0xhYmVscyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscyA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG1heFN0ZXBXaWR0aCA9IDExMjsgLy8gMTEycHggPSA4cmVtID0gMiB4IDRyZW0gbWFyZ2luIGFyb3VuZCBzdGFydGluZyBhbmQgZW5kaW5nIGJ1bGxldC5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmFzU2VydmljZS5icmVha3BvaW50cyQuc3Vic2NyaWJlKChia3BzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQnJlYWtwb2ludENoYW5nZShia3BzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZU51bGxJdGVtcygpO1xuICAgICAgICB0aGlzLnNvcnRJdGVtcygpO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHRoaXMuaXRlbXNbMF0uZGF0ZTtcbiAgICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSA9IHRoaXMuaXRlbXNbdGhpcy5pdGVtcy5sZW5ndGggLSAxXS5kYXRlO1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCBzdGVwVHlwZUNsYXNzID0gJyc7XG4gICAgICAgICAgICBsZXQgdG9vbHRpcENvbG9yID0gJ25vbmUnO1xuXG4gICAgICAgICAgICBpZiAoaXRlbS5zdGVwVHlwZSkge1xuICAgICAgICAgICAgICAgIHN0ZXBUeXBlQ2xhc3MgPSAnZXVpLXRpbWViYXJfX3N0ZXAtLScgKyBpdGVtLnN0ZXBUeXBlO1xuICAgICAgICAgICAgICAgIHRvb2x0aXBDb2xvciA9IGl0ZW0uc3RlcFR5cGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGlzTnVtYmVyID0gL15cXGQrXFwuXFxkKyQvLnRlc3QoaXRlbS5sYWJlbCkgfHwgL15cXGQrJC8udGVzdChpdGVtLmxhYmVsKTtcblxuICAgICAgICAgICAgaWYgKGlzTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5sYWJlbCA9IGZvcm1hdE51bWJlcihpdGVtLmxhYmVsLCAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pdGVtc1VJLnB1c2goe1xuICAgICAgICAgICAgICAgIHBlcmM6IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZShpdGVtLmRhdGUsIHN0YXJ0RGF0ZSwgZW5kRGF0ZSksXG4gICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICBzdGVwVHlwZUNsYXNzLFxuICAgICAgICAgICAgICAgIHRvb2x0aXBDb2xvcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRQZXJjID0gdGhpcy5jYWxjdWxhdGVQZXJjZW50YWdlKHRoaXMuY3VycmVudERhdGUsIHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMubWFya2VkUGVyYyA9IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLm1hcmtlZERhdGUsIHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhcnRMYWJlbCAmJiB0aGlzLmVuZExhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnRpbWViYXJDb2x1bW5DbGFzcyA9ICdjb2wtOCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGFydExhYmVsIHx8IHRoaXMuZW5kTGFiZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWViYXJDb2x1bW5DbGFzcyA9ICdjb2wtMTAnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5pdGlhbGl6ZSBhdHRyaWJ1dGVzXG4gICAgICAgIHRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkID0gdGhpcy5pc1Nob3dMZWdlbmQ7XG4gICAgICAgIHRoaXMuaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZCA9IHRoaXMuaXNTaG93TGVnZW5kQXNJbmRleDtcbiAgICAgICAgdGhpcy5pc0dyb3VwT3ZlcmxhcHBpbmdMYWJlbHNHZW5lcmF0ZWQgPSB0aGlzLmlzR3JvdXBPdmVybGFwcGluZ0xhYmVscztcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cE92ZXJsYXBwaW5nTGFiZWxzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlc1snbWFya2VkRGF0ZSddO1xuICAgICAgICAgICAgaWYgKGNoYW5nZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHRoaXMuaXRlbXNbMF0uZGF0ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDFdLmRhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrZWRQZXJjID0gdGhpcy5jYWxjdWxhdGVQZXJjZW50YWdlKGNoYW5nZS5jdXJyZW50VmFsdWUgYXMgRGF0ZSwgc3RhcnREYXRlLCBlbmREYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQnJlYWtwb2ludENoYW5nZShia3BzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGJrcHMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkID0gdGhpcy5pc1Nob3dMZWdlbmQ7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQgPSB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXg7XG4gICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogRXVpVGltZWJhckl0ZW1VSSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpdGVtLml0ZW0ubGFiZWw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZU51bGxJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pdGVtc1tpXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaS0tO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICAvLyBTb3J0IGJ5IGFzY2VuZGluZyBkYXRlOlxuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuc29ydCgoYTogRXVpVGltZWJhckl0ZW0sIGI6IEV1aVRpbWViYXJJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGEgJiYgYikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPGFueT5hLmRhdGUgLSA8YW55PmIuZGF0ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBncm91cE92ZXJsYXBwaW5nTGFiZWxzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0dyb3VwT3ZlcmxhcHBpbmdMYWJlbHNHZW5lcmF0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJHcm91cGluZygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIgJiYgdGhpcy5pdGVtc1VJICYmIHRoaXMuaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBncm91cGluZ1RocmVzaG9sZCA9IHRoaXMubWF4U3RlcFdpZHRoIC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cGluZ1RocmVzaG9sZCA9ICh0aGlzLm1heFN0ZXBXaWR0aCAqIDEwMCkgLyBjb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBpbmdDb3VudGVyID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgbW9iaWxlSW5kZXhEaXNwbGFjZW1lbnQgPSAwO1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c1VpSXRlbSA9IG51bGw7XG4gICAgICAgICAgICAgICAgbGV0IGxhc3RNb2JpbGVJbmRleCA9IDA7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXNVSS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1aUl0ZW0gPSB0aGlzLml0ZW1zVUlbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1VpSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBNYXRoLmFicyh1aUl0ZW0ucGVyYyAtIHByZXZpb3VzVWlJdGVtLnBlcmMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlIDw9IGdyb3VwaW5nVGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR3JvdXAgdGhlIDIgaXRlbXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmIHRoaXMuaXRlbXNVSVtpIC0gMV0uaXNHcm91cGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vYmlsZUluZGV4RGlzcGxhY2VtZW50ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkICYmIG1vYmlsZUluZGV4RGlzcGxhY2VtZW50IDw9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vYmlsZUluZGV4RGlzcGxhY2VtZW50ID0gZ3JvdXBpbmdDb3VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE1vYmlsZUluZGV4ID0gbW9iaWxlSW5kZXhEaXNwbGFjZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdDb3VudGVyID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cGluZ0NvdW50ZXIrKztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNVaUl0ZW0uZ3JvdXBMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1VpSXRlbS5ncm91cEluZGV4ID0gZ3JvdXBpbmdDb3VudGVyICsgbGFzdE1vYmlsZUluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1VpSXRlbS5ncm91cExhYmVsID0gJycgKyAobGFzdE1vYmlsZUluZGV4ICsgZ3JvdXBpbmdDb3VudGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtLmdyb3VwTGFiZWwgPSAnJyArIGk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdDb3VudGVyKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc1Nob3dMZWdlbmRHZW5lcmF0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uZ3JvdXBMYWJlbCArPSAnLCAnICsgKGxhc3RNb2JpbGVJbmRleCArIGdyb3VwaW5nQ291bnRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uZ3JvdXBMYWJlbCArPSAnLCAnICsgKGkgKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uZ3JvdXBFbmREYXRlID0gdWlJdGVtLml0ZW0uZGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1VpSXRlbS5zdGVwVHlwZUNsYXNzID0gdWlJdGVtLml0ZW0uc3RlcFR5cGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aUl0ZW0uaXNHcm91cGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aUl0ZW0uZ3JvdXBJbmRleCA9IGdyb3VwaW5nQ291bnRlciArIGxhc3RNb2JpbGVJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU29tZVN0ZXBzQXJlR3JvdXBlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtID0gdWlJdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0gPSB1aUl0ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXJHcm91cGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NvbWVTdGVwc0FyZUdyb3VwZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNVSSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXNVSSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmlzR3JvdXBlZDtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5ncm91cEluZGV4O1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmdyb3VwTGFiZWw7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uZ3JvdXBFbmREYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXh0cmFUaW1lbGluZUxhYmVsU3BhY2UgPSAyMTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlRXh0cmFUaW1lbGluZUxhYmVsU3BhY2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zVUkpIHtcbiAgICAgICAgICAgIGxldCBtYXhMYWJlbExlbmd0aCA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtc1VJKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaXRlbSAmJiBpdGVtLml0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4TGFiZWxMZW5ndGggPSBNYXRoLm1heChtYXhMYWJlbExlbmd0aCwgaXRlbS5pdGVtLmxhYmVsLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobWF4TGFiZWxMZW5ndGggPiA1Nikge1xuICAgICAgICAgICAgICAgIC8vIDU2cHggPSA0cmVtIG1hcmdpbiBvZiB0aGUgdGltZWxpbmUgaXRzZWxmLlxuICAgICAgICAgICAgICAgIHRoaXMuZXh0cmFUaW1lbGluZUxhYmVsU3BhY2UgPSBtYXhMYWJlbExlbmd0aCArIDI4OyAvLyAyOHB4ID0gMnJlbSA9IDEgbGluZSBvZiB0ZXh0IGluIGhlaWdodCArIG1hcmdpbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYWxjdWxhdGVQZXJjZW50YWdlKGRhdGU6IERhdGUsIHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSwgY29tcGVuc2F0ZUZvclJhbmdlID0gZmFsc2UpOiBudW1iZXIge1xuICAgICAgICBpZiAoZGF0ZSAmJiBzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgbGV0IHBlcmNlbnRhZ2UgPSAoKGRhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKSkgLyAoZW5kRGF0ZS5nZXRUaW1lKCkgLSBzdGFydERhdGUuZ2V0VGltZSgpKSkgKiAxMDA7XG5cbiAgICAgICAgICAgIGlmIChjb21wZW5zYXRlRm9yUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZGF0ZSBpcyBvdmVyIHRoZSBlbmQgZGF0ZSwgb3IgYmVsb3cgdGhlIHN0YXJ0IGRhdGVcbiAgICAgICAgICAgICAgICAvLyBzaW11bGF0ZSBpdHMgcG9zaXRpb25pbmcgdG8gbm90IG1lc3MgdXAgdGhlIHRpbWViYXIgZ2xvYmFsIHdpZHRoXG4gICAgICAgICAgICAgICAgaWYgKHBlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlID0gMTAzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJjZW50YWdlIDw9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnRhZ2UgPSAwO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudGFnZSA9IC0zO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcGVyY2VudGFnZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtFdWlUaW1lYmFyQ29tcG9uZW50XSxcbiAgICBkZWNsYXJhdGlvbnM6IFtFdWlUaW1lYmFyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGltZWJhck1vZHVsZSB7fVxuIiwiPGRpdiBjbGFzcz1cInJvdyBmbGV4LWNvbnRhaW5lclwiICNjb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cInN0YXJ0TGFiZWxcIiBjbGFzcz1cImNvbC0yIGV1aS10aW1lYmFyX19zdGFydC1sYWJlbFwiPlxuICAgICAgICB7eyBzdGFydExhYmVsIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInt7IHRpbWViYXJDb2x1bW5DbGFzcyB9fVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJcIiBbc3R5bGUubWFyZ2luQm90dG9tLnB4XT1cImV4dHJhVGltZWxpbmVMYWJlbFNwYWNlXCIgYXR0ci5kYXRhLWUyZT1cInt7IGUyZUF0dHIgfX1cIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2hvd0N1cnJlbnREYXRlTWFya2VyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lYmFyX19jdXJyZW50LXByb2dyZXNzXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJjdXJyZW50UGVyYyA+PSAxMDAgPyAxMDAgOiBjdXJyZW50UGVyY1wiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1hcmtlZERhdGVcIiBjbGFzcz1cImV1aS10aW1lYmFyX19jdXJyZW50LXByb2dyZXNzXCIgW3N0eWxlLndpZHRoLiVdPVwibWFya2VkUGVyYyA+PSAxMDAgPyAxMDAgOiBtYXJrZWRQZXJjXCI+PC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIWlzTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1VJOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmlzR3JvdXBlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWViYXJfX3N0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uc3RlcFR5cGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJpdGVtLnBlcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktdGltZWJhcl9fc3RlcC0td2l0aC1jdXJyZW50LWRhdGUtbWFya2VyXT1cImlzU2hvd0N1cnJlbnREYXRlTWFya2VyIHx8IG1hcmtlZERhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX3N0ZXAtZGF0ZS1pdGVtXCIgW2NsYXNzLmV1aS10aW1lYmFyX19zdGVwLWRhdGUtaXRlbS0td2l0aC1lbmQtZGF0ZV09XCJpdGVtLmdyb3VwRW5kRGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmdyb3VwRW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWViYXJfX2dyb3VwZWRfX3N0ZXAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnN0ZXBUeXBlQ2xhc3MgPyAnZXVpLXRpbWViYXJfX3N0ZXAtLScgKyBpdGVtLnN0ZXBUeXBlQ2xhc3MgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZ3JvdXBFbmREYXRlIHwgZGF0ZSA6IGRhdGVGb3JtYXQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBpdGVtLnRvb2x0aXBDb2xvciA/ICdldWktdGltZWJhcl9fc3RlcC0tJyArIGl0ZW0udG9vbHRpcENvbG9yIDogJycgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRpbWViYXJfX2dyb3VwZWRfX3N0ZXBdPVwiaXRlbS5ncm91cEVuZERhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uaXRlbS5kYXRlIHwgZGF0ZSA6IGRhdGVGb3JtYXQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNTaG93TGVnZW5kR2VuZXJhdGVkXCIgW3N0eWxlLmxlZnQuJV09XCJpdGVtLnBlcmNcIiBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5ncm91cExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aXRsZT1cInt7IGl0ZW0uaXRlbS5sYWJlbCB9fVwiPnt7IGl0ZW0uaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPVwie3sgaXRlbS5ncm91cExhYmVsIH19XCI+e3sgaXRlbS5ncm91cExhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93TGVnZW5kR2VuZXJhdGVkICYmIGlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cIml0ZW0ucGVyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWViYXJfX3N0ZXAtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5ncm91cExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmdyb3VwTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNNb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zVUk7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaXNHcm91cGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdGltZWJhcl9fc3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5zdGVwVHlwZUNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cIml0ZW0ucGVyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV1aS10aW1lYmFyX19zdGVwLS13aXRoLWN1cnJlbnQtZGF0ZS1tYXJrZXJdPVwiaXNTaG93Q3VycmVudERhdGVNYXJrZXIgfHwgbWFya2VkRGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNTaG93TGVnZW5kR2VuZXJhdGVkXCIgY2xhc3M9XCJldWktdGltZWJhcl9fc3RlcC1sYWJlbFwiIHRpdGxlPVwie3sgaXRlbS5pdGVtLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5ncm91cExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aXRsZT1cInt7IGl0ZW0uaXRlbS5sYWJlbCB9fVwiPnt7IGl0ZW0uaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZ3JvdXBMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTaG93TGVnZW5kR2VuZXJhdGVkICYmIGlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWRcIiBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5ncm91cExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZ3JvdXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5ncm91cExhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTaG93Q3VycmVudERhdGVNYXJrZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWViYXJfX2N1cnJlbnQtZGF0ZS1tYXJrZXJcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiY3VycmVudFBlcmNcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgY3VycmVudERhdGUgfCBkYXRlIDogZGF0ZUZvcm1hdCB9fVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXgtaWNvbiB1eC1pY29uLW1hcC1tYXJrZXJcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc1Nob3dDdXJyZW50RGF0ZU1hcmtlclwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2N1cnJlbnQtZGF0ZS1tYXJrZXItc3RlcFwiIFtzdHlsZS5sZWZ0LiVdPVwiY3VycmVudFBlcmNcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInV4LWljb24gdXgtaWNvbi1jaXJjbGVcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1hcmtlZERhdGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWViYXJfX2N1cnJlbnQtZGF0ZS1tYXJrZXJcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibWFya2VkUGVyY1wiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBtYXJrZWREYXRlIHwgZGF0ZSA6IGRhdGVGb3JtYXQgfX1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInV4LWljb24gdXgtaWNvbi1tYXAtbWFya2VyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFya2VkRGF0ZVwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2N1cnJlbnQtZGF0ZS1tYXJrZXItc3RlcFwiIFtzdHlsZS5sZWZ0LiVdPVwibWFya2VkUGVyY1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXgtaWNvbiB1eC1pY29uLWNpcmNsZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZW5kTGFiZWxcIiBjbGFzcz1cImNvbC0yIGV1aS10aW1lYmFyX19lbmQtbGFiZWxcIj5cbiAgICAgICAge3sgZW5kTGFiZWwgfX1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJvdyBmbGV4LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgKm5nSWY9XCJzdGFydExhYmVsXCIgY2xhc3M9XCJjb2wtMlwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ7eyB0aW1lYmFyQ29sdW1uQ2xhc3MgfX1cIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzU2hvd0xlZ2VuZEdlbmVyYXRlZCB8fCBpc1NvbWVTdGVwc0FyZUdyb3VwZWRcIiBjbGFzcz1cImV1aS10aW1lYmFyX19sZWdlbmRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Nob3dMZWdlbmRHZW5lcmF0ZWRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNVSTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXgtaWNvbiB1eC1pY29uLWZ3IHV4LWljb24tY2lyY2xlIGV1aS10aW1lYmFyX19sZWdlbmQtaXRlbS1pY29uLS17eyBpdGVtLml0ZW0uc3RlcFR5cGUgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWluZGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNNb2JpbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGl0ZW0uaXRlbS5kYXRlIHwgZGF0ZSA6IGRhdGVGb3JtYXQgfX08L3N0cm9uZz4gLSB7eyBpdGVtLml0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIWlzTW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5pdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Nob3dMZWdlbmRHZW5lcmF0ZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zVUk7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5ncm91cExhYmVsIHx8IGl0ZW0uaXNHcm91cGVkXCIgY2xhc3M9XCJldWktdGltZWJhcl9fbGVnZW5kLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdGltZWJhcl9fbGVnZW5kLWl0ZW0taW5kZXgtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZ3JvdXBJbmRleCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBpdGVtLml0ZW0uZGF0ZSB8IGRhdGUgOiBkYXRlRm9ybWF0IH19PC9zdHJvbmc+IC0ge3sgaXRlbS5pdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImVuZExhYmVsXCIgY2xhc3M9XCJjb2wtMlwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRpbWViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXRpbWViYXIvZXVpLXRpbWViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRpbWViYXIvZXVpLXRpbWViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFFVCxLQUFLLEVBQ0wsUUFBUSxFQU1SLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQXFCLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUc1RCxNQUFNLE9BQU8sZ0JBQWdCO0NBUzVCO0FBUUQsTUFBTSxPQUFPLG1CQUFtQjtJQXFCNUIsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFtQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUNJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUIsQ0FBQyxLQUFtQjtRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQ0ksdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLHVCQUF1QixDQUFDLEtBQW1CO1FBQzNDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxxQkFBcUIsQ0FBQyxLQUFL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Z0NBQWdDLEVBQUU7d0JBQ3ZDLFVBQVUsR0FBRyxDQUFDLENBQUM7cUJBQ2xCO3lCQUFNO3dCQUNILFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDbkI7aUJBQ0o7YUFDSjtZQUVELE9BQU8sVUFBVSxDQUFDO1NBQ3JCO2FBQU07WUFDSCxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0wsQ0FBQzt3SUE5U1EsbUJBQW1COzRIQUFuQixtQkFBbUIsOGpCQ3hDaEMsdWxSQXNKQTs7a0dEOUdhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7d0lBZ0JiLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDYixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUYsWUFBWTtzQkFEZixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFTRix1QkFBdUI7c0JBRDFCLEtBQUs7Z0JBU0YsZ0NBQWdDO3NCQURuQyxLQUFLO2dCQVNGLHdCQUF3QjtzQkFEM0IsS0FBSzs7QUFpUVYsTUFBTSxPQUFPLGdCQUFnQjt3SUFBaEIsZ0JBQWdCO3lJQUFoQixnQkFBZ0IsaUJBdFRoQixtQkFBbUIsYUFrVGxCLFlBQVksYUFsVGIsbUJBQW1CO3lJQXNUbkIsZ0JBQWdCLFlBSmYsWUFBWTs7a0dBSWIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFV4QXBwU2hlbGxTZXJ2aWNlLCBmb3JtYXROdW1iZXIgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpVGltZWJhckl0ZW0gfSBmcm9tICcuL2V1aS10aW1lYmFyLWl0ZW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXVpVGltZWJhckl0ZW1VSSB7XG4gICAgcGVyYzogbnVtYmVyO1xuICAgIHN0ZXBUeXBlQ2xhc3M6IHN0cmluZztcbiAgICB0b29sdGlwQ29sb3I6IHN0cmluZztcbiAgICBpc0dyb3VwZWQ/OiBib29sZWFuO1xuICAgIGdyb3VwSW5kZXg/OiBudW1iZXI7XG4gICAgZ3JvdXBMYWJlbD86IHN0cmluZztcbiAgICBncm91cEVuZERhdGU/OiBEYXRlO1xuICAgIGl0ZW06IEV1aVRpbWViYXJJdGVtO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10aW1lYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXRpbWViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRpbWViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBpdGVtc1VJOiBFdWlUaW1lYmFySXRlbVVJW10gPSBbXTtcbiAgICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY3VycmVudFBlcmM6IG51bWJlcjtcbiAgICBtYXJrZWRQZXJjOiBudW1iZXI7XG4gICAgdGltZWJhckNvbHVtbkNsYXNzID0gJ2NvbC0xMic7XG4gICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgaXNTaG93TGVnZW5kR2VuZXJhdGVkOiBib29sZWFuO1xuICAgIGlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQ6IGJvb2xlYW47XG4gICAgaXNHcm91cE92ZXJsYXBwaW5nTGFiZWxzR2VuZXJhdGVkOiBib29sZWFuO1xuICAgIGlzTW9iaWxlID0gZmFsc2U7XG4gICAgaXNTb21lU3RlcHNBcmVHcm91cGVkID0gZmFsc2U7XG4gICAgZXh0cmFUaW1lbGluZUxhYmVsU3BhY2UgPSAyMTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdGltZWJhcic7XG4gICAgQElucHV0KCkgbWFya2VkRGF0ZTogRGF0ZTtcbiAgICBASW5wdXQoKSBpdGVtczogRXVpVGltZWJhckl0ZW1bXTtcbiAgICBASW5wdXQoKSBzdGFydExhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZW5kTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBkYXRlRm9ybWF0ID0gJ1lZWVktTU0tZGQnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd0xlZ2VuZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd0xlZ2VuZDtcbiAgICB9XG4gICAgc2V0IGlzU2hvd0xlZ2VuZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd0xlZ2VuZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd0xlZ2VuZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzU2hvd0xlZ2VuZEFzSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dMZWdlbmRBc0luZGV4O1xuICAgIH1cbiAgICBzZXQgaXNTaG93TGVnZW5kQXNJbmRleCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzU2hvd0xlZ2VuZEFzSW5kZXggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1Nob3dMZWdlbmRBc0luZGV4ID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc1Nob3dDdXJyZW50RGF0ZU1hcmtlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd0N1cnJlbnREYXRlTWFya2VyO1xuICAgIH1cbiAgICBzZXQgaXNTaG93Q3VycmVudERhdGVNYXJrZXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc1Nob3dDdXJyZW50RGF0ZU1hcmtlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzU2hvd0N1cnJlbnREYXRlTWFya2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0N1cnJlbnREYXRlTWFya2VyQWx3YXlzSW5SYW5nZTtcbiAgICB9XG4gICAgc2V0IGlzQ3VycmVudERhdGVNYXJrZXJBbHdheXNJblJhbmdlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNDdXJyZW50RGF0ZU1hcmtlckFsd2F5c0luUmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0N1cnJlbnREYXRlTWFya2VyQWx3YXlzSW5SYW5nZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzR3JvdXBPdmVybGFwcGluZ0xhYmVscygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscztcbiAgICB9XG4gICAgc2V0IGlzR3JvdXBPdmVybGFwcGluZ0xhYmVscyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzR3JvdXBPdmVybGFwcGluZ0xhYmVscyA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG1heFN0ZXBXaWR0aCA9IDExMjsgLy8gMTEycHggPSA4cmVtID0gMiB4IDRyZW0gbWFyZ2luIGFyb3VuZCBzdGFydGluZyBhbmQgZW5kaW5nIGJ1bGxldC5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5hc1NlcnZpY2UuYnJlYWtwb2ludHMkLnN1YnNjcmliZSgoYmtwcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkJyZWFrcG9pbnRDaGFuZ2UoYmtwcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVOdWxsSXRlbXMoKTtcbiAgICAgICAgdGhpcy5zb3J0SXRlbXMoKTtcblxuICAgICAgICBjb25zdCBzdGFydERhdGU6IERhdGUgPSB0aGlzLml0ZW1zWzBdLmRhdGU7XG4gICAgICAgIGNvbnN0IGVuZERhdGU6IERhdGUgPSB0aGlzLml0ZW1zW3RoaXMuaXRlbXMubGVuZ3RoIC0gMV0uZGF0ZTtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgc3RlcFR5cGVDbGFzcyA9ICcnO1xuICAgICAgICAgICAgbGV0IHRvb2x0aXBDb2xvciA9ICdub25lJztcblxuICAgICAgICAgICAgaWYgKGl0ZW0uc3RlcFR5cGUpIHtcbiAgICAgICAgICAgICAgICBzdGVwVHlwZUNsYXNzID0gJ2V1aS10aW1lYmFyX19zdGVwLS0nICsgaXRlbS5zdGVwVHlwZTtcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29sb3IgPSBpdGVtLnN0ZXBUeXBlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpc051bWJlciA9IC9eXFxkK1xcLlxcZCskLy50ZXN0KGl0ZW0ubGFiZWwpIHx8IC9eXFxkKyQvLnRlc3QoaXRlbS5sYWJlbCk7XG5cbiAgICAgICAgICAgIGlmIChpc051bWJlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0ubGFiZWwgPSBmb3JtYXROdW1iZXIoaXRlbS5sYWJlbCwgMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaXRlbXNVSS5wdXNoKHtcbiAgICAgICAgICAgICAgICBwZXJjOiB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRhZ2UoaXRlbS5kYXRlLCBzdGFydERhdGUsIGVuZERhdGUpLFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgc3RlcFR5cGVDbGFzcyxcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29sb3IsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50UGVyYyA9IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLmN1cnJlbnREYXRlLCBzdGFydERhdGUsIGVuZERhdGUsIHRydWUpO1xuICAgICAgICB0aGlzLm1hcmtlZFBlcmMgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRhZ2UodGhpcy5tYXJrZWREYXRlLCBzdGFydERhdGUsIGVuZERhdGUsIHRydWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0TGFiZWwgJiYgdGhpcy5lbmRMYWJlbCkge1xuICAgICAgICAgICAgdGhpcy50aW1lYmFyQ29sdW1uQ2xhc3MgPSAnY29sLTgnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRMYWJlbCB8fCB0aGlzLmVuZExhYmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lYmFyQ29sdW1uQ2xhc3MgPSAnY29sLTEwJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXRpYWxpemUgYXR0cmlidXRlc1xuICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEdlbmVyYXRlZCA9IHRoaXMuaXNTaG93TGVnZW5kO1xuICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQgPSB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXg7XG4gICAgICAgIHRoaXMuaXNHcm91cE92ZXJsYXBwaW5nTGFiZWxzR2VuZXJhdGVkID0gdGhpcy5pc0dyb3VwT3ZlcmxhcHBpbmdMYWJlbHM7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBPdmVybGFwcGluZ0xhYmVscygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXNbJ21hcmtlZERhdGUnXTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydERhdGU6IERhdGUgPSB0aGlzLml0ZW1zWzBdLmRhdGU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSA9IHRoaXMuaXRlbXNbdGhpcy5pdGVtcy5sZW5ndGggLSAxXS5kYXRlO1xuICAgICAgICAgICAgICAgIHRoaXMubWFya2VkUGVyYyA9IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZShjaGFuZ2UuY3VycmVudFZhbHVlIGFzIERhdGUsIHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJyZWFrcG9pbnRDaGFuZ2UoYmtwczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChia3BzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEdlbmVyYXRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU2hvd0xlZ2VuZEdlbmVyYXRlZCA9IHRoaXMuaXNTaG93TGVnZW5kO1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dMZWdlbmRBc0luZGV4R2VuZXJhdGVkID0gdGhpcy5pc1Nob3dMZWdlbmRBc0luZGV4O1xuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEV1aVRpbWViYXJJdGVtVUkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pdGVtLmxhYmVsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmVOdWxsSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXRlbXNbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGktLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc29ydEl0ZW1zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgICAgICAgLy8gU29ydCBieSBhc2NlbmRpbmcgZGF0ZTpcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLnNvcnQoKGE6IEV1aVRpbWViYXJJdGVtLCBiOiBFdWlUaW1lYmFySXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhICYmIGIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxhbnk+YS5kYXRlIC0gPGFueT5iLmRhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ3JvdXBPdmVybGFwcGluZ0xhYmVscygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNHcm91cE92ZXJsYXBwaW5nTGFiZWxzR2VuZXJhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyR3JvdXBpbmcoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyICYmIHRoaXMuaXRlbXNVSSAmJiB0aGlzLmlzU2hvd0xlZ2VuZEFzSW5kZXhHZW5lcmF0ZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgLy8gY29uc3QgZ3JvdXBpbmdUaHJlc2hvbGQgPSB0aGlzLm1heFN0ZXBXaWR0aCAvIDI7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBpbmdUaHJlc2hvbGQgPSAodGhpcy5tYXhTdGVwV2lkdGggKiAxMDApIC8gY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgbGV0IGdyb3VwaW5nQ291bnRlciA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IG1vYmlsZUluZGV4RGlzcGxhY2VtZW50ID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNVaUl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgICAgIGxldCBsYXN0TW9iaWxlSW5kZXggPSAwO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLml0ZW1zVUkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlJdGVtID0gdGhpcy5pdGVtc1VJW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNVaUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gTWF0aC5hYnModWlJdGVtLnBlcmMgLSBwcmV2aW91c1VpSXRlbS5wZXJjKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8PSBncm91cGluZ1RocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIHRoZSAyIGl0ZW1zOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID4gMCAmJiB0aGlzLml0ZW1zVUlbaSAtIDFdLmlzR3JvdXBlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2JpbGVJbmRleERpc3BsYWNlbWVudCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzU2hvd0xlZ2VuZEdlbmVyYXRlZCAmJiBtb2JpbGVJbmRleERpc3BsYWNlbWVudCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2JpbGVJbmRleERpc3BsYWNlbWVudCA9IGdyb3VwaW5nQ291bnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RNb2JpbGVJbmRleCA9IG1vYmlsZUluZGV4RGlzcGxhY2VtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nQ291bnRlciA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdDb3VudGVyKys7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzVWlJdGVtLmdyb3VwTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uZ3JvdXBJbmRleCA9IGdyb3VwaW5nQ291bnRlciArIGxhc3RNb2JpbGVJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzU2hvd0xlZ2VuZEdlbmVyYXRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uZ3JvdXBMYWJlbCA9ICcnICsgKGxhc3RNb2JpbGVJbmRleCArIGdyb3VwaW5nQ291bnRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1VpSXRlbS5ncm91cExhYmVsID0gJycgKyBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nQ291bnRlcisrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNTaG93TGVnZW5kR2VuZXJhdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtLmdyb3VwTGFiZWwgKz0gJywgJyArIChsYXN0TW9iaWxlSW5kZXggKyBncm91cGluZ0NvdW50ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtLmdyb3VwTGFiZWwgKz0gJywgJyArIChpICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtLmdyb3VwRW5kRGF0ZSA9IHVpSXRlbS5pdGVtLmRhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNVaUl0ZW0uc3RlcFR5cGVDbGFzcyA9IHVpSXRlbS5pdGVtLnN0ZXBUeXBlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlJdGVtLmlzR3JvdXBlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlJdGVtLmdyb3VwSW5kZXggPSBncm91cGluZ0NvdW50ZXIgKyBsYXN0TW9iaWxlSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NvbWVTdGVwc0FyZUdyb3VwZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1VpSXRlbSA9IHVpSXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVWlJdGVtID0gdWlJdGVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyR3JvdXBpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTb21lU3RlcHNBcmVHcm91cGVkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zVUkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zVUkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5pc0dyb3VwZWQ7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uZ3JvdXBJbmRleDtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5ncm91cExhYmVsO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmdyb3VwRW5kRGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV4dHJhVGltZWxpbmVMYWJlbFNwYWNlID0gMjE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNhbGN1bGF0ZUV4dHJhVGltZWxpbmVMYWJlbFNwYWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtc1VJKSB7XG4gICAgICAgICAgICBsZXQgbWF4TGFiZWxMZW5ndGggPSAwO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXNVSSkge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLml0ZW0gJiYgaXRlbS5pdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heExhYmVsTGVuZ3RoID0gTWF0aC5tYXgobWF4TGFiZWxMZW5ndGgsIGl0ZW0uaXRlbS5sYWJlbC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG1heExhYmVsTGVuZ3RoID4gNTYpIHtcbiAgICAgICAgICAgICAgICAvLyA1NnB4ID0gNHJlbSBtYXJnaW4gb2YgdGhlIHRpbWVsaW5lIGl0c2VsZi5cbiAgICAgICAgICAgICAgICB0aGlzLmV4dHJhVGltZWxpbmVMYWJlbFNwYWNlID0gbWF4TGFiZWxMZW5ndGggKyAyODsgLy8gMjhweCA9IDJyZW0gPSAxIGxpbmUgb2YgdGV4dCBpbiBoZWlnaHQgKyBtYXJnaW5zXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlUGVyY2VudGFnZShkYXRlOiBEYXRlLCBzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUsIGNvbXBlbnNhdGVGb3JSYW5nZSA9IGZhbHNlKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGRhdGUgJiYgc3RhcnREYXRlICYmIGVuZERhdGUpIHtcbiAgICAgICAgICAgIGxldCBwZXJjZW50YWdlID0gKChkYXRlLmdldFRpbWUoKSAtIHN0YXJ0RGF0ZS5nZXRUaW1lKCkpIC8gKGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKSkpICogMTAwO1xuXG4gICAgICAgICAgICBpZiAoY29tcGVuc2F0ZUZvclJhbmdlKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGRhdGUgaXMgb3ZlciB0aGUgZW5kIGRhdGUsIG9yIGJlbG93IHRoZSBzdGFydCBkYXRlXG4gICAgICAgICAgICAgICAgLy8gc2ltdWxhdGUgaXRzIHBvc2l0aW9uaW5nIHRvIG5vdCBtZXNzIHVwIHRoZSB0aW1lYmFyIGdsb2JhbCB3aWR0aFxuICAgICAgICAgICAgICAgIGlmIChwZXJjZW50YWdlID4gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ3VycmVudERhdGVNYXJrZXJBbHdheXNJblJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlID0gMTAwO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudGFnZSA9IDEwMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGVyY2VudGFnZSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ3VycmVudERhdGVNYXJrZXJBbHdheXNJblJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnRhZ2UgPSAtMztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHBlcmNlbnRhZ2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRXVpVGltZWJhckNvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRXVpVGltZWJhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRpbWViYXJNb2R1bGUge31cbiIsIjxkaXYgY2xhc3M9XCJyb3cgZmxleC1jb250YWluZXJcIiAjY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJzdGFydExhYmVsXCIgY2xhc3M9XCJjb2wtMiBldWktdGltZWJhcl9fc3RhcnQtbGFiZWxcIj5cbiAgICAgICAge3sgc3RhcnRMYWJlbCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ7eyB0aW1lYmFyQ29sdW1uQ2xhc3MgfX1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lYmFyXCIgW3N0eWxlLm1hcmdpbkJvdHRvbS5weF09XCJleHRyYVRpbWVsaW5lTGFiZWxTcGFjZVwiIGF0dHIuZGF0YS1lMmU9XCJ7eyBlMmVBdHRyIH19XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3dDdXJyZW50RGF0ZU1hcmtlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdGltZWJhcl9fY3VycmVudC1wcm9ncmVzc1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiY3VycmVudFBlcmMgPj0gMTAwID8gMTAwIDogY3VycmVudFBlcmNcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXJrZWREYXRlXCIgY2xhc3M9XCJldWktdGltZWJhcl9fY3VycmVudC1wcm9ncmVzc1wiIFtzdHlsZS53aWR0aC4lXT1cIm1hcmtlZFBlcmMgPj0gMTAwID8gMTAwIDogbWFya2VkUGVyY1wiPjwvZGl2PlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiFpc01vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNVSTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5pc0dyb3VwZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLnN0ZXBUeXBlQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS5wZXJjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLXRpbWViYXJfX3N0ZXAtLXdpdGgtY3VycmVudC1kYXRlLW1hcmtlcl09XCJpc1Nob3dDdXJyZW50RGF0ZU1hcmtlciB8fCBtYXJrZWREYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwLWRhdGUtaXRlbVwiIFtjbGFzcy5ldWktdGltZWJhcl9fc3RlcC1kYXRlLWl0ZW0tLXdpdGgtZW5kLWRhdGVdPVwiaXRlbS5ncm91cEVuZERhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5ncm91cEVuZERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lYmFyX19ncm91cGVkX19zdGVwIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zdGVwVHlwZUNsYXNzID8gJ2V1aS10aW1lYmFyX19zdGVwLS0nICsgaXRlbS5zdGVwVHlwZUNsYXNzIDogJydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmdyb3VwRW5kRGF0ZSB8IGRhdGU6IGRhdGVGb3JtYXQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBpdGVtLnRvb2x0aXBDb2xvciA/ICdldWktdGltZWJhcl9fc3RlcC0tJyArIGl0ZW0udG9vbHRpcENvbG9yIDogJycgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRpbWViYXJfX2dyb3VwZWRfX3N0ZXBdPVwiaXRlbS5ncm91cEVuZERhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uaXRlbS5kYXRlIHwgZGF0ZTogZGF0ZUZvcm1hdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1Nob3dMZWdlbmRHZW5lcmF0ZWRcIiBbc3R5bGUubGVmdC4lXT1cIml0ZW0ucGVyY1wiIGNsYXNzPVwiZXVpLXRpbWViYXJfX3N0ZXAtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPVwie3sgaXRlbS5pdGVtLmxhYmVsIH19XCI+e3sgaXRlbS5pdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZ3JvdXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gdGl0bGU9XCJ7eyBpdGVtLmdyb3VwTGFiZWwgfX1cIj57eyBpdGVtLmdyb3VwTGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3dMZWdlbmRHZW5lcmF0ZWQgJiYgaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS5wZXJjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdGltZWJhcl9fc3RlcC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZ3JvdXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZ3JvdXBMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpc01vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNVSTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5pc0dyb3VwZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLnN0ZXBUeXBlQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS5wZXJjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLXRpbWViYXJfX3N0ZXAtLXdpdGgtY3VycmVudC1kYXRlLW1hcmtlcl09XCJpc1Nob3dDdXJyZW50RGF0ZU1hcmtlciB8fCBtYXJrZWREYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1Nob3dMZWdlbmRHZW5lcmF0ZWRcIiBjbGFzcz1cImV1aS10aW1lYmFyX19zdGVwLWxhYmVsXCIgdGl0bGU9XCJ7eyBpdGVtLml0ZW0ubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHRpdGxlPVwie3sgaXRlbS5pdGVtLmxhYmVsIH19XCI+e3sgaXRlbS5pdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZ3JvdXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5ncm91cExhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc1Nob3dMZWdlbmRHZW5lcmF0ZWQgJiYgaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX3N0ZXAtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmdyb3VwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5ncm91cExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmdyb3VwTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Nob3dDdXJyZW50RGF0ZU1hcmtlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdGltZWJhcl9fY3VycmVudC1kYXRlLW1hcmtlclwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJjdXJyZW50UGVyY1wiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBjdXJyZW50RGF0ZSB8IGRhdGU6IGRhdGVGb3JtYXQgfX1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInV4LWljb24gdXgtaWNvbi1tYXAtbWFya2VyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTaG93Q3VycmVudERhdGVNYXJrZXJcIiBjbGFzcz1cImV1aS10aW1lYmFyX19jdXJyZW50LWRhdGUtbWFya2VyLXN0ZXBcIiBbc3R5bGUubGVmdC4lXT1cImN1cnJlbnRQZXJjXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1eC1pY29uIHV4LWljb24tY2lyY2xlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtYXJrZWREYXRlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lYmFyX19jdXJyZW50LWRhdGUtbWFya2VyXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cIm1hcmtlZFBlcmNcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbWFya2VkRGF0ZSB8IGRhdGU6IGRhdGVGb3JtYXQgfX1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInV4LWljb24gdXgtaWNvbi1tYXAtbWFya2VyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFya2VkRGF0ZVwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2N1cnJlbnQtZGF0ZS1tYXJrZXItc3RlcFwiIFtzdHlsZS5sZWZ0LiVdPVwibWFya2VkUGVyY1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXgtaWNvbiB1eC1pY29uLWNpcmNsZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZW5kTGFiZWxcIiBjbGFzcz1cImNvbC0yIGV1aS10aW1lYmFyX19lbmQtbGFiZWxcIj5cbiAgICAgICAge3sgZW5kTGFiZWwgfX1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJvdyBmbGV4LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgKm5nSWY9XCJzdGFydExhYmVsXCIgY2xhc3M9XCJjb2wtMlwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ7eyB0aW1lYmFyQ29sdW1uQ2xhc3MgfX1cIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzU2hvd0xlZ2VuZEdlbmVyYXRlZCB8fCBpc1NvbWVTdGVwc0FyZUdyb3VwZWRcIiBjbGFzcz1cImV1aS10aW1lYmFyX19sZWdlbmRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Nob3dMZWdlbmRHZW5lcmF0ZWRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNVSTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXgtaWNvbiB1eC1pY29uLWZ3IHV4LWljb24tY2lyY2xlIGV1aS10aW1lYmFyX19sZWdlbmQtaXRlbS1pY29uLS17eyBpdGVtLml0ZW0uc3RlcFR5cGUgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNTaG93TGVnZW5kQXNJbmRleEdlbmVyYXRlZFwiIGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWluZGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWViYXJfX2xlZ2VuZC1pdGVtLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNNb2JpbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGl0ZW0uaXRlbS5kYXRlIHwgZGF0ZTogZGF0ZUZvcm1hdCB9fTwvc3Ryb25nPiAtIHt7IGl0ZW0uaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhaXNNb2JpbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLml0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2hvd0xlZ2VuZEdlbmVyYXRlZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNVSTsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmdyb3VwTGFiZWwgfHwgaXRlbS5pc0dyb3VwZWRcIiBjbGFzcz1cImV1aS10aW1lYmFyX19sZWdlbmQtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lYmFyX19sZWdlbmQtaXRlbS1pbmRleC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5ncm91cEluZGV4IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdGltZWJhcl9fbGVnZW5kLWl0ZW0tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGl0ZW0uaXRlbS5kYXRlIHwgZGF0ZTogZGF0ZUZvcm1hdCB9fTwvc3Ryb25nPiAtIHt7IGl0ZW0uaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJlbmRMYWJlbFwiIGNsYXNzPVwiY29sLTJcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|