@seniorsistemas/data-seniorx-core 2.3.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/constants/autocomplete.const.d.ts +4 -0
- package/core/constants/context-selector.const.d.ts +1 -0
- package/core/constants/gantt.const.d.ts +7 -0
- package/core/constants/hyperlink.const.d.ts +1 -0
- package/core/constants/inline-edit.const.d.ts +4 -0
- package/core/constants/kanban.const.d.ts +2 -0
- package/core/constants/pin-code-field.const.d.ts +5 -0
- package/core/constants/rating-scale.const.d.ts +1 -0
- package/core/constants/spotlight.const.d.ts +8 -0
- package/core/constants/star-rating.const.d.ts +4 -0
- package/core/constants/stepper.const.d.ts +1 -0
- package/core/constants/tiered-menu.const.d.ts +3 -0
- package/core/types/autocomplete.type.d.ts +9 -0
- package/core/types/chat.type.d.ts +12 -0
- package/core/types/checkbox-list.type.d.ts +12 -0
- package/core/types/gantt.type.d.ts +22 -0
- package/core/types/grid-menu.type.d.ts +13 -0
- package/core/types/hyperlink.type.d.ts +1 -0
- package/core/types/image-cropper.type.d.ts +20 -0
- package/core/types/inline-edit.type.d.ts +26 -0
- package/core/types/kanban.type.d.ts +36 -0
- package/core/types/panel.type.d.ts +16 -0
- package/core/types/profile-picture-picker.type.d.ts +9 -0
- package/core/types/rating-scale.type.d.ts +5 -0
- package/core/types/select-button.type.d.ts +1 -0
- package/core/types/spotlight.type.d.ts +34 -0
- package/core/types/star-rating.type.d.ts +1 -0
- package/core/types/stepper.type.d.ts +20 -0
- package/core/types/table-column.type.d.ts +3 -1
- package/core/types/table-options.type.d.ts +8 -2
- package/core/types/table.type.d.ts +1 -1
- package/core/types/tiered-menu.type.d.ts +16 -0
- package/core/types/tree.type.d.ts +25 -0
- package/core/types/workspace-switch.type.d.ts +6 -0
- package/core/utils/body-scroll.util.d.ts +2 -0
- package/core/utils/roving-focus.util.d.ts +2 -0
- package/core/utils/selection.util.d.ts +3 -0
- package/core/utils/tree.util.d.ts +4 -0
- package/esm2022/core/constants/autocomplete.const.mjs +5 -0
- package/esm2022/core/constants/context-selector.const.mjs +2 -0
- package/esm2022/core/constants/gantt.const.mjs +7 -0
- package/esm2022/core/constants/hyperlink.const.mjs +2 -1
- package/esm2022/core/constants/inline-edit.const.mjs +5 -0
- package/esm2022/core/constants/kanban.const.mjs +3 -0
- package/esm2022/core/constants/pin-code-field.const.mjs +6 -0
- package/esm2022/core/constants/rating-scale.const.mjs +2 -0
- package/esm2022/core/constants/spotlight.const.mjs +9 -0
- package/esm2022/core/constants/star-rating.const.mjs +5 -0
- package/esm2022/core/constants/stepper.const.mjs +2 -0
- package/esm2022/core/constants/table.const.mjs +2 -2
- package/esm2022/core/constants/tiered-menu.const.mjs +4 -0
- package/esm2022/core/types/autocomplete.type.mjs +2 -0
- package/esm2022/core/types/chat.type.mjs +2 -0
- package/esm2022/core/types/checkbox-list.type.mjs +2 -0
- package/esm2022/core/types/gantt.type.mjs +2 -0
- package/esm2022/core/types/grid-menu.type.mjs +2 -0
- package/esm2022/core/types/hyperlink.type.mjs +1 -1
- package/esm2022/core/types/image-cropper.type.mjs +2 -0
- package/esm2022/core/types/inline-edit.type.mjs +2 -0
- package/esm2022/core/types/kanban.type.mjs +2 -0
- package/esm2022/core/types/panel.type.mjs +9 -0
- package/esm2022/core/types/profile-picture-picker.type.mjs +2 -0
- package/esm2022/core/types/rating-scale.type.mjs +2 -0
- package/esm2022/core/types/select-button.type.mjs +1 -1
- package/esm2022/core/types/spotlight.type.mjs +2 -0
- package/esm2022/core/types/star-rating.type.mjs +2 -0
- package/esm2022/core/types/stepper.type.mjs +7 -0
- package/esm2022/core/types/table-column.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/table.type.mjs +1 -1
- package/esm2022/core/types/tiered-menu.type.mjs +2 -0
- package/esm2022/core/types/tree.type.mjs +2 -0
- package/esm2022/core/types/workspace-switch.type.mjs +2 -0
- package/esm2022/core/utils/body-scroll.util.mjs +19 -0
- package/esm2022/core/utils/combobox.util.mjs +3 -2
- package/esm2022/core/utils/roving-focus.util.mjs +20 -0
- package/esm2022/core/utils/selection.util.mjs +13 -0
- package/esm2022/core/utils/string.util.mjs +8 -3
- package/esm2022/core/utils/tree.util.mjs +23 -0
- package/esm2022/features/accordion/accordion.component.mjs +2 -2
- package/esm2022/features/accordion/{accordion-item.component.mjs → components/accordion-item/accordion-item.component.mjs} +7 -7
- package/esm2022/features/autocomplete/autocomplete.component.mjs +501 -0
- package/esm2022/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +30 -0
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/features/card-list/card/card.component.mjs +63 -99
- package/esm2022/features/chat/chat.component.mjs +126 -0
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +125 -0
- package/esm2022/features/combobox/combobox.component.mjs +20 -8
- package/esm2022/features/context-selector/context-selector.component.mjs +198 -0
- package/esm2022/features/filters/filters.component.mjs +1 -1
- package/esm2022/features/gantt/components/gantt-side-table/gantt-side-table.component.mjs +17 -0
- package/esm2022/features/gantt/gantt-date.utils.mjs +97 -0
- package/esm2022/features/gantt/gantt.component.mjs +89 -0
- package/esm2022/features/gantt/gantt.engine.mjs +662 -0
- package/esm2022/features/grid-menu/grid-menu.component.mjs +104 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +7 -4
- package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
- package/esm2022/features/image-cropper/image-cropper.component.mjs +218 -0
- package/esm2022/features/image-cropper/services/image-cropper.service.mjs +50 -0
- package/esm2022/features/infinite-scroll/infinite-scroll.directive.mjs +89 -0
- package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +38 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +131 -0
- package/esm2022/features/inline-edit/fields/inline-edit-field.mjs +17 -0
- package/esm2022/features/inline-edit/fields/inline-edit-number-field.mjs +15 -0
- package/esm2022/features/inline-edit/fields/inline-edit-text-field.mjs +11 -0
- package/esm2022/features/inline-edit/fields/inline-edit-textarea-field.mjs +15 -0
- package/esm2022/features/inline-edit/inline-edit.component.mjs +27 -0
- package/esm2022/features/interactive-content/interactive-content.directive.mjs +140 -0
- package/esm2022/features/kanban/components/kanban-column/kanban-column.component.mjs +88 -0
- package/esm2022/features/kanban/components/kanban-item/kanban-item.component.mjs +72 -0
- package/esm2022/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +19 -0
- package/esm2022/features/kanban/directives/kanban-template.directive.mjs +22 -0
- package/esm2022/features/kanban/kanban.component.mjs +198 -0
- package/esm2022/features/kanban/services/kanban-event.service.mjs +27 -0
- package/esm2022/features/loading-state/loading-state.component.mjs +3 -62
- package/esm2022/features/mouse-events/directives/double-click.directive.mjs +34 -0
- package/esm2022/features/mouse-events/directives/long-press.directive.mjs +61 -0
- package/esm2022/features/paginator/paginator.component.mjs +8 -3
- package/esm2022/features/panel/panel.component.mjs +43 -11
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +234 -0
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +330 -0
- package/esm2022/features/rating-scale/rating-scale.component.mjs +86 -0
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +4 -6
- package/esm2022/features/select-button/select-button.component.mjs +7 -4
- package/esm2022/features/speech-recognition/services/speech-recognition.service.mjs +148 -0
- package/esm2022/features/speech-recognition/services/text-to-speech.service.mjs +88 -0
- package/esm2022/features/speech-recognition/speech-recognition.component.mjs +243 -0
- package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +521 -0
- package/esm2022/features/spotlight/directives/spotlight-step.directive.mjs +38 -0
- package/esm2022/features/spotlight/services/spotlight-tour.service.mjs +179 -0
- package/esm2022/features/spotlight/spotlight.component.mjs +160 -0
- package/esm2022/features/star-rating/star-rating.component.mjs +95 -0
- package/esm2022/features/stepper/stepper.component.mjs +86 -0
- package/esm2022/features/switch/switch.component.mjs +12 -8
- package/esm2022/features/tab/{tab-item.component.mjs → components/tab-item/tab-item.component.mjs} +1 -1
- package/esm2022/features/tab/tab.component.mjs +4 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +14 -5
- package/esm2022/features/table/table.component.mjs +220 -29
- package/esm2022/features/table/utils/table-data.util.mjs +71 -8
- package/esm2022/features/table/utils/table-layout.util.mjs +21 -1
- package/esm2022/features/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +367 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +97 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +181 -0
- package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +246 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.event.service.mjs +16 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.global.service.mjs +12 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.service.mjs +49 -0
- package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +169 -0
- package/esm2022/features/tree/tree.component.mjs +211 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.mjs +41 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.mjs +38 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.mjs +35 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-flow.service.mjs +106 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-state.service.mjs +230 -0
- package/esm2022/features/visual-sql-editor/types/visual-sql-editor.types.mjs +2 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.mjs +72 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sql.util.mjs +281 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-text.util.mjs +37 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor.constants.mjs +89 -0
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +172 -630
- package/esm2022/locales/en.json +351 -3
- package/esm2022/locales/es-CO.json +351 -3
- package/esm2022/locales/pt.json +351 -3
- package/esm2022/providers/features.provider.mjs +40 -4
- package/esm2022/public-api.mjs +56 -3
- package/features/accordion/accordion.component.d.ts +1 -1
- package/features/accordion/{accordion-item.component.d.ts → components/accordion-item/accordion-item.component.d.ts} +1 -1
- package/features/autocomplete/autocomplete.component.d.ts +102 -0
- package/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +11 -0
- package/features/card-list/card/card.component.d.ts +14 -34
- package/features/chat/chat.component.d.ts +31 -0
- package/features/checkbox-list/checkbox-list.component.d.ts +26 -0
- package/features/combobox/combobox.component.d.ts +2 -1
- package/features/context-selector/context-selector.component.d.ts +37 -0
- package/features/gantt/components/gantt-side-table/gantt-side-table.component.d.ts +8 -0
- package/features/gantt/gantt-date.utils.d.ts +36 -0
- package/features/gantt/gantt.component.d.ts +24 -0
- package/features/gantt/gantt.engine.d.ts +52 -0
- package/features/grid-menu/grid-menu.component.d.ts +29 -0
- package/features/hyperlink/hyperlink.component.d.ts +2 -1
- package/features/image-cropper/image-cropper.component.d.ts +43 -0
- package/features/image-cropper/services/image-cropper.service.d.ts +13 -0
- package/features/infinite-scroll/infinite-scroll.directive.d.ts +25 -0
- package/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.d.ts +13 -0
- package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +37 -0
- package/features/inline-edit/fields/inline-edit-field.d.ts +12 -0
- package/features/inline-edit/fields/inline-edit-number-field.d.ts +9 -0
- package/features/inline-edit/fields/inline-edit-text-field.d.ts +7 -0
- package/features/inline-edit/fields/inline-edit-textarea-field.d.ts +9 -0
- package/features/inline-edit/inline-edit.component.d.ts +13 -0
- package/features/interactive-content/interactive-content.directive.d.ts +31 -0
- package/features/kanban/components/kanban-column/kanban-column.component.d.ts +22 -0
- package/features/kanban/components/kanban-item/kanban-item.component.d.ts +23 -0
- package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +8 -0
- package/features/kanban/directives/kanban-template.directive.d.ts +10 -0
- package/features/kanban/kanban.component.d.ts +32 -0
- package/features/kanban/services/kanban-event.service.d.ts +15 -0
- package/features/loading-state/loading-state.component.d.ts +0 -2
- package/features/mouse-events/directives/double-click.directive.d.ts +11 -0
- package/features/mouse-events/directives/long-press.directive.d.ts +14 -0
- package/features/panel/panel.component.d.ts +12 -3
- package/features/pin-code-field/pin-code-field.component.d.ts +44 -0
- package/features/profile-picture-picker/profile-picture-picker.component.d.ts +77 -0
- package/features/rating-scale/rating-scale.component.d.ts +24 -0
- package/features/select-button/select-button.component.d.ts +2 -1
- package/features/speech-recognition/services/speech-recognition.service.d.ts +29 -0
- package/features/speech-recognition/services/text-to-speech.service.d.ts +24 -0
- package/features/speech-recognition/speech-recognition.component.d.ts +50 -0
- package/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.d.ts +59 -0
- package/features/spotlight/directives/spotlight-step.directive.d.ts +13 -0
- package/features/spotlight/services/spotlight-tour.service.d.ts +46 -0
- package/features/spotlight/spotlight.component.d.ts +59 -0
- package/features/star-rating/star-rating.component.d.ts +26 -0
- package/features/stepper/stepper.component.d.ts +23 -0
- package/features/switch/switch.component.d.ts +2 -1
- package/features/tab/tab.component.d.ts +1 -1
- package/features/table/components/table-cell-content.component.d.ts +4 -3
- package/features/table/table.component.d.ts +40 -5
- package/features/table/utils/table-data.util.d.ts +1 -0
- package/features/table/utils/table-layout.util.d.ts +1 -0
- package/features/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +49 -0
- package/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
- package/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +19 -0
- package/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +26 -0
- package/features/tiered-menu/directives/tiered-menu.directive.d.ts +44 -0
- package/features/tiered-menu/services/tiered-menu.event.service.d.ts +13 -0
- package/features/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
- package/features/tiered-menu/services/tiered-menu.service.d.ts +14 -0
- package/features/tree/components/tree-node-item/tree-node-item.component.d.ts +37 -0
- package/features/tree/tree.component.d.ts +37 -0
- package/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.d.ts +18 -0
- package/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.d.ts +17 -0
- package/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.d.ts +15 -0
- package/features/visual-sql-editor/services/visual-sql-editor-flow.service.d.ts +26 -0
- package/features/visual-sql-editor/services/visual-sql-editor-state.service.d.ts +72 -0
- package/features/visual-sql-editor/types/visual-sql-editor.types.d.ts +182 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.d.ts +14 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sql.util.d.ts +81 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-text.util.d.ts +15 -0
- package/features/visual-sql-editor/utils/visual-sql-editor.constants.d.ts +36 -0
- package/features/visual-sql-editor/visual-sql-editor.component.d.ts +37 -199
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14883 -6353
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +8 -8
- package/public-api.d.ts +72 -2
- package/src/locales/en.json +353 -15
- package/src/locales/es-CO.json +352 -14
- package/src/locales/pt.json +352 -14
- package/styles/sdc-global-variables.scss +1 -1
- package/styles.css +1 -1
- /package/features/tab/{tab-item.component.d.ts → components/tab-item/tab-item.component.d.ts} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import { STEPPER_DEFAULT_ACTIVE_INDEX } from '../../core/constants/stepper.const';
|
|
5
|
+
import { StepState } from '../../core/types/stepper.type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
export class StepperComponent {
|
|
9
|
+
static nextId = 0;
|
|
10
|
+
static allocateId() {
|
|
11
|
+
const nextId = StepperComponent.nextId;
|
|
12
|
+
StepperComponent.nextId += 1;
|
|
13
|
+
return `sdc-stepper-${nextId}`;
|
|
14
|
+
}
|
|
15
|
+
id = StepperComponent.allocateId();
|
|
16
|
+
steps = [];
|
|
17
|
+
activeIndex = STEPPER_DEFAULT_ACTIVE_INDEX;
|
|
18
|
+
stepSelected = new EventEmitter();
|
|
19
|
+
stepState = StepState;
|
|
20
|
+
get visibleSteps() {
|
|
21
|
+
return this.steps.filter((step) => !step.hidden);
|
|
22
|
+
}
|
|
23
|
+
trackByStep(index, step) {
|
|
24
|
+
return typeof step.id === 'string' || typeof step.id === 'number'
|
|
25
|
+
? step.id
|
|
26
|
+
: index;
|
|
27
|
+
}
|
|
28
|
+
resolveStepId(step, index) {
|
|
29
|
+
const key = typeof step.id === 'string' || typeof step.id === 'number'
|
|
30
|
+
? step.id
|
|
31
|
+
: index;
|
|
32
|
+
return `${this.id}-step-${key}`;
|
|
33
|
+
}
|
|
34
|
+
resolveStepAriaLabel(step) {
|
|
35
|
+
return step.ariaLabel ?? null;
|
|
36
|
+
}
|
|
37
|
+
resolveStepAriaControls(step) {
|
|
38
|
+
return step.ariaControls ?? null;
|
|
39
|
+
}
|
|
40
|
+
onStepClick(step, index, event) {
|
|
41
|
+
if (step.disabled || index === this.activeIndex) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.stepSelected.emit({ step, index, event });
|
|
45
|
+
}
|
|
46
|
+
isVisited(index) {
|
|
47
|
+
return index < this.activeIndex;
|
|
48
|
+
}
|
|
49
|
+
isActive(index) {
|
|
50
|
+
return index === this.activeIndex;
|
|
51
|
+
}
|
|
52
|
+
connectorState(index) {
|
|
53
|
+
return this.isVisited(index) || this.isActive(index) ? 'active' : 'inactive';
|
|
54
|
+
}
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StepperComponent, isStandalone: true, selector: "sdc-stepper, sdc-steps", inputs: { id: "id", steps: "steps", activeIndex: "activeIndex" }, outputs: { stepSelected: "stepSelected" }, host: { attributes: { "role": "tablist", "aria-orientation": "horizontal" } }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"sdc-stepper\"\n>\n <ng-container *ngFor=\"let step of visibleSteps; let i = index; let first = first; trackBy: trackByStep\">\n <div\n *ngIf=\"!first\"\n class=\"sdc-stepper__connector\"\n [@connectorState]=\"connectorState(i)\"\n [class.sdc-stepper__connector--warning]=\"step.state === stepState.Warning\"\n [class.sdc-stepper__connector--success]=\"step.state === stepState.Success\"\n [class.sdc-stepper__connector--disabled]=\"step.disabled\"\n ></div>\n\n <button\n type=\"button\"\n class=\"sdc-stepper__step\"\n role=\"tab\"\n [id]=\"resolveStepId(step, i)\"\n [disabled]=\"step.disabled\"\n [attr.aria-label]=\"resolveStepAriaLabel(step)\"\n [attr.aria-controls]=\"resolveStepAriaControls(step)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibleSteps.length\"\n [attr.aria-selected]=\"isActive(i)\"\n [attr.title]=\"step.tooltip ?? null\"\n [class.sdc-stepper__step--active]=\"isActive(i)\"\n [class.sdc-stepper__step--visited]=\"isVisited(i)\"\n [class.sdc-stepper__step--warning]=\"step.state === stepState.Warning\"\n [class.sdc-stepper__step--success]=\"step.state === stepState.Success\"\n (click)=\"onStepClick(step, i, $event)\"\n >\n <span class=\"sdc-stepper__index\">\n <i\n *ngIf=\"step.state === stepState.Warning\"\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n ></i>\n <i\n *ngIf=\"step.state === stepState.Success || isVisited(i)\"\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n ></i>\n <ng-container *ngIf=\"step.state !== stepState.Warning && step.state !== stepState.Success && !isVisited(i)\">\n {{ i + 1 }}\n </ng-container>\n </span>\n <span class=\"sdc-stepper__label\">{{ step.label }}</span>\n </button>\n </ng-container>\n</div>\n", styles: [".sdc-stepper{display:flex;align-items:flex-start;overflow:hidden;padding:.9375rem .625rem;white-space:nowrap}.sdc-stepper__connector{position:relative;top:1.25rem;flex:1 1 auto;height:.1875rem;min-width:1.5rem;margin:0;overflow:hidden;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.sdc-stepper__connector--disabled{opacity:.5}.sdc-stepper__step{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:.375rem;min-width:4.25rem;height:4.125rem;padding:0;border:0;background:transparent;cursor:pointer}.sdc-stepper__step:disabled{opacity:.5;cursor:default}.sdc-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:.1875rem solid #ccc;border-radius:999px;background-color:#fff;color:#999;font-size:1rem;font-weight:700;line-height:1;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.sdc-stepper__label{overflow:hidden;max-width:9rem;color:#999;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.sdc-stepper__step--visited .sdc-stepper__index,.sdc-stepper__step--success .sdc-stepper__index{border-color:#7892a1;background-color:#7892a1;color:#fff}.sdc-stepper__step--active .sdc-stepper__index,.sdc-stepper__step--warning .sdc-stepper__index{border-color:#7892a1;color:#7892a1}.sdc-stepper__step--active .sdc-stepper__label{color:#333;font-weight:700}@media (max-width: 767px){.sdc-stepper__label{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
57
|
+
trigger('connectorState', [
|
|
58
|
+
state('active', style({ 'background-position': 'left bottom' })),
|
|
59
|
+
state('inactive', style({ 'background-position': 'right bottom' })),
|
|
60
|
+
transition('active <=> inactive', [animate('150ms linear')])
|
|
61
|
+
])
|
|
62
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: 'sdc-stepper, sdc-steps', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, host: {
|
|
67
|
+
role: 'tablist',
|
|
68
|
+
'aria-orientation': 'horizontal'
|
|
69
|
+
}, animations: [
|
|
70
|
+
trigger('connectorState', [
|
|
71
|
+
state('active', style({ 'background-position': 'left bottom' })),
|
|
72
|
+
state('inactive', style({ 'background-position': 'right bottom' })),
|
|
73
|
+
transition('active <=> inactive', [animate('150ms linear')])
|
|
74
|
+
])
|
|
75
|
+
], template: "<div\n [id]=\"id\"\n class=\"sdc-stepper\"\n>\n <ng-container *ngFor=\"let step of visibleSteps; let i = index; let first = first; trackBy: trackByStep\">\n <div\n *ngIf=\"!first\"\n class=\"sdc-stepper__connector\"\n [@connectorState]=\"connectorState(i)\"\n [class.sdc-stepper__connector--warning]=\"step.state === stepState.Warning\"\n [class.sdc-stepper__connector--success]=\"step.state === stepState.Success\"\n [class.sdc-stepper__connector--disabled]=\"step.disabled\"\n ></div>\n\n <button\n type=\"button\"\n class=\"sdc-stepper__step\"\n role=\"tab\"\n [id]=\"resolveStepId(step, i)\"\n [disabled]=\"step.disabled\"\n [attr.aria-label]=\"resolveStepAriaLabel(step)\"\n [attr.aria-controls]=\"resolveStepAriaControls(step)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibleSteps.length\"\n [attr.aria-selected]=\"isActive(i)\"\n [attr.title]=\"step.tooltip ?? null\"\n [class.sdc-stepper__step--active]=\"isActive(i)\"\n [class.sdc-stepper__step--visited]=\"isVisited(i)\"\n [class.sdc-stepper__step--warning]=\"step.state === stepState.Warning\"\n [class.sdc-stepper__step--success]=\"step.state === stepState.Success\"\n (click)=\"onStepClick(step, i, $event)\"\n >\n <span class=\"sdc-stepper__index\">\n <i\n *ngIf=\"step.state === stepState.Warning\"\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n ></i>\n <i\n *ngIf=\"step.state === stepState.Success || isVisited(i)\"\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n ></i>\n <ng-container *ngIf=\"step.state !== stepState.Warning && step.state !== stepState.Success && !isVisited(i)\">\n {{ i + 1 }}\n </ng-container>\n </span>\n <span class=\"sdc-stepper__label\">{{ step.label }}</span>\n </button>\n </ng-container>\n</div>\n", styles: [".sdc-stepper{display:flex;align-items:flex-start;overflow:hidden;padding:.9375rem .625rem;white-space:nowrap}.sdc-stepper__connector{position:relative;top:1.25rem;flex:1 1 auto;height:.1875rem;min-width:1.5rem;margin:0;overflow:hidden;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.sdc-stepper__connector--disabled{opacity:.5}.sdc-stepper__step{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:.375rem;min-width:4.25rem;height:4.125rem;padding:0;border:0;background:transparent;cursor:pointer}.sdc-stepper__step:disabled{opacity:.5;cursor:default}.sdc-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:.1875rem solid #ccc;border-radius:999px;background-color:#fff;color:#999;font-size:1rem;font-weight:700;line-height:1;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.sdc-stepper__label{overflow:hidden;max-width:9rem;color:#999;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.sdc-stepper__step--visited .sdc-stepper__index,.sdc-stepper__step--success .sdc-stepper__index{border-color:#7892a1;background-color:#7892a1;color:#fff}.sdc-stepper__step--active .sdc-stepper__index,.sdc-stepper__step--warning .sdc-stepper__index{border-color:#7892a1;color:#7892a1}.sdc-stepper__step--active .sdc-stepper__label{color:#333;font-weight:700}@media (max-width: 767px){.sdc-stepper__label{display:none}}\n"] }]
|
|
76
|
+
}], propDecorators: { id: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], steps: [{
|
|
79
|
+
type: Input,
|
|
80
|
+
args: [{ required: true }]
|
|
81
|
+
}], activeIndex: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], stepSelected: [{
|
|
84
|
+
type: Output
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEYsT0FBTyxFQUE0QixTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBc0JwRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLE1BQU0sQ0FBQyxVQUFVO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUN2QyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzdCLE9BQU8sZUFBZSxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRVEsRUFBRSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDckMsV0FBVyxHQUFHLDRCQUE0QixDQUFDO0lBRTFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUU3QyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lB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QUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDOzRCQUNuRSxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQzt5QkFDN0QsQ0FBQztxQkFDSDs4QkFXUSxFQUFFO3NCQUFWLEtBQUs7Z0JBQ3FCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTVEVQUEVSX0RFRkFVTFRfQUNUSVZFX0lOREVYIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3RlcHBlci5jb25zdCc7XG5pbXBvcnQgeyBTdGVwLCBTdGVwU2VsZWN0aW9uRXZlbnQsIFN0ZXBTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvc3RlcHBlci50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXN0ZXBwZXIsIHNkYy1zdGVwcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ3RhYmxpc3QnLFxuICAgICdhcmlhLW9yaWVudGF0aW9uJzogJ2hvcml6b250YWwnXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdjb25uZWN0b3JTdGF0ZScsIFtcbiAgICAgIHN0YXRlKCdhY3RpdmUnLCBzdHlsZSh7ICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyB9KSksXG4gICAgICBzdGF0ZSgnaW5hY3RpdmUnLCBzdHlsZSh7ICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScgfSkpLFxuICAgICAgdHJhbnNpdGlvbignYWN0aXZlIDw9PiBpbmFjdGl2ZScsIFthbmltYXRlKCcxNTBtcyBsaW5lYXInKV0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcblxuICBwcml2YXRlIHN0YXRpYyBhbGxvY2F0ZUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbmV4dElkID0gU3RlcHBlckNvbXBvbmVudC5uZXh0SWQ7XG4gICAgU3RlcHBlckNvbXBvbmVudC5uZXh0SWQgKz0gMTtcbiAgICByZXR1cm4gYHNkYy1zdGVwcGVyLSR7bmV4dElkfWA7XG4gIH1cblxuICBASW5wdXQoKSBpZCA9IFN0ZXBwZXJDb21wb25lbnQuYWxsb2NhdGVJZCgpO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzdGVwczogU3RlcFtdID0gW107XG4gIEBJbnB1dCgpIGFjdGl2ZUluZGV4ID0gU1RFUFBFUl9ERUZBVUxUX0FDVElWRV9JTkRFWDtcblxuICBAT3V0cHV0KCkgc3RlcFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTdGVwU2VsZWN0aW9uRXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBTdGF0ZSA9IFN0ZXBTdGF0ZTtcblxuICBnZXQgdmlzaWJsZVN0ZXBzKCk6IFN0ZXBbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzdGVwKSA9PiAhc3RlcC5oaWRkZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlTdGVwKGluZGV4OiBudW1iZXIsIHN0ZXA6IFN0ZXApOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiB0eXBlb2Ygc3RlcC5pZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHN0ZXAuaWQgPT09ICdudW1iZXInXG4gICAgICA/IHN0ZXAuaWRcbiAgICAgIDogaW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZVN0ZXBJZChzdGVwOiBTdGVwLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXkgPSB0eXBlb2Ygc3RlcC5pZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHN0ZXAuaWQgPT09ICdudW1iZXInXG4gICAgICA/IHN0ZXAuaWRcbiAgICAgIDogaW5kZXg7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LXN0ZXAtJHtrZXl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlU3RlcEFyaWFMYWJlbChzdGVwOiBTdGVwKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN0ZXAuYXJpYUxhYmVsID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZVN0ZXBBcmlhQ29udHJvbHMoc3RlcDogU3RlcCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBzdGVwLmFyaWFDb250cm9scyA/PyBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3RlcENsaWNrKHN0ZXA6IFN0ZXAsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChzdGVwLmRpc2FibGVkIHx8IGluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGVwU2VsZWN0ZWQuZW1pdCh7IHN0ZXAsIGluZGV4LCBldmVudCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1Zpc2l0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA8IHRoaXMuYWN0aXZlSW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25uZWN0b3JTdGF0ZShpbmRleDogbnVtYmVyKTogJ2FjdGl2ZScgfCAnaW5hY3RpdmUnIHtcbiAgICByZXR1cm4gdGhpcy5pc1Zpc2l0ZWQoaW5kZXgpIHx8IHRoaXMuaXNBY3RpdmUoaW5kZXgpID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtpZF09XCJpZFwiXG4gIGNsYXNzPVwic2RjLXN0ZXBwZXJcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdGVwIG9mIHZpc2libGVTdGVwczsgbGV0IGkgPSBpbmRleDsgbGV0IGZpcnN0ID0gZmlyc3Q7IHRyYWNrQnk6IHRyYWNrQnlTdGVwXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhZmlyc3RcIlxuICAgICAgY2xhc3M9XCJzZGMtc3RlcHBlcl9fY29ubmVjdG9yXCJcbiAgICAgIFtAY29ubmVjdG9yU3RhdGVdPVwiY29ubmVjdG9yU3RhdGUoaSlcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19jb25uZWN0b3ItLXdhcm5pbmddPVwic3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmdcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19jb25uZWN0b3ItLXN1Y2Nlc3NdPVwic3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3NcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19jb25uZWN0b3ItLWRpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWRcIlxuICAgID48L2Rpdj5cblxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJzZGMtc3RlcHBlcl9fc3RlcFwiXG4gICAgICByb2xlPVwidGFiXCJcbiAgICAgIFtpZF09XCJyZXNvbHZlU3RlcElkKHN0ZXAsIGkpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdGVwLmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZVN0ZXBBcmlhTGFiZWwoc3RlcClcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJyZXNvbHZlU3RlcEFyaWFDb250cm9scyhzdGVwKVwiXG4gICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJ2aXNpYmxlU3RlcHMubGVuZ3RoXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNBY3RpdmUoaSlcIlxuICAgICAgW2F0dHIudGl0bGVdPVwic3RlcC50b29sdGlwID8/IG51bGxcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19zdGVwLS1hY3RpdmVdPVwiaXNBY3RpdmUoaSlcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19zdGVwLS12aXNpdGVkXT1cImlzVmlzaXRlZChpKVwiXG4gICAgICBbY2xhc3Muc2RjLXN0ZXBwZXJfX3N0ZXAtLXdhcm5pbmddPVwic3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmdcIlxuICAgICAgW2NsYXNzLnNkYy1zdGVwcGVyX19zdGVwLS1zdWNjZXNzXT1cInN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzXCJcbiAgICAgIChjbGljayk9XCJvblN0ZXBDbGljayhzdGVwLCBpLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1zdGVwcGVyX19pbmRleFwiPlxuICAgICAgICA8aVxuICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmdcIlxuICAgICAgICAgIGNsYXNzPVwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pPlxuICAgICAgICA8aVxuICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MgfHwgaXNWaXNpdGVkKGkpXCJcbiAgICAgICAgICBjbGFzcz1cImZhcyBmYS1jaGVja1wiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5TdWNjZXNzICYmICFpc1Zpc2l0ZWQoaSlcIj5cbiAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN0ZXBwZXJfX2xhYmVsXCI+e3sgc3RlcC5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import {
|
|
3
|
-
import { SwitchModule } from '@seniorsistemas/angular-components/switch';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
5
4
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, forwardRef } from '@angular/core';
|
|
6
5
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -12,8 +11,6 @@ import { TooltipComponent } from '../tooltip/tooltip.component';
|
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
12
|
import * as i1 from "@ngx-translate/core";
|
|
14
13
|
import * as i2 from "@angular/common";
|
|
15
|
-
import * as i3 from "@angular/forms";
|
|
16
|
-
import * as i4 from "@seniorsistemas/angular-components/switch";
|
|
17
14
|
export class SwitchComponent extends InputsComponent {
|
|
18
15
|
cdr;
|
|
19
16
|
translateService;
|
|
@@ -60,6 +57,9 @@ export class SwitchComponent extends InputsComponent {
|
|
|
60
57
|
get computedDisabled() {
|
|
61
58
|
return this.disabled || this.controlDisabled;
|
|
62
59
|
}
|
|
60
|
+
get inputDisabled() {
|
|
61
|
+
return this.computedDisabled || this.readonly;
|
|
62
|
+
}
|
|
63
63
|
get hasTooltip() {
|
|
64
64
|
return !!this.infoTooltipText;
|
|
65
65
|
}
|
|
@@ -97,7 +97,11 @@ export class SwitchComponent extends InputsComponent {
|
|
|
97
97
|
get switchAriaChecked() {
|
|
98
98
|
return this.value ? 'true' : 'false';
|
|
99
99
|
}
|
|
100
|
-
|
|
100
|
+
onNativeChange(event) {
|
|
101
|
+
if (this.inputDisabled) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const next = event.target?.checked ?? false;
|
|
101
105
|
this.commitValue(!!next);
|
|
102
106
|
this.change.emit(this.value);
|
|
103
107
|
this.cdr.markForCheck();
|
|
@@ -126,11 +130,11 @@ export class SwitchComponent extends InputsComponent {
|
|
|
126
130
|
return `${toggleLabel}: ${state}`;
|
|
127
131
|
}
|
|
128
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "sdc-switch", inputs: { infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", trueLabel: "trueLabel", falseLabel: "falseLabel", readonly: "readonly", disabled: "disabled", ariaLabel: "ariaLabel", interceptChange: "interceptChange" }, outputs: { change: "onChange", changeRequest: "onChangeRequest" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
130
134
|
}
|
|
131
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
|
|
132
136
|
type: Component,
|
|
133
|
-
args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule,
|
|
137
|
+
args: [{ selector: 'sdc-switch', standalone: true, imports: [CommonModule, TooltipComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: "<div class=\"sdc-switch field-box\" [ngStyle]=\"getStyles()\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-switch__label-row\">\n @if (labelKey()) {\n <label\n [attr.id]=\"labelId\"\n [attr.for]=\"interceptChange ? null : controlId\"\n class=\"sdc-switch__label\"\n >\n <span class=\"sdc-switch__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-switch__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltipText\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-switch__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n @if (!interceptChange) {\n <label\n class=\"sdc-switch__control sdc-switch__primitive\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n >\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"inputDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n (change)=\"onNativeChange($event)\"\n (blur)=\"onBlur()\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </label>\n } @else {\n <div\n class=\"sdc-switch__control sdc-switch__control--intercept\"\n [class.sdc-switch__control--invalid]=\"invalid\"\n [class.sdc-switch__control--disabled]=\"computedDisabled\"\n role=\"switch\"\n [attr.tabindex]=\"switchTabIndex\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-labelledby]=\"resolvedAriaLabelledBy\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.aria-disabled]=\"computedDisabled || readonly ? 'true' : null\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"describedBy\"\n (click)=\"onInterceptToggle($event)\"\n (keydown)=\"onInterceptKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <div class=\"sdc-switch__primitive sdc-switch__primitive--passive\">\n <input\n class=\"sdc-switch__input\"\n type=\"checkbox\"\n [id]=\"controlId\"\n [name]=\"identity.name\"\n [checked]=\"value\"\n [disabled]=\"computedDisabled\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-hidden]=\"'true'\"\n [attr.aria-checked]=\"switchAriaChecked\"\n [attr.tabindex]=\"-1\"\n />\n <span class=\"sdc-switch__track\" aria-hidden=\"true\">\n <span class=\"sdc-switch__thumb\"></span>\n </span>\n <span class=\"sdc-switch__state\">{{ value ? trueLabelText : falseLabelText }}</span>\n </div>\n </div>\n }\n\n @if (messageKey()) {\n <small\n [id]=\"messageId\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-switch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.sdc-switch .sdc-switch__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap, var(--sdc-form-label-gap));margin-bottom:var(--sdc-form-label-row-mb, var(--sdc-form-label-mb))}.sdc-switch .sdc-switch__label{display:inline-flex;align-items:center;margin-bottom:0;min-width:0;line-height:var(--sdc-form-label-lh, 1);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-switch .sdc-switch__label-text{display:inline-flex;align-items:center}.sdc-switch .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-switch .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sdc-switch .sdc-switch__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-switch .sdc-switch__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-switch .sdc-switch__control{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--sdc-formfield-border-radius);transition:box-shadow .18s ease,opacity .18s ease}.sdc-switch .sdc-switch__primitive{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-switch .sdc-switch__primitive--passive{pointer-events:none}.sdc-switch .sdc-switch__input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.sdc-switch .sdc-switch__track{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:40px;height:24px;border-radius:999px;background-color:var(--sdc-switch-track-off, #a5a5b2);transition:background-color .18s ease,box-shadow .18s ease}.sdc-switch .sdc-switch__thumb{position:absolute;inset-block-start:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:999px;background-color:var(--sdc-switch-thumb-bg, #ffffff);transition:transform .18s ease}.sdc-switch .sdc-switch__state{color:var(--sdc-switch-label-color, #212533);font-size:var(--sdc-switch-label-size, .875rem);line-height:1.5}.sdc-switch .sdc-switch__input:focus-visible+.sdc-switch__track{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track{background-color:var(--sdc-switch-track-on, #428bca)}.sdc-switch .sdc-switch__input:checked+.sdc-switch__track .sdc-switch__thumb{transform:translate(16px)}.sdc-switch .sdc-switch__control:focus-within{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--invalid{box-shadow:0 0 0 1px var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-switch .sdc-switch__control--invalid:focus-within,.sdc-switch .sdc-switch__control--invalid.sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-switch .sdc-switch__control--disabled{opacity:.6}.sdc-switch .sdc-switch__control--disabled .sdc-switch__primitive{cursor:not-allowed}.sdc-switch .sdc-switch__control--intercept{cursor:pointer}.sdc-switch .sdc-switch__control--intercept:focus-visible{box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14));outline:0}.sdc-switch .sdc-switch__control--intercept.sdc-switch__control--disabled{cursor:not-allowed}\n"] }]
|
|
134
138
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { infoTooltip: [{
|
|
135
139
|
type: Input
|
|
136
140
|
}], infoTooltipPosition: [{
|
|
@@ -156,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
156
160
|
type: Output,
|
|
157
161
|
args: ['onChangeRequest']
|
|
158
162
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBWWhFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQXdCO0lBcUJ4QztJQUNBO0lBckJWLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLG1CQUFtQixHQUFvQixPQUFP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QUFlLENBQUMsbUJBR3BFLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTd2l0Y2hNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3N3aXRjaCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVksIFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3dpdGNoLmNvbnN0JztcbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQsIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc3dpdGNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVG9vbHRpcENvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxib29sZWFuPiB7XG4gIEBJbnB1dCgpIGluZm9Ub29sdGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBFdmVudDogVG9vbHRpcEV2ZW50ID0gJ2JvdGgnO1xuXG4gIEBJbnB1dCgpIHRydWVMYWJlbCA9IFNXSVRDSF9ERUZBVUxUX1RSVUVfTEFCRUxfS0VZO1xuICBASW5wdXQoKSBmYWxzZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfRkFMU0VfTEFCRUxfS0VZO1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBvdmVycmlkZSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGludGVyY2VwdENoYW5nZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ29uQ2hhbmdlJykgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdvbkNoYW5nZVJlcXVlc3QnKSBjaGFuZ2VSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2VuZXJhdGVkSWQgPSBuZXh0U2VxdWVudGlhbElkKCdzZGMtc3dpdGNoJyk7XG4gIHByaXZhdGUgY29udHJvbERpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZT8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAhIXZhbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbERpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjb250cm9sSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGl0eS5pZCA/PyB0aGlzLmdlbmVyYXRlZElkO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWxhYmVsYDtcbiAgfVxuXG4gIGdldCBtZXNzYWdlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sSWR9LWVycm9yYDtcbiAgfVxuXG4gIGdldCBkZXNjcmliZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlS2V5KCkgPyB0aGlzLm1lc3NhZ2VJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgY29tcHV0ZWREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNvbnRyb2xEaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBoYXNUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaW5mb1Rvb2x0aXBUZXh0O1xuICB9XG5cbiAgZ2V0IHN3aXRjaFJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuaW50ZXJjZXB0Q2hhbmdlO1xuICB9XG5cbiAgZ2V0IHN3aXRjaFRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5ID8gLTEgOiAwO1xuICB9XG5cbiAgZ2V0IGluZm9Ub29sdGlwVGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuaW5mb1Rvb2x0aXApO1xuICB9XG5cbiAgZ2V0IHRydWVMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLnRydWVMYWJlbCk7XG4gIH1cblxuICBnZXQgZmFsc2VMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmZhbHNlTGFiZWwpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGN1c3RvbUFyaWFMYWJlbCA9IHJlc29sdmVOdWxsYWJsZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGVTZXJ2aWNlLCB0aGlzLmFyaWFMYWJlbCk7XG5cbiAgICBpZiAoY3VzdG9tQXJpYUxhYmVsKSB7XG4gICAgICByZXR1cm4gY3VzdG9tQXJpYUxhYmVsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsS2V5KCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFN3aXRjaEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRBcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhYmVsS2V5KCkgPyB0aGlzLmxhYmVsSWQgOiBudWxsO1xuICB9XG5cbiAgZ2V0IHN3aXRjaEFyaWFDaGVja2VkKCk6ICd0cnVlJyB8ICdmYWxzZScge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgfVxuXG4gIG9uSW5uZXJDaGFuZ2UobmV4dDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29tbWl0VmFsdWUoISFuZXh0KTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnRlcmNlcHRUb2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIChldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8uYmx1cigpO1xuICAgIHRoaXMuY2hhbmdlUmVxdWVzdC5lbWl0KCF0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTd2l0Y2hBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMudmFsdWUgPyB0aGlzLnRydWVMYWJlbFRleHQgOiB0aGlzLmZhbHNlTGFiZWxUZXh0O1xuICAgIGNvbnN0IHRvZ2dsZUxhYmVsID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBudWxsLFxuICAgICAgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuc3dpdGNoX3RvZ2dsZSdcbiAgICApO1xuXG4gICAgcmV0dXJuIGAke3RvZ2dsZUxhYmVsfTogJHtzdGF0ZX1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaCBmaWVsZC1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZXMoKVwiPlxuICBAaWYgKGxhYmVsS2V5KCkgfHwgaGFzVG9vbHRpcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbC1yb3dcIj5cbiAgICAgIEBpZiAobGFiZWxLZXkoKSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBbYXR0ci5pZF09XCJsYWJlbElkXCJcbiAgICAgICAgICBbYXR0ci5mb3JdPVwiaW50ZXJjZXB0Q2hhbmdlID8gbnVsbCA6IGNvbnRyb2xJZFwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtdGV4dFwiPlxuICAgICAgICAgICAge3sgbGFiZWxLZXkoKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucmVxdWlyZWRfZmllbGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgICBAaWYgKGhhc1Rvb2x0aXApIHtcbiAgICAgICAgPHNkYy10b29sdGlwXG4gICAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19pbmZvLXRvb2x0aXAtd3JhcFwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImluZm9Ub29sdGlwVGV4dFwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgICBbdG9vbHRpcEV2ZW50XT1cImluZm9Ub29sdGlwRXZlbnRcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICghaW50ZXJjZXB0Q2hhbmdlKSB7XG4gICAgPHMtc3dpdGNoXG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2xcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbY2xhc3Muc2RjLXN3aXRjaF9fY29udHJvbC0tZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICBbaW5wdXRJZF09XCJjb250cm9sSWRcIlxuICAgICAgW2lucHV0TmFtZV09XCJpZGVudGl0eS5uYW1lXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbdHJ1ZUxhYmVsXT1cInRydWVMYWJlbFRleHRcIlxuICAgICAgW2ZhbHNlTGFiZWxdPVwiZmFsc2VMYWJlbFRleHRcIlxuICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwicmVzb2x2ZWRBcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmliZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Jbm5lckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICA+PC9zLXN3aXRjaD5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19jb250cm9sIHNkYy1zd2l0Y2hfX2NvbnRyb2wtLWludGVyY2VwdFwiXG4gICAgICBbY2xhc3Muc2RjLXN3aXRjaF9fY29udHJvbC0taW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwic3dpdGNoVGFiSW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwicmVzb2x2ZWRBcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkIHx8IHJlYWRvbmx5ID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmliZWRCeVwiXG4gICAgICAoY2xpY2spPVwib25JbnRlcmNlcHRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbkludGVyY2VwdEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICA+XG4gICAgICA8cy1zd2l0Y2hcbiAgICAgICAgY2xhc3M9XCJzZGMtc3dpdGNoX19pbm5lclwiXG4gICAgICAgIFtpbnB1dElkXT1cImNvbnRyb2xJZFwiXG4gICAgICAgIFtpbnB1dE5hbWVdPVwiaWRlbnRpdHkubmFtZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJzd2l0Y2hSZWFkb25seVwiXG4gICAgICAgIFt0cnVlTGFiZWxdPVwidHJ1ZUxhYmVsVGV4dFwiXG4gICAgICAgIFtmYWxzZUxhYmVsXT1cImZhbHNlTGFiZWxUZXh0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIid0cnVlJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzd2l0Y2hBcmlhQ2hlY2tlZFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgID48L3Mtc3dpdGNoPlxuICAgIDwvZGl2PlxuICB9XG5cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cIm1lc3NhZ2VJZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICA+XG4gICAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFZaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBd0I7SUFxQnhDO0lBQ0E7SUFyQlYsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQW9CLE9BQU8sQ0FBQztJQUMvQyxnQkFBZ0IsR0FBaUIsTUFBTSxDQUFDO0lBRXhDLFNBQVMsR0FBRyw2QkFBNkIsQ0FBQztJQUMxQyxVQUFVLEdBQUcsOEJBQThCLENBQUM7SUFDNUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNSLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFYixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUM5QixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV2RCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWIsV0FBVyxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFaEMsWUFDbUIsR0FBc0IsRUFDdEIsZ0JBQWtDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBSFMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUluRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRVEsVUFBVSxDQUFDLEdBQW1CO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE1BQU0sZUFBZSxHQUFHLCtCQUErQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0YsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUksS0FBSyxDQUFDLE1BQWtDLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQztRQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBWTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQyxPQUFPO1FBQ1QsQ0FBQztRQUVBLEtBQUssQ0FBQyxhQUE2QixFQUFFLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksRUFDSiwrQ0FBK0MsQ0FDaEQsQ0FBQztRQUVGLE9BQU8sR0FBRyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQzt3R0E3SlUsZUFBZTs0RkFBZixlQUFlLGdaQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsaURDOUIxRyw2aUlBa0hBLHNvSER6RlksWUFBWSxrTkFBRSxnQkFBZ0IsOEpBQUUsZUFBZTs7NEZBTzlDLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsbUJBR3pDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztxSEFHL0YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNZLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVjLE1BQU07c0JBQXpCLE1BQU07dUJBQUMsVUFBVTtnQkFDUyxhQUFhO3NCQUF2QyxNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFNXSVRDSF9ERUZBVUxUX0ZBTFNFX0xBQkVMX0tFWSwgU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9zd2l0Y2guY29uc3QnO1xuaW1wb3J0IHsgSW5wdXRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9kaXJlY3RpdmVzL2lucHV0cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdG9vbHRpcC50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuaW1wb3J0IHsgcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCwgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zd2l0Y2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PGJvb2xlYW4+IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQElucHV0KCkgdHJ1ZUxhYmVsID0gU1dJVENIX0RFRkFVTFRfVFJVRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIGZhbHNlTGFiZWwgPSBTV0lUQ0hfREVGQVVMVF9GQUxTRV9MQUJFTF9LRVk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIG92ZXJyaWRlIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgaW50ZXJjZXB0Q2hhbmdlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgnb25DaGFuZ2UnKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoJ29uQ2hhbmdlUmVxdWVzdCcpIGNoYW5nZVJlcXVlc3QgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmF0ZWRJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1zd2l0Y2gnKTtcbiAgcHJpdmF0ZSBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWw6IGJvb2xlYW4gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9ICEhdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2xJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkZW50aXR5LmlkID8/IHRoaXMuZ2VuZXJhdGVkSWQ7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tbGFiZWxgO1xuICB9XG5cbiAgZ2V0IG1lc3NhZ2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZH0tZXJyb3JgO1xuICB9XG5cbiAgZ2V0IGRlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VLZXkoKSA/IHRoaXMubWVzc2FnZUlkIDogbnVsbDtcbiAgfVxuXG4gIGdldCBjb21wdXRlZERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuY29udHJvbERpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGlucHV0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pbmZvVG9vbHRpcFRleHQ7XG4gIH1cblxuICBnZXQgc3dpdGNoUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5pbnRlcmNlcHRDaGFuZ2U7XG4gIH1cblxuICBnZXQgc3dpdGNoVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkgPyAtMSA6IDA7XG4gIH1cblxuICBnZXQgaW5mb1Rvb2x0aXBUZXh0KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZXNvbHZlTnVsbGFibGVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5pbmZvVG9vbHRpcCk7XG4gIH1cblxuICBnZXQgdHJ1ZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMudHJ1ZUxhYmVsKTtcbiAgfVxuXG4gIGdldCBmYWxzZUxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuZmFsc2VMYWJlbCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY3VzdG9tQXJpYUxhYmVsID0gcmVzb2x2ZU51bGxhYmxlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsIHRoaXMuYXJpYUxhYmVsKTtcblxuICAgIGlmIChjdXN0b21BcmlhTGFiZWwpIHtcbiAgICAgIHJldHVybiBjdXN0b21BcmlhTGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGFiZWxLZXkoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3dpdGNoQXJpYUxhYmVsKCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZEFyaWFMYWJlbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubGFiZWxLZXkoKSA/IHRoaXMubGFiZWxJZCA6IG51bGw7XG4gIH1cblxuICBnZXQgc3dpdGNoQXJpYUNoZWNrZWQoKTogJ3RydWUnIHwgJ2ZhbHNlJyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICB9XG5cbiAgb25OYXRpdmVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXREaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsKT8uY2hlY2tlZCA/PyBmYWxzZTtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKCEhbmV4dCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uSW50ZXJjZXB0VG9nZ2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcbiAgICB0aGlzLmNoYW5nZVJlcXVlc3QuZW1pdCghdGhpcy52YWx1ZSk7XG4gIH1cblxuICBvbkludGVyY2VwdEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkludGVyY2VwdFRvZ2dsZShldmVudCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3dpdGNoQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnZhbHVlID8gdGhpcy50cnVlTGFiZWxUZXh0IDogdGhpcy5mYWxzZUxhYmVsVGV4dDtcbiAgICBjb25zdCB0b2dnbGVMYWJlbCA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbnVsbCxcbiAgICAgICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnN3aXRjaF90b2dnbGUnXG4gICAgKTtcblxuICAgIHJldHVybiBgJHt0b2dnbGVMYWJlbH06ICR7c3RhdGV9YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1zd2l0Y2ggZmllbGQtYm94XCIgW25nU3R5bGVdPVwiZ2V0U3R5bGVzKClcIj5cbiAgQGlmIChsYWJlbEtleSgpIHx8IGhhc1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWwtcm93XCI+XG4gICAgICBAaWYgKGxhYmVsS2V5KCkpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgW2F0dHIuaWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgW2F0dHIuZm9yXT1cImludGVyY2VwdENoYW5nZSA/IG51bGwgOiBjb250cm9sSWRcIlxuICAgICAgICAgIGNsYXNzPVwic2RjLXN3aXRjaF9fbGFiZWxcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaGFzVG9vbHRpcCkge1xuICAgICAgICA8c2RjLXRvb2x0aXBcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC13cmFwXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiaW5mb1Rvb2x0aXBUZXh0XCJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiaW5mb1Rvb2x0aXBFdmVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1zd2l0Y2hfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmICghaW50ZXJjZXB0Q2hhbmdlKSB7XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fcHJpbWl0aXZlXCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2lkXT1cImNvbnRyb2xJZFwiXG4gICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInN3aXRjaEFyaWFDaGVja2VkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbk5hdGl2ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdHJhY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190aHVtYlwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fc3RhdGVcIj57eyB2YWx1ZSA/IHRydWVMYWJlbFRleHQgOiBmYWxzZUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2NvbnRyb2wgc2RjLXN3aXRjaF9fY29udHJvbC0taW50ZXJjZXB0XCJcbiAgICAgIFtjbGFzcy5zZGMtc3dpdGNoX19jb250cm9sLS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgW2NsYXNzLnNkYy1zd2l0Y2hfX2NvbnRyb2wtLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJzd2l0Y2hUYWJJbmRleFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJyZXNvbHZlZEFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJzd2l0Y2hBcmlhQ2hlY2tlZFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgcmVhZG9ubHkgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgICAgIChjbGljayk9XCJvbkludGVyY2VwdFRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uSW50ZXJjZXB0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic2RjLXN3aXRjaF9fcHJpbWl0aXZlIHNkYy1zd2l0Y2hfX3ByaW1pdGl2ZS0tcGFzc2l2ZVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzcz1cInNkYy1zd2l0Y2hfX2lucHV0XCJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIFtpZF09XCJjb250cm9sSWRcIlxuICAgICAgICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiJ3RydWUnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwic3dpdGNoQXJpYUNoZWNrZWRcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX190cmFja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXN3aXRjaF9fdGh1bWJcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtc3dpdGNoX19zdGF0ZVwiPnt7IHZhbHVlID8gdHJ1ZUxhYmVsVGV4dCA6IGZhbHNlTGFiZWxUZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cIm1lc3NhZ2VJZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgPlxuICAgICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
|
package/esm2022/features/tab/{tab-item.component.mjs → components/tab-item/tab-item.component.mjs}
RENAMED
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
26
26
|
}], id: [{
|
|
27
27
|
type: Input
|
|
28
28
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90YWIvY29tcG9uZW50cy90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25FLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNvQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLElBQUksR0FBRyxJQUFJLENBQUM7SUFDM0MsRUFBRSxDQUFVO3dHQUpWLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDZHQUVQLGdCQUFnQiwwQkFDaEIsZ0JBQWdCLHVDQUwxQiwyQkFBMkI7OzRGQUUxQixnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2tDLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFiLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGxhenkgPSB0cnVlO1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -7,7 +7,7 @@ import { nextSequentialId } from '../../core/utils/id.util';
|
|
|
7
7
|
import { resolveTranslatableText } from '../../core/utils/i18n.util';
|
|
8
8
|
import { isMobile } from '../../core/utils/layout.util';
|
|
9
9
|
import { parseBooleanAttribute } from '../../core/utils/boolean.util';
|
|
10
|
-
import { TabItemComponent } from './tab-item.component';
|
|
10
|
+
import { TabItemComponent } from './components/tab-item/tab-item.component';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export class TabComponent {
|
|
13
13
|
host = inject((ElementRef));
|
|
@@ -269,11 +269,11 @@ export class TabComponent {
|
|
|
269
269
|
return Math.min(Math.max(0, normalized), length - 1);
|
|
270
270
|
}
|
|
271
271
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
272
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute], ariaLabel: "ariaLabel" }, outputs: { activeIndexChange: "activeIndexChange" }, queries: [{ propertyName: "tabItems", predicate: TabItemComponent }, { propertyName: "tabItemEls", predicate: TabItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }, { propertyName: "panelsRef", first: true, predicate: ["panelsRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div\n #headersRef\n class=\"sdc-tab-headers\"\n role=\"tablist\"\n [attr.aria-label]=\"resolvedAriaLabel()\"\n >\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [attr.aria-label]=\"getHeaderAriaLabel(h, i)\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : i === activeIndex ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\"\n >\n <span class=\"sdc-tab-label\" aria-hidden=\"true\">{{ getHeaderText(h, i) }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\" #panelsRef>\n <ng-content></ng-content>\n </div>\n</div
|
|
272
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute], ariaLabel: "ariaLabel" }, outputs: { activeIndexChange: "activeIndexChange" }, queries: [{ propertyName: "tabItems", predicate: TabItemComponent }, { propertyName: "tabItemEls", predicate: TabItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }, { propertyName: "panelsRef", first: true, predicate: ["panelsRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div\n #headersRef\n class=\"sdc-tab-headers\"\n role=\"tablist\"\n [attr.aria-label]=\"resolvedAriaLabel()\"\n >\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [attr.aria-label]=\"getHeaderAriaLabel(h, i)\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : i === activeIndex ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\"\n >\n <span class=\"sdc-tab-label\" aria-hidden=\"true\">{{ getHeaderText(h, i) }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\" #panelsRef>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto;min-height:44px;min-width:44px}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus);box-shadow:0 0 0 3px #007bff40;position:relative;z-index:1}.sdc-tab-header:focus-visible{outline:2px solid var(--sdc-tab-primary, #007bff);outline-offset:2px;box-shadow:0 0 0 3px #007bff40}.sdc-tab-header:focus:not(:focus-visible){box-shadow:none;background-color:transparent}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
273
273
|
}
|
|
274
274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, decorators: [{
|
|
275
275
|
type: Component,
|
|
276
|
-
args: [{ selector: 'sdc-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div\n #headersRef\n class=\"sdc-tab-headers\"\n role=\"tablist\"\n [attr.aria-label]=\"resolvedAriaLabel()\"\n >\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [attr.aria-label]=\"getHeaderAriaLabel(h, i)\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : i === activeIndex ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\"\n >\n <span class=\"sdc-tab-label\" aria-hidden=\"true\">{{ getHeaderText(h, i) }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\" #panelsRef>\n <ng-content></ng-content>\n </div>\n</div
|
|
276
|
+
args: [{ selector: 'sdc-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div\n #headersRef\n class=\"sdc-tab-headers\"\n role=\"tablist\"\n [attr.aria-label]=\"resolvedAriaLabel()\"\n >\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [attr.aria-label]=\"getHeaderAriaLabel(h, i)\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : i === activeIndex ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\"\n >\n <span class=\"sdc-tab-label\" aria-hidden=\"true\">{{ getHeaderText(h, i) }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\" #panelsRef>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto;min-height:44px;min-width:44px}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus);box-shadow:0 0 0 3px #007bff40;position:relative;z-index:1}.sdc-tab-header:focus-visible{outline:2px solid var(--sdc-tab-primary, #007bff);outline-offset:2px;box-shadow:0 0 0 3px #007bff40}.sdc-tab-header:focus:not(:focus-visible){box-shadow:none;background-color:transparent}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"] }]
|
|
277
277
|
}], propDecorators: { headersRef: [{
|
|
278
278
|
type: ViewChild,
|
|
279
279
|
args: ['headersRef']
|
|
@@ -294,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
294
294
|
}], ariaLabel: [{
|
|
295
295
|
type: Input
|
|
296
296
|
}] } });
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFJTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLGVBQWUsRUFDZixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBV3hELE1BQU0sT0FBTyxZQUFZO0lBQ04sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lB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O2dCQW9CM0IsaUJBQWlCO3NCQUExQixNQUFNO2dCQUtILFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgVEFCX0FDVElWRV9TVUZGSVhfS0VZLFxuICBUQUJfREVGQVVMVF9BUklBX0xBQkVMX0tFWSxcbiAgVEFCX0RFRkFVTFRfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYi5jb25zdCc7XG5pbXBvcnQgeyBUYWJIZWFkZXIsIFRhYkl0ZW1SZWYgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3RhYi50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuaW1wb3J0IHsgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgcGFyc2VCb29sZWFuQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9ib29sZWFuLnV0aWwnO1xuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXRhYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGhvc3QgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBAVmlld0NoaWxkKCdoZWFkZXJzUmVmJykgaGVhZGVyc1JlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdwYW5lbHNSZWYnKSBwYW5lbHNSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pXG4gIHByaXZhdGUgdGFiSXRlbXMhOiBRdWVyeUxpc3Q8VGFiSXRlbUNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHRhYkl0ZW1FbHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGVudFN1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdWlkID0gbmV4dFNlcXVlbnRpYWxJZCgnc2RjLXRhYicpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbmRleCA9IHNpZ25hbCgwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtc1NpZ25hbCA9IHNpZ25hbDxUYWJJdGVtUmVmW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZVZlcnNpb24gPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgaXNTeW5jaW5nRG9tID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgc2V0IGFjdGl2ZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ub3JtYWxpemVJbmRleCh2YWx1ZSk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fYWN0aXZlSW5kZXgoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldChpbmRleCk7XG4gICAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQodGhpcy5fYWN0aXZlSW5kZXgoKSk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCgpO1xuICB9XG5cbiAgQE91dHB1dCgpIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHJvdGVjdGVkIGFyaWFMYWJlbFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgQElucHV0KClcbiAgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5hcmlhTGFiZWxTaWduYWwuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hcmlhTGFiZWxTaWduYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBpc01vYmlsZSA9IGlzTW9iaWxlKCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc29sdmVkQXJpYUxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMubGFuZ3VhZ2VWZXJzaW9uKCk7XG4gICAgcmV0dXJuIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmFyaWFMYWJlbFNpZ25hbCgpLCBUQUJfREVGQVVMVF9BUklBX0xBQkVMX0tFWSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBoZWFkZXJzID0gY29tcHV0ZWQ8VGFiSGVhZGVyW10+KCgpID0+IHtcbiAgICB0aGlzLmxhbmd1YWdlVmVyc2lvbigpO1xuXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNTaWduYWwoKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGl0ZW0ubGFiZWwsXG4gICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCxcbiAgICAgIGlkOiBpdGVtLmhlYWRlcklkIHx8IGAke3RoaXMudWlkfS10YWItJHtpbmRleH1gXG4gICAgfSkpO1xuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRlcnNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuaGVhZGVycygpO1xuICAgIHRoaXMuc3luY0hpZGRlbkFuZEFyaWEoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfSk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3luY1Byb2plY3RlZEl0ZW1zKCk7XG5cbiAgICB0aGlzLmNvbnRlbnRTdWJzLmFkZChcbiAgICAgIHRoaXMudGFiSXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN5bmNQcm9qZWN0ZWRJdGVtcygpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5jb250ZW50U3Vicy5hZGQoXG4gICAgICB0aGlzLnRhYkl0ZW1FbHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN5bmNQcm9qZWN0ZWRJdGVtcygpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5jb250ZW50U3Vicy5hZGQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVZlcnNpb24udXBkYXRlKCh2YWx1ZSkgPT4gdmFsdWUgKyAxKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jUHJvamVjdGVkSXRlbXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXJpYUxhYmVsU2lnbmFsKCkpIHtcbiAgICAgIGNvbnN0IGhvc3RBcmlhTGFiZWwgPSB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSA/PyB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChob3N0QXJpYUxhYmVsKSB7XG4gICAgICAgIHRoaXMuYXJpYUxhYmVsU2lnbmFsLnNldChob3N0QXJpYUxhYmVsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRTdWJzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzKCk7XG5cbiAgICBpZiAoIWhlYWRlcnNbaW5kZXhdIHx8IGhlYWRlcnNbaW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ICE9PSB0aGlzLl9hY3RpdmVJbmRleCgpKSB7XG4gICAgICB0aGlzLl9hY3RpdmVJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5zeW5jSGlkZGVuQW5kQXJpYSgpO1xuICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhlYWRlcktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzTmV4dChpbmRleCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzUHJldihpbmRleCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0hvbWUnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5mb2N1c0luZGV4KDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbmQnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5mb2N1c0luZGV4KHRoaXMuaGVhZGVycygpLmxlbmd0aCAtIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdChpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhlYWRlclRleHQoaGVhZGVyOiBUYWJIZWFkZXIsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRMYWJlbCA9IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCBoZWFkZXIubGFiZWwpO1xuICAgIGlmICh0cmFuc2xhdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybiB0cmFuc2xhdGVkTGFiZWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCBudWxsLCBUQUJfREVGQVVMVF9MQUJFTF9LRVksIHsgbnVtYmVyOiBpbmRleCArIDEgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGVhZGVyQXJpYUxhYmVsKGhlYWRlcjogVGFiSGVhZGVyLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuZ2V0SGVhZGVyVGV4dChoZWFkZXIsIGluZGV4KTtcblxuICAgIGlmIChpbmRleCAhPT0gdGhpcy5hY3RpdmVJbmRleCkge1xuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtsYWJlbH0gJHtyZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgbnVsbCwgVEFCX0FDVElWRV9TVUZGSVhfS0VZKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jUHJvamVjdGVkSXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYkl0ZW1zIHx8ICF0aGlzLnRhYkl0ZW1FbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtcyA9IHRoaXMudGFiSXRlbXMudG9BcnJheSgpO1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy50YWJJdGVtRWxzLnRvQXJyYXkoKS5tYXAoKHJlZikgPT4gcmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgY29uc3QgbmV4dDogVGFiSXRlbVJlZltdID0gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgIGNvbnN0IGlucHV0TGFiZWwgPSAoaXRlbS5sYWJlbCA/PyAnJykudHJpbSgpO1xuICAgICAgY29uc3QgYXR0ckxhYmVsID0gKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYWJlbCcpID8/ICcnKS50cmltKCk7XG4gICAgICBjb25zdCBsYWJlbCA9IGlucHV0TGFiZWwgfHwgYXR0ckxhYmVsO1xuXG4gICAgICBjb25zdCBhdHRyRGlzYWJsZWQgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICAgIGNvbnN0IGRpc2FibGVkID0gYXR0ckRpc2FibGVkICE9IG51bGwgPyBwYXJzZUJvb2xlYW5BdHRyaWJ1dGUoYXR0ckRpc2FibGVkKSA6ICEhaXRlbS5kaXNhYmxlZDtcblxuICAgICAgY29uc3QgaW5wdXRJZCA9IChpdGVtLmlkID8/ICcnKS50cmltKCk7XG4gICAgICBjb25zdCBhdHRySGVhZGVySWQgPSAoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGFiLWhlYWRlci1pZCcpID8/ICcnKS50cmltKCk7XG4gICAgICBjb25zdCBoZWFkZXJJZCA9IGlucHV0SWQgfHwgYXR0ckhlYWRlcklkIHx8IHVuZGVmaW5lZDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWw6IGVsZW1lbnQsXG4gICAgICAgIGxhYmVsLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgaGVhZGVySWRcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMuc2FtZUl0ZW1zKHRoaXMuaXRlbXNTaWduYWwoKSwgbmV4dCkpIHtcbiAgICAgIHRoaXMuaXRlbXNTaWduYWwuc2V0KG5leHQpO1xuICAgICAgdGhpcy5fYWN0aXZlSW5kZXguc2V0KHRoaXMubm9ybWFsaXplSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgoKSkpO1xuICAgICAgdGhpcy5zeW5jSGlkZGVuQW5kQXJpYSgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYW1lSXRlbXMobGVmdDogVGFiSXRlbVJlZltdLCByaWdodDogVGFiSXRlbVJlZltdKTogYm9vbGVhbiB7XG4gICAgaWYgKGxlZnQubGVuZ3RoICE9PSByaWdodC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVmdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChsZWZ0W2luZGV4XS5lbCAhPT0gcmlnaHRbaW5kZXhdLmVsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGxlZnRbaW5kZXhdLmxhYmVsICE9PSByaWdodFtpbmRleF0ubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAobGVmdFtpbmRleF0uZGlzYWJsZWQgIT09IHJpZ2h0W2luZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICgobGVmdFtpbmRleF0uaGVhZGVySWQgPz8gJycpICE9PSAocmlnaHRbaW5kZXhdLmhlYWRlcklkID8/ICcnKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuaGVhZGVycygpO1xuICAgIGNvbnN0IGxlbmd0aCA9IGhlYWRlcnMubGVuZ3RoO1xuXG4gICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuZ3RoOyBzdGVwKyspIHtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IChpbmRleCArIHN0ZXApICUgbGVuZ3RoO1xuXG4gICAgICBpZiAoIWhlYWRlcnNbbmV4dEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW5kZXgobmV4dEluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXYoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnMoKTtcbiAgICBjb25zdCBsZW5ndGggPSBoZWFkZXJzLmxlbmd0aDtcblxuICAgIGZvciAobGV0IHN0ZXAgPSAxOyBzdGVwIDw9IGxlbmd0aDsgc3RlcCsrKSB7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSAoaW5kZXggLSBzdGVwICsgbGVuZ3RoKSAlIGxlbmd0aDtcblxuICAgICAgaWYgKCFoZWFkZXJzW25leHRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0luZGV4KG5leHRJbmRleCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuaGVhZGVyc1JlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbcm9sZT1cInRhYlwiXScpIGFzIE5vZGVMaXN0T2Y8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICAgIGxpc3Q/LltpbmRleF0/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNIaWRkZW5BbmRBcmlhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU3luY2luZ0RvbSB8fCAhdGhpcy5oZWFkZXJzUmVmIHx8ICF0aGlzLnBhbmVsc1JlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fYWN0aXZlSW5kZXgoKTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNTaWduYWwoKTtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzKCk7XG5cbiAgICB0aGlzLmlzU3luY2luZ0RvbSA9IHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBpdGVtLmVsO1xuICAgICAgICBjb25zdCBoZWFkZXIgPSBoZWFkZXJzW2l0ZW1JbmRleF07XG4gICAgICAgIGNvbnN0IGhlYWRlcklkID0gaGVhZGVyPy5pZCA/PyBgJHt0aGlzLnVpZH0tdGFiLSR7aXRlbUluZGV4fWA7XG4gICAgICAgIGNvbnN0IHBhbmVsSWQgPSBgJHtoZWFkZXJJZH0tcGFuZWxgO1xuXG4gICAgICAgIHRoaXMuc2V0QXR0cihlbGVtZW50LCAncm9sZScsICd0YWJwYW5lbCcpO1xuICAgICAgICB0aGlzLnNldEF0dHIoZWxlbWVudCwgJ2lkJywgcGFuZWxJZCk7XG4gICAgICAgIHRoaXMuc2V0QXR0cihlbGVtZW50LCAnYXJpYS1sYWJlbGxlZGJ5JywgaGVhZGVySWQpO1xuXG4gICAgICAgIGlmIChpdGVtSW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVBdHRyKGVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHIoZWxlbWVudCwgJ2hpZGRlbicsICcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNTeW5jaW5nRG9tID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBdHRyKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSkgIT09IHZhbHVlKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVBdHRyKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplSW5kZXgodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5pdGVtc1NpZ25hbCgpLmxlbmd0aDtcblxuICAgIGlmIChsZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBOdW1iZXIuaXNGaW5pdGUodmFsdWUpID8gTWF0aC50cnVuYyh2YWx1ZSkgOiAwO1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCgwLCBub3JtYWxpemVkKSwgbGVuZ3RoIC0gMSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtdGFiXCIgW2NsYXNzLnNkYy10YWItc3RhY2tdPVwiaXNNb2JpbGVcIj5cbiAgPGRpdlxuICAgICNoZWFkZXJzUmVmXG4gICAgY2xhc3M9XCJzZGMtdGFiLWhlYWRlcnNcIlxuICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkQXJpYUxhYmVsKClcIlxuICA+XG4gICAgQGZvciAoaCBvZiBoZWFkZXJzKCk7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2RjLXRhYi1oZWFkZXJcIlxuICAgICAgICBbY2xhc3Muc2RjLXRhYi1oZWFkZXItYWN0aXZlXT1cImkgPT09IGFjdGl2ZUluZGV4XCJcbiAgICAgICAgW2NsYXNzLnNkYy10YWItaGVhZGVyLWRpc2FibGVkXT1cImguZGlzYWJsZWRcIlxuICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJoLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpID09PSBhY3RpdmVJbmRleFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaC5pZCArICctcGFuZWwnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJoLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRIZWFkZXJBcmlhTGFiZWwoaCwgaSlcIlxuICAgICAgICBbaWRdPVwiaC5pZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCJoLmRpc2FibGVkID8gLTEgOiBpID09PSBhY3RpdmVJbmRleCA/IDAgOiAtMVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3QoaSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbkhlYWRlcktleWRvd24oJGV2ZW50LCBpKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRhYi1sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IGdldEhlYWRlclRleHQoaCwgaSkgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtdGFiLXBhbmVsc1wiICNwYW5lbHNSZWY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFJTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLGVBQWUsRUFDZixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBVzVFLE1BQU0sT0FBTyxZQUFZO0lBQ04sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lB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O2dCQW9CM0IsaUJBQWlCO3NCQUExQixNQUFNO2dCQUtILFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgVEFCX0FDVElWRV9TVUZGSVhfS0VZLFxuICBUQUJfREVGQVVMVF9BUklBX0xBQkVMX0tFWSxcbiAgVEFCX0RFRkFVTFRfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYi5jb25zdCc7XG5pbXBvcnQgeyBUYWJIZWFkZXIsIFRhYkl0ZW1SZWYgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3RhYi50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuaW1wb3J0IHsgcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2kxOG4udXRpbCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgcGFyc2VCb29sZWFuQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9ib29sZWFuLnV0aWwnO1xuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFiJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9zdCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcnNSZWYnKSBoZWFkZXJzUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BhbmVsc1JlZicpIHBhbmVsc1JlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogZmFsc2UgfSlcbiAgcHJpdmF0ZSB0YWJJdGVtcyE6IFF1ZXJ5TGlzdDxUYWJJdGVtQ29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgdGFiSXRlbUVscyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50U3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB1aWQgPSBuZXh0U2VxdWVudGlhbElkKCdzZGMtdGFiJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUluZGV4ID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zU2lnbmFsID0gc2lnbmFsPFRhYkl0ZW1SZWZbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlVmVyc2lvbiA9IHNpZ25hbCgwKTtcbiAgcHJpdmF0ZSBpc1N5bmNpbmdEb20gPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm5vcm1hbGl6ZUluZGV4KHZhbHVlKTtcblxuICAgICAgaWYgKGluZGV4ID09PSB0aGlzLl9hY3RpdmVJbmRleCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fYWN0aXZlSW5kZXguc2V0KGluZGV4KTtcbiAgICAgIHRoaXMuc3luY0hpZGRlbkFuZEFyaWEoKTtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdCh0aGlzLl9hY3RpdmVJbmRleCgpKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4KCk7XG4gIH1cblxuICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcm90ZWN0ZWQgYXJpYUxhYmVsU2lnbmFsID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBASW5wdXQoKVxuICBzZXQgYXJpYUxhYmVsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmFyaWFMYWJlbFNpZ25hbC5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbFNpZ25hbCgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlID0gaXNNb2JpbGUoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVzb2x2ZWRBcmlhTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5sYW5ndWFnZVZlcnNpb24oKTtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMuYXJpYUxhYmVsU2lnbmFsKCksIFRBQl9ERUZBVUxUX0FSSUFfTEFCRUxfS0VZKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhlYWRlcnMgPSBjb21wdXRlZDxUYWJIZWFkZXJbXT4oKCkgPT4ge1xuICAgIHRoaXMubGFuZ3VhZ2VWZXJzaW9uKCk7XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtc1NpZ25hbCgpLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgICBsYWJlbDogaXRlbS5sYWJlbCxcbiAgICAgIGRpc2FibGVkOiBpdGVtLmRpc2FibGVkLFxuICAgICAgaWQ6IGl0ZW0uaGVhZGVySWQgfHwgYCR7dGhpcy51aWR9LXRhYi0ke2luZGV4fWBcbiAgICB9KSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGVhZGVyc0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5oZWFkZXJzKCk7XG4gICAgdGhpcy5zeW5jSGlkZGVuQW5kQXJpYSgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9KTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jUHJvamVjdGVkSXRlbXMoKTtcblxuICAgIHRoaXMuY29udGVudFN1YnMuYWRkKFxuICAgICAgdGhpcy50YWJJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3luY1Byb2plY3RlZEl0ZW1zKCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRlbnRTdWJzLmFkZChcbiAgICAgIHRoaXMudGFiSXRlbUVscy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3luY1Byb2plY3RlZEl0ZW1zKCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRlbnRTdWJzLmFkZChcbiAgICAgIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxhbmd1YWdlVmVyc2lvbi51cGRhdGUoKHZhbHVlKSA9PiB2YWx1ZSArIDEpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNQcm9qZWN0ZWRJdGVtcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hcmlhTGFiZWxTaWduYWwoKSkge1xuICAgICAgY29uc3QgaG9zdEFyaWFMYWJlbCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpID8/IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGhvc3RBcmlhTGFiZWwpIHtcbiAgICAgICAgdGhpcy5hcmlhTGFiZWxTaWduYWwuc2V0KGhvc3RBcmlhTGFiZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc3luY0hpZGRlbkFuZEFyaWEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGVudFN1YnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnMoKTtcblxuICAgIGlmICghaGVhZGVyc1tpbmRleF0gfHwgaGVhZGVyc1tpbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggIT09IHRoaXMuX2FjdGl2ZUluZGV4KCkpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldChpbmRleCk7XG4gICAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZm9jdXNOZXh0KGluZGV4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZm9jdXNQcmV2KGluZGV4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnSG9tZScpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgoMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VuZCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgodGhpcy5oZWFkZXJzKCkubGVuZ3RoIC0gMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0KGluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGVhZGVyVGV4dChoZWFkZXI6IFRhYkhlYWRlciwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIGhlYWRlci5sYWJlbCk7XG4gICAgaWYgKHRyYW5zbGF0ZWRMYWJlbCkge1xuICAgICAgcmV0dXJuIHRyYW5zbGF0ZWRMYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIG51bGwsIFRBQl9ERUZBVUxUX0xBQkVMX0tFWSwgeyBudW1iZXI6IGluZGV4ICsgMSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIZWFkZXJBcmlhTGFiZWwoaGVhZGVyOiBUYWJIZWFkZXIsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRIZWFkZXJUZXh0KGhlYWRlciwgaW5kZXgpO1xuXG4gICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZUluZGV4KSB7XG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2xhYmVsfSAke3Jlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCBudWxsLCBUQUJfQUNUSVZFX1NVRkZJWF9LRVkpfWA7XG4gIH1cblxuICBwcml2YXRlIHN5bmNQcm9qZWN0ZWRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFiSXRlbXMgfHwgIXRoaXMudGFiSXRlbUVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy50YWJJdGVtcy50b0FycmF5KCk7XG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLnRhYkl0ZW1FbHMudG9BcnJheSgpLm1hcCgocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICBjb25zdCBuZXh0OiBUYWJJdGVtUmVmW10gPSBpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbaW5kZXhdO1xuICAgICAgY29uc3QgaW5wdXRMYWJlbCA9IChpdGVtLmxhYmVsID8/ICcnKS50cmltKCk7XG4gICAgICBjb25zdCBhdHRyTGFiZWwgPSAoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhYmVsJykgPz8gJycpLnRyaW0oKTtcbiAgICAgIGNvbnN0IGxhYmVsID0gaW5wdXRMYWJlbCB8fCBhdHRyTGFiZWw7XG5cbiAgICAgIGNvbnN0IGF0dHJEaXNhYmxlZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgY29uc3QgZGlzYWJsZWQgPSBhdHRyRGlzYWJsZWQgIT0gbnVsbCA/IHBhcnNlQm9vbGVhbkF0dHJpYnV0ZShhdHRyRGlzYWJsZWQpIDogISFpdGVtLmRpc2FibGVkO1xuXG4gICAgICBjb25zdCBpbnB1dElkID0gKGl0ZW0uaWQgPz8gJycpLnRyaW0oKTtcbiAgICAgIGNvbnN0IGF0dHJIZWFkZXJJZCA9IChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10YWItaGVhZGVyLWlkJykgPz8gJycpLnRyaW0oKTtcbiAgICAgIGNvbnN0IGhlYWRlcklkID0gaW5wdXRJZCB8fCBhdHRySGVhZGVySWQgfHwgdW5kZWZpbmVkO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbDogZWxlbWVudCxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBoZWFkZXJJZFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5zYW1lSXRlbXModGhpcy5pdGVtc1NpZ25hbCgpLCBuZXh0KSkge1xuICAgICAgdGhpcy5pdGVtc1NpZ25hbC5zZXQobmV4dCk7XG4gICAgICB0aGlzLl9hY3RpdmVJbmRleC5zZXQodGhpcy5ub3JtYWxpemVJbmRleCh0aGlzLl9hY3RpdmVJbmRleCgpKSk7XG4gICAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNhbWVJdGVtcyhsZWZ0OiBUYWJJdGVtUmVmW10sIHJpZ2h0OiBUYWJJdGVtUmVmW10pOiBib29sZWFuIHtcbiAgICBpZiAobGVmdC5sZW5ndGggIT09IHJpZ2h0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZWZ0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgaWYgKGxlZnRbaW5kZXhdLmVsICE9PSByaWdodFtpbmRleF0uZWwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAobGVmdFtpbmRleF0ubGFiZWwgIT09IHJpZ2h0W2luZGV4XS5sYWJlbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChsZWZ0W2luZGV4XS5kaXNhYmxlZCAhPT0gcmlnaHRbaW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKChsZWZ0W2luZGV4XS5oZWFkZXJJZCA/PyAnJykgIT09IChyaWdodFtpbmRleF0uaGVhZGVySWQgPz8gJycpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzKCk7XG4gICAgY29uc3QgbGVuZ3RoID0gaGVhZGVycy5sZW5ndGg7XG5cbiAgICBmb3IgKGxldCBzdGVwID0gMTsgc3RlcCA8PSBsZW5ndGg7IHN0ZXArKykge1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gKGluZGV4ICsgc3RlcCkgJSBsZW5ndGg7XG5cbiAgICAgIGlmICghaGVhZGVyc1tuZXh0SW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbmRleChuZXh0SW5kZXgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuaGVhZGVycygpO1xuICAgIGNvbnN0IGxlbmd0aCA9IGhlYWRlcnMubGVuZ3RoO1xuXG4gICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuZ3RoOyBzdGVwKyspIHtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IChpbmRleCAtIHN0ZXAgKyBsZW5ndGgpICUgbGVuZ3RoO1xuXG4gICAgICBpZiAoIWhlYWRlcnNbbmV4dEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW5kZXgobmV4dEluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0luZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5oZWFkZXJzUmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJykgYXMgTm9kZUxpc3RPZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gICAgbGlzdD8uW2luZGV4XT8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0hpZGRlbkFuZEFyaWEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNTeW5jaW5nRG9tIHx8ICF0aGlzLmhlYWRlcnNSZWYgfHwgIXRoaXMucGFuZWxzUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9hY3RpdmVJbmRleCgpO1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc1NpZ25hbCgpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnMoKTtcblxuICAgIHRoaXMuaXNTeW5jaW5nRG9tID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGl0ZW0uZWw7XG4gICAgICAgIGNvbnN0IGhlYWRlciA9IGhlYWRlcnNbaXRlbUluZGV4XTtcbiAgICAgICAgY29uc3QgaGVhZGVySWQgPSBoZWFkZXI/LmlkID8/IGAke3RoaXMudWlkfS10YWItJHtpdGVtSW5kZXh9YDtcbiAgICAgICAgY29uc3QgcGFuZWxJZCA9IGAke2hlYWRlcklkfS1wYW5lbGA7XG5cbiAgICAgICAgdGhpcy5zZXRBdHRyKGVsZW1lbnQsICdyb2xlJywgJ3RhYnBhbmVsJyk7XG4gICAgICAgIHRoaXMuc2V0QXR0cihlbGVtZW50LCAnaWQnLCBwYW5lbElkKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyKGVsZW1lbnQsICdhcmlhLWxhYmVsbGVkYnknLCBoZWFkZXJJZCk7XG5cbiAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUF0dHIoZWxlbWVudCwgJ2hpZGRlbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0QXR0cihlbGVtZW50LCAnaGlkZGVuJywgJycpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc1N5bmNpbmdEb20gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHIoZWxlbWVudDogSFRNTEVsZW1lbnQsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmdldEF0dHJpYnV0ZShuYW1lKSAhPT0gdmFsdWUpIHtcbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUF0dHIoZWxlbWVudDogSFRNTEVsZW1lbnQsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZShuYW1lKSkge1xuICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLml0ZW1zU2lnbmFsKCkubGVuZ3RoO1xuXG4gICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IE51bWJlci5pc0Zpbml0ZSh2YWx1ZSkgPyBNYXRoLnRydW5jKHZhbHVlKSA6IDA7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KDAsIG5vcm1hbGl6ZWQpLCBsZW5ndGggLSAxKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy10YWJcIiBbY2xhc3Muc2RjLXRhYi1zdGFja109XCJpc01vYmlsZVwiPlxuICA8ZGl2XG4gICAgI2hlYWRlcnNSZWZcbiAgICBjbGFzcz1cInNkYy10YWItaGVhZGVyc1wiXG4gICAgcm9sZT1cInRhYmxpc3RcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWRBcmlhTGFiZWwoKVwiXG4gID5cbiAgICBAZm9yIChoIG9mIGhlYWRlcnMoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJzZGMtdGFiLWhlYWRlclwiXG4gICAgICAgIFtjbGFzcy5zZGMtdGFiLWhlYWRlci1hY3RpdmVdPVwiaSA9PT0gYWN0aXZlSW5kZXhcIlxuICAgICAgICBbY2xhc3Muc2RjLXRhYi1oZWFkZXItZGlzYWJsZWRdPVwiaC5kaXNhYmxlZFwiXG4gICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImguZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImkgPT09IGFjdGl2ZUluZGV4XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJoLmlkICsgJy1wYW5lbCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImguZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEhlYWRlckFyaWFMYWJlbChoLCBpKVwiXG4gICAgICAgIFtpZF09XCJoLmlkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImguZGlzYWJsZWQgPyAtMSA6IGkgPT09IGFjdGl2ZUluZGV4ID8gMCA6IC0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyS2V5ZG93bigkZXZlbnQsIGkpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGFiLWxhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgZ2V0SGVhZGVyVGV4dChoLCBpKSB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNkYy10YWItcGFuZWxzXCIgI3BhbmVsc1JlZj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|