@taiga-ui/kit 3.0.0-rc.0 → 3.0.0-rc.1
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/bundles/taiga-ui-kit-components-accordion.umd.js +5 -17
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +3 -9
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badge.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.js +3 -6
- package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +0 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +12 -8
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -5
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +7 -10
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +5 -9
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +5 -9
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +21 -41
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +5 -26
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +1 -2
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js +21 -36
- package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +12 -35
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +19 -42
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +18 -42
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +17 -41
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +4 -17
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -8
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +19 -37
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +19 -37
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +14 -37
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +29 -56
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +38 -51
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +30 -57
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +17 -13
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +14 -12
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +33 -50
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +8 -15
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +16 -33
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +108 -18
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +34 -69
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +10 -23
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +2 -15
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +5 -15
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +7 -10
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +5 -9
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js +5 -9
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +5 -10
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +40 -86
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +4 -8
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +20 -40
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +40 -38
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +9 -7
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +40 -40
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +6 -17
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +18 -31
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +5 -9
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +2 -8
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +334 -3
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/{taiga-ui-kit-directives-dropdown-context.umd.js → taiga-ui-kit-directives-data-list-dropdown-manager.umd.js} +117 -141
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-directives-highlight.umd.js +0 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +2 -2
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-present.umd.js +2 -2
- package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js +0 -3
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives.umd.js +6 -18
- package/bundles/taiga-ui-kit-directives.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +4 -4
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js +0 -2
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +3 -3
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-providers.umd.js +11 -42
- package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +17 -12
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js +3 -15
- package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.js +1 -5
- package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +3 -9
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -5
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils.umd.js +4 -10
- package/bundles/taiga-ui-kit-utils.umd.js.map +1 -1
- package/components/badge/badge.component.d.ts +2 -2
- package/components/badged-content/badged-content.component.d.ts +2 -2
- package/components/combo-box/index.d.ts +0 -1
- package/components/filter/filter.component.d.ts +1 -1
- package/components/input/index.d.ts +0 -1
- package/components/input-copy/index.d.ts +0 -1
- package/components/input-copy/input-copy.component.d.ts +4 -4
- package/components/input-date/index.d.ts +0 -1
- package/components/input-date-range/index.d.ts +0 -1
- package/components/input-date-time/index.d.ts +0 -1
- package/components/input-month/index.d.ts +0 -1
- package/components/input-month-range/index.d.ts +0 -1
- package/components/input-password/input-password.component.d.ts +2 -2
- package/components/input-password/input-password.module.d.ts +2 -3
- package/components/input-phone/index.d.ts +0 -1
- package/components/input-phone/input-phone.component.d.ts +2 -2
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -5
- package/components/input-range/input-range.component.d.ts +1 -0
- package/components/input-slider/input-slider.component.d.ts +1 -0
- package/components/input-tag/input-tag-options.d.ts +4 -1
- package/components/input-tag/input-tag.component.d.ts +3 -5
- package/components/line-clamp/index.d.ts +1 -0
- package/components/line-clamp/line-clamp-box.component.d.ts +7 -0
- package/components/line-clamp/line-clamp-position.directive.d.ts +9 -0
- package/components/line-clamp/line-clamp.module.d.ts +7 -5
- package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -3
- package/components/pagination/pagination.component.d.ts +0 -1
- package/components/progress/progress-segmented/progress-segmented.component.d.ts +0 -2
- package/components/range/range.component.d.ts +7 -23
- package/components/select/index.d.ts +0 -1
- package/components/slider/helpers/slider-key-steps.directive.d.ts +1 -3
- package/components/slider/slider.component.d.ts +5 -3
- package/components/stepper/step/step.component.d.ts +2 -2
- package/components/tabs/tab/tab.providers.d.ts +1 -4
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +2 -1
- package/components/tabs/tabs-with-more/tabs-with-more.providers.d.ts +3 -4
- package/components/tag/tag.component.d.ts +1 -3
- package/components/text-area/index.d.ts +0 -1
- package/components/tree/components/tree-item/tree-item.providers.d.ts +0 -1
- package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +15 -0
- package/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.d.ts +7 -0
- package/directives/data-list-dropdown-manager/index.d.ts +2 -0
- package/directives/data-list-dropdown-manager/package.json +10 -0
- package/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.d.ts +5 -0
- package/directives/index.d.ts +1 -3
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +5 -17
- package/esm2015/components/accordion/accordion.component.js +5 -5
- package/esm2015/components/action/action.component.js +6 -12
- package/esm2015/components/arrow/arrow.component.js +3 -3
- package/esm2015/components/avatar/avatar.component.js +6 -6
- package/esm2015/components/badge/badge.component.js +6 -6
- package/esm2015/components/badged-content/badged-content.component.js +4 -7
- package/esm2015/components/breadcrumbs/breadcrumbs.component.js +2 -2
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -2
- package/esm2015/components/calendar-range/calendar-range.component.js +12 -11
- package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
- package/esm2015/components/carousel/carousel.component.js +4 -5
- package/esm2015/components/carousel/carousel.directive.js +3 -3
- package/esm2015/components/checkbox/checkbox.component.js +8 -12
- package/esm2015/components/checkbox-block/checkbox-block.component.js +10 -13
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +8 -12
- package/esm2015/components/combo-box/combo-box.component.js +20 -8
- package/esm2015/components/combo-box/combo-box.directive.js +5 -15
- package/esm2015/components/combo-box/index.js +1 -2
- package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +5 -15
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +5 -15
- package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -4
- package/esm2015/components/files/file/file.component.js +3 -4
- package/esm2015/components/filter/filter.component.js +2 -2
- package/esm2015/components/input/index.js +1 -2
- package/esm2015/components/input/input.component.js +18 -7
- package/esm2015/components/input/input.directive.js +5 -15
- package/esm2015/components/input-copy/index.js +1 -2
- package/esm2015/components/input-copy/input-copy.component.js +18 -10
- package/esm2015/components/input-copy/input-copy.directive.js +5 -15
- package/esm2015/components/input-count/input-count.component.js +14 -27
- package/esm2015/components/input-count/input-count.directive.js +5 -15
- package/esm2015/components/input-date/index.js +1 -2
- package/esm2015/components/input-date/input-date.component.js +15 -9
- package/esm2015/components/input-date/input-date.directive.js +5 -15
- package/esm2015/components/input-date-range/index.js +1 -2
- package/esm2015/components/input-date-range/input-date-range.component.js +18 -11
- package/esm2015/components/input-date-range/input-date-range.directive.js +5 -15
- package/esm2015/components/input-date-time/index.js +1 -2
- package/esm2015/components/input-date-time/input-date-time.component.js +16 -10
- package/esm2015/components/input-date-time/input-date-time.directive.js +5 -15
- package/esm2015/components/input-files/input-files.component.js +8 -21
- package/esm2015/components/input-inline/input-inline.component.js +5 -11
- package/esm2015/components/input-month/index.js +1 -2
- package/esm2015/components/input-month/input-month.component.js +17 -8
- package/esm2015/components/input-month/input-month.directive.js +5 -17
- package/esm2015/components/input-month-range/index.js +1 -2
- package/esm2015/components/input-month-range/input-month-range.component.js +17 -8
- package/esm2015/components/input-month-range/input-month-range.directive.js +5 -17
- package/esm2015/components/input-number/input-number.component.js +16 -29
- package/esm2015/components/input-number/input-number.directive.js +5 -15
- package/esm2015/components/input-password/input-password.component.js +18 -32
- package/esm2015/components/input-password/input-password.directive.js +5 -15
- package/esm2015/components/input-password/input-password.module.js +1 -5
- package/esm2015/components/input-phone/index.js +1 -2
- package/esm2015/components/input-phone/input-phone.component.js +28 -14
- package/esm2015/components/input-phone/input-phone.directive.js +5 -15
- package/esm2015/components/input-phone-international/input-phone-international.component.js +16 -22
- package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +5 -11
- package/esm2015/components/input-range/input-range.component.js +20 -16
- package/esm2015/components/input-slider/input-slider.component.js +13 -15
- package/esm2015/components/input-tag/input-tag-options.js +8 -1
- package/esm2015/components/input-tag/input-tag.component.js +24 -54
- package/esm2015/components/input-time/input-time.component.js +11 -18
- package/esm2015/components/line-clamp/index.js +2 -1
- package/esm2015/components/line-clamp/line-clamp-box.component.js +32 -0
- package/esm2015/components/line-clamp/line-clamp-position.directive.js +26 -0
- package/esm2015/components/line-clamp/line-clamp.component.js +22 -9
- package/esm2015/components/line-clamp/line-clamp.module.js +30 -6
- package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +11 -21
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +17 -28
- package/esm2015/components/multi-select/multi-select.component.js +15 -30
- package/esm2015/components/multi-select-option/multi-select-option.component.js +6 -6
- package/esm2015/components/pagination/pagination.component.js +13 -25
- package/esm2015/components/pdf-viewer/pdf-viewer.module.js +4 -17
- package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +4 -4
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -11
- package/esm2015/components/radio/radio.component.js +8 -13
- package/esm2015/components/radio-block/radio-block.component.js +10 -13
- package/esm2015/components/radio-labeled/radio-labeled.component.js +8 -12
- package/esm2015/components/radio-list/radio-list.component.js +8 -12
- package/esm2015/components/range/range-change.directive.js +10 -9
- package/esm2015/components/range/range.component.js +27 -79
- package/esm2015/components/rating/rating.component.js +7 -11
- package/esm2015/components/select/index.js +1 -2
- package/esm2015/components/select/select.component.js +19 -7
- package/esm2015/components/select/select.directive.js +5 -15
- package/esm2015/components/select-option/select-option.component.js +7 -7
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +14 -22
- package/esm2015/components/slider/helpers/slider-readonly.directive.js +5 -6
- package/esm2015/components/slider/slider.component.js +21 -10
- package/esm2015/components/stepper/step/step.component.js +5 -5
- package/esm2015/components/stepper/stepper.component.js +7 -5
- package/esm2015/components/tabs/tab/tab.providers.js +10 -10
- package/esm2015/components/tabs/tabs/tabs.component.js +1 -2
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +18 -17
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +9 -11
- package/esm2015/components/tag/tag.component.js +10 -20
- package/esm2015/components/text-area/index.js +1 -2
- package/esm2015/components/text-area/text-area.component.js +19 -8
- package/esm2015/components/text-area/text-area.directive.js +5 -15
- package/esm2015/components/toggle/toggle.component.js +8 -12
- package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -6
- package/esm2015/components/tree/directives/tree-controller.directive.js +3 -3
- package/esm2015/components/tree/misc/tree.service.js +1 -2
- package/esm2015/constants/max-day-range-length-mapper.js +5 -4
- package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +100 -0
- package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.js +16 -0
- package/esm2015/directives/data-list-dropdown-manager/index.js +3 -0
- package/esm2015/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.js +5 -0
- package/esm2015/directives/highlight/highlight.directive.js +1 -2
- package/esm2015/directives/index.js +2 -4
- package/esm2015/directives/lazy-loading/lazy-loading.directive.js +2 -2
- package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
- package/esm2015/directives/present/present.directive.js +4 -4
- package/esm2015/directives/project-class/project-class.directive.js +1 -4
- package/esm2015/interfaces/index.js +1 -2
- package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +7 -7
- package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -2
- package/esm2015/pipes/field-error/field-error-pipe.js +1 -2
- package/esm2015/pipes/filter-by-input/filter-by-input.base.js +5 -5
- package/esm2015/providers/month-formatter.provider.js +8 -13
- package/esm2015/providers/specific-dropdown-controllers.js +6 -29
- package/esm2015/tokens/calendar-date-stream.js +15 -0
- package/esm2015/tokens/index.js +2 -3
- package/esm2015/utils/files/format-size.js +4 -9
- package/esm2015/utils/files/get-accept-array.js +2 -7
- package/esm2015/utils/format/string-hash-to-hsl.js +2 -5
- package/esm2015/utils/index.js +1 -2
- package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +3 -8
- package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +3 -3
- package/esm2015/utils/math/key-steps.js +3 -3
- package/esm2015/utils/miscellaneous/get-precision.js +2 -5
- package/fesm2015/taiga-ui-kit-components-accordion.js +7 -19
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +5 -11
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js +2 -2
- package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js +5 -5
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badge.js +4 -4
- package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badged-content.js +3 -6
- package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +0 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +12 -11
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +5 -6
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js +9 -12
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +7 -11
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +7 -11
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +22 -41
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +7 -28
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +2 -3
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js +22 -36
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +15 -38
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +20 -44
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +19 -44
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +18 -43
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +7 -20
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -10
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +20 -37
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +20 -37
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +17 -40
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +20 -47
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +18 -30
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +31 -57
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +19 -15
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +12 -14
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +33 -55
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +10 -17
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +20 -36
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +96 -14
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +5 -5
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +37 -73
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +13 -25
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +3 -16
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +7 -15
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +9 -12
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -11
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -11
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +7 -12
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +38 -86
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +6 -10
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +6 -6
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +21 -40
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +34 -32
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +10 -8
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +33 -35
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +10 -20
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +22 -34
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +7 -11
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +4 -9
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +4 -3
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +120 -0
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -0
- package/fesm2015/taiga-ui-kit-directives-highlight.js +0 -1
- package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +3 -3
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-present.js +3 -3
- package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-project-class.js +0 -3
- package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives.js +1 -3
- package/fesm2015/taiga-ui-kit-directives.js.map +1 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +6 -6
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-field-error.js +0 -2
- package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +4 -4
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-providers.js +13 -40
- package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +15 -8
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js +5 -15
- package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-format.js +2 -5
- package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +4 -9
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
- package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -5
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils.js +0 -1
- package/fesm2015/taiga-ui-kit-utils.js.map +1 -1
- package/interfaces/index.d.ts +0 -1
- package/package.json +5 -5
- package/providers/month-formatter.provider.d.ts +0 -7
- package/providers/specific-dropdown-controllers.d.ts +1 -6
- package/tokens/calendar-date-stream.d.ts +5 -0
- package/tokens/index.d.ts +1 -2
- package/tokens/validation-errors.d.ts +1 -1
- package/utils/files/format-size.d.ts +1 -5
- package/utils/files/get-accept-array.d.ts +1 -5
- package/utils/format/string-hash-to-hsl.d.ts +1 -3
- package/utils/index.d.ts +0 -1
- package/utils/mask/create-auto-corrected-date-pipe.d.ts +1 -5
- package/utils/miscellaneous/get-precision.d.ts +1 -3
- package/abstract/index.d.ts +0 -1
- package/abstract/package.json +0 -10
- package/abstract/slider/slider.d.ts +0 -69
- package/abstract/taiga-ui-kit-abstract.d.ts +0 -5
- package/bundles/taiga-ui-kit-abstract.umd.js +0 -651
- package/bundles/taiga-ui-kit-abstract.umd.js.map +0 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +0 -1
- package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +0 -107
- package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +0 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +0 -643
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +0 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.js +0 -124
- package/bundles/taiga-ui-kit-utils-dom.umd.js.map +0 -1
- package/components/combo-box/combo-box.providers.d.ts +0 -1
- package/components/input/input.providers.d.ts +0 -1
- package/components/input-copy/input-copy.providers.d.ts +0 -2
- package/components/input-date/input-date.providers.d.ts +0 -1
- package/components/input-date-range/input-date-range.providers.d.ts +0 -1
- package/components/input-date-time/input-date-time.providers.d.ts +0 -1
- package/components/input-month/input-month.providers.d.ts +0 -2
- package/components/input-month-range/input-month-range.providers.d.ts +0 -2
- package/components/input-phone/input-phone.providers.d.ts +0 -5
- package/components/select/select.providers.d.ts +0 -1
- package/components/text-area/text-area.providers.d.ts +0 -2
- package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -30
- package/directives/dropdown-context/dropdown-context.module.d.ts +0 -8
- package/directives/dropdown-context/index.d.ts +0 -2
- package/directives/dropdown-context/package.json +0 -10
- package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.d.ts +0 -5
- package/directives/dropdown-hover/dropdown-hover.directive.d.ts +0 -11
- package/directives/dropdown-hover/dropdown-hover.module.d.ts +0 -7
- package/directives/dropdown-hover/index.d.ts +0 -2
- package/directives/dropdown-hover/package.json +0 -10
- package/directives/dropdown-hover/taiga-ui-kit-directives-dropdown-hover.d.ts +0 -5
- package/directives/dropdown-selection/dropdown-selection.directive.d.ts +0 -46
- package/directives/dropdown-selection/dropdown-selection.module.d.ts +0 -8
- package/directives/dropdown-selection/index.d.ts +0 -2
- package/directives/dropdown-selection/package.json +0 -10
- package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.d.ts +0 -5
- package/esm2015/abstract/index.js +0 -2
- package/esm2015/abstract/slider/slider.js +0 -264
- package/esm2015/abstract/taiga-ui-kit-abstract.js +0 -5
- package/esm2015/components/combo-box/combo-box.providers.js +0 -26
- package/esm2015/components/input/input.providers.js +0 -22
- package/esm2015/components/input-copy/input-copy.providers.js +0 -16
- package/esm2015/components/input-date/input-date.providers.js +0 -27
- package/esm2015/components/input-date-range/input-date-range.providers.js +0 -27
- package/esm2015/components/input-date-time/input-date-time.providers.js +0 -27
- package/esm2015/components/input-month/input-month.providers.js +0 -19
- package/esm2015/components/input-month-range/input-month-range.providers.js +0 -19
- package/esm2015/components/input-phone/input-phone.providers.js +0 -35
- package/esm2015/components/select/select.providers.js +0 -26
- package/esm2015/components/text-area/text-area.providers.js +0 -18
- package/esm2015/directives/dropdown-context/dropdown-context.directive.js +0 -141
- package/esm2015/directives/dropdown-context/dropdown-context.module.js +0 -18
- package/esm2015/directives/dropdown-context/index.js +0 -3
- package/esm2015/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.js +0 -5
- package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +0 -56
- package/esm2015/directives/dropdown-hover/dropdown-hover.module.js +0 -16
- package/esm2015/directives/dropdown-hover/index.js +0 -3
- package/esm2015/directives/dropdown-hover/taiga-ui-kit-directives-dropdown-hover.js +0 -5
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +0 -252
- package/esm2015/directives/dropdown-selection/dropdown-selection.module.js +0 -18
- package/esm2015/directives/dropdown-selection/index.js +0 -3
- package/esm2015/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.js +0 -5
- package/esm2015/interfaces/bread-crumbs-item.js +0 -2
- package/esm2015/tokens/calendar-data-stream.js +0 -3
- package/esm2015/tokens/tag-status.js +0 -6
- package/esm2015/utils/dom/get-word-range.js +0 -53
- package/esm2015/utils/dom/index.js +0 -4
- package/esm2015/utils/dom/scroll-to-element.js +0 -23
- package/esm2015/utils/dom/set-range-offset.js +0 -29
- package/esm2015/utils/dom/taiga-ui-kit-utils-dom.js +0 -5
- package/fesm2015/taiga-ui-kit-abstract.js +0 -271
- package/fesm2015/taiga-ui-kit-abstract.js.map +0 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +0 -162
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +0 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +0 -76
- package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +0 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +0 -273
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +0 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js +0 -111
- package/fesm2015/taiga-ui-kit-utils-dom.js.map +0 -1
- package/interfaces/bread-crumbs-item.d.ts +0 -6
- package/tokens/calendar-data-stream.d.ts +0 -4
- package/tokens/tag-status.d.ts +0 -3
- package/utils/dom/get-word-range.d.ts +0 -9
- package/utils/dom/index.d.ts +0 -3
- package/utils/dom/package.json +0 -10
- package/utils/dom/scroll-to-element.d.ts +0 -5
- package/utils/dom/set-range-offset.d.ts +0 -6
- package/utils/dom/taiga-ui-kit-utils-dom.d.ts +0 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ElementRef, InjectionToken, Optional } from '@angular/core';
|
|
2
2
|
import { RouterLinkActive } from '@angular/router';
|
|
3
3
|
import { MutationObserverService } from '@ng-web-apis/mutation-observer';
|
|
4
|
-
import { TuiDestroyService, TuiFocusVisibleService,
|
|
4
|
+
import { TuiDestroyService, TuiFocusVisibleService, tuiTypedFromEvent, } from '@taiga-ui/cdk';
|
|
5
5
|
import { MODE_PROVIDER, TuiRouterLinkActiveService } from '@taiga-ui/core';
|
|
6
6
|
import { EMPTY, identity, merge } from 'rxjs';
|
|
7
7
|
import { filter, map } from 'rxjs/operators';
|
|
@@ -19,15 +19,15 @@ export const TUI_TAB_PROVIDERS = [
|
|
|
19
19
|
[new Optional(), MutationObserverService],
|
|
20
20
|
[new Optional(), RouterLinkActive],
|
|
21
21
|
],
|
|
22
|
-
useFactory:
|
|
22
|
+
useFactory: ({ nativeElement }, routerLinkActiveService, mutationObserverService, routerLinkActive) => {
|
|
23
|
+
const mutationObserver = routerLinkActive && mutationObserverService
|
|
24
|
+
? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))
|
|
25
|
+
: EMPTY;
|
|
26
|
+
return merge(mutationObserver, routerLinkActiveService.pipe(filter(identity)), nativeElement.matches(`button`)
|
|
27
|
+
? tuiTypedFromEvent(nativeElement, `click`)
|
|
28
|
+
: EMPTY).pipe(map(() => nativeElement.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, { bubbles: true }))));
|
|
29
|
+
},
|
|
23
30
|
},
|
|
24
31
|
MODE_PROVIDER,
|
|
25
32
|
];
|
|
26
|
-
|
|
27
|
-
export function tabActiveFactory({ nativeElement }, routerLinkActiveService, mutationObserverService, routerLinkActive) {
|
|
28
|
-
const mutationObserver = routerLinkActive && mutationObserverService
|
|
29
|
-
? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))
|
|
30
|
-
: EMPTY;
|
|
31
|
-
return merge(mutationObserver, routerLinkActiveService.pipe(filter(identity)), nativeElement.matches(`button`) ? typedFromEvent(nativeElement, `click`) : EMPTY).pipe(map(() => nativeElement.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, { bubbles: true }))));
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLGFBQWEsRUFBRSwwQkFBMEIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FDM0MsaUNBQWlDLENBQ3BDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBZTtJQUN6QyxpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQjtRQUNJLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLElBQUksRUFBRTtZQUNGLFVBQVU7WUFDViwwQkFBMEI7WUFDMUIsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLHVCQUF1QixDQUFDO1lBQ3pDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQztTQUNyQztRQUNELFVBQVUsRUFBRSxnQkFBZ0I7S0FDL0I7SUFDRCxhQUFhO0NBQ2hCLENBQUM7QUFFRixnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixFQUFDLGFBQWEsRUFBMEIsRUFDeEMsdUJBQTRDLEVBQzVDLHVCQUF1RCxFQUN2RCxnQkFBeUM7SUFFekMsTUFBTSxnQkFBZ0IsR0FDbEIsZ0JBQWdCLElBQUksdUJBQXVCO1FBQ3ZDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFaEIsT0FBTyxLQUFLLENBQ1IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNuRixDQUFDLElBQUksQ0FDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ0wsYUFBYSxDQUFDLGFBQWEsQ0FDdkIsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FDckQsQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua0FjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TXV0YXRpb25PYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFR1aVJvdXRlckxpbmtBY3RpdmVTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0VNUFRZLCBpZGVudGl0eSwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgVFVJX1RBQl9BQ1RJVkFURSA9IGB0dWktdGFiLWFjdGl2YXRlYDtcbmV4cG9ydCBjb25zdCBUVUlfVEFCX0VWRU5UID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RXZlbnQ+PihcbiAgICBgU3RyZWFtIG9mIHRhYiBhY3RpdmF0aW9uIGV2ZW50c2AsXG4pO1xuZXhwb3J0IGNvbnN0IFRVSV9UQUJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgVHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVEFCX0VWRU5ULFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBFbGVtZW50UmVmLFxuICAgICAgICAgICAgVHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2UsXG4gICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlXSxcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgUm91dGVyTGlua0FjdGl2ZV0sXG4gICAgICAgIF0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHRhYkFjdGl2ZUZhY3RvcnksXG4gICAgfSxcbiAgICBNT0RFX1BST1ZJREVSLFxuXTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIHRhYkFjdGl2ZUZhY3RvcnkoXG4gICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICByb3V0ZXJMaW5rQWN0aXZlU2VydmljZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICBtdXRhdGlvbk9ic2VydmVyU2VydmljZTogTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfCBudWxsLFxuICAgIHJvdXRlckxpbmtBY3RpdmU6IFJvdXRlckxpbmtBY3RpdmUgfCBudWxsLFxuKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgbXV0YXRpb25PYnNlcnZlciA9XG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmUgJiYgbXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgICAgICAgICAgID8gbXV0YXRpb25PYnNlcnZlclNlcnZpY2UucGlwZShmaWx0ZXIoKCkgPT4gcm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZSkpXG4gICAgICAgICAgICA6IEVNUFRZO1xuXG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICBtdXRhdGlvbk9ic2VydmVyLFxuICAgICAgICByb3V0ZXJMaW5rQWN0aXZlU2VydmljZS5waXBlKGZpbHRlcihpZGVudGl0eSkpLFxuICAgICAgICBuYXRpdmVFbGVtZW50Lm1hdGNoZXMoYGJ1dHRvbmApID8gdHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgYGNsaWNrYCkgOiBFTVBUWSxcbiAgICApLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PlxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudChUVUlfVEFCX0FDVElWQVRFLCB7YnViYmxlczogdHJ1ZX0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuIl19
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLDBCQUEwQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUMzQyxpQ0FBaUMsQ0FDcEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFlO0lBQ3pDLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCO1FBQ0ksT0FBTyxFQUFFLGFBQWE7UUFDdEIsSUFBSSxFQUFFO1lBQ0YsVUFBVTtZQUNWLDBCQUEwQjtZQUMxQixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUM7WUFDekMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDO1NBQ3JDO1FBQ0QsVUFBVSxFQUFFLENBQ1IsRUFBQyxhQUFhLEVBQTBCLEVBQ3hDLHVCQUE0QyxFQUM1Qyx1QkFBdUQsRUFDdkQsZ0JBQXlDLEVBQ3RCLEVBQUU7WUFDckIsTUFBTSxnQkFBZ0IsR0FDbEIsZ0JBQWdCLElBQUksdUJBQXVCO2dCQUN2QyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUN4QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQzFDO2dCQUNILENBQUMsQ0FBQyxLQUFLLENBQUM7WUFFaEIsT0FBTyxLQUFLLENBQ1IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsS0FBSyxDQUNkLENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FDTCxhQUFhLENBQUMsYUFBYSxDQUN2QixJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUNyRCxDQUNKLENBQ0osQ0FBQztRQUNOLENBQUM7S0FDSjtJQUNELGFBQWE7Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge011dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUiwgVHVpUm91dGVyTGlua0FjdGl2ZVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7RU1QVFksIGlkZW50aXR5LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEFCX0FDVElWQVRFID0gYHR1aS10YWItYWN0aXZhdGVgO1xuZXhwb3J0IGNvbnN0IFRVSV9UQUJfRVZFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxFdmVudD4+KFxuICAgIGBTdHJlYW0gb2YgdGFiIGFjdGl2YXRpb24gZXZlbnRzYCxcbik7XG5leHBvcnQgY29uc3QgVFVJX1RBQl9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICBUdWlSb3V0ZXJMaW5rQWN0aXZlU2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9UQUJfRVZFTlQsXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBUdWlSb3V0ZXJMaW5rQWN0aXZlU2VydmljZSxcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgTXV0YXRpb25PYnNlcnZlclNlcnZpY2VdLFxuICAgICAgICAgICAgW25ldyBPcHRpb25hbCgpLCBSb3V0ZXJMaW5rQWN0aXZlXSxcbiAgICAgICAgXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVTZXJ2aWNlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlclNlcnZpY2U6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIHwgbnVsbCxcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU6IFJvdXRlckxpbmtBY3RpdmUgfCBudWxsLFxuICAgICAgICApOiBPYnNlcnZhYmxlPHVua25vd24+ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPVxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmUgJiYgbXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgPyBtdXRhdGlvbk9ic2VydmVyU2VydmljZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gcm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZSksXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZO1xuXG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlU2VydmljZS5waXBlKGZpbHRlcihpZGVudGl0eSkpLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQubWF0Y2hlcyhgYnV0dG9uYClcbiAgICAgICAgICAgICAgICAgICAgPyB0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCBgY2xpY2tgKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZLFxuICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoVFVJX1RBQl9BQ1RJVkFURSwge2J1YmJsZXM6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIE1PREVfUFJPVklERVIsXG5dO1xuIl19
|
|
@@ -11,7 +11,6 @@ import * as i1 from "../underline/underline.component";
|
|
|
11
11
|
import * as i2 from "@angular/common";
|
|
12
12
|
import * as i3 from "rxjs";
|
|
13
13
|
const TAB_ACTIVE_CLASS = `_active`;
|
|
14
|
-
// @dynamic
|
|
15
14
|
export class TuiTabsComponent {
|
|
16
15
|
constructor(options, elementRef, renderer, changeDetectorRef, resize$) {
|
|
17
16
|
this.options = options;
|
|
@@ -146,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
146
145
|
type: HostListener,
|
|
147
146
|
args: [`keydown.arrowLeft.prevent`, [`$event.target`, `-1`]]
|
|
148
147
|
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRWpFLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBRW5DLFdBQVc7QUFrQlgsTUFBTSxPQUFPLGdCQUFnQjtJQW9CekIsWUFDK0MsT0FBdUIsRUFDN0IsVUFBbUMsRUFDcEMsUUFBbUIsRUFDNUIsaUJBQW9DLEVBQ3JDLE9BQXlCO1FBSlIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDN0IsZUFB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LEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBTWxELFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBSzNCLHFCQUFxQjtzQkFEeEIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBT2YscUJBQXFCO3NCQUQ3QixNQUFNO2dCQTRCUCxVQUFVO3NCQURULFlBQVk7dUJBQUMsR0FBRyxnQkFBZ0IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQWMzRCxjQUFjO3NCQUZiLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDOztzQkFDakUsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxufSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlNb3ZlRm9jdXMsXG4gICAgVHVpUmVzaXplU2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlUYWJDb21wb25lbnR9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1RBQl9BQ1RJVkFURX0gZnJvbSAnLi4vdGFiL3RhYi5wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfVEFCU19PUFRJT05TLCBUdWlUYWJzT3B0aW9uc30gZnJvbSAnLi4vdGFicy1vcHRpb25zJztcblxuY29uc3QgVEFCX0FDVElWRV9DTEFTUyA9IGBfYWN0aXZlYDtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXRhYnMsIG5hdlt0dWlUYWJzXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3RhYnMudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vdGFicy5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlSZXNpemVTZXJ2aWNlLFxuICAgICAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTVVUQVRJT05fT0JTRVJWRVJfSU5JVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aVRhYkNvbXBvbmVudCkpXG4gICAgcmVhZG9ubHkgY2hpbGRyZW46IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl91bmRlcmxpbmVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdGhpcy5vcHRpb25zLnVuZGVybGluZTtcblxuICAgIEBJbnB1dChgYWN0aXZlSXRlbUluZGV4YClcbiAgICBzZXQgYWN0aXZlSXRlbUluZGV4U2V0dGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLnRhYnNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfVEFCU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVRhYnNPcHRpb25zLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKSBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlSZXNpemVTZXJ2aWNlKSByZXNpemUkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICkge1xuICAgICAgICByZXNpemUkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMudW5kZXJsaW5lKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oYFt0dWlUYWJdYCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFic1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGAke1RVSV9UQUJfQUNUSVZBVEV9LnN0b3BgLCBbYCRldmVudC50YXJnZXRgXSlcbiAgICBvbkFjdGl2YXRlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50YWJzLmZpbmRJbmRleCh0YWIgPT4gdGFiID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleFNldHRlciA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmFycm93UmlnaHQucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0xlZnQucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAtMWBdKVxuICAgIG9uS2V5RG93bkFycm93KGN1cnJlbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3RhYnN9ID0gdGhpcztcblxuICAgICAgICB0dWlNb3ZlRm9jdXModGFicy5pbmRleE9mKGN1cnJlbnQpLCB0YWJzLCBzdGVwKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzLCBhY3RpdmVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgdGFicy5mb3JFYWNoKG5hdGl2ZUVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbGVtZW50LCBUQUJfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5hdGl2ZUVsZW1lbnQsIGB0YWJJbmRleGAsIGAtMWApO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhhY3RpdmVFbGVtZW50LCBUQUJfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGFjdGl2ZUVsZW1lbnQsIGB0YWJJbmRleGAsIGAwYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvKGVsZW1lbnQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtvZmZzZXRMZWZ0LCBvZmZzZXRXaWR0aH0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICAgICAgaWYgKG9mZnNldExlZnQgPCBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggPlxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgbmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9XG4gICAgICAgICAgICAgICAgb2Zmc2V0TGVmdCArIG9mZnNldFdpZHRoIC0gbmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjaGlsZHJlbi5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjx0dWktdW5kZXJsaW5lXG4gICAgKm5nSWY9XCJ1bmRlcmxpbmVcIlxuICAgIGNsYXNzPVwidC11bmRlcmxpbmVcIlxuICAgIFtlbGVtZW50XT1cImFjdGl2ZUVsZW1lbnRcIlxuPjwvdHVpLXVuZGVybGluZT5cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMvdGFicy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRWpFLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBbUJuQyxNQUFNLE9BQU8sZ0JBQWdCO0lBb0J6QixZQUMrQyxPQUF1QixFQUM3QixVQUFtQyxFQUNwQyxRQUFtQixFQUM1QixpQkFBb0MsRUFDckMsT0FBeUI7UUFKUixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUM3QixlQUFVLEdBQVYsVUFB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LGVBQWUsQ0FBQztnQkFNbEQsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFLM0IscUJBQXFCO3NCQUR4QixLQUFLO3VCQUFDLGlCQUFpQjtnQkFPZixxQkFBcUI7c0JBRDdCLE1BQU07Z0JBNEJQLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxHQUFHLGdCQUFnQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBYzNELGNBQWM7c0JBRmIsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7O3NCQUNqRSxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG59IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aU1vdmVGb2N1cyxcbiAgICBUdWlSZXNpemVTZXJ2aWNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEFCX0FDVElWQVRFfSBmcm9tICcuLi90YWIvdGFiLnByb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9UQUJTX09QVElPTlMsIFR1aVRhYnNPcHRpb25zfSBmcm9tICcuLi90YWJzLW9wdGlvbnMnO1xuXG5jb25zdCBUQUJfQUNUSVZFX0NMQVNTID0gYF9hY3RpdmVgO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS10YWJzLCBuYXZbdHVpVGFic11gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi90YWJzLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3RhYnMuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUmVzaXplU2VydmljZSxcbiAgICAgICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlUYWJDb21wb25lbnQpKVxuICAgIHJlYWRvbmx5IGNoaWxkcmVuOiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fdW5kZXJsaW5lYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBASW5wdXQoYGFjdGl2ZUl0ZW1JbmRleGApXG4gICAgc2V0IGFjdGl2ZUl0ZW1JbmRleFNldHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy50YWJzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpUmVzaXplU2VydmljZSkgcmVzaXplJDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICApIHtcbiAgICAgICAgcmVzaXplJC5waXBlKGZpbHRlcigoKSA9PiB0aGlzLnVuZGVybGluZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCB0YWJzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KGBbdHVpVGFiXWApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnNbdGhpcy5hY3RpdmVJdGVtSW5kZXhdIHx8IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgJHtUVUlfVEFCX0FDVElWQVRFfS5zdG9wYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgb25BY3RpdmF0ZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5maW5kSW5kZXgodGFiID0+IHRhYiA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhTZXR0ZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgMWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG5cbiAgICAgICAgdHVpTW92ZUZvY3VzKHRhYnMuaW5kZXhPZihjdXJyZW50KSwgdGFicywgc3RlcCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFicywgYWN0aXZlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIHRhYnMuZm9yRWFjaChuYXRpdmVFbGVtZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWxlbWVudCwgVEFCX0FDVElWRV9DTEFTUyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShuYXRpdmVFbGVtZW50LCBgdGFiSW5kZXhgLCBgLTFgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYWN0aXZlRWxlbWVudCwgVEFCX0FDVElWRV9DTEFTUyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShhY3RpdmVFbGVtZW50LCBgdGFiSW5kZXhgLCBgMGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUbyhlbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7b2Zmc2V0TGVmdCwgb2Zmc2V0V2lkdGh9ID0gZWxlbWVudDtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIGlmIChvZmZzZXRMZWZ0IDwgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0KSB7XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSBvZmZzZXRMZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0TGVmdCArIG9mZnNldFdpZHRoID5cbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIG5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxuICAgICAgICAgICAgICAgIG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAtIG5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGRyZW4uY2hhbmdlcyB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48dHVpLXVuZGVybGluZVxuICAgICpuZ0lmPVwidW5kZXJsaW5lXCJcbiAgICBjbGFzcz1cInQtdW5kZXJsaW5lXCJcbiAgICBbZWxlbWVudF09XCJhY3RpdmVFbGVtZW50XCJcbj48L3R1aS11bmRlcmxpbmU+XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Inject, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
3
|
-
import { EMPTY_QUERY,
|
|
3
|
+
import { EMPTY_QUERY, tuiClamp, tuiDefaultProp, tuiGetClosestFocusable, tuiIsElement, tuiIsNativeFocused, TuiItemDirective, tuiToInt, } from '@taiga-ui/cdk';
|
|
4
4
|
import { TUI_MORE_WORD, TUI_TAB_MARGIN } from '@taiga-ui/kit/tokens';
|
|
5
5
|
import { filter, map } from 'rxjs/operators';
|
|
6
6
|
import { TuiTabComponent } from '../tab/tab.component';
|
|
7
7
|
import { TUI_TABS_OPTIONS } from '../tabs-options';
|
|
8
|
-
import {
|
|
8
|
+
import { TUI_TABS_PROVIDERS, TUI_TABS_REFRESH } from './tabs-with-more.providers';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../tabs/tabs.component";
|
|
11
11
|
import * as i2 from "@taiga-ui/core";
|
|
@@ -15,7 +15,6 @@ import * as i5 from "@angular/common";
|
|
|
15
15
|
import * as i6 from "@taiga-ui/cdk";
|
|
16
16
|
import * as i7 from "@tinkoff/ng-polymorpheus";
|
|
17
17
|
import * as i8 from "rxjs";
|
|
18
|
-
// @dynamic
|
|
19
18
|
export class TuiTabsWithMoreComponent {
|
|
20
19
|
constructor(options, margin, refresh$, elementRef, changeDetectorRef, moreWord$) {
|
|
21
20
|
this.options = options;
|
|
@@ -46,6 +45,9 @@ export class TuiTabsWithMoreComponent {
|
|
|
46
45
|
? tabs[safeActiveIndex] || null
|
|
47
46
|
: ((_a = this.moreButton) === null || _a === void 0 ? void 0 : _a.nativeElement) || null;
|
|
48
47
|
}
|
|
48
|
+
get isMoreAlone() {
|
|
49
|
+
return this.lastVisibleIndex < 0 && !this.options.exposeActive;
|
|
50
|
+
}
|
|
49
51
|
get isMoreVisible() {
|
|
50
52
|
return this.lastVisibleIndex < this.items.length - 1;
|
|
51
53
|
}
|
|
@@ -82,8 +84,7 @@ export class TuiTabsWithMoreComponent {
|
|
|
82
84
|
this.updateActiveItemIndex(index);
|
|
83
85
|
}
|
|
84
86
|
onArrowRight(event) {
|
|
85
|
-
|
|
86
|
-
if (tuiIsNativeFocused(event.target)) {
|
|
87
|
+
if (tuiIsElement(event.target) && tuiIsNativeFocused(event.target)) {
|
|
87
88
|
this.focusMore();
|
|
88
89
|
}
|
|
89
90
|
}
|
|
@@ -91,18 +92,18 @@ export class TuiTabsWithMoreComponent {
|
|
|
91
92
|
const { tabs } = this;
|
|
92
93
|
let index = tabs.length - 2;
|
|
93
94
|
while (index >= 0) {
|
|
94
|
-
|
|
95
|
+
tabs[index].focus();
|
|
95
96
|
if (tuiIsNativeFocused(tabs[index])) {
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
99
|
index--;
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
|
-
onWrapperArrow(event, wrapper,
|
|
102
|
+
onWrapperArrow(event, wrapper, previous) {
|
|
102
103
|
const button = event.target;
|
|
103
|
-
const target = tuiGetClosestFocusable(button,
|
|
104
|
+
const target = tuiGetClosestFocusable({ initial: button, root: wrapper, previous });
|
|
104
105
|
if (target) {
|
|
105
|
-
|
|
106
|
+
target.focus();
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
109
|
isOverflown(index) {
|
|
@@ -113,7 +114,7 @@ export class TuiTabsWithMoreComponent {
|
|
|
113
114
|
}
|
|
114
115
|
focusMore() {
|
|
115
116
|
if (this.moreButton) {
|
|
116
|
-
|
|
117
|
+
this.moreButton.nativeElement.focus();
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
getMaxIndex() {
|
|
@@ -138,12 +139,12 @@ export class TuiTabsWithMoreComponent {
|
|
|
138
139
|
const activeOffset = activeDisplaced ? activeWidth + margin : 0;
|
|
139
140
|
const currentWidth = total + activeOffset + moreWidth + margin;
|
|
140
141
|
// Needed for different rounding of visible and hidden elements scrollWidth
|
|
141
|
-
const safetyOffset =
|
|
142
|
+
const safetyOffset = tuiToInt(this.maxIndex === maxIndex - 1);
|
|
142
143
|
if (currentWidth + safetyOffset < clientWidth) {
|
|
143
144
|
return maxIndex;
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
|
-
return
|
|
147
|
+
return -1;
|
|
147
148
|
}
|
|
148
149
|
updateActiveItemIndex(activeItemIndex) {
|
|
149
150
|
if (this.activeItemIndex === activeItemIndex) {
|
|
@@ -154,8 +155,8 @@ export class TuiTabsWithMoreComponent {
|
|
|
154
155
|
this.maxIndex = this.getMaxIndex();
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
TuiTabsWithMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: TUI_TAB_MARGIN }, { token:
|
|
158
|
-
TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers:
|
|
158
|
+
TuiTabsWithMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: TUI_TAB_MARGIN }, { token: TUI_TABS_REFRESH }, { token: ElementRef }, { token: ChangeDetectorRef }, { token: TUI_MORE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
+
TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: i1.TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: ["underline", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i3.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i4.TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
159
160
|
__decorate([
|
|
160
161
|
tuiDefaultProp()
|
|
161
162
|
], TuiTabsWithMoreComponent.prototype, "moreContent", void 0);
|
|
@@ -178,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
178
179
|
templateUrl: `./tabs-with-more.template.html`,
|
|
179
180
|
styleUrls: [`./tabs-with-more.style.less`],
|
|
180
181
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
181
|
-
providers:
|
|
182
|
+
providers: TUI_TABS_PROVIDERS,
|
|
182
183
|
}]
|
|
183
184
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
184
185
|
type: Inject,
|
|
@@ -188,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
188
189
|
args: [TUI_TAB_MARGIN]
|
|
189
190
|
}] }, { type: i8.Observable, decorators: [{
|
|
190
191
|
type: Inject,
|
|
191
|
-
args: [
|
|
192
|
+
args: [TUI_TABS_REFRESH]
|
|
192
193
|
}] }, { type: i0.ElementRef, decorators: [{
|
|
193
194
|
type: Inject,
|
|
194
195
|
args: [ElementRef]
|
|
@@ -220,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
220
221
|
type: ContentChildren,
|
|
221
222
|
args: [TuiItemDirective, { read: TemplateRef }]
|
|
222
223
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixLQUFLLEVBRUwsa0JBQWtCLEVBQ2xCLFFBQVEsRUFFUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUduRSxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQUV4RSxXQUFXO0FBUVgsTUFBTSxPQUFPLHdCQUF3QjtJQXFDakMsWUFDK0MsT0FBdUIsRUFDekIsTUFBYyxF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LFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0vQixlQUFlO3NCQUZkLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxLQUFLO2dCQUtHLHFCQUFxQjtzQkFEN0IsTUFBTTtnQkFJRSxLQUFLO3NCQURiLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICB0b0ludCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzc2VydElzRWxlbWVudCxcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aUl0ZW1EaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfTU9SRV9XT1JELCBUVUlfVEFCX01BUkdJTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlUYWJDb21wb25lbnR9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1RBQlNfT1BUSU9OUywgVHVpVGFic09wdGlvbnN9IGZyb20gJy4uL3RhYnMtb3B0aW9ucyc7XG5pbXBvcnQge1RBQlNfUFJPVklERVJTLCBUQUJTX1JFRlJFU0h9IGZyb20gJy4vdGFicy13aXRoLW1vcmUucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXRhYnMtd2l0aC1tb3JlLCBuYXZbdHVpVGFic1dpdGhNb3JlXWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3RhYnMtd2l0aC1tb3JlLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRBQlNfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzV2l0aE1vcmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVRhYkNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9yZUJ1dHRvbj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBtYXhJbmRleCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vcmVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJvcGRvd25Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl91bmRlcmxpbmVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdGhpcy5vcHRpb25zLnVuZGVybGluZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zTGltaXQgPSB0aGlzLm9wdGlvbnMuaXRlbXNMaW1pdDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlJdGVtRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfVEFCX01BUkdJTikgcHJpdmF0ZSByZWFkb25seSBtYXJnaW46IG51bWJlcixcbiAgICAgICAgQEluamVjdChUQUJTX1JFRlJFU0gpIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PUkVfV09SRCkgcmVhZG9ubHkgbW9yZVdvcmQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgLy8gVE9ETzogSW1wcm92ZSBwZXJmb3JtYW5jZVxuICAgIGdldCB0YWJzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbTxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGBbdHVpVGFiXWApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHNhZmVBY3RpdmVJbmRleCA9IHR1aUNsYW1wKHRoaXMuYWN0aXZlSXRlbUluZGV4IHx8IDAsIDAsIHRhYnMubGVuZ3RoIC0gMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgfHwgdGhpcy5sYXN0VmlzaWJsZUluZGV4ID49IHNhZmVBY3RpdmVJbmRleFxuICAgICAgICAgICAgPyB0YWJzW3NhZmVBY3RpdmVJbmRleF0gfHwgbnVsbFxuICAgICAgICAgICAgOiB0aGlzLm1vcmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5vcGVuIHx8XG4gICAgICAgICAgICAoIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5hY3RpdmVJdGVtSW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdHVpQXNzZXJ0SXNFbGVtZW50KGV2ZW50LnRhcmdldCk7XG5cbiAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGxldCBpbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcblxuICAgICAgICB3aGlsZSAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YWJzW2luZGV4XSk7XG5cbiAgICAgICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XcmFwcGVyQXJyb3coZXZlbnQ6IEV2ZW50LCB3cmFwcGVyOiBIVE1MRWxlbWVudCwgcHJldjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b246IEhUTUxCdXR0b25FbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKGJ1dHRvbiwgcHJldiwgd3JhcHBlcik7XG5cbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNPdmVyZmxvd24oaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggIT09IHRoaXMuYWN0aXZlSXRlbUluZGV4IHx8ICF0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlO1xuICAgIH1cblxuICAgIHNob3VsZFNob3coaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggJiYgdGhpcy5pc092ZXJmbG93bihpbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c01vcmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhJbmRleCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7dGFicywgYWN0aXZlSXRlbUluZGV4LCBtYXJnaW59ID0gdGhpcztcblxuICAgICAgICBpZiAodGFicy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtjbGllbnRXaWR0aH0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgYWN0aXZlV2lkdGggPSB0YWJzW2FjdGl2ZUl0ZW1JbmRleF0gPyB0YWJzW2FjdGl2ZUl0ZW1JbmRleF0uc2Nyb2xsV2lkdGggOiAwO1xuICAgICAgICBjb25zdCBtb3JlV2lkdGggPSB0YWJzW3RhYnMubGVuZ3RoIC0gMV0uc2Nyb2xsV2lkdGg7XG4gICAgICAgIGxldCBtYXhJbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcbiAgICAgICAgbGV0IHRvdGFsID1cbiAgICAgICAgICAgIHRhYnMucmVkdWNlKChhY2MsIHtzY3JvbGxXaWR0aH0pID0+IGFjYyArIHNjcm9sbFdpZHRoLCAwKSArXG4gICAgICAgICAgICBtYXhJbmRleCAqIG1hcmdpbiAtXG4gICAgICAgICAgICBtb3JlV2lkdGg7XG5cbiAgICAgICAgaWYgKHRvdGFsIDw9IGNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAobWF4SW5kZXgpIHtcbiAgICAgICAgICAgIHRvdGFsIC09IHRhYnNbbWF4SW5kZXhdLnNjcm9sbFdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgbWF4SW5kZXgtLTtcblxuICAgICAgICAgICAgY29uc3QgYWN0aXZlRGlzcGxhY2VkID1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlICYmIGFjdGl2ZUl0ZW1JbmRleCA+IG1heEluZGV4O1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlT2Zmc2V0ID0gYWN0aXZlRGlzcGxhY2VkID8gYWN0aXZlV2lkdGggKyBtYXJnaW4gOiAwO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFdpZHRoID0gdG90YWwgKyBhY3RpdmVPZmZzZXQgKyBtb3JlV2lkdGggKyBtYXJnaW47XG4gICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGRpZmZlcmVudCByb3VuZGluZyBvZiB2aXNpYmxlIGFuZCBoaWRkZW4gZWxlbWVudHMgc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgIGNvbnN0IHNhZmV0eU9mZnNldCA9IHRvSW50KHRoaXMubWF4SW5kZXggPT09IG1heEluZGV4IC0gMSk7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50V2lkdGggKyBzYWZldHlPZmZzZXQgPCBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXhJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGFjdGl2ZUl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGFjdGl2ZUl0ZW1JbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChhY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgICB0aGlzLm1heEluZGV4ID0gdGhpcy5nZXRNYXhJbmRleCgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcy5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICA8dHVpLXRhYnNcbiAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICBbdW5kZXJsaW5lXT1cImZhbHNlXCJcbiAgICAgICAgW2FjdGl2ZUl0ZW1JbmRleF09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAoYWN0aXZlSXRlbUluZGV4Q2hhbmdlKT1cIm9uQWN0aXZlSXRlbUluZGV4Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uQXJyb3dSaWdodCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA8PSBsYXN0VmlzaWJsZUluZGV4OyBlbHNlIGhpZGRlblwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hpZGRlbj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy50LW92ZXJmbG93bl09XCJpc092ZXJmbG93bihpbmRleClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS10YWJzPlxuICAgIDx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgICAgIGNsYXNzPVwidC1tb3JlX3dyYXBwZXJcIlxuICAgICAgICBbY2xhc3MudC1vdmVyZmxvd25dPVwiIWlzTW9yZVZpc2libGVcIlxuICAgICAgICBbY29udGVudF09XCJkcm9wZG93bkNvbnRlbnQgfHwgZHJvcGRvd25cIlxuICAgICAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICBbY2xhc3MuX2FjdGl2ZV09XCJpc01vcmVBY3RpdmVcIlxuICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJpc01vcmVGb2N1c2FibGVcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25BcnJvd0xlZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIm1vcmVDb250ZW50IHx8IG1vcmUgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtb3JlPlxuICAgICAgICAgICAge3sgbW9yZVdvcmQkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgc3JjPVwidHVpSWNvbkNoZXZyb25Eb3duXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9yb3RhdGVkXT1cIm9wZW5cIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgIGNsYXNzPVwidC1kcm9wZG93blwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCk9XCJvbldyYXBwZXJBcnJvdygkZXZlbnQsIGVsZW1lbnQsIGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICh0dWktdGFiLWFjdGl2YXRlKT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvdWxkU2hvdyhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8dHVpLXVuZGVybGluZVxuICAgICAgICAqbmdJZj1cInVuZGVybGluZVwiXG4gICAgICAgIFtlbGVtZW50XT1cImFjdGl2ZUVsZW1lbnRcIlxuICAgID48L3R1aS11bmRlcmxpbmU+XG48L2Rpdj5cbiJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUVYLFFBQVEsRUFFUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25FLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztBQVNoRixNQUFNLE9BQU8sd0JBQXdCO0lBcUNqQyxZQUMrQyxPQUF1QixFQUN6QixNQUFjLEVBQ1osUUFBNkIsRUFDbkMsVUFBbUMs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QUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFPOUMsV0FBVztzQkFGVixLQUFLO2dCQU1OLGVBQWU7c0JBRmQsS0FBSztnQkFTTixTQUFTO3NCQUhSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0vQixlQUFlO3NCQUZkLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxLQUFLO2dCQUtHLHFCQUFxQjtzQkFEN0IsTUFBTTtnQkFJRSxLQUFLO3NCQURiLGVBQWU7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIHR1aVRvSW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX01PUkVfV09SRCwgVFVJX1RBQl9NQVJHSU59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpVGFiQ29tcG9uZW50fSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RVSV9UQUJTX09QVElPTlMsIFR1aVRhYnNPcHRpb25zfSBmcm9tICcuLi90YWJzLW9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfVEFCU19QUk9WSURFUlMsIFRVSV9UQUJTX1JFRlJFU0h9IGZyb20gJy4vdGFicy13aXRoLW1vcmUucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktdGFicy13aXRoLW1vcmUsIG5hdlt0dWlUYWJzV2l0aE1vcmVdYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vdGFicy13aXRoLW1vcmUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vdGFicy13aXRoLW1vcmUuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX1RBQlNfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzV2l0aE1vcmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVRhYkNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9yZUJ1dHRvbj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBtYXhJbmRleCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vcmVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJvcGRvd25Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl91bmRlcmxpbmVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdGhpcy5vcHRpb25zLnVuZGVybGluZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zTGltaXQgPSB0aGlzLm9wdGlvbnMuaXRlbXNMaW1pdDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlJdGVtRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1RBQlNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWJzT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfVEFCX01BUkdJTikgcHJpdmF0ZSByZWFkb25seSBtYXJnaW46IG51bWJlcixcbiAgICAgICAgQEluamVjdChUVUlfVEFCU19SRUZSRVNIKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9NT1JFX1dPUkQpIHJlYWRvbmx5IG1vcmVXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cblxuICAgIC8vIFRPRE86IEltcHJvdmUgcGVyZm9ybWFuY2VcbiAgICBnZXQgdGFicygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb208SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3R1aVRhYl1gKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBjb25zdCBzYWZlQWN0aXZlSW5kZXggPSB0dWlDbGFtcCh0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAwLCAwLCB0YWJzLmxlbmd0aCAtIDIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlIHx8IHRoaXMubGFzdFZpc2libGVJbmRleCA+PSBzYWZlQWN0aXZlSW5kZXhcbiAgICAgICAgICAgID8gdGFic1tzYWZlQWN0aXZlSW5kZXhdIHx8IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5tb3JlQnV0dG9uPy5uYXRpdmVFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUFsb25lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgMCAmJiAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5vcGVuIHx8XG4gICAgICAgICAgICAoIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmUgJiYgdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5hY3RpdmVJdGVtSW5kZXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudChldmVudC50YXJnZXQpICYmIHR1aUlzTmF0aXZlRm9jdXNlZChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGxldCBpbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcblxuICAgICAgICB3aGlsZSAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGFic1tpbmRleF0uZm9jdXMoKTtcblxuICAgICAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZCh0YWJzW2luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbldyYXBwZXJBcnJvdyhldmVudDogRXZlbnQsIHdyYXBwZXI6IEhUTUxFbGVtZW50LCBwcmV2aW91czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b246IEhUTUxCdXR0b25FbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBidXR0b24sIHJvb3Q6IHdyYXBwZXIsIHByZXZpb3VzfSk7XG5cbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc092ZXJmbG93bihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmU7XG4gICAgfVxuXG4gICAgc2hvdWxkU2hvdyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA+IHRoaXMubGFzdFZpc2libGVJbmRleCAmJiB0aGlzLmlzT3ZlcmZsb3duKGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9yZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgbW9yZVdpZHRoO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKG1heEluZGV4KSB7XG4gICAgICAgICAgICB0b3RhbCAtPSB0YWJzW21heEluZGV4XS5zY3JvbGxXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSAmJiBhY3RpdmVJdGVtSW5kZXggPiBtYXhJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU9mZnNldCA9IGFjdGl2ZURpc3BsYWNlZCA/IGFjdGl2ZVdpZHRoICsgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHRvdGFsICsgYWN0aXZlT2Zmc2V0ICsgbW9yZVdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0dWlUb0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSBhY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gYWN0aXZlSXRlbUluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgICAgIHRoaXMubWF4SW5kZXggPSB0aGlzLmdldE1heEluZGV4KCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zLmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgIDx0dWktdGFic1xuICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgIFt1bmRlcmxpbmVdPVwiZmFsc2VcIlxuICAgICAgICBbYWN0aXZlSXRlbUluZGV4XT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgIChhY3RpdmVJdGVtSW5kZXhDaGFuZ2UpPVwib25BY3RpdmVJdGVtSW5kZXhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwib25BcnJvd1JpZ2h0KCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4IDw9IGxhc3RWaXNpYmxlSW5kZXg7IGVsc2UgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGlkZGVuPlxuICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzLnQtb3ZlcmZsb3duXT1cImlzT3ZlcmZsb3duKGluZGV4KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnM+XG4gICAgPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJ0LW1vcmVfd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy50LW92ZXJmbG93bl09XCIhaXNNb3JlVmlzaWJsZVwiXG4gICAgICAgIFtjb250ZW50XT1cImRyb3Bkb3duQ29udGVudCB8fCBkcm9wZG93blwiXG4gICAgICAgIFsob3BlbildPVwib3BlblwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgIFtjbGFzcy5fYWN0aXZlXT1cImlzTW9yZUFjdGl2ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1uby1tYXJnaW5dPVwiaXNNb3JlQWxvbmVcIlxuICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJpc01vcmVGb2N1c2FibGVcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25BcnJvd0xlZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIm1vcmVDb250ZW50IHx8IG1vcmUgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtb3JlPlxuICAgICAgICAgICAge3sgbW9yZVdvcmQkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgc3JjPVwidHVpSWNvbkNoZXZyb25Eb3duXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9yb3RhdGVkXT1cIm9wZW5cIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgIGNsYXNzPVwidC1kcm9wZG93blwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCk9XCJvbldyYXBwZXJBcnJvdygkZXZlbnQsIGVsZW1lbnQsIGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICh0dWktdGFiLWFjdGl2YXRlKT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvdWxkU2hvdyhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8dHVpLXVuZGVybGluZVxuICAgICAgICAqbmdJZj1cInVuZGVybGluZVwiXG4gICAgICAgIFtlbGVtZW50XT1cImFjdGl2ZUVsZW1lbnRcIlxuICAgID48L3R1aS11bmRlcmxpbmU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,14 +4,8 @@ import { MUTATION_OBSERVER_INIT, MutationObserverService, } from '@ng-web-apis/m
|
|
|
4
4
|
import { TuiDestroyService, TuiResizeService } from '@taiga-ui/cdk';
|
|
5
5
|
import { merge } from 'rxjs';
|
|
6
6
|
import { debounceTime, filter, startWith, takeUntil, tap } from 'rxjs/operators';
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
return merge(resize$, mutations$.pipe(tap(() => changeDetectorRef.detectChanges()))).pipe(
|
|
10
|
-
// Ignoring cases when host is detached from DOM
|
|
11
|
-
filter(() => body.contains(nativeElement)), debounceTime(0), startWith(null), takeUntil(destroy$));
|
|
12
|
-
}
|
|
13
|
-
export const TABS_REFRESH = new InjectionToken(`Refresh stream`);
|
|
14
|
-
export const TABS_PROVIDERS = [
|
|
7
|
+
export const TUI_TABS_REFRESH = new InjectionToken(`Refresh stream`);
|
|
8
|
+
export const TUI_TABS_PROVIDERS = [
|
|
15
9
|
TuiResizeService,
|
|
16
10
|
TuiDestroyService,
|
|
17
11
|
MutationObserverService,
|
|
@@ -24,7 +18,7 @@ export const TABS_PROVIDERS = [
|
|
|
24
18
|
},
|
|
25
19
|
},
|
|
26
20
|
{
|
|
27
|
-
provide:
|
|
21
|
+
provide: TUI_TABS_REFRESH,
|
|
28
22
|
deps: [
|
|
29
23
|
TuiResizeService,
|
|
30
24
|
MutationObserverService,
|
|
@@ -33,7 +27,11 @@ export const TABS_PROVIDERS = [
|
|
|
33
27
|
ElementRef,
|
|
34
28
|
ChangeDetectorRef,
|
|
35
29
|
],
|
|
36
|
-
useFactory:
|
|
30
|
+
useFactory: (resize$, mutations$, destroy$, { body }, { nativeElement }, changeDetectorRef) => {
|
|
31
|
+
return merge(resize$, mutations$.pipe(tap(() => changeDetectorRef.detectChanges()))).pipe(
|
|
32
|
+
// Ignoring cases when host is detached from DOM
|
|
33
|
+
filter(() => body.contains(nativeElement)), debounceTime(0), startWith(null), takeUntil(destroy$));
|
|
34
|
+
},
|
|
37
35
|
},
|
|
38
36
|
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsZ0JBQWdCLENBQUMsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZTtJQUMxQyxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QjtRQUNJLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsUUFBUSxFQUFFO1lBQ04sU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWEsRUFBRSxJQUFJO1NBQ3RCO0tBQ0o7SUFDRDtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFO1lBQ0YsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsUUFBUTtZQUNSLFVBQVU7WUFDVixpQkFBaUI7U0FDcEI7UUFDRCxVQUFVLEVBQUUsQ0FDUixPQUE0QixFQUM1QixVQUErQixFQUMvQixRQUE2QixFQUM3QixFQUFDLElBQUksRUFBVyxFQUNoQixFQUFDLGFBQWEsRUFBbUIsRUFDakMsaUJBQW9DLEVBQ2pCLEVBQUU7WUFDckIsT0FBTyxLQUFLLENBQ1IsT0FBTyxFQUNQLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FDaEUsQ0FBQyxJQUFJO1lBQ0YsZ0RBQWdEO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQzFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO1FBQ04sQ0FBQztLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxufSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgVHVpUmVzaXplU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9UQUJTX1JFRlJFU0ggPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTx1bmtub3duPj4oYFJlZnJlc2ggc3RyZWFtYCk7XG5leHBvcnQgY29uc3QgVFVJX1RBQlNfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aVJlc2l6ZVNlcnZpY2UsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9UQUJTX1JFRlJFU0gsXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFR1aVJlc2l6ZVNlcnZpY2UsXG4gICAgICAgICAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICAgICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICAgICAgRE9DVU1FTlQsXG4gICAgICAgICAgICBFbGVtZW50UmVmLFxuICAgICAgICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIF0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICAgIHJlc2l6ZSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgICAgICBtdXRhdGlvbnMkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICAgICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgICAgICB7Ym9keX06IERvY3VtZW50LFxuICAgICAgICAgICAge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPE5vZGU+LFxuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICApOiBPYnNlcnZhYmxlPHVua25vd24+ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICByZXNpemUkLFxuICAgICAgICAgICAgICAgIG11dGF0aW9ucyQucGlwZSh0YXAoKCkgPT4gY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpKSksXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gSWdub3JpbmcgY2FzZXMgd2hlbiBob3N0IGlzIGRldGFjaGVkIGZyb20gRE9NXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IGJvZHkuY29udGFpbnMobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgfSxcbl07XG4iXX0=
|