@taiga-ui/kit 2.28.0 → 2.32.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/README.md +4 -5
- package/abstract/slider/slider.d.ts +1 -1
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +6 -5
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js +31 -8
- package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +5 -4
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +13 -19
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -6
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +28 -13
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +40 -23
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +27 -12
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -8
- package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -15
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -8
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -8
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +12 -12
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -9
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +46 -25
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +7 -4
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +7 -4
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +14 -14
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +23 -18
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +368 -0
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-rating.umd.min.js +16 -0
- package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -0
- package/bundles/taiga-ui-kit-components-select.umd.js +11 -16
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.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-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +23 -13
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +12 -4
- package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +16 -0
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +65 -22
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +241 -6
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +15 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/arrow/arrow-options.d.ts +16 -0
- package/components/arrow/arrow.component.d.ts +5 -3
- package/components/arrow/index.d.ts +1 -0
- package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +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 +3 -2
- package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
- package/components/index.d.ts +1 -0
- package/components/input-date/input-date.component.d.ts +5 -4
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +5 -4
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-date-time/input-date-time.component.d.ts +5 -5
- package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
- package/components/input-file/input-file.component.d.ts +0 -1
- package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
- package/components/input-inline/input-inline.component.d.ts +0 -1
- package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
- package/components/input-month/input-month.component.d.ts +0 -1
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-month-range/input-month-range.component.d.ts +0 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-password/input-password.component.d.ts +0 -1
- package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
- package/components/input-phone-international/const/countries.d.ts +15 -7
- package/components/input-phone-international/country-iso-code.d.ts +1 -1
- package/components/input-phone-international/index.d.ts +2 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +2 -2
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-phone-international/tokens/countries-masks.d.ts +3 -0
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
- package/components/input-range/input-range.component.d.ts +2 -1
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/input-slider.component.d.ts +2 -1
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/input-tag.component.d.ts +1 -1
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/input-time/input-time-options.d.ts +3 -0
- package/components/input-time/input-time.component.d.ts +7 -8
- package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
- package/components/multi-select/multi-select.component.d.ts +4 -2
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/rating/index.d.ts +3 -0
- package/components/rating/package.json +13 -0
- package/components/rating/rating-options.d.ts +9 -0
- package/components/rating/rating.component.d.ts +21 -0
- package/components/rating/rating.module.d.ts +2 -0
- package/components/rating/taiga-ui-kit-components-rating.d.ts +4 -0
- package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -0
- package/components/select/select.component.d.ts +3 -2
- package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
- package/components/taiga-ui-kit-components.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/tree/components/tree/tree.component.d.ts +3 -1
- package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
- package/constants/index.d.ts +1 -0
- package/constants/masks.d.ts +8 -0
- package/constants/max-time-values.d.ts +2 -0
- package/constants/taiga-ui-kit-constants.metadata.json +1 -1
- package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
- package/esm2015/abstract/input-slider.js +4 -2
- package/esm2015/abstract/slider/slider.js +1 -1
- package/esm2015/components/arrow/arrow-options.js +17 -0
- package/esm2015/components/arrow/arrow.component.js +12 -8
- package/esm2015/components/arrow/arrow.module.js +3 -2
- package/esm2015/components/arrow/index.js +2 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +5 -2
- package/esm2015/components/carousel/carousel-scroll.directive.js +5 -4
- package/esm2015/components/carousel/carousel.component.js +1 -1
- package/esm2015/components/checkbox/checkbox.component.js +2 -2
- package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm2015/components/combo-box/combo-box.component.js +15 -17
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/input/input.component.js +2 -2
- package/esm2015/components/input-count/input-count.component.js +3 -7
- package/esm2015/components/input-date/input-date.component.js +31 -18
- package/esm2015/components/input-date-range/input-date-range.component.js +32 -19
- package/esm2015/components/input-date-time/input-date-time.component.js +45 -24
- package/esm2015/components/input-file/input-file.component.js +2 -5
- package/esm2015/components/input-inline/input-inline.component.js +4 -13
- package/esm2015/components/input-month/input-month.component.js +2 -5
- package/esm2015/components/input-month-range/input-month-range.component.js +2 -5
- package/esm2015/components/input-number/input-number.component.js +15 -15
- package/esm2015/components/input-password/input-password.component.js +3 -6
- package/esm2015/components/input-phone/input-phone.component.js +4 -4
- package/esm2015/components/input-phone-international/const/countries.js +21 -10
- package/esm2015/components/input-phone-international/country-iso-code.js +2 -2
- package/esm2015/components/input-phone-international/index.js +3 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +15 -18
- package/esm2015/components/input-phone-international/tokens/countries-masks.js +6 -0
- package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +9 -0
- package/esm2015/components/input-range/input-range.component.js +9 -6
- package/esm2015/components/input-slider/input-slider.component.js +9 -6
- package/esm2015/components/input-tag/input-tag.component.js +4 -4
- package/esm2015/components/input-time/input-time-options.js +4 -1
- package/esm2015/components/input-time/input-time.component.js +10 -8
- package/esm2015/components/multi-select/multi-select.component.js +17 -11
- package/esm2015/components/rating/index.js +4 -0
- package/esm2015/components/rating/rating-options.js +11 -0
- package/esm2015/components/rating/rating.component.js +91 -0
- package/esm2015/components/rating/rating.module.js +23 -0
- package/esm2015/components/rating/taiga-ui-kit-components-rating.js +5 -0
- package/esm2015/components/select/select.component.js +13 -14
- package/esm2015/components/tag/tag.component.js +2 -2
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/tree/components/tree/tree.component.js +11 -6
- package/esm2015/components/tree/tree.module.js +9 -2
- package/esm2015/constants/index.js +2 -1
- package/esm2015/constants/masks.js +9 -1
- package/esm2015/constants/max-time-values.js +7 -0
- package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm2015/tokens/date-inputs-value-transformers.js +5 -0
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/types/index.js +1 -1
- package/esm2015/types/time-format-parts.js +1 -0
- package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -4
- package/esm2015/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
- package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
- package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +10 -7
- package/esm2015/utils/mask/create-date-mask.js +16 -0
- package/esm2015/utils/mask/create-date-range-mask.js +14 -0
- package/esm2015/utils/mask/create-time-mask.js +19 -8
- package/esm2015/utils/mask/index.js +3 -1
- package/esm2015/utils/miscellaneous/get-precision.js +8 -0
- package/esm2015/utils/miscellaneous/index.js +2 -1
- package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +10 -4
- package/esm5/abstract/input-slider.js +4 -2
- package/esm5/abstract/slider/slider.js +1 -1
- package/esm5/components/arrow/arrow-options.js +17 -0
- package/esm5/components/arrow/arrow.component.js +12 -8
- package/esm5/components/arrow/arrow.module.js +3 -2
- package/esm5/components/arrow/index.js +2 -1
- package/esm5/components/calendar-month/calendar-month.component.js +5 -2
- package/esm5/components/carousel/carousel-scroll.directive.js +5 -4
- package/esm5/components/carousel/carousel.component.js +1 -1
- package/esm5/components/checkbox/checkbox.component.js +2 -2
- package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm5/components/combo-box/combo-box.component.js +15 -21
- package/esm5/components/index.js +2 -1
- package/esm5/components/input/input.component.js +2 -2
- package/esm5/components/input-count/input-count.component.js +3 -7
- package/esm5/components/input-date/input-date.component.js +33 -18
- package/esm5/components/input-date-range/input-date-range.component.js +34 -19
- package/esm5/components/input-date-time/input-date-time.component.js +45 -28
- package/esm5/components/input-file/input-file.component.js +2 -9
- package/esm5/components/input-inline/input-inline.component.js +4 -17
- package/esm5/components/input-month/input-month.component.js +2 -9
- package/esm5/components/input-month-range/input-month-range.component.js +2 -9
- package/esm5/components/input-number/input-number.component.js +14 -14
- package/esm5/components/input-password/input-password.component.js +3 -10
- package/esm5/components/input-phone/input-phone.component.js +4 -4
- package/esm5/components/input-phone-international/const/countries.js +21 -10
- package/esm5/components/input-phone-international/country-iso-code.js +2 -2
- package/esm5/components/input-phone-international/index.js +3 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +15 -18
- package/esm5/components/input-phone-international/tokens/countries-masks.js +6 -0
- package/esm5/components/input-phone-international/utils/extract-value-from-event.js +9 -0
- package/esm5/components/input-range/input-range.component.js +9 -6
- package/esm5/components/input-slider/input-slider.component.js +9 -6
- package/esm5/components/input-tag/input-tag.component.js +4 -4
- package/esm5/components/input-time/input-time-options.js +4 -1
- package/esm5/components/input-time/input-time.component.js +10 -12
- package/esm5/components/multi-select/multi-select.component.js +21 -15
- package/esm5/components/rating/index.js +4 -0
- package/esm5/components/rating/rating-options.js +11 -0
- package/esm5/components/rating/rating.component.js +111 -0
- package/esm5/components/rating/rating.module.js +26 -0
- package/esm5/components/rating/taiga-ui-kit-components-rating.js +5 -0
- package/esm5/components/select/select.component.js +13 -18
- package/esm5/components/tag/tag.component.js +1 -1
- package/esm5/components/text-area/text-area.component.js +3 -3
- package/esm5/components/tree/components/tree/tree.component.js +15 -9
- package/esm5/components/tree/tree.module.js +9 -2
- package/esm5/constants/index.js +2 -1
- package/esm5/constants/masks.js +9 -1
- package/esm5/constants/max-time-values.js +7 -0
- package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm5/tokens/date-inputs-value-transformers.js +5 -0
- package/esm5/tokens/index.js +2 -1
- package/esm5/types/index.js +1 -1
- package/esm5/types/time-format-parts.js +1 -0
- package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -4
- package/esm5/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
- package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
- package/esm5/utils/mask/create-auto-corrected-time-pipe.js +10 -7
- package/esm5/utils/mask/create-date-mask.js +17 -0
- package/esm5/utils/mask/create-date-range-mask.js +13 -0
- package/esm5/utils/mask/create-time-mask.js +18 -7
- package/esm5/utils/mask/index.js +3 -1
- package/esm5/utils/miscellaneous/get-precision.js +9 -0
- package/esm5/utils/miscellaneous/index.js +2 -1
- package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +12 -4
- package/fesm2015/taiga-ui-kit-abstract.js +3 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js +29 -11
- package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +5 -4
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +14 -16
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +2 -6
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +31 -18
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +45 -24
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +30 -17
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +3 -12
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +14 -14
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +2 -5
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +46 -28
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +8 -5
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +8 -5
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +11 -6
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +16 -10
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +123 -0
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-select.js +12 -13
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- 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-tree.js +17 -8
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -0
- package/fesm2015/taiga-ui-kit-components.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +16 -1
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +5 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +71 -27
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +17 -3
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +3 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-arrow.js +29 -11
- package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +4 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js +5 -4
- package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js +14 -20
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js +2 -6
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js +33 -18
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js +45 -28
- package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js +32 -17
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-inline.js +3 -16
- package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +13 -13
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-password.js +2 -9
- package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +46 -28
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +8 -5
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +8 -5
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js +11 -10
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input.js +1 -1
- package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +20 -14
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-rating.js +146 -0
- package/fesm5/taiga-ui-kit-components-rating.js.map +1 -0
- package/fesm5/taiga-ui-kit-components-select.js +12 -17
- package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js +21 -11
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-components.js +1 -0
- package/fesm5/taiga-ui-kit-components.js.map +1 -1
- package/fesm5/taiga-ui-kit-constants.js +16 -1
- package/fesm5/taiga-ui-kit-constants.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js +5 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +67 -26
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +20 -3
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +14 -14
- package/tokens/date-inputs-value-transformers.d.ts +5 -0
- package/tokens/index.d.ts +1 -0
- package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
- package/types/index.d.ts +1 -0
- package/types/taiga-ui-kit-types.metadata.json +1 -1
- package/types/time-format-parts.d.ts +1 -0
- package/utils/mask/create-auto-corrected-date-pipe.d.ts +7 -3
- package/utils/mask/create-auto-corrected-date-range-pipe.d.ts +7 -2
- package/utils/mask/create-auto-corrected-date-time-pipe.d.ts +8 -3
- package/utils/mask/create-auto-corrected-time-pipe.d.ts +3 -2
- package/utils/mask/create-date-mask.d.ts +3 -0
- package/utils/mask/create-date-range-mask.d.ts +3 -0
- package/utils/mask/create-time-mask.d.ts +2 -1
- package/utils/mask/index.d.ts +2 -0
- package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
- package/utils/miscellaneous/get-precision.d.ts +4 -0
- package/utils/miscellaneous/index.d.ts +1 -0
- package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +3 -2
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -3,15 +3,16 @@ import { __decorate, __param } from "tslib";
|
|
|
3
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostBinding, Inject, Optional, Self, ViewChild, } from '@angular/core';
|
|
4
4
|
import { NgControl } from '@angular/forms';
|
|
5
5
|
import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_MOBILE, } from '@taiga-ui/cdk';
|
|
6
|
-
import { formatNumber, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_NUMBER_FORMAT, TuiModeDirective, } from '@taiga-ui/core';
|
|
6
|
+
import { formatNumber, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TuiModeDirective, } from '@taiga-ui/core';
|
|
7
7
|
import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
|
|
8
8
|
// @dynamic
|
|
9
9
|
let TuiInputRangeComponent = TuiInputRangeComponent_1 = class TuiInputRangeComponent extends AbstractTuiInputSlider {
|
|
10
|
-
constructor(control, changeDetectorRef, modeDirective, isMobile, numberFormat) {
|
|
10
|
+
constructor(control, changeDetectorRef, modeDirective, isMobile, numberFormat, appearance) {
|
|
11
11
|
super(control, changeDetectorRef);
|
|
12
12
|
this.modeDirective = modeDirective;
|
|
13
13
|
this.isMobile = isMobile;
|
|
14
14
|
this.numberFormat = numberFormat;
|
|
15
|
+
this.appearance = appearance;
|
|
15
16
|
}
|
|
16
17
|
get nativeFocusableElement() {
|
|
17
18
|
return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;
|
|
@@ -170,7 +171,8 @@ TuiInputRangeComponent.ctorParameters = () => [
|
|
|
170
171
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
171
172
|
{ type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
|
|
172
173
|
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
|
|
173
|
-
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] }
|
|
174
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
|
|
175
|
+
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
|
|
174
176
|
];
|
|
175
177
|
__decorate([
|
|
176
178
|
ViewChild('nativeLeft')
|
|
@@ -187,7 +189,7 @@ __decorate([
|
|
|
187
189
|
TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
|
|
188
190
|
Component({
|
|
189
191
|
selector: 'tui-input-range',
|
|
190
|
-
template: "<div class=\"zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n appearance=\"
|
|
192
|
+
template: "<div class=\"zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"content\">\n <span *ngIf=\"!showMinLabel\" class=\"label\">\n <span class=\"value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"native native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"pluralize pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n",
|
|
191
193
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
192
194
|
providers: [
|
|
193
195
|
{
|
|
@@ -204,7 +206,8 @@ TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
|
|
|
204
206
|
__param(2, Optional()),
|
|
205
207
|
__param(2, Inject(TuiModeDirective)),
|
|
206
208
|
__param(3, Inject(TUI_IS_MOBILE)),
|
|
207
|
-
__param(4, Inject(TUI_NUMBER_FORMAT))
|
|
209
|
+
__param(4, Inject(TUI_NUMBER_FORMAT)),
|
|
210
|
+
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
208
211
|
], TuiInputRangeComponent);
|
|
209
212
|
export { TuiInputRangeComponent };
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLGFBQWEsR0FHaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFlBQVksRUFDWix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsV0FBVztBQWFYLElBQWEsc0JBQXNCLDhCQUFuQyxNQUFhLHNCQUNULFNBQVEsc0JBQXdDO0lBU2hELFlBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFHNUMsYUFBc0MsRUFFeEMsUUFBaUIsRUFFZixZQUFrQztRQUVyRCxLQUFLLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFOZixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFFeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUVmLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtJQUd6RCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFB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eSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8W251bWJlciwgbnVtYmVyXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoJ25hdGl2ZUxlZnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlTGVmdD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCduYXRpdmVSaWdodCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmVSaWdodD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5hdGl2ZUxlZnQgfHwgdGhpcy5kaXNhYmxlZCA/IG51bGwgOiB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZExlZnQgfHwgdGhpcy5mb2N1c2VkUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWRMZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5hdGl2ZUxlZnQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZFJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5hdGl2ZVJpZ2h0ICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWRMZWZ0ICYmICEhdGhpcy5taW5MYWJlbCAmJiB0aGlzLnZhbHVlWzBdID09PSB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9tYXgtbGFiZWwnKVxuICAgIGdldCBzaG93TWF4TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkUmlnaHQgJiYgISF0aGlzLm1heExhYmVsICYmIHRoaXMudmFsdWVbMV0gPT09IHRoaXMubWF4O1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVMZWZ0ID8gdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRWYWx1ZVJpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVJpZ2h0ID8gdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVMZWZ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlWzBdKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZVJpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlWzFdKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKCkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVSaWdodCAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dVcExlZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93RG93bkxlZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAoZmFsc2UsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwUmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duUmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAoZmFsc2UsIHRydWUpO1xuICAgIH1cblxuICAgIG9uSW5wdXRMZWZ0KCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRWYWx1ZUxlZnQ7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuY2FwSW5wdXRWYWx1ZSh2YWx1ZSwgdGhpcy52YWx1ZVsxXSk7XG4gICAgICAgIGNvbnN0IHBvc3RmaXggPSB2YWx1ZS5zbGljZSgtMSlbMF0gPT09ICcsJyA/ICcsJyA6ICcnO1xuXG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkgfHwgY2FwcGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGNhcHBlZCkgKyBwb3N0Zml4O1xuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUxlZnQgJiYgdGhpcy5pbnB1dFZhbHVlTGVmdCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtjYXBwZWQsIHRoaXMudmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvbklucHV0UmlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFZhbHVlUmlnaHQ7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuY2FwSW5wdXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHBvc3RmaXggPSB2YWx1ZS5zbGljZSgtMSlbMF0gPT09ICcsJyA/ICcsJyA6ICcnO1xuXG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkgfHwgY2FwcGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGNhcHBlZCkgKyBwb3N0Zml4O1xuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVJpZ2h0ICYmIHRoaXMuaW5wdXRWYWx1ZVJpZ2h0ICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FwcGVkID49IHRoaXMudmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3RoaXMudmFsdWVbMF0sIGNhcHBlZF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SYW5nZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIGNvbnN0IGd1YXJkZWRWYWx1ZSA9IHZhbHVlLm1hcChpdGVtID0+IHRoaXMudmFsdWVHdWFyZChpdGVtKSkgYXMgW251bWJlciwgbnVtYmVyXTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5uYXRpdmVMZWZ0IHx8XG4gICAgICAgICAgICAhdGhpcy5uYXRpdmVSaWdodCB8fFxuICAgICAgICAgICAgKGd1YXJkZWRWYWx1ZVswXSA9PT0gdGhpcy52YWx1ZVswXSAmJiBndWFyZGVkVmFsdWVbMV0gPT09IHRoaXMudmFsdWVbMV0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICAgICBndWFyZGVkVmFsdWVbMF0gIT09IHRoaXMudmFsdWVbMF1cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoZ3VhcmRlZFZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihndWFyZGVkVmFsdWVbMF0pO1xuICAgIH1cblxuICAgIG9uTGVmdEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZm9jdXNlZCB8fCAhdGhpcy5uYXRpdmVMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWVMZWZ0LFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGlzTmFOKGlucHV0VmFsdWUpID8gdGhpcy5taW4gOiB0aGlzLnZhbHVlR3VhcmQoaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFt2YWx1ZSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SaWdodEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZm9jdXNlZCB8fCAhdGhpcy5uYXRpdmVSaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFZhbHVlUmlnaHQsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlWzBdXG4gICAgICAgICAgICA6IHRoaXMudmFsdWVHdWFyZChNYXRoLm1heChpbnB1dFZhbHVlLCB0aGlzLnZhbHVlWzBdKSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgdmFsdWVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICByZXR1cm4gWzAsIDBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0ZXAoaW5jcmVtZW50OiBib29sZWFuLCByaWdodDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMudmFsdWVHdWFyZChcbiAgICAgICAgICAgIGluY3JlbWVudCA/IHRoaXMudmFsdWVbMF0gKyB0aGlzLnN0ZXAgOiB0aGlzLnZhbHVlWzBdIC0gdGhpcy5zdGVwLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlWzFdICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZVsxXSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFtudW1iZXIsIG51bWJlcl0gPSBbXG4gICAgICAgICAgICByaWdodCA/IHRoaXMudmFsdWVbMF0gOiBNYXRoLm1pbihzdGFydCwgdGhpcy52YWx1ZVsxXSksXG4gICAgICAgICAgICByaWdodCA/IE1hdGgubWF4KGVuZCwgdGhpcy52YWx1ZVswXSkgOiB0aGlzLnZhbHVlWzFdLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh2YWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXSB8fCB2YWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLGFBQWEsR0FHaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFlBQVksRUFDWix1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlELFdBQVc7QUFhWCxJQUFhLHNCQUFzQiw4QkFBbkMsTUFBYSxzQkFDVCxTQUFRLHNCQUF3QztJQVNoRCxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRzVDLGFBQXNDLEVBRXhDLFFBQWlCLEVBRWYsWUFBa0MsRUFFNUMsVUFBa0I7UUFFM0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBUmYsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBRXhDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFFZixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFFNUMsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUcvQixDQUFDO0lBRUQsSUFBSSxzQkFB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LENBQUMsd0JBQXdCLENBQUMsQ0FBQTtHQXZCNUIsc0JBQXNCLENBeVBsQztTQXpQWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8W251bWJlciwgbnVtYmVyXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoJ25hdGl2ZUxlZnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlTGVmdD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCduYXRpdmVSaWdodCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmVSaWdodD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5hdGl2ZUxlZnQgfHwgdGhpcy5kaXNhYmxlZCA/IG51bGwgOiB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZExlZnQgfHwgdGhpcy5mb2N1c2VkUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWRMZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5hdGl2ZUxlZnQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZFJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5hdGl2ZVJpZ2h0ICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWRMZWZ0ICYmICEhdGhpcy5taW5MYWJlbCAmJiB0aGlzLnZhbHVlWzBdID09PSB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9tYXgtbGFiZWwnKVxuICAgIGdldCBzaG93TWF4TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkUmlnaHQgJiYgISF0aGlzLm1heExhYmVsICYmIHRoaXMudmFsdWVbMV0gPT09IHRoaXMubWF4O1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlTGVmdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVMZWZ0ID8gdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRWYWx1ZVJpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVJpZ2h0ID8gdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVMZWZ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlWzBdKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZVJpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih0aGlzLnZhbHVlWzFdKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKCkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVSaWdodCAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZVJpZ2h0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dVcExlZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93RG93bkxlZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAoZmFsc2UsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwUmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duUmlnaHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAoZmFsc2UsIHRydWUpO1xuICAgIH1cblxuICAgIG9uSW5wdXRMZWZ0KCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRWYWx1ZUxlZnQ7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuY2FwSW5wdXRWYWx1ZSh2YWx1ZSwgdGhpcy52YWx1ZVsxXSk7XG4gICAgICAgIGNvbnN0IHBvc3RmaXggPSB2YWx1ZS5zbGljZSgtMSlbMF0gPT09ICcsJyA/ICcsJyA6ICcnO1xuXG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkgfHwgY2FwcGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGNhcHBlZCkgKyBwb3N0Zml4O1xuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUxlZnQgJiYgdGhpcy5pbnB1dFZhbHVlTGVmdCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlTGVmdC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtjYXBwZWQsIHRoaXMudmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvbklucHV0UmlnaHQoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFZhbHVlUmlnaHQ7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuY2FwSW5wdXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHBvc3RmaXggPSB2YWx1ZS5zbGljZSgtMSlbMF0gPT09ICcsJyA/ICcsJyA6ICcnO1xuXG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkgfHwgY2FwcGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGNhcHBlZCkgKyBwb3N0Zml4O1xuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVJpZ2h0ICYmIHRoaXMuaW5wdXRWYWx1ZVJpZ2h0ICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FwcGVkID49IHRoaXMudmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3RoaXMudmFsdWVbMF0sIGNhcHBlZF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SYW5nZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgICAgIGNvbnN0IGd1YXJkZWRWYWx1ZSA9IHZhbHVlLm1hcChpdGVtID0+IHRoaXMudmFsdWVHdWFyZChpdGVtKSkgYXMgW251bWJlciwgbnVtYmVyXTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5uYXRpdmVMZWZ0IHx8XG4gICAgICAgICAgICAhdGhpcy5uYXRpdmVSaWdodCB8fFxuICAgICAgICAgICAgKGd1YXJkZWRWYWx1ZVswXSA9PT0gdGhpcy52YWx1ZVswXSAmJiBndWFyZGVkVmFsdWVbMV0gPT09IHRoaXMudmFsdWVbMV0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICAgICBndWFyZGVkVmFsdWVbMF0gIT09IHRoaXMudmFsdWVbMF1cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLm5hdGl2ZUxlZnQubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMubmF0aXZlUmlnaHQubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoZ3VhcmRlZFZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihndWFyZGVkVmFsdWVbMF0pO1xuICAgIH1cblxuICAgIG9uTGVmdEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZm9jdXNlZCB8fCAhdGhpcy5uYXRpdmVMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWVMZWZ0LFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGlzTmFOKGlucHV0VmFsdWUpID8gdGhpcy5taW4gOiB0aGlzLnZhbHVlR3VhcmQoaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVMZWZ0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFt2YWx1ZSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SaWdodEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZm9jdXNlZCB8fCAhdGhpcy5uYXRpdmVSaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFZhbHVlUmlnaHQsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlWzBdXG4gICAgICAgICAgICA6IHRoaXMudmFsdWVHdWFyZChNYXRoLm1heChpbnB1dFZhbHVlLCB0aGlzLnZhbHVlWzBdKSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVSaWdodC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgdmFsdWVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICByZXR1cm4gWzAsIDBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0ZXAoaW5jcmVtZW50OiBib29sZWFuLCByaWdodDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMudmFsdWVHdWFyZChcbiAgICAgICAgICAgIGluY3JlbWVudCA/IHRoaXMudmFsdWVbMF0gKyB0aGlzLnN0ZXAgOiB0aGlzLnZhbHVlWzBdIC0gdGhpcy5zdGVwLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlWzFdICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZVsxXSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFtudW1iZXIsIG51bWJlcl0gPSBbXG4gICAgICAgICAgICByaWdodCA/IHRoaXMudmFsdWVbMF0gOiBNYXRoLm1pbihzdGFydCwgdGhpcy52YWx1ZVsxXSksXG4gICAgICAgICAgICByaWdodCA/IE1hdGgubWF4KGVuZCwgdGhpcy52YWx1ZVswXSkgOiB0aGlzLnZhbHVlWzFdLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh2YWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXSB8fCB2YWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -3,15 +3,16 @@ import { __decorate, __param } from "tslib";
|
|
|
3
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
4
4
|
import { NgControl } from '@angular/forms';
|
|
5
5
|
import { isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
6
|
-
import { formatNumber, HINT_CONTROLLER_PROVIDER, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_HINT_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TuiHintControllerDirective, TuiModeDirective, } from '@taiga-ui/core';
|
|
6
|
+
import { formatNumber, HINT_CONTROLLER_PROVIDER, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, NumberFormatSettings, TUI_HINT_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TuiHintControllerDirective, TuiModeDirective, } from '@taiga-ui/core';
|
|
7
7
|
import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
|
|
8
8
|
// @dynamic
|
|
9
9
|
let TuiInputSliderComponent = TuiInputSliderComponent_1 = class TuiInputSliderComponent extends AbstractTuiInputSlider {
|
|
10
|
-
constructor(control, changeDetectorRef, modeDirective, hintController, numberFormat) {
|
|
10
|
+
constructor(control, changeDetectorRef, modeDirective, hintController, numberFormat, appearance) {
|
|
11
11
|
super(control, changeDetectorRef);
|
|
12
12
|
this.modeDirective = modeDirective;
|
|
13
13
|
this.hintController = hintController;
|
|
14
14
|
this.numberFormat = numberFormat;
|
|
15
|
+
this.appearance = appearance;
|
|
15
16
|
this.secondary = '';
|
|
16
17
|
}
|
|
17
18
|
get nativeFocusableElement() {
|
|
@@ -125,7 +126,8 @@ TuiInputSliderComponent.ctorParameters = () => [
|
|
|
125
126
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
126
127
|
{ type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
|
|
127
128
|
{ type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
|
|
128
|
-
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] }
|
|
129
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
|
|
130
|
+
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
|
|
129
131
|
];
|
|
130
132
|
__decorate([
|
|
131
133
|
ViewChild('focusableElement')
|
|
@@ -146,7 +148,7 @@ __decorate([
|
|
|
146
148
|
TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
147
149
|
Component({
|
|
148
150
|
selector: 'tui-input-slider',
|
|
149
|
-
template: "<tui-wrapper\n appearance=\"
|
|
151
|
+
template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"label\">\n <span class=\"value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"secondary\">\n {{ secondary }}\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n<tui-slider\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onSliderValue($event)\"\n (mousedown)=\"onMouseDown()\"\n></tui-slider>\n",
|
|
150
152
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
151
153
|
providers: [
|
|
152
154
|
{
|
|
@@ -164,7 +166,8 @@ TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
|
164
166
|
__param(2, Optional()),
|
|
165
167
|
__param(2, Inject(TuiModeDirective)),
|
|
166
168
|
__param(3, Inject(TUI_HINT_WATCHED_CONTROLLER)),
|
|
167
|
-
__param(4, Inject(TUI_NUMBER_FORMAT))
|
|
169
|
+
__param(4, Inject(TUI_NUMBER_FORMAT)),
|
|
170
|
+
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
168
171
|
], TuiInputSliderComponent);
|
|
169
172
|
export { TuiInputSliderComponent };
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlELFdBQVc7QUFjWCxJQUFhLHVCQUF1QiwrQkFBcEMsTUFBYSx1QkFDVCxTQUFRLHNCQUE4QjtJQVV0QyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRzVDLGFBQXNDLEVBRWhELGNBQTBDLEVBRWhDLFlBQWtDO1FBRXJELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQU5mLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUVoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBNEI7UUFFaEMsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBZHpELGNBQVMsR0FBRyxFQUFF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XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfSElOVF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUlucHV0U2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNsaWRlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1zbGlkZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlY29uZGFyeSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy10b29sdGlwJylcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50Q29udHJvbGxlci5jb250ZW50ICYmICF0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21pbi1sYWJlbCcpXG4gICAgZ2V0IHNob3dNaW5MYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5taW4gJiYgISF0aGlzLm1pbkxhYmVsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX21heC1sYWJlbCcpXG4gICAgZ2V0IHNob3dNYXhMYWJlbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzZWQgJiYgdGhpcy52YWx1ZSA9PT0gdGhpcy5tYXggJiYgISF0aGlzLm1heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5pc0lucHV0VmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zaG93TWluTGFiZWwgJiYgIXRoaXMuc2hvd01heExhYmVsO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBpbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKCkge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0ZXAodHJ1ZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25LZXlEb3duQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpc05hTihpbnB1dFZhbHVlKSA/IHRoaXMubWluIDogdGhpcy52YWx1ZUd1YXJkKGlucHV0VmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgICBjb25zdCBwb3N0Zml4ID0gdmFsdWUuc2xpY2UoLTEpWzBdID09PSAnLCcgPyAnLCcgOiAnJztcblxuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpIHx8IGNhcHBlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcihjYXBwZWQpICsgcG9zdGZpeDtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBvblNsaWRlclZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNJbnB1dFZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RlcChpbmNyZW1lbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlR3VhcmQoXG4gICAgICAgICAgICBpbmNyZW1lbnQgPyB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1osd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUMxQixnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxXQUFXO0FBY1gsSUFBYSx1QkFBdUIsK0JBQXBDLE1BQWEsdUJBQ1QsU0FBUSxzQkFBOEI7SUFVdEMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUc1QyxhQUFzQyxFQUVoRCxjQUEwQyxFQUVoQyxZQUFrQyxFQUU1QyxVQUFrQjtRQUUzQixLQUFLLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFSZixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFFaEQsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRWhDLGlCQUFZLEdBQVosWUFBWSxD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QWlCLENBQUMsQ0FBQTtJQUV6QixXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0dBeEI1Qix1QkFBdUIsQ0F5TG5DO1NBekxZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUVUlfSElOVF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWNvbmRhcnkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgaGludENvbnRyb2xsZXI6IFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oYXMtdG9vbHRpcCcpXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9taW4tbGFiZWwnKVxuICAgIGdldCBzaG93TWluTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudmFsdWUgPT09IHRoaXMubWluICYmICEhdGhpcy5taW5MYWJlbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9tYXgtbGFiZWwnKVxuICAgIGdldCBzaG93TWF4TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2VkICYmIHRoaXMudmFsdWUgPT09IHRoaXMubWF4ICYmICEhdGhpcy5tYXhMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmIHRoaXMuaXNJbnB1dFZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2hvd01pbkxhYmVsICYmICF0aGlzLnNob3dNYXhMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVFbGVtZW50ID8gdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgaW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bigpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NTdGVwKHRydWUpO1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uS2V5RG93bkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzU3RlcChmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkVmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXNOYU4oaW5wdXRWYWx1ZSkgPyB0aGlzLm1pbiA6IHRoaXMudmFsdWVHdWFyZChpbnB1dFZhbHVlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9zdGZpeCA9IHZhbHVlLnNsaWNlKC0xKVswXSA9PT0gJywnID8gJywnIDogJyc7XG5cbiAgICAgICAgaWYgKG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5KHZhbHVlKSB8fCBjYXBwZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKSArIHBvc3RmaXg7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNhcHBlZCk7XG4gICAgfVxuXG4gICAgb25TbGlkZXJWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzSW5wdXRWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0ZXAoaW5jcmVtZW50OiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKFxuICAgICAgICAgICAgaW5jcmVtZW50ID8gdGhpcy52YWx1ZSArIHRoaXMuc3RlcCA6IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -61,7 +61,7 @@ let TuiInputTagComponent = TuiInputTagComponent_1 = class TuiInputTagComponent e
|
|
|
61
61
|
return size === 's' || labelOutside;
|
|
62
62
|
}
|
|
63
63
|
get hasCleaner() {
|
|
64
|
-
return
|
|
64
|
+
return this.controller.cleaner && this.hasValue && this.interactive;
|
|
65
65
|
}
|
|
66
66
|
get hasNativeValue() {
|
|
67
67
|
return !!this.search;
|
|
@@ -98,7 +98,7 @@ let TuiInputTagComponent = TuiInputTagComponent_1 = class TuiInputTagComponent e
|
|
|
98
98
|
return this.modeDirective && this.modeDirective.mode ? 'default' : this.tagStatus;
|
|
99
99
|
}
|
|
100
100
|
get canOpen() {
|
|
101
|
-
return
|
|
101
|
+
return this.interactive && !!this.datalist;
|
|
102
102
|
}
|
|
103
103
|
getLeftContent(tag) {
|
|
104
104
|
return !this.tagValidator(tag) && this.errorIconTemplate
|
|
@@ -380,7 +380,7 @@ TuiInputTagComponent = TuiInputTagComponent_1 = __decorate([
|
|
|
380
380
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
381
381
|
HINT_CONTROLLER_PROVIDER,
|
|
382
382
|
],
|
|
383
|
-
styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.hosted{display:block;border-radius:inherit}.scrollbar{margin:0 -.25rem;padding:0 .25rem}.tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .tags{flex-wrap:wrap;white-space:normal}:host._readonly .tags{pointer-events:none}:host[data-tui-host-size='s'] .tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-tui-host-size='m'] .tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-tui-host-size='l'] .tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-tui-host-size='m']:not(._label-outside) .tags{padding:1.1875rem 1rem 0 0}:host[data-tui-host-size='l']:not(._label-outside) .tags{padding:1.6875rem 1rem .5625rem 0}.tags :host[data-tui-host-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-tui-host-size]:not(._label-outside) .tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.content{padding:0;align-items:flex-start}:host[data-tui-host-size='m'] .content,:host[data-tui-host-size='s'] .content{padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-tui-host-size='s'] .icons{height:var(--tui-height-s)}:host[data-tui-host-size='m'] .icons{height:var(--tui-height-m)}:host[data-tui-host-size='l'] .icons{height:var(--tui-height-l)}.absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-tui-host-size='m'] .absolute-wrapper{height:var(--tui-height-m)}:host[data-tui-host-size='l'] .absolute-wrapper{height:var(--tui-height-l)}.wrapper{position:relative;padding:0}.tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.text:after{content:',\\00a0'}.text_disabled{color:var(--tui-text-03)}.text_error{color:var(--tui-negative)}:host:not(._expandable) .text{white-space:nowrap}:host:not(:focus-within) .text:last-of-type:after{content:''}.input-wrapper{position:relative;flex:1;max-width:100%}.input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-tui-host-size='s'] .input-wrapper{min-height:1.5rem}:host[data-tui-host-size='m'] .input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-tui-host-size='l'] .input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .input-wrapper{min-height:1.25rem}.ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .ghost{min-width:2rem}.native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.native_hidden{opacity:0;text-indent:-10em}.native::-moz-placeholder{color:var(--tui-text-03);opacity:0}.native:-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .native::-moz-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .native:-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .native::placeholder{color:var(--tui-text-03-night)}:host._focused .native:not(:read-only)::-moz-placeholder{opacity:1}:host._focused .native:not(:read-only):-ms-input-placeholder{opacity:1}:host._focused .native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .native:not(:read-only)::placeholder{opacity:1}.error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
|
|
383
|
+
styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.placeholder{transition-property:transform,color,letter-spacing}}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.hosted{display:block;border-radius:inherit}.scrollbar{margin:0 -.25rem;padding:0 .25rem}.tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .tags{flex-wrap:wrap;white-space:normal}:host._readonly .tags{pointer-events:none}:host[data-tui-host-size='s'] .tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-tui-host-size='m'] .tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-tui-host-size='l'] .tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-tui-host-size='m']:not(._label-outside) .tags{padding:1.1875rem 1rem 0 0}:host[data-tui-host-size='l']:not(._label-outside) .tags{padding:1.6875rem 1rem .5625rem 0}.tags :host[data-tui-host-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-tui-host-size]:not(._label-outside) .tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.content{align-items:flex-start}.icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-tui-host-size='s'] .icons{height:var(--tui-height-s)}:host[data-tui-host-size='m'] .icons{height:var(--tui-height-m)}:host[data-tui-host-size='l'] .icons{height:var(--tui-height-l)}.absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-tui-host-size='m'] .absolute-wrapper{height:var(--tui-height-m)}:host[data-tui-host-size='l'] .absolute-wrapper{height:var(--tui-height-l)}.wrapper{position:relative;padding:0}.tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.text:after{content:',\\00a0'}.text_disabled{color:var(--tui-text-03)}.text_error{color:var(--tui-negative)}:host:not(._expandable) .text{white-space:nowrap}:host:not(:focus-within) .text:last-of-type:after{content:''}.input-wrapper{position:relative;flex:1;max-width:100%}.input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-tui-host-size='s'] .input-wrapper{min-height:1.5rem}:host[data-tui-host-size='m'] .input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-tui-host-size='l'] .input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .input-wrapper{min-height:1.25rem}.ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .ghost{min-width:2rem}.native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.native_hidden{opacity:0;text-indent:-10em}.native::-moz-placeholder{color:var(--tui-text-03);opacity:0}.native:-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .native::-moz-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .native:-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .native::placeholder{color:var(--tui-text-03-night)}:host._focused .native:not(:read-only)::-moz-placeholder{opacity:1}:host._focused .native:not(:read-only):-ms-input-placeholder{opacity:1}:host._focused .native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .native:not(:read-only)::placeholder{opacity:1}.error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
|
|
384
384
|
}),
|
|
385
385
|
__param(0, Optional()),
|
|
386
386
|
__param(0, Self()),
|
|
@@ -396,4 +396,4 @@ TuiInputTagComponent = TuiInputTagComponent_1 = __decorate([
|
|
|
396
396
|
__param(8, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER))
|
|
397
397
|
], TuiInputTagComponent);
|
|
398
398
|
export { TuiInputTagComponent };
|
|
399
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsMkJBQTJCLEVBQzNCLGdCQUFnQixFQUNoQixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsUUFBUSxFQUNSLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFB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Z0MsQ0FBQyxDQUFBO0dBdEdwQyxvQkFBb0IsQ0FzYWhDO1NBdGFZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldEFjdHVhbFRhcmdldCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBwcmV2ZW50RGVmYXVsdCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTY3JvbGxiYXJDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0VOVCA9IDM7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXRhZycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRhZy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC10YWcuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFRhZ0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRhZ0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhZ3NDb250YWluZXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnc0NvbnRhaW5lcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbigndGFnJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQFZpZXdDaGlsZCgnY2xlYW5lcicsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsZWFuZXJTdmc/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2Nyb2xsYmFyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxCYXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9TdGFydCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9FbmQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25BbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRhZ1ZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IEFMV0FZU19UUlVFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5wdXRIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXRpb24oc2Nyb2xsZXIpO1xuICAgIH1cblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpU2Nyb2xsU2VydmljZSkgcHJpdmF0ZSB0dWlTY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmRyb3Bkb3duICYmIHRoaXMuZHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtzaXplLCBsYWJlbE91dHNpZGV9ID0gdGhpcy5jb250cm9sbGVyO1xuXG4gICAgICAgIHJldHVybiBzaXplID09PSAncycgfHwgbGFiZWxPdXRzaWRlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiYgdGhpcy5oYXNWYWx1ZSAmJiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkT25seVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNOYXRpdmVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlLmxlbmd0aCB8fCB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmxhYmVsT3V0c2lkZSB8fCAoIXRoaXMuaGFzVmFsdWUgJiYgIXRoaXMuaGFzRXhhbXBsZVRleHQpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmxhYmVsT3V0c2lkZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRXhhbXBsZVRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMuY29udHJvbGxlci5leGFtcGxlVGV4dCAmJlxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZEZvY3VzZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmhhc1ZhbHVlICYmXG4gICAgICAgICAgICAhdGhpcy5yZWFkT25seVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhpbnRDb250cm9sbGVyLmNvbnRlbnQgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ2xlZnQnO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAncmlnaHQnO1xuICAgIH1cblxuICAgIGdldCBoYXNSaWdodEljb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDbGVhbmVyIHx8IHRoaXMuaGFzVG9vbHRpcCB8fCB0aGlzLmljb25BbGlnblJpZ2h0O1xuICAgIH1cblxuICAgIGdldCBzdGF0dXMoKTogVHVpU3RhdHVzVCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmUgJiYgdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGUgPyAnZGVmYXVsdCcgOiB0aGlzLnRhZ1N0YXR1cztcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHkgJiYgISF0aGlzLmRhdGFsaXN0O1xuICAgIH1cblxuICAgIGdldExlZnRDb250ZW50KHRhZzogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YWdWYWxpZGF0b3IodGFnKSAmJiB0aGlzLmVycm9ySWNvblRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgb25DbGVhbmVyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkZFRhZygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvU3RhcnQkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldCA9IGdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgYWN0dWFsVGFyZ2V0ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgICAgICEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmNsZWFuZXJTdmcgJiYgdGhpcy5jbGVhbmVyU3ZnLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlICYmICF0aGlzLmhhc05hdGl2ZVZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlIHx8IHRoaXMuaGFzTmF0aXZlVmFsdWUgfHwgIXRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMudGFncy5sYXN0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duRW50ZXIoKSB7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd0xlZnQoY3VycmVudEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMub25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleCwgLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdLZXlEb3duQXJyb3dSaWdodChjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFnRWRpdGVkKHZhbHVlOiBzdHJpbmcsIGVkaXRlZFRhZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVxuICAgICAgICAgICAgICAgIC5tYXAodGFnID0+XG4gICAgICAgICAgICAgICAgICAgIHRhZyAhPT0gZWRpdGVkVGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAodGFnID0+IHRhZy50cmltKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPihcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgaXRlbTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHJlc3VsdC5jb25jYXQoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGl0ZW0pKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvbklucHV0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYXJyYXkgPSB0aGlzLmFsbG93U3BhY2VzXG4gICAgICAgICAgICA/IHZhbHVlLnNwbGl0KCcsJylcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0KCk7XG5cbiAgICAgICAgc3VwZXIudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSlcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleDogbnVtYmVyLCBmbGFnOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdGFnID0gdGhpcy50YWdzLmZpbmQoKF9pdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGN1cnJlbnRJbmRleCArIGZsYWcpO1xuXG4gICAgICAgIGlmICghdGFnIHx8ICF0aGlzLnNjcm9sbEJhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YWcubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmxhZyAqIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgICB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8XG4gICAgICAgICAgICAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9XG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2Nyb2xsZXJTdWJzY3JpdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCkge1xuICAgICAgICBpZiAoIXNjcm9sbGVyIHx8ICFzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDRU5ULCAwKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN0YXJ0JCA9IHRoaXMuc2Nyb2xsVG9TdGFydCQucGlwZShtYXBUbygwKSk7XG4gICAgICAgIGNvbnN0IGVuZCQgPSB0aGlzLnNjcm9sbFRvRW5kJC5waXBlKG1hcCgoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoKSk7XG5cbiAgICAgICAgbWVyZ2Uod2hlZWwkLCBzdGFydCQsIGVuZCQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAobGVmdCA9PiB0aGlzLnR1aVNjcm9sbFNlcnZpY2Uuc2Nyb2xsJChuYXRpdmVFbGVtZW50LCAwLCBsZWZ0KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdWxkU2Nyb2xsKHtzY3JvbGxXaWR0aCwgb2Zmc2V0V2lkdGh9OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc2Nyb2xsV2lkdGggPiBvZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRhZygpIHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuc2VhcmNoLnRyaW0oKTtcblxuICAgICAgICBpZiAoIWlucHV0VmFsdWUgfHwgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKGlucHV0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS5jb25jYXQoaW5wdXRWYWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlTGFzdEVuYWJsZWRJdGVtKCkge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHRoaXMudmFsdWUubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGhpcy52YWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMudmFsdWUuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKGluZGV4ICsgMSwgdGhpcy52YWx1ZS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LCB0cnVlLCBwcmV2ZW50U2Nyb2xsKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
399
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsMkJBQTJCLEVBQzNCLGdCQUFnQixFQUNoQixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsUUFBUSxFQUNSLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFB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dCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldEFjdHVhbFRhcmdldCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBwcmV2ZW50RGVmYXVsdCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhpbnRDb250cm9sbGVyRGlyZWN0aXZlLFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTY3JvbGxiYXJDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFVkVOVF9ZX1RPX1hfQ09FRkZJQ0VOVCA9IDM7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXRhZycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRhZy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC10YWcuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFRhZ0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRhZ0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8c3RyaW5nPlxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhZ3NDb250YWluZXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnc0NvbnRhaW5lcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbigndGFnJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQFZpZXdDaGlsZCgnY2xlYW5lcicsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsZWFuZXJTdmc/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2Nyb2xsYmFyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxCYXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9TdGFydCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsVG9FbmQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25BbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRhZ1ZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IEFMV0FZU19UUlVFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5wdXRIaWRkZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXRpb24oc2Nyb2xsZXIpO1xuICAgIH1cblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpU2Nyb2xsU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSB0dWlTY3JvbGxTZXJ2aWNlOiBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmRyb3Bkb3duICYmIHRoaXMuZHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtzaXplLCBsYWJlbE91dHNpZGV9ID0gdGhpcy5jb250cm9sbGVyO1xuXG4gICAgICAgIHJldHVybiBzaXplID09PSAncycgfHwgbGFiZWxPdXRzaWRlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiYgdGhpcy5oYXNWYWx1ZSAmJiB0aGlzLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBoYXNOYXRpdmVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlLmxlbmd0aCB8fCB0aGlzLmhhc05hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmxhYmVsT3V0c2lkZSB8fCAoIXRoaXMuaGFzVmFsdWUgJiYgIXRoaXMuaGFzRXhhbXBsZVRleHQpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmxhYmVsT3V0c2lkZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRXhhbXBsZVRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMuY29udHJvbGxlci5leGFtcGxlVGV4dCAmJlxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZEZvY3VzZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmhhc1ZhbHVlICYmXG4gICAgICAgICAgICAhdGhpcy5yZWFkT25seVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhpbnRDb250cm9sbGVyLmNvbnRlbnQgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ2xlZnQnO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAncmlnaHQnO1xuICAgIH1cblxuICAgIGdldCBoYXNSaWdodEljb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDbGVhbmVyIHx8IHRoaXMuaGFzVG9vbHRpcCB8fCB0aGlzLmljb25BbGlnblJpZ2h0O1xuICAgIH1cblxuICAgIGdldCBzdGF0dXMoKTogVHVpU3RhdHVzVCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVEaXJlY3RpdmUgJiYgdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGUgPyAnZGVmYXVsdCcgOiB0aGlzLnRhZ1N0YXR1cztcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgISF0aGlzLmRhdGFsaXN0O1xuICAgIH1cblxuICAgIGdldExlZnRDb250ZW50KHRhZzogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiAhdGhpcy50YWdWYWxpZGF0b3IodGFnKSAmJiB0aGlzLmVycm9ySWNvblRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgb25DbGVhbmVyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkZFRhZygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29tcHV0ZWRGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvU3RhcnQkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldCA9IGdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgYWN0dWFsVGFyZ2V0ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgICAgICEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmNsZWFuZXJTdmcgJiYgdGhpcy5jbGVhbmVyU3ZnLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlICYmICF0aGlzLmhhc05hdGl2ZVZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMubGFiZWxPdXRzaWRlIHx8IHRoaXMuaGFzTmF0aXZlVmFsdWUgfHwgIXRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMudGFncy5sYXN0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRmllbGRLZXlEb3duRW50ZXIoKSB7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd0xlZnQoY3VycmVudEluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMub25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleCwgLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdLZXlEb3duQXJyb3dSaWdodChjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFnRWRpdGVkKHZhbHVlOiBzdHJpbmcsIGVkaXRlZFRhZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVxuICAgICAgICAgICAgICAgIC5tYXAodGFnID0+XG4gICAgICAgICAgICAgICAgICAgIHRhZyAhPT0gZWRpdGVkVGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRhZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAodGFnID0+IHRhZy50cmltKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPihcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgaXRlbTogc3RyaW5nIHwgc3RyaW5nW10pID0+IHJlc3VsdC5jb25jYXQoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKGl0ZW06IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGl0ZW0pKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9FbmQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBvbklucHV0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYXJyYXkgPSB0aGlzLmFsbG93U3BhY2VzXG4gICAgICAgICAgICA/IHZhbHVlLnNwbGl0KCcsJylcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0KCk7XG5cbiAgICAgICAgc3VwZXIudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSlcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY3JvbGxLZXlEb3duKGN1cnJlbnRJbmRleDogbnVtYmVyLCBmbGFnOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdGFnID0gdGhpcy50YWdzLmZpbmQoKF9pdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGN1cnJlbnRJbmRleCArIGZsYWcpO1xuXG4gICAgICAgIGlmICghdGFnIHx8ICF0aGlzLnNjcm9sbEJhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YWcubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZmxhZyAqIHRoaXMuc2Nyb2xsQmFyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgIGZsYWcgKiB0YWcubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgICB0YWcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8XG4gICAgICAgICAgICAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9XG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2Nyb2xsZXJTdWJzY3JpdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCkge1xuICAgICAgICBpZiAoIXNjcm9sbGVyIHx8ICFzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDRU5ULCAwKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN0YXJ0JCA9IHRoaXMuc2Nyb2xsVG9TdGFydCQucGlwZShtYXBUbygwKSk7XG4gICAgICAgIGNvbnN0IGVuZCQgPSB0aGlzLnNjcm9sbFRvRW5kJC5waXBlKG1hcCgoKSA9PiBuYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoKSk7XG5cbiAgICAgICAgbWVyZ2Uod2hlZWwkLCBzdGFydCQsIGVuZCQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAobGVmdCA9PiB0aGlzLnR1aVNjcm9sbFNlcnZpY2Uuc2Nyb2xsJChuYXRpdmVFbGVtZW50LCAwLCBsZWZ0KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvdWxkU2Nyb2xsKHtzY3JvbGxXaWR0aCwgb2Zmc2V0V2lkdGh9OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc2Nyb2xsV2lkdGggPiBvZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRhZygpIHtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuc2VhcmNoLnRyaW0oKTtcblxuICAgICAgICBpZiAoIWlucHV0VmFsdWUgfHwgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKGlucHV0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaCgnJyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS5jb25jYXQoaW5wdXRWYWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlTGFzdEVuYWJsZWRJdGVtKCkge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHRoaXMudmFsdWUubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGhpcy52YWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMudmFsdWUuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKGluZGV4ICsgMSwgdGhpcy52YWx1ZS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LCB0cnVlLCBwcmV2ZW50U2Nyb2xsKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { MAX_TIME_VALUES } from '@taiga-ui/kit/constants';
|
|
2
3
|
// TODO: remove in ivy compilation
|
|
3
4
|
export const INPUT_TIME_ICON = ({ $implicit }) => $implicit === 's' ? 'tuiIconTime' : 'tuiIconTimeLarge';
|
|
4
5
|
export const TUI_INPUT_TIME_DEFAULT_OPTIONS = {
|
|
5
6
|
icon: INPUT_TIME_ICON,
|
|
6
7
|
mode: 'HH:MM',
|
|
8
|
+
postfix: '',
|
|
9
|
+
maxValues: MAX_TIME_VALUES,
|
|
7
10
|
itemSize: 'm',
|
|
8
11
|
};
|
|
9
12
|
export const TUI_INPUT_TIME_OPTIONS = new InjectionToken('Default parameters for input time component', {
|
|
10
13
|
factory: () => TUI_INPUT_TIME_DEFAULT_OPTIONS,
|
|
11
14
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC10aW1lLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFZeEQsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEVBQUMsU0FBUyxFQUFNLEVBQUUsRUFBRSxDQUNoRCxTQUFTLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFxQjtJQUM1RCxJQUFJLEVBQUUsZUFBZTtJQUNyQixJQUFJLEVBQUUsT0FBTztJQUNiLE9BQU8sRUFBRSxFQUFFO0lBQ1gsU0FBUyxFQUFFLGVBQWU7SUFDMUIsUUFBUSxFQUFFLEdBQUc7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUNwRCw2Q0FBNkMsRUFDN0M7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsOEJBQThCO0NBQ2hELENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250ZXh0V2l0aEltcGxpY2l0LCBUdWlUaW1lTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtNQVhfVElNRV9WQUxVRVN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpVGltZUZvcm1hdFBhcnRzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnB1dFRpbWVPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTD4+O1xuICAgIHJlYWRvbmx5IG1vZGU6IFR1aVRpbWVNb2RlO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBtYXhWYWx1ZXM6IFJlY29yZDxUdWlUaW1lRm9ybWF0UGFydHMsIG51bWJlcj47XG4gICAgcmVhZG9ubHkgaXRlbVNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUw7XG59XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJTlBVVF9USU1FX0lDT04gPSAoeyRpbXBsaWNpdH06IGFueSkgPT5cbiAgICAkaW1wbGljaXQgPT09ICdzJyA/ICd0dWlJY29uVGltZScgOiAndHVpSWNvblRpbWVMYXJnZSc7XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9ERUZBVUxUX09QVElPTlM6IElucHV0VGltZU9wdGlvbnMgPSB7XG4gICAgaWNvbjogSU5QVVRfVElNRV9JQ09OLFxuICAgIG1vZGU6ICdISDpNTScsXG4gICAgcG9zdGZpeDogJycsXG4gICAgbWF4VmFsdWVzOiBNQVhfVElNRV9WQUxVRVMsXG4gICAgaXRlbVNpemU6ICdtJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPElucHV0VGltZU9wdGlvbnM+KFxuICAgICdEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGlucHV0IHRpbWUgY29tcG9uZW50JyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9USU1FX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcbiJdfQ==
|