@acorex/components 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/src/alert.component.d.ts +1 -1
- package/badge/src/badge.component.d.ts +1 -1
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -4
- package/button/src/button-group.component.d.ts +4 -4
- package/button/src/button-item.component.d.ts +4 -4
- package/color-picker/src/color-picker.component.d.ts +18 -21
- package/common/public-api.d.ts +1 -0
- package/common/src/common.module.d.ts +4 -3
- package/common/src/debounce-time.directive.d.ts +17 -0
- package/common/src/events.class.d.ts +1 -1
- package/date-picker/src/datepicker.component.d.ts +12 -12
- package/esm2020/color-palette/src/color-palette-input.component.mjs +1 -1
- package/esm2020/color-picker/src/color-picker.component.mjs +3 -3
- package/esm2020/common/public-api.mjs +2 -1
- package/esm2020/common/src/auto-focus.directive.mjs +1 -1
- package/esm2020/common/src/common.module.mjs +6 -1
- package/esm2020/common/src/debounce-time.directive.mjs +47 -0
- package/esm2020/common/src/events.class.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +5 -4
- package/esm2020/date-picker/src/datepicker.component.mjs +2 -3
- package/esm2020/mixin/src/textbox-mixin.class.mjs +52 -83
- package/esm2020/number-box/src/number-box.component.mjs +3 -4
- package/esm2020/password-box/src/password-box.component.mjs +3 -3
- package/esm2020/search-box/src/search-box.component.mjs +4 -3
- package/esm2020/select-box/src/selectbox.component.mjs +5 -5
- package/esm2020/textarea/src/textarea.component.mjs +3 -3
- package/esm2020/textbox/public-api.mjs +2 -2
- package/esm2020/textbox/src/mask-options.directive.mjs +22 -0
- package/esm2020/textbox/src/textbox.component.mjs +44 -24
- package/esm2020/textbox/src/textbox.module.mjs +11 -7
- package/esm2020/time-box/src/time-box.component.mjs +4 -4
- package/fesm2015/acorex-components-color-palette.mjs +1 -1
- package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2015/acorex-components-color-picker.mjs +2 -2
- package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-common.mjs +61 -12
- package/fesm2015/acorex-components-common.mjs.map +1 -1
- package/fesm2015/acorex-components-data-pager.mjs +4 -3
- package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2015/acorex-components-date-picker.mjs +1 -2
- package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs +3 -33
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-number-box.mjs +2 -3
- package/fesm2015/acorex-components-number-box.mjs.map +1 -1
- package/fesm2015/acorex-components-password-box.mjs +2 -2
- package/fesm2015/acorex-components-password-box.mjs.map +1 -1
- package/fesm2015/acorex-components-search-box.mjs +3 -2
- package/fesm2015/acorex-components-search-box.mjs.map +1 -1
- package/fesm2015/acorex-components-select-box.mjs +4 -4
- package/fesm2015/acorex-components-select-box.mjs.map +1 -1
- package/fesm2015/acorex-components-textarea.mjs +2 -2
- package/fesm2015/acorex-components-textarea.mjs.map +1 -1
- package/fesm2015/acorex-components-textbox.mjs +60 -37
- package/fesm2015/acorex-components-textbox.mjs.map +1 -1
- package/fesm2015/acorex-components-time-box.mjs +3 -3
- package/fesm2015/acorex-components-time-box.mjs.map +1 -1
- package/fesm2020/acorex-components-color-palette.mjs +1 -1
- package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2020/acorex-components-color-picker.mjs +2 -2
- package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-common.mjs +60 -12
- package/fesm2020/acorex-components-common.mjs.map +1 -1
- package/fesm2020/acorex-components-data-pager.mjs +4 -3
- package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2020/acorex-components-date-picker.mjs +1 -2
- package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs +51 -81
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-number-box.mjs +2 -3
- package/fesm2020/acorex-components-number-box.mjs.map +1 -1
- package/fesm2020/acorex-components-password-box.mjs +2 -2
- package/fesm2020/acorex-components-password-box.mjs.map +1 -1
- package/fesm2020/acorex-components-search-box.mjs +3 -2
- package/fesm2020/acorex-components-search-box.mjs.map +1 -1
- package/fesm2020/acorex-components-select-box.mjs +4 -4
- package/fesm2020/acorex-components-select-box.mjs.map +1 -1
- package/fesm2020/acorex-components-textarea.mjs +2 -2
- package/fesm2020/acorex-components-textarea.mjs.map +1 -1
- package/fesm2020/acorex-components-textbox.mjs +59 -37
- package/fesm2020/acorex-components-textbox.mjs.map +1 -1
- package/fesm2020/acorex-components-time-box.mjs +3 -3
- package/fesm2020/acorex-components-time-box.mjs.map +1 -1
- package/mixin/src/base-components.class.d.ts +1 -1
- package/mixin/src/base-menu-mixin.class.d.ts +4 -4
- package/mixin/src/button-mixin.class.d.ts +1 -1
- package/mixin/src/clickable-mixin.class.d.ts +1 -1
- package/mixin/src/color-look-mixing.class.d.ts +1 -1
- package/mixin/src/datalist-component.class.d.ts +9 -9
- package/mixin/src/dropdown-mixin.class.d.ts +1 -1
- package/mixin/src/interactive-mixin.class.d.ts +3 -3
- package/mixin/src/loading-mixin.class.d.ts +1 -1
- package/mixin/src/mixin.class.d.ts +42 -47
- package/mixin/src/page-component.class.d.ts +1 -1
- package/mixin/src/selection-component.class.d.ts +1 -1
- package/mixin/src/sizable-mixin.class.d.ts +1 -1
- package/mixin/src/textbox-mixin.class.d.ts +4 -13
- package/mixin/src/value-mixin.class.d.ts +7 -7
- package/number-box/src/number-box.component.d.ts +1 -1
- package/package.json +1 -9
- package/password-box/src/password-box.component.d.ts +1 -1
- package/select-box/src/selectbox.component.d.ts +1 -1
- package/tabs/src/tab-item.component.d.ts +1 -1
- package/textarea/src/textarea.component.d.ts +1 -1
- package/textbox/public-api.d.ts +1 -1
- package/textbox/src/mask-options.directive.d.ts +13 -0
- package/textbox/src/textbox.component.d.ts +12 -6
- package/textbox/src/textbox.module.d.ts +6 -5
- package/time-box/src/time-box.component.d.ts +2 -2
- package/esm2020/input-mask/acorex-components-input-mask.mjs +0 -5
- package/esm2020/input-mask/public-api.mjs +0 -3
- package/esm2020/input-mask/src/input-mask.component.mjs +0 -58
- package/esm2020/input-mask/src/input-mask.module.mjs +0 -24
- package/esm2020/textbox/src/mask-settings.directive.mjs +0 -23
- package/fesm2015/acorex-components-input-mask.mjs +0 -86
- package/fesm2015/acorex-components-input-mask.mjs.map +0 -1
- package/fesm2020/acorex-components-input-mask.mjs +0 -86
- package/fesm2020/acorex-components-input-mask.mjs.map +0 -1
- package/input-mask/index.d.ts +0 -5
- package/input-mask/public-api.d.ts +0 -2
- package/input-mask/src/input-mask.component.d.ts +0 -25
- package/input-mask/src/input-mask.module.d.ts +0 -10
- package/textbox/src/mask-settings.directive.d.ts +0 -8
|
@@ -55,4 +55,4 @@ export class AXSelectionValueChangedEvent extends AXValueChangedEvent {
|
|
|
55
55
|
*/
|
|
56
56
|
export class AXRangeChangedEvent extends AXEvent {
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uL3NyYy9ldmVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFVRSxzQkFBaUIsR0FBYSxLQUFLLENBQUM7SUFDdEMsQ0FBQztDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQXFDLFNBQVEsT0FBTztDQUVoRTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBNkIsU0FBUSxPQUFPO0NBSXhEO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF1QjtDQU94RDtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0NBRW5EO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFvQixTQUFRLFdBQXVCO0NBRS9EO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF1QjtDQUFJO0FBRTdEOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFFakQ7Q0FLQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxPQUFPO0NBU2xEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcclxuICogQGNhdGVnb3J5IEV2ZW50c1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFYRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqICBUaGUgc2VuZGVyIGNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbXBvbmVudDogYW55O1xyXG4gIC8qKlxyXG4gICAqICBUaGUgcm9vdCBuYXRpdmUgZWxlbWVudFxyXG4gICAqL1xyXG4gIGh0bWxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIGlzVXNlckludGVyYWN0aW9uPzogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sRXZlbnQ8RSBleHRlbmRzIEV2ZW50ID0gRXZlbnQ+IGV4dGVuZHMgQVhFdmVudCB7XHJcbiAgbmF0aXZlRXZlbnQ/OiBFO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhWYWx1ZUNoYW5nZWRFdmVudDxUID0gYW55PiBleHRlbmRzIEFYRXZlbnQge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG9sZFZhbHVlPzogVDtcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWENsaWNrRXZlbnQgZXh0ZW5kcyBBWEh0bWxFdmVudDxNb3VzZUV2ZW50PiB7XHJcbiAgLyoqXHJcbiAgICogIHVzZXMgZm9yIGV4dHJhIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogYW55O1xyXG5cclxuICBuYXRpdmVFdmVudD86IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkNsaWNrRXZlbnQgZXh0ZW5kcyBBWENsaWNrRXZlbnQge1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWEl0ZW1DbGlja0V2ZW50PFQ+IGV4dGVuZHMgQVhIdG1sRXZlbnQ8TW91c2VFdmVudD4ge1xyXG4gIGl0ZW06IFQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSBjb21wb25lbnQgZ2V0cyBmb2N1c2VkLlxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhGb2N1c0V2ZW50IGV4dGVuZHMgQVhIdG1sRXZlbnQ8Rm9jdXNFdmVudD4geyB9XHJcblxyXG4vKipcclxuICogIEZpcmVzIGVhY2ggdGltZSBhbiBpdGVtIG9yIG11bHRpcGxlIGl0ZW1zIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIG9yIHZhbHVlLlxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25WYWx1ZUNoYW5nZWRFdmVudCBleHRlbmRzIEFYVmFsdWVDaGFuZ2VkRXZlbnQ8XHJcbiAgYW55IHwgYW55W11cclxuPiB7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgb2xkVmFsdWU/OiBhbnk7XHJcbiAgc2VsZWN0ZWRLZXlzPzogYW55W107XHJcbiAgc2VsZWN0ZWRJdGVtcz86IGFueVtdO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIHJhbmdlIHN0YXJ0ICYgZW5kIHZhbHVlc1xyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhSYW5nZUNoYW5nZWRFdmVudDxUPiBleHRlbmRzIEFYRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqICBUaGUgcmFuZ2Ugc3RhcnQgdmFsdWVcclxuICAgKi9cclxuICBzdGFydD86IFQ7XHJcbiAgLyoqXHJcbiAgICogIFRoZSByYW5nZSBlbmQgdmFsdWVcclxuICAgKi9cclxuICBlbmQ/OiBUO1xyXG59XHJcbiJdfQ==
|
|
@@ -21,22 +21,23 @@ export class AXDataPagerInputSelectorComponent extends AXDataPagerChild {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
_handleValueChanged(e) {
|
|
24
|
+
//TODO: debounceTime
|
|
24
25
|
this._parent.goToPage(e.value);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
AXDataPagerInputSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerInputSelectorComponent, deps: [{ token: i0.ElementRef }, { token: AXPagerComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
29
|
AXDataPagerInputSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector", providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerInputSelectorComponent }], usesInheritance: true, ngImport: i0, template: `
|
|
29
30
|
<ax-number-box [value]="_currentPage" class="ax-sm !ax-text-sm !ax-text-center" (onValueChanged)="_handleValueChanged($event)" [showSpinButtons]="false"
|
|
30
|
-
[minValue]="1" [maxValue]="_totalPages" allowNull="false"
|
|
31
|
+
[minValue]="1" [maxValue]="_totalPages" allowNull="false">
|
|
31
32
|
</ax-number-box>
|
|
32
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "size", "value", "placeholder", "maxLength", "allowNull", "
|
|
33
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "size", "value", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "name", "checked", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerInputSelectorComponent, decorators: [{
|
|
34
35
|
type: Component,
|
|
35
36
|
args: [{
|
|
36
37
|
selector: 'ax-data-pager-input-selector',
|
|
37
38
|
template: `
|
|
38
39
|
<ax-number-box [value]="_currentPage" class="ax-sm !ax-text-sm !ax-text-center" (onValueChanged)="_handleValueChanged($event)" [showSpinButtons]="false"
|
|
39
|
-
[minValue]="1" [maxValue]="_totalPages" allowNull="false"
|
|
40
|
+
[minValue]="1" [maxValue]="_totalPages" allowNull="false">
|
|
40
41
|
</ax-number-box>
|
|
41
42
|
`,
|
|
42
43
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -47,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
47
48
|
type: Inject,
|
|
48
49
|
args: [AXPagerComponent]
|
|
49
50
|
}] }, { type: i0.ChangeDetectorRef }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci1pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRhLXBhZ2VyL3NyYy9kYXRhLXBhZ2VyLWlucHV0LXNlbGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFpQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFhakYsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGdCQUFnQjtJQUVuRSxZQUNJLFVBQXNCLEVBRWQsT0FBeUIsRUFDekIsR0FBc0I7UUFFOUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhmLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBS2xDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO0lBSHpCLENBQUM7SUFLRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUE4QjtRQUM5QyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhIQTNCUSxpQ0FBaUMsNENBSTlCLGdCQUFnQjtrSEFKbkIsaUNBQWlDLHVEQUYvQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxpQ0FBaUMsRUFBRSxDQUFDLGlEQVBoRjs7OztLQUlUOzJGQUtRLGlDQUFpQztrQkFYN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsbUNBQW1DLEVBQUUsQ0FBQztpQkFDN0Y7OzBCQUtRLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcclxuaW1wb3J0IHsgQVhEYXRhUGFnZXJDaGlsZCwgQVhQYWdlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtcGFnZXItYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kYXRhLXBhZ2VyLWlucHV0LXNlbGVjdG9yJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGF4LW51bWJlci1ib3ggW3ZhbHVlXT1cIl9jdXJyZW50UGFnZVwiIGNsYXNzPVwiYXgtc20gIWF4LXRleHQtc20gIWF4LXRleHQtY2VudGVyXCIgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbbWluVmFsdWVdPVwiMVwiIFttYXhWYWx1ZV09XCJfdG90YWxQYWdlc1wiIGFsbG93TnVsbD1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9heC1udW1iZXItYm94PlxyXG4gICAgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhEYXRhUGFnZXJDaGlsZCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VySW5wdXRTZWxlY3RvckNvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEYXRhUGFnZXJJbnB1dFNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhUGFnZXJDaGlsZCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBASW5qZWN0KEFYUGFnZXJDb21wb25lbnQpXHJcbiAgICAgICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VyQ29tcG9uZW50LFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBfdG90YWxQYWdlczogbnVtYmVyID0gMTtcclxuICAgIF9jdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gdGhpcy5fcGFyZW50LnN0YXRlLnBhZ2U7XHJcbiAgICAgICAgdGhpcy5fdG90YWxQYWdlcyA9IHRoaXMuX3BhcmVudC5zdGF0ZS50b3RhbFBhZ2VzO1xyXG4gICAgICAgIHRoaXMuX3BhcmVudC5vblN0YXRlQ2hhbmdlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gYy5wYWdlO1xyXG4gICAgICAgICAgICB0aGlzLl90b3RhbFBhZ2VzID0gYy50b3RhbFBhZ2VzO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xyXG4gICAgICAgIC8vVE9ETzogZGVib3VuY2VUaW1lXHJcbiAgICAgICAgdGhpcy5fcGFyZW50LmdvVG9QYWdlKGUudmFsdWUgYXMgbnVtYmVyKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -179,7 +179,7 @@ export class AXDatePickerComponent extends AXBaseDatePickerMixin {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
AXDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
-
AXDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength",
|
|
182
|
+
AXDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", format: "format", interface: "interface" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", formatChange: "formatChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [
|
|
183
183
|
{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent },
|
|
184
184
|
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "_calendar", first: true, predicate: AXCalendarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\r\n <!-- <input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\"\r\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\" [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\"\r\n (keydown)=\"_handleOnKeydownEvent($event)\"> -->\r\n <div class=\"ax-px-2.5\">\r\n {{displayText}}\r\n </div>\r\n</div>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron -ax-rotate-90 ax-transition-all\"\r\n [class.!ax-rotate-90]=\"isOpen\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\" [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopoverOpened($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\r\n <ax-header *ngIf=\"_isMobile\" >\r\n <ax-title text=\"{{placeholder || 'Choose a date'}}\"></ax-title>\r\n <ax-close-button></ax-close-button>\r\n </ax-header>\r\n <ng-container *ngIf=\"interface === 'calendar'; then calendarTemplate; else pickerTemplate\"></ng-container>\r\n <ng-template #calendarTemplate>\r\n <ax-calendar #calendar [disabled]=\"disabled\" [readonly]=\"readonly\" [(value)]=\"value\" [min]=\"min\" [max]=\"max\"\r\n [disabledDates]=\"disabledDates\" [holidayDates]=\"holidayDates\" [depth]=\"depth\"\r\n (onNavigate)=\"_handleOnNavigate($event)\" [type]=\"type\">\r\n </ax-calendar>\r\n </ng-template>\r\n <ng-template #pickerTemplate>\r\n </ng-template>\r\n </div>\r\n</ax-popover>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AXCalendarComponent, selector: "ax-calendar", inputs: ["readonly", "allowNull", "value", "name", "checked", "disabled", "tabIndex", "depth", "activeView", "min", "max", "disabledDates", "type", "holidayDates", "interface"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "disabledDatesChange", "holidayDatesChange", "onNavigate"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i6.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i6.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i6.AXDecoratorTitleComponent, selector: "ax-title", inputs: ["text"] }, { kind: "component", type: i6.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
185
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDatePickerComponent, decorators: [{
|
|
@@ -199,7 +199,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
199
199
|
'placeholder',
|
|
200
200
|
'maxLength',
|
|
201
201
|
'allowNull',
|
|
202
|
-
'debounceTime',
|
|
203
202
|
'type',
|
|
204
203
|
'autoComplete',
|
|
205
204
|
'readonly',
|
|
@@ -246,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
246
245
|
}], interface: [{
|
|
247
246
|
type: Input
|
|
248
247
|
}] } });
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRlLXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRlLXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHVCQUF1QixHQUV4QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLHFCQUFxQixHQUN0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUVsQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FDOUQsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0FBMERGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxxQkFBcUI7SUFvQzlELFlBQ0UsV0FBdUIsRUFDdkIsSUFBdUIs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QUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFZaEQsWUFBWTtzQkFEWCxNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBWU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU3RyaW5nVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGVUaW1lJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50LCBBWENsb3NiYWxlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEFYQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgQVhDYWxlbmRhckJhc2VDb21wb25lbnQsXHJcbiAgQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQsXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xyXG5pbXBvcnQge1xyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxuICBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4sXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbixcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZURhdGVQaWNrZXJNaXhpbiA9IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluKEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFtcclxuICAgICdpc09wZW4nLFxyXG4gICAgJ2ZpdFBhcmVudCcsXHJcbiAgICAnZHJvcGRvd25XaWR0aCcsXHJcbiAgICAncG9zaXRpb24nLFxyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndmFsdWUnLFxyXG4gICAgJ25hbWUnLFxyXG4gICAgJ2NoZWNrZWQnLFxyXG4gICAgJ3BsYWNlaG9sZGVyJyxcclxuICAgICdtYXhMZW5ndGgnLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAnZGVib3VuY2VUaW1lJyxcclxuICAgICd0eXBlJyxcclxuICAgICdhdXRvQ29tcGxldGUnLFxyXG4gICAgJ3JlYWRvbmx5JyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICduYW1lJyxcclxuICAgICdjaGVja2VkJyxcclxuICAgICdkZXB0aCcsXHJcbiAgICAnYWN0aXZlVmlldycsXHJcbiAgICAnbWluJyxcclxuICAgICdtYXgnLFxyXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxyXG4gICAgJ3R5cGUnLFxyXG4gICAgJ2hvbGlkYXlEYXRlcycsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbXHJcbiAgICAnb25PcGVuZWQnLFxyXG4gICAgJ29uQ2xvc2VkJyxcclxuICAgICdvbkJsdXInLFxyXG4gICAgJ29uRm9jdXMnLFxyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICdkZXB0aENoYW5nZScsXHJcbiAgICAndHlwZUNoYW5nZScsXHJcbiAgICAnZGlzYWJsZWREYXRlc0NoYW5nZScsXHJcbiAgICAnaG9saWRheURhdGVzQ2hhbmdlJyxcclxuICAgICdvbk5hdmlnYXRlJyxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGVQaWNrZXJDb21wb25lbnQgfSxcclxuICBdLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZURhdGVQaWNrZXJNaXhpbiB7XHJcbiAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKEFYQ2FsZW5kYXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY2FsZW5kYXI6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XHJcblxyXG4gIHByb3RlY3RlZCBfdGFyZ2V0OiBIVE1MRGl2RWxlbWVudDtcclxuICBkaXNwbGF5VGV4dDogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCBfY2FsZW5kYXJWYWx1ZTogRGF0ZTtcclxuICBwcm90ZWN0ZWQgX2N1cnNvclBvczogbnVtYmVyID0gMDtcclxuICBwcm90ZWN0ZWQgX2lzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIF9wb3BvdmVyVGl0bGU6IHN0cmluZztcclxuICBwcm90ZWN0ZWQgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBmb3JtYXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfZm9ybWF0OiBzdHJpbmcgPSAnWVlZWS1NTS1kZCc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGZvcm1hdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdDtcclxuICB9XHJcbiAgcHVibGljIHNldCBmb3JtYXQodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnZm9ybWF0JyxcclxuICAgICAgdmFsdWU6IHYsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBpbnRlcmZhY2U6ICdjYWxlbmRhcicgfCAncGlja2VyJyA9ICdjYWxlbmRhcic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgICB0aGlzLl90YXJnZXQgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpO1xyXG4gICAgdGhpcy5faXNNb2JpbGUgPSB0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJykgfHwgdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJyk7XHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5faXNNb2JpbGUgPSB0aGlzLl9wbGF0Zm9ybS5pcygnTW9iaWxlJykgfHwgdGhpcy5fcGxhdGZvcm0uaXMoJ1NNJyk7O1xyXG4gICAgICB0aGlzLnBvcG92ZXIuZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wb3BvdmVyVGl0bGUgPVxyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyIHx8IEFYVHJhbnNsYXRvci5nZXQoJ2RhdGVwaWNrZXIucG9wb3Zlci50aXRsZScpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheVRleHQoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlUZXh0ID0gdGhpcy52YWx1ZVxyXG4gICAgICA/IEFYRGF0ZVRpbWUuY29udmVydCh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpLmZvcm1hdCh0aGlzLl9mb3JtYXQpXHJcbiAgICAgIDogJyc7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVBvcG92ZXJPcGVuZWQoZSkge1xyXG4gICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIHRoaXMuX2NhbGVuZGFyPy5uYXZUbyh0aGlzLnZhbHVlIHx8IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSkpO1xyXG4gICB9LCAxMCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZUFycm93Q2xpY2tFdmVudChlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLl91cGRhdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xyXG4gICAgc3VwZXIuX29uT3B0aW9uQ2hhbmdlZChvcHRpb24pO1xyXG4gICAgaWYgKG9wdGlvbi5uYW1lID09ICd0eXBlJykge1xyXG4gICAgICB0aGlzLl91cGRhdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgbnVtczogc3RyaW5nW10gPSBBcnJheSgxMClcclxuICAgICAgLmZpbGwoMClcclxuICAgICAgLm1hcCgodiwgaSkgPT4gaS50b1N0cmluZygpKTtcclxuICAgIGNvbnN0IGNoYXJzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgJ0JhY2tzcGFjZScsXHJcbiAgICAgICdBcnJvd0Rvd24nLFxyXG4gICAgICAnQXJyb3dVcCcsXHJcbiAgICAgICdBcnJvd1JpZ2h0JyxcclxuICAgICAgJ0Fycm93TGVmdCcsXHJcbiAgICAgICdUYWInLFxyXG4gICAgICAnRW50ZXInLFxyXG4gICAgXTtcclxuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGtleSA9IGUua2V5O1xyXG4gICAgY29uc3QgdmFsU3RyID0gaW5wdXQudmFsdWU7XHJcbiAgICBjb25zdCBzU3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xyXG4gICAgY29uc3Qgc0VuZCA9IGlucHV0LnNlbGVjdGlvbkVuZCB8fCAwO1xyXG4gICAgY29uc3QgZGF0ZVZhbCA9IG5ldyBBWERhdGVUaW1lKHRoaXMudmFsdWUpO1xyXG4gICAgLy9cclxuICAgIGNvbnN0IHJlID0gL1thLXpBLVowLTldKy9naTtcclxuICAgIGNvbnN0IHBhcnRzID0gQXJyYXkuZnJvbSh0aGlzLmZvcm1hdC5tYXRjaEFsbChyZSkpO1xyXG4gICAgY29uc3Qgd29yZCA9IHZhbFN0ci5zdWJzdHJpbmcoc1N0YXJ0LCBzRW5kKTtcclxuICAgIGNvbnN0IHBhcnQgPSBwYXJ0cy5maW5kKChjOiBhbnkpID0+IGMuaW5kZXggPj0gc1N0YXJ0KTtcclxuICAgIC8vXHJcbiAgICAvL1xyXG4gICAgaWYgKFsuLi5udW1zXS5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgIGlmIChwYXJ0KSB7XHJcbiAgICAgICAgc3dpdGNoIChwYXJ0WzBdKSB7XHJcbiAgICAgICAgICBjYXNlICdkZCc6XHJcbiAgICAgICAgICBjYXNlICdERCc6XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbCA9IE1hdGgubWF4KDEsIE1hdGgubWluKDMxLCBOdW1iZXIod29yZCArIGUua2V5KSkpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5zZXQoJ2RheScsIG5ld1ZhbCkuZGF0ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdtbSc6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAneXknOlxyXG4gICAgICAgICAgY2FzZSAnWVlZWSc6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIHNTdGFydCk7XHJcbiAgICAgICAgfSwgMTApO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZS5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XHJcbiAgICAgIGNvbnN0IG5leHQgPSBBcnJheS5mcm9tKHZhbFN0ci5zdWJzdHIoc0VuZCkubWF0Y2hBbGwocmUpKTtcclxuICAgICAgY29uc3QgcHJldiA9IEFycmF5LmZyb20odmFsU3RyLnN1YnN0cmluZygwLCBzU3RhcnQpLm1hdGNoQWxsKHJlKSk7XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KFxyXG4gICAgICAgIGlucHV0LFxyXG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dSaWdodCdcclxuICAgICAgICAgID8gc0VuZCArIChuZXh0WzBdPy5pbmRleCB8fCAwKVxyXG4gICAgICAgICAgOiBwcmV2W3ByZXYubGVuZ3RoIC0gMV0/LmluZGV4XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIGlmIChlLmN0cmxLZXkgJiYgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgc2lnbiA9IGUua2V5ID09PSAnQXJyb3dVcCcgPyArMSA6IC0xO1xyXG4gICAgICAgIGlmIChwYXJ0KSB7XHJcbiAgICAgICAgICBzd2l0Y2ggKHBhcnRbMF0pIHtcclxuICAgICAgICAgICAgY2FzZSAnZGQnOlxyXG4gICAgICAgICAgICBjYXNlICdERCc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdkYXknLCBzaWduKS5kYXRlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdtbSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ01NTSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ01NTU0nOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgnbW9udGgnLCBzaWduKS5kYXRlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICd5eSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1lZWVknOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgneWVhcicsIHNpZ24pLmRhdGU7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgc1N0YXJ0KTtcclxuICAgICAgICAgIH0sIDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWdub3JlKCk7XHJcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gZWxzZSBpZiAobnVtcy5pbmNsdWRlcyhrZXkpKSB7XHJcblxyXG4gICAgLy8gfVxyXG4gICAgLy8gc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkICBfaGFuZGxlT25OYXZpZ2F0ZShlOiBBWENhbGVuZGFyTmF2aWdhdGVFdmVudCkge1xyXG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWdobGlnaHRQYXJ0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LCBwb3M/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gQVhTdHJpbmdVdGlsLmdldFdvcmRCb3VuZHNBdFBvc2l0aW9uKFxyXG4gICAgICBpbnB1dC52YWx1ZSxcclxuICAgICAgcG9zICE9IG51bGwgPyBwb3MgOiBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwXHJcbiAgICApO1xyXG4gICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxkaXYgY2xhc3M9XCJheC1kcm9wZG93bi1jb250ZW50IGF4LWN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICA8IS0tIDxpbnB1dCBjbGFzcz1cImF4LWlucHV0XCIgdHlwZT1cInRleHRcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJfaXNNb2JpbGUgPyAtMSA6IHRhYkluZGV4XCIgW25nTW9kZWxdPVwiZGlzcGxheVRleHRcIiAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG1vdXNldXApPVwiX2hhbmRsZU9uSW5wdXRDbGlja0V2ZW50KCRldmVudClcIiAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxyXG4gICAgICAgIChrZXlkb3duKT1cIl9oYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCI+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1weC0yLjVcIj5cclxuICAgICAgICAgICAge3tkaXNwbGF5VGV4dH19XHJcbiAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KCRldmVudClcIj5cclxuICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uIC1heC1yb3RhdGUtOTAgYXgtdHJhbnNpdGlvbi1hbGxcIlxyXG4gICAgW2NsYXNzLiFheC1yb3RhdGUtOTBdPVwiaXNPcGVuXCI+PC9heC1pY29uPlxyXG48L2F4LWJ1dHRvbj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+XHJcbjwvbmctY29udGVudD5cclxuPGF4LXBvcG92ZXIgW3RhcmdldF09XCJfdGFyZ2V0XCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgW29wZW5UcmlnZ2VyXT1cIidtYW51YWwnXCIgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCIgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIlxyXG4gICAgKG9uT3BlbmVkKT1cIl9oYW5kbGVQb3BvdmVyT3BlbmVkKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiBbY2xhc3MuYXgtdy1mdWxsXT1cIl9pc01vYmlsZVwiPlxyXG4gICAgICAgIDxheC1oZWFkZXIgKm5nSWY9XCJfaXNNb2JpbGVcIiA+XHJcbiAgICAgICAgICAgIDxheC10aXRsZSB0ZXh0PVwie3twbGFjZWhvbGRlciB8fCAnQ2hvb3NlIGEgZGF0ZSd9fVwiPjwvYXgtdGl0bGU+XHJcbiAgICAgICAgICAgIDxheC1jbG9zZS1idXR0b24+PC9heC1jbG9zZS1idXR0b24+XHJcbiAgICAgICAgPC9heC1oZWFkZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVyZmFjZSA9PT0gJ2NhbGVuZGFyJzsgdGhlbiBjYWxlbmRhclRlbXBsYXRlOyBlbHNlIHBpY2tlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjYWxlbmRhclRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8YXgtY2FsZW5kYXIgI2NhbGVuZGFyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFsodmFsdWUpXT1cInZhbHVlXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCIgW2hvbGlkYXlEYXRlc109XCJob2xpZGF5RGF0ZXNcIiBbZGVwdGhdPVwiZGVwdGhcIlxyXG4gICAgICAgICAgICAgICAgKG9uTmF2aWdhdGUpPVwiX2hhbmRsZU9uTmF2aWdhdGUoJGV2ZW50KVwiIFt0eXBlXT1cInR5cGVcIj5cclxuICAgICAgICAgICAgPC9heC1jYWxlbmRhcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGlja2VyVGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRlLXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRlLXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHVCQUF1QixHQUV4QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLHFCQUFxQixHQUN0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUVsQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FDOUQsd0JBQXdCLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0FBeURGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxxQkFBcUI7SUFvQzlELFlBQ0UsV0FBdUIsRUFDdkIsSUFBdUIs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RUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBWWhELFlBQVk7c0JBRFgsTUFBTTtnQkFLSSxNQUFNO3NCQURoQixLQUFLO2dCQVlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFN0cmluZ1V0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDbG9zYmFsZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5cclxuaW1wb3J0IHtcclxuICBBWENhbGVuZGFyQ29tcG9uZW50LFxyXG4gIEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50LFxyXG4gIEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jYWxlbmRhcic7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcclxuaW1wb3J0IHtcclxuICBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQsXHJcbiAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluLFxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbixcclxuICBfVmFsdWVDb21wb25lbmV0TWl4aW4sXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VEYXRlUGlja2VyTWl4aW4gPSBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbihBWENhbGVuZGFyQmFzZUNvbXBvbmVudCkpXHJcbik7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAnaXNPcGVuJyxcclxuICAgICdmaXRQYXJlbnQnLFxyXG4gICAgJ2Ryb3Bkb3duV2lkdGgnLFxyXG4gICAgJ3Bvc2l0aW9uJyxcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3JlYWRvbmx5JyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICduYW1lJyxcclxuICAgICdjaGVja2VkJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3R5cGUnLFxyXG4gICAgJ2F1dG9Db21wbGV0ZScsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndmFsdWUnLFxyXG4gICAgJ25hbWUnLFxyXG4gICAgJ2NoZWNrZWQnLFxyXG4gICAgJ2RlcHRoJyxcclxuICAgICdhY3RpdmVWaWV3JyxcclxuICAgICdtaW4nLFxyXG4gICAgJ21heCcsXHJcbiAgICAnZGlzYWJsZWREYXRlcycsXHJcbiAgICAndHlwZScsXHJcbiAgICAnaG9saWRheURhdGVzJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICdvbk9wZW5lZCcsXHJcbiAgICAnb25DbG9zZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICd2YWx1ZUNoYW5nZScsXHJcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gICAgJ2RlcHRoQ2hhbmdlJyxcclxuICAgICd0eXBlQ2hhbmdlJyxcclxuICAgICdkaXNhYmxlZERhdGVzQ2hhbmdlJyxcclxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxyXG4gICAgJ29uTmF2aWdhdGUnLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVBpY2tlckNvbXBvbmVudCB9LFxyXG4gIF0sXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWVkaXRvci1jb250YWluZXIgYXgtZHJvcC1kb3duJyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlRGF0ZVBpY2tlck1peGluIHtcclxuICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQVhDYWxlbmRhckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIF9jYWxlbmRhcjogQVhDYWxlbmRhckNvbXBvbmVudDtcclxuXHJcbiAgcHJvdGVjdGVkIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmc7XHJcbiAgcHJvdGVjdGVkIF9jYWxlbmRhclZhbHVlOiBEYXRlO1xyXG4gIHByb3RlY3RlZCBfY3Vyc29yUG9zOiBudW1iZXIgPSAwO1xyXG4gIHByb3RlY3RlZCBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgX3BvcG92ZXJUaXRsZTogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCBfcG9wb3ZlcldpZHRoOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGZvcm1hdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBwcml2YXRlIF9mb3JtYXQ6IHN0cmluZyA9ICdZWVlZLU1NLWRkJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgZm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGZvcm1hdCh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdmb3JtYXQnLFxyXG4gICAgICB2YWx1ZTogdixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKSB8fCB0aGlzLl9wbGF0Zm9ybS5pcygnU00nKTtcclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKSB8fCB0aGlzLl9wbGF0Zm9ybS5pcygnU00nKTs7XHJcbiAgICAgIHRoaXMucG9wb3Zlci5kaXNwb3NlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BvcG92ZXJUaXRsZSA9XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgfHwgQVhUcmFuc2xhdG9yLmdldCgnZGF0ZXBpY2tlci5wb3BvdmVyLnRpdGxlJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVEaXNwbGF5VGV4dCgpIHtcclxuICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnZhbHVlXHJcbiAgICAgID8gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMudmFsdWUsIHRoaXMudHlwZSkuZm9ybWF0KHRoaXMuX2Zvcm1hdClcclxuICAgICAgOiAnJztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlUG9wb3Zlck9wZW5lZChlKSB7XHJcbiAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgdGhpcy5fY2FsZW5kYXI/Lm5hdlRvKHRoaXMudmFsdWUgfHwgbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKSk7XHJcbiAgIH0sIDEwKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcclxuICAgIHRoaXMuX3VwZGF0ZURpc3BsYXlUZXh0KCk7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XHJcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ3R5cGUnKSB7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZURpc3BsYXlUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBudW1zOiBzdHJpbmdbXSA9IEFycmF5KDEwKVxyXG4gICAgICAuZmlsbCgwKVxyXG4gICAgICAubWFwKCh2LCBpKSA9PiBpLnRvU3RyaW5nKCkpO1xyXG4gICAgY29uc3QgY2hhcnM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgJ0Fycm93RG93bicsXHJcbiAgICAgICdBcnJvd1VwJyxcclxuICAgICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgICAnQXJyb3dMZWZ0JyxcclxuICAgICAgJ1RhYicsXHJcbiAgICAgICdFbnRlcicsXHJcbiAgICBdO1xyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3Qga2V5ID0gZS5rZXk7XHJcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcclxuICAgIGNvbnN0IHNTdGFydCA9IGlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XHJcbiAgICBjb25zdCBzRW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kIHx8IDA7XHJcbiAgICBjb25zdCBkYXRlVmFsID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSk7XHJcbiAgICAvL1xyXG4gICAgY29uc3QgcmUgPSAvW2EtekEtWjAtOV0rL2dpO1xyXG4gICAgY29uc3QgcGFydHMgPSBBcnJheS5mcm9tKHRoaXMuZm9ybWF0Lm1hdGNoQWxsKHJlKSk7XHJcbiAgICBjb25zdCB3b3JkID0gdmFsU3RyLnN1YnN0cmluZyhzU3RhcnQsIHNFbmQpO1xyXG4gICAgY29uc3QgcGFydCA9IHBhcnRzLmZpbmQoKGM6IGFueSkgPT4gYy5pbmRleCA+PSBzU3RhcnQpO1xyXG4gICAgLy9cclxuICAgIC8vXHJcbiAgICBpZiAoWy4uLm51bXNdLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgaWYgKHBhcnQpIHtcclxuICAgICAgICBzd2l0Y2ggKHBhcnRbMF0pIHtcclxuICAgICAgICAgIGNhc2UgJ2RkJzpcclxuICAgICAgICAgIGNhc2UgJ0REJzpcclxuICAgICAgICAgICAgY29uc3QgbmV3VmFsID0gTWF0aC5tYXgoMSwgTWF0aC5taW4oMzEsIE51bWJlcih3b3JkICsgZS5rZXkpKSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLnNldCgnZGF5JywgbmV3VmFsKS5kYXRlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ21tJzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICd5eSc6XHJcbiAgICAgICAgICBjYXNlICdZWVlZJzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgc1N0YXJ0KTtcclxuICAgICAgICB9LCAxMCk7XHJcbiAgICAgICAgaWdub3JlKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcclxuICAgICAgY29uc3QgbmV4dCA9IEFycmF5LmZyb20odmFsU3RyLnN1YnN0cihzRW5kKS5tYXRjaEFsbChyZSkpO1xyXG4gICAgICBjb25zdCBwcmV2ID0gQXJyYXkuZnJvbSh2YWxTdHIuc3Vic3RyaW5nKDAsIHNTdGFydCkubWF0Y2hBbGwocmUpKTtcclxuICAgICAgaWdub3JlKCk7XHJcbiAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoXHJcbiAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgZS5rZXkgPT09ICdBcnJvd1JpZ2h0J1xyXG4gICAgICAgICAgPyBzRW5kICsgKG5leHRbMF0/LmluZGV4IHx8IDApXHJcbiAgICAgICAgICA6IHByZXZbcHJldi5sZW5ndGggLSAxXT8uaW5kZXhcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgaWYgKGUuY3RybEtleSAmJiBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBzaWduID0gZS5rZXkgPT09ICdBcnJvd1VwJyA/ICsxIDogLTE7XHJcbiAgICAgICAgaWYgKHBhcnQpIHtcclxuICAgICAgICAgIHN3aXRjaCAocGFydFswXSkge1xyXG4gICAgICAgICAgICBjYXNlICdkZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ0REJzpcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5hZGQoJ2RheScsIHNpZ24pLmRhdGU7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ21tJzpcclxuICAgICAgICAgICAgY2FzZSAnTU1NJzpcclxuICAgICAgICAgICAgY2FzZSAnTU1NTSc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdtb250aCcsIHNpZ24pLmRhdGU7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3l5JzpcclxuICAgICAgICAgICAgY2FzZSAnWVlZWSc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCd5ZWFyJywgc2lnbikuZGF0ZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0LCBzU3RhcnQpO1xyXG4gICAgICAgICAgfSwgMTApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZ25vcmUoKTtcclxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT0gJ0JhY2tzcGFjZScpIHtcclxuICAgICAgaWYgKHRoaXMuYWxsb3dOdWxsKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWdub3JlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBlbHNlIGlmIChudW1zLmluY2x1ZGVzKGtleSkpIHtcclxuXHJcbiAgICAvLyB9XHJcbiAgICAvLyBzdXBlci5fZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVPbklucHV0Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0KTtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgIF9oYW5kbGVPbk5hdmlnYXRlKGU6IEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50KSB7XHJcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodFBhcnQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvcz86IG51bWJlcikge1xyXG4gICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBBWFN0cmluZ1V0aWwuZ2V0V29yZEJvdW5kc0F0UG9zaXRpb24oXHJcbiAgICAgIGlucHV0LnZhbHVlLFxyXG4gICAgICBwb3MgIT0gbnVsbCA/IHBvcyA6IGlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDBcclxuICAgICk7XHJcbiAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgZW5kKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnQgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlKClcIj5cclxuICAgIDwhLS0gPGlucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiB0eXBlPVwidGV4dFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIl9pc01vYmlsZSA/IC0xIDogdGFiSW5kZXhcIiBbbmdNb2RlbF09XCJkaXNwbGF5VGV4dFwiIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAobW91c2V1cCk9XCJfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LXB4LTIuNVwiPlxyXG4gICAgICAgICAgICB7e2Rpc3BsYXlUZXh0fX1cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYkluZGV4XT1cIi0xXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gLWF4LXJvdGF0ZS05MCBheC10cmFuc2l0aW9uLWFsbFwiXHJcbiAgICBbY2xhc3MuIWF4LXJvdGF0ZS05MF09XCJpc09wZW5cIj48L2F4LWljb24+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PlxyXG48YXgtcG9wb3ZlciBbdGFyZ2V0XT1cIl90YXJnZXRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbb3BlblRyaWdnZXJdPVwiJ21hbnVhbCdcIiBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIiBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAob25PcGVuZWQpPVwiX2hhbmRsZVBvcG92ZXJPcGVuZWQoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiIFtjbGFzcy5heC13LWZ1bGxdPVwiX2lzTW9iaWxlXCI+XHJcbiAgICAgICAgPGF4LWhlYWRlciAqbmdJZj1cIl9pc01vYmlsZVwiID5cclxuICAgICAgICAgICAgPGF4LXRpdGxlIHRleHQ9XCJ7e3BsYWNlaG9sZGVyIHx8ICdDaG9vc2UgYSBkYXRlJ319XCI+PC9heC10aXRsZT5cclxuICAgICAgICAgICAgPGF4LWNsb3NlLWJ1dHRvbj48L2F4LWNsb3NlLWJ1dHRvbj5cclxuICAgICAgICA8L2F4LWhlYWRlcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW50ZXJmYWNlID09PSAnY2FsZW5kYXInOyB0aGVuIGNhbGVuZGFyVGVtcGxhdGU7IGVsc2UgcGlja2VyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2NhbGVuZGFyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxheC1jYWxlbmRhciAjY2FsZW5kYXIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgWyh2YWx1ZSldPVwidmFsdWVcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIiBbaG9saWRheURhdGVzXT1cImhvbGlkYXlEYXRlc1wiIFtkZXB0aF09XCJkZXB0aFwiXHJcbiAgICAgICAgICAgICAgICAob25OYXZpZ2F0ZSk9XCJfaGFuZGxlT25OYXZpZ2F0ZSgkZXZlbnQpXCIgW3R5cGVdPVwidHlwZVwiPlxyXG4gICAgICAgICAgICA8L2F4LWNhbGVuZGFyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvYXgtcG9wb3Zlcj4iXX0=
|
|
@@ -1,89 +1,58 @@
|
|
|
1
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
2
1
|
import { EventEmitter } from '@angular/core';
|
|
3
|
-
import { Subject, Subscription } from 'rxjs';
|
|
4
|
-
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
5
2
|
export function _TextboxComponenetMixin(Base) {
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
return class extends Base {
|
|
4
|
+
/**
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
constructor(...args) {
|
|
8
|
+
super(...args.slice(0, 2));
|
|
8
9
|
/**
|
|
9
|
-
|
|
10
|
+
* A string value that specifies the type of text box.
|
|
11
|
+
*/
|
|
12
|
+
this.type = 'text';
|
|
13
|
+
/**
|
|
14
|
+
* A string value that specifies the placeholder of text box.
|
|
15
|
+
*/
|
|
16
|
+
this.placeholder = '';
|
|
17
|
+
/**
|
|
18
|
+
* Fires each time the user press a key.
|
|
19
|
+
* @event
|
|
20
|
+
*/
|
|
21
|
+
this.onKeyDown = new EventEmitter();
|
|
22
|
+
/**
|
|
23
|
+
* Fires each time the user press a key.
|
|
24
|
+
* @event
|
|
25
|
+
*/
|
|
26
|
+
this.onKeyUp = new EventEmitter();
|
|
27
|
+
/**
|
|
28
|
+
* Fires each time the user press a key.
|
|
29
|
+
* @event
|
|
10
30
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* Fires each time the user press a key.
|
|
36
|
-
* @event
|
|
37
|
-
*/
|
|
38
|
-
this.onKeyPress = new EventEmitter();
|
|
39
|
-
}
|
|
40
|
-
_emitOnKeydownEvent(e) {
|
|
41
|
-
this.onKeyDown.emit({
|
|
42
|
-
component: this,
|
|
43
|
-
nativeEvent: e
|
|
44
|
-
});
|
|
45
|
-
this._setUserInteraction();
|
|
46
|
-
}
|
|
47
|
-
_emitOnKeyupEvent(e) {
|
|
48
|
-
this.onKeyUp.emit({
|
|
49
|
-
component: this,
|
|
50
|
-
nativeEvent: e
|
|
51
|
-
});
|
|
52
|
-
this._setUserInteraction();
|
|
53
|
-
}
|
|
54
|
-
_emitOnKeypressEvent(e) {
|
|
55
|
-
this.onKeyPress.emit({
|
|
56
|
-
component: this,
|
|
57
|
-
nativeEvent: e
|
|
58
|
-
});
|
|
59
|
-
this._setUserInteraction();
|
|
60
|
-
}
|
|
61
|
-
_handleModleChange(value) {
|
|
62
|
-
if (!this.debounceTime)
|
|
63
|
-
this._settleValue(value);
|
|
64
|
-
else {
|
|
65
|
-
__classPrivateFieldGet(this, _valueSubject, "f").next(value);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
_settleValue(value) {
|
|
69
|
-
this.value = value;
|
|
70
|
-
}
|
|
71
|
-
onInit() {
|
|
72
|
-
__classPrivateFieldSet(this, _valueSubscription, __classPrivateFieldGet(this, _valueSubject, "f")
|
|
73
|
-
.pipe(debounceTime(this.debounceTime))
|
|
74
|
-
.pipe(distinctUntilChanged())
|
|
75
|
-
.subscribe((v) => {
|
|
76
|
-
this._settleValue(v);
|
|
77
|
-
}), "f");
|
|
78
|
-
}
|
|
79
|
-
onDestroy() {
|
|
80
|
-
__classPrivateFieldGet(this, _valueSubscription, "f").unsubscribe();
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
_valueSubscription = new WeakMap(),
|
|
84
|
-
_valueSubject = new WeakMap(),
|
|
85
|
-
_a;
|
|
31
|
+
this.onKeyPress = new EventEmitter();
|
|
32
|
+
}
|
|
33
|
+
_emitOnKeydownEvent(e) {
|
|
34
|
+
this.onKeyDown.emit({
|
|
35
|
+
component: this,
|
|
36
|
+
nativeEvent: e
|
|
37
|
+
});
|
|
38
|
+
this._setUserInteraction();
|
|
39
|
+
}
|
|
40
|
+
_emitOnKeyupEvent(e) {
|
|
41
|
+
this.onKeyUp.emit({
|
|
42
|
+
component: this,
|
|
43
|
+
nativeEvent: e
|
|
44
|
+
});
|
|
45
|
+
this._setUserInteraction();
|
|
46
|
+
}
|
|
47
|
+
_emitOnKeypressEvent(e) {
|
|
48
|
+
this.onKeyPress.emit({
|
|
49
|
+
component: this,
|
|
50
|
+
nativeEvent: e
|
|
51
|
+
});
|
|
52
|
+
this._setUserInteraction();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
86
55
|
}
|
|
87
|
-
export const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', '
|
|
56
|
+
export const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly', 'value', 'name'];
|
|
88
57
|
export const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged'];
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21peGluL3NyYy90ZXh0Ym94LW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLN0MsTUFBTSxVQUFVLHVCQUF1QixDQUE2QyxJQUFXO0lBQzNGLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFpRXJCOztVQUVFO1FBQ0YsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQW5FOUI7O2FBRUM7WUFDRCxTQUFJLEdBQUcsTUFBTSxDQUFBO1lBRWI7O2NBRUU7WUFDRixnQkFBVyxHQUFXLEVBQUUsQ0FBQztZQVl6Qjs7O2NBR0U7WUFDRixjQUFTLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO1lBRXJHOzs7WUFHQTtZQUNBLFlBQU8sR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7WUFFbkc7OztjQUdFO1lBQ0YsZUFBVSxHQUE2QyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQWdDdEcsQ0FBQztRQTdCRCxtQkFBbUIsQ0FBQyxDQUFnQjtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FBQyxDQUFDO1lBQ0YsSUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUVELGlCQUFpQixDQUFDLENBQWdCO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQUMsQ0FBQztZQUNGLElBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFFRCxvQkFBb0IsQ0FBQyxDQUFnQjtZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FBQyxDQUFDO1lBQ0YsSUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsQ0FBQztLQVFKLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUMsT0FBTyxFQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQzFILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYSHRtbEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1RleHRib3hDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgKiAgQSBzdHJpbmcgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgdGV4dCBib3guXHJcbiAgICAgICAqL1xyXG4gICAgICAgIHR5cGUgPSAndGV4dCdcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgQSBzdHJpbmcgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHBsYWNlaG9sZGVyIG9mIHRleHQgYm94LlxyXG4gICAgICAgICovXHJcbiAgICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBBIG51bWJlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgbWF4aW11bSBjaGFyYWN0ZXJzIG9mIHRleHQgYm94LlxyXG4gICAgICAgICovXHJcbiAgICAgICAgbWF4TGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIFNwZWNpZmllcyB0aGF0IGF1dG9jb21wbGV0ZSBpcyBvbiBvciBvZmYuXHJcbiAgICAgICAgKi9cclxuICAgICAgICBhdXRvQ29tcGxldGU6IHN0cmluZztcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxyXG4gICAgICAgICogIEBldmVudFxyXG4gICAgICAgICovXHJcbiAgICAgICAgb25LZXlEb3duOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pj4oKTtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cclxuICAgICAgKiAgQGV2ZW50XHJcbiAgICAgICovXHJcbiAgICAgICAgb25LZXlVcDogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cclxuICAgICAgICAqICBAZXZlbnRcclxuICAgICAgICAqL1xyXG4gICAgICAgIG9uS2V5UHJlc3M6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PigpO1xyXG5cclxuXHJcbiAgICAgICAgX2VtaXRPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMub25LZXlEb3duLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3NldFVzZXJJbnRlcmFjdGlvbigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX2VtaXRPbktleXVwRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uS2V5VXAuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgKHRoaXMgYXMgYW55KS5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIF9lbWl0T25LZXlwcmVzc0V2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbktleVByZXNzLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3NldFVzZXJJbnRlcmFjdGlvbigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgQGlnbm9yZVxyXG4gICAgICAgICovXHJcbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgc3VwZXIoLi4uYXJncy5zbGljZSgwLCAyKSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBURVhUQk9YX0lOUFVUUyA9IFsncGxhY2Vob2xkZXInLCAnbWF4TGVuZ3RoJywgJ2FsbG93TnVsbCcsICd0eXBlJywgJ2F1dG9Db21wbGV0ZScsICdyZWFkb25seScsJ3ZhbHVlJywnbmFtZSddXHJcbmV4cG9ydCBjb25zdCBURVhUQk9YX09VVFBVVCA9IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXSJdfQ==
|
|
@@ -209,7 +209,7 @@ export class AXNumberBoxComponent extends AXBaseTextBoxMixin {
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
AXNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXNumberBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
-
AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull",
|
|
212
|
+
AXNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", name: "name", checked: "checked", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-editor-container ax-number-box" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" type=\"text\" \r\n [attr.placeholder]=\"placeholder\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\" \r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" \r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [(ngModel)]=\"value\" \r\n \r\n (keydown)=\"_handleOnKeydownEvent($event)\" \r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\"\r\n >\r\n\r\n<div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax-rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax--rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i4.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
213
213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
|
|
214
214
|
type: Component,
|
|
215
215
|
args: [{ selector: 'ax-number-box', inputs: [
|
|
@@ -221,7 +221,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
221
221
|
'placeholder',
|
|
222
222
|
'maxLength',
|
|
223
223
|
'allowNull',
|
|
224
|
-
'debounceTime',
|
|
225
224
|
'type',
|
|
226
225
|
'autoComplete',
|
|
227
226
|
'readonly',
|
|
@@ -234,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
234
233
|
'onValueChanged',
|
|
235
234
|
'onBlur',
|
|
236
235
|
'onFocus'
|
|
237
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-number-box' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" type=\"text\" \r\n [attr.placeholder]=\"placeholder\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\" \r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" \r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [ngModel]=\"value\"
|
|
236
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-number-box' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" type=\"text\" \r\n [attr.placeholder]=\"placeholder\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [imask]=\"_maskObj\" \r\n [unmask]=\"'typed'\"\r\n [attr.min]=\"minValue\"\r\n [attr.max]=\"maxValue\" \r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\"\r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [(ngModel)]=\"value\" \r\n \r\n (keydown)=\"_handleOnKeydownEvent($event)\" \r\n (keyup)=\"_emitOnKeyupEvent($event)\"\r\n (keypress)=\"_emitOnKeypressEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\"\r\n >\r\n\r\n<div class=\"ax-number-box-arrows\" *ngIf=\"showSpinButtons && !(disabled || readonly)\">\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax-rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleUpDownClick($event,-1)\" [tabIndex]=\"-1\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic-arrow-fill ax--rotate-90\">\r\n </ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n</div>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>" }]
|
|
238
237
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
|
|
239
238
|
type: ViewChild,
|
|
240
239
|
args: ['input']
|
|
@@ -258,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
258
257
|
type: ViewChild,
|
|
259
258
|
args: [IMaskDirective]
|
|
260
259
|
}] } });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94L3NyYy9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFbEM7Ozs7R0FJRztBQWdDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBd0cxRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekYxRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFlMUM7O1dBRUc7UUFFSCxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRVQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQWU5Qjs7V0FFRztRQUVILGdCQUFXLEdBQW9CLE1BQU0sQ0FBQztRQUV0Qzs7V0FFRztRQUVILG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXhCLGNBQVMsR0FBVyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFlNUMsY0FBUyxHQUFX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QUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJTWFzayBmcm9tICdpbWFzayc7XHJcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhCYXNlVGV4dEJveE1peGluLFxyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3NpemUnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ2RlYm91bmNlVGltZScsXHJcbiAgICAndHlwZScsXHJcbiAgICAnYXV0b0NvbXBsZXRlJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICdvbkJsdXInLFxyXG4gICAgJ29uRm9jdXMnXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LW51bWJlci1ib3gnIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRCb3hNaXhpbiB7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgcHJpdmF0ZSBfdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90aG91c2FuZHNTZXBhcmF0b3I7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdGhvdXNhbmRzU2VwYXJhdG9yKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ3Rob3VzYW5kc1NlcGFyYXRvcicsXHJcbiAgICAgIHZhbHVlOiB2ID8/ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wYWREZWNpbWFsWmVyb3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHBhZERlY2ltYWxaZXJvcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWREZWNpbWFsWmVyb3M7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGFkRGVjaW1hbFplcm9zKHY6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxyXG4gICAgICB2YWx1ZTogdixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzdGVwOiBudW1iZXIgPSAxO1xyXG5cclxuICBwcml2YXRlIF9kZWNpbWFsczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbHMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgZGVjaW1hbHMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWNpbWFscztcclxuICB9XHJcbiAgcHVibGljIHNldCBkZWNpbWFscyh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdkZWNpbWFscycsXHJcbiAgICAgIHZhbHVlOiB2ID8/IDAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkRlY2lhbWwqKiBwYXJ0IG9mIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcclxuXHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTcGluQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX21pblZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBzbWFsbGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1pblZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWluVmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWluVmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21heFZhbHVlOiBudW1iZXIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSBncmVhdGVzdCB2YWx1ZSB0aGF0IGlzIHZhbGlkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4VmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnbWF4VmFsdWUnLFxyXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgX21hc2tPYmo6IElNYXNrLk1hc2tlZE51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcclxuICBwcml2YXRlIF9tYXNrRGlyZWN0aXZlOiBJTWFza0RpcmVjdGl2ZTxJTWFzay5NYXNrZWROdW1iZXI+O1xyXG5cclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIG9uVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XHJcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XHJcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNYXNrKCkge1xyXG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XHJcbiAgICAgIHRoaXMuX21hc2tPYmogPSBJTWFzay5jcmVhdGVNYXNrKHtcclxuICAgICAgICBtYXNrOiBOdW1iZXIsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pblZhbHVlLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcclxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yIHx8ICcnLFxyXG4gICAgICAgIHNjYWxlOiB0aGlzLmRlY2ltYWxzLFxyXG4gICAgICAgIHJhZGl4OiAnLicsXHJcbiAgICAgICAgcGFkRnJhY3Rpb25hbFplcm9zOiB0aGlzLmRlY2ltYWxzID4gMCAmJiB0aGlzLnBhZERlY2ltYWxaZXJvcyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xyXG4gICAgICAgIG1pbjogdGhpcy5taW5WYWx1ZSxcclxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXHJcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcclxuICAgICAgICBzY2FsZTogdGhpcy5kZWNpbWFscyxcclxuICAgICAgICByYWRpeDogJy4nLFxyXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcclxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH07XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xyXG4gICAgY29uc3QgZGVjaW1hbFBvaW50SW5kZXggPSB2YWxTdHIuaW5kZXhPZignLicpO1xyXG4gICAgY29uc3QgX2N1cnNvclBvcyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0ITtcclxuXHJcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRlY2ltYWxQb2ludEluZGV4ID4gMCAmJlxyXG4gICAgICAgIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJlxyXG4gICAgICAgIHRoaXMuZGVjaW1hbHMgPiAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuZGVjaW1hbFN0ZXBEb3duKCkgOiB0aGlzLmRlY2ltYWxTdGVwVXAoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLnN0ZXBEb3duKCkgOiB0aGlzLnN0ZXBVcCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShfY3Vyc29yUG9zLCBfY3Vyc29yUG9zKTtcclxuICAgICAgfSwgNSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5fZW1pdE9uS2V5ZG93bkV2ZW50KGUpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVVwRG93bkNsaWNrKGU6IEFYQ2xpY2tFdmVudCwgdjogLTEgfCAxKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSByZXR1cm47XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKCkgOiB0aGlzLnN0ZXBEb3duKCk7XHJcbiAgfVxyXG5cclxuICBfc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgdGhpcy5hbGxvd051bGwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ID0gdG9OdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcclxuICAgIGlmICh2ID4gdGhpcy5tYXhWYWx1ZSkgcmV0dXJuIHRoaXMubWF4VmFsdWU7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHN0ZXBVcCgpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlICs9IHRvTnVtYmVyKHRoaXMuc3RlcCk7XHJcbiAgfVxyXG5cclxuICBzdGVwRG93bigpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlIC09IHRvTnVtYmVyKHRoaXMuc3RlcCk7XHJcbiAgfVxyXG5cclxuICBkZWNpbWFsU3RlcFVwKCkge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgKz0gdG9OdW1iZXIoXHJcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nXHJcbiAgICAgICAgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpXHJcbiAgICAgICAgOiB0aGlzLmRlY2ltYWxTdGVwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVjaW1hbFN0ZXBEb3duKCkge1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgLT0gdG9OdW1iZXIoXHJcbiAgICAgIHRoaXMuZGVjaW1hbFN0ZXAgPT0gJ2F1dG8nXHJcbiAgICAgICAgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpXHJcbiAgICAgICAgOiB0aGlzLmRlY2ltYWxTdGVwXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48aW5wdXQgI2lucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiB0eXBlPVwidGV4dFwiICBcclxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgXHJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlXCJcclxuICAgIFtpbWFza109XCJfbWFza09ialwiIFxyXG4gICAgW3VubWFza109XCIndHlwZWQnXCJcclxuICAgIFthdHRyLm1pbl09XCJtaW5WYWx1ZVwiXHJcbiAgICBbYXR0ci5tYXhdPVwibWF4VmFsdWVcIiBcclxuICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxyXG4gICAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgXHJcbiAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIiBcclxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZU1vZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIiBcclxuICAgIChrZXl1cCk9XCJfZW1pdE9uS2V5dXBFdmVudCgkZXZlbnQpXCJcclxuICAgIChrZXlwcmVzcyk9XCJfZW1pdE9uS2V5cHJlc3NFdmVudCgkZXZlbnQpXCJcclxuICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcclxuICAgIChibHVyKT1cIl9lbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcblxyXG48ZGl2IGNsYXNzPVwiYXgtbnVtYmVyLWJveC1hcnJvd3NcIiAqbmdJZj1cInNob3dTcGluQnV0dG9ucyAmJiAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxyXG4gICAgPGF4LWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKCRldmVudCwxKVwiIFt0YWJJbmRleF09XCItMVwiPlxyXG4gICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWMtYXJyb3ctZmlsbCBheC1yb3RhdGUtOTBcIj5cclxuICAgICAgICAgICAgPC9heC1pY29uPlxyXG4gICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICA8YXgtYnV0dG9uIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soJGV2ZW50LC0xKVwiIFt0YWJJbmRleF09XCItMVwiPlxyXG4gICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWMtYXJyb3ctZmlsbCBheC0tcm90YXRlLTkwXCI+XHJcbiAgICAgICAgICAgIDwvYXgtaWNvbj5cclxuICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgIDwvYXgtYnV0dG9uPlxyXG48L2Rpdj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+XHJcbjwvbmctY29udGVudD4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94L3NyYy9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFbEM7Ozs7R0FJRztBQStCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBd0cxRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekYxRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFlMUM7O1dBRUc7UUFFSCxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRVQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQWU5Qjs7V0FFRztRQUVILGdCQUFXLEdBQW9CLE1BQU0sQ0FBQztRQUV0Qzs7V0FFRztRQUVILG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXhCLGNBQVMsR0FBVyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFlNUMsY0FBUyxHQUFXLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQTRCcEQsQ0FBQztJQXpHRDs7T0FFRztJQUNILElBQ1csa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFXLGtCQUFrQixDQUFDLENBQVM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNkLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdEOztPQUVHO0lBQ0gsSUFDVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFXLGVBQWUsQ0FBQyxDQUFVO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVNEOztPQUVHO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBUztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWVEOztPQUVHO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBUztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtTQUN2RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFpQkQsVUFBVTtRQUNSLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWdDO1FBQy9DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7Z0JBQy9CLElBQUksRUFBRSxNQUFNO2dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRTtnQkFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNwQixLQUFLLEVBQUUsR0FBRztnQkFDVixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZTthQUM5RCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbEIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRTtnQkFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNwQixLQUFLLEVBQUUsR0FBRztnQkFDVixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZTthQUM5RCxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxDQUFnQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNsQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUEwQixDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxjQUFlLENBQUM7UUFFekMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUNoRCxJQUNFLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3JCLFVBQVUsR0FBRyxpQkFBaUI7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUNqQjtnQkFDQSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDdkU7aUJBQU07Z0JBQ0wsQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3pEO1lBQ0QsTUFBTSxFQUFFLENBQUM7WUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7UUFDRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQWUsRUFBRSxDQUFTO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUNwQixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU07WUFDeEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQ3BCLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTTtZQUN4QixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQ3JCLENBQUM7SUFDSixDQUFDOztpSEF0T1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsMDBCQXFHcEIsY0FBYyx1RUM1SjNCLDJnREF3Q2E7MkZEZUEsb0JBQW9CO2tCQTlCaEMsU0FBUzsrQkFDRSxlQUFlLFVBRWpCO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixXQUFXO3dCQUNYLE9BQU87d0JBQ1AsTUFBTTt3QkFDTixTQUFTO3FCQUNWLFdBQ1E7d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUztxQkFDVixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtpSUFHaEMsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQU9QLGtCQUFrQjtzQkFENUIsS0FBSztnQkFnQkssZUFBZTtzQkFEekIsS0FBSztnQkFlTixJQUFJO3NCQURILEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFlTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBaUJFLGNBQWM7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJTWFzayBmcm9tICdpbWFzayc7XHJcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyB0b051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhCYXNlVGV4dEJveE1peGluLFxyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBOdW1iZXJCb3ggaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbnVtYmVyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3NpemUnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3R5cGUnLFxyXG4gICAgJ2F1dG9Db21wbGV0ZScsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndmFsdWUnLFxyXG4gICAgJ25hbWUnLFxyXG4gICAgJ2NoZWNrZWQnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogW1xyXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcclxuICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAnb25CbHVyJyxcclxuICAgICdvbkZvY3VzJ1xyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1udW1iZXItYm94JyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhOdW1iZXJCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Qm94TWl4aW4ge1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcblxyXG4gIHByaXZhdGUgX3Rob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqICBBIGNoYXJhY3RlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgc2VwYXJhdG9yIGNoYXJhY3Rlci5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdGhvdXNhbmRzU2VwYXJhdG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGhvdXNhbmRzU2VwYXJhdG9yO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHRob3VzYW5kc1NlcGFyYXRvcih2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICd0aG91c2FuZHNTZXBhcmF0b3InLFxyXG4gICAgICB2YWx1ZTogdiA/PyAnJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGFkRGVjaW1hbFplcm9zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBwYWREZWNpbWFsWmVyb3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFkRGVjaW1hbFplcm9zO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBhZERlY2ltYWxaZXJvcyh2OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAncGFkRGVjaW1hbFplcm9zJyxcclxuICAgICAgdmFsdWU6IHYsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBTcGVjaWZpZXMgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IHRoZSAqKkludGVnZXIqKiBwYXJ0IG9mIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RlcDogbnVtYmVyID0gMTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVjaW1hbHM6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRlY2ltYWxzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGRlY2ltYWxzKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVjaW1hbHM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgZGVjaW1hbHModjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICBuYW1lOiAnZGVjaW1hbHMnLFxyXG4gICAgICB2YWx1ZTogdiA/PyAwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAgU3BlY2lmaWVzIHRoZSB2YWx1ZSB0aGF0IGlzIHVzZWQgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCB0aGUgKipEZWNpYW1sKiogcGFydCBvZiBudW1iZXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGRlY2ltYWxTdGVwOiBudW1iZXIgfCAnYXV0bycgPSAnYXV0byc7XHJcblxyXG4gIC8qKlxyXG4gICAqICBTcGVjaWZpZXMgd2hldGhlciB0aGUgVXAgYW5kIERvd24gc3BpbiBidXR0b25zIHdpbGwgYmUgcmVuZGVyZWQgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzaG93U3BpbkJ1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9taW5WYWx1ZTogbnVtYmVyID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pblZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ21pblZhbHVlJyxcclxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9tYXhWYWx1ZTogbnVtYmVyID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcbiAgLyoqXHJcbiAgICogIFNwZWNpZmllcyB0aGUgZ3JlYXRlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ21heFZhbHVlJyxcclxuICAgICAgdmFsdWU6IHYgIT0gbnVsbCA/IE51bWJlcih2KSA6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIF9tYXNrT2JqOiBJTWFzay5NYXNrZWROdW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUpXHJcbiAgcHJpdmF0ZSBfbWFza0RpcmVjdGl2ZTogSU1hc2tEaXJlY3RpdmU8SU1hc2suTWFza2VkTnVtYmVyPjtcclxuXHJcbiAgLyoqXHJcbiAgICogIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvblZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25WaWV3SW5pdCgpO1xyXG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xyXG4gICAgc3VwZXIuX29uT3B0aW9uQ2hhbmdlZChvcHRpb24pO1xyXG4gICAgdGhpcy5fdXBkYXRlTWFzaygpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlTWFzaygpIHtcclxuICAgIGlmICghdGhpcy5fbWFza09iaikge1xyXG4gICAgICB0aGlzLl9tYXNrT2JqID0gSU1hc2suY3JlYXRlTWFzayh7XHJcbiAgICAgICAgbWFzazogTnVtYmVyLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW5WYWx1ZSxcclxuICAgICAgICBtYXg6IHRoaXMubWF4VmFsdWUsXHJcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcclxuICAgICAgICBzY2FsZTogdGhpcy5kZWNpbWFscyxcclxuICAgICAgICByYWRpeDogJy4nLFxyXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fbWFza09iai51cGRhdGVPcHRpb25zKHtcclxuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heFZhbHVlLFxyXG4gICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgfHwgJycsXHJcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXHJcbiAgICAgICAgcmFkaXg6ICcuJyxcclxuICAgICAgICBwYWRGcmFjdGlvbmFsWmVyb3M6IHRoaXMuZGVjaW1hbHMgPiAwICYmIHRoaXMucGFkRGVjaW1hbFplcm9zLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZVZhbHVlKCk7XHJcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xyXG4gICAgY29uc3QgaWdub3JlID0gKCkgPT4ge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcclxuICAgIGNvbnN0IGRlY2ltYWxQb2ludEluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy4nKTtcclxuICAgIGNvbnN0IF9jdXJzb3JQb3MgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XHJcblxyXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBkZWNpbWFsUG9pbnRJbmRleCA+IDAgJiZcclxuICAgICAgICBfY3Vyc29yUG9zID4gZGVjaW1hbFBvaW50SW5kZXggJiZcclxuICAgICAgICB0aGlzLmRlY2ltYWxzID4gMFxyXG4gICAgICApIHtcclxuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLmRlY2ltYWxTdGVwRG93bigpIDogdGhpcy5kZWNpbWFsU3RlcFVwKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gdGhpcy5zdGVwRG93bigpIDogdGhpcy5zdGVwVXAoKTtcclxuICAgICAgfVxyXG4gICAgICBpZ25vcmUoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoX2N1cnNvclBvcywgX2N1cnNvclBvcyk7XHJcbiAgICAgIH0sIDUpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVVcERvd25DbGljayhlOiBBWENsaWNrRXZlbnQsIHY6IC0xIHwgMSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xyXG4gICAgdGhpcy5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICB2ID09IDEgPyB0aGlzLnN0ZXBVcCgpIDogdGhpcy5zdGVwRG93bigpO1xyXG4gIH1cclxuXHJcbiAgX3NldFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsICYmIHRoaXMuYWxsb3dOdWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdiA9IHRvTnVtYmVyKHZhbHVlKTtcclxuICAgIGlmICh2IDwgdGhpcy5taW5WYWx1ZSkgcmV0dXJuIHRoaXMubWluVmFsdWU7XHJcbiAgICBpZiAodiA+IHRoaXMubWF4VmFsdWUpIHJldHVybiB0aGlzLm1heFZhbHVlO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBzdGVwVXAoKSB7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSArPSB0b051bWJlcih0aGlzLnN0ZXApO1xyXG4gIH1cclxuXHJcbiAgc3RlcERvd24oKSB7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSAtPSB0b051bWJlcih0aGlzLnN0ZXApO1xyXG4gIH1cclxuXHJcbiAgZGVjaW1hbFN0ZXBVcCgpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlICs9IHRvTnVtYmVyKFxyXG4gICAgICB0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJ1xyXG4gICAgICAgID8gMSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxzKVxyXG4gICAgICAgIDogdGhpcy5kZWNpbWFsU3RlcFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlY2ltYWxTdGVwRG93bigpIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gTWF0aC5tYXgodGhpcy5taW5WYWx1ZSwgMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlIC09IHRvTnVtYmVyKFxyXG4gICAgICB0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJ1xyXG4gICAgICAgID8gMSAvIE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxzKVxyXG4gICAgICAgIDogdGhpcy5kZWNpbWFsU3RlcFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPGlucHV0ICNpbnB1dCBjbGFzcz1cImF4LWlucHV0XCIgdHlwZT1cInRleHRcIiAgXHJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFxyXG4gICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXHJcbiAgICBbaW1hc2tdPVwiX21hc2tPYmpcIiBcclxuICAgIFt1bm1hc2tdPVwiJ3R5cGVkJ1wiXHJcbiAgICBbYXR0ci5taW5dPVwibWluVmFsdWVcIlxyXG4gICAgW2F0dHIubWF4XT1cIm1heFZhbHVlXCIgXHJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFxyXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCIgXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCIgXHJcbiAgICBcclxuICAgIChrZXlkb3duKT1cIl9oYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCIgXHJcbiAgICAoa2V5dXApPVwiX2VtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoa2V5cHJlc3MpPVwiX2VtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoZm9jdXMpPVwiX2VtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAoYmx1cik9XCJfZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxyXG4gICAgPlxyXG5cclxuPGRpdiBjbGFzcz1cImF4LW51bWJlci1ib3gtYXJyb3dzXCIgKm5nSWY9XCJzaG93U3BpbkJ1dHRvbnMgJiYgIShkaXNhYmxlZCB8fCByZWFkb25seSlcIj5cclxuICAgIDxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVVcERvd25DbGljaygkZXZlbnQsMSlcIiBbdGFiSW5kZXhdPVwiLTFcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljLWFycm93LWZpbGwgYXgtcm90YXRlLTkwXCI+XHJcbiAgICAgICAgICAgIDwvYXgtaWNvbj5cclxuICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgPGF4LWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKCRldmVudCwtMSlcIiBbdGFiSW5kZXhdPVwiLTFcIj5cclxuICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljLWFycm93LWZpbGwgYXgtLXJvdGF0ZS05MFwiPlxyXG4gICAgICAgICAgICA8L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuPC9kaXY+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxyXG48L25nLWNvbnRlbnQ+Il19
|