@taiga-ui/kit 3.23.1 → 3.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/abstract-native-select.d.ts +2 -2
- package/bundles/taiga-ui-kit-abstract.umd.js +3 -3
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -4
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +12 -12
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-elastic-container.umd.js +337 -9
- package/bundles/taiga-ui-kit-components-elastic-container.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +8 -9
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +5 -5
- 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 +3 -3
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +4 -5
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +3 -4
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +11 -11
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +8 -9
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js +11 -10
- package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +3 -7
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +16 -16
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-routable-dialog.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-routable-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +24 -22
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +68 -50
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +23 -23
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tiles.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +5 -5
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js +9 -9
- package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +5 -5
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js +3 -3
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +2 -4
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +14 -7
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-services.umd.js +3 -3
- package/bundles/taiga-ui-kit-services.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +1 -0
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +4 -2
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/components/accordion/accordion-item/accordion-item-content.directive.d.ts +1 -1
- package/components/accordion/accordion-item/accordion-item.component.d.ts +2 -2
- package/components/action/action.component.d.ts +2 -2
- package/components/arrow/arrow.component.d.ts +1 -1
- package/components/calendar-range/calendar-range.component.d.ts +1 -1
- package/components/carousel/carousel-scroll.directive.d.ts +2 -2
- package/components/carousel/carousel.component.d.ts +3 -3
- package/components/carousel/carousel.directive.d.ts +2 -2
- package/components/checkbox/checkbox.component.d.ts +1 -1
- package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
- package/components/checkbox-labeled/checkbox-labeled.component.d.ts +1 -1
- package/components/combo-box/combo-box.component.d.ts +1 -1
- package/components/elastic-container/elastic-container.component.d.ts +2 -0
- package/components/elastic-container/elastic-container.directive.d.ts +2 -2
- package/components/files/file/file.component.d.ts +2 -3
- package/components/files/files.module.d.ts +1 -1
- package/components/filter/filter.component.d.ts +2 -2
- package/components/input/input.component.d.ts +1 -1
- package/components/input-copy/input-copy.component.d.ts +2 -2
- package/components/input-count/input-count.component.d.ts +1 -1
- package/components/input-date/input-date.component.d.ts +4 -4
- package/components/input-date-range/input-date-range.component.d.ts +4 -4
- package/components/input-date-time/input-date-time.component.d.ts +3 -3
- package/components/input-files/input-files.component.d.ts +1 -1
- package/components/input-files/input-files.directive.d.ts +2 -2
- package/components/input-inline/input-inline.component.d.ts +1 -1
- package/components/input-month/input-month.component.d.ts +1 -1
- package/components/input-month-range/input-month-range.component.d.ts +1 -1
- package/components/input-number/input-number.component.d.ts +1 -1
- package/components/input-password/input-password.component.d.ts +1 -1
- package/components/input-phone/input-phone.component.d.ts +1 -1
- package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
- package/components/input-range/input-range.component.d.ts +2 -2
- package/components/input-slider/input-slider.component.d.ts +1 -1
- package/components/input-tag/input-tag.component.d.ts +2 -2
- package/components/input-time/input-time.component.d.ts +1 -1
- package/components/input-year/input-year.component.d.ts +1 -1
- package/components/items-with-more/items-with-more.service.d.ts +2 -2
- package/components/line-clamp/line-clamp.component.d.ts +2 -2
- package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +1 -1
- package/components/multi-select/multi-select.component.d.ts +1 -1
- package/components/pagination/pagination.component.d.ts +3 -3
- package/components/pdf-viewer/pdf-viewer.service.d.ts +1 -1
- package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -2
- package/components/progress/progress-circle/progress-circle.component.d.ts +3 -3
- package/components/prompt/prompt.component.d.ts +1 -1
- package/components/prompt/prompt.module.d.ts +2 -1
- package/components/push/push-alert.directive.d.ts +1 -1
- package/components/push/push.service.d.ts +3 -5
- package/components/radio/radio.component.d.ts +1 -1
- package/components/radio-block/radio-block.component.d.ts +1 -1
- package/components/radio-labeled/radio-labeled.component.d.ts +1 -1
- package/components/radio-list/radio-list.component.d.ts +2 -2
- package/components/range/range-change.directive.d.ts +4 -4
- package/components/range/range.component.d.ts +2 -2
- package/components/rating/rating.component.d.ts +1 -1
- package/components/routable-dialog/routable-dialog.component.d.ts +1 -1
- package/components/select/select.component.d.ts +1 -1
- package/components/select-option/select-option.component.d.ts +3 -3
- package/components/slider/helpers/slider-key-steps.directive.d.ts +2 -2
- package/components/slider/helpers/slider-readonly.directive.d.ts +1 -1
- package/components/slider/slider.component.d.ts +2 -2
- package/components/stepper/step/step.component.d.ts +2 -2
- package/components/stepper/stepper.component.d.ts +7 -3
- package/components/tabs/tab/tab.component.d.ts +2 -2
- package/components/tabs/tabs/tabs.component.d.ts +2 -2
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -3
- package/components/tabs/tabs.directive.d.ts +2 -2
- package/components/tabs/underline/underline.component.d.ts +1 -1
- package/components/tag/tag.component.d.ts +2 -2
- package/components/text-area/text-area.component.d.ts +1 -1
- package/components/tiles/tile.component.d.ts +2 -2
- package/components/tiles/tiles.component.d.ts +3 -3
- package/components/toggle/toggle.component.d.ts +1 -1
- package/components/tree/components/tree-item/tree-item.component.d.ts +2 -2
- package/components/tree/misc/tree.constants.d.ts +1 -1
- package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +2 -2
- package/directives/highlight/highlight.directive.d.ts +3 -3
- package/directives/lazy-loading/lazy-loading.directive.d.ts +2 -2
- package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
- package/directives/project-class/project-class.directive.d.ts +2 -2
- package/esm2015/abstract/abstract-native-select.js +4 -4
- package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +3 -3
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +4 -4
- package/esm2015/components/action/action.component.js +4 -4
- package/esm2015/components/calendar-range/calendar-range.component.js +3 -5
- package/esm2015/components/carousel/carousel-scroll.directive.js +5 -5
- package/esm2015/components/carousel/carousel.component.js +6 -6
- package/esm2015/components/carousel/carousel.directive.js +4 -4
- package/esm2015/components/checkbox/checkbox.component.js +3 -3
- package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
- package/esm2015/components/combo-box/combo-box.component.js +3 -3
- package/esm2015/components/elastic-container/elastic-container.component.js +15 -3
- package/esm2015/components/elastic-container/elastic-container.directive.js +4 -4
- package/esm2015/components/files/file/file.component.js +6 -10
- package/esm2015/components/files/files.module.js +6 -3
- package/esm2015/components/filter/filter.component.js +5 -5
- package/esm2015/components/input/input.component.js +3 -3
- package/esm2015/components/input-copy/input-copy.component.js +5 -5
- package/esm2015/components/input-count/input-count.component.js +3 -3
- package/esm2015/components/input-date/input-date.component.js +6 -6
- package/esm2015/components/input-date-range/input-date-range.component.js +6 -6
- package/esm2015/components/input-date-time/input-date-time.component.js +4 -4
- package/esm2015/components/input-files/input-files.component.js +3 -3
- package/esm2015/components/input-files/input-files.directive.js +8 -8
- package/esm2015/components/input-inline/input-inline.component.js +3 -3
- package/esm2015/components/input-month/input-month.component.js +3 -3
- package/esm2015/components/input-month-range/input-month-range.component.js +3 -3
- package/esm2015/components/input-number/input-number.component.js +4 -4
- package/esm2015/components/input-password/input-password.component.js +3 -3
- package/esm2015/components/input-phone/input-phone.component.js +3 -3
- package/esm2015/components/input-phone-international/input-phone-international.component.js +4 -4
- package/esm2015/components/input-range/input-range.component.js +5 -5
- package/esm2015/components/input-slider/input-slider.component.js +3 -3
- package/esm2015/components/input-tag/input-tag.component.js +5 -6
- package/esm2015/components/input-time/input-time.component.js +3 -3
- package/esm2015/components/input-year/input-year.component.js +3 -3
- package/esm2015/components/items-with-more/items-with-more.service.js +4 -4
- package/esm2015/components/line-clamp/line-clamp.component.js +6 -6
- package/esm2015/components/multi-select/multi-select.component.js +3 -3
- package/esm2015/components/multi-select/native-multi-select/native-multi-select.js +2 -3
- package/esm2015/components/pagination/pagination.component.js +12 -12
- package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +4 -4
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +6 -7
- package/esm2015/components/prompt/prompt.component.js +5 -4
- package/esm2015/components/prompt/prompt.module.js +5 -4
- package/esm2015/components/push/push-alert.component.js +2 -2
- package/esm2015/components/push/push-alert.directive.js +3 -3
- package/esm2015/components/push/push.service.js +1 -4
- package/esm2015/components/radio/radio.component.js +3 -3
- package/esm2015/components/radio-block/radio-block.component.js +3 -3
- package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
- package/esm2015/components/radio-list/radio-list.component.js +5 -5
- package/esm2015/components/range/range-change.directive.js +11 -11
- package/esm2015/components/range/range.component.js +6 -6
- package/esm2015/components/rating/rating.component.js +3 -3
- package/esm2015/components/routable-dialog/routable-dialog.component.js +3 -3
- package/esm2015/components/select/select.component.js +3 -3
- package/esm2015/components/select-option/select-option.component.js +4 -4
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +7 -6
- package/esm2015/components/slider/helpers/slider-readonly.directive.js +5 -5
- package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +5 -4
- package/esm2015/components/slider/slider.component.js +11 -11
- package/esm2015/components/stepper/step/step.component.js +4 -4
- package/esm2015/components/stepper/stepper.component.js +40 -20
- package/esm2015/components/tabs/tab/tab.component.js +5 -5
- package/esm2015/components/tabs/tabs/tabs.component.js +5 -5
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +7 -7
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +3 -3
- package/esm2015/components/tabs/tabs.directive.js +4 -4
- package/esm2015/components/tabs/underline/underline.component.js +5 -5
- package/esm2015/components/tag/tag.component.js +4 -4
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/tiles/tile.component.js +4 -4
- package/esm2015/components/tiles/tiles.component.js +7 -7
- package/esm2015/components/toggle/toggle.component.js +3 -3
- package/esm2015/components/tree/components/tree-item/tree-item.component.js +4 -4
- package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +6 -6
- package/esm2015/directives/highlight/highlight.directive.js +10 -10
- package/esm2015/directives/lazy-loading/lazy-loading.directive.js +4 -4
- package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
- package/esm2015/directives/project-class/project-class.directive.js +4 -4
- package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -5
- package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +4 -1
- package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +9 -4
- package/esm2015/services/dialog-form.service.js +4 -4
- package/esm2015/tokens/date-inputs-value-transformers.js +2 -1
- package/esm2015/utils/mask/create-date-mask.js +3 -2
- package/esm2015/utils/mask/create-date-range-mask.js +3 -2
- package/fesm2015/taiga-ui-kit-abstract.js +3 -3
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js +5 -5
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +3 -3
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +2 -4
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +12 -12
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -2
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-elastic-container.js +17 -5
- package/fesm2015/taiga-ui-kit-components-elastic-container.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +9 -10
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js +4 -4
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js +4 -4
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +9 -9
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +4 -4
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +4 -5
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-items-with-more.js +3 -3
- package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +5 -5
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +3 -4
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +11 -11
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +8 -9
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js +8 -7
- package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js +3 -6
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js +4 -4
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +15 -15
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +2 -2
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-routable-dialog.js +2 -2
- package/fesm2015/taiga-ui-kit-components-routable-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +3 -3
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +2 -2
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +24 -22
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +44 -27
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +23 -23
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +3 -3
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tiles.js +9 -9
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +3 -3
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +5 -5
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-highlight.js +9 -9
- package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +5 -5
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-project-class.js +3 -3
- package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +2 -4
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +11 -3
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-services.js +3 -3
- package/fesm2015/taiga-ui-kit-services.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +1 -0
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +4 -2
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +1 -1
- package/package.json +4 -4
- package/pipes/filter-by-input/filter-by-input-with.pipe.d.ts +3 -0
- package/pipes/filter-by-input/filter-by-input.pipe.d.ts +3 -1
- package/services/dialog-form.service.d.ts +2 -2
|
@@ -28,10 +28,10 @@ const LINE_HEIGHT_REM = {
|
|
|
28
28
|
};
|
|
29
29
|
const TAG_VERTICAL_SPACE_REM = 0.125;
|
|
30
30
|
export class TuiInputTagComponent extends AbstractTuiMultipleControl {
|
|
31
|
-
constructor(control,
|
|
32
|
-
super(control,
|
|
31
|
+
constructor(control, cdr, tuiScrollService, el, modeDirective, mode$, hintOptions, controller, options, parentHostedDropdown) {
|
|
32
|
+
super(control, cdr);
|
|
33
33
|
this.tuiScrollService = tuiScrollService;
|
|
34
|
-
this.
|
|
34
|
+
this.el = el;
|
|
35
35
|
this.modeDirective = modeDirective;
|
|
36
36
|
this.mode$ = mode$;
|
|
37
37
|
this.hintOptions = hintOptions;
|
|
@@ -74,8 +74,7 @@ export class TuiInputTagComponent extends AbstractTuiMultipleControl {
|
|
|
74
74
|
}
|
|
75
75
|
get focused() {
|
|
76
76
|
var _a;
|
|
77
|
-
return (tuiIsNativeFocusedIn(this.
|
|
78
|
-
!!((_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.focused));
|
|
77
|
+
return (tuiIsNativeFocusedIn(this.el.nativeElement) || !!((_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.focused));
|
|
79
78
|
}
|
|
80
79
|
get appearance() {
|
|
81
80
|
return this.controller.appearance;
|
|
@@ -489,4 +488,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
489
488
|
type: HostBinding,
|
|
490
489
|
args: ['class._label-outside']
|
|
491
490
|
}] } });
|
|
492
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFFTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixXQUFXLEVBRVgsY0FBYyxFQUNkLFlBQVksRUFDWiwwQkFBMEIsRUFHMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsYUFBYSxFQUNiLDZCQUE2QixFQUM3QixRQUFRLEVBQ1IsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUVqQixvQkFBb0IsRUFFcEIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUJBQXFCLEdBSXhCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHM0UsT0FBTyxF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VU4sVUFBVTtzQkFIVCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFLaEMsSUFBSTtzQkFESCxLQUFLO2dCQUtOLFdBQVc7c0JBRlYsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sU0FBUztzQkFGUixLQUFLO2dCQU1OLFdBQVc7c0JBRlYsS0FBSztnQkFNTixTQUFTO3NCQUZSLEtBQUs7Z0JBTU4sbUJBQW1CO3NCQUZsQixLQUFLO2dCQU1GLG1CQUFtQjtzQkFEdEIsS0FBSzt1QkFBQyxlQUFlO2dCQVViLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBSTlDLGlCQUFpQjtzQkFEekIsU0FBUzt1QkFBQyxXQUFXO2dCQUlsQixjQUFjO3NCQURqQixTQUFTO3VCQUFDLHFCQUFxQjtnQkFzRDVCLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIEFMV0FZU19UUlVFX0hBTkRMRVIsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBcnJheVJlbW92ZSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpR2V0QWN0dWFsVGFyZ2V0LFxuICAgIHR1aUdldENsaXBib2FyZERhdGFUZXh0LFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICB0dWlQcmV2ZW50RGVmYXVsdCxcbiAgICBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1R1aVN0YXR1c30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX1RBR19PUFRJT05TLCBUdWlJbnB1dFRhZ09wdGlvbnN9IGZyb20gJy4vaW5wdXQtdGFnLW9wdGlvbnMnO1xuXG5jb25zdCBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0lFTlQgPSAzO1xuY29uc3QgVEFHX1NJWkVfUkVNID0ge1xuICAgIHM6IDEuMjUsXG4gICAgbTogMS41LFxuICAgIGw6IDIsXG59O1xuY29uc3QgTElORV9IRUlHSFRfUkVNID0ge1xuICAgIHM6IDEsXG4gICAgbTogMS4yNSxcbiAgICBsOiAxLjI1LFxufTtcbmNvbnN0IFRBR19WRVJUSUNBTF9TUEFDRV9SRU0gPSAwLjEyNTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhZy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRUYWdDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sPHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PHN0cmluZz5cbntcbiAgICBAVmlld0NoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZvY3VzYWJsZUVsZW1lbnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNhYmxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCd0YWdzQ29udGFpbmVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ3NDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhZycsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NsZWFuZXInLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGVhbmVyU3ZnPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aVNjcm9sbGJhckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsQmFyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRvU3RhcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRvRW5kJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBSZWdFeHAgfCBzdHJpbmcgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6XG4gICAgICAgIHwgVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPlxuICAgICAgICB8IFR1aUJvb2xlYW5IYW5kbGVyPFR1aVN0cmluZ2lmaWFibGVJdGVtPHVua25vd24+IHwgc3RyaW5nPiA9IEFMV0FZU19UUlVFX0hBTkRMRVI7XG5cbiAgICAvLyBUT0RPOiA0LjAgQ29uc2lkZXIgcmVtb3ZpbmcgYW5kIHVzZSByb3dzID0gMSBpbnN0ZWFkXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICByb3dzID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5wdXRIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB1bmlxdWVUYWdzID0gdGhpcy5vcHRpb25zLnVuaXF1ZVRhZ3M7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4TGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJlbW92YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpU3RyaW5naWZpYWJsZUl0ZW08YW55PiB8IHN0cmluZz4gPVxuICAgICAgICBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgncHNldWRvRm9jdXNlZCcpXG4gICAgc2V0IHBzZXVkb0ZvY3VzZWRTZXR0ZXIodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUgJiYgIXRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb1N0YXJ0JC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBzZXVkb0ZvY3VzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyKTtcbiAgICB9XG5cbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPFR1aVN0YXR1cz4gPSB0aGlzLm1vZGUkLnBpcGUobWFwKCgpID0+IHRoaXMuc3RhdHVzKSk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVNjcm9sbFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgdHVpU2Nyb2xsU2VydmljZTogVHVpU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBoaW50T3B0aW9uczogVHVpSGludE9wdGlvbnNEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9UQUdfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dFRhZ09wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50SG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICEhdGhpcy5ob3N0ZWREcm9wZG93bj8uZm9jdXNlZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBhcHBlYXJhbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtzaXplLCBsYWJlbE91dHNpZGV9ID0gdGhpcy5jb250cm9sbGVyO1xuXG4gICAgICAgIHJldHVybiBzaXplID09PSAncycgfHwgbGFiZWxPdXRzaWRlO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGljb25DbGVhbmVyKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXI7XG4gICAgfVxuXG4gICAgZ2V0IGljb25MZWZ0KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb25MZWZ0O1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiYgdGhpcy5oYXNWYWx1ZSAmJiB0aGlzLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBoYXNOYXRpdmVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlLmxlbmd0aCB8fCB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmxhYmVsT3V0c2lkZSB8fFxuICAgICAgICAgICAgKCF0aGlzLmhhc1ZhbHVlICYmICghdGhpcy5oYXNFeGFtcGxlVGV4dCB8fCB0aGlzLmlucHV0SGlkZGVuKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgJiZcbiAgICAgICAgICAgICgodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8IHRoaXMuaGFzVmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0V4YW1wbGVUZXh0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIgfHxcbiAgICAgICAgICAgICEhdGhpcy5pY29uIHx8XG4gICAgICAgICAgICAoISF0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXMge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlRGlyZWN0aXZlPy5tb2RlID8gJ2RlZmF1bHQnIDogdGhpcy5vcHRpb25zLnRhZ1N0YXR1cztcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgISF0aGlzLmRhdGFsaXN0O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlTWF4SGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRhYmxlID8gdGhpcy5yb3dzICogdGhpcy5saW5lSGVpZ2h0IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRMZWZ0Q29udGVudCh0YWc6IHN0cmluZyk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gIXRoaXMudGFnVmFsaWRhdG9yKHRhZykgJiYgdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmVycm9ySWNvblRlbXBsYXRlXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cblxuICAgIG9uQ2xlYW5lckNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMucGFyZW50SG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4odHJ1ZSk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKCFhY3RpdmUgJiYgIXRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvU3RhcnQkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldCA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgYWN0dWFsVGFyZ2V0ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudChldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICB0aGlzLmNsZWFuZXJTdmc/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgKHRoaXMudGFnc0NvbnRhaW5lciAmJlxuICAgICAgICAgICAgICAgIGFjdHVhbFRhcmdldCAhPT0gdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ3NDb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhhY3R1YWxUYXJnZXQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duQmFja3NwYWNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlICYmICF0aGlzLmhhc05hdGl2ZVZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsT3V0c2lkZSB8fCB0aGlzLmhhc05hdGl2ZVZhbHVlIHx8ICF0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd0xlZnQoY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMub25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleCwgLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdLZXlEb3duQXJyb3dSaWdodChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFnRWRpdGVkKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpbHRlclZhbHVlKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVxuICAgICAgICAgICAgICAgIC5tYXAoKHRhZywgdGFnSW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgIHRhZ0luZGV4ICE9PSBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0YWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAodGFnID0+IHRhZy50cmltKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPihcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgaXRlbTogc3RyaW5nW10gfCBzdHJpbmcpID0+IHJlc3VsdC5jb25jYXQoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5maWx0ZXJWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiB0aGlzLmNsaXBwZWRWYWx1ZShpdGVtLnRyaW0oKSkpXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCwge2xlbmd0aH0pID0+IGl0ZW0ubGVuZ3RoID4gMCAmJiBpbmRleCAhPT0gbGVuZ3RoIC0gMSk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZCA9IHRhZ3MuZmlsdGVyKHRhZyA9PiAhdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRhZykpO1xuXG4gICAgICAgIGlmIChhcnJheS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCh0aGlzLmNsaXBwZWRWYWx1ZShhcnJheVthcnJheS5sZW5ndGggLSAxXS50cmltKCkpKTtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpbHRlclZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHRoaXMuY2xpcHBlZFZhbHVlKHZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIG9uUGFzdGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhc3RlZCA9IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50IGFzIENsaXBib2FyZEV2ZW50KTtcblxuICAgICAgICB0aGlzLm9uSW5wdXQocGFzdGVkIHx8ICcnKTtcbiAgICB9XG5cbiAgICBvbkRyb3Aoe2RhdGFUcmFuc2Zlcn06IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uSW5wdXQoZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQnKSB8fCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRyYWNrQnlGbihfOiBudW1iZXIsIHRhZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gQWN0dWFsbHkgdGFnIGhhcyBUdWlTdHJpbmdpZmlhYmxlSXRlbSB0eXBlIG5vdCBzdHJpbmdcbiAgICAgICAgcmV0dXJuIHRhZy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyVmFsdWUodmFsdWU6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICBpdGVtID0+ICF0aGlzLnVuaXF1ZVRhZ3MgfHwgKGl0ZW0gJiYgIXNlZW4uaGFzKGl0ZW0pICYmIHNlZW4uYWRkKGl0ZW0pKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbEtleURvd24oY3VycmVudEluZGV4OiBudW1iZXIsIGZsYWc6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLnRhZ3MuZmluZCgoX2l0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gY3VycmVudEluZGV4ICsgZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0YWcgfHwgIXRoaXMuc2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0YWcubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZsYWcgKiB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtXG4gICAgICAgICAgICAgICAgdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggPFxuICAgICAgICAgICAgMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghc2Nyb2xsZXI/LmJyb3dzZXJTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHNjcm9sbGVyLmJyb3dzZXJTY3JvbGxSZWY7XG5cbiAgICAgICAgY29uc3Qgd2hlZWwkID0gdHVpVHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ3doZWVsJywge3Bhc3NpdmU6IGZhbHNlfSkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC5kZWx0YVggPT09IDAgJiYgdGhpcy5zaG91bGRTY3JvbGwobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgIG1hcCgoe2RlbHRhWX0pID0+XG4gICAgICAgICAgICAgICAgTWF0aC5tYXgobmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgZGVsdGFZICogRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5ULCAwKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN0YXJ0JCA9IHRoaXMuc2Nyb2xsVG9TdGFydCQucGlwZShtYXAoKCkgPT4gMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdWxkU2Nyb2xsKHtzY3JvbGxXaWR0aCwgb2Zmc2V0V2lkdGh9OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc2Nyb2xsV2lkdGggPiBvZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRhZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuc2VhcmNoLnRyaW0oKTtcblxuICAgICAgICBpZiAoIWlucHV0VmFsdWUgfHwgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKGlucHV0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpbHRlclZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0dWlBcnJheVJlbW92ZSh0aGlzLnZhbHVlLCBpbmRleCk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsaXBwZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnNsaWNlKDAsIHRoaXMubWF4TGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGluZUhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbE91dHNpZGVcbiAgICAgICAgICAgID8gVEFHX1NJWkVfUkVNW3RoaXMuY29udHJvbGxlci5zaXplXSArIDIgKiBUQUdfVkVSVElDQUxfU1BBQ0VfUkVNXG4gICAgICAgICAgICA6IExJTkVfSEVJR0hUX1JFTVt0aGlzLmNvbnRyb2xsZXIuc2l6ZV07XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpbnRPcHRpb25zPy5jaGFuZ2UkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImljb25MZWZ0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvbnMgdC1pY29uc19sZWZ0IHQtdGV4dGZpZWxkLWljb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uTGVmdCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1hYnNvbHV0ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC10YWdfX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDx0dWktc2Nyb2xsYmFyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zY3JvbGxiYXJcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFleHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLm1heEhlaWdodC5yZW1dPVwiY29tcHV0ZU1heEhlaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFnc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC10YWdzX2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbE91dHNpZGU7IGVsc2UgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlOyBpbmRleCBhcyBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRhZ19fdGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiKHN0YXR1cyQgfCBhc3luYykhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRDb250ZW50XT1cImdldExlZnRDb250ZW50KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkIHx8IGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdGFibGUgJiYgIXJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvdmVyYWJsZV09XCIhcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFyZWFkT25seSAmJiByZW1vdmFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VwYXJhdG9yXT1cInNlcGFyYXRvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiY29udHJvbGxlci5zaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0ZWQpPVwib25UYWdFZGl0ZWQoJGV2ZW50LCBpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvblRhZ0tleURvd25BcnJvd0xlZnQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uVGFnS2V5RG93bkFycm93UmlnaHQoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90dWktdGFnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LXRleHRfY29tbWFdPVwiY29tcHV0ZWRGb2N1c2VkICYmICFpbnB1dEhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LXRleHRfZGlzYWJsZWRdPVwiZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LXRleHRfZXJyb3JdPVwiIXRhZ1ZhbGlkYXRvcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaW5wdXQtd3JhcHBlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaW5wdXQtd3JhcHBlcl9jb2xsYXBzZWRdPVwiY29tcHV0ZWREaXNhYmxlZCB8fCByZWFkT25seSB8fCBpbnB1dEhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtZ2hvc3RcIj57eyBzZWFyY2ggfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRhZ19fbmF0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LW5hdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LW5hdGl2ZV9oaWRkZW5dPVwiaW5wdXRIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgaW5wdXRIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhc3RlLnByZXZlbnQpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyb3AucHJldmVudCk9XCJvbkRyb3AoJGFueSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJvbkZpZWxkS2V5RG93bkFycm93TGVmdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYmFja3NwYWNlKT1cIm9uRmllbGRLZXlEb3duQmFja3NwYWNlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlci5wcmV2ZW50KT1cIm9uRmllbGRLZXlEb3duRW50ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3R1aS1zY3JvbGxiYXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNlbGVjdFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1JpZ2h0SWNvbnNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29ucyB0LWljb25zX3JpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ2xlYW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25DbGVhbmVyIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2NsZWFuZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtdGFnX19jbGVhbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jbGVhbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cIm9uQ2xlYW5lckNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhpbnRPcHRpb25zPy5jb250ZW50ICYmICFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC10YWdfX3Rvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cImhpbnRPcHRpb25zPy5jb250ZW50XCJcbiAgICAgICAgICAgICAgICA+PC90dWktdG9vbHRpcD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uIHQtdGV4dGZpZWxkLWljb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vycm9ySWNvbj5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgc3JjPVwidHVpSWNvbkFsZXJ0Q2lyY2xlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZXJyb3ItaWNvblwiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
|
|
491
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZy9pbnB1dC10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnL2lucHV0LXRhZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFFTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixXQUFXLEVBRVgsY0FBYyxFQUNkLFlBQVksRUFDWiwwQkFBMEIsRUFHMUIsY0FBYyxFQUVkLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsYUFBYSxFQUNiLDZCQUE2QixFQUM3QixRQUFRLEVBQ1IsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUVqQixvQkFBb0IsRUFFcEIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUJBQXFCLEdBSXhCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHM0UsT0FBTyxF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QUFVO3NCQUhULEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxJQUFJO3NCQURILEtBQUs7Z0JBS04sV0FBVztzQkFGVixLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFNTixTQUFTO3NCQUZSLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLFNBQVM7c0JBRlIsS0FBSztnQkFNTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBTUYsbUJBQW1CO3NCQUR0QixLQUFLO3VCQUFDLGVBQWU7Z0JBVWIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJRSxRQUFRO3NCQURoQixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFJOUMsaUJBQWlCO3NCQUR6QixTQUFTO3VCQUFDLFdBQVc7Z0JBSWxCLGNBQWM7c0JBRGpCLFNBQVM7dUJBQUMscUJBQXFCO2dCQXFENUIsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFycmF5UmVtb3ZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpR2V0Q2xpcGJvYXJkRGF0YVRleHQsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aVByZXZlbnREZWZhdWx0LFxuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9NT0RFLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgVHVpU2Nyb2xsYmFyQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU3RyaW5naWZpYWJsZUl0ZW19IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VHVpU3RhdHVzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfVEFHX09QVElPTlMsIFR1aUlucHV0VGFnT3B0aW9uc30gZnJvbSAnLi9pbnB1dC10YWctb3B0aW9ucyc7XG5cbmNvbnN0IEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCA9IDM7XG5jb25zdCBUQUdfU0laRV9SRU0gPSB7XG4gICAgczogMS4yNSxcbiAgICBtOiAxLjUsXG4gICAgbDogMixcbn07XG5jb25zdCBMSU5FX0hFSUdIVF9SRU0gPSB7XG4gICAgczogMSxcbiAgICBtOiAxLjI1LFxuICAgIGw6IDEuMjUsXG59O1xuY29uc3QgVEFHX1ZFUlRJQ0FMX1NQQUNFX1JFTSA9IDAuMTI1O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10YWcudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGFnLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dFRhZ0NvbXBvbmVudCksXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRhZ0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhZ3NDb250YWluZXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnc0NvbnRhaW5lcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbigndGFnJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQFZpZXdDaGlsZCgnY2xlYW5lcicsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsZWFuZXJTdmc/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2Nyb2xsYmFyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxCYXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9TdGFydCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9FbmQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXBhcmF0b3I6IFJlZ0V4cCB8IHN0cmluZyA9IHRoaXMub3B0aW9ucy5zZXBhcmF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRhZ1ZhbGlkYXRvcjpcbiAgICAgICAgfCBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+XG4gICAgICAgIHwgVHVpQm9vbGVhbkhhbmRsZXI8VHVpU3RyaW5naWZpYWJsZUl0ZW08dW5rbm93bj4gfCBzdHJpbmc+ID0gQUxXQVlTX1RSVUVfSEFORExFUjtcblxuICAgIC8vIFRPRE86IDQuMCBDb25zaWRlciByZW1vdmluZyBhbmQgdXNlIHJvd3MgPSAxIGluc3RlYWRcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHJvd3MgPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbnB1dEhpZGRlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuaXF1ZVRhZ3MgPSB0aGlzLm9wdGlvbnMudW5pcXVlVGFncztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlTdHJpbmdpZmlhYmxlSXRlbTxhbnk+IHwgc3RyaW5nPiA9XG4gICAgICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KCdwc2V1ZG9Gb2N1c2VkJylcbiAgICBzZXQgcHNldWRvRm9jdXNlZFNldHRlcih2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiAhdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvU3RhcnQkLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHNldWRvRm9jdXMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUZW1wbGF0ZVJlZjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Vycm9ySWNvbicpXG4gICAgcmVhZG9ubHkgZXJyb3JJY29uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cbiAgICBAVmlld0NoaWxkKFR1aVNjcm9sbGJhckNvbXBvbmVudClcbiAgICBzZXQgc2Nyb2xsZXJTZXR0ZXIoc2Nyb2xsZXI6IFR1aVNjcm9sbGJhckNvbXBvbmVudCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsZXJTdWJzY3JpcHRpb24oc2Nyb2xsZXIpO1xuICAgIH1cblxuICAgIHN0YXR1cyQ6IE9ic2VydmFibGU8VHVpU3RhdHVzPiA9IHRoaXMubW9kZSQucGlwZShtYXAoKCkgPT4gdGhpcy5zdGF0dXMpKTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVNjcm9sbFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgdHVpU2Nyb2xsU2VydmljZTogVHVpU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludE9wdGlvbnM6IFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfVEFHX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRUYWdPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudEhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWwubmF0aXZlRWxlbWVudCkgfHwgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGFiZWwtb3V0c2lkZScpXG4gICAgZ2V0IGxhYmVsT3V0c2lkZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3NpemUsIGxhYmVsT3V0c2lkZX0gPSB0aGlzLmNvbnRyb2xsZXI7XG5cbiAgICAgICAgcmV0dXJuIHNpemUgPT09ICdzJyB8fCBsYWJlbE91dHNpZGU7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkNsZWFuZXIoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIub3B0aW9ucy5pY29uQ2xlYW5lcjtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkxlZnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuY2xlYW5lciAmJiB0aGlzLmhhc1ZhbHVlICYmIHRoaXMuaW50ZXJhY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0IGhhc05hdGl2ZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNlYXJjaDtcbiAgICB9XG5cbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWUubGVuZ3RoIHx8IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1BsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlIHx8XG4gICAgICAgICAgICAoIXRoaXMuaGFzVmFsdWUgJiYgKCF0aGlzLmhhc0V4YW1wbGVUZXh0IHx8IHRoaXMuaW5wdXRIaWRkZW4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmxhYmVsT3V0c2lkZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRXhhbXBsZVRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXIgJiZcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmXG4gICAgICAgICAgICAhdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUmlnaHRJY29ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaGFzQ2xlYW5lciB8fFxuICAgICAgICAgICAgISF0aGlzLmljb24gfHxcbiAgICAgICAgICAgICghIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdHVzKCk6IFR1aVN0YXR1cyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmU/Lm1vZGUgPyAnZGVmYXVsdCcgOiB0aGlzLm9wdGlvbnMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVNYXhIZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGFibGUgPyB0aGlzLnJvd3MgKiB0aGlzLmxpbmVIZWlnaHQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldExlZnRDb250ZW50KHRhZzogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YWdWYWxpZGF0b3IodGFnKSAmJiB0aGlzLmVycm9ySWNvblRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgb25DbGVhbmVyQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy5wYXJlbnRIb3N0ZWREcm9wZG93bj8udXBkYXRlT3Blbih0cnVlKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkZFRhZygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIWFjdGl2ZSAmJiAhdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gdHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAhdHVpSXNFbGVtZW50KGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgIHRoaXMuY2xlYW5lclN2Zz8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAodGhpcy50YWdzQ29udGFpbmVyICYmXG4gICAgICAgICAgICAgICAgYWN0dWFsVGFyZ2V0ICE9PSB0aGlzLnRhZ3NDb250YWluZXIubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGFjdHVhbFRhcmdldCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25CYWNrc3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgJiYgIXRoaXMuaGFzTmF0aXZlVmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlTGFzdEVuYWJsZWRJdGVtKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uRmllbGRLZXlEb3duQXJyb3dMZWZ0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duQXJyb3dMZWZ0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlIHx8IHRoaXMuaGFzTmF0aXZlVmFsdWUgfHwgIXRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRhZ3MubGFzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZmlsdGVyVmFsdWUoXG4gICAgICAgICAgICB0aGlzLnZhbHVlXG4gICAgICAgICAgICAgICAgLm1hcCgodGFnLCB0YWdJbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGFnSW5kZXggIT09IGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRoaXMuc2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh0YWcgPT4gdGFnLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2U8c3RyaW5nW10+KFxuICAgICAgICAgICAgICAgICAgICAocmVzdWx0LCBpdGVtOiBzdHJpbmdbXSB8IHN0cmluZykgPT4gcmVzdWx0LmNvbmNhdChpdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24oaXRlbTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpbHRlclZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGl0ZW0pKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvbklucHV0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXJyYXkgPSB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSBhcnJheVxuICAgICAgICAgICAgLm1hcChpdGVtID0+IHRoaXMuY2xpcHBlZFZhbHVlKGl0ZW0udHJpbSgpKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHRoaXMuY2xpcHBlZFZhbHVlKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSkpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZmlsdGVyVmFsdWUoWy4uLnRoaXMudmFsdWUsIC4uLnZhbGlkYXRlZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWFyY2godGhpcy5jbGlwcGVkVmFsdWUodmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25QYXN0ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFzdGVkID0gdHVpR2V0Q2xpcGJvYXJkRGF0YVRleHQoZXZlbnQgYXMgQ2xpcGJvYXJkRXZlbnQpO1xuXG4gICAgICAgIHRoaXMub25JbnB1dChwYXN0ZWQgfHwgJycpO1xuICAgIH1cblxuICAgIG9uRHJvcCh7ZGF0YVRyYW5zZmVyfTogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChkYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgICAgIHRoaXMub25JbnB1dChkYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dCcpIHx8ICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKF86IG51bWJlciwgdGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBBY3R1YWxseSB0YWcgaGFzIFR1aVN0cmluZ2lmaWFibGVJdGVtIHR5cGUgbm90IHN0cmluZ1xuICAgICAgICByZXR1cm4gdGFnLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJWYWx1ZSh2YWx1ZTogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0KCk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIGl0ZW0gPT4gIXRoaXMudW5pcXVlVGFncyB8fCAoaXRlbSAmJiAhc2Vlbi5oYXMoaXRlbSkgJiYgc2Vlbi5hZGQoaXRlbSkpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnJldmVyc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXg6IG51bWJlciwgZmxhZzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFncy5maW5kKChfaXRlbSwgaW5kZXgpID0+IGluZGV4ID09PSBjdXJyZW50SW5kZXggKyBmbGFnKTtcblxuICAgICAgICBpZiAoIXRhZyB8fCAhdGhpcy5zY3JvbGxCYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhZy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmxhZyAqIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgICB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8XG4gICAgICAgICAgICAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9XG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2Nyb2xsZXJTdWJzY3JpcHRpb24oc2Nyb2xsZXI6IFR1aVNjcm9sbGJhckNvbXBvbmVudCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFzY3JvbGxlcj8uYnJvd3NlclNjcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gc2Nyb2xsZXIuYnJvd3NlclNjcm9sbFJlZjtcblxuICAgICAgICBjb25zdCB3aGVlbCQgPSB0dWlUeXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnd2hlZWwnLCB7cGFzc2l2ZTogZmFsc2V9KS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmRlbHRhWCA9PT0gMCAmJiB0aGlzLnNob3VsZFNjcm9sbChuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgbWFwKCh7ZGVsdGFZfSkgPT5cbiAgICAgICAgICAgICAgICBNYXRoLm1heChuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBkZWx0YVkgKiBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0lFTlQsIDApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5zY3JvbGxUb1N0YXJ0JC5waXBlKG1hcCgoKSA9PiAwKSk7XG4gICAgICAgIGNvbnN0IGVuZCQgPSB0aGlzLnNjcm9sbFRvRW5kJC5waXBlKG1hcCgoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoKSk7XG5cbiAgICAgICAgbWVyZ2Uod2hlZWwkLCBzdGFydCQsIGVuZCQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAobGVmdCA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbFNlcnZpY2Uuc2Nyb2xsJChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2ggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG91bGRTY3JvbGwoe3Njcm9sbFdpZHRoLCBvZmZzZXRXaWR0aH06IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBzY3JvbGxXaWR0aCA+IG9mZnNldFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVGFnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy5zZWFyY2gudHJpbSgpO1xuXG4gICAgICAgIGlmICghaW5wdXRWYWx1ZSB8fCB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIoaW5wdXRWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZmlsdGVyVmFsdWUodGhpcy52YWx1ZS5jb25jYXQoaW5wdXRWYWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlTGFzdEVuYWJsZWRJdGVtKCk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHRoaXMudmFsdWUubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGhpcy52YWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHR1aUFycmF5UmVtb3ZlKHRoaXMudmFsdWUsIGluZGV4KTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xpcHBlZFZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGggfHwgdmFsdWUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsaW5lSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhYmVsT3V0c2lkZVxuICAgICAgICAgICAgPyBUQUdfU0laRV9SRU1bdGhpcy5jb250cm9sbGVyLnNpemVdICsgMiAqIFRBR19WRVJUSUNBTF9TUEFDRV9SRU1cbiAgICAgICAgICAgIDogTElORV9IRUlHSFRfUkVNW3RoaXMuY29udHJvbGxlci5zaXplXTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaGludE9wdGlvbnM/LmNoYW5nZSQgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkYXRhbGlzdCB8fCAnJ1wiXG4gICAgWyhvcGVuKV09XCJvcGVuXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbZm9jdXNdPVwiY29tcHV0ZWRGb2N1c2VkXCJcbiAgICAgICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvbkxlZnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29ucyB0LWljb25zX2xlZnQgdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25MZWZ0IGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWFic29sdXRlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRhZ19fcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LXBsYWNlaG9sZGVyX3JhaXNlZF09XCJwbGFjZWhvbGRlclJhaXNlZFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHR1aS1zY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXNjcm9sbGJhclwiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWV4cGFuZGFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubWF4SGVpZ2h0LnJlbV09XCJjb21wdXRlTWF4SGVpZ2h0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWdzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LXRhZ3NfZXhwYW5kYWJsZV09XCJleHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsT3V0c2lkZTsgZWxzZSB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS10YWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWU7IGluZGV4IGFzIGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtdGFnX190YWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCIoc3RhdHVzJCB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVmdENvbnRlbnRdPVwiZ2V0TGVmdENvbnRlbnQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0YWJsZSAmJiAhcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG92ZXJhYmxlXT1cIiFyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwiIXJlYWRPbmx5ICYmIHJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXBhcmF0b3JdPVwic2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJjb250cm9sbGVyLnNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS50b1N0cmluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVkaXRlZCk9XCJvblRhZ0VkaXRlZCgkZXZlbnQsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uVGFnS2V5RG93bkFycm93TGVmdChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpPVwib25UYWdLZXlEb3duQXJyb3dSaWdodChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS10YWc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtdGV4dF9jb21tYV09XCJjb21wdXRlZEZvY3VzZWQgJiYgIWlucHV0SGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtdGV4dF9kaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtdGV4dF9lcnJvcl09XCIhdGFnVmFsaWRhdG9yKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1pbnB1dC13cmFwcGVyX2NvbGxhcHNlZF09XCJjb21wdXRlZERpc2FibGVkIHx8IHJlYWRPbmx5IHx8IGlucHV0SGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1naG9zdFwiPnt7IHNlYXJjaCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtdGFnX19uYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmF0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtbmF0aXZlX2hpZGRlbl09XCJpbnB1dEhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSB8fCBpbnB1dEhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFzdGUucHJldmVudCk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJvcC5wcmV2ZW50KT1cIm9uRHJvcCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0KT1cIm9uRmllbGRLZXlEb3duQXJyb3dMZWZ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwib25GaWVsZEtleURvd25CYWNrc3BhY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyLnByZXZlbnQpPVwib25GaWVsZEtleURvd25FbnRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdHVpLXNjcm9sbGJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2VsZWN0XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUmlnaHRJY29uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25zIHQtaWNvbnNfcmlnaHRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDbGVhbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNsZWFuZXIgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjY2xlYW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC10YWdfX2NsZWFuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNsZWFuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwib25DbGVhbmVyQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRhZ19fdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGludE9wdGlvbnM/LmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgID48L3R1aS10b29sdGlwPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3JJY29uPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICBzcmM9XCJ0dWlJY29uQWxlcnRDaXJjbGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1lcnJvci1pY29uXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
|
|
@@ -16,8 +16,8 @@ import * as i3 from "@angular/common";
|
|
|
16
16
|
import * as i4 from "@angular/forms";
|
|
17
17
|
import * as i5 from "rxjs";
|
|
18
18
|
export class TuiInputTimeComponent extends AbstractTuiNullableControl {
|
|
19
|
-
constructor(control,
|
|
20
|
-
super(control,
|
|
19
|
+
constructor(control, cdr, timeTexts$, options) {
|
|
20
|
+
super(control, cdr);
|
|
21
21
|
this.timeTexts$ = timeTexts$;
|
|
22
22
|
this.options = options;
|
|
23
23
|
this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
|
|
@@ -276,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
276
276
|
type: HostListener,
|
|
277
277
|
args: ['click']
|
|
278
278
|
}], calculateMask: [], filter: [] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lL2lucHV0LXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLFlBQVksRUFDWixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFPLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixrQkFBa0IsRUFFbEIsOEJBQThCLEdBRWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxz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LE9BQU87bURBT1A7NEZBL01RLHFCQUFxQjtrQkFiakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwwQkFBMEIsdUJBQXVCO3dCQUNqRCxZQUFZLHVCQUF1Qjt3QkFDbkMsaUJBQWlCLHVCQUF1Qjt3QkFDeEMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7cUJBQ3hDO29CQUNELGFBQWEsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUN0RDs7MEJBb0NRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxjQUFjOzswQkFFckIsTUFBTTsyQkFBQyxzQkFBc0I7NENBckNqQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFLekMsbUJBQW1CO3NCQUZsQixLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLElBQUk7c0JBRkgsS0FBSztnQkFPTixPQUFPO3NCQUZOLEtBQUs7Z0JBNkVOLFVBQVUsTUFLVixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFtRmIsYUFBYSxNQVNiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIFRVSV9TVFJJQ1RfTUFUQ0hFUixcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc0lucHV0LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVRpbWUsXG4gICAgVHVpVGltZUxpa2UsXG4gICAgVHVpVGltZU1vZGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICB0dWlBc0RhdGFMaXN0SG9zdCxcbiAgICB0dWlBc09wdGlvbkNvbnRlbnQsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1NFTEVDVF9PUFRJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7RklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfVElNRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGUsXG4gICAgdHVpQ3JlYXRlVGltZU1hc2ssXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWFzayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfVElNRV9PUFRJT05TLCBUdWlJbnB1dFRpbWVPcHRpb25zfSBmcm9tICcuL2lucHV0LXRpbWUtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXRpbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRpbWUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dFRpbWVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpSW5wdXRUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFRVSV9TRUxFQ1RfT1BUSU9OKSxcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlUaW1lPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VHVpVGltZT5cbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlUaW1lPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zOiByZWFkb25seSBUdWlUaW1lW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtU2l6ZTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaXRlbVNpemUnXSA9IHRoaXMub3B0aW9ucy5pdGVtU2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3QgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiBUdWlJbnB1dFRpbWVPcHRpb25zWydtb2RlJ10gPSB0aGlzLm9wdGlvbnMubW9kZTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFBvc3RmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeDogVHVpSW5wdXRUaW1lT3B0aW9uc1sncG9zdGZpeCddID0gdGhpcy5vcHRpb25zLnBvc3RmaXg7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpbWVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aVRpbWVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfVElNRV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGltZU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICEhdGhpcy5maWx0ZXJlZC5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGZpbHRlcmVkKCk6IHJlYWRvbmx5IFR1aVRpbWVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcih0aGlzLml0ZW1zLCB0aGlzLm1vZGUsIHRoaXMuY29tcHV0ZWRTZWFyY2gpO1xuICAgIH1cblxuICAgIGdldCB0ZXh0TWFza09wdGlvbnMoKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFzayh0aGlzLm1vZGUpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50b1N0cmluZyh0aGlzLm1vZGUpIDogdGhpcy5uYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRTZWFyY2goKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRWYWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGggPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5uZXJQc2V1ZG9Gb2N1c2VkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMucHNldWRvRm9jdXMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKHRoaXMub3BlbiAmJiB0aGlzLmNhbk9wZW4pIHx8IHRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFR1aUlucHV0VGltZU9wdGlvbnNbJ2ljb24nXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldEZpbGxlciQobW9kZTogVHVpVGltZU1vZGUpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aW1lVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzW21vZGVdKSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICEhdGhpcy5pdGVtcy5sZW5ndGg7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5nZXRNYXRjaCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG1hdGNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtYXRjaDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gdGhpcy5tb2RlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodmFsdWUpO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnN0cmljdCA/IHRoaXMuZmluZE5lYXJlc3RUaW1lRnJvbUl0ZW1zKHRpbWUpIDogdGltZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZm9jdXNlZCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9PT0gJycgfHxcbiAgICAgICAgICAgIHRoaXMubW9kZSA9PT0gJ0hIOk1NJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGhpcy5uYXRpdmVWYWx1ZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZS5lbmRzV2l0aCgnLicpIHx8IHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJzonKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLm5hdGl2ZVZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25BcnJvd1VwKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc0Fycm93KGV2ZW50LCAxKTtcbiAgICB9XG5cbiAgICBvbkFycm93RG93bihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgLTEpO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBUdWlUaW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICB9XG5cbiAgICBvbk9wZW4ob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFR1aVRpbWUgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWUgPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhtb2RlOiBUdWlUaW1lTW9kZSk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVUaW1lTWFzayhtb2RlLCB0aGlzLm9wdGlvbnMubWF4VmFsdWVzKSxcbiAgICAgICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZShtb2RlLCB0aGlzLm9wdGlvbnMubWF4VmFsdWVzKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKFxuICAgICAgICBpdGVtczogcmVhZG9ubHkgVHVpVGltZVtdLFxuICAgICAgICBtb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgc2VhcmNoOiBzdHJpbmcsXG4gICAgKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0udG9TdHJpbmcobW9kZSkuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmVhcmVzdFRpbWVGcm9tSXRlbXModmFsdWU6IFR1aVRpbWUpOiBUdWlUaW1lIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+XG4gICAgICAgICAgICBNYXRoLmFicyhjdXJyZW50LnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSAtIHZhbHVlLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSkgPFxuICAgICAgICAgICAgTWF0aC5hYnMocHJldmlvdXMudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpIC0gdmFsdWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpKVxuICAgICAgICAgICAgICAgID8gY3VycmVudFxuICAgICAgICAgICAgICAgIDogcHJldmlvdXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXRjaCh2YWx1ZTogc3RyaW5nKTogVHVpVGltZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiBUVUlfU1RSSUNUX01BVENIRVIoaXRlbSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NBcnJvdyhldmVudDogRXZlbnQsIHNoaWZ0OiAtMSB8IDEpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3RhcmdldH0gPSBldmVudDtcblxuICAgICAgICBpZiAodGhpcy5yZWFkT25seSB8fCAhdHVpSXNFbGVtZW50KHRhcmdldCkgfHwgIXR1aUlzSW5wdXQodGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0YXJnZXQuc2VsZWN0aW9uU3RhcnQgfHwgMDtcblxuICAgICAgICB0aGlzLnNoaWZ0VGltZSh0aGlzLmNhbGN1bGF0ZVNoaWZ0KHNlbGVjdGlvblN0YXJ0LCBzaGlmdCkpO1xuXG4gICAgICAgIHRhcmdldC5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uU3RhcnQpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlU2hpZnQoc2VsZWN0aW9uU3RhcnQ6IG51bWJlciwgc2hpZnQ6IG51bWJlcik6IFR1aVRpbWVMaWtlIHtcbiAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0IDw9IDIpIHtcbiAgICAgICAgICAgIHJldHVybiB7aG91cnM6IHNoaWZ0fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSA1KSB7XG4gICAgICAgICAgICByZXR1cm4ge21pbnV0ZXM6IHNoaWZ0fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSA4KSB7XG4gICAgICAgICAgICByZXR1cm4ge3NlY29uZHM6IHNoaWZ0fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7bXM6IHNoaWZ0fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNoaWZ0VGltZShzaGlmdDogVHVpVGltZUxpa2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluY3JlYXNlZFRpbWUgPSB0aGlzLnZhbHVlLnNoaWZ0KHNoaWZ0KTtcblxuICAgICAgICAvLyBNYW51YWwgdXBkYXRlIHNvIHdlIGNhbiBzZXQgY2FyZXQgcG9zaXRpb24gcHJvcGVybHlcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IGluY3JlYXNlZFRpbWUudG9TdHJpbmcodGhpcy5tb2RlKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGluY3JlYXNlZFRpbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFtjYW5PcGVuXT1cImNhbk9wZW5cIlxuICAgIFtjb250ZW50XT1cImRyb3Bkb3duQ29udGVudFwiXG4gICAgW29wZW5dPVwiY2FuT3BlbiAmJiBvcGVuXCJcbiAgICAob3BlbkNoYW5nZSk9XCJvbk9wZW4oJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkRmlsbGVyXT1cIihnZXRGaWxsZXIkKG1vZGUpIHwgYXN5bmMpIHx8ICcnXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cImlubmVyUHNldWRvRm9jdXNlZFwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdGV4dE1hc2tdPVwidGV4dE1hc2tPcHRpb25zXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiaWNvblwiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAgICAgW3Bvc3RmaXhdPVwicG9zdGZpeFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm9uQXJyb3dVcCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cIm9uQXJyb3dEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgIC8+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICAgIDx0dWktZGF0YS1saXN0XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtdGltZV9fZHJvcGRvd25cIlxuICAgICAgICBbc2l6ZV09XCJpdGVtU2l6ZVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZFwiXG4gICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtdGltZV9faXRlbVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC90dWktZGF0YS1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lL2lucHV0LXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsY0FBYyxFQUVkLFlBQVksRUFDWixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFPLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixrQkFBa0IsRUFFbEIsOEJBQThCLEdBRWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxz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TzttREFPUDs0RkEvTVEscUJBQXFCO2tCQWJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3dCQUNuQyxpQkFBaUIsdUJBQXVCO3dCQUN4QyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztxQkFDeEM7b0JBQ0QsYUFBYSxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ3REOzswQkFvQ1EsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxTQUFTOzswQkFFaEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGNBQWM7OzBCQUVyQixNQUFNOzJCQUFDLHNCQUFzQjs0Q0FyQ2pCLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCO2dCQUt6QyxtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBTU4sS0FBSztzQkFGSixLQUFLO2dCQU1OLFFBQVE7c0JBRlAsS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQU9OLE9BQU87c0JBRk4sS0FBSztnQkE2RU4sVUFBVSxNQUtWLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQW1GYixhQUFhLE1BU2IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX1NUUklDVF9NQVRDSEVSLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzSW5wdXQsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTGlrZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzRGF0YUxpc3RIb3N0LFxuICAgIHR1aUFzT3B0aW9uQ29udGVudCxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfU0VMRUNUX09QVElPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24nO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9USU1FX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZSxcbiAgICB0dWlDcmVhdGVUaW1lTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9USU1FX09QVElPTlMsIFR1aUlucHV0VGltZU9wdGlvbnN9IGZyb20gJy4vaW5wdXQtdGltZS1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRpbWUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0VGltZUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dFRpbWVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlJbnB1dFRpbWVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc09wdGlvbkNvbnRlbnQoVFVJX1NFTEVDVF9PUFRJT04pLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRpbWVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aVRpbWU+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxUdWlUaW1lPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aVRpbWU+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IHJlYWRvbmx5IFR1aVRpbWVbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1TaXplOiBUdWlJbnB1dFRpbWVPcHRpb25zWydpdGVtU2l6ZSddID0gdGhpcy5vcHRpb25zLml0ZW1TaXplO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmljdCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vZGU6IFR1aUlucHV0VGltZU9wdGlvbnNbJ21vZGUnXSA9IHRoaXMub3B0aW9ucy5tb2RlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUG9zdGZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4OiBUdWlJbnB1dFRpbWVPcHRpb25zWydwb3N0Zml4J10gPSB0aGlzLm9wdGlvbnMucG9zdGZpeDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpbWVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aVRpbWVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfVElNRV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGltZU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZmlsdGVyZWQubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJlZCgpOiByZWFkb25seSBUdWlUaW1lW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIodGhpcy5pdGVtcywgdGhpcy5tb2RlLCB0aGlzLmNvbXB1dGVkU2VhcmNoKTtcbiAgICB9XG5cbiAgICBnZXQgdGV4dE1hc2tPcHRpb25zKCk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1hc2sodGhpcy5tb2RlKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUudG9TdHJpbmcodGhpcy5tb2RlKSA6IHRoaXMubmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU2VhcmNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkVmFsdWUubGVuZ3RoICE9PSB0aGlzLm1vZGUubGVuZ3RoID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlubmVyUHNldWRvRm9jdXNlZCgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnBzZXVkb0ZvY3VzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh0aGlzLm9wZW4gJiYgdGhpcy5jYW5PcGVuKSB8fCB0aGlzLmNvbXB1dGVkRm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBUdWlJbnB1dFRpbWVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRGaWxsZXIkKG1vZGU6IFR1aVRpbWVNb2RlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZVRleHRzJC5waXBlKG1hcCh0ZXh0cyA9PiB0ZXh0c1ttb2RlXSkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhIXRoaXMuaXRlbXMubGVuZ3RoO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuZ2V0TWF0Y2godmFsdWUpO1xuXG4gICAgICAgIGlmIChtYXRjaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbWF0Y2g7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IHRoaXMubW9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aW1lID0gVHVpVGltZS5mcm9tU3RyaW5nKHZhbHVlKTtcblxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zdHJpY3QgPyB0aGlzLmZpbmROZWFyZXN0VGltZUZyb21JdGVtcyh0aW1lKSA6IHRpbWU7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvY3VzZWQgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPT09ICcnIHx8XG4gICAgICAgICAgICB0aGlzLm1vZGUgPT09ICdISDpNTSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gVHVpVGltZS5mcm9tU3RyaW5nKHRoaXMubmF0aXZlVmFsdWUpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJy4nKSB8fCB0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5uYXRpdmVWYWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQXJyb3dVcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgMSk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzQXJyb3coZXZlbnQsIC0xKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24oaXRlbTogVHVpVGltZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW07XG4gICAgfVxuXG4gICAgb25PcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBUdWlUaW1lIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2sobW9kZTogVHVpVGltZU1vZGUpOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlVGltZU1hc2sobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGUobW9kZSwgdGhpcy5vcHRpb25zLm1heFZhbHVlcyksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlcihcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFR1aVRpbWVbXSxcbiAgICAgICAgbW9kZTogVHVpVGltZU1vZGUsXG4gICAgICAgIHNlYXJjaDogc3RyaW5nLFxuICAgICk6IHJlYWRvbmx5IFR1aVRpbWVbXSB7XG4gICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvU3RyaW5nKG1vZGUpLmluY2x1ZGVzKHNlYXJjaCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZE5lYXJlc3RUaW1lRnJvbUl0ZW1zKHZhbHVlOiBUdWlUaW1lKTogVHVpVGltZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PlxuICAgICAgICAgICAgTWF0aC5hYnMoY3VycmVudC50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkgLSB2YWx1ZS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkpIDxcbiAgICAgICAgICAgIE1hdGguYWJzKHByZXZpb3VzLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSAtIHZhbHVlLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSlcbiAgICAgICAgICAgICAgICA/IGN1cnJlbnRcbiAgICAgICAgICAgICAgICA6IHByZXZpb3VzLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF0Y2godmFsdWU6IHN0cmluZyk6IFR1aVRpbWUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGl0ZW0gPT4gVFVJX1NUUklDVF9NQVRDSEVSKGl0ZW0sIHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQXJyb3coZXZlbnQ6IEV2ZW50LCBzaGlmdDogLTEgfCAxKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YXJnZXR9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkgfHwgIXR1aUlzRWxlbWVudCh0YXJnZXQpIHx8ICF0dWlJc0lucHV0KHRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGFyZ2V0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cbiAgICAgICAgdGhpcy5zaGlmdFRpbWUodGhpcy5jYWxjdWxhdGVTaGlmdChzZWxlY3Rpb25TdGFydCwgc2hpZnQpKTtcblxuICAgICAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVNoaWZ0KHNlbGVjdGlvblN0YXJ0OiBudW1iZXIsIHNoaWZ0OiBudW1iZXIpOiBUdWlUaW1lTGlrZSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4ge2hvdXJzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gNSkge1xuICAgICAgICAgICAgcmV0dXJuIHttaW51dGVzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gOCkge1xuICAgICAgICAgICAgcmV0dXJuIHtzZWNvbmRzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge21zOiBzaGlmdH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRpbWUoc2hpZnQ6IFR1aVRpbWVMaWtlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmNyZWFzZWRUaW1lID0gdGhpcy52YWx1ZS5zaGlmdChzaGlmdCk7XG5cbiAgICAgICAgLy8gTWFudWFsIHVwZGF0ZSBzbyB3ZSBjYW4gc2V0IGNhcmV0IHBvc2l0aW9uIHByb3Blcmx5XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBpbmNyZWFzZWRUaW1lLnRvU3RyaW5nKHRoaXMubW9kZSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBpbmNyZWFzZWRUaW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsfSk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbY2FuT3Blbl09XCJjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93bkNvbnRlbnRcIlxuICAgIFtvcGVuXT1cImNhbk9wZW4gJiYgb3BlblwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuKCRldmVudClcIlxuICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEZpbGxlcl09XCIoZ2V0RmlsbGVyJChtb2RlKSB8IGFzeW5jKSB8fCAnJ1wiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJpbm5lclBzZXVkb0ZvY3VzZWRcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW3RleHRNYXNrXT1cInRleHRNYXNrT3B0aW9uc1wiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cImljb25cIlxuICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgICAgIFtwb3N0Zml4XT1cInBvc3RmaXhcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJvbkFycm93VXAoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJvbkFycm93RG93bigkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAvPlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cbiAgICA8dHVpLWRhdGEtbGlzdFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRpbWVfX2Ryb3Bkb3duXCJcbiAgICAgICAgW3NpemVdPVwiaXRlbVNpemVcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRcIlxuICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXRpbWVfX2l0ZW1cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLWRhdGEtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -11,8 +11,8 @@ import * as i3 from "@taiga-ui/cdk";
|
|
|
11
11
|
import * as i4 from "@taiga-ui/kit/pipes";
|
|
12
12
|
import * as i5 from "@angular/forms";
|
|
13
13
|
export class TuiInputYearComponent extends AbstractTuiNullableControl {
|
|
14
|
-
constructor(control,
|
|
15
|
-
super(control,
|
|
14
|
+
constructor(control, cdr, options) {
|
|
15
|
+
super(control, cdr);
|
|
16
16
|
this.options = options;
|
|
17
17
|
this.min = this.options.min.year;
|
|
18
18
|
this.max = this.options.max.year;
|
|
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
99
99
|
}], disabledItemHandler: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC15ZWFyL2lucHV0LXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQteWVhci9pbnB1dC15ZWFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osMEJBQTBCLEVBRTFCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGdCQUFnQixFQUNoQiw4QkFBOEIsR0FFakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFZakYsTUFBTSxPQUFPLHFCQUNULFNBQVEsMEJBQWtDO0lBMkIxQyxZQUlJLE9BQXlCLEVBQ0UsR0FBc0IsRUFFaEMsT0FBNEI7UUFFN0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUZILFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBMUJqRCxRQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBSTVCLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFJNUIsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBRXRFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFSixnQkFBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdkMsb0JBQWUsR0FBRztZQUN2QixJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pDLEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQztJQVlGLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFDLElBQUksRUFBVTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDOzttSEF2RVEscUJBQXFCLGtCQStCbEIsU0FBUyx5Q0FFVCxpQkFBaUIsYUFDakIsc0JBQXNCO3VHQWxDekIscUJBQXFCLHlIQUxuQjtRQUNQLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDO1FBQ2pELFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztLQUN0QyxxRUFNVSw4QkFBOEIsdUVDMUM3QyxnNUNBeUNBO0FETUk7SUFEQyxjQUFjLEVBQUU7a0RBQ1c7QUFJNUI7SUFEQyxjQUFjLEVBQUU7a0RBQ1c7QUFJNUI7SUFEQyxjQUFjLEVBQUU7a0VBQ3FEOzRGQWpCN0QscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3FCQUN0QztpQkFDSjs7MEJBOEJRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxzQkFBc0I7NENBN0JqQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFLekMsR0FBRztzQkFGRixLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixtQkFBbUI7c0JBRmxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX09QVElPTlMsIFR1aUlucHV0RGF0ZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQteWVhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXllYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQteWVhci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0WWVhckNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dFllYXJDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0WWVhckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IHRoaXMub3B0aW9ucy5taW4ueWVhcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSB0aGlzLm9wdGlvbnMubWF4LnllYXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8bnVtYmVyPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgaW5pdGlhbEl0ZW0gPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XG5cbiAgICByZWFkb25seSB0ZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSg0KS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXREYXRlT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2RyKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUgPyBOdW1iZXIodmFsdWUuc2xpY2UoMCwgNCkpIDogbnVsbDtcbiAgICB9XG5cbiAgICBvblllYXJDbGljayh7eWVhcn06IFR1aVllYXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHllYXI7XG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZVwiXG4gICAgW2NvbnRlbnRdPVwiZHJvcGRvd25cIlxuICAgIFtvcGVuXT1cIm9wZW4gJiYgaW50ZXJhY3RpdmVcIlxuICAgIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb25cIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbdGV4dE1hc2tdPVwidGV4dE1hc2tPcHRpb25zXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICAgICAgICA8dHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlclxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgW21pbl09XCJtaW4gfCB0dWlUb1llYXJcIlxuICAgICAgICAgICAgW21heF09XCJtYXggfCB0dWlUb1llYXJcIlxuICAgICAgICAgICAgW2luaXRpYWxJdGVtXT1cInZhbHVlIHx8IGluaXRpYWxJdGVtIHwgdHVpVG9ZZWFyXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlID09PSBudWxsID8gbnVsbCA6ICh2YWx1ZSB8IHR1aVRvWWVhcilcIlxuICAgICAgICAgICAgKHllYXJDbGljayk9XCJvblllYXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgPjwvdHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
|
|
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
import * as i1 from "rxjs";
|
|
9
9
|
import * as i2 from "./items-with-more.directive";
|
|
10
10
|
export class TuiItemsWithMoreService extends Observable {
|
|
11
|
-
constructor(ngZone,
|
|
11
|
+
constructor(ngZone, el, mutation$, resize$, directive) {
|
|
12
12
|
super(subscriber => this.stream$.subscribe(subscriber));
|
|
13
13
|
this.ngZone = ngZone;
|
|
14
|
-
this.
|
|
14
|
+
this.el = el;
|
|
15
15
|
this.mutation$ = mutation$;
|
|
16
16
|
this.resize$ = resize$;
|
|
17
17
|
this.directive = directive;
|
|
@@ -19,7 +19,7 @@ export class TuiItemsWithMoreService extends Observable {
|
|
|
19
19
|
}
|
|
20
20
|
getOverflowIndex() {
|
|
21
21
|
var _a;
|
|
22
|
-
const { clientWidth, children } = this.
|
|
22
|
+
const { clientWidth, children } = this.el.nativeElement;
|
|
23
23
|
const items = Array.from(children, ({ clientWidth }) => clientWidth);
|
|
24
24
|
const first = this.directive.required === -1 ? 0 : this.directive.required;
|
|
25
25
|
const last = items.length - 1;
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
63
63
|
type: Inject,
|
|
64
64
|
args: [TuiItemsWithMoreDirective]
|
|
65
65
|
}] }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUvaXRlbXMtd2l0aC1tb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7O0FBR3RFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUFrQjtJQVMzRCxZQUNxQyxNQUFjLEVBQ1YsRUFBMkIsRUFDZCxTQUE4QixFQUNyQyxPQUE0QixFQUV0RCxTQUFvQztRQUVyRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBUHZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDVixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRXRELGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBZGhELFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxP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QUF1Qjs7MEJBQzlCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TXV0YXRpb25PYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge3R1aUNsYW1wLCBUdWlSZXNpemVTZXJ2aWNlLCB0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSXRlbXNXaXRoTW9yZURpcmVjdGl2ZX0gZnJvbSAnLi9pdGVtcy13aXRoLW1vcmUuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aUl0ZW1zV2l0aE1vcmVTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZWFkb25seSBzdHJlYW0kID0gbWVyZ2UodGhpcy5kaXJlY3RpdmUuY2hhbmdlJCwgdGhpcy5tdXRhdGlvbiQsIHRoaXMucmVzaXplJCkucGlwZShcbiAgICAgICAgdGhyb3R0bGVUaW1lKDApLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRPdmVyZmxvd0luZGV4KCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0dWlab25lT3B0aW1pemVkKHRoaXMubmdab25lKSxcbiAgICAgICAgc2hhcmUoKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IG11dGF0aW9uJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChUdWlSZXNpemVTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoVHVpSXRlbXNXaXRoTW9yZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RpdmU6IFR1aUl0ZW1zV2l0aE1vcmVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPdmVyZmxvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRXaWR0aCwgY2hpbGRyZW59ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpdGVtcyA9IEFycmF5LmZyb20oY2hpbGRyZW4sICh7Y2xpZW50V2lkdGh9KSA9PiBjbGllbnRXaWR0aCk7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5kaXJlY3RpdmUucmVxdWlyZWQgPT09IC0xID8gMCA6IHRoaXMuZGlyZWN0aXZlLnJlcXVpcmVkO1xuICAgICAgICBjb25zdCBsYXN0ID0gaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgY29uc3QgbW9yZSA9IGNoaWxkcmVuW2xhc3RdPy50YWdOYW1lID09PSBgU1BBTmAgPyBpdGVtc1tsYXN0XSA6IDA7XG5cbiAgICAgICAgaXRlbXMudW5zaGlmdCguLi5pdGVtcy5zcGxpY2UoZmlyc3QsIDEpKTtcblxuICAgICAgICBsZXQgdG90YWwgPSBpdGVtcy5yZWR1Y2UoKHN1bSwgd2lkdGgpID0+IHN1bSArIHdpZHRoLCAwKSAtIG1vcmU7XG5cbiAgICAgICAgaWYgKHRvdGFsIDw9IGNsaWVudFdpZHRoICYmIHRoaXMuZGlyZWN0aXZlLml0ZW1zTGltaXQgPj0gaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhJdGVtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSBsYXN0IC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgdG90YWwgLT0gaXRlbXNbaV07XG5cbiAgICAgICAgICAgIGlmICh0b3RhbCArIG1vcmUgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgICAgIGkgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZCA/IGkgLSAxIDogaSAtIDIsXG4gICAgICAgICAgICAgICAgICAgIC0xLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heEl0ZW1zLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbWF4SXRlbXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aXZlLml0ZW1zTGltaXQgPiB0aGlzLmRpcmVjdGl2ZS5yZXF1aXJlZFxuICAgICAgICAgICAgPyB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMVxuICAgICAgICAgICAgOiB0aGlzLmRpcmVjdGl2ZS5pdGVtc0xpbWl0IC0gMjtcbiAgICB9XG59XG4iXX0=
|