igniteui-angular 16.0.0-beta.2 → 16.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/action-strip/action-strip.component.mjs +7 -7
- package/esm2022/lib/action-strip/action-strip.module.mjs +5 -5
- package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/avatar/avatar.module.mjs +5 -5
- package/esm2022/lib/badge/badge.component.mjs +4 -4
- package/esm2022/lib/badge/badge.module.mjs +5 -5
- package/esm2022/lib/banner/banner.component.mjs +4 -4
- package/esm2022/lib/banner/banner.directives.mjs +4 -4
- package/esm2022/lib/banner/banner.module.mjs +5 -5
- package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +4 -4
- package/esm2022/lib/buttonGroup/buttongroup.module.mjs +5 -5
- package/esm2022/lib/calendar/calendar-base.mjs +4 -4
- package/esm2022/lib/calendar/calendar.component.mjs +4 -4
- package/esm2022/lib/calendar/calendar.directives.mjs +16 -16
- package/esm2022/lib/calendar/calendar.module.mjs +5 -5
- package/esm2022/lib/calendar/days-view/day-item.component.mjs +4 -4
- package/esm2022/lib/calendar/days-view/days-view.component.mjs +4 -4
- package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +4 -4
- package/esm2022/lib/calendar/month-picker/month-picker-base.mjs +4 -4
- package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +4 -4
- package/esm2022/lib/calendar/months-view/months-view.component.mjs +4 -4
- package/esm2022/lib/calendar/months-view.pipe.mjs +7 -7
- package/esm2022/lib/calendar/years-view/years-view.component.mjs +7 -7
- package/esm2022/lib/card/card.component.mjs +28 -28
- package/esm2022/lib/card/card.module.mjs +5 -5
- package/esm2022/lib/carousel/carousel.component.mjs +7 -7
- package/esm2022/lib/carousel/carousel.directives.mjs +10 -10
- package/esm2022/lib/carousel/carousel.module.mjs +5 -5
- package/esm2022/lib/carousel/slide.component.mjs +4 -4
- package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/lib/chips/chip.component.mjs +4 -4
- package/esm2022/lib/chips/chips-area.component.mjs +4 -4
- package/esm2022/lib/chips/chips.module.mjs +5 -5
- package/esm2022/lib/combo/combo-add-item.component.mjs +4 -4
- package/esm2022/lib/combo/combo-dropdown.component.mjs +4 -4
- package/esm2022/lib/combo/combo-item.component.mjs +4 -4
- package/esm2022/lib/combo/combo.api.mjs +4 -4
- package/esm2022/lib/combo/combo.common.mjs +4 -4
- package/esm2022/lib/combo/combo.component.mjs +4 -4
- package/esm2022/lib/combo/combo.directives.mjs +25 -25
- package/esm2022/lib/combo/combo.module.mjs +5 -5
- package/esm2022/lib/combo/combo.pipes.mjs +7 -7
- package/esm2022/lib/core/density.mjs +4 -4
- package/esm2022/lib/core/navigation/directives.mjs +7 -7
- package/esm2022/lib/core/navigation/nav.service.mjs +4 -4
- package/esm2022/lib/core/selection.mjs +4 -4
- package/esm2022/lib/core/touch.mjs +4 -4
- package/esm2022/lib/core/utils.mjs +4 -4
- package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +4 -4
- package/esm2022/lib/date-common/picker-base.directive.mjs +4 -4
- package/esm2022/lib/date-common/picker-icons.common.mjs +10 -10
- package/esm2022/lib/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/date-range-picker/date-range-picker-inputs.common.mjs +16 -16
- package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +5 -5
- package/esm2022/lib/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/dialog/dialog.directives.mjs +7 -7
- package/esm2022/lib/dialog/dialog.module.mjs +5 -5
- package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +4 -4
- package/esm2022/lib/directives/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/lib/directives/button/button.directive.mjs +4 -4
- package/esm2022/lib/directives/button/button.module.mjs +5 -5
- package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +4 -4
- package/esm2022/lib/directives/date-time-editor/date-time-editor.module.mjs +5 -5
- package/esm2022/lib/directives/divider/divider.directive.mjs +4 -4
- package/esm2022/lib/directives/divider/divider.module.mjs +5 -5
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +13 -13
- package/esm2022/lib/directives/drag-drop/drag-drop.module.mjs +5 -5
- package/esm2022/lib/directives/filter/filter.directive.mjs +7 -7
- package/esm2022/lib/directives/filter/filter.module.mjs +5 -5
- package/esm2022/lib/directives/focus/focus.directive.mjs +4 -4
- package/esm2022/lib/directives/focus/focus.module.mjs +5 -5
- package/esm2022/lib/directives/focus-trap/focus-trap.directive.mjs +4 -4
- package/esm2022/lib/directives/focus-trap/focus-trap.module.mjs +5 -5
- package/esm2022/lib/directives/for-of/base.helper.component.mjs +4 -4
- package/esm2022/lib/directives/for-of/display.container.mjs +4 -4
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +7 -7
- package/esm2022/lib/directives/for-of/for_of.module.mjs +5 -5
- package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +7 -7
- package/esm2022/lib/directives/for-of/horizontal.virtual.helper.component.mjs +4 -4
- package/esm2022/lib/directives/for-of/virtual.helper.component.mjs +4 -4
- package/esm2022/lib/directives/form-control/form-control.directive.mjs +4 -4
- package/esm2022/lib/directives/form-control/form-control.module.mjs +5 -5
- package/esm2022/lib/directives/hint/hint.directive.mjs +4 -4
- package/esm2022/lib/directives/input/input.directive.mjs +14 -4
- package/esm2022/lib/directives/label/label.directive.mjs +4 -4
- package/esm2022/lib/directives/layout/layout.directive.mjs +7 -7
- package/esm2022/lib/directives/layout/layout.module.mjs +5 -5
- package/esm2022/lib/directives/mask/mask-parsing.service.mjs +4 -4
- package/esm2022/lib/directives/mask/mask.directive.mjs +4 -4
- package/esm2022/lib/directives/mask/mask.module.mjs +5 -5
- package/esm2022/lib/directives/notification/notifications.directive.mjs +4 -4
- package/esm2022/lib/directives/prefix/prefix.directive.mjs +4 -4
- package/esm2022/lib/directives/radio/radio-group.directive.mjs +4 -4
- package/esm2022/lib/directives/radio/radio-group.module.mjs +5 -5
- package/esm2022/lib/directives/ripple/ripple.directive.mjs +4 -4
- package/esm2022/lib/directives/ripple/ripple.module.mjs +5 -5
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +4 -4
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.module.mjs +5 -5
- package/esm2022/lib/directives/suffix/suffix.directive.mjs +4 -4
- package/esm2022/lib/directives/template-outlet/template_outlet.directive.mjs +4 -4
- package/esm2022/lib/directives/text-highlight/text-highlight.directive.mjs +4 -4
- package/esm2022/lib/directives/text-highlight/text-highlight.module.mjs +5 -5
- package/esm2022/lib/directives/text-selection/text-selection.directive.mjs +4 -4
- package/esm2022/lib/directives/text-selection/text-selection.module.mjs +5 -5
- package/esm2022/lib/directives/toggle/toggle.directive.mjs +10 -10
- package/esm2022/lib/directives/toggle/toggle.module.mjs +5 -5
- package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/drop-down/drop-down-group.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-item.base.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-item.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-navigation.directive.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.base.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.component.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down.module.mjs +5 -5
- package/esm2022/lib/expansion-panel/expansion-panel-body.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel.directives.mjs +10 -10
- package/esm2022/lib/expansion-panel/expansion-panel.module.mjs +5 -5
- package/esm2022/lib/expansion-panel/toggle-animation-component.mjs +4 -4
- package/esm2022/lib/grids/api.service.mjs +4 -4
- package/esm2022/lib/grids/cell.component.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-actions-base.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-actions.component.mjs +13 -13
- package/esm2022/lib/grids/column-actions/column-hiding.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-pinning.directive.mjs +4 -4
- package/esm2022/lib/grids/column-actions/public_api.mjs +13 -0
- package/esm2022/lib/grids/columns/column-group.component.mjs +4 -4
- package/esm2022/lib/grids/columns/column-layout.component.mjs +4 -4
- package/esm2022/lib/grids/columns/column.component.mjs +4 -4
- package/esm2022/lib/grids/columns/templates.directive.mjs +25 -25
- package/esm2022/lib/grids/columns/validators.directive.mjs +22 -22
- package/esm2022/lib/grids/common/crud.service.mjs +4 -4
- package/esm2022/lib/grids/common/pipes.mjs +55 -55
- package/esm2022/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/base-filtering.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +10 -10
- package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +7 -7
- package/esm2022/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +4 -4
- package/esm2022/lib/grids/filtering/grid-filtering.service.mjs +4 -4
- package/esm2022/lib/grids/grid/expandable-cell.component.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-row.component.mjs +4 -4
- package/esm2022/lib/grids/grid/grid-validation.service.mjs +4 -4
- package/esm2022/lib/grids/grid/grid.component.mjs +5 -6
- package/esm2022/lib/grids/grid/grid.details.pipe.mjs +4 -4
- package/esm2022/lib/grids/grid/grid.directives.mjs +34 -34
- package/esm2022/lib/grids/grid/grid.module.mjs +27 -24
- package/esm2022/lib/grids/grid/grid.pipes.mjs +13 -13
- package/esm2022/lib/grids/grid/grid.summary.pipe.mjs +4 -4
- package/esm2022/lib/grids/grid/groupby-row.component.mjs +4 -4
- package/esm2022/lib/grids/grid-base.directive.mjs +4 -4
- package/esm2022/lib/grids/grid-footer/grid-footer.component.mjs +4 -4
- package/esm2022/lib/grids/grid-mrl-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/grid.common.mjs +4 -4
- package/esm2022/lib/grids/grid.rowEdit.directive.mjs +16 -16
- package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +4 -4
- package/esm2022/lib/grids/grouping/group-by-area.directive.mjs +7 -7
- package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header-group.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header-row.component.mjs +4 -4
- package/esm2022/lib/grids/headers/grid-header.component.mjs +4 -4
- package/esm2022/lib/grids/headers/pipes.mjs +10 -10
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +7 -7
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +27 -24
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +7 -7
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/row-island-api.service.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.drag.directive.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.drop.directive.mjs +4 -4
- package/esm2022/lib/grids/moving/moving.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-filtering.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.module.mjs +27 -24
- package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +31 -31
- package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-content.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header.component.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +4 -4
- package/esm2022/lib/grids/public_api.mjs +5 -2
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +4 -4
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizing.service.mjs +4 -4
- package/esm2022/lib/grids/resizing/resize-handle.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizer.component.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizer.directive.mjs +4 -4
- package/esm2022/lib/grids/resizing/resizing.service.mjs +4 -4
- package/esm2022/lib/grids/row-drag.directive.mjs +10 -10
- package/esm2022/lib/grids/row.directive.mjs +4 -4
- package/esm2022/lib/grids/selection/drag-select.directive.mjs +4 -4
- package/esm2022/lib/grids/selection/row-selectors.mjs +10 -10
- package/esm2022/lib/grids/selection/selection.service.mjs +4 -4
- package/esm2022/lib/grids/state.directive.mjs +4 -4
- package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +4 -4
- package/esm2022/lib/grids/summaries/grid-summary.service.mjs +4 -4
- package/esm2022/lib/grids/summaries/summary-cell.component.mjs +4 -4
- package/esm2022/lib/grids/summaries/summary-row.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/common.mjs +16 -16
- package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +4 -4
- package/esm2022/lib/grids/toolbar/grid-toolbar.base.mjs +7 -7
- package/esm2022/lib/grids/toolbar/grid-toolbar.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/public_api.mjs +7 -1
- package/esm2022/lib/grids/tree-grid/tree-cell.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-row.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.directives.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.module.mjs +44 -39
- package/esm2022/lib/grids/tree-grid/tree-grid.pipes.mjs +22 -22
- package/esm2022/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +4 -4
- package/esm2022/lib/icon/icon.component.mjs +4 -4
- package/esm2022/lib/icon/icon.module.mjs +5 -5
- package/esm2022/lib/icon/icon.service.mjs +4 -4
- package/esm2022/lib/input-group/input-group.component.mjs +4 -4
- package/esm2022/lib/input-group/input-group.module.mjs +5 -5
- package/esm2022/lib/list/list-item.component.mjs +4 -4
- package/esm2022/lib/list/list.common.mjs +16 -16
- package/esm2022/lib/list/list.component.mjs +19 -19
- package/esm2022/lib/list/list.module.mjs +5 -5
- package/esm2022/lib/navbar/navbar.component.mjs +10 -10
- package/esm2022/lib/navbar/navbar.module.mjs +5 -5
- package/esm2022/lib/navigation-drawer/navigation-drawer.component.mjs +4 -4
- package/esm2022/lib/navigation-drawer/navigation-drawer.directives.mjs +10 -10
- package/esm2022/lib/navigation-drawer/navigation-drawer.module.mjs +5 -5
- package/esm2022/lib/paginator/paginator-interfaces.mjs +4 -4
- package/esm2022/lib/paginator/paginator.component.mjs +13 -13
- package/esm2022/lib/paginator/paginator.module.mjs +5 -5
- package/esm2022/lib/progressbar/progressbar.common.mjs +7 -7
- package/esm2022/lib/progressbar/progressbar.component.mjs +10 -10
- package/esm2022/lib/progressbar/progressbar.module.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder-header.component.mjs +4 -4
- package/esm2022/lib/query-builder/query-builder.component.mjs +7 -7
- package/esm2022/lib/query-builder/query-builder.module.mjs +5 -5
- package/esm2022/lib/radio/radio.component.mjs +4 -4
- package/esm2022/lib/select/select-group.component.mjs +4 -4
- package/esm2022/lib/select/select-item.component.mjs +4 -4
- package/esm2022/lib/select/select-navigation.directive.mjs +4 -4
- package/esm2022/lib/select/select.component.mjs +13 -13
- package/esm2022/lib/select/select.module.mjs +5 -5
- package/esm2022/lib/services/animation/angular-animation-service.mjs +4 -4
- package/esm2022/lib/services/csv/csv-exporter.mjs +4 -4
- package/esm2022/lib/services/direction/directionality.mjs +4 -4
- package/esm2022/lib/services/excel/excel-exporter.mjs +4 -4
- package/esm2022/lib/services/overlay/overlay.mjs +4 -4
- package/esm2022/lib/services/transaction/transaction-factory.service.mjs +7 -7
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +4 -4
- package/esm2022/lib/simple-combo/simple-combo.module.mjs +5 -5
- package/esm2022/lib/slider/label/thumb-label.component.mjs +4 -4
- package/esm2022/lib/slider/slider.common.mjs +10 -10
- package/esm2022/lib/slider/slider.component.mjs +4 -4
- package/esm2022/lib/slider/slider.module.mjs +5 -5
- package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +4 -4
- package/esm2022/lib/slider/ticks/tick.pipe.mjs +4 -4
- package/esm2022/lib/slider/ticks/ticks.component.mjs +4 -4
- package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/lib/snackbar/snackbar.module.mjs +5 -5
- package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +4 -4
- package/esm2022/lib/splitter/splitter.component.mjs +7 -7
- package/esm2022/lib/splitter/splitter.module.mjs +5 -5
- package/esm2022/lib/stepper/step/step.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.directive.mjs +22 -22
- package/esm2022/lib/stepper/stepper.module.mjs +5 -5
- package/esm2022/lib/stepper/stepper.service.mjs +4 -4
- package/esm2022/lib/switch/switch.component.mjs +4 -4
- package/esm2022/lib/switch/switch.module.mjs +5 -5
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.component.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.directives.mjs +7 -7
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.module.mjs +5 -5
- package/esm2022/lib/tabs/tab-content.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-header.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-item.directive.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-content.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-header.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tab-item.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tabs.directives.mjs +7 -7
- package/esm2022/lib/tabs/tabs/tabs.module.mjs +5 -5
- package/esm2022/lib/tabs/tabs.directive.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.directives.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/lib/time-picker/time-picker.pipes.mjs +7 -7
- package/esm2022/lib/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/tree/tree-navigation.service.mjs +4 -4
- package/esm2022/lib/tree/tree-node/tree-node.component.mjs +7 -7
- package/esm2022/lib/tree/tree-selection.service.mjs +4 -4
- package/esm2022/lib/tree/tree.component.mjs +10 -10
- package/esm2022/lib/tree/tree.module.mjs +5 -5
- package/esm2022/lib/tree/tree.service.mjs +4 -4
- package/fesm2022/igniteui-angular.mjs +3098 -3079
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/directives/input/input.directive.d.ts +3 -0
- package/lib/grids/column-actions/public_api.d.ts +7 -0
- package/lib/grids/grid/grid.module.d.ts +23 -20
- package/lib/grids/grid/public_api.d.ts +1 -1
- package/lib/grids/hierarchical-grid/hierarchical-grid.module.d.ts +23 -20
- package/lib/grids/hierarchical-grid/public_api.d.ts +1 -1
- package/lib/grids/pivot-grid/pivot-grid.module.d.ts +23 -20
- package/lib/grids/pivot-grid/public_api.d.ts +1 -1
- package/lib/grids/public_api.d.ts +2 -1
- package/lib/grids/tree-grid/public_api.d.ts +5 -1
- package/lib/grids/tree-grid/tree-grid.module.d.ts +40 -35
- package/package.json +6 -6
|
@@ -161,10 +161,10 @@ export class IgxItemListDirective {
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
165
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxItemListDirective, deps: [{ token: IGX_TIME_PICKER_COMPONENT }, { token: i0.ElementRef }, { token: i1.HammerGesturesManager }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
165
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxItemListDirective, isStandalone: true, selector: "[igxItemList]", inputs: { type: ["igxItemList", "type"] }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()", "keydown.arrowdown": "onKeydownArrowDown($event)", "keydown.arrowup": "onKeydownArrowUp($event)", "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)", "keydown.enter": "onKeydownEnter($event)", "keydown.escape": "onKeydownEscape($event)", "mouseover": "onHover()", "wheel": "onScroll($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.igx-time-picker__column": "this.defaultCSS", "class.igx-time-picker__hourList": "this.hourCSS", "class.igx-time-picker__minuteList": "this.minuteCSS", "class.igx-time-picker__secondsList": "this.secondsCSS", "class.igx-time-picker__ampmList": "this.ampmCSS" } }, providers: [HammerGesturesManager], ngImport: i0 }); }
|
|
166
166
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxItemListDirective, decorators: [{
|
|
168
168
|
type: Directive,
|
|
169
169
|
args: [{
|
|
170
170
|
selector: '[igxItemList]',
|
|
@@ -351,10 +351,10 @@ export class IgxTimeItemDirective {
|
|
|
351
351
|
}
|
|
352
352
|
return hour;
|
|
353
353
|
}
|
|
354
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
355
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0
|
|
354
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTimeItemDirective, deps: [{ token: IGX_TIME_PICKER_COMPONENT }, { token: IgxItemListDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
355
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IgxTimeItemDirective, isStandalone: true, selector: "[igxTimeItem]", inputs: { value: ["igxTimeItem", "value"] }, host: { listeners: { "click": "onClick(value)" }, properties: { "class.igx-time-picker__item": "this.defaultCSS", "class.igx-time-picker__item--selected": "this.selectedCSS", "class.igx-time-picker__item--active": "this.activeCSS" } }, exportAs: ["timeItem"], ngImport: i0 }); }
|
|
356
356
|
}
|
|
357
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
357
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTimeItemDirective, decorators: [{
|
|
358
358
|
type: Directive,
|
|
359
359
|
args: [{
|
|
360
360
|
selector: '[igxTimeItem]',
|
|
@@ -380,4 +380,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
380
380
|
type: HostListener,
|
|
381
381
|
args: ['click', ['value']]
|
|
382
382
|
}] } });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUNILFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQXFCLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUVwRixjQUFjO0FBTWQsTUFBTSxPQUFPLG9CQUFvQjtJQVM3QixZQUM4QyxVQUE2QixFQUMvRCxVQUFzQixFQUN0QixZQUFtQztRQUZELGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQy9ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBVnhDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFvS1osY0FBUyxHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9ELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDO0lBOUpFLENBQUM7SUFFTCxJ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TGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWlIZ0IsTUFBTTsyQkFBQyx5QkFBeUI7NEVBOUd0QyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsYUFBYTtnQkFJVCxVQUFVO3NCQURwQixXQUFXO3VCQUFDLDZCQUE2QjtnQkFNL0IsV0FBVztzQkFEckIsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBTXpDLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMscUNBQXFDO2dCQXVHM0MsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCB0aGUgZGlyZWN0aXZlcyB1c2VkIGJ5IHRoZSBAbGluayBJZ3hUaW1lUGlja2VyQ29tcG9uZW50LlxuICogWW91IHNob3VsZCBnZW5lcmFsbHkgbm90IHVzZSB0aGVtIGRpcmVjdGx5LlxuICpcbiAqIEBwcmVmZXJyZWRcbiAqL1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIYW1tZXJHZXN0dXJlc01hbmFnZXIgfSBmcm9tICcuLi9jb3JlL3RvdWNoJztcbmltcG9ydCB7IERhdGVUaW1lVXRpbCB9IGZyb20gJy4uL2RhdGUtY29tbW9uL3V0aWwvZGF0ZS10aW1lLnV0aWwnO1xuaW1wb3J0IHsgSWd4VGltZVBpY2tlckJhc2UsIElHWF9USU1FX1BJQ0tFUl9DT01QT05FTlQgfSBmcm9tICcuL3RpbWUtcGlja2VyLmNvbW1vbic7XG5cbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hJdGVtTGlzdF0nLFxuICAgIHByb3ZpZGVyczogW0hhbW1lckdlc3R1cmVzTWFuYWdlcl0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hJdGVtTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHB1YmxpYyB0YWJpbmRleCA9IDA7XG5cbiAgICBASW5wdXQoJ2lneEl0ZW1MaXN0JylcbiAgICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSUdYX1RJTUVfUElDS0VSX0NPTVBPTkVOVCkgcHVibGljIHRpbWVQaWNrZXI6IElneFRpbWVQaWNrZXJCYXNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdG91Y2hNYW5hZ2VyOiBIYW1tZXJHZXN0dXJlc01hbmFnZXJcbiAgICApIHsgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtdGltZS1waWNrZXJfX2NvbHVtbicpXG4gICAgcHVibGljIGdldCBkZWZhdWx0Q1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faG91ckxpc3QnKVxuICAgIHB1YmxpYyBnZXQgaG91ckNTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2hvdXJMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fbWludXRlTGlzdCcpXG4gICAgcHVibGljIGdldCBtaW51dGVDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdtaW51dGVMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fc2Vjb25kc0xpc3QnKVxuICAgIHB1YmxpYyBnZXQgc2Vjb25kc0NTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ3NlY29uZHNMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fYW1wbUxpc3QnKVxuICAgIHB1YmxpYyBnZXQgYW1wbUNTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2FtcG1MaXN0JztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHB1YmxpYyBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd0Rvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLm5leHRJdGVtKDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5uZXh0SXRlbSgtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkFycm93UmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBsaXN0TmFtZSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTmFtZTtcblxuICAgICAgICBpZiAobGlzdE5hbWUuaW5kZXhPZignaG91ckxpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLm1pbnV0ZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICgobGlzdE5hbWUuaW5kZXhPZignaG91ckxpc3QnKSAhPT0gLTEgfHwgbGlzdE5hbWUuaW5kZXhPZignbWludXRlTGlzdCcpICE9PSAtMSkgJiYgdGhpcy50aW1lUGlja2VyLnNlY29uZHNMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kc0xpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKChsaXN0TmFtZS5pbmRleE9mKCdob3VyTGlzdCcpICE9PSAtMSB8fCBsaXN0TmFtZS5pbmRleE9mKCdtaW51dGVMaXN0JykgIT09IC0xIHx8XG4gICAgICAgICAgICBsaXN0TmFtZS5pbmRleE9mKCdzZWNvbmRzTGlzdCcpICE9PSAtMSkgJiYgdGhpcy50aW1lUGlja2VyLmFtcG1MaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIuYW1wbUxpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dMZWZ0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGxpc3ROYW1lID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NOYW1lO1xuXG4gICAgICAgIGlmIChsaXN0TmFtZS5pbmRleE9mKCdhbXBtTGlzdCcpICE9PSAtMSAmJiB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kc0xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5zZWNvbmRzTGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdE5hbWUuaW5kZXhPZignc2Vjb25kc0xpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLnNlY29uZHNMaXN0XG4gICAgICAgICAgICAmJiBsaXN0TmFtZS5pbmRleE9mKCdtaW51dGVzTGlzdCcpICYmIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubWludXRlTGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdE5hbWUuaW5kZXhPZignYW1wbUxpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLm1pbnV0ZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICgobGlzdE5hbWUuaW5kZXhPZignYW1wbUxpc3QnKSAhPT0gLTEgfHwgbGlzdE5hbWUuaW5kZXhPZignc2Vjb25kc0xpc3QnKSAhPT0gLTEgfHxcbiAgICAgICAgICAgIGxpc3ROYW1lLmluZGV4T2YoJ21pbnV0ZUxpc3QnKSAhPT0gLTEpICYmIHRoaXMudGltZVBpY2tlci5ob3VyTGlzdCkge1xuICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLmhvdXJMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duRW50ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy50aW1lUGlja2VyLm9rQnV0dG9uQ2xpY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25Fc2NhcGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLnRpbWVQaWNrZXIuY2FuY2VsQnV0dG9uQ2xpY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcbiAgICBwdWJsaWMgb25Ib3ZlcigpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvblNjcm9sbChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBkZWx0YSA9IGV2ZW50LmRlbHRhWTtcbiAgICAgICAgaWYgKGRlbHRhICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRJdGVtKGRlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBoYW1tZXJPcHRpb25zOiBIYW1tZXJPcHRpb25zID0geyByZWNvZ25pemVyczogW1tIYW1tZXIuUGFuLCB7IGRpcmVjdGlvbjogSGFtbWVyLkRJUkVDVElPTl9WRVJUSUNBTCwgdGhyZXNob2xkOiAxMCB9XV0gfTtcbiAgICAgICAgdGhpcy50b3VjaE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3BhbicsIHRoaXMub25QYW5Nb3ZlLCBoYW1tZXJPcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudG91Y2hNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUGFuTW92ZSA9IChldmVudDogSGFtbWVySW5wdXQpID0+IHtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBldmVudC5kZWx0YVkgPCAwID8gLTEgOiBldmVudC5kZWx0YVkgPiAwID8gMSA6IDA7XG4gICAgICAgIGlmIChkZWx0YSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5uZXh0SXRlbShkZWx0YSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBuZXh0SXRlbShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdob3VyTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dEhvdXIoZGVsdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbWludXRlTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dE1pbnV0ZShkZWx0YSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRzTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dFNlY29uZHMoZGVsdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYW1wbUxpc3QnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLm5leHRBbVBtKGRlbHRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFRpbWVJdGVtXScsXG4gICAgZXhwb3J0QXM6ICd0aW1lSXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hUaW1lSXRlbURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCdpZ3hUaW1lSXRlbScpXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faXRlbScpXG4gICAgcHVibGljIGdldCBkZWZhdWx0Q1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faXRlbS0tc2VsZWN0ZWQnKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWRUaW1lO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRpbWUtcGlja2VyX19pdGVtLS1hY3RpdmUnKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlQ1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkVGltZSAmJiB0aGlzLml0ZW1MaXN0LmlzQWN0aXZlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNTZWxlY3RlZFRpbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUubGVuZ3RoIDwgMiA/IGAwJHt0aGlzLnZhbHVlfWAgOiB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCBkYXRlVHlwZSA9IHRoaXMuaXRlbUxpc3QudHlwZTtcbiAgICAgICAgY29uc3QgaW5wdXREYXRlUGFydHMgPSBEYXRlVGltZVV0aWwucGFyc2VEYXRlVGltZUZvcm1hdCh0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQpO1xuICAgICAgICBzd2l0Y2ggKGRhdGVUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdob3VyTGlzdCc6XG4gICAgICAgICAgICAgICAgY29uc3QgaG91clBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnaG91cnMnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLCBob3VyUGFydCwgaG91clBhcnQuZm9ybWF0Lmxlbmd0aCkgPT09IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IG1pbnV0ZVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnbWludXRlcycpO1xuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5zZWxlY3RlZERhdGUsIG1pbnV0ZVBhcnQsIG1pbnV0ZVBhcnQuZm9ybWF0Lmxlbmd0aCkgPT09IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZHNMaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdzZWNvbmRzJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSwgc2Vjb25kc1BhcnQsIHNlY29uZHNQYXJ0LmZvcm1hdC5sZW5ndGgpID09PSBjdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBjYXNlICdhbXBtTGlzdCc6XG4gICAgICAgICAgICAgICAgY29uc3QgYW1wbVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5mb3JtYXQgPT09ICd0dCcpO1xuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5zZWxlY3RlZERhdGUsIGFtcG1QYXJ0LCBhbXBtUGFydC5mb3JtYXQubGVuZ3RoKSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVR5cGUgPSB0aGlzLml0ZW1MaXN0LnR5cGU7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgc3dpdGNoIChkYXRlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnaG91ckxpc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJQYXJ0KHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlLmdldEhvdXJzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWludXRlUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdtaW51dGVzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlLCBtaW51dGVQYXJ0LCBtaW51dGVQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJzAwJztcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZHNMaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWluID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLm1pbkRyb3Bkb3duVmFsdWUpO1xuICAgICAgICAgICAgICAgIGRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICAgICAgICAgICAgICBtaW4uc2V0U2Vjb25kcygwKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZS5nZXRUaW1lKCkgPT09IG1pbi5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kc1BhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnc2Vjb25kcycpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIubWluRHJvcGRvd25WYWx1ZSwgc2Vjb25kc1BhcnQsIHNlY29uZHNQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJzAwJztcbiAgICAgICAgICAgIGNhc2UgJ2FtcG1MaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBhbXBtUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmZvcm1hdCA9PT0gJ3R0Jyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUodGhpcy50aW1lUGlja2VyLm1pbkRyb3Bkb3duVmFsdWUsIGFtcG1QYXJ0LCBhbXBtUGFydC5mb3JtYXQubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWF4VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVR5cGUgPSB0aGlzLml0ZW1MaXN0LnR5cGU7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgc3dpdGNoIChkYXRlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnaG91ckxpc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJQYXJ0KHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLmdldEhvdXJzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWludXRlUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdtaW51dGVzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLCBtaW51dGVQYXJ0LCBtaW51dGVQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pbkRlbHRhID0gdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEubWludXRlcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtYWluZGVyID0gNjAgJSBtaW5EZWx0YTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGEgPSByZW1haW5kZXIgPT09IDAgPyA2MCAtIG1pbkRlbHRhIDogNjAgLSByZW1haW5kZXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lLnNldE1pbnV0ZXMoZGVsdGEpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW51dGVQYXJ0ID0gaW5wdXREYXRlUGFydHMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQudHlwZSA9PT0gJ21pbnV0ZXMnKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUoY3VycmVudFRpbWUsIG1pbnV0ZVBhcnQsIG1pbnV0ZVBhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnc2Vjb25kc0xpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXggPSBuZXcgRGF0ZSh0aGlzLnRpbWVQaWNrZXIubWF4RHJvcGRvd25WYWx1ZSk7XG4gICAgICAgICAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKDApO1xuICAgICAgICAgICAgICAgIG1heC5zZXRTZWNvbmRzKDApO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlLmdldFRpbWUoKSA9PT0gbWF4LmdldFRpbWUoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdzZWNvbmRzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLCBzZWNvbmRzUGFydCwgc2Vjb25kc1BhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VjRGVsdGEgPSB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5zZWNvbmRzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1haW5kZXIgPSA2MCAlIHNlY0RlbHRhO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YSA9IHJlbWFpbmRlciA9PT0gMCA/IDYwIC0gc2VjRGVsdGEgOiA2MCAtIHJlbWFpbmRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kc1BhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnc2Vjb25kcycpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZShkYXRlLCBzZWNvbmRzUGFydCwgc2Vjb25kc1BhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYW1wbUxpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IGFtcG1QYXJ0ID0gaW5wdXREYXRlUGFydHMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQuZm9ybWF0ID09PSAndHQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIubWF4RHJvcGRvd25WYWx1ZSwgYW1wbVBhcnQsIGFtcG1QYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBob3VyVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SG91clBhcnQodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJR1hfVElNRV9QSUNLRVJfQ09NUE9ORU5UKVxuICAgIHB1YmxpYyB0aW1lUGlja2VyOiBJZ3hUaW1lUGlja2VyQmFzZSxcbiAgICAgICAgcHJpdmF0ZSBpdGVtTGlzdDogSWd4SXRlbUxpc3REaXJlY3RpdmUpIHsgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJ3ZhbHVlJ10pXG4gICAgcHVibGljIG9uQ2xpY2soaXRlbSkge1xuICAgICAgICBpZiAoaXRlbSAhPT0gJycpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVUeXBlID0gdGhpcy5pdGVtTGlzdC50eXBlO1xuICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLm9uSXRlbUNsaWNrKGl0ZW0sIGRhdGVUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG91clBhcnQoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgY29uc3QgaG91clBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnaG91cnMnKTtcbiAgICAgICAgY29uc3QgYW1wbVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5mb3JtYXQgPT09ICd0dCcpO1xuICAgICAgICBjb25zdCBob3VyID0gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZShkYXRlLCBob3VyUGFydCwgaG91clBhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgIGlmIChhbXBtUGFydCkge1xuICAgICAgICAgICAgY29uc3QgYW1wbSA9IERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUoZGF0ZSwgYW1wbVBhcnQsIGFtcG1QYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJ9ICR7YW1wbX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBob3VyO1xuICAgIH1cbn1cbiJdfQ==
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUNILFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQXFCLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUVwRixjQUFjO0FBTWQsTUFBTSxPQUFPLG9CQUFvQjtJQVM3QixZQUM4QyxVQUE2QixFQUMvRCxVQUFzQixFQUN0QixZQUFtQztRQUZELGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQy9ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBVnhDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFvS1osY0FBUyxHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9ELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDO0lBOUpFLENBQUM7SUFFTCxJ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TGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWlIZ0IsTUFBTTsyQkFBQyx5QkFBeUI7NEVBOUd0QyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsYUFBYTtnQkFJVCxVQUFVO3NCQURwQixXQUFXO3VCQUFDLDZCQUE2QjtnQkFNL0IsV0FBVztzQkFEckIsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBTXpDLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMscUNBQXFDO2dCQXVHM0MsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCB0aGUgZGlyZWN0aXZlcyB1c2VkIGJ5IHRoZSBAbGluayBJZ3hUaW1lUGlja2VyQ29tcG9uZW50LlxuICogWW91IHNob3VsZCBnZW5lcmFsbHkgbm90IHVzZSB0aGVtIGRpcmVjdGx5LlxuICpcbiAqIEBwcmVmZXJyZWRcbiAqL1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIYW1tZXJHZXN0dXJlc01hbmFnZXIgfSBmcm9tICcuLi9jb3JlL3RvdWNoJztcbmltcG9ydCB7IERhdGVUaW1lVXRpbCB9IGZyb20gJy4uL2RhdGUtY29tbW9uL3V0aWwvZGF0ZS10aW1lLnV0aWwnO1xuaW1wb3J0IHsgSWd4VGltZVBpY2tlckJhc2UsIElHWF9USU1FX1BJQ0tFUl9DT01QT05FTlQgfSBmcm9tICcuL3RpbWUtcGlja2VyLmNvbW1vbic7XG5cbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hJdGVtTGlzdF0nLFxuICAgIHByb3ZpZGVyczogW0hhbW1lckdlc3R1cmVzTWFuYWdlcl0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hJdGVtTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHB1YmxpYyB0YWJpbmRleCA9IDA7XG5cbiAgICBASW5wdXQoJ2lneEl0ZW1MaXN0JylcbiAgICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSUdYX1RJTUVfUElDS0VSX0NPTVBPTkVOVCkgcHVibGljIHRpbWVQaWNrZXI6IElneFRpbWVQaWNrZXJCYXNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdG91Y2hNYW5hZ2VyOiBIYW1tZXJHZXN0dXJlc01hbmFnZXJcbiAgICApIHsgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtdGltZS1waWNrZXJfX2NvbHVtbicpXG4gICAgcHVibGljIGdldCBkZWZhdWx0Q1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faG91ckxpc3QnKVxuICAgIHB1YmxpYyBnZXQgaG91ckNTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2hvdXJMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fbWludXRlTGlzdCcpXG4gICAgcHVibGljIGdldCBtaW51dGVDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdtaW51dGVMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fc2Vjb25kc0xpc3QnKVxuICAgIHB1YmxpYyBnZXQgc2Vjb25kc0NTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ3NlY29uZHNMaXN0JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9fYW1wbUxpc3QnKVxuICAgIHB1YmxpYyBnZXQgYW1wbUNTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2FtcG1MaXN0JztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHB1YmxpYyBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd0Rvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLm5leHRJdGVtKDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5uZXh0SXRlbSgtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkFycm93UmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBsaXN0TmFtZSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTmFtZTtcblxuICAgICAgICBpZiAobGlzdE5hbWUuaW5kZXhPZignaG91ckxpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLm1pbnV0ZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICgobGlzdE5hbWUuaW5kZXhPZignaG91ckxpc3QnKSAhPT0gLTEgfHwgbGlzdE5hbWUuaW5kZXhPZignbWludXRlTGlzdCcpICE9PSAtMSkgJiYgdGhpcy50aW1lUGlja2VyLnNlY29uZHNMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kc0xpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKChsaXN0TmFtZS5pbmRleE9mKCdob3VyTGlzdCcpICE9PSAtMSB8fCBsaXN0TmFtZS5pbmRleE9mKCdtaW51dGVMaXN0JykgIT09IC0xIHx8XG4gICAgICAgICAgICBsaXN0TmFtZS5pbmRleE9mKCdzZWNvbmRzTGlzdCcpICE9PSAtMSkgJiYgdGhpcy50aW1lUGlja2VyLmFtcG1MaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIuYW1wbUxpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dMZWZ0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGxpc3ROYW1lID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NOYW1lO1xuXG4gICAgICAgIGlmIChsaXN0TmFtZS5pbmRleE9mKCdhbXBtTGlzdCcpICE9PSAtMSAmJiB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kc0xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5zZWNvbmRzTGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdE5hbWUuaW5kZXhPZignc2Vjb25kc0xpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLnNlY29uZHNMaXN0XG4gICAgICAgICAgICAmJiBsaXN0TmFtZS5pbmRleE9mKCdtaW51dGVzTGlzdCcpICYmIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubWludXRlTGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGlzdE5hbWUuaW5kZXhPZignYW1wbUxpc3QnKSAhPT0gLTEgJiYgdGhpcy50aW1lUGlja2VyLm1pbnV0ZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMudGltZVBpY2tlci5taW51dGVMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICgobGlzdE5hbWUuaW5kZXhPZignYW1wbUxpc3QnKSAhPT0gLTEgfHwgbGlzdE5hbWUuaW5kZXhPZignc2Vjb25kc0xpc3QnKSAhPT0gLTEgfHxcbiAgICAgICAgICAgIGxpc3ROYW1lLmluZGV4T2YoJ21pbnV0ZUxpc3QnKSAhPT0gLTEpICYmIHRoaXMudGltZVBpY2tlci5ob3VyTGlzdCkge1xuICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLmhvdXJMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duRW50ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy50aW1lUGlja2VyLm9rQnV0dG9uQ2xpY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25Fc2NhcGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLnRpbWVQaWNrZXIuY2FuY2VsQnV0dG9uQ2xpY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcbiAgICBwdWJsaWMgb25Ib3ZlcigpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvblNjcm9sbChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBkZWx0YSA9IGV2ZW50LmRlbHRhWTtcbiAgICAgICAgaWYgKGRlbHRhICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRJdGVtKGRlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBoYW1tZXJPcHRpb25zOiBIYW1tZXJPcHRpb25zID0geyByZWNvZ25pemVyczogW1tIYW1tZXIuUGFuLCB7IGRpcmVjdGlvbjogSGFtbWVyLkRJUkVDVElPTl9WRVJUSUNBTCwgdGhyZXNob2xkOiAxMCB9XV0gfTtcbiAgICAgICAgdGhpcy50b3VjaE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3BhbicsIHRoaXMub25QYW5Nb3ZlLCBoYW1tZXJPcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudG91Y2hNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUGFuTW92ZSA9IChldmVudDogSGFtbWVySW5wdXQpID0+IHtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBldmVudC5kZWx0YVkgPCAwID8gLTEgOiBldmVudC5kZWx0YVkgPiAwID8gMSA6IDA7XG4gICAgICAgIGlmIChkZWx0YSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5uZXh0SXRlbShkZWx0YSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBuZXh0SXRlbShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdob3VyTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dEhvdXIoZGVsdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbWludXRlTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dE1pbnV0ZShkZWx0YSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRzTGlzdCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVQaWNrZXIubmV4dFNlY29uZHMoZGVsdGEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYW1wbUxpc3QnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLm5leHRBbVBtKGRlbHRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFRpbWVJdGVtXScsXG4gICAgZXhwb3J0QXM6ICd0aW1lSXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hUaW1lSXRlbURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCdpZ3hUaW1lSXRlbScpXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faXRlbScpXG4gICAgcHVibGljIGdldCBkZWZhdWx0Q1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC10aW1lLXBpY2tlcl9faXRlbS0tc2VsZWN0ZWQnKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWRUaW1lO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRpbWUtcGlja2VyX19pdGVtLS1hY3RpdmUnKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlQ1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkVGltZSAmJiB0aGlzLml0ZW1MaXN0LmlzQWN0aXZlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNTZWxlY3RlZFRpbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUubGVuZ3RoIDwgMiA/IGAwJHt0aGlzLnZhbHVlfWAgOiB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCBkYXRlVHlwZSA9IHRoaXMuaXRlbUxpc3QudHlwZTtcbiAgICAgICAgY29uc3QgaW5wdXREYXRlUGFydHMgPSBEYXRlVGltZVV0aWwucGFyc2VEYXRlVGltZUZvcm1hdCh0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQpO1xuICAgICAgICBzd2l0Y2ggKGRhdGVUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdob3VyTGlzdCc6XG4gICAgICAgICAgICAgICAgY29uc3QgaG91clBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnaG91cnMnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLCBob3VyUGFydCwgaG91clBhcnQuZm9ybWF0Lmxlbmd0aCkgPT09IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IG1pbnV0ZVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnbWludXRlcycpO1xuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5zZWxlY3RlZERhdGUsIG1pbnV0ZVBhcnQsIG1pbnV0ZVBhcnQuZm9ybWF0Lmxlbmd0aCkgPT09IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZHNMaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdzZWNvbmRzJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSwgc2Vjb25kc1BhcnQsIHNlY29uZHNQYXJ0LmZvcm1hdC5sZW5ndGgpID09PSBjdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBjYXNlICdhbXBtTGlzdCc6XG4gICAgICAgICAgICAgICAgY29uc3QgYW1wbVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5mb3JtYXQgPT09ICd0dCcpO1xuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5zZWxlY3RlZERhdGUsIGFtcG1QYXJ0LCBhbXBtUGFydC5mb3JtYXQubGVuZ3RoKSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVR5cGUgPSB0aGlzLml0ZW1MaXN0LnR5cGU7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgc3dpdGNoIChkYXRlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnaG91ckxpc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJQYXJ0KHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlLmdldEhvdXJzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWludXRlUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdtaW51dGVzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5taW5Ecm9wZG93blZhbHVlLCBtaW51dGVQYXJ0LCBtaW51dGVQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJzAwJztcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZHNMaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWluID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLm1pbkRyb3Bkb3duVmFsdWUpO1xuICAgICAgICAgICAgICAgIGRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICAgICAgICAgICAgICBtaW4uc2V0U2Vjb25kcygwKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZS5nZXRUaW1lKCkgPT09IG1pbi5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kc1BhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnc2Vjb25kcycpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIubWluRHJvcGRvd25WYWx1ZSwgc2Vjb25kc1BhcnQsIHNlY29uZHNQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJzAwJztcbiAgICAgICAgICAgIGNhc2UgJ2FtcG1MaXN0JzpcbiAgICAgICAgICAgICAgICBjb25zdCBhbXBtUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmZvcm1hdCA9PT0gJ3R0Jyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUodGhpcy50aW1lUGlja2VyLm1pbkRyb3Bkb3duVmFsdWUsIGFtcG1QYXJ0LCBhbXBtUGFydC5mb3JtYXQubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWF4VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVR5cGUgPSB0aGlzLml0ZW1MaXN0LnR5cGU7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgc3dpdGNoIChkYXRlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnaG91ckxpc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJQYXJ0KHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZUxpc3QnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLmdldEhvdXJzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWludXRlUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdtaW51dGVzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLCBtaW51dGVQYXJ0LCBtaW51dGVQYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pbkRlbHRhID0gdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEubWludXRlcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtYWluZGVyID0gNjAgJSBtaW5EZWx0YTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGEgPSByZW1haW5kZXIgPT09IDAgPyA2MCAtIG1pbkRlbHRhIDogNjAgLSByZW1haW5kZXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lLnNldE1pbnV0ZXMoZGVsdGEpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW51dGVQYXJ0ID0gaW5wdXREYXRlUGFydHMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQudHlwZSA9PT0gJ21pbnV0ZXMnKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUoY3VycmVudFRpbWUsIG1pbnV0ZVBhcnQsIG1pbnV0ZVBhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnc2Vjb25kc0xpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnRpbWVQaWNrZXIuc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXggPSBuZXcgRGF0ZSh0aGlzLnRpbWVQaWNrZXIubWF4RHJvcGRvd25WYWx1ZSk7XG4gICAgICAgICAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKDApO1xuICAgICAgICAgICAgICAgIG1heC5zZXRTZWNvbmRzKDApO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlLmdldFRpbWUoKSA9PT0gbWF4LmdldFRpbWUoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmRzUGFydCA9IGlucHV0RGF0ZVBhcnRzLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnR5cGUgPT09ICdzZWNvbmRzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZVV0aWwuZ2V0UGFydFZhbHVlKHRoaXMudGltZVBpY2tlci5tYXhEcm9wZG93blZhbHVlLCBzZWNvbmRzUGFydCwgc2Vjb25kc1BhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VjRGVsdGEgPSB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5zZWNvbmRzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1haW5kZXIgPSA2MCAlIHNlY0RlbHRhO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YSA9IHJlbWFpbmRlciA9PT0gMCA/IDYwIC0gc2VjRGVsdGEgOiA2MCAtIHJlbWFpbmRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kc1BhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnc2Vjb25kcycpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZShkYXRlLCBzZWNvbmRzUGFydCwgc2Vjb25kc1BhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYW1wbUxpc3QnOlxuICAgICAgICAgICAgICAgIGNvbnN0IGFtcG1QYXJ0ID0gaW5wdXREYXRlUGFydHMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQuZm9ybWF0ID09PSAndHQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZSh0aGlzLnRpbWVQaWNrZXIubWF4RHJvcGRvd25WYWx1ZSwgYW1wbVBhcnQsIGFtcG1QYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBob3VyVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SG91clBhcnQodGhpcy50aW1lUGlja2VyLnNlbGVjdGVkRGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChJR1hfVElNRV9QSUNLRVJfQ09NUE9ORU5UKVxuICAgIHB1YmxpYyB0aW1lUGlja2VyOiBJZ3hUaW1lUGlja2VyQmFzZSxcbiAgICAgICAgcHJpdmF0ZSBpdGVtTGlzdDogSWd4SXRlbUxpc3REaXJlY3RpdmUpIHsgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJ3ZhbHVlJ10pXG4gICAgcHVibGljIG9uQ2xpY2soaXRlbSkge1xuICAgICAgICBpZiAoaXRlbSAhPT0gJycpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVUeXBlID0gdGhpcy5pdGVtTGlzdC50eXBlO1xuICAgICAgICAgICAgdGhpcy50aW1lUGlja2VyLm9uSXRlbUNsaWNrKGl0ZW0sIGRhdGVUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG91clBhcnQoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGlucHV0RGF0ZVBhcnRzID0gRGF0ZVRpbWVVdGlsLnBhcnNlRGF0ZVRpbWVGb3JtYXQodGhpcy50aW1lUGlja2VyLmlucHV0Rm9ybWF0KTtcbiAgICAgICAgY29uc3QgaG91clBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC50eXBlID09PSAnaG91cnMnKTtcbiAgICAgICAgY29uc3QgYW1wbVBhcnQgPSBpbnB1dERhdGVQYXJ0cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5mb3JtYXQgPT09ICd0dCcpO1xuICAgICAgICBjb25zdCBob3VyID0gRGF0ZVRpbWVVdGlsLmdldFBhcnRWYWx1ZShkYXRlLCBob3VyUGFydCwgaG91clBhcnQuZm9ybWF0Lmxlbmd0aCk7XG4gICAgICAgIGlmIChhbXBtUGFydCkge1xuICAgICAgICAgICAgY29uc3QgYW1wbSA9IERhdGVUaW1lVXRpbC5nZXRQYXJ0VmFsdWUoZGF0ZSwgYW1wbVBhcnQsIGFtcG1QYXJ0LmZvcm1hdC5sZW5ndGgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJ9ICR7YW1wbX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBob3VyO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -12,11 +12,11 @@ import * as i6 from "../directives/hint/hint.directive";
|
|
|
12
12
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
13
13
|
*/
|
|
14
14
|
export class IgxTimePickerModule {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxTimePickerModule, imports: [i1.IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i4.IgxPrefixDirective, i5.IgxSuffixDirective, i6.IgxHintDirective], exports: [i1.IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i4.IgxPrefixDirective, i5.IgxSuffixDirective, i6.IgxHintDirective] }); }
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTimePickerModule }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTimePickerModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
27
27
|
]
|
|
28
28
|
}]
|
|
29
29
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFMUQ7OztHQUdHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFSL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsR0FBRywwQkFBMEI7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxHQUFHLDBCQUEwQjtxQkFDaEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUdYX1RJTUVfUElDS0VSX0RJUkVDVElWRVMgfSBmcm9tICcuL3B1YmxpY19hcGknO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIElNUE9SVEFOVDogVGhlIGZvbGxvd2luZyBpcyBOZ01vZHVsZSBleHBvcnRlZCBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgYmVmb3JlIHN0YW5kYWxvbmUgY29tcG9uZW50c1xuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLi4uSUdYX1RJTUVfUElDS0VSX0RJUkVDVElWRVNcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgLi4uSUdYX1RJTUVfUElDS0VSX0RJUkVDVElWRVNcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElneFRpbWVQaWNrZXJNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -13,10 +13,10 @@ export class TimeFormatPipe {
|
|
|
13
13
|
const datePipe = new DatePipe(this.timePicker.locale);
|
|
14
14
|
return datePipe.transform(value, format);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TimeFormatPipe, deps: [{ token: IGX_TIME_PICKER_COMPONENT }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: TimeFormatPipe, isStandalone: true, name: "timeFormatPipe" }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TimeFormatPipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{
|
|
22
22
|
name: 'timeFormatPipe',
|
|
@@ -194,10 +194,10 @@ export class TimeItemPipe {
|
|
|
194
194
|
}
|
|
195
195
|
return hour;
|
|
196
196
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
198
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TimeItemPipe, deps: [{ token: IGX_TIME_PICKER_COMPONENT }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
198
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: TimeItemPipe, isStandalone: true, name: "timeItemPipe" }); }
|
|
199
199
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TimeItemPipe, decorators: [{
|
|
201
201
|
type: Pipe,
|
|
202
202
|
args: [{
|
|
203
203
|
name: 'timeItemPipe',
|
|
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
207
207
|
type: Inject,
|
|
208
208
|
args: [IGX_TIME_PICKER_COMPONENT]
|
|
209
209
|
}] }]; } });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS1waWNrZXIucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUJBQXlCLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUVyRSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFNdEIsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBdUQsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFBSSxDQUFDO0lBRWxGLFNBQVMsQ0FBQyxLQUFXO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7bUhBUFEsY0FBYyxrQkFDSCx5QkFBeUI7aUhBRHBDLGNBQWM7O2dHQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFFZ0IsTUFBTTsyQkFBQyx5QkFBeUI7O0FBYWpELE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFlBQXVELFVBQTZCO1FB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TSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFO1lBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFO1lBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDWCxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ2Q7YUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzttSEF6TFEsWUFBWSxrQkFDRCx5QkFBeUI7aUhBRHBDLFlBQVk7O2dHQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBRWdCLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJR1hfVElNRV9QSUNLRVJfQ09NUE9ORU5ULCBJZ3hUaW1lUGlja2VyQmFzZSB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tbW9uJztcbmltcG9ydCB7IERhdGVQYXJ0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRlLXRpbWUtZWRpdG9yL3B1YmxpY19hcGknO1xuXG5jb25zdCBJVEVNU19DT1VOVCA9IDc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGltZUZvcm1hdFBpcGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGltZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9USU1FX1BJQ0tFUl9DT01QT05FTlQpIHByaXZhdGUgdGltZVBpY2tlcjogSWd4VGltZVBpY2tlckJhc2UpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMudGltZVBpY2tlci5pbnB1dEZvcm1hdC5yZXBsYWNlKCd0dCcsICdhYScpO1xuICAgICAgICBjb25zdCBkYXRlUGlwZSA9IG5ldyBEYXRlUGlwZSh0aGlzLnRpbWVQaWNrZXIubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGltZUl0ZW1QaXBlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVJdGVtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX1RJTUVfUElDS0VSX0NPTVBPTkVOVCkgcHJpdmF0ZSB0aW1lUGlja2VyOiBJZ3hUaW1lUGlja2VyQmFzZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKF9jb2xsZWN0aW9uOiBhbnlbXSwgdGltZVBhcnQ6IHN0cmluZywgc2VsZWN0ZWREYXRlOiBEYXRlLCBtaW46IERhdGUsIG1heDogRGF0ZSkge1xuICAgICAgICBsZXQgbGlzdDtcbiAgICAgICAgbGV0IHBhcnQ7XG4gICAgICAgIHN3aXRjaCAodGltZVBhcnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLmdlbmVyYXRlSG91cnMobWluLCBtYXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhvdXJzID0gdGhpcy50aW1lUGlja2VyLmlzVHdlbHZlSG91ckZvcm1hdCA/IHRoaXMudG9Ud2VsdmVIb3VyRm9ybWF0KHNlbGVjdGVkRGF0ZS5nZXRIb3VycygpKVxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdGVkRGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLnNjcm9sbExpc3RJdGVtKGhvdXJzLCBsaXN0KTtcbiAgICAgICAgICAgICAgICBwYXJ0ID0gRGF0ZVBhcnQuSG91cnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtaW51dGVzJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZU1pbnV0ZXMoc2VsZWN0ZWREYXRlLCBtaW4sIG1heCk7XG4gICAgICAgICAgICAgICAgbGlzdCA9IHRoaXMuc2Nyb2xsTGlzdEl0ZW0oc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0Lk1pbnV0ZXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRzJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZVNlY29uZHMoc2VsZWN0ZWREYXRlLCBtaW4sIG1heCk7XG4gICAgICAgICAgICAgICAgbGlzdCA9IHRoaXMuc2Nyb2xsTGlzdEl0ZW0oc2VsZWN0ZWREYXRlLmdldFNlY29uZHMoKSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0LlNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhbXBtJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZUFtUG0obWluLCBtYXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQW1QbSA9IHRoaXMudGltZVBpY2tlci5nZXRQYXJ0VmFsdWUoc2VsZWN0ZWREYXRlLCAnYW1wbScpO1xuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLnNjcm9sbExpc3RJdGVtKHNlbGVjdGVkQW1QbSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0LkFtUG07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdFZpZXcobGlzdCwgcGFydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMaXN0Vmlldyh2aWV3OiBhbnksIGRhdGVUeXBlOiBEYXRlUGFydCk6IGFueSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmlld1tpXSA9IHRoaXMuZ2V0SXRlbVZpZXcodmlld1tpXSwgZGF0ZVR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SXRlbVZpZXcoaXRlbTogYW55LCBkYXRlVHlwZTogRGF0ZVBhcnQpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlbSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKGRhdGVUeXBlICYmIHR5cGVvZiAoaXRlbSkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBsZWFkWmVyb0hvdXIgPSAoaXRlbSA8IDEwICYmICh0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignaGgnKSAhPT0gLTFcbiAgICAgICAgICAgICAgICB8fCB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignSEgnKSAhPT0gLTEpKTtcbiAgICAgICAgICAgIGNvbnN0IGxlYWRaZXJvTWludXRlID0gKGl0ZW0gPCAxMCAmJiB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignbW0nKSAhPT0gLTEpO1xuICAgICAgICAgICAgY29uc3QgbGVhZFplcm9TZWNvbmRzID0gKGl0ZW0gPCAxMCAmJiB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignc3MnKSAhPT0gLTEpO1xuXG4gICAgICAgICAgICBjb25zdCBsZWFkWmVybyA9IHtcbiAgICAgICAgICAgICAgICBob3VyczogbGVhZFplcm9Ib3VyLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXM6IGxlYWRaZXJvTWludXRlLFxuICAgICAgICAgICAgICAgIHNlY29uZHM6IGxlYWRaZXJvU2Vjb25kc1xuICAgICAgICAgICAgfVtkYXRlVHlwZV07XG5cbiAgICAgICAgICAgIGl0ZW0gPSAobGVhZFplcm8pID8gJzAnICsgaXRlbSA6IGAke2l0ZW19YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbExpc3RJdGVtKGl0ZW06IG51bWJlciB8IHN0cmluZywgaXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICBsZXQgdmlldztcbiAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPCAzKSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGl0ZW1zQ291bnQgLSAoMyAtIGluZGV4KSwgaXRlbXNDb3VudCk7XG4gICAgICAgICAgICAgICAgdmlldyA9IHZpZXcuY29uY2F0KGl0ZW1zLnNsaWNlKDAsIGluZGV4ICsgNCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCArIDQgPiBpdGVtc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGluZGV4IC0gMywgaXRlbXNDb3VudCk7XG4gICAgICAgICAgICAgICAgdmlldyA9IHZpZXcuY29uY2F0KGl0ZW1zLnNsaWNlKDAsIGluZGV4ICsgNCAtIGl0ZW1zQ291bnQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGluZGV4IC0gMywgaW5kZXggKyA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmlldztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlSG91cnMobWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGhvdXJJdGVtcyA9IFtdO1xuICAgICAgICBsZXQgaG91cnNDb3VudCA9IHRoaXMudGltZVBpY2tlci5pc1R3ZWx2ZUhvdXJGb3JtYXQgPyAxMyA6IDI0O1xuICAgICAgICBob3Vyc0NvdW50IC89IHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLmhvdXJzO1xuICAgICAgICBjb25zdCBtaW5Ib3VycyA9IG1pbi5nZXRIb3VycygpO1xuICAgICAgICBjb25zdCBtYXhIb3VycyA9IG1heC5nZXRIb3VycygpO1xuXG4gICAgICAgIGlmIChob3Vyc0NvdW50ID4gMSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaG91ckluZGV4ID0gMDsgaG91ckluZGV4IDwgMjQ7IGhvdXJJbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGhvdXJzID0gaG91ckluZGV4ICogdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEuaG91cnM7XG4gICAgICAgICAgICAgICAgaWYgKGhvdXJzID49IG1pbkhvdXJzICYmIGhvdXJzIDw9IG1heEhvdXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvdXJzID0gdGhpcy50aW1lUGlja2VyLmlzVHdlbHZlSG91ckZvcm1hdCA/IHRoaXMudG9Ud2VsdmVIb3VyRm9ybWF0KGhvdXJzKSA6IGhvdXJzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWhvdXJJdGVtcy5maW5kKChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGhvdXJzKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJJdGVtcy5wdXNoKGhvdXJzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhvdXJJdGVtcy5wdXNoKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJJdGVtcy5sZW5ndGggPCBJVEVNU19DT1VOVCB8fCBob3Vyc0NvdW50IDwgSVRFTVNfQ09VTlQgfHwgIXRoaXMudGltZVBpY2tlci5zcGluTG9vcCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSAhdGhpcy50aW1lUGlja2VyLnNwaW5Mb29wIHx8IChob3VySXRlbXMubGVuZ3RoIDwgSVRFTVNfQ09VTlQgJiYgaG91cnNDb3VudCA8IElURU1TX0NPVU5UKSA/IDYgOiAzO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaG91ckl0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaG91ckl0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVNaW51dGVzKHRpbWU6IERhdGUsIG1pbjogRGF0ZSwgbWF4OiBEYXRlKTogYW55W10ge1xuICAgICAgICBjb25zdCBtaW51dGVJdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBtaW51dGVJdGVtc0NvdW50ID0gNjAgLyB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5taW51dGVzO1xuICAgICAgICB0aW1lID0gbmV3IERhdGUodGltZSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaW51dGVJdGVtc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBpICogdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEubWludXRlcztcbiAgICAgICAgICAgIHRpbWUuc2V0TWludXRlcyhtaW51dGVzKTtcbiAgICAgICAgICAgIGlmICh0aW1lID49IG1pbiAmJiB0aW1lIDw9IG1heCkge1xuICAgICAgICAgICAgICAgIG1pbnV0ZUl0ZW1zLnB1c2goaSAqIHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLm1pbnV0ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pbnV0ZUl0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UIHx8IG1pbnV0ZUl0ZW1zQ291bnQgPCBJVEVNU19DT1VOVCB8fCAhdGhpcy50aW1lUGlja2VyLnNwaW5Mb29wKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9ICF0aGlzLnRpbWVQaWNrZXIuc3Bpbkxvb3AgfHwgKG1pbnV0ZUl0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UICYmIG1pbnV0ZUl0ZW1zQ291bnQgPCBJVEVNU19DT1VOVCkgPyA2IDogMztcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kZXg7IGkrKykge1xuICAgICAgICAgICAgICAgIG1pbnV0ZUl0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWludXRlSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVNlY29uZHModGltZTogRGF0ZSwgbWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHNlY29uZHNJdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBzZWNvbmRzSXRlbXNDb3VudCA9IDYwIC8gdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEuc2Vjb25kcztcbiAgICAgICAgdGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2Vjb25kc0l0ZW1zQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IGkgKiB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5zZWNvbmRzO1xuICAgICAgICAgICAgdGltZS5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgICAgICAgICAgaWYgKHRpbWUuZ2V0VGltZSgpID49IG1pbi5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAmJiB0aW1lLmdldFRpbWUoKSA8PSBtYXguZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgICAgc2Vjb25kc0l0ZW1zLnB1c2goaSAqIHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLnNlY29uZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlY29uZHNJdGVtcy5sZW5ndGggPCBJVEVNU19DT1VOVCB8fCBzZWNvbmRzSXRlbXNDb3VudCA8IElURU1TX0NPVU5UIHx8ICF0aGlzLnRpbWVQaWNrZXIuc3Bpbkxvb3ApIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gIXRoaXMudGltZVBpY2tlci5zcGluTG9vcCB8fCAoc2Vjb25kc0l0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UICYmIHNlY29uZHNJdGVtc0NvdW50IDwgSVRFTVNfQ09VTlQpID8gNiA6IDM7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICBzZWNvbmRzSXRlbXMucHVzaChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWNvbmRzSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUFtUG0obWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGFtcG1JdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBtaW5Ib3VyID0gbWluLmdldEhvdXJzKCk7XG4gICAgICAgIGNvbnN0IG1heEhvdXIgPSBtYXguZ2V0SG91cnMoKTtcblxuICAgICAgICBpZiAobWluSG91ciA8IDEyKSB7XG4gICAgICAgICAgICBhbXBtSXRlbXMucHVzaCgnQU0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaW5Ib3VyID49IDEyIHx8IG1heEhvdXIgPj0gMTIpIHtcbiAgICAgICAgICAgIGFtcG1JdGVtcy5wdXNoKCdQTScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgICAgICAgIGFtcG1JdGVtcy5wdXNoKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFtcG1JdGVtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvVHdlbHZlSG91ckZvcm1hdChob3VyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAoaG91ciA+IDEyKSB7XG4gICAgICAgICAgICBob3VyIC09IDEyO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXIgPT09IDApIHtcbiAgICAgICAgICAgIGhvdXIgPSAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBob3VyO1xuICAgIH1cbn1cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS1waWNrZXIucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUJBQXlCLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUVyRSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFNdEIsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBdUQsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFBSSxDQUFDO0lBRWxGLFNBQVMsQ0FBQyxLQUFXO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBUFEsY0FBYyxrQkFDSCx5QkFBeUI7NEdBRHBDLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFFZ0IsTUFBTTsyQkFBQyx5QkFBeUI7O0FBYWpELE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFlBQXVELFVBQTZCO1FB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TSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0IsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFO1lBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFO1lBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUU7WUFDWCxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ2Q7YUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0F6TFEsWUFBWSxrQkFDRCx5QkFBeUI7NEdBRHBDLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBRWdCLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJR1hfVElNRV9QSUNLRVJfQ09NUE9ORU5ULCBJZ3hUaW1lUGlja2VyQmFzZSB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tbW9uJztcbmltcG9ydCB7IERhdGVQYXJ0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRlLXRpbWUtZWRpdG9yL3B1YmxpY19hcGknO1xuXG5jb25zdCBJVEVNU19DT1VOVCA9IDc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGltZUZvcm1hdFBpcGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGltZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KElHWF9USU1FX1BJQ0tFUl9DT01QT05FTlQpIHByaXZhdGUgdGltZVBpY2tlcjogSWd4VGltZVBpY2tlckJhc2UpIHsgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMudGltZVBpY2tlci5pbnB1dEZvcm1hdC5yZXBsYWNlKCd0dCcsICdhYScpO1xuICAgICAgICBjb25zdCBkYXRlUGlwZSA9IG5ldyBEYXRlUGlwZSh0aGlzLnRpbWVQaWNrZXIubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGltZUl0ZW1QaXBlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVJdGVtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoSUdYX1RJTUVfUElDS0VSX0NPTVBPTkVOVCkgcHJpdmF0ZSB0aW1lUGlja2VyOiBJZ3hUaW1lUGlja2VyQmFzZSkgeyB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKF9jb2xsZWN0aW9uOiBhbnlbXSwgdGltZVBhcnQ6IHN0cmluZywgc2VsZWN0ZWREYXRlOiBEYXRlLCBtaW46IERhdGUsIG1heDogRGF0ZSkge1xuICAgICAgICBsZXQgbGlzdDtcbiAgICAgICAgbGV0IHBhcnQ7XG4gICAgICAgIHN3aXRjaCAodGltZVBhcnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLmdlbmVyYXRlSG91cnMobWluLCBtYXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhvdXJzID0gdGhpcy50aW1lUGlja2VyLmlzVHdlbHZlSG91ckZvcm1hdCA/IHRoaXMudG9Ud2VsdmVIb3VyRm9ybWF0KHNlbGVjdGVkRGF0ZS5nZXRIb3VycygpKVxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdGVkRGF0ZS5nZXRIb3VycygpO1xuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLnNjcm9sbExpc3RJdGVtKGhvdXJzLCBsaXN0KTtcbiAgICAgICAgICAgICAgICBwYXJ0ID0gRGF0ZVBhcnQuSG91cnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtaW51dGVzJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZU1pbnV0ZXMoc2VsZWN0ZWREYXRlLCBtaW4sIG1heCk7XG4gICAgICAgICAgICAgICAgbGlzdCA9IHRoaXMuc2Nyb2xsTGlzdEl0ZW0oc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0Lk1pbnV0ZXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmRzJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZVNlY29uZHMoc2VsZWN0ZWREYXRlLCBtaW4sIG1heCk7XG4gICAgICAgICAgICAgICAgbGlzdCA9IHRoaXMuc2Nyb2xsTGlzdEl0ZW0oc2VsZWN0ZWREYXRlLmdldFNlY29uZHMoKSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0LlNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhbXBtJzpcbiAgICAgICAgICAgICAgICBsaXN0ID0gdGhpcy5nZW5lcmF0ZUFtUG0obWluLCBtYXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQW1QbSA9IHRoaXMudGltZVBpY2tlci5nZXRQYXJ0VmFsdWUoc2VsZWN0ZWREYXRlLCAnYW1wbScpO1xuICAgICAgICAgICAgICAgIGxpc3QgPSB0aGlzLnNjcm9sbExpc3RJdGVtKHNlbGVjdGVkQW1QbSwgbGlzdCk7XG4gICAgICAgICAgICAgICAgcGFydCA9IERhdGVQYXJ0LkFtUG07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdFZpZXcobGlzdCwgcGFydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMaXN0Vmlldyh2aWV3OiBhbnksIGRhdGVUeXBlOiBEYXRlUGFydCk6IGFueSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmlld1tpXSA9IHRoaXMuZ2V0SXRlbVZpZXcodmlld1tpXSwgZGF0ZVR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SXRlbVZpZXcoaXRlbTogYW55LCBkYXRlVHlwZTogRGF0ZVBhcnQpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlbSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKGRhdGVUeXBlICYmIHR5cGVvZiAoaXRlbSkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBsZWFkWmVyb0hvdXIgPSAoaXRlbSA8IDEwICYmICh0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignaGgnKSAhPT0gLTFcbiAgICAgICAgICAgICAgICB8fCB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignSEgnKSAhPT0gLTEpKTtcbiAgICAgICAgICAgIGNvbnN0IGxlYWRaZXJvTWludXRlID0gKGl0ZW0gPCAxMCAmJiB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignbW0nKSAhPT0gLTEpO1xuICAgICAgICAgICAgY29uc3QgbGVhZFplcm9TZWNvbmRzID0gKGl0ZW0gPCAxMCAmJiB0aGlzLnRpbWVQaWNrZXIuaW5wdXRGb3JtYXQuaW5kZXhPZignc3MnKSAhPT0gLTEpO1xuXG4gICAgICAgICAgICBjb25zdCBsZWFkWmVybyA9IHtcbiAgICAgICAgICAgICAgICBob3VyczogbGVhZFplcm9Ib3VyLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXM6IGxlYWRaZXJvTWludXRlLFxuICAgICAgICAgICAgICAgIHNlY29uZHM6IGxlYWRaZXJvU2Vjb25kc1xuICAgICAgICAgICAgfVtkYXRlVHlwZV07XG5cbiAgICAgICAgICAgIGl0ZW0gPSAobGVhZFplcm8pID8gJzAnICsgaXRlbSA6IGAke2l0ZW19YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbExpc3RJdGVtKGl0ZW06IG51bWJlciB8IHN0cmluZywgaXRlbXM6IGFueVtdKTogYW55W10ge1xuICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICBsZXQgdmlldztcbiAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPCAzKSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGl0ZW1zQ291bnQgLSAoMyAtIGluZGV4KSwgaXRlbXNDb3VudCk7XG4gICAgICAgICAgICAgICAgdmlldyA9IHZpZXcuY29uY2F0KGl0ZW1zLnNsaWNlKDAsIGluZGV4ICsgNCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCArIDQgPiBpdGVtc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGluZGV4IC0gMywgaXRlbXNDb3VudCk7XG4gICAgICAgICAgICAgICAgdmlldyA9IHZpZXcuY29uY2F0KGl0ZW1zLnNsaWNlKDAsIGluZGV4ICsgNCAtIGl0ZW1zQ291bnQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmlldyA9IGl0ZW1zLnNsaWNlKGluZGV4IC0gMywgaW5kZXggKyA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmlldztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlSG91cnMobWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGhvdXJJdGVtcyA9IFtdO1xuICAgICAgICBsZXQgaG91cnNDb3VudCA9IHRoaXMudGltZVBpY2tlci5pc1R3ZWx2ZUhvdXJGb3JtYXQgPyAxMyA6IDI0O1xuICAgICAgICBob3Vyc0NvdW50IC89IHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLmhvdXJzO1xuICAgICAgICBjb25zdCBtaW5Ib3VycyA9IG1pbi5nZXRIb3VycygpO1xuICAgICAgICBjb25zdCBtYXhIb3VycyA9IG1heC5nZXRIb3VycygpO1xuXG4gICAgICAgIGlmIChob3Vyc0NvdW50ID4gMSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaG91ckluZGV4ID0gMDsgaG91ckluZGV4IDwgMjQ7IGhvdXJJbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGhvdXJzID0gaG91ckluZGV4ICogdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEuaG91cnM7XG4gICAgICAgICAgICAgICAgaWYgKGhvdXJzID49IG1pbkhvdXJzICYmIGhvdXJzIDw9IG1heEhvdXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvdXJzID0gdGhpcy50aW1lUGlja2VyLmlzVHdlbHZlSG91ckZvcm1hdCA/IHRoaXMudG9Ud2VsdmVIb3VyRm9ybWF0KGhvdXJzKSA6IGhvdXJzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWhvdXJJdGVtcy5maW5kKChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGhvdXJzKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJJdGVtcy5wdXNoKGhvdXJzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhvdXJJdGVtcy5wdXNoKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJJdGVtcy5sZW5ndGggPCBJVEVNU19DT1VOVCB8fCBob3Vyc0NvdW50IDwgSVRFTVNfQ09VTlQgfHwgIXRoaXMudGltZVBpY2tlci5zcGluTG9vcCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSAhdGhpcy50aW1lUGlja2VyLnNwaW5Mb29wIHx8IChob3VySXRlbXMubGVuZ3RoIDwgSVRFTVNfQ09VTlQgJiYgaG91cnNDb3VudCA8IElURU1TX0NPVU5UKSA/IDYgOiAzO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaG91ckl0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaG91ckl0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVNaW51dGVzKHRpbWU6IERhdGUsIG1pbjogRGF0ZSwgbWF4OiBEYXRlKTogYW55W10ge1xuICAgICAgICBjb25zdCBtaW51dGVJdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBtaW51dGVJdGVtc0NvdW50ID0gNjAgLyB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5taW51dGVzO1xuICAgICAgICB0aW1lID0gbmV3IERhdGUodGltZSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaW51dGVJdGVtc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBpICogdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEubWludXRlcztcbiAgICAgICAgICAgIHRpbWUuc2V0TWludXRlcyhtaW51dGVzKTtcbiAgICAgICAgICAgIGlmICh0aW1lID49IG1pbiAmJiB0aW1lIDw9IG1heCkge1xuICAgICAgICAgICAgICAgIG1pbnV0ZUl0ZW1zLnB1c2goaSAqIHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLm1pbnV0ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pbnV0ZUl0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UIHx8IG1pbnV0ZUl0ZW1zQ291bnQgPCBJVEVNU19DT1VOVCB8fCAhdGhpcy50aW1lUGlja2VyLnNwaW5Mb29wKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9ICF0aGlzLnRpbWVQaWNrZXIuc3Bpbkxvb3AgfHwgKG1pbnV0ZUl0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UICYmIG1pbnV0ZUl0ZW1zQ291bnQgPCBJVEVNU19DT1VOVCkgPyA2IDogMztcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kZXg7IGkrKykge1xuICAgICAgICAgICAgICAgIG1pbnV0ZUl0ZW1zLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWludXRlSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVNlY29uZHModGltZTogRGF0ZSwgbWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHNlY29uZHNJdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBzZWNvbmRzSXRlbXNDb3VudCA9IDYwIC8gdGhpcy50aW1lUGlja2VyLml0ZW1zRGVsdGEuc2Vjb25kcztcbiAgICAgICAgdGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2Vjb25kc0l0ZW1zQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IGkgKiB0aGlzLnRpbWVQaWNrZXIuaXRlbXNEZWx0YS5zZWNvbmRzO1xuICAgICAgICAgICAgdGltZS5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgICAgICAgICAgaWYgKHRpbWUuZ2V0VGltZSgpID49IG1pbi5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAmJiB0aW1lLmdldFRpbWUoKSA8PSBtYXguZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgICAgc2Vjb25kc0l0ZW1zLnB1c2goaSAqIHRoaXMudGltZVBpY2tlci5pdGVtc0RlbHRhLnNlY29uZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlY29uZHNJdGVtcy5sZW5ndGggPCBJVEVNU19DT1VOVCB8fCBzZWNvbmRzSXRlbXNDb3VudCA8IElURU1TX0NPVU5UIHx8ICF0aGlzLnRpbWVQaWNrZXIuc3Bpbkxvb3ApIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gIXRoaXMudGltZVBpY2tlci5zcGluTG9vcCB8fCAoc2Vjb25kc0l0ZW1zLmxlbmd0aCA8IElURU1TX0NPVU5UICYmIHNlY29uZHNJdGVtc0NvdW50IDwgSVRFTVNfQ09VTlQpID8gNiA6IDM7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICBzZWNvbmRzSXRlbXMucHVzaChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWNvbmRzSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUFtUG0obWluOiBEYXRlLCBtYXg6IERhdGUpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IGFtcG1JdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBtaW5Ib3VyID0gbWluLmdldEhvdXJzKCk7XG4gICAgICAgIGNvbnN0IG1heEhvdXIgPSBtYXguZ2V0SG91cnMoKTtcblxuICAgICAgICBpZiAobWluSG91ciA8IDEyKSB7XG4gICAgICAgICAgICBhbXBtSXRlbXMucHVzaCgnQU0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaW5Ib3VyID49IDEyIHx8IG1heEhvdXIgPj0gMTIpIHtcbiAgICAgICAgICAgIGFtcG1JdGVtcy5wdXNoKCdQTScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgICAgICAgIGFtcG1JdGVtcy5wdXNoKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFtcG1JdGVtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvVHdlbHZlSG91ckZvcm1hdChob3VyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAoaG91ciA+IDEyKSB7XG4gICAgICAgICAgICBob3VyIC09IDEyO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXIgPT09IDApIHtcbiAgICAgICAgICAgIGhvdXIgPSAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBob3VyO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -156,10 +156,10 @@ export class IgxToastComponent extends IgxNotificationsDirective {
|
|
|
156
156
|
this.isVisibleChange.emit(closedEventArgs);
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
160
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0
|
|
159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.IgxNavigationService, optional: true }, { token: IgxOverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: IgxToastComponent, isStandalone: true, selector: "igx-toast", inputs: { id: "id", role: "role", positionSettings: "positionSettings" }, outputs: { isVisibleChange: "isVisibleChange" }, host: { properties: { "class.igx-toast": "this.cssClass", "attr.id": "this.id", "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n" }); }
|
|
161
161
|
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxToastComponent, decorators: [{
|
|
163
163
|
type: Component,
|
|
164
164
|
args: [{ selector: 'igx-toast', standalone: true, template: "<ng-content></ng-content>\n<span>{{ textMessage }}</span>\n\n" }]
|
|
165
165
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.IgxNavigationService, decorators: [{
|
|
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
185
185
|
}], positionSettings: [{
|
|
186
186
|
type: Input
|
|
187
187
|
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsc0JBQXNCLEVBRXpCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFFckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBTUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQTJDNUQ7Ozs7OztPQU1HO0lBQ0YsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsSUFBVyxnQkFBZ0IsQ0FBQyxRQUEwQjtRQUNsRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFTRjs7Ozs7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Uzs7c0JBQ3JCLEtBQUs7Z0JBaUJDLElBQUk7c0JBRlYsV0FBVzt1QkFBQyxXQUFXOztzQkFDdkIsS0FBSztnQkFPQyxlQUFlO3NCQURyQixNQUFNO2dCQVdLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWd4TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgICBJZ3hPdmVybGF5U2VydmljZSxcbiAgICBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIFZlcnRpY2FsQWxpZ25tZW50LFxuICAgIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgUG9zaXRpb25TZXR0aW5nc1xufSBmcm9tICcuLi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneE5vdGlmaWNhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb2dnbGVWaWV3RXZlbnRBcmdzIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGZhZGVJbiwgZmFkZU91dCB9IGZyb20gJy4uL2FuaW1hdGlvbnMvZmFkZSc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBUb2FzdCoqIC1cbiAqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5pbmZyYWdpc3RpY3MuY29tL3Byb2R1Y3RzL2lnbml0ZS11aS1hbmd1bGFyL2FuZ3VsYXIvY29tcG9uZW50cy90b2FzdClcbiAqXG4gKiBUaGUgSWduaXRlIFVJIFRvYXN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFuZCB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgYXJlIG5vbi1pbnRlcmFjdGl2ZSBhbmQgY2Fubm90XG4gKiBiZSBkaXNtaXNzZWQgYnkgdGhlIHVzZXIuIFRvYXN0cyBjYW4gYmUgZGlzcGxheWVkIGF0IHRoZSBib3R0b20sIG1pZGRsZSwgb3IgdG9wIG9mIHRoZSBwYWdlLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIChjbGljayk9XCJ0b2FzdC5vcGVuKClcIj5TaG93IG5vdGlmaWNhdGlvbjwvYnV0dG9uPlxuICogPGlneC10b2FzdCAjdG9hc3QgZGlzcGxheVRpbWU9XCIxMDAwXCI+XG4gKiAgICAgIE5vdGlmaWNhdGlvbiBkaXNwbGF5ZWRcbiAqIDwvaWd4LXRvYXN0PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRvYXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFRvYXN0Q29tcG9uZW50IGV4dGVuZHMgSWd4Tm90aWZpY2F0aW9uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRvYXN0JylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LXRvYXN0JztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgdG9hc3QuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC10b2FzdC0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IGlkID0gXCJteS1maXJzdC10b2FzdFwiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RJZCA9IHRoaXMudG9hc3QuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvdmVycmlkZSBpZCA9IGBpZ3gtdG9hc3QtJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKiBJZiBub3Qgc2V0LCBgcm9sZWAgd2lsbCBoYXZlIHZhbHVlIGBcImFsZXJ0XCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IFtyb2xlXSA9IFwiJ25vdGlmeSdcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0Um9sZSA9IHRoaXMudG9hc3Qucm9sZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2FsZXJ0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICogbGV0IGN1cnJlbnRQb3NpdGlvbjogUG9zaXRpb25TZXR0aW5ncyA9IHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uU2V0dGluZ3MoKTogUG9zaXRpb25TZXR0aW5ncyB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25TZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBTZXQgdGhlIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gc2V0dGluZ3MgdXNlZCBieSB0aGUgdG9hc3QuXG4gICAgICAqIGBgYGh0bWxcbiAgICAgICogPGlneC10b2FzdCBbcG9zaXRpb25TZXR0aW5nc109XCJuZXdQb3NpdGlvblNldHRpbmdzXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICAqIGBgYFxuICAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICAqIGltcG9ydCB7IHNsaWRlSW5Ub3AsIHNsaWRlT3V0Qm90dG9tIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICAqIC4uLlxuICAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICAqICBwdWJsaWMgbmV3UG9zaXRpb25TZXR0aW5nczogUG9zaXRpb25TZXR0aW5ncyA9IHtcbiAgICAgICogICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oc2xpZGVJblRvcCwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDEwMCUpJ319KSxcbiAgICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlT3V0Qm90dG9tLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMDBtcycsIGZyb21Qb3NpdGlvbjogJ3RyYW5zbGF0ZVkoMCknfX0pLFxuICAgICAgKiAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuTGVmdCxcbiAgICAgICogICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlLFxuICAgICAgKiAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5NaWRkbGVcbiAgICAgICogIH07XG4gICAgICAqIHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5ncyA9IHRoaXMubmV3UG9zaXRpb25TZXR0aW5ncztcbiAgICAgICogYGBgXG4gICAgICAqL1xuICAgICBwdWJsaWMgc2V0IHBvc2l0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIHByaXZhdGUgX3Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxuICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxuICAgICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZUluKSxcbiAgICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihmYWRlT3V0KSxcbiAgICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZUVsZW1lbnQgb2YgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbmF0aXZlRWxlbWVudCA9IHRoaXMudG9hc3QuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgbmF2U2VydmljZTogSWd4TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgY2RyLCBvdmVybGF5U2VydmljZSwgbmF2U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvYXN0LlxuICAgICAqIElmIGBhdXRvSGlkZWAgaXMgZW5hYmxlZCwgdGhlIHRvYXN0IHdpbGwgaGlkZSBhZnRlciBgZGlzcGxheVRpbWVgIGlzIG92ZXIuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIG9wZW4obWVzc2FnZT86IHN0cmluZywgc2V0dGluZ3M/OiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gbmV3IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5wb3NpdGlvblNldHRpbmdzKTtcbiAgICAgICAgc3VwZXIub3BlbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgdG9hc3QsIGRlcGVuZGluZyBvbiBpdHMgY3VycmVudCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRvYXN0LnRvZ2dsZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBwdWJsaWMgb3ZlcnJpZGUgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQgfHwgdGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcGVuZWRFdmVudEFyZ3M6IFRvZ2dsZVZpZXdFdmVudEFyZ3MgPSB7IG93bmVyOiB0aGlzLCBpZDogdGhpcy5fb3ZlcmxheUlkIH07XG4gICAgICAgICAgICB0aGlzLmlzVmlzaWJsZUNoYW5nZS5lbWl0KG9wZW5lZEV2ZW50QXJncyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VkRXZlbnRBcmdzOiBUb2dnbGVWaWV3RXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgaWQ6IHRoaXMuX292ZXJsYXlJZCB9O1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVDaGFuZ2UuZW1pdChjbG9zZWRFdmVudEFyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48c3Bhbj57eyB0ZXh0TWVzc2FnZSB9fTwvc3Bhbj5cblxuIl19
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsc0JBQXNCLEVBRXpCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFFckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBTUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQTJDNUQ7Ozs7OztPQU1HO0lBQ0YsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsSUFBVyxnQkFBZ0IsQ0FBQyxRQUEwQjtRQUNsRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFTRjs7Ozs7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Uzs7c0JBQ3JCLEtBQUs7Z0JBaUJDLElBQUk7c0JBRlYsV0FBVzt1QkFBQyxXQUFXOztzQkFDdkIsS0FBSztnQkFPQyxlQUFlO3NCQURyQixNQUFNO2dCQVdLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSWd4TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgICBJZ3hPdmVybGF5U2VydmljZSxcbiAgICBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIFZlcnRpY2FsQWxpZ25tZW50LFxuICAgIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgUG9zaXRpb25TZXR0aW5nc1xufSBmcm9tICcuLi9zZXJ2aWNlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IElneE5vdGlmaWNhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb2dnbGVWaWV3RXZlbnRBcmdzIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGZhZGVJbiwgZmFkZU91dCB9IGZyb20gJy4uL2FuaW1hdGlvbnMvZmFkZSc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBUb2FzdCoqIC1cbiAqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5pbmZyYWdpc3RpY3MuY29tL3Byb2R1Y3RzL2lnbml0ZS11aS1hbmd1bGFyL2FuZ3VsYXIvY29tcG9uZW50cy90b2FzdClcbiAqXG4gKiBUaGUgSWduaXRlIFVJIFRvYXN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFuZCB3YXJuaW5nIG1lc3NhZ2VzIHRoYXQgYXJlIG5vbi1pbnRlcmFjdGl2ZSBhbmQgY2Fubm90XG4gKiBiZSBkaXNtaXNzZWQgYnkgdGhlIHVzZXIuIFRvYXN0cyBjYW4gYmUgZGlzcGxheWVkIGF0IHRoZSBib3R0b20sIG1pZGRsZSwgb3IgdG9wIG9mIHRoZSBwYWdlLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIChjbGljayk9XCJ0b2FzdC5vcGVuKClcIj5TaG93IG5vdGlmaWNhdGlvbjwvYnV0dG9uPlxuICogPGlneC10b2FzdCAjdG9hc3QgZGlzcGxheVRpbWU9XCIxMDAwXCI+XG4gKiAgICAgIE5vdGlmaWNhdGlvbiBkaXNwbGF5ZWRcbiAqIDwvaWd4LXRvYXN0PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LXRvYXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneFRvYXN0Q29tcG9uZW50IGV4dGVuZHMgSWd4Tm90aWZpY2F0aW9uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXRvYXN0JylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LXRvYXN0JztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgdG9hc3QuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC10b2FzdC0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IGlkID0gXCJteS1maXJzdC10b2FzdFwiPjwvaWd4LXRvYXN0PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgdG9hc3RJZCA9IHRoaXMudG9hc3QuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvdmVycmlkZSBpZCA9IGBpZ3gtdG9hc3QtJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYHJvbGVgIGF0dHJpYnV0ZS5cbiAgICAgKiBJZiBub3Qgc2V0LCBgcm9sZWAgd2lsbCBoYXZlIHZhbHVlIGBcImFsZXJ0XCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LXRvYXN0IFtyb2xlXSA9IFwiJ25vdGlmeSdcIj48L2lneC10b2FzdD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHRvYXN0Um9sZSA9IHRoaXMudG9hc3Qucm9sZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2FsZXJ0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVWaWV3RXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwb3NpdGlvbiBhbmQgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICogbGV0IGN1cnJlbnRQb3NpdGlvbjogUG9zaXRpb25TZXR0aW5ncyA9IHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBASW5wdXQoKVxuICAgICBwdWJsaWMgZ2V0IHBvc2l0aW9uU2V0dGluZ3MoKTogUG9zaXRpb25TZXR0aW5ncyB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25TZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBTZXQgdGhlIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gc2V0dGluZ3MgdXNlZCBieSB0aGUgdG9hc3QuXG4gICAgICAqIGBgYGh0bWxcbiAgICAgICogPGlneC10b2FzdCBbcG9zaXRpb25TZXR0aW5nc109XCJuZXdQb3NpdGlvblNldHRpbmdzXCI+PC9pZ3gtdG9hc3Q+XG4gICAgICAqIGBgYFxuICAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICAqIGltcG9ydCB7IHNsaWRlSW5Ub3AsIHNsaWRlT3V0Qm90dG9tIH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICAqIC4uLlxuICAgICAgKiBAVmlld0NoaWxkKCd0b2FzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0b2FzdDogSWd4VG9hc3RDb21wb25lbnQ7XG4gICAgICAqICBwdWJsaWMgbmV3UG9zaXRpb25TZXR0aW5nczogUG9zaXRpb25TZXR0aW5ncyA9IHtcbiAgICAgICogICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oc2xpZGVJblRvcCwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDAwbXMnLCBmcm9tUG9zaXRpb246ICd0cmFuc2xhdGVZKDEwMCUpJ319KSxcbiAgICAgICogICAgICBjbG9zZUFuaW1hdGlvbjogdXNlQW5pbWF0aW9uKHNsaWRlT3V0Qm90dG9tLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMDBtcycsIGZyb21Qb3NpdGlvbjogJ3RyYW5zbGF0ZVkoMCknfX0pLFxuICAgICAgKiAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuTGVmdCxcbiAgICAgICogICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuTWlkZGxlLFxuICAgICAgKiAgICAgIGhvcml6b250YWxTdGFydFBvaW50OiBIb3Jpem9udGFsQWxpZ25tZW50LkxlZnQsXG4gICAgICAqICAgICAgdmVydGljYWxTdGFydFBvaW50OiBWZXJ0aWNhbEFsaWdubWVudC5NaWRkbGVcbiAgICAgICogIH07XG4gICAgICAqIHRoaXMudG9hc3QucG9zaXRpb25TZXR0aW5ncyA9IHRoaXMubmV3UG9zaXRpb25TZXR0aW5ncztcbiAgICAgICogYGBgXG4gICAgICAqL1xuICAgICBwdWJsaWMgc2V0IHBvc2l0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgfVxuXG4gICAgIHByaXZhdGUgX3Bvc2l0aW9uU2V0dGluZ3M6IFBvc2l0aW9uU2V0dGluZ3MgPSB7XG4gICAgICAgIGhvcml6b250YWxEaXJlY3Rpb246IEhvcml6b250YWxBbGlnbm1lbnQuQ2VudGVyLFxuICAgICAgICB2ZXJ0aWNhbERpcmVjdGlvbjogVmVydGljYWxBbGlnbm1lbnQuQm90dG9tLFxuICAgICAgICBvcGVuQW5pbWF0aW9uOiB1c2VBbmltYXRpb24oZmFkZUluKSxcbiAgICAgICAgY2xvc2VBbmltYXRpb246IHVzZUFuaW1hdGlvbihmYWRlT3V0KSxcbiAgICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hdGl2ZUVsZW1lbnQgb2YgdGhlIHRvYXN0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbmF0aXZlRWxlbWVudCA9IHRoaXMudG9hc3QuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hUb2FzdENvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgbmF2U2VydmljZTogSWd4TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSWd4T3ZlcmxheVNlcnZpY2UpIG92ZXJsYXlTZXJ2aWNlOiBJZ3hPdmVybGF5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgY2RyLCBvdmVybGF5U2VydmljZSwgbmF2U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvYXN0LlxuICAgICAqIElmIGBhdXRvSGlkZWAgaXMgZW5hYmxlZCwgdGhlIHRvYXN0IHdpbGwgaGlkZSBhZnRlciBgZGlzcGxheVRpbWVgIGlzIG92ZXIuXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogdGhpcy50b2FzdC5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIG9wZW4obWVzc2FnZT86IHN0cmluZywgc2V0dGluZ3M/OiBQb3NpdGlvblNldHRpbmdzKSB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR0aW5ncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gbmV3IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5wb3NpdGlvblNldHRpbmdzKTtcbiAgICAgICAgc3VwZXIub3BlbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIG9yIGNsb3NlcyB0aGUgdG9hc3QsIGRlcGVuZGluZyBvbiBpdHMgY3VycmVudCBzdGF0ZS5cbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRvYXN0LnRvZ2dsZSgpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgICBwdWJsaWMgb3ZlcnJpZGUgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZWQgfHwgdGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcGVuZWRFdmVudEFyZ3M6IFRvZ2dsZVZpZXdFdmVudEFyZ3MgPSB7IG93bmVyOiB0aGlzLCBpZDogdGhpcy5fb3ZlcmxheUlkIH07XG4gICAgICAgICAgICB0aGlzLmlzVmlzaWJsZUNoYW5nZS5lbWl0KG9wZW5lZEV2ZW50QXJncyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VkRXZlbnRBcmdzOiBUb2dnbGVWaWV3RXZlbnRBcmdzID0geyBvd25lcjogdGhpcywgaWQ6IHRoaXMuX292ZXJsYXlJZCB9O1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVDaGFuZ2UuZW1pdChjbG9zZWRFdmVudEFyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48c3Bhbj57eyB0ZXh0TWVzc2FnZSB9fTwvc3Bhbj5cblxuIl19
|
|
@@ -6,11 +6,11 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
7
7
|
*/
|
|
8
8
|
export class IgxToastModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: IgxToastModule, imports: [IgxToastComponent], exports: [IgxToastComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxToastModule }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxToastModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
imports: [
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-rc.4", ng
|
|
|
21
21
|
]
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3RvYXN0L3RvYXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUFObkIsaUJBQWlCLGFBR2pCLGlCQUFpQjsrR0FHWixjQUFjOzsyRkFBZCxjQUFjO2tCQVIxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIElNUE9SVEFOVDogVGhlIGZvbGxvd2luZyBpcyBOZ01vZHVsZSBleHBvcnRlZCBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgYmVmb3JlIHN0YW5kYWxvbmUgY29tcG9uZW50c1xuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSWd4VG9hc3RDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgSWd4VG9hc3RDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElneFRvYXN0TW9kdWxlIHsgfVxuIl19
|
|
@@ -229,10 +229,10 @@ export class IgxTreeNavigationService {
|
|
|
229
229
|
const nodeIndex = this.visibleChildren.indexOf(node);
|
|
230
230
|
return this.visibleChildren[nodeIndex + dir] || node;
|
|
231
231
|
}
|
|
232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0
|
|
233
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0
|
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTreeNavigationService, deps: [{ token: i1.IgxTreeService }, { token: i2.IgxTreeSelectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
233
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTreeNavigationService }); }
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IgxTreeNavigationService, decorators: [{
|
|
236
236
|
type: Injectable
|
|
237
237
|
}], ctorParameters: function () { return [{ type: i1.IgxTreeService }, { type: i2.IgxTreeSelectionService }]; } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvdHJlZS90cmVlLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLHdCQUF3QjtBQUV4QixNQUFNLE9BQU8sd0JBQXdCO0lBYWpDLFlBQW9CLFdBQTJCLEVBQVUsZ0JBQXlDO1FBQTlFLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFWMUYsaUJBQVksR0FBcUIsSUFBSSxDQUFDO1FBQ3RDLHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FBRXJDLHFCQUFnQixHQUF1QixFQUFFLENBQUM7UUFDMUMsdUJBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsZ0JBQWdCO2dCQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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R0FBRyxLQUFLO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssb0JBQW9CLENBQUMsSUFBSSxFQUFFO1lBQ25ELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUQsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsb0ZBQW9GO0lBQzVFLGNBQWMsQ0FBQyxJQUFzQixFQUFFLE1BQWMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6RCxDQUFDO21IQWpQUSx3QkFBd0I7dUhBQXhCLHdCQUF3Qjs7Z0dBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4VHJlZSwgSWd4VHJlZU5vZGUsIElneFRyZWVTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgTkFWSUdBVElPTl9LRVlTIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IElneFRyZWVTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmVlLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqIEBoaWRkZW4gQGludGVybmFsICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWd4VHJlZU5hdmlnYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHRyZWU6IElneFRyZWU7XG5cbiAgICBwcml2YXRlIF9mb2N1c2VkTm9kZTogSWd4VHJlZU5vZGU8YW55PiA9IG51bGw7XG4gICAgcHJpdmF0ZSBfbGFzdEZvY3VzZWROb2RlOiBJZ3hUcmVlTm9kZTxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9hY3RpdmVOb2RlOiBJZ3hUcmVlTm9kZTxhbnk+ID0gbnVsbDtcblxuICAgIHByaXZhdGUgX3Zpc2libGVDaGlsZHJlbjogSWd4VHJlZU5vZGU8YW55PltdID0gW107XG4gICAgcHJpdmF0ZSBfaW52aXNpYmxlQ2hpbGRyZW46IFNldDxJZ3hUcmVlTm9kZTxhbnk+PiA9IG5ldyBTZXQoKTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZENoaWxkcmVuOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4gPSBuZXcgU2V0KCk7XG5cbiAgICBwcml2YXRlIF9jYWNoZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyZWVTZXJ2aWNlOiBJZ3hUcmVlU2VydmljZSwgcHJpdmF0ZSBzZWxlY3Rpb25TZXJ2aWNlOiBJZ3hUcmVlU2VsZWN0aW9uU2VydmljZSkge1xuICAgICAgICB0aGlzLl9jYWNoZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNoaWxkcmVuID1cbiAgICAgICAgICAgICAgICB0aGlzLnRyZWU/Lm5vZGVzID9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVlLm5vZGVzLmZpbHRlcihlID0+ICEodGhpcy5faW52aXNpYmxlQ2hpbGRyZW4uaGFzKGUpIHx8IHRoaXMuX2Rpc2FibGVkQ2hpbGRyZW4uaGFzKGUpKSkgOlxuICAgICAgICAgICAgICAgICAgICBbXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKHRyZWU6IElneFRyZWUpIHtcbiAgICAgICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZE5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBmb2N1c2VkTm9kZSh2YWx1ZTogSWd4VHJlZU5vZGU8YW55Pikge1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZE5vZGUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWROb2RlID0gdGhpcy5fZm9jdXNlZE5vZGU7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0Rm9jdXNlZE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkTm9kZS50YWJJbmRleCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZvY3VzZWROb2RlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTm9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBhY3RpdmVOb2RlKHZhbHVlOiBJZ3hUcmVlTm9kZTxhbnk+KSB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVOb2RlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5vZGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy50cmVlLmFjdGl2ZU5vZGVDaGFuZ2VkLmVtaXQodGhpcy5fYWN0aXZlTm9kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2aXNpYmxlQ2hpbGRyZW4oKTogSWd4VHJlZU5vZGU8YW55PltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDaGlsZHJlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlX2Rpc2FibGVkX2NhY2hlKG5vZGU6IElneFRyZWVOb2RlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkQ2hpbGRyZW4uYWRkKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWRDaGlsZHJlbi5kZWxldGUobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2FjaGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0X2ludmlzaWJsZV9jYWNoZSgpIHtcbiAgICAgICAgdGhpcy50cmVlLm5vZGVzLmZpbHRlcihlID0+IGUubGV2ZWwgPT09IDApLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZV92aXNpYmxlX2NhY2hlKG5vZGUsIG5vZGUuZXhwYW5kZWQsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlX3Zpc2libGVfY2FjaGUobm9kZTogSWd4VHJlZU5vZGU8YW55PiwgZXhwYW5kZWQ6IGJvb2xlYW4sIHNob3VsZEVtaXQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgICAgICAgbm9kZS5fY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW52aXNpYmxlQ2hpbGRyZW4uZGVsZXRlKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZV92aXNpYmxlX2NhY2hlKGNoaWxkLCBjaGlsZC5leHBhbmRlZCwgZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub2RlLmFsbENoaWxkcmVuLmZvckVhY2goYyA9PiB0aGlzLl9pbnZpc2libGVDaGlsZHJlbi5hZGQoYykpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZEVtaXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIG5vZGUgYXMgZm9jdXNlZCAoYW5kIGFjdGl2ZSlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlIHRhcmdldCBub2RlXG4gICAgICogQHBhcmFtIGlzQWN0aXZlIGlmIHRydWUsIHNldHMgdGhlIG5vZGUgYXMgYWN0aXZlXG4gICAgICovXG4gICAgcHVibGljIHNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKG5vZGU6IElneFRyZWVOb2RlPGFueT4sIGlzQWN0aXZlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IG5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c2VkTm9kZSA9IG5vZGU7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGtleWRvd24gZXZlbnRzLiBVc2VkIGluIHRyZWUuY29tcG9uZW50LnRzICovXG4gICAgcHVibGljIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkTm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKE5BVklHQVRJT05fS0VZUy5oYXMoa2V5KSB8fCBrZXkgPT09ICcqJykpIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdlbnRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChldmVudC5yZXBlYXQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVOYXZpZ2F0aW9uKGV2ZW50KSwgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9jYWNoZUNoYW5nZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOYXZpZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUodGhpcy52aXNpYmxlQ2hpbGRyZW5bMF0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKHRoaXMudmlzaWJsZUNoaWxkcmVuW3RoaXMudmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFycm93TGVmdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXJyb3dyaWdodCc6XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBcnJvd1JpZ2h0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhcnJvd3VwJzpcbiAgICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVwRG93bkFycm93KHRydWUsIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgICBjYXNlICdkb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVwRG93bkFycm93KGZhbHNlLCBldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcqJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFzdGVyaXNrKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlYmFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNwYWNlKGV2ZW50LnNoaWZ0S2V5KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLmV4cGFuZGVkICYmICF0aGlzLnRyZWVTZXJ2aWNlLmNvbGxhcHNpbmdOb2Rlcy5oYXModGhpcy5mb2N1c2VkTm9kZSkgJiYgdGhpcy5mb2N1c2VkTm9kZS5fY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5mb2N1c2VkTm9kZTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZE5vZGUuY29sbGFwc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGU7XG4gICAgICAgICAgICBpZiAocGFyZW50Tm9kZSAmJiAhcGFyZW50Tm9kZS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFycm93UmlnaHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLl9jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZE5vZGUuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNlZE5vZGUuZXhwYW5kKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyZWVTZXJ2aWNlLmNvbGxhcHNpbmdOb2Rlcy5oYXModGhpcy5mb2N1c2VkTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkTm9kZS5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gdGhpcy5mb2N1c2VkTm9kZS5fY2hpbGRyZW4uZmluZChub2RlID0+ICFub2RlLmRpc2FibGVkKTtcbiAgICAgICAgICAgICAgICBpZiAoZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKGZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVXBEb3duQXJyb3coaXNVcDogYm9vbGVhbiwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZ2V0VmlzaWJsZU5vZGUodGhpcy5mb2N1c2VkTm9kZSwgaXNVcCA/IC0xIDogMSk7XG4gICAgICAgIGlmIChuZXh0ID09PSB0aGlzLmZvY3VzZWROb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkQW5kQWN0aXZlTm9kZShuZXh0LCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKG5leHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBc3RlcmlzaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGUgPyB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGUuX2NoaWxkcmVuIDogdGhpcy50cmVlLnJvb3ROb2RlcztcbiAgICAgICAgbm9kZXM/LmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAoIW5vZGUuZGlzYWJsZWQgJiYgKCFub2RlLmV4cGFuZGVkIHx8IHRoaXMudHJlZVNlcnZpY2UuY29sbGFwc2luZ05vZGVzLmhhcyhub2RlKSkpIHtcbiAgICAgICAgICAgICAgICBub2RlLmV4cGFuZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNwYWNlKHNoaWZ0S2V5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJlZS5zZWxlY3Rpb24gPT09IElneFRyZWVTZWxlY3Rpb25UeXBlLk5vbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZm9jdXNlZE5vZGU7XG4gICAgICAgIGlmIChzaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdE11bHRpcGxlTm9kZXModGhpcy5mb2N1c2VkTm9kZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkTm9kZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmRlc2VsZWN0Tm9kZSh0aGlzLmZvY3VzZWROb2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3ROb2RlKHRoaXMuZm9jdXNlZE5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldHMgdGhlIG5leHQgdmlzaWJsZSBub2RlIGluIHRoZSBnaXZlbiBkaXJlY3Rpb24gLSAxIC0+IG5leHQsIC0xIC0+IHByZXZpb3VzICovXG4gICAgcHJpdmF0ZSBnZXRWaXNpYmxlTm9kZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+LCBkaXI6IDEgfCAtMSA9IDEpOiBJZ3hUcmVlTm9kZTxhbnk+IHtcbiAgICAgICAgY29uc3Qgbm9kZUluZGV4ID0gdGhpcy52aXNpYmxlQ2hpbGRyZW4uaW5kZXhPZihub2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZUNoaWxkcmVuW25vZGVJbmRleCArIGRpcl0gfHwgbm9kZTtcbiAgICB9XG59XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvdHJlZS90cmVlLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLHdCQUF3QjtBQUV4QixNQUFNLE9BQU8sd0JBQXdCO0lBYWpDLFlBQW9CLFdBQTJCLEVBQVUsZ0JBQXlDO1FBQTlFLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFWMUYsaUJBQVksR0FBcUIsSUFBSSxDQUFDO1FBQ3RDLHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FBRXJDLHFCQUFnQixHQUF1QixFQUFFLENBQUM7UUFDMUMsdUJBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsZ0JBQWdCO2dCQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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R0FBRyxLQUFLO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssb0JBQW9CLENBQUMsSUFBSSxFQUFFO1lBQ25ELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUQsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsb0ZBQW9GO0lBQzVFLGNBQWMsQ0FBQyxJQUFzQixFQUFFLE1BQWMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6RCxDQUFDOzhHQWpQUSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4VHJlZSwgSWd4VHJlZU5vZGUsIElneFRyZWVTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgTkFWSUdBVElPTl9LRVlTIH0gZnJvbSAnLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJZ3hUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IElneFRyZWVTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmVlLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqIEBoaWRkZW4gQGludGVybmFsICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWd4VHJlZU5hdmlnYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHRyZWU6IElneFRyZWU7XG5cbiAgICBwcml2YXRlIF9mb2N1c2VkTm9kZTogSWd4VHJlZU5vZGU8YW55PiA9IG51bGw7XG4gICAgcHJpdmF0ZSBfbGFzdEZvY3VzZWROb2RlOiBJZ3hUcmVlTm9kZTxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9hY3RpdmVOb2RlOiBJZ3hUcmVlTm9kZTxhbnk+ID0gbnVsbDtcblxuICAgIHByaXZhdGUgX3Zpc2libGVDaGlsZHJlbjogSWd4VHJlZU5vZGU8YW55PltdID0gW107XG4gICAgcHJpdmF0ZSBfaW52aXNpYmxlQ2hpbGRyZW46IFNldDxJZ3hUcmVlTm9kZTxhbnk+PiA9IG5ldyBTZXQoKTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZENoaWxkcmVuOiBTZXQ8SWd4VHJlZU5vZGU8YW55Pj4gPSBuZXcgU2V0KCk7XG5cbiAgICBwcml2YXRlIF9jYWNoZUNoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyZWVTZXJ2aWNlOiBJZ3hUcmVlU2VydmljZSwgcHJpdmF0ZSBzZWxlY3Rpb25TZXJ2aWNlOiBJZ3hUcmVlU2VsZWN0aW9uU2VydmljZSkge1xuICAgICAgICB0aGlzLl9jYWNoZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNoaWxkcmVuID1cbiAgICAgICAgICAgICAgICB0aGlzLnRyZWU/Lm5vZGVzID9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVlLm5vZGVzLmZpbHRlcihlID0+ICEodGhpcy5faW52aXNpYmxlQ2hpbGRyZW4uaGFzKGUpIHx8IHRoaXMuX2Rpc2FibGVkQ2hpbGRyZW4uaGFzKGUpKSkgOlxuICAgICAgICAgICAgICAgICAgICBbXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKHRyZWU6IElneFRyZWUpIHtcbiAgICAgICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWROb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNlZE5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBmb2N1c2VkTm9kZSh2YWx1ZTogSWd4VHJlZU5vZGU8YW55Pikge1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNlZE5vZGUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWROb2RlID0gdGhpcy5fZm9jdXNlZE5vZGU7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0Rm9jdXNlZE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkTm9kZS50YWJJbmRleCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZvY3VzZWROb2RlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNlZE5vZGUuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTm9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZU5vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBhY3RpdmVOb2RlKHZhbHVlOiBJZ3hUcmVlTm9kZTxhbnk+KSB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVOb2RlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2FjdGl2ZU5vZGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy50cmVlLmFjdGl2ZU5vZGVDaGFuZ2VkLmVtaXQodGhpcy5fYWN0aXZlTm9kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2aXNpYmxlQ2hpbGRyZW4oKTogSWd4VHJlZU5vZGU8YW55PltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDaGlsZHJlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlX2Rpc2FibGVkX2NhY2hlKG5vZGU6IElneFRyZWVOb2RlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkQ2hpbGRyZW4uYWRkKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWRDaGlsZHJlbi5kZWxldGUobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2FjaGVDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0X2ludmlzaWJsZV9jYWNoZSgpIHtcbiAgICAgICAgdGhpcy50cmVlLm5vZGVzLmZpbHRlcihlID0+IGUubGV2ZWwgPT09IDApLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZV92aXNpYmxlX2NhY2hlKG5vZGUsIG5vZGUuZXhwYW5kZWQsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlX3Zpc2libGVfY2FjaGUobm9kZTogSWd4VHJlZU5vZGU8YW55PiwgZXhwYW5kZWQ6IGJvb2xlYW4sIHNob3VsZEVtaXQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgICAgICAgbm9kZS5fY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW52aXNpYmxlQ2hpbGRyZW4uZGVsZXRlKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZV92aXNpYmxlX2NhY2hlKGNoaWxkLCBjaGlsZC5leHBhbmRlZCwgZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub2RlLmFsbENoaWxkcmVuLmZvckVhY2goYyA9PiB0aGlzLl9pbnZpc2libGVDaGlsZHJlbi5hZGQoYykpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZEVtaXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIG5vZGUgYXMgZm9jdXNlZCAoYW5kIGFjdGl2ZSlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlIHRhcmdldCBub2RlXG4gICAgICogQHBhcmFtIGlzQWN0aXZlIGlmIHRydWUsIHNldHMgdGhlIG5vZGUgYXMgYWN0aXZlXG4gICAgICovXG4gICAgcHVibGljIHNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKG5vZGU6IElneFRyZWVOb2RlPGFueT4sIGlzQWN0aXZlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IG5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c2VkTm9kZSA9IG5vZGU7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGtleWRvd24gZXZlbnRzLiBVc2VkIGluIHRyZWUuY29tcG9uZW50LnRzICovXG4gICAgcHVibGljIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkTm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKE5BVklHQVRJT05fS0VZUy5oYXMoa2V5KSB8fCBrZXkgPT09ICcqJykpIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdlbnRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChldmVudC5yZXBlYXQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVOYXZpZ2F0aW9uKGV2ZW50KSwgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9jYWNoZUNoYW5nZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2NhY2hlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOYXZpZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUodGhpcy52aXNpYmxlQ2hpbGRyZW5bMF0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKHRoaXMudmlzaWJsZUNoaWxkcmVuW3RoaXMudmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Fycm93bGVmdCc6XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFycm93TGVmdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXJyb3dyaWdodCc6XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBcnJvd1JpZ2h0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhcnJvd3VwJzpcbiAgICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVwRG93bkFycm93KHRydWUsIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgICBjYXNlICdkb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVVwRG93bkFycm93KGZhbHNlLCBldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcqJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFzdGVyaXNrKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlYmFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNwYWNlKGV2ZW50LnNoaWZ0S2V5KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLmV4cGFuZGVkICYmICF0aGlzLnRyZWVTZXJ2aWNlLmNvbGxhcHNpbmdOb2Rlcy5oYXModGhpcy5mb2N1c2VkTm9kZSkgJiYgdGhpcy5mb2N1c2VkTm9kZS5fY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5mb2N1c2VkTm9kZTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZE5vZGUuY29sbGFwc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGU7XG4gICAgICAgICAgICBpZiAocGFyZW50Tm9kZSAmJiAhcGFyZW50Tm9kZS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZEFuZEFjdGl2ZU5vZGUocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFycm93UmlnaHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLl9jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZE5vZGUuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNlZE5vZGUuZXhwYW5kKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyZWVTZXJ2aWNlLmNvbGxhcHNpbmdOb2Rlcy5oYXModGhpcy5mb2N1c2VkTm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2VkTm9kZS5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gdGhpcy5mb2N1c2VkTm9kZS5fY2hpbGRyZW4uZmluZChub2RlID0+ICFub2RlLmRpc2FibGVkKTtcbiAgICAgICAgICAgICAgICBpZiAoZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKGZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVXBEb3duQXJyb3coaXNVcDogYm9vbGVhbiwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZ2V0VmlzaWJsZU5vZGUodGhpcy5mb2N1c2VkTm9kZSwgaXNVcCA/IC0xIDogMSk7XG4gICAgICAgIGlmIChuZXh0ID09PSB0aGlzLmZvY3VzZWROb2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkQW5kQWN0aXZlTm9kZShuZXh0LCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvY3VzZWRBbmRBY3RpdmVOb2RlKG5leHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBc3RlcmlzaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGUgPyB0aGlzLmZvY3VzZWROb2RlLnBhcmVudE5vZGUuX2NoaWxkcmVuIDogdGhpcy50cmVlLnJvb3ROb2RlcztcbiAgICAgICAgbm9kZXM/LmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAoIW5vZGUuZGlzYWJsZWQgJiYgKCFub2RlLmV4cGFuZGVkIHx8IHRoaXMudHJlZVNlcnZpY2UuY29sbGFwc2luZ05vZGVzLmhhcyhub2RlKSkpIHtcbiAgICAgICAgICAgICAgICBub2RlLmV4cGFuZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNwYWNlKHNoaWZ0S2V5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJlZS5zZWxlY3Rpb24gPT09IElneFRyZWVTZWxlY3Rpb25UeXBlLk5vbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZm9jdXNlZE5vZGU7XG4gICAgICAgIGlmIChzaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdE11bHRpcGxlTm9kZXModGhpcy5mb2N1c2VkTm9kZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkTm9kZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TZXJ2aWNlLmRlc2VsZWN0Tm9kZSh0aGlzLmZvY3VzZWROb2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3ROb2RlKHRoaXMuZm9jdXNlZE5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldHMgdGhlIG5leHQgdmlzaWJsZSBub2RlIGluIHRoZSBnaXZlbiBkaXJlY3Rpb24gLSAxIC0+IG5leHQsIC0xIC0+IHByZXZpb3VzICovXG4gICAgcHJpdmF0ZSBnZXRWaXNpYmxlTm9kZShub2RlOiBJZ3hUcmVlTm9kZTxhbnk+LCBkaXI6IDEgfCAtMSA9IDEpOiBJZ3hUcmVlTm9kZTxhbnk+IHtcbiAgICAgICAgY29uc3Qgbm9kZUluZGV4ID0gdGhpcy52aXNpYmxlQ2hpbGRyZW4uaW5kZXhPZihub2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZUNoaWxkcmVuW25vZGVJbmRleCArIGRpcl0gfHwgbm9kZTtcbiAgICB9XG59XG4iXX0=
|