ngx-tethys 17.0.1 → 17.0.2
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/CHANGELOG.md +9 -0
- package/action/action.component.d.ts +3 -0
- package/affix/affix.component.d.ts +2 -0
- package/alert/alert.component.d.ts +1 -0
- package/anchor/anchor.component.d.ts +3 -0
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
- package/autocomplete/autocomplete.component.d.ts +2 -3
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
- package/avatar/avatar.component.d.ts +4 -0
- package/back-top/back-top.component.d.ts +1 -0
- package/badge/badge.component.d.ts +5 -0
- package/button/button-icon.component.d.ts +2 -0
- package/button/button.component.d.ts +2 -0
- package/card/card.component.d.ts +3 -0
- package/card/content.component.d.ts +2 -1
- package/carousel/carousel.component.d.ts +5 -0
- package/cascader/cascader-li.component.d.ts +9 -2
- package/cascader/cascader-search-option.component.d.ts +7 -2
- package/cascader/cascader.component.d.ts +23 -2
- package/cascader/styles/cascader.scss +1 -0
- package/cascader/types.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts +1 -0
- package/collapse/collapse-item.component.d.ts +2 -0
- package/collapse/collapse.component.d.ts +1 -0
- package/color-picker/color-picker-panel.component.d.ts +1 -0
- package/color-picker/color-picker.component.d.ts +7 -1
- package/copy/copy.directive.d.ts +1 -0
- package/core/behaviors/decorators.d.ts +6 -0
- package/date-picker/abstract-picker.component.d.ts +8 -1
- package/date-picker/abstract-picker.directive.d.ts +4 -0
- package/date-picker/base-picker.component.d.ts +2 -0
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
- package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
- package/date-picker/picker.component.d.ts +1 -0
- package/date-range/date-range.component.d.ts +2 -0
- package/dialog/body/dialog-body.component.d.ts +2 -1
- package/dialog/footer/dialog-footer.component.d.ts +1 -0
- package/dialog/header/dialog-header.component.d.ts +1 -0
- package/divider/divider.component.d.ts +2 -0
- package/drag-drop/drag-handle.directive.d.ts +1 -0
- package/drag-drop/drag.directive.d.ts +1 -0
- package/drag-drop/drop-container.directive.d.ts +1 -0
- package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
- package/dropdown/dropdown-menu.component.d.ts +1 -0
- package/dropdown/dropdown.directive.d.ts +3 -0
- package/empty/empty.component.d.ts +1 -0
- package/esm2022/action/action.component.mjs +9 -22
- package/esm2022/affix/affix.component.mjs +8 -15
- package/esm2022/alert/alert.component.mjs +5 -10
- package/esm2022/anchor/anchor.component.mjs +10 -20
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
- package/esm2022/avatar/avatar.component.mjs +14 -30
- package/esm2022/back-top/back-top.component.mjs +6 -10
- package/esm2022/badge/badge.component.mjs +15 -37
- package/esm2022/button/button-icon.component.mjs +9 -20
- package/esm2022/button/button.component.mjs +7 -16
- package/esm2022/card/card.component.mjs +6 -20
- package/esm2022/card/content.component.mjs +5 -6
- package/esm2022/carousel/carousel.component.mjs +13 -30
- package/esm2022/cascader/cascader-li.component.mjs +16 -31
- package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
- package/esm2022/cascader/cascader.component.mjs +32 -52
- package/esm2022/cascader/types.mjs +1 -1
- package/esm2022/checkbox/checkbox.component.mjs +7 -13
- package/esm2022/collapse/collapse-item.component.mjs +8 -15
- package/esm2022/collapse/collapse.component.mjs +5 -10
- package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
- package/esm2022/color-picker/color-picker.component.mjs +17 -37
- package/esm2022/copy/copy.directive.mjs +5 -10
- package/esm2022/core/behaviors/decorators.mjs +7 -44
- package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
- package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
- package/esm2022/date-picker/base-picker.component.mjs +8 -15
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
- package/esm2022/date-picker/picker.component.mjs +6 -10
- package/esm2022/date-range/date-range.component.mjs +7 -15
- package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
- package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
- package/esm2022/divider/divider.component.mjs +7 -15
- package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
- package/esm2022/drag-drop/drag.directive.mjs +5 -11
- package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
- package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
- package/esm2022/dropdown/dropdown.directive.mjs +8 -22
- package/esm2022/empty/empty.component.mjs +7 -13
- package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
- package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
- package/esm2022/form/form-group-label.directive.mjs +6 -6
- package/esm2022/form/form-group.component.mjs +13 -17
- package/esm2022/icon/icon.component.mjs +6 -20
- package/esm2022/image/image.directive.mjs +7 -15
- package/esm2022/input/input-search.component.mjs +6 -11
- package/esm2022/input/input.component.mjs +7 -15
- package/esm2022/input-number/input-number.component.mjs +12 -25
- package/esm2022/layout/header.component.mjs +9 -19
- package/esm2022/layout/sidebar-header.component.mjs +5 -10
- package/esm2022/layout/sidebar.component.mjs +22 -45
- package/esm2022/list/list.component.mjs +5 -11
- package/esm2022/list/selection/selection-list.mjs +13 -10
- package/esm2022/loading/loading.component.mjs +9 -20
- package/esm2022/menu/group/menu-group.component.mjs +12 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
- package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
- package/esm2022/menu/menu.component.mjs +5 -10
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
- package/esm2022/nav/nav-item.directive.mjs +10 -20
- package/esm2022/nav/nav.component.mjs +12 -25
- package/esm2022/pagination/pagination.component.mjs +18 -68
- package/esm2022/popover/popover.directive.mjs +12 -33
- package/esm2022/progress/progress-circle.component.mjs +9 -20
- package/esm2022/progress/progress-strip.component.mjs +5 -11
- package/esm2022/progress/progress.component.mjs +11 -23
- package/esm2022/property/properties.component.mjs +5 -10
- package/esm2022/property/property-item.component.mjs +8 -15
- package/esm2022/property-operation/property-operation.component.mjs +16 -37
- package/esm2022/radio/group/radio-group.component.mjs +6 -21
- package/esm2022/rate/rate-item.component.mjs +5 -10
- package/esm2022/rate/rate.component.mjs +16 -25
- package/esm2022/resizable/resizable.directive.mjs +24 -55
- package/esm2022/resizable/resize-handle.component.mjs +6 -10
- package/esm2022/resizable/resize-handles.component.mjs +5 -10
- package/esm2022/segment/segment-item.component.mjs +5 -10
- package/esm2022/segment/segment.component.mjs +7 -16
- package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
- package/esm2022/select/native-select/native-select.component.mjs +6 -10
- package/esm2022/shared/base-form-check.component.mjs +10 -20
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
- package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
- package/esm2022/shared/directives/thy-show.mjs +5 -11
- package/esm2022/shared/option/group/option-group.component.mjs +5 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
- package/esm2022/shared/option/option.component.mjs +5 -11
- package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
- package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton.component.mjs +5 -10
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
- package/esm2022/slider/slider.component.mjs +18 -35
- package/esm2022/space/space.component.mjs +6 -10
- package/esm2022/stepper/step-header.component.mjs +9 -20
- package/esm2022/stepper/stepper.component.mjs +7 -16
- package/esm2022/switch/switch.component.mjs +12 -17
- package/esm2022/table/table-column.component.mjs +9 -31
- package/esm2022/table/table-skeleton.component.mjs +8 -14
- package/esm2022/table/table.component.mjs +32 -83
- package/esm2022/tabs/tab.component.mjs +5 -10
- package/esm2022/tabs/tabs.component.mjs +8 -15
- package/esm2022/tag/tag.component.mjs +6 -10
- package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
- package/esm2022/time-picker/time-picker.component.mjs +20 -46
- package/esm2022/timeline/timeline.component.mjs +5 -10
- package/esm2022/tooltip/tooltip.directive.mjs +11 -34
- package/esm2022/tree/tree-node.component.mjs +17 -40
- package/esm2022/tree/tree.component.mjs +19 -47
- package/esm2022/tree-select/tree-select.component.mjs +18 -40
- package/esm2022/upload/file-select-base.mjs +7 -6
- package/esm2022/upload/file-select.component.mjs +11 -26
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +11 -33
- package/esm2022/watermark/watermark.directive.mjs +6 -10
- package/fesm2022/ngx-tethys-action.mjs +9 -21
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +6 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +4 -9
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +8 -19
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +14 -29
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +5 -9
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +14 -36
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +13 -30
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +8 -23
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +12 -29
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +55 -95
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +10 -20
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +4 -9
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +6 -43
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +45 -93
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +6 -14
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +13 -21
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +6 -14
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +5 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +19 -25
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +5 -19
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +7 -14
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +11 -24
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +10 -21
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +31 -64
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +16 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +8 -19
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +20 -55
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +28 -55
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +17 -67
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +11 -32
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +20 -45
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +10 -21
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +5 -19
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +18 -30
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +29 -66
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +10 -21
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +32 -70
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +49 -105
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +6 -5
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +17 -34
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +5 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +13 -31
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -16
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +43 -120
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -20
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +5 -9
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +4 -9
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +33 -82
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +15 -28
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +10 -32
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +5 -9
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +1 -0
- package/form/form-group-error/form-group-error.component.d.ts +1 -0
- package/form/form-group-label.directive.d.ts +2 -1
- package/form/form-group.component.d.ts +5 -2
- package/icon/icon.component.d.ts +3 -0
- package/image/image.directive.d.ts +2 -0
- package/input/input-search.component.d.ts +1 -0
- package/input/input.component.d.ts +2 -0
- package/input-number/input-number.component.d.ts +4 -0
- package/layout/header.component.d.ts +5 -2
- package/layout/sidebar-header.component.d.ts +1 -0
- package/layout/sidebar.component.d.ts +14 -4
- package/list/list.component.d.ts +1 -0
- package/list/selection/selection-list.d.ts +4 -1
- package/loading/loading.component.d.ts +4 -2
- package/menu/group/menu-group.component.d.ts +6 -0
- package/menu/item/action/menu-item-action.component.d.ts +1 -0
- package/menu/item/name/menu-item-name.component.d.ts +1 -0
- package/menu/menu.component.d.ts +1 -0
- package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
- package/nav/nav-ink-bar.directive.d.ts +2 -0
- package/nav/nav-item.directive.d.ts +3 -0
- package/nav/nav.component.d.ts +4 -0
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +11 -0
- package/popover/popover.directive.d.ts +5 -0
- package/progress/progress-circle.component.d.ts +3 -0
- package/progress/progress-strip.component.d.ts +1 -0
- package/progress/progress.component.d.ts +3 -0
- package/property/properties.component.d.ts +1 -0
- package/property/property-item.component.d.ts +2 -0
- package/property-operation/property-operation.component.d.ts +5 -0
- package/radio/group/radio-group.component.d.ts +2 -2
- package/rate/rate-item.component.d.ts +1 -0
- package/rate/rate.component.d.ts +5 -1
- package/resizable/resizable.directive.d.ts +10 -0
- package/resizable/resize-handle.component.d.ts +1 -0
- package/resizable/resize-handles.component.d.ts +1 -0
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +1 -0
- package/segment/segment.component.d.ts +2 -0
- package/select/custom-select/custom-select.component.d.ts +12 -1
- package/select/native-select/native-select.component.d.ts +1 -0
- package/shared/base-form-check.component.d.ts +2 -0
- package/shared/directives/thy-autofocus.directive.d.ts +3 -1
- package/shared/directives/thy-scroll.directive.d.ts +1 -0
- package/shared/directives/thy-show.d.ts +1 -0
- package/shared/option/group/option-group.component.d.ts +1 -0
- package/shared/option/list-option/list-option.component.d.ts +1 -0
- package/shared/option/option.component.d.ts +1 -0
- package/shared/option/styles/select-dropdown.scss +1 -0
- package/shared/select/select-control/select-control.component.d.ts +7 -0
- package/skeleton/skeleton-circle.component.d.ts +1 -0
- package/skeleton/skeleton-rectangle.component.d.ts +1 -0
- package/skeleton/skeleton.component.d.ts +1 -0
- package/skeleton/stylized/bullet-list.component.d.ts +1 -0
- package/skeleton/stylized/list.component.d.ts +1 -0
- package/skeleton/stylized/paragraph.component.d.ts +1 -0
- package/slide/slide-body/slide-body-section.component.d.ts +2 -1
- package/slider/slider.component.d.ts +6 -1
- package/space/space.component.d.ts +1 -0
- package/stepper/step-header.component.d.ts +3 -0
- package/stepper/stepper.component.d.ts +2 -0
- package/switch/switch.component.d.ts +3 -1
- package/table/table-column.component.d.ts +7 -2
- package/table/table-skeleton.component.d.ts +2 -0
- package/table/table.component.d.ts +14 -0
- package/tabs/tab.component.d.ts +1 -0
- package/tabs/tabs.component.d.ts +2 -0
- package/tag/tag.component.d.ts +1 -0
- package/time-picker/time-picker-panel.component.d.ts +2 -0
- package/time-picker/time-picker.component.d.ts +6 -2
- package/timeline/timeline.component.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +5 -0
- package/tree/tree-node.component.d.ts +7 -0
- package/tree/tree.component.d.ts +8 -0
- package/tree-select/tree-select.component.d.ts +7 -0
- package/upload/file-select-base.d.ts +1 -0
- package/upload/file-select.component.d.ts +3 -0
- package/vote/vote.component.d.ts +4 -2
- package/watermark/watermark.directive.d.ts +1 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InputBoolean, ThyClickDispatcher } from 'ngx-tethys/core';
|
|
1
|
+
import { ThyClickDispatcher } from 'ngx-tethys/core';
|
|
3
2
|
import { coerceBooleanProperty, elementMatchClosest, TinyDate } from 'ngx-tethys/util';
|
|
4
|
-
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, PLATFORM_ID, ViewChild, inject } from '@angular/core';
|
|
3
|
+
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, PLATFORM_ID, ViewChild, booleanAttribute, inject } from '@angular/core';
|
|
5
4
|
import { AbstractPickerComponent } from './abstract-picker.component';
|
|
6
5
|
import { ThyPicker } from './picker.component';
|
|
7
6
|
import { hasTimeInStringDate, isValidStringDate, parseStringDate, transformDateValue } from './picker.util';
|
|
@@ -209,16 +208,8 @@ export class BasePicker extends AbstractPickerComponent {
|
|
|
209
208
|
!disable);
|
|
210
209
|
}
|
|
211
210
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: BasePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
212
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: BasePicker, isStandalone: true, selector: "ng-component", inputs: { thyDateRender: "thyDateRender", thyMode: "thyMode", thyHasBackdrop: ["thyHasBackdrop", "thyHasBackdrop", booleanAttribute], thyShowTime: "thyShowTime", thyMustShowTime: ["thyMustShowTime", "thyMustShowTime", booleanAttribute], thyPlacement: "thyPlacement" }, outputs: { thyOnPanelChange: "thyOnPanelChange", thyOnCalendarChange: "thyOnCalendarChange", thyOnOk: "thyOnOk" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)" }, properties: { "attr.tabindex": "tabIndex" } }, viewQueries: [{ propertyName: "thyPicker", first: true, predicate: ["thyPicker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
213
212
|
}
|
|
214
|
-
__decorate([
|
|
215
|
-
InputBoolean(),
|
|
216
|
-
__metadata("design:type", Object)
|
|
217
|
-
], BasePicker.prototype, "thyHasBackdrop", void 0);
|
|
218
|
-
__decorate([
|
|
219
|
-
InputBoolean(),
|
|
220
|
-
__metadata("design:type", Object)
|
|
221
|
-
], BasePicker.prototype, "thyMustShowTime", void 0);
|
|
222
213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: BasePicker, decorators: [{
|
|
223
214
|
type: Component,
|
|
224
215
|
args: [{
|
|
@@ -238,7 +229,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
238
229
|
}], thyMode: [{
|
|
239
230
|
type: Input
|
|
240
231
|
}], thyHasBackdrop: [{
|
|
241
|
-
type: Input
|
|
232
|
+
type: Input,
|
|
233
|
+
args: [{ transform: booleanAttribute }]
|
|
242
234
|
}], thyOnPanelChange: [{
|
|
243
235
|
type: Output
|
|
244
236
|
}], thyOnCalendarChange: [{
|
|
@@ -246,10 +238,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
246
238
|
}], thyShowTime: [{
|
|
247
239
|
type: Input
|
|
248
240
|
}], thyMustShowTime: [{
|
|
249
|
-
type: Input
|
|
241
|
+
type: Input,
|
|
242
|
+
args: [{ transform: booleanAttribute }]
|
|
250
243
|
}], thyPlacement: [{
|
|
251
244
|
type: Input
|
|
252
245
|
}], thyOnOk: [{
|
|
253
246
|
type: Output
|
|
254
247
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJHLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWhFOztHQUVHO0FBVUgsTUFBTSxPQUFPLFVBQVcsU0FBUSx1QkFBdUI7SUFhbkQsSUFBYSxPQUFPLENBQUMsS0FBbUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFRCxJ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QkFBdkMsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQUthLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dEJvb2xlYW4sIFRoeUNsaWNrRGlzcGF0Y2hlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgZWxlbWVudE1hdGNoQ2xvc2VzdCwgRnVuY3Rpb25Qcm9wLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGF0aWJsZVZhbHVlLCBSYW5nZUFkdmFuY2VkVmFsdWUgfSBmcm9tICcuL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IENvbXBhdGlibGVEYXRlLCBUaHlQYW5lbE1vZGUgfSBmcm9tICcuL3N0YW5kYXJkLXR5cGVzJztcbmltcG9ydCB7IFRoeVBpY2tlciB9IGZyb20gJy4vcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBoYXNUaW1lSW5TdHJpbmdEYXRlLCBpc1ZhbGlkU3RyaW5nRGF0ZSwgcGFyc2VTdHJpbmdEYXRlLCB0cmFuc2Zvcm1EYXRlVmFsdWUgfSBmcm9tICcuL3BpY2tlci51dGlsJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiBgdGFiSW5kZXhgLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFzZVBpY2tlciBleHRlbmRzIEFic3RyYWN0UGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHNob3dXZWVrID0gZmFsc2U7XG5cbiAgICBwYW5lbE1vZGU6IFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdO1xuXG4gICAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGlubmVyUHJldmlvdXNEYXRlOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCd0aHlQaWNrZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aHlQaWNrZXI6IFRoeVBpY2tlcjtcblxuICAgIEBJbnB1dCgpIHRoeURhdGVSZW5kZXI6IEZ1bmN0aW9uUHJvcDxUZW1wbGF0ZVJlZjxEYXRlPiB8IHN0cmluZz47XG5cbiAgICBASW5wdXQoKSBzZXQgdGh5TW9kZSh2YWx1ZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIHRoaXMuX3BhbmVsTW9kZSA9IHZhbHVlID8/ICdkYXRlJztcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdFRpbWVQaWNrZXJTdGF0ZSh0aGlzLl9wYW5lbE1vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHRoeU1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYW5lbE1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pyJ5bmV5biDXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlIYXNCYWNrZHJvcCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uUGFuZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdPigpO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPERhdGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25DYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1RpbWU6IG9iamVjdCB8IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlop7liqDml7bpl7TpgInmi6nlip/og71cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCB0aHlTaG93VGltZSgpOiBvYmplY3QgfCBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dUaW1lO1xuICAgIH1cbiAgICBzZXQgdGh5U2hvd1RpbWUodmFsdWU6IG9iamVjdCB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1RpbWUgPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdmFsdWUgOiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuaXtumXtCjml7bjgIHliIYpXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5TXVzdFNob3dUaW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rkvY3nva5cbiAgICAgKiBAdHlwZSB0b3AgfCB0b3BMZWZ0IHwgdG9wUmlnaHQgfCBib3R0b20gfCBib3R0b21MZWZ0IHwgYm90dG9tUmlnaHQgfCBsZWZ0IHwgbGVmdFRvcCB8IGxlZnRCb3R0b20gfCByaWdodCB8IHJpZ2h0VG9wIHwgcmlnaHRCb3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b21MZWZ0JztcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxDb21wYXRpYmxlRGF0ZSB8IG51bGw+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBhdGlibGVEYXRlIHwgbnVsbD4oKTtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgdGh5Q2xpY2tEaXNwYXRjaGVyID0gaW5qZWN0KFRoeUNsaWNrRGlzcGF0Y2hlcik7XG5cbiAgICBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAgIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0VGltZVBpY2tlclN0YXRlKHRoaXMuX3BhbmVsTW9kZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgIC5jbGlja2VkKDApXG4gICAgICAgICAgICAgICAgLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aHlQaWNrZXI/Lm92ZXJsYXlDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWxPcGVuU3RhdGVcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgUmFuZ2VBZHZhbmNlZFZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5UGlja2VyLmVudGVyaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZSBhcyBDb21wYXRpYmxlVmFsdWUpO1xuICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmZsZXhpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5uZXJQcmV2aW91c0RhdGUgPSB0aGlzLnRoeVBpY2tlci5nZXRSZWFkYWJsZVZhbHVlKHRoaXMudGh5VmFsdWUpO1xuICAgIH1cblxuICAgIG9uSW5wdXRWYWx1ZUNoYW5nZShmb3JtYXREYXRlOiBzdHJpbmcgfCBudWxsIHwgQXJyYXk8bnVsbD4pIHtcbiAgICAgICAgaWYgKCFmb3JtYXREYXRlIHx8ICFmb3JtYXREYXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgY29tcGF0aWJsZVZhbHVlID0gZm9ybWF0RGF0ZSA/IChmb3JtYXREYXRlIGFzIENvbXBhdGlibGVWYWx1ZSkgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlID0gZm9ybWF0RGF0ZSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHZhbHVlVmFsaWQgPSBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlTGltaXRWYWxpZCA9IHZhbHVlVmFsaWQgPyB0aGlzLmlzVmFsaWREYXRlTGltaXQocGFyc2VTdHJpbmdEYXRlKHZhbHVlKSkgOiBmYWxzZTtcbiAgICAgICAgaWYgKHZhbHVlVmFsaWQgJiYgdmFsdWVMaW1pdFZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyUHJldmlvdXNEYXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuaW5uZXJQcmV2aW91c0RhdGU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGlueURhdGUgPSB2YWx1ZSA/ICh0aGlzLnRoeVNob3dUaW1lID8gcGFyc2VTdHJpbmdEYXRlKHZhbHVlKSA6IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSkuc3RhcnRPZkRheSgpKSA6IG51bGw7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh0aW55RGF0ZSk7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodGlueURhdGUpO1xuICAgIH1cblxuICAgIC8vIERpc3BsYXlzIHRoZSB0aW1lIGRpcmVjdGx5IHdoZW4gdGhlIHRpbWUgbXVzdCBiZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdFxuICAgIHNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUodmFsdWU6IFRoeVBhbmVsTW9kZSkge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWU7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdGhpcy5mbGV4aWJsZSA/IFsnZGF0ZScsICdkYXRlJ10gOiBbdmFsdWUsIHZhbHVlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93V2VlayA9IHZhbHVlID09PSAnd2Vlayc7XG4gICAgICAgIGlmICghdGhpcy50aHlGb3JtYXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ybWF0czogeyBba2V5IGluIFRoeVBhbmVsTW9kZV0/OiBzdHJpbmcgfSA9IHtcbiAgICAgICAgICAgICAgICB5ZWFyOiAneXl5eScsXG4gICAgICAgICAgICAgICAgcXVhcnRlcjogJ3l5eXktcXFxJyxcbiAgICAgICAgICAgICAgICBtb250aDogJ3l5eXktTU0nLFxuICAgICAgICAgICAgICAgIHdlZWs6ICd5eXl5LXd35ZGoJyxcbiAgICAgICAgICAgICAgICBkYXRlOiB0aGlzLnRoeVNob3dUaW1lID8gJ3l5eXktTU0tZGQgSEg6bW0nIDogJ3l5eXktTU0tZGQnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSB0aGlzLmZsZXhpYmxlID8gaW5wdXRGb3JtYXRzWydkYXRlJ10gOiBpbnB1dEZvcm1hdHNbdmFsdWVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBhZnRlciBjbGVhcmluZyB0aW1lIHRvIHNlbGVjdCB3aGV0aGVyIHRoZSBvcmlnaW5hbCBwaWNrZXIgdGltZSBpcyBkaXNwbGF5ZWQgb3Igbm90XG4gICAgcmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWUgfHwgdGhpcy5vcmlnaW5XaXRoVGltZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVtaXQgdGh5T25DYWxlbmRhckNoYW5nZSB3aGVuIHNlbGVjdCBkYXRlIGJ5IHRoeS1yYW5nZS1waWNrZXJcbiAgICBvbkNhbGVuZGFyQ2hhbmdlKHZhbHVlOiBUaW55RGF0ZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlVmFsdWUgPSB2YWx1ZS5tYXAoeCA9PiB4Lm5hdGl2ZURhdGUpO1xuICAgICAgICAgICAgdGhpcy50aHlPbkNhbGVuZGFyQ2hhbmdlLmVtaXQocmFuZ2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNob3dUaW1lUGlja2VyQ2hhbmdlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXRoVGltZSA9IHNob3c7XG4gICAgfVxuXG4gICAgb25SZXN1bHRPaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlW107XG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW3ZhbHVlWzBdLm5hdGl2ZURhdGUsIHZhbHVlWzFdLm5hdGl2ZURhdGVdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeU9uT2suZW1pdCgodGhpcy50aHlWYWx1ZSBhcyBUaW55RGF0ZSkubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5T25Pay5lbWl0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5waWNrZXIuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIC8vIFRhYiDogZrnhKblkI7oh6rliqjogZrnhKbliLAgaW5wdXQg6L6T5YWl5qGG77yM5q2k5YiG5pSv5LiL55u05o6l6L+U5Zue77yM5peg6ZyA6Kem5Y+RIG9uVG91Y2hlZEZuXG4gICAgICAgIGlmIChlbGVtZW50TWF0Y2hDbG9zZXN0KGV2ZW50Py5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50LCBbJ2RhdGUtcG9wdXAnLCAndGh5LXBpY2tlciddKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICB9XG5cbiAgICBvbklucHV0RGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aXRoVGltZSA9IGhhc1RpbWVJblN0cmluZ0RhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aHlWYWx1ZSA9IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlTGltaXQoZGF0ZTogVGlueURhdGUpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGRpc2FibGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudGh5RGlzYWJsZWREYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRpc2FibGUgPSB0aGlzLnRoeURpc2FibGVkRGF0ZShkYXRlLm5hdGl2ZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLnRoeU1pbkRhdGUgPyBuZXcgVGlueURhdGUodHJhbnNmb3JtRGF0ZVZhbHVlKHRoaXMudGh5TWluRGF0ZSkudmFsdWUgYXMgRGF0ZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gdGhpcy50aHlNYXhEYXRlID8gbmV3IFRpbnlEYXRlKHRyYW5zZm9ybURhdGVWYWx1ZSh0aGlzLnRoeU1heERhdGUpLnZhbHVlIGFzIERhdGUpIDogbnVsbDtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghbWluRGF0ZSB8fCBkYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlID49IG1pbkRhdGUuc3RhcnRPZkRheSgpLm5hdGl2ZURhdGUpICYmXG4gICAgICAgICAgICAoIW1heERhdGUgfHwgZGF0ZS5zdGFydE9mRGF5KCkubmF0aXZlRGF0ZSA8PSBtYXhEYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlKSAmJlxuICAgICAgICAgICAgIWRpc2FibGVcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFnQixRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFdBQVcsRUFFWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFVSCxNQUFNLE9BQU8sVUFBVyxTQUFRLHVCQUF1QjtJQWFuRCxJQUFhLE9BQU8sQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVE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QUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU03QixZQUFZO3NCQUFwQixLQUFLO2dCQUthLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlDbGlja0Rpc3BhdGNoZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGVsZW1lbnRNYXRjaENsb3Nlc3QsIEZ1bmN0aW9uUHJvcCwgVGlueURhdGUgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wYXRpYmxlVmFsdWUsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4vaW5uZXItdHlwZXMnO1xuaW1wb3J0IHsgQ29tcGF0aWJsZURhdGUsIFRoeVBhbmVsTW9kZSB9IGZyb20gJy4vc3RhbmRhcmQtdHlwZXMnO1xuaW1wb3J0IHsgVGh5UGlja2VyIH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGhhc1RpbWVJblN0cmluZ0RhdGUsIGlzVmFsaWRTdHJpbmdEYXRlLCBwYXJzZVN0cmluZ0RhdGUsIHRyYW5zZm9ybURhdGVWYWx1ZSB9IGZyb20gJy4vcGlja2VyLnV0aWwnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6IGB0YWJJbmRleGAsXG4gICAgICAgICcoZm9jdXMpJzogJ29uRm9jdXMoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCRldmVudCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlUGlja2VyIGV4dGVuZHMgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgc2hvd1dlZWsgPSBmYWxzZTtcblxuICAgIHBhbmVsTW9kZTogVGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW107XG5cbiAgICBpbml0aWFsaXplZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaW5uZXJQcmV2aW91c0RhdGU6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3RoeVBpY2tlcicsIHsgc3RhdGljOiB0cnVlIH0pIHRoeVBpY2tlcjogVGh5UGlja2VyO1xuXG4gICAgQElucHV0KCkgdGh5RGF0ZVJlbmRlcjogRnVuY3Rpb25Qcm9wPFRlbXBsYXRlUmVmPERhdGU+IHwgc3RyaW5nPjtcblxuICAgIEBJbnB1dCgpIHNldCB0aHlNb2RlKHZhbHVlOiBUaHlQYW5lbE1vZGUpIHtcbiAgICAgICAgdGhpcy5fcGFuZWxNb2RlID0gdmFsdWUgPz8gJ2RhdGUnO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0VGltZVBpY2tlclN0YXRlKHRoaXMuX3BhbmVsTW9kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGh5TW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhbmVsTW9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInluZXluINcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUhhc0JhY2tkcm9wID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxUaHlQYW5lbE1vZGUgfCBUaHlQYW5lbE1vZGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25QYW5lbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8RGF0ZVtdPlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlPbkNhbGVuZGFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XG5cbiAgICBwcml2YXRlIF9zaG93VGltZTogb2JqZWN0IHwgYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWinuWKoOaXtumXtOmAieaLqeWKn+iDvVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IHRoeVNob3dUaW1lKCk6IG9iamVjdCB8IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1RpbWU7XG4gICAgfVxuICAgIHNldCB0aHlTaG93VGltZSh2YWx1ZTogb2JqZWN0IHwgYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93VGltZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyB2YWx1ZSA6IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5bGV56S65pe26Ze0KOaXtuOAgeWIhilcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlNdXN0U2hvd1RpbWUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuS9jee9rlxuICAgICAqIEB0eXBlIHRvcCB8IHRvcExlZnQgfCB0b3BSaWdodCB8IGJvdHRvbSB8IGJvdHRvbUxlZnQgfCBib3R0b21SaWdodCB8IGxlZnQgfCBsZWZ0VG9wIHwgbGVmdEJvdHRvbSB8IHJpZ2h0IHwgcmlnaHRUb3AgfCByaWdodEJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbUxlZnQnO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPENvbXBhdGlibGVEYXRlIHwgbnVsbD5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25PayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGF0aWJsZURhdGUgfCBudWxsPigpO1xuXG4gICAgdGFrZVVudGlsRGVzdHJveWVkID0gdGFrZVVudGlsRGVzdHJveWVkKCk7XG5cbiAgICB0aHlDbGlja0Rpc3BhdGNoZXIgPSBpbmplY3QoVGh5Q2xpY2tEaXNwYXRjaGVyKTtcblxuICAgIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gICAgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUodGhpcy5fcGFuZWxNb2RlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMudGh5Q2xpY2tEaXNwYXRjaGVyXG4gICAgICAgICAgICAgICAgLmNsaWNrZWQoMClcbiAgICAgICAgICAgICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnRoeVBpY2tlcj8ub3ZlcmxheUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVhbE9wZW5TdGF0ZVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBSYW5nZUFkdmFuY2VkVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlQaWNrZXIuZW50ZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKHZhbHVlIGFzIENvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuZmxleGlibGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbm5lclByZXZpb3VzRGF0ZSA9IHRoaXMudGh5UGlja2VyLmdldFJlYWRhYmxlVmFsdWUodGhpcy50aHlWYWx1ZSk7XG4gICAgfVxuXG4gICAgb25JbnB1dFZhbHVlQ2hhbmdlKGZvcm1hdERhdGU6IHN0cmluZyB8IG51bGwgfCBBcnJheTxudWxsPikge1xuICAgICAgICBpZiAoIWZvcm1hdERhdGUgfHwgIWZvcm1hdERhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wYXRpYmxlVmFsdWUgPSBmb3JtYXREYXRlID8gKGZvcm1hdERhdGUgYXMgQ29tcGF0aWJsZVZhbHVlKSA6IG51bGw7XG4gICAgICAgICAgICB0aGlzLnJlc3RvcmVUaW1lUGlja2VyU3RhdGUoY29tcGF0aWJsZVZhbHVlKTtcbiAgICAgICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UoY29tcGF0aWJsZVZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdmFsdWUgPSBmb3JtYXREYXRlIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgdmFsdWVWYWxpZCA9IGlzVmFsaWRTdHJpbmdEYXRlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsdWVMaW1pdFZhbGlkID0gdmFsdWVWYWxpZCA/IHRoaXMuaXNWYWxpZERhdGVMaW1pdChwYXJzZVN0cmluZ0RhdGUodmFsdWUpKSA6IGZhbHNlO1xuICAgICAgICBpZiAodmFsdWVWYWxpZCAmJiB2YWx1ZUxpbWl0VmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJQcmV2aW91c0RhdGUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5pbm5lclByZXZpb3VzRGF0ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0aW55RGF0ZSA9IHZhbHVlID8gKHRoaXMudGh5U2hvd1RpbWUgPyBwYXJzZVN0cmluZ0RhdGUodmFsdWUpIDogcGFyc2VTdHJpbmdEYXRlKHZhbHVlKS5zdGFydE9mRGF5KCkpIDogbnVsbDtcbiAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKHRpbnlEYXRlKTtcbiAgICAgICAgc3VwZXIub25WYWx1ZUNoYW5nZSh0aW55RGF0ZSk7XG4gICAgfVxuXG4gICAgLy8gRGlzcGxheXMgdGhlIHRpbWUgZGlyZWN0bHkgd2hlbiB0aGUgdGltZSBtdXN0IGJlIGRpc3BsYXllZCBieSBkZWZhdWx0XG4gICAgc2V0RGVmYXVsdFRpbWVQaWNrZXJTdGF0ZSh2YWx1ZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLnRoeU11c3RTaG93VGltZTtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGUgPSB0aGlzLmZsZXhpYmxlID8gWydkYXRlJywgJ2RhdGUnXSA6IFt2YWx1ZSwgdmFsdWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dXZWVrID0gdmFsdWUgPT09ICd3ZWVrJztcbiAgICAgICAgaWYgKCF0aGlzLnRoeUZvcm1hdCkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JtYXRzOiB7IFtrZXkgaW4gVGh5UGFuZWxNb2RlXT86IHN0cmluZyB9ID0ge1xuICAgICAgICAgICAgICAgIHllYXI6ICd5eXl5JyxcbiAgICAgICAgICAgICAgICBxdWFydGVyOiAneXl5eS1xcXEnLFxuICAgICAgICAgICAgICAgIG1vbnRoOiAneXl5eS1NTScsXG4gICAgICAgICAgICAgICAgd2VlazogJ3l5eXktd3flkagnLFxuICAgICAgICAgICAgICAgIGRhdGU6IHRoaXMudGh5U2hvd1RpbWUgPyAneXl5eS1NTS1kZCBISDptbScgOiAneXl5eS1NTS1kZCdcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnRoeUZvcm1hdCA9IHRoaXMuZmxleGlibGUgPyBpbnB1dEZvcm1hdHNbJ2RhdGUnXSA6IGlucHV0Rm9ybWF0c1t2YWx1ZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXN0b3JlIGFmdGVyIGNsZWFyaW5nIHRpbWUgdG8gc2VsZWN0IHdoZXRoZXIgdGhlIG9yaWdpbmFsIHBpY2tlciB0aW1lIGlzIGRpc3BsYXllZCBvciBub3RcbiAgICByZXN0b3JlVGltZVBpY2tlclN0YXRlKHZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLnRoeU11c3RTaG93VGltZSB8fCB0aGlzLm9yaWdpbldpdGhUaW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW1pdCB0aHlPbkNhbGVuZGFyQ2hhbmdlIHdoZW4gc2VsZWN0IGRhdGUgYnkgdGh5LXJhbmdlLXBpY2tlclxuICAgIG9uQ2FsZW5kYXJDaGFuZ2UodmFsdWU6IFRpbnlEYXRlW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VWYWx1ZSA9IHZhbHVlLm1hcCh4ID0+IHgubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB0aGlzLnRoeU9uQ2FsZW5kYXJDaGFuZ2UuZW1pdChyYW5nZVZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2hvd1RpbWVQaWNrZXJDaGFuZ2Uoc2hvdzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gc2hvdztcbiAgICB9XG5cbiAgICBvblJlc3VsdE9rKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGh5VmFsdWUgYXMgVGlueURhdGVbXTtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeU9uT2suZW1pdChbdmFsdWVbMF0ubmF0aXZlRGF0ZSwgdmFsdWVbMV0ubmF0aXZlRGF0ZV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeU9uT2suZW1pdChbXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5T25Pay5lbWl0KCh0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlKS5uYXRpdmVEYXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICAgICAgaWYgKCFvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZEZuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnBpY2tlci5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudD86IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgLy8gVGFiIOiBmueEpuWQjuiHquWKqOiBmueEpuWIsCBpbnB1dCDovpPlhaXmoYbvvIzmraTliIbmlK/kuIvnm7TmjqXov5Tlm57vvIzml6DpnIDop6blj5Egb25Ub3VjaGVkRm5cbiAgICAgICAgaWYgKGVsZW1lbnRNYXRjaENsb3Nlc3QoZXZlbnQ/LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsIFsnZGF0ZS1wb3B1cCcsICd0aHktcGlja2VyJ10pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgIH1cblxuICAgIG9uSW5wdXREYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIGlzVmFsaWRTdHJpbmdEYXRlKHZhbHVlKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5U2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLndpdGhUaW1lID0gaGFzVGltZUluU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRoeVZhbHVlID0gcGFyc2VTdHJpbmdEYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZERhdGVMaW1pdChkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZGlzYWJsZSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy50aHlEaXNhYmxlZERhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZGlzYWJsZSA9IHRoaXMudGh5RGlzYWJsZWREYXRlKGRhdGUubmF0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWluRGF0ZSA9IHRoaXMudGh5TWluRGF0ZSA/IG5ldyBUaW55RGF0ZSh0cmFuc2Zvcm1EYXRlVmFsdWUodGhpcy50aHlNaW5EYXRlKS52YWx1ZSBhcyBEYXRlKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLnRoeU1heERhdGUgPyBuZXcgVGlueURhdGUodHJhbnNmb3JtRGF0ZVZhbHVlKHRoaXMudGh5TWF4RGF0ZSkudmFsdWUgYXMgRGF0ZSkgOiBudWxsO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCFtaW5EYXRlIHx8IGRhdGUuc3RhcnRPZkRheSgpLm5hdGl2ZURhdGUgPj0gbWluRGF0ZS5zdGFydE9mRGF5KCkubmF0aXZlRGF0ZSkgJiZcbiAgICAgICAgICAgICghbWF4RGF0ZSB8fCBkYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlIDw9IG1heERhdGUuc3RhcnRPZkRheSgpLm5hdGl2ZURhdGUpICYmXG4gICAgICAgICAgICAhZGlzYWJsZVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ElementRef, ViewContainerRef } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ElementRef, ViewContainerRef, booleanAttribute } from '@angular/core';
|
|
3
2
|
import { TinyDate } from 'ngx-tethys/util';
|
|
4
3
|
import { ThyButton } from 'ngx-tethys/button';
|
|
5
4
|
import { FormsModule } from '@angular/forms';
|
|
6
5
|
import { ThyInnerTimePicker } from 'ngx-tethys/time-picker';
|
|
7
6
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
8
7
|
import { NgIf } from '@angular/common';
|
|
9
|
-
import { InputBoolean } from 'ngx-tethys/core';
|
|
10
8
|
import * as i0 from "@angular/core";
|
|
11
9
|
import * as i1 from "@angular/forms";
|
|
12
10
|
/**
|
|
@@ -73,12 +71,8 @@ export class CalendarFooter {
|
|
|
73
71
|
}
|
|
74
72
|
}
|
|
75
73
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CalendarFooter, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: CalendarFooter, isStandalone: true, selector: "calendar-footer", inputs: { showTime: "showTime", mustShowTime: "mustShowTime", value: "value", disableTimeConfirm: ["disableTimeConfirm", "disableTimeConfirm", booleanAttribute] }, outputs: { selectTime: "selectTime", clickOk: "clickOk", clickRemove: "clickRemove", showTimePickerChange: "showTimePickerChange" }, exportAs: ["calendarFooter"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isShowTime || isCanTime\" class=\"time-picker-section\" (click)=\"$event.stopPropagation()\">\n <a href=\"javascript:;\" *ngIf=\"isCanTime\" class=\"link-has-icon time-picker-set-btn\" (click)=\"changeTimeShowMode('show')\">\n <thy-icon thyIconName=\"clock-circle\"></thy-icon>\u8BBE\u7F6E\u65F6\u95F4\n </a>\n <thy-inner-time-picker\n *ngIf=\"isShowTime\"\n class=\"time-picker-wrap\"\n [showMeridian]=\"false\"\n [ngModel]=\"value?.nativeDate\"\n (ngModelChange)=\"onSelectTime($event)\"></thy-inner-time-picker>\n <div class=\"time-picker-btn-wrap\">\n <button\n *ngIf=\"!isCanTime\"\n [disabled]=\"disableTimeConfirm\"\n class=\"time-picker-ok-btn\"\n thyButton=\"primary\"\n thySize=\"sm\"\n (click)=\"onTimeOk()\">\n \u786E\u5B9A\n </button>\n <button class=\"time-picker-clear-btn\" thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"onClear()\">\u6E05\u9664</button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInnerTimePicker, selector: "thy-inner-time-picker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowKeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
75
|
}
|
|
78
|
-
__decorate([
|
|
79
|
-
InputBoolean(),
|
|
80
|
-
__metadata("design:type", Object)
|
|
81
|
-
], CalendarFooter.prototype, "disableTimeConfirm", void 0);
|
|
82
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CalendarFooter, decorators: [{
|
|
83
77
|
type: Component,
|
|
84
78
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'calendar-footer', exportAs: 'calendarFooter', standalone: true, imports: [NgIf, ThyIcon, ThyInnerTimePicker, FormsModule, ThyButton], template: "<div *ngIf=\"isShowTime || isCanTime\" class=\"time-picker-section\" (click)=\"$event.stopPropagation()\">\n <a href=\"javascript:;\" *ngIf=\"isCanTime\" class=\"link-has-icon time-picker-set-btn\" (click)=\"changeTimeShowMode('show')\">\n <thy-icon thyIconName=\"clock-circle\"></thy-icon>\u8BBE\u7F6E\u65F6\u95F4\n </a>\n <thy-inner-time-picker\n *ngIf=\"isShowTime\"\n class=\"time-picker-wrap\"\n [showMeridian]=\"false\"\n [ngModel]=\"value?.nativeDate\"\n (ngModelChange)=\"onSelectTime($event)\"></thy-inner-time-picker>\n <div class=\"time-picker-btn-wrap\">\n <button\n *ngIf=\"!isCanTime\"\n [disabled]=\"disableTimeConfirm\"\n class=\"time-picker-ok-btn\"\n thyButton=\"primary\"\n thySize=\"sm\"\n (click)=\"onTimeOk()\">\n \u786E\u5B9A\n </button>\n <button class=\"time-picker-clear-btn\" thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"onClear()\">\u6E05\u9664</button>\n </div>\n</div>\n" }]
|
|
@@ -89,7 +83,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
89
83
|
}], value: [{
|
|
90
84
|
type: Input
|
|
91
85
|
}], disableTimeConfirm: [{
|
|
92
|
-
type: Input
|
|
86
|
+
type: Input,
|
|
87
|
+
args: [{ transform: booleanAttribute }]
|
|
93
88
|
}], selectTime: [{
|
|
94
89
|
type: Output
|
|
95
90
|
}], clickOk: [{
|
|
@@ -99,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
99
94
|
}], showTimePickerChange: [{
|
|
100
95
|
type: Output
|
|
101
96
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9saWIvY2FsZW5kYXIvY2FsZW5kYXItZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9saWIvY2FsZW5kYXIvY2FsZW5kYXItZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixnQkFBZ0IsRUFJaEIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV2Qzs7R0FFRztBQVVILE1BQU0sT0FBTyxjQUFjO0lBV3ZCLFlBQVksV0FBdUIsRUFBRSxpQkFBbUM7UUFWL0QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVVLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMxQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMseUJB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bmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUlubmVyVGltZVBpY2tlciB9IGZyb20gJ25neC10ZXRoeXMvdGltZS1waWNrZXInO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnY2FsZW5kYXItZm9vdGVyJyxcbiAgICBleHBvcnRBczogJ2NhbGVuZGFyRm9vdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NhbGVuZGFyLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgVGh5SW5uZXJUaW1lUGlja2VyLCBGb3Jtc01vZHVsZSwgVGh5QnV0dG9uXVxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckZvb3RlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBzaG93VGltZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG11c3RTaG93VGltZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBUaW55RGF0ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZVRpbWVDb25maXJtID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdFRpbWUgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbnlEYXRlPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBjbGlja09rID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBjbGlja1JlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2hvd1RpbWVQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgaXNTaG93VGltZSA9IGZhbHNlO1xuICAgIGlzQ2FuVGltZSA9IGZhbHNlO1xuICAgIGNvbnN0cnVjdG9yKF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLl9pbml0VGltZVNob3dNb2RlKCk7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUaW55RGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5tdXN0U2hvd1RpbWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRUaW1lU2hvd01vZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0VGltZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGltZS5lbWl0KG5ldyBUaW55RGF0ZShkYXRlKSk7XG4gICAgfVxuXG4gICAgb25UaW1lT2soKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVUaW1lQ29uZmlybSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0VGltZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmNsaWNrT2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLmNsaWNrUmVtb3ZlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VUaW1lU2hvd01vZGUodHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY2FuJzpcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ2FuVGltZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Nob3dUaW1lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzaG93JzpcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ2FuVGltZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93VGltZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93VGltZVBpY2tlckNoYW5nZS5lbWl0KHRoaXMuaXNTaG93VGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5pdFRpbWVTaG93TW9kZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubXVzdFNob3dUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVRpbWVTaG93TW9kZSgnc2hvdycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVRpbWVTaG93TW9kZSgnY2FuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNTaG93VGltZSB8fCBpc0NhblRpbWVcIiBjbGFzcz1cInRpbWUtcGlja2VyLXNlY3Rpb25cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAqbmdJZj1cImlzQ2FuVGltZVwiIGNsYXNzPVwibGluay1oYXMtaWNvbiB0aW1lLXBpY2tlci1zZXQtYnRuXCIgKGNsaWNrKT1cImNoYW5nZVRpbWVTaG93TW9kZSgnc2hvdycpXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvY2stY2lyY2xlXCI+PC90aHktaWNvbj7orr7nva7ml7bpl7RcbiAgPC9hPlxuICA8dGh5LWlubmVyLXRpbWUtcGlja2VyXG4gICAgKm5nSWY9XCJpc1Nob3dUaW1lXCJcbiAgICBjbGFzcz1cInRpbWUtcGlja2VyLXdyYXBcIlxuICAgIFtzaG93TWVyaWRpYW5dPVwiZmFsc2VcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlPy5uYXRpdmVEYXRlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdFRpbWUoJGV2ZW50KVwiPjwvdGh5LWlubmVyLXRpbWUtcGlja2VyPlxuICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItYnRuLXdyYXBcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIiFpc0NhblRpbWVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVUaW1lQ29uZmlybVwiXG4gICAgICBjbGFzcz1cInRpbWUtcGlja2VyLW9rLWJ0blwiXG4gICAgICB0aHlCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgIHRoeVNpemU9XCJzbVwiXG4gICAgICAoY2xpY2spPVwib25UaW1lT2soKVwiPlxuICAgICAg56Gu5a6aXG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInRpbWUtcGlja2VyLWNsZWFyLWJ0blwiIHRoeUJ1dHRvbj1cImxpbmstc2Vjb25kYXJ5XCIgdGh5U2l6ZT1cInNtXCIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiPua4hemZpDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
+
import { TinyDate } from 'ngx-tethys/util';
|
|
3
3
|
import { DateHelperService } from '../../date-helper.service';
|
|
4
4
|
import { isAfterMoreThanLessOneYear, isAfterMoreThanOneDecade, isAfterMoreThanOneMonth, isAfterMoreThanOneYear } from '../../picker.util';
|
|
5
5
|
import { DateHeader } from '../date/date-header.component';
|
|
@@ -20,7 +20,7 @@ import * as i1 from "../../date-helper.service";
|
|
|
20
20
|
*/
|
|
21
21
|
export class InnerPopup {
|
|
22
22
|
set showDateRangeInput(value) {
|
|
23
|
-
this._showDateRangeInput =
|
|
23
|
+
this._showDateRangeInput = value;
|
|
24
24
|
}
|
|
25
25
|
get showDateRangeInput() {
|
|
26
26
|
return this._showDateRangeInput;
|
|
@@ -131,7 +131,7 @@ export class InnerPopup {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: InnerPopup, deps: [{ token: i1.DateHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: InnerPopup, isStandalone: true, selector: "inner-popup", inputs: { showWeek: "showWeek", isRange: "isRange", activeDate: "activeDate", rangeActiveDate: "rangeActiveDate", enablePrev: "enablePrev", enableNext: "enableNext", disabledDate: "disabledDate", dateRender: "dateRender", selectedValue: "selectedValue", hoverValue: "hoverValue", panelMode: "panelMode", showDateRangeInput: ["showDateRangeInput", "showDateRangeInput", booleanAttribute], partType: "partType", endPanelMode: "endPanelMode", value: "value" }, outputs: { panelModeChange: "panelModeChange", headerChange: "headerChange", selectDate: "selectDate", dayHover: "dayHover" }, host: { properties: { "class.thy-calendar-picker-inner-popup": "this.className", "class.thy-calendar-picker-inner-popup-with-range-input": "this._showDateRangeInput" } }, exportAs: ["innerPopup"], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"showDateRangeInput\">\n <div class=\"{{ prefixCls }}-picker-inner-popup-range-input\">\n <input thyInput thySize=\"sm\" [value]=\"getReadableValue(selectedValue[0])\" placeholder=\"\u5F00\u59CB\u65E5\u671F\" />\n <span class=\"split\"></span>\n <input thyInput thySize=\"sm\" [value]=\"getReadableValue(selectedValue[1])\" placeholder=\"\u7ED3\u675F\u65E5\u671F\" />\n </div>\n</ng-container>\n<ng-container [ngSwitch]=\"panelMode\">\n <ng-container *ngSwitchCase=\"'decade'\">\n <div class=\"{{ prefixCls }}-decade\">\n <decade-header\n [(value)]=\"activeDate\"\n [showSuperPreBtn]=\"enableSuperPrevNext('prev', 'decade')\"\n [showSuperNextBtn]=\"enableSuperPrevNext('next', 'decade')\"\n [showNextBtn]=\"false\"\n [showPreBtn]=\"false\"\n (panelModeChange)=\"panelModeChange.emit($event)\"\n (valueChange)=\"headerChange.emit($event)\">\n </decade-header>\n <div class=\"{{ prefixCls }}-body\">\n <decade-table [value]=\"value\" [activeDate]=\"activeDate\" (valueChange)=\"onChooseDecade($event)\"></decade-table>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'year'\">\n <div class=\"{{ prefixCls }}-year\">\n <year-header\n [(value)]=\"activeDate\"\n [showSuperPreBtn]=\"enableSuperPrevNext('prev', 'year')\"\n [showSuperNextBtn]=\"enableSuperPrevNext('next', 'year')\"\n [showNextBtn]=\"false\"\n [showPreBtn]=\"false\"\n (panelModeChange)=\"panelModeChange.emit($event)\"\n (valueChange)=\"headerChange.emit($event)\">\n </year-header>\n <div class=\"{{ prefixCls }}-body\">\n <year-table\n [value]=\"value\"\n [activeDate]=\"activeDate\"\n [disabledDate]=\"disabledDate\"\n (valueChange)=\"onChooseYear($event)\"\n [selectedValue]=\"selectedValue\">\n </year-table>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <div class=\"{{ prefixCls }}-month\">\n <month-header\n [(value)]=\"activeDate\"\n [showSuperPreBtn]=\"enableSuperPrevNext('prev', 'month')\"\n [showSuperNextBtn]=\"enableSuperPrevNext('next', 'month')\"\n [showNextBtn]=\"false\"\n [showPreBtn]=\"false\"\n (panelModeChange)=\"panelModeChange.emit($event)\"\n (valueChange)=\"headerChange.emit($event)\">\n </month-header>\n <div class=\"{{ prefixCls }}-body\">\n <month-table\n [value]=\"value\"\n [activeDate]=\"activeDate\"\n [disabledDate]=\"disabledDate\"\n (valueChange)=\"onChooseMonth($event)\"\n [selectedValue]=\"selectedValue\">\n </month-table>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'quarter'\">\n <div class=\"{{ prefixCls }}-quarter\">\n <month-header\n [(value)]=\"activeDate\"\n [showSuperPreBtn]=\"enableSuperPrevNext('prev', 'month')\"\n [showSuperNextBtn]=\"enableSuperPrevNext('next', 'month')\"\n [showNextBtn]=\"false\"\n [showPreBtn]=\"false\"\n (panelModeChange)=\"panelModeChange.emit($event)\"\n (valueChange)=\"headerChange.emit($event)\">\n </month-header>\n <div class=\"{{ prefixCls }}-body\">\n <quarter-table\n [value]=\"value\"\n [activeDate]=\"activeDate\"\n [disabledDate]=\"disabledDate\"\n (valueChange)=\"onChooseQuarter($event)\"\n [selectedValue]=\"selectedValue\">\n </quarter-table>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <date-header\n [(value)]=\"activeDate\"\n [showSuperPreBtn]=\"enableSuperPrevNext('prev', 'date')\"\n [showSuperNextBtn]=\"enableSuperPrevNext('next', 'date')\"\n [showPreBtn]=\"enablePrevNext('prev', 'date')\"\n [showNextBtn]=\"enablePrevNext('next', 'date')\"\n (panelModeChange)=\"panelModeChange.emit($event)\"\n (valueChange)=\"headerChange.emit($event)\"></date-header>\n <div class=\"{{ prefixCls }}-body\">\n <date-table\n [showWeek]=\"showWeek\"\n [value]=\"value\"\n [activeDate]=\"activeDate\"\n (valueChange)=\"onSelectDate($event)\"\n showWeekNumber=\"false\"\n [disabledDate]=\"disabledDate\"\n [cellRender]=\"dateRender\"\n [selectedValue]=\"selectedValue\"\n [hoverValue]=\"hoverValue\"\n (dayHover)=\"dayHover.emit($event)\"></date-table>\n </div>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: DecadeHeader, selector: "decade-header" }, { kind: "component", type: DecadeTable, selector: "decade-table", exportAs: ["decadeTable"] }, { kind: "component", type: YearHeader, selector: "year-header" }, { kind: "component", type: YearTable, selector: "year-table", outputs: ["decadePanelShow"] }, { kind: "component", type: MonthHeader, selector: "month-header" }, { kind: "component", type: MonthTable, selector: "month-table", exportAs: ["monthTable"] }, { kind: "component", type: QuarterTable, selector: "quarter-table", exportAs: ["quarterTable"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: DateHeader, selector: "date-header" }, { kind: "component", type: DateTable, selector: "date-table", outputs: ["dayHover"], exportAs: ["dateTable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
135
135
|
}
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: InnerPopup, decorators: [{
|
|
137
137
|
type: Component,
|
|
@@ -180,7 +180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
180
180
|
}], panelMode: [{
|
|
181
181
|
type: Input
|
|
182
182
|
}], showDateRangeInput: [{
|
|
183
|
-
type: Input
|
|
183
|
+
type: Input,
|
|
184
|
+
args: [{ transform: booleanAttribute }]
|
|
184
185
|
}], partType: [{
|
|
185
186
|
type: Input
|
|
186
187
|
}], endPanelMode: [{
|
|
@@ -196,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
196
197
|
}], dayHover: [{
|
|
197
198
|
type: Output
|
|
198
199
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2xpYi9wb3B1cHMvaW5uZXItcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2xpYi9wb3B1cHMvaW5uZXItcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVE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LEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVhLGVBQWU7c0JBQWpDLE1BQU07Z0JBRUUsS0FBSztzQkFBYixLQUFLO2dCQUVhLFlBQVk7c0JBQTlCLE1BQU07Z0JBQ1ksVUFBVTtzQkFBNUIsTUFBTTtnQkFDWSxRQUFRO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBGdW5jdGlvblByb3AsIFRpbnlEYXRlIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IERhdGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0ZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSYW5nZVBhcnRUeXBlIH0gZnJvbSAnLi4vLi4vaW5uZXItdHlwZXMnO1xuaW1wb3J0IHsgaXNBZnRlck1vcmVUaGFuTGVzc09uZVllYXIsIGlzQWZ0ZXJNb3JlVGhhbk9uZURlY2FkZSwgaXNBZnRlck1vcmVUaGFuT25lTW9udGgsIGlzQWZ0ZXJNb3JlVGhhbk9uZVllYXIgfSBmcm9tICcuLi8uLi9waWNrZXIudXRpbCc7XG5pbXBvcnQgeyBEaXNhYmxlZERhdGVGbiwgVGh5UGFuZWxNb2RlIH0gZnJvbSAnLi4vLi4vc3RhbmRhcmQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUhlYWRlciB9IGZyb20gJy4uL2RhdGUvZGF0ZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUYWJsZSB9IGZyb20gJy4uL2RhdGUvZGF0ZS10YWJsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBOZ0lmLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1N3aXRjaERlZmF1bHQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5SW5wdXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IERlY2FkZUhlYWRlciB9IGZyb20gJy4uL2RlY2FkZS9kZWNhZGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWNhZGVUYWJsZSB9IGZyb20gJy4uL2RlY2FkZS9kZWNhZGUtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbnRoSGVhZGVyIH0gZnJvbSAnLi4vbW9udGgvbW9udGgtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb250aFRhYmxlIH0gZnJvbSAnLi4vbW9udGgvbW9udGgtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFllYXJIZWFkZXIgfSBmcm9tICcuLi95ZWFyL3llYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZZWFyVGFibGUgfSBmcm9tICcuLi95ZWFyL3llYXItdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFF1YXJ0ZXJUYWJsZSB9IGZyb20gJy4uL3F1YXJ0ZXIvcXVhcnRlci10YWJsZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdpbm5lci1wb3B1cCcsXG4gICAgZXhwb3J0QXM6ICdpbm5lclBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2lubmVyLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgVGh5SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIE5nU3dpdGNoLFxuICAgICAgICBOZ1N3aXRjaENhc2UsXG4gICAgICAgIERlY2FkZUhlYWRlcixcbiAgICAgICAgRGVjYWRlVGFibGUsXG4gICAgICAgIFllYXJIZWFkZXIsXG4gICAgICAgIFllYXJUYWJsZSxcbiAgICAgICAgTW9udGhIZWFkZXIsXG4gICAgICAgIE1vbnRoVGFibGUsXG4gICAgICAgIFF1YXJ0ZXJUYWJsZSxcbiAgICAgICAgTmdTd2l0Y2hEZWZhdWx0LFxuICAgICAgICBEYXRlSGVhZGVyLFxuICAgICAgICBEYXRlVGFibGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElubmVyUG9wdXAgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLXBpY2tlci1pbm5lci1wb3B1cCcpIGNsYXNzTmFtZSA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktY2FsZW5kYXItcGlja2VyLWlubmVyLXBvcHVwLXdpdGgtcmFuZ2UtaW5wdXQnKSBfc2hvd0RhdGVSYW5nZUlucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzaG93V2VlazogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc1JhbmdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFjdGl2ZURhdGU6IFRpbnlEYXRlO1xuICAgIEBJbnB1dCgpIHJhbmdlQWN0aXZlRGF0ZTogVGlueURhdGVbXTsgLy8gUmFuZ2UgT05MWVxuICAgIEBJbnB1dCgpIGVuYWJsZVByZXY6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZW5hYmxlTmV4dDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZERhdGU6IERpc2FibGVkRGF0ZUZuO1xuICAgIEBJbnB1dCgpIGRhdGVSZW5kZXI6IEZ1bmN0aW9uUHJvcDxUZW1wbGF0ZVJlZjxEYXRlPiB8IHN0cmluZz47XG4gICAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogVGlueURhdGVbXTsgLy8gUmFuZ2UgT05MWVxuICAgIEBJbnB1dCgpIGhvdmVyVmFsdWU6IFRpbnlEYXRlW107IC8vIFJhbmdlIE9OTFlcblxuICAgIEBJbnB1dCgpIHBhbmVsTW9kZTogVGh5UGFuZWxNb2RlO1xuXG4gICAgQElucHV0KCkgc2V0IHNob3dEYXRlUmFuZ2VJbnB1dCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93RGF0ZVJhbmdlSW5wdXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzaG93RGF0ZVJhbmdlSW5wdXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RGF0ZVJhbmdlSW5wdXQ7XG4gICAgfVxuXG4gICAgQElucHV0KCkgcGFydFR5cGU6IFJhbmdlUGFydFR5cGU7XG5cbiAgICBASW5wdXQoKSBlbmRQYW5lbE1vZGU6IFRoeVBhbmVsTW9kZTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBwYW5lbE1vZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVBhbmVsTW9kZT4oKTtcblxuICAgIEBJbnB1dCgpIHZhbHVlOiBUaW55RGF0ZTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBoZWFkZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbnlEYXRlPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3REYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxUaW55RGF0ZT4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZGF5SG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbnlEYXRlPigpO1xuXG4gICAgcHJlZml4Q2xzID0gJ3RoeS1jYWxlbmRhcic7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVIZWxwZXI6IERhdGVIZWxwZXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5hY3RpdmVEYXRlICYmICFjaGFuZ2VzLmFjdGl2ZURhdGUuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgVGlueURhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5wYW5lbE1vZGUgJiYgY2hhbmdlcy5wYW5lbE1vZGUuY3VycmVudFZhbHVlID09PSAndGltZScpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gJ2RhdGUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0UmVhZGFibGVWYWx1ZSh2YWx1ZTogVGlueURhdGUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID8gdGhpcy5kYXRlSGVscGVyLmZvcm1hdCh2YWx1ZS5uYXRpdmVEYXRlLCAneXl5eS1NTS1kZCcpIDogJyc7XG4gICAgfVxuXG4gICAgb25TZWxlY3REYXRlKGRhdGU6IFRpbnlEYXRlIHwgRGF0ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGUgaW5zdGFuY2VvZiBUaW55RGF0ZSA/IGRhdGUgOiBuZXcgVGlueURhdGUoZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3REYXRlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIG9uQ2hvb3NlTW9udGgodmFsdWU6IFRpbnlEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYWN0aXZlRGF0ZS5zZXRNb250aCh2YWx1ZS5nZXRNb250aCgpKTtcbiAgICAgICAgaWYgKHRoaXMuZW5kUGFuZWxNb2RlID09PSAnbW9udGgnKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlckNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlQ2hhbmdlLmVtaXQodGhpcy5lbmRQYW5lbE1vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaG9vc2VRdWFydGVyKHZhbHVlOiBUaW55RGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGUuc2V0UXVhcnRlcih2YWx1ZS5nZXRRdWFydGVyKCkpO1xuICAgICAgICBpZiAodGhpcy5lbmRQYW5lbE1vZGUgPT09ICdxdWFydGVyJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlLmVtaXQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnBhbmVsTW9kZUNoYW5nZS5lbWl0KHRoaXMuZW5kUGFuZWxNb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hvb3NlWWVhcih2YWx1ZTogVGlueURhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlLnNldFllYXIodmFsdWUuZ2V0WWVhcigpKTtcbiAgICAgICAgaWYgKHRoaXMuZW5kUGFuZWxNb2RlID09PSAneWVhcicpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGVDaGFuZ2UuZW1pdCh0aGlzLmVuZFBhbmVsTW9kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNob29zZURlY2FkZSh2YWx1ZTogVGlueURhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlLnNldFllYXIodmFsdWUuZ2V0WWVhcigpKTtcbiAgICAgICAgaWYgKHRoaXMuZW5kUGFuZWxNb2RlID09PSAnZGVjYWRlJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlLmVtaXQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnBhbmVsTW9kZUNoYW5nZS5lbWl0KCd5ZWFyJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmFibGVQcmV2TmV4dChkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgbW9kZTogVGh5UGFuZWxNb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGlmICgodGhpcy5wYXJ0VHlwZSA9PT0gJ2xlZnQnICYmIGRpcmVjdGlvbiA9PT0gJ25leHQnKSB8fCAodGhpcy5wYXJ0VHlwZSA9PT0gJ3JpZ2h0JyAmJiBkaXJlY3Rpb24gPT09ICdwcmV2JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbaGVhZGVyTGVmdERhdGUsIGhlYWRlclJpZ2h0RGF0ZV0gPSB0aGlzLnJhbmdlQWN0aXZlRGF0ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNBZnRlck1vcmVUaGFuT25lTW9udGgoaGVhZGVyUmlnaHREYXRlLCBoZWFkZXJMZWZ0RGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmFibGVTdXBlclByZXZOZXh0KGRpcmVjdGlvbjogJ3ByZXYnIHwgJ25leHQnLCBwYW5lbE1vZGU6IFRoeVBhbmVsTW9kZSkge1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICAgICAgICBpZiAoKHRoaXMucGFydFR5cGUgPT09ICdsZWZ0JyAmJiBkaXJlY3Rpb24gPT09ICduZXh0JykgfHwgKHRoaXMucGFydFR5cGUgPT09ICdyaWdodCcgJiYgZGlyZWN0aW9uID09PSAncHJldicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2hlYWRlckxlZnREYXRlLCBoZWFkZXJSaWdodERhdGVdID0gdGhpcy5yYW5nZUFjdGl2ZURhdGU7XG4gICAgICAgICAgICAgICAgaWYgKHBhbmVsTW9kZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0FmdGVyTW9yZVRoYW5MZXNzT25lWWVhcihoZWFkZXJSaWdodERhdGUsIGhlYWRlckxlZnREYXRlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhbmVsTW9kZSA9PT0gJ21vbnRoJyB8fCBwYW5lbE1vZGUgPT09ICdxdWFydGVyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNBZnRlck1vcmVUaGFuT25lWWVhcihoZWFkZXJSaWdodERhdGUsIGhlYWRlckxlZnREYXRlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhbmVsTW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0FmdGVyTW9yZVRoYW5PbmVEZWNhZGUoaGVhZGVyUmlnaHREYXRlLCBoZWFkZXJMZWZ0RGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dEYXRlUmFuZ2VJbnB1dFwiPlxuICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LXBpY2tlci1pbm5lci1wb3B1cC1yYW5nZS1pbnB1dFwiPlxuICAgIDxpbnB1dCB0aHlJbnB1dCB0aHlTaXplPVwic21cIiBbdmFsdWVdPVwiZ2V0UmVhZGFibGVWYWx1ZShzZWxlY3RlZFZhbHVlWzBdKVwiIHBsYWNlaG9sZGVyPVwi5byA5aeL5pel5pyfXCIgLz5cbiAgICA8c3BhbiBjbGFzcz1cInNwbGl0XCI+PC9zcGFuPlxuICAgIDxpbnB1dCB0aHlJbnB1dCB0aHlTaXplPVwic21cIiBbdmFsdWVdPVwiZ2V0UmVhZGFibGVWYWx1ZShzZWxlY3RlZFZhbHVlWzFdKVwiIHBsYWNlaG9sZGVyPVwi57uT5p2f5pel5pyfXCIgLz5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhbmVsTW9kZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGVjYWRlJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tZGVjYWRlXCI+XG4gICAgICA8ZGVjYWRlLWhlYWRlclxuICAgICAgICBbKHZhbHVlKV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgW3Nob3dTdXBlclByZUJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCdwcmV2JywgJ2RlY2FkZScpXCJcbiAgICAgICAgW3Nob3dTdXBlck5leHRCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgnbmV4dCcsICdkZWNhZGUnKVwiXG4gICAgICAgIFtzaG93TmV4dEJ0bl09XCJmYWxzZVwiXG4gICAgICAgIFtzaG93UHJlQnRuXT1cImZhbHNlXCJcbiAgICAgICAgKHBhbmVsTW9kZUNoYW5nZSk9XCJwYW5lbE1vZGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImhlYWRlckNoYW5nZS5lbWl0KCRldmVudClcIj5cbiAgICAgIDwvZGVjYWRlLWhlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tYm9keVwiPlxuICAgICAgICA8ZGVjYWRlLXRhYmxlIFt2YWx1ZV09XCJ2YWx1ZVwiIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIiAodmFsdWVDaGFuZ2UpPVwib25DaG9vc2VEZWNhZGUoJGV2ZW50KVwiPjwvZGVjYWRlLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFyJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0teWVhclwiPlxuICAgICAgPHllYXItaGVhZGVyXG4gICAgICAgIFsodmFsdWUpXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICBbc2hvd1N1cGVyUHJlQnRuXT1cImVuYWJsZVN1cGVyUHJldk5leHQoJ3ByZXYnLCAneWVhcicpXCJcbiAgICAgICAgW3Nob3dTdXBlck5leHRCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgnbmV4dCcsICd5ZWFyJylcIlxuICAgICAgICBbc2hvd05leHRCdG5dPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd1ByZUJ0bl09XCJmYWxzZVwiXG4gICAgICAgIChwYW5lbE1vZGVDaGFuZ2UpPVwicGFuZWxNb2RlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoZWFkZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gICAgICA8L3llYXItaGVhZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1ib2R5XCI+XG4gICAgICAgIDx5ZWFyLXRhYmxlXG4gICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXRlXT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hvb3NlWWVhcigkZXZlbnQpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCI+XG4gICAgICAgIDwveWVhci10YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRoJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tbW9udGhcIj5cbiAgICAgIDxtb250aC1oZWFkZXJcbiAgICAgICAgWyh2YWx1ZSldPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgIFtzaG93U3VwZXJQcmVCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgncHJldicsICdtb250aCcpXCJcbiAgICAgICAgW3Nob3dTdXBlck5leHRCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgnbmV4dCcsICdtb250aCcpXCJcbiAgICAgICAgW3Nob3dOZXh0QnRuXT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dQcmVCdG5dPVwiZmFsc2VcIlxuICAgICAgICAocGFuZWxNb2RlQ2hhbmdlKT1cInBhbmVsTW9kZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGVhZGVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgPC9tb250aC1oZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWJvZHlcIj5cbiAgICAgICAgPG1vbnRoLXRhYmxlXG4gICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXRlXT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hvb3NlTW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiPlxuICAgICAgICA8L21vbnRoLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcidcIj5cbiAgICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LXF1YXJ0ZXJcIj5cbiAgICAgIDxtb250aC1oZWFkZXJcbiAgICAgICAgWyh2YWx1ZSldPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgIFtzaG93U3VwZXJQcmVCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgncHJldicsICdtb250aCcpXCJcbiAgICAgICAgW3Nob3dTdXBlck5leHRCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgnbmV4dCcsICdtb250aCcpXCJcbiAgICAgICAgW3Nob3dOZXh0QnRuXT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dQcmVCdG5dPVwiZmFsc2VcIlxuICAgICAgICAocGFuZWxNb2RlQ2hhbmdlKT1cInBhbmVsTW9kZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGVhZGVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgPC9tb250aC1oZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWJvZHlcIj5cbiAgICAgICAgPHF1YXJ0ZXItdGFibGVcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaG9vc2VRdWFydGVyKCRldmVudClcIlxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj5cbiAgICAgICAgPC9xdWFydGVyLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPGRhdGUtaGVhZGVyXG4gICAgICBbKHZhbHVlKV09XCJhY3RpdmVEYXRlXCJcbiAgICAgIFtzaG93U3VwZXJQcmVCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgncHJldicsICdkYXRlJylcIlxuICAgICAgW3Nob3dTdXBlck5leHRCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgnbmV4dCcsICdkYXRlJylcIlxuICAgICAgW3Nob3dQcmVCdG5dPVwiZW5hYmxlUHJldk5leHQoJ3ByZXYnLCAnZGF0ZScpXCJcbiAgICAgIFtzaG93TmV4dEJ0bl09XCJlbmFibGVQcmV2TmV4dCgnbmV4dCcsICdkYXRlJylcIlxuICAgICAgKHBhbmVsTW9kZUNoYW5nZSk9XCJwYW5lbE1vZGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJoZWFkZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+PC9kYXRlLWhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWJvZHlcIj5cbiAgICAgIDxkYXRlLXRhYmxlXG4gICAgICAgIFtzaG93V2Vla109XCJzaG93V2Vla1wiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25TZWxlY3REYXRlKCRldmVudClcIlxuICAgICAgICBzaG93V2Vla051bWJlcj1cImZhbHNlXCJcbiAgICAgICAgW2Rpc2FibGVkRGF0ZV09XCJkaXNhYmxlZERhdGVcIlxuICAgICAgICBbY2VsbFJlbmRlcl09XCJkYXRlUmVuZGVyXCJcbiAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgIFtob3ZlclZhbHVlXT1cImhvdmVyVmFsdWVcIlxuICAgICAgICAoZGF5SG92ZXIpPVwiZGF5SG92ZXIuZW1pdCgkZXZlbnQpXCI+PC9kYXRlLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5uZXItcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2xpYi9wb3B1cHMvaW5uZXItcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2xpYi9wb3B1cHMvaW5uZXItcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1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QUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFHRixrQkFBa0I7c0JBRHJCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUzdCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxZQUFZO3NCQUE5QixNQUFNO2dCQUNZLFVBQVU7c0JBQTVCLE1BQU07Z0JBQ1ksUUFBUTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRnVuY3Rpb25Qcm9wLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBEYXRlSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGUtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmFuZ2VQYXJ0VHlwZSB9IGZyb20gJy4uLy4uL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IGlzQWZ0ZXJNb3JlVGhhbkxlc3NPbmVZZWFyLCBpc0FmdGVyTW9yZVRoYW5PbmVEZWNhZGUsIGlzQWZ0ZXJNb3JlVGhhbk9uZU1vbnRoLCBpc0FmdGVyTW9yZVRoYW5PbmVZZWFyIH0gZnJvbSAnLi4vLi4vcGlja2VyLnV0aWwnO1xuaW1wb3J0IHsgRGlzYWJsZWREYXRlRm4sIFRoeVBhbmVsTW9kZSB9IGZyb20gJy4uLy4uL3N0YW5kYXJkLXR5cGVzJztcbmltcG9ydCB7IERhdGVIZWFkZXIgfSBmcm9tICcuLi9kYXRlL2RhdGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlVGFibGUgfSBmcm9tICcuLi9kYXRlL2RhdGUtdGFibGUuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2hEZWZhdWx0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBEZWNhZGVIZWFkZXIgfSBmcm9tICcuLi9kZWNhZGUvZGVjYWRlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVjYWRlVGFibGUgfSBmcm9tICcuLi9kZWNhZGUvZGVjYWRlLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb250aEhlYWRlciB9IGZyb20gJy4uL21vbnRoL21vbnRoLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9udGhUYWJsZSB9IGZyb20gJy4uL21vbnRoL21vbnRoLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZZWFySGVhZGVyIH0gZnJvbSAnLi4veWVhci95ZWFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWVhclRhYmxlIH0gZnJvbSAnLi4veWVhci95ZWFyLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRdWFydGVyVGFibGUgfSBmcm9tICcuLi9xdWFydGVyL3F1YXJ0ZXItdGFibGUuY29tcG9uZW50JztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaW5uZXItcG9wdXAnLFxuICAgIGV4cG9ydEFzOiAnaW5uZXJQb3B1cCcsXG4gICAgdGVtcGxhdGVVcmw6ICdpbm5lci1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBOZ1N3aXRjaCxcbiAgICAgICAgTmdTd2l0Y2hDYXNlLFxuICAgICAgICBEZWNhZGVIZWFkZXIsXG4gICAgICAgIERlY2FkZVRhYmxlLFxuICAgICAgICBZZWFySGVhZGVyLFxuICAgICAgICBZZWFyVGFibGUsXG4gICAgICAgIE1vbnRoSGVhZGVyLFxuICAgICAgICBNb250aFRhYmxlLFxuICAgICAgICBRdWFydGVyVGFibGUsXG4gICAgICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICAgICAgRGF0ZUhlYWRlcixcbiAgICAgICAgRGF0ZVRhYmxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbm5lclBvcHVwIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYWxlbmRhci1waWNrZXItaW5uZXItcG9wdXAnKSBjbGFzc05hbWUgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLXBpY2tlci1pbm5lci1wb3B1cC13aXRoLXJhbmdlLWlucHV0JykgX3Nob3dEYXRlUmFuZ2VJbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc2hvd1dlZWs6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNSYW5nZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhY3RpdmVEYXRlOiBUaW55RGF0ZTtcbiAgICBASW5wdXQoKSByYW5nZUFjdGl2ZURhdGU6IFRpbnlEYXRlW107IC8vIFJhbmdlIE9OTFlcbiAgICBASW5wdXQoKSBlbmFibGVQcmV2OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGVuYWJsZU5leHQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWREYXRlOiBEaXNhYmxlZERhdGVGbjtcbiAgICBASW5wdXQoKSBkYXRlUmVuZGVyOiBGdW5jdGlvblByb3A8VGVtcGxhdGVSZWY8RGF0ZT4gfCBzdHJpbmc+O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IFRpbnlEYXRlW107IC8vIFJhbmdlIE9OTFlcbiAgICBASW5wdXQoKSBob3ZlclZhbHVlOiBUaW55RGF0ZVtdOyAvLyBSYW5nZSBPTkxZXG5cbiAgICBASW5wdXQoKSBwYW5lbE1vZGU6IFRoeVBhbmVsTW9kZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBzaG93RGF0ZVJhbmdlSW5wdXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0RhdGVSYW5nZUlucHV0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dEYXRlUmFuZ2VJbnB1dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dEYXRlUmFuZ2VJbnB1dDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwYXJ0VHlwZTogUmFuZ2VQYXJ0VHlwZTtcblxuICAgIEBJbnB1dCgpIGVuZFBhbmVsTW9kZTogVGh5UGFuZWxNb2RlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHBhbmVsTW9kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlPigpO1xuXG4gICAgQElucHV0KCkgdmFsdWU6IFRpbnlEYXRlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGhlYWRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGlueURhdGU+KCk7XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbnlEYXRlPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBkYXlIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8VGlueURhdGU+KCk7XG5cbiAgICBwcmVmaXhDbHMgPSAndGh5LWNhbGVuZGFyJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZUhlbHBlcjogRGF0ZUhlbHBlclNlcnZpY2UpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmFjdGl2ZURhdGUgJiYgIWNoYW5nZXMuYWN0aXZlRGF0ZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5ldyBUaW55RGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLnBhbmVsTW9kZSAmJiBjaGFuZ2VzLnBhbmVsTW9kZS5jdXJyZW50VmFsdWUgPT09ICd0aW1lJykge1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGUgPSAnZGF0ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRSZWFkYWJsZVZhbHVlKHZhbHVlOiBUaW55RGF0ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLmRhdGVIZWxwZXIuZm9ybWF0KHZhbHVlLm5hdGl2ZURhdGUsICd5eXl5LU1NLWRkJykgOiAnJztcbiAgICB9XG5cbiAgICBvblNlbGVjdERhdGUoZGF0ZTogVGlueURhdGUgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0ZSBpbnN0YW5jZW9mIFRpbnlEYXRlID8gZGF0ZSA6IG5ldyBUaW55RGF0ZShkYXRlKTtcblxuICAgICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25DaG9vc2VNb250aCh2YWx1ZTogVGlueURhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5hY3RpdmVEYXRlLnNldE1vbnRoKHZhbHVlLmdldE1vbnRoKCkpO1xuICAgICAgICBpZiAodGhpcy5lbmRQYW5lbE1vZGUgPT09ICdtb250aCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGVDaGFuZ2UuZW1pdCh0aGlzLmVuZFBhbmVsTW9kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNob29zZVF1YXJ0ZXIodmFsdWU6IFRpbnlEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYWN0aXZlRGF0ZS5zZXRRdWFydGVyKHZhbHVlLmdldFF1YXJ0ZXIoKSk7XG4gICAgICAgIGlmICh0aGlzLmVuZFBhbmVsTW9kZSA9PT0gJ3F1YXJ0ZXInKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlckNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlQ2hhbmdlLmVtaXQodGhpcy5lbmRQYW5lbE1vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaG9vc2VZZWFyKHZhbHVlOiBUaW55RGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGUuc2V0WWVhcih2YWx1ZS5nZXRZZWFyKCkpO1xuICAgICAgICBpZiAodGhpcy5lbmRQYW5lbE1vZGUgPT09ICd5ZWFyJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlLmVtaXQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnBhbmVsTW9kZUNoYW5nZS5lbWl0KHRoaXMuZW5kUGFuZWxNb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hvb3NlRGVjYWRlKHZhbHVlOiBUaW55RGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGUgPSB0aGlzLmFjdGl2ZURhdGUuc2V0WWVhcih2YWx1ZS5nZXRZZWFyKCkpO1xuICAgICAgICBpZiAodGhpcy5lbmRQYW5lbE1vZGUgPT09ICdkZWNhZGUnKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdERhdGUuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlckNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlQ2hhbmdlLmVtaXQoJ3llYXInKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuYWJsZVByZXZOZXh0KGRpcmVjdGlvbjogJ3ByZXYnIHwgJ25leHQnLCBtb2RlOiBUaHlQYW5lbE1vZGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgaWYgKCh0aGlzLnBhcnRUeXBlID09PSAnbGVmdCcgJiYgZGlyZWN0aW9uID09PSAnbmV4dCcpIHx8ICh0aGlzLnBhcnRUeXBlID09PSAncmlnaHQnICYmIGRpcmVjdGlvbiA9PT0gJ3ByZXYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtoZWFkZXJMZWZ0RGF0ZSwgaGVhZGVyUmlnaHREYXRlXSA9IHRoaXMucmFuZ2VBY3RpdmVEYXRlO1xuICAgICAgICAgICAgICAgIHJldHVybiBpc0FmdGVyTW9yZVRoYW5PbmVNb250aChoZWFkZXJSaWdodERhdGUsIGhlYWRlckxlZnREYXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuYWJsZVN1cGVyUHJldk5leHQoZGlyZWN0aW9uOiAncHJldicgfCAnbmV4dCcsIHBhbmVsTW9kZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGlmICgodGhpcy5wYXJ0VHlwZSA9PT0gJ2xlZnQnICYmIGRpcmVjdGlvbiA9PT0gJ25leHQnKSB8fCAodGhpcy5wYXJ0VHlwZSA9PT0gJ3JpZ2h0JyAmJiBkaXJlY3Rpb24gPT09ICdwcmV2JykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbaGVhZGVyTGVmdERhdGUsIGhlYWRlclJpZ2h0RGF0ZV0gPSB0aGlzLnJhbmdlQWN0aXZlRGF0ZTtcbiAgICAgICAgICAgICAgICBpZiAocGFuZWxNb2RlID09PSAnZGF0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQWZ0ZXJNb3JlVGhhbkxlc3NPbmVZZWFyKGhlYWRlclJpZ2h0RGF0ZSwgaGVhZGVyTGVmdERhdGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFuZWxNb2RlID09PSAnbW9udGgnIHx8IHBhbmVsTW9kZSA9PT0gJ3F1YXJ0ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc0FmdGVyTW9yZVRoYW5PbmVZZWFyKGhlYWRlclJpZ2h0RGF0ZSwgaGVhZGVyTGVmdERhdGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFuZWxNb2RlID09PSAneWVhcicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQWZ0ZXJNb3JlVGhhbk9uZURlY2FkZShoZWFkZXJSaWdodERhdGUsIGhlYWRlckxlZnREYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0RhdGVSYW5nZUlucHV0XCI+XG4gIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tcGlja2VyLWlubmVyLXBvcHVwLXJhbmdlLWlucHV0XCI+XG4gICAgPGlucHV0IHRoeUlucHV0IHRoeVNpemU9XCJzbVwiIFt2YWx1ZV09XCJnZXRSZWFkYWJsZVZhbHVlKHNlbGVjdGVkVmFsdWVbMF0pXCIgcGxhY2Vob2xkZXI9XCLlvIDlp4vml6XmnJ9cIiAvPlxuICAgIDxzcGFuIGNsYXNzPVwic3BsaXRcIj48L3NwYW4+XG4gICAgPGlucHV0IHRoeUlucHV0IHRoeVNpemU9XCJzbVwiIFt2YWx1ZV09XCJnZXRSZWFkYWJsZVZhbHVlKHNlbGVjdGVkVmFsdWVbMV0pXCIgcGxhY2Vob2xkZXI9XCLnu5PmnZ/ml6XmnJ9cIiAvPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicGFuZWxNb2RlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkZWNhZGUnXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1kZWNhZGVcIj5cbiAgICAgIDxkZWNhZGUtaGVhZGVyXG4gICAgICAgIFsodmFsdWUpXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICBbc2hvd1N1cGVyUHJlQnRuXT1cImVuYWJsZVN1cGVyUHJldk5leHQoJ3ByZXYnLCAnZGVjYWRlJylcIlxuICAgICAgICBbc2hvd1N1cGVyTmV4dEJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCduZXh0JywgJ2RlY2FkZScpXCJcbiAgICAgICAgW3Nob3dOZXh0QnRuXT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dQcmVCdG5dPVwiZmFsc2VcIlxuICAgICAgICAocGFuZWxNb2RlQ2hhbmdlKT1cInBhbmVsTW9kZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGVhZGVyQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgPC9kZWNhZGUtaGVhZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1ib2R5XCI+XG4gICAgICAgIDxkZWNhZGUtdGFibGUgW3ZhbHVlXT1cInZhbHVlXCIgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiICh2YWx1ZUNoYW5nZSk9XCJvbkNob29zZURlY2FkZSgkZXZlbnQpXCI+PC9kZWNhZGUtdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3llYXInXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IHByZWZpeENscyB9fS15ZWFyXCI+XG4gICAgICA8eWVhci1oZWFkZXJcbiAgICAgICAgWyh2YWx1ZSldPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgIFtzaG93U3VwZXJQcmVCdG5dPVwiZW5hYmxlU3VwZXJQcmV2TmV4dCgncHJldicsICd5ZWFyJylcIlxuICAgICAgICBbc2hvd1N1cGVyTmV4dEJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCduZXh0JywgJ3llYXInKVwiXG4gICAgICAgIFtzaG93TmV4dEJ0bl09XCJmYWxzZVwiXG4gICAgICAgIFtzaG93UHJlQnRuXT1cImZhbHNlXCJcbiAgICAgICAgKHBhbmVsTW9kZUNoYW5nZSk9XCJwYW5lbE1vZGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImhlYWRlckNoYW5nZS5lbWl0KCRldmVudClcIj5cbiAgICAgIDwveWVhci1oZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwie3sgcHJlZml4Q2xzIH19LWJvZHlcIj5cbiAgICAgICAgPHllYXItdGFibGVcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaG9vc2VZZWFyKCRldmVudClcIlxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj5cbiAgICAgICAgPC95ZWFyLXRhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGgnXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IHByZWZpeENscyB9fS1tb250aFwiPlxuICAgICAgPG1vbnRoLWhlYWRlclxuICAgICAgICBbKHZhbHVlKV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgW3Nob3dTdXBlclByZUJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCdwcmV2JywgJ21vbnRoJylcIlxuICAgICAgICBbc2hvd1N1cGVyTmV4dEJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCduZXh0JywgJ21vbnRoJylcIlxuICAgICAgICBbc2hvd05leHRCdG5dPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd1ByZUJ0bl09XCJmYWxzZVwiXG4gICAgICAgIChwYW5lbE1vZGVDaGFuZ2UpPVwicGFuZWxNb2RlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoZWFkZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gICAgICA8L21vbnRoLWhlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tYm9keVwiPlxuICAgICAgICA8bW9udGgtdGFibGVcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaG9vc2VNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCI+XG4gICAgICAgIDwvbW9udGgtdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidxdWFydGVyJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tcXVhcnRlclwiPlxuICAgICAgPG1vbnRoLWhlYWRlclxuICAgICAgICBbKHZhbHVlKV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgW3Nob3dTdXBlclByZUJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCdwcmV2JywgJ21vbnRoJylcIlxuICAgICAgICBbc2hvd1N1cGVyTmV4dEJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCduZXh0JywgJ21vbnRoJylcIlxuICAgICAgICBbc2hvd05leHRCdG5dPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd1ByZUJ0bl09XCJmYWxzZVwiXG4gICAgICAgIChwYW5lbE1vZGVDaGFuZ2UpPVwicGFuZWxNb2RlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoZWFkZXJDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gICAgICA8L21vbnRoLWhlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tYm9keVwiPlxuICAgICAgICA8cXVhcnRlci10YWJsZVxuICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkRGF0ZV09XCJkaXNhYmxlZERhdGVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNob29zZVF1YXJ0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiPlxuICAgICAgICA8L3F1YXJ0ZXItdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICA8ZGF0ZS1oZWFkZXJcbiAgICAgIFsodmFsdWUpXT1cImFjdGl2ZURhdGVcIlxuICAgICAgW3Nob3dTdXBlclByZUJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCdwcmV2JywgJ2RhdGUnKVwiXG4gICAgICBbc2hvd1N1cGVyTmV4dEJ0bl09XCJlbmFibGVTdXBlclByZXZOZXh0KCduZXh0JywgJ2RhdGUnKVwiXG4gICAgICBbc2hvd1ByZUJ0bl09XCJlbmFibGVQcmV2TmV4dCgncHJldicsICdkYXRlJylcIlxuICAgICAgW3Nob3dOZXh0QnRuXT1cImVuYWJsZVByZXZOZXh0KCduZXh0JywgJ2RhdGUnKVwiXG4gICAgICAocGFuZWxNb2RlQ2hhbmdlKT1cInBhbmVsTW9kZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cImhlYWRlckNoYW5nZS5lbWl0KCRldmVudClcIj48L2RhdGUtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBwcmVmaXhDbHMgfX0tYm9keVwiPlxuICAgICAgPGRhdGUtdGFibGVcbiAgICAgICAgW3Nob3dXZWVrXT1cInNob3dXZWVrXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblNlbGVjdERhdGUoJGV2ZW50KVwiXG4gICAgICAgIHNob3dXZWVrTnVtYmVyPVwiZmFsc2VcIlxuICAgICAgICBbZGlzYWJsZWREYXRlXT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAgIFtjZWxsUmVuZGVyXT1cImRhdGVSZW5kZXJcIlxuICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgICAgICAgW2hvdmVyVmFsdWVdPVwiaG92ZXJWYWx1ZVwiXG4gICAgICAgIChkYXlIb3Zlcik9XCJkYXlIb3Zlci5lbWl0KCRldmVudClcIj48L2RhdGUtdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|