@taiga-ui/kit 4.66.0 → 4.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/input-date-time/input-date-time.directive.d.ts +1 -0
- package/components/input-range/input-range.component.d.ts +1 -0
- package/components/input-time/input-time.directive.d.ts +1 -0
- package/components/tabs/tabs-with-more.component.d.ts +3 -3
- package/directives/fade/fade.directive.d.ts +1 -2
- package/esm2022/components/input-chip/input-chip.component.mjs +6 -4
- package/esm2022/components/input-chip/input-chip.directive.mjs +7 -3
- package/esm2022/components/input-date-time/input-date-time.directive.mjs +18 -2
- package/esm2022/components/input-range/input-range.component.mjs +7 -3
- package/esm2022/components/input-time/input-time.directive.mjs +19 -2
- package/esm2022/components/preview/zoom/preview-zoom.component.mjs +3 -3
- package/esm2022/components/tabs/tabs-with-more.component.mjs +8 -8
- package/esm2022/directives/fade/fade.directive.mjs +12 -7
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +11 -5
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +17 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +6 -2
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +18 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fade.mjs +11 -6
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/package.json +21 -21
|
@@ -29,6 +29,7 @@ export declare class TuiInputDateTimeDirective extends TuiInputDateBase<readonly
|
|
|
29
29
|
protected processCalendar(calendar: TuiCalendar): void;
|
|
30
30
|
protected onValueChange(value: string): void;
|
|
31
31
|
protected stringify(value: readonly [TuiDay, TuiTime | null] | null): string;
|
|
32
|
+
protected onBlur(valueWithAffixes: string): void;
|
|
32
33
|
private clampTime;
|
|
33
34
|
private computeMask;
|
|
34
35
|
private toNativeDate;
|
|
@@ -58,6 +58,7 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
|
|
|
58
58
|
number
|
|
59
59
|
]): void;
|
|
60
60
|
protected focusToTextfield(): void;
|
|
61
|
+
protected onBlur(): void;
|
|
61
62
|
protected onActiveThumbChange(activeThumb: 'left' | 'right'): void;
|
|
62
63
|
protected setTextfieldValues([start, end]: readonly [
|
|
63
64
|
number,
|
|
@@ -28,6 +28,7 @@ export declare class TuiInputTimeDirective extends TuiControl<TuiTime | null> im
|
|
|
28
28
|
writeValue(value: TuiTime | null): void;
|
|
29
29
|
protected onInput(valueWithAffixes: string): void;
|
|
30
30
|
protected toggle(): void;
|
|
31
|
+
protected onBlur(valueWithAffixes: string): void;
|
|
31
32
|
private computeMask;
|
|
32
33
|
private findNearestTime;
|
|
33
34
|
private stringify;
|
|
@@ -14,16 +14,18 @@ export declare class TuiTabsWithMore implements AfterViewChecked, AfterViewInit
|
|
|
14
14
|
private maxIndex;
|
|
15
15
|
protected readonly items: QueryList<TemplateRef<Record<string, unknown>>>;
|
|
16
16
|
protected readonly moreWord$: import("rxjs").Observable<string>;
|
|
17
|
-
protected open: boolean;
|
|
18
17
|
size: TuiSizeL;
|
|
19
18
|
moreContent: PolymorpheusContent;
|
|
20
19
|
dropdownContent: PolymorpheusContent<TuiContext<TuiActiveZone>>;
|
|
21
20
|
underline: string | boolean;
|
|
22
21
|
itemsLimit: number;
|
|
23
22
|
readonly activeItemIndexChange: EventEmitter<number>;
|
|
23
|
+
open: boolean;
|
|
24
24
|
activeItemIndex: number;
|
|
25
25
|
set itemIndex(activeItemIndex: number);
|
|
26
26
|
get lastVisibleIndex(): number;
|
|
27
|
+
isOverflown(index: number): boolean;
|
|
28
|
+
shouldShow(index: number): boolean;
|
|
27
29
|
ngAfterViewInit(): void;
|
|
28
30
|
ngAfterViewChecked(): void;
|
|
29
31
|
protected get tabs(): readonly HTMLElement[];
|
|
@@ -37,8 +39,6 @@ export declare class TuiTabsWithMore implements AfterViewChecked, AfterViewInit
|
|
|
37
39
|
protected onArrowRight(event: Event): void;
|
|
38
40
|
protected onArrowLeft(): void;
|
|
39
41
|
protected onWrapperArrow(event: Event, wrapper: HTMLElement, previous: boolean): void;
|
|
40
|
-
protected isOverflown(index: number): boolean;
|
|
41
|
-
protected shouldShow(index: number): boolean;
|
|
42
42
|
private get margin();
|
|
43
43
|
private focusMore;
|
|
44
44
|
private getMaxIndex;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type TuiOrientation } from '@taiga-ui/core/types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@taiga-ui/cdk/directives/transitioned";
|
|
4
3
|
export declare class TuiFade {
|
|
5
4
|
lineHeight: string | null;
|
|
6
5
|
size: string;
|
|
@@ -9,5 +8,5 @@ export declare class TuiFade {
|
|
|
9
8
|
constructor();
|
|
10
9
|
private isEnd;
|
|
11
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiFade, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFade, "[tuiFade]", never, { "lineHeight": { "alias": "tuiFadeHeight"; "required": false; }; "size": { "alias": "tuiFadeSize"; "required": false; }; "offset": { "alias": "tuiFadeOffset"; "required": false; }; "orientation": { "alias": "tuiFade"; "required": false; }; }, {}, never, never, true,
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFade, "[tuiFade]", never, { "lineHeight": { "alias": "tuiFadeHeight"; "required": false; }; "size": { "alias": "tuiFadeSize"; "required": false; }; "offset": { "alias": "tuiFadeOffset"; "required": false; }; "orientation": { "alias": "tuiFade"; "required": false; }; }, {}, never, never, true, never>;
|
|
13
12
|
}
|
|
@@ -38,7 +38,9 @@ class TuiInputChipComponent {
|
|
|
38
38
|
return this.context.$implicit.index;
|
|
39
39
|
}
|
|
40
40
|
delete() {
|
|
41
|
-
this.textfield.cva?.
|
|
41
|
+
if (this.textfield.cva?.interactive) {
|
|
42
|
+
this.textfield.cva?.onChange(this.value().filter((_, i) => i !== this.index));
|
|
43
|
+
}
|
|
42
44
|
if (!this.mobile) {
|
|
43
45
|
this.textfield.input?.nativeElement.focus({ preventScroll: true });
|
|
44
46
|
}
|
|
@@ -69,7 +71,7 @@ class TuiInputChipComponent {
|
|
|
69
71
|
setTimeout(() => this.input?.nativeElement.focus());
|
|
70
72
|
}
|
|
71
73
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: "editable" }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: "editable" }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem;pointer-events:auto}:host[data-state=disabled],:host-context(tui-textfield[data-state=\"disabled\"]) :host{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
75
|
}
|
|
74
76
|
export { TuiInputChipComponent };
|
|
75
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipComponent, decorators: [{
|
|
@@ -91,11 +93,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
91
93
|
'(keydown.backspace.prevent)': 'delete()',
|
|
92
94
|
'(keydown.enter.prevent)': 'edit()',
|
|
93
95
|
'(dblclick)': 'edit()',
|
|
94
|
-
}, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"] }]
|
|
96
|
+
}, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem;pointer-events:auto}:host[data-state=disabled],:host-context(tui-textfield[data-state=\"disabled\"]) :host{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"] }]
|
|
95
97
|
}], propDecorators: { input: [{
|
|
96
98
|
type: ViewChild,
|
|
97
99
|
args: [TuiChip, { read: ElementRef }]
|
|
98
100
|
}], editable: [{
|
|
99
101
|
type: Input
|
|
100
102
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY2hpcC9pbnB1dC1jaGlwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUV4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakYsT0FBTyxFQUNILGtCQUFrQixHQUVyQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxP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Q1gsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7cUJBQ2xCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLE9BQU8sQ0FBQyxRQUNuQjt3QkFDRixPQUFPLEVBQUUsRUFBRTt3QkFDWCxLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixlQUFlLEVBQUUsV0FBVzt3QkFDNUIsaUJBQWlCLEVBQUUsd0JBQXdCO3dCQUMzQyxTQUFTLEVBQUUsdUNBQXVDO3dCQUNsRCw2QkFBNkIsRUFBRSxVQUFVO3dCQUN6Qyx5QkFBeUIsRUFBRSxRQUFRO3dCQUNuQyxZQUFZLEVBQUUsUUFBUTtxQkFDekI7OEJBSWdCLEtBQUs7c0JBRHJCLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFnQy9CLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmcsIHR1aUlzU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICB0eXBlIFR1aVRleHRmaWVsZEl0ZW0sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpQXBwZWFyYW5jZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9hcHBlYXJhbmNlJztcbmltcG9ydCB7VHVpSGludERpcmVjdGl2ZSwgVHVpSGludE92ZXJmbG93fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgdHlwZSBUdWlJdGVtc0hhbmRsZXJzLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ2hpcH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuaW1wb3J0IHtUdWlGYWRlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvZmFkZSc7XG5pbXBvcnQge3R1aUluamVjdFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcbmltcG9ydCB7aW5qZWN0Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2hpcCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdJZixcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlDaGlwLFxuICAgICAgICBUdWlGYWRlLFxuICAgICAgICBUdWlIaW50T3ZlcmZsb3csXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2hpcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jaGlwLnN0eWxlcy5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlDaGlwXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUNoaXA6ICcnLFxuICAgICAgICBjbGFzczogJ3R1aS1pbnRlcmFjdGl2ZScsXG4gICAgICAgICdbY2xhc3MuX2VkaXRdJzogJ2VkaXRpbmcoKScsXG4gICAgICAgICdbYXR0ci50YWJJbmRleF0nOiAnZGlzYWJsZWQoKSA/IG51bGwgOiAtMScsXG4gICAgICAgICcoY2xpY2spJzogJ2VkaXRpbmcoKSAmJiAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCknLFxuICAgICAgICAnKGtleWRvd24uYmFja3NwYWNlLnByZXZlbnQpJzogJ2RlbGV0ZSgpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyLnByZXZlbnQpJzogJ2VkaXQoKScsXG4gICAgICAgICcoZGJsY2xpY2spJzogJ2VkaXQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDaGlwQ29tcG9uZW50PFQ+IHtcbiAgICBAVmlld0NoaWxkKFR1aUNoaXAsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdENvbnRleHQ8VHVpQ29udGV4dDxUdWlUZXh0ZmllbGRJdGVtPFQ+Pj4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlID0gdHVpSW5qZWN0VmFsdWU8cmVhZG9ubHkgVFtdPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsID0gc2lnbmFsKHRoaXMuY29udGV4dC4kaW1wbGljaXQuaXRlbSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50ID0gaW5qZWN0KFR1aUhpbnREaXJlY3RpdmUsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYW5kbGVyczogVHVpSXRlbXNIYW5kbGVyczxUPiA9IGluamVjdChUVUlfSVRFTVNfSEFORExFUlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZCA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUFwcGVhcmFuY2UsXG4gICAgICAgICd0dWlBcHBlYXJhbmNlU3RhdGUnLFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkodGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pdGVtKVxuICAgICAgICAgICAgICAgID8gJ2Rpc2FibGVkJ1xuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlDaGlwLFxuICAgICAgICAnc2l6ZScsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+ICh0aGlzLm9wdGlvbnMuc2l6ZSgpID09PSAnbCcgPyAncycgOiAneHMnKSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIHByb3RlY3RlZCBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC4kaW1wbGljaXQuaW5kZXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuY3ZhPy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuZmlsdGVyKChfLCBpKSA9PiBpICE9PSB0aGlzLmluZGV4KSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW50ZXJuYWwoKSkge1xuICAgICAgICAgICAgdGhpcy5kZWxldGUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh0aGlzLmludGVybmFsKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKS5tYXAoKGl0ZW0sIGluZGV4KSA9PlxuICAgICAgICAgICAgaW5kZXggPT09IHRoaXMuaW5kZXggPyB0aGlzLmludGVybmFsKCkgOiBpdGVtLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLmN2YT8ub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmVkaXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbnRlcm5hbC5zZXQodGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWRpdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuZWRpdGFibGUgfHxcbiAgICAgICAgICAgICF0aGlzLnRleHRmaWVsZC5jdmE/LmludGVyYWN0aXZlKCkgfHxcbiAgICAgICAgICAgICF0dWlJc1N0cmluZyh0aGlzLmludGVybmFsKCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lZGl0aW5nLnNldCh0cnVlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbn1cbiIsIjxpbnB1dFxuICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgIGVudGVya2V5aGludD1cImVudGVyXCJcbiAgICB0dWlDaGlwXG4gICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICBbZGlzYWJsZWRdPVwiIWVkaXRpbmcoKVwiXG4gICAgW25nTW9kZWxdPVwiaW50ZXJuYWwoKVwiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgKGJsdXIpPVwiY2FuY2VsKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cInNhdmUoKVwiXG4gICAgKGtleWRvd24uZXNjKT1cImNhbmNlbCgpXCJcbiAgICAoa2V5ZG93bi5zdG9wKT1cIigwKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiaW50ZXJuYWwuc2V0KCRldmVudClcIlxuLz5cbjxkaXZcbiAgICB0dWlGYWRlXG4gICAgdHVpRmFkZU9mZnNldD1cIjAuNXJlbVwiXG4gICAgY2xhc3M9XCJ0LXRleHRcIlxuICAgIFt0dWlIaW50T3ZlcmZsb3ddPVwiaGludD8uY29udGVudCgpID8gbnVsbCA6IGhhbmRsZXJzLnN0cmluZ2lmeSgpKGludGVybmFsKCkpXCJcbiAgICAobW91c2Vkb3duLnByZXZlbnQuem9uZWxlc3MpPVwiKDApXCJcbj5cbiAgICB7eyBoYW5kbGVycy5zdHJpbmdpZnkoKShpbnRlcm5hbCgpKSB9fVxuPC9kaXY+XG48YnV0dG9uXG4gICAgKm5nSWY9XCJ0ZXh0ZmllbGQuY3ZhPy5pbnRlcmFjdGl2ZSgpICYmICFlZGl0aW5nKCkgJiYgIWRpc2FibGVkKClcIlxuICAgIHRhYkluZGV4PVwiLTFcIlxuICAgIHR1aUljb25CdXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAoY2xpY2suc3RvcCk9XCJkZWxldGUoKVwiXG4gICAgKHBvaW50ZXJkb3duLnByZXZlbnQuc3RvcC56b25lbGVzcyk9XCIoMClcIlxuPlxuICAgIFJlbW92ZVxuPC9idXR0b24+XG4iXX0=
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY2hpcC9pbnB1dC1jaGlwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUV4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakYsT0FBTyxFQUNILGtCQUFrQixHQUVyQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxP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a0JBM0JqQyxTQUFTO2lDQUNNLElBQUksWUFDTixnQkFBZ0IsV0FDakI7d0JBQ0wsV0FBVzt3QkFDWCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZUFBZTtxQkFDbEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsT0FBTyxDQUFDLFFBQ25CO3dCQUNGLE9BQU8sRUFBRSxFQUFFO3dCQUNYLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLGVBQWUsRUFBRSxXQUFXO3dCQUM1QixpQkFBaUIsRUFBRSx3QkFBd0I7d0JBQzNDLFNBQVMsRUFBRSx1Q0FBdUM7d0JBQ2xELDZCQUE2QixFQUFFLFVBQVU7d0JBQ3pDLHlCQUF5QixFQUFFLFFBQVE7d0JBQ25DLFlBQVksRUFBRSxRQUFRO3FCQUN6Qjs4QkFJZ0IsS0FBSztzQkFEckIsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQWdDL0IsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIHR5cGUgVHVpVGV4dGZpZWxkSXRlbSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtUdWlIaW50RGlyZWN0aXZlLCBUdWlIaW50T3ZlcmZsb3d9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1xuICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICB0eXBlIFR1aUl0ZW1zSGFuZGxlcnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlDaGlwfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hpcCc7XG5pbXBvcnQge1R1aUZhZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9mYWRlJztcbmltcG9ydCB7dHVpSW5qZWN0VmFsdWV9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jaGlwJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgIFR1aUZhZGUsXG4gICAgICAgIFR1aUhpbnRPdmVyZmxvdyxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jaGlwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNoaXAuc3R5bGVzLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUNoaXBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQ2hpcDogJycsXG4gICAgICAgIGNsYXNzOiAndHVpLWludGVyYWN0aXZlJyxcbiAgICAgICAgJ1tjbGFzcy5fZWRpdF0nOiAnZWRpdGluZygpJyxcbiAgICAgICAgJ1thdHRyLnRhYkluZGV4XSc6ICdkaXNhYmxlZCgpID8gbnVsbCA6IC0xJyxcbiAgICAgICAgJyhjbGljayknOiAnZWRpdGluZygpICYmICRldmVudC5zdG9wUHJvcGFnYXRpb24oKScsXG4gICAgICAgICcoa2V5ZG93bi5iYWNrc3BhY2UucHJldmVudCknOiAnZGVsZXRlKCknLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIucHJldmVudCknOiAnZWRpdCgpJyxcbiAgICAgICAgJyhkYmxjbGljayknOiAnZWRpdCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBDb21wb25lbnQ8VD4ge1xuICAgIEBWaWV3Q2hpbGQoVHVpQ2hpcCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0Q29udGV4dDxUdWlDb250ZXh0PFR1aVRleHRmaWVsZEl0ZW08VD4+PigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWUgPSB0dWlJbmplY3RWYWx1ZTxyZWFkb25seSBUW10+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWwgPSBzaWduYWwodGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pdGVtKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnQgPSBpbmplY3QoVHVpSGludERpcmVjdGl2ZSwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGRDb21wb25lbnQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpQXBwZWFyYW5jZSxcbiAgICAgICAgJ3R1aUFwcGVhcmFuY2VTdGF0ZScsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh0aGlzLmNvbnRleHQuJGltcGxpY2l0Lml0ZW0pXG4gICAgICAgICAgICAgICAgPyAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgICdzaXplJyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gKHRoaXMub3B0aW9ucy5zaXplKCkgPT09ICdsJyA/ICdzJyA6ICd4cycpKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgcHJvdGVjdGVkIGdldCBpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pbmRleDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50ZXh0ZmllbGQuY3ZhPy5pbnRlcmFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQuY3ZhPy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuZmlsdGVyKChfLCBpKSA9PiBpICE9PSB0aGlzLmluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pbnRlcm5hbCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKHRoaXMuaW50ZXJuYWwoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpLm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5pbmRleCA/IHRoaXMuaW50ZXJuYWwoKSA6IGl0ZW0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuY3ZhPy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuZWRpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmludGVybmFsLnNldCh0aGlzLmNvbnRleHQuJGltcGxpY2l0Lml0ZW0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlZGl0KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5lZGl0YWJsZSB8fFxuICAgICAgICAgICAgIXRoaXMudGV4dGZpZWxkLmN2YT8uaW50ZXJhY3RpdmUoKSB8fFxuICAgICAgICAgICAgIXR1aUlzU3RyaW5nKHRoaXMuaW50ZXJuYWwoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVkaXRpbmcuc2V0KHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgZW50ZXJrZXloaW50PVwiZW50ZXJcIlxuICAgIHR1aUNoaXBcbiAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgIFtkaXNhYmxlZF09XCIhZWRpdGluZygpXCJcbiAgICBbbmdNb2RlbF09XCJpbnRlcm5hbCgpXCJcbiAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAoYmx1cik9XCJjYW5jZWwoKVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZSgpXCJcbiAgICAoa2V5ZG93bi5lc2MpPVwiY2FuY2VsKClcIlxuICAgIChrZXlkb3duLnN0b3ApPVwiKDApXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJpbnRlcm5hbC5zZXQoJGV2ZW50KVwiXG4vPlxuPGRpdlxuICAgIHR1aUZhZGVcbiAgICB0dWlGYWRlT2Zmc2V0PVwiMC41cmVtXCJcbiAgICBjbGFzcz1cInQtdGV4dFwiXG4gICAgW3R1aUhpbnRPdmVyZmxvd109XCJoaW50Py5jb250ZW50KCkgPyBudWxsIDogaGFuZGxlcnMuc3RyaW5naWZ5KCkoaW50ZXJuYWwoKSlcIlxuICAgIChtb3VzZWRvd24ucHJldmVudC56b25lbGVzcyk9XCIoMClcIlxuPlxuICAgIHt7IGhhbmRsZXJzLnN0cmluZ2lmeSgpKGludGVybmFsKCkpIH19XG48L2Rpdj5cbjxidXR0b25cbiAgICAqbmdJZj1cInRleHRmaWVsZC5jdmE/LmludGVyYWN0aXZlKCkgJiYgIWVkaXRpbmcoKSAmJiAhZGlzYWJsZWQoKVwiXG4gICAgdGFiSW5kZXg9XCItMVwiXG4gICAgdHVpSWNvbkJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuY2xvc2VcIlxuICAgIChjbGljay5zdG9wKT1cImRlbGV0ZSgpXCJcbiAgICAocG9pbnRlcmRvd24ucHJldmVudC5zdG9wLnpvbmVsZXNzKT1cIigwKVwiXG4+XG4gICAgUmVtb3ZlXG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -42,7 +42,9 @@ class TuiInputChipBaseDirective extends TuiControl {
|
|
|
42
42
|
onEnter() {
|
|
43
43
|
const value = this.textfield.value().trim();
|
|
44
44
|
const items = this.separator ? value.split(this.separator) : [value];
|
|
45
|
-
const valid = items
|
|
45
|
+
const valid = items
|
|
46
|
+
.map(tuiSanitizeText)
|
|
47
|
+
.filter((item) => item && !this.handlers.disabledItemHandler()(item));
|
|
46
48
|
if (!value || !valid.length) {
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
@@ -62,7 +64,9 @@ class TuiInputChipBaseDirective extends TuiControl {
|
|
|
62
64
|
const value = 'dataTransfer' in event
|
|
63
65
|
? event.dataTransfer?.getData('text/plain') || ''
|
|
64
66
|
: tuiGetClipboardDataText(event);
|
|
65
|
-
this.textfield.
|
|
67
|
+
if (this.textfield.input?.nativeElement) {
|
|
68
|
+
this.textfield.input.nativeElement.value = value;
|
|
69
|
+
}
|
|
66
70
|
this.onEnter();
|
|
67
71
|
}
|
|
68
72
|
onBackspace(key) {
|
|
@@ -140,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
140
144
|
],
|
|
141
145
|
}]
|
|
142
146
|
}] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUM3QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsa0JBQWtCLEdBRXJCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCx1REFBdUQ7QUFDdkQsTUFZYSx5QkFDVCxTQUFRLFVBQWU7SUFiM0I7O1FBZ0JxQixZQUFPLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixhQUFRLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQy9DLFNBQUksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQXdCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNELFlBQU8sR0FBRyxtQkFBbUIsQ0FDNUMsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixJQUFJLENBQUMsV0FBVyxFQUNoQixFQUFFLENBQ0wsQ0FBQztRQUVpQixRQUFHLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQzthQUN6QyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUN6RCxrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFHQSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHbkMsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRXBCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBb0IsQ0FBQztLQXVFN0Q7SUFyRVUsUUFBUSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ3ZFLENBQUM7SUFDTixDQUFDO0lBRVMsT0FBTztRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDL0QsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3pCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFUyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbEI7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFUyxPQUFPLENBQUMsS0FBaUM7UUFDL0MsTUFBTSxLQUFLLEdBQ1AsY0FBYyxJQUFJLEtBQUs7WUFDbkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDakQsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLFdBQVcsQ0FBQyxHQUFXO1FBQzdCLHNFQUFzRTtRQUN0RSxJQUFJLEdBQUcsS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQ2pCLElBQUksYUFBYSxDQUFDLFNBQVMsRUFBRTtvQkFDekIsR0FBRyxFQUFFLFdBQVc7b0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2lCQUNoQixDQUFDLENBQ0wsQ0FBQzthQUNMO1NBQ0o7SUFDTCxDQUFDO0lBRVMsUUFBUTtRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRFLHVEQUF1RDtRQUN2RCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0I7Z0JBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2FBQy9CLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F4R1EseUJBQXlCO21HQUF6Qix5QkFBeUI7O1NBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQVpyQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLE9BQU87d0JBQ3JCLFlBQVksRUFBRSxZQUFZO3dCQUMxQix5QkFBeUIsRUFBRSxXQUFXO3dCQUN0QyxvQkFBb0IsRUFBRSx5QkFBeUI7d0JBQy9DLFNBQVMsRUFBRSxXQUFXO3dCQUN0QixpQkFBaUIsRUFBRSxpQkFBaUI7d0JBQ3BDLGdCQUFnQixFQUFFLGlCQUFpQjtxQkFDdEM7aUJBQ0o7OEJBOEJVLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7O0FBNEVWLE1BZ0JhLHFCQUF5QixTQUFRLHlCQUE0QjsrR0FBN0QscUJBQXFCO21HQUFyQixxQkFBcUIsa0VBYm5CO1lBQ1AsWUFBWSxDQUFDLHFCQUFxQixDQUFDO1lBQ25DLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUM1QixzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQztTQUNoRDs7U0FTUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFoQmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHVCQUF1Qjt3QkFDbkMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO3dCQUM1QixzQkFBc0IsdUJBQXVCO3FCQUNoRDtvQkFDRCxjQUFjLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQjs0QkFDSSxTQUFTLEVBQUUsZ0JBQWdCOzRCQUMzQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7eUJBQ3REO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldENsaXBib2FyZERhdGFUZXh0LCB0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmcsIHR1aVNhbml0aXplVGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICB0eXBlIFR1aVRleHRmaWVsZEFjY2Vzc29yLFxuICAgIFR1aVRleHRmaWVsZEJhc2UsXG4gICAgVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1xuICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICB0eXBlIFR1aUl0ZW1zSGFuZGxlcnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DSElQX09QVElPTlN9IGZyb20gJy4vaW5wdXQtY2hpcC5vcHRpb25zJztcblxuLy8gVE9ETyh2NSk6IHJlbW92ZSBiYXNlIGNvbXBvbmVudCBhZnRlciBhbmd1bGFyIHVwZGF0ZVxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGVudGVya2V5aGludDogJ2VudGVyJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICdvbkVudGVyKCknLFxuICAgICAgICAnKGtleWRvd24uem9uZWxlc3MpJzogJ29uQmFja3NwYWNlKCRldmVudC5rZXkpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25JbnB1dCgpJyxcbiAgICAgICAgJyhwYXN0ZS5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgICAgICAnKGRyb3AucHJldmVudCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBCYXNlRGlyZWN0aXZlPFQ+XG4gICAgZXh0ZW5kcyBUdWlDb250cm9sPFRbXT5cbiAgICBpbXBsZW1lbnRzIFR1aVRleHRmaWVsZEFjY2Vzc29yPFRbXT5cbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX0NISVBfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZE11bHRpQ29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYW5kbGVyczogVHVpSXRlbXNIYW5kbGVyczxUPiA9IGluamVjdChUVUlfSVRFTVNfSEFORExFUlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbmFibGVkID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpRHJvcGRvd25PcGVuLFxuICAgICAgICAndHVpRHJvcGRvd25FbmFibGVkJyxcbiAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSxcbiAgICAgICAge30sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBpbmplY3QoVHVpQWN0aXZlWm9uZSlcbiAgICAgICAgLnR1aUFjdGl2ZVpvbmVDaGFuZ2UucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYWN0aXZlKSA9PiAhYWN0aXZlICYmICF0aGlzLmVsLm1hdGNoZXMoJ3NlbGVjdCcpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyKCk7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlcGFyYXRvciA9IHRoaXMub3B0aW9ucy5zZXBhcmF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB1bmlxdWUgPSB0aGlzLm9wdGlvbnMudW5pcXVlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBUW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KCcnKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHRoaXMudW5pcXVlID8gQXJyYXkuZnJvbShuZXcgU2V0KHZhbHVlLnJldmVyc2UoKSkpLnJldmVyc2UoKSA6IHZhbHVlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkVudGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGV4dGZpZWxkLnZhbHVlKCkudHJpbSgpO1xuICAgICAgICBjb25zdCBpdGVtczogYW55W10gPSB0aGlzLnNlcGFyYXRvciA/IHZhbHVlLnNwbGl0KHRoaXMuc2VwYXJhdG9yKSA6IFt2YWx1ZV07XG4gICAgICAgIGNvbnN0IHZhbGlkID0gaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0gJiYgIXRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKGl0ZW0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdmFsdWUgfHwgIXZhbGlkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShbLi4udGhpcy52YWx1ZSgpLCAuLi52YWxpZF0pO1xuICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoISF0aGlzLmRyb3Bkb3duLmNvbnRlbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlcGFyYXRvciAmJiB0aGlzLnRleHRmaWVsZC52YWx1ZSgpLm1hdGNoKHRoaXMuc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQgfCBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgJ2RhdGFUcmFuc2ZlcicgaW4gZXZlbnRcbiAgICAgICAgICAgICAgICA/IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIHx8ICcnXG4gICAgICAgICAgICAgICAgOiB0dWlHZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHR1aVNhbml0aXplVGV4dCh2YWx1ZSkpO1xuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoa2V5ID09PSAnQmFja3NwYWNlJyAmJiAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJiB0aGlzLmludGVyYWN0aXZlKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vYmlsZSB8fCAhdGhpcy50ZXh0ZmllbGQuaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSgpLnNsaWNlKDAsIC0xKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgbmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBcnJvd0xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dENoaXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q2hpcERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbXSksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU5hdGl2ZVZhbGlkYXRvcixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlUZXh0ZmllbGRCYXNlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2ludmFsaWQnLCAnZm9jdXNlZCcsICdyZWFkT25seScsICdzdGF0ZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD4ge31cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUM3QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsa0JBQWtCLEdBRXJCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCx1REFBdUQ7QUFDdkQsTUFZYSx5QkFDVCxTQUFRLFVBQWU7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LHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLHNCQUFzQix1QkFBdUI7cUJBQ2hEO29CQUNELGNBQWMsRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQzt5QkFDdEQ7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Q2xpcGJvYXJkRGF0YVRleHQsIHR1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpU2FuaXRpemVUZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yLFxuICAgIHR5cGUgVHVpVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgVHVpVGV4dGZpZWxkQmFzZSxcbiAgICBUdWlUZXh0ZmllbGRNdWx0aUNvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7XG4gICAgVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgIHR5cGUgVHVpSXRlbXNIYW5kbGVycyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0NISVBfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1jaGlwLm9wdGlvbnMnO1xuXG4vLyBUT0RPKHY1KTogcmVtb3ZlIGJhc2UgY29tcG9uZW50IGFmdGVyIGFuZ3VsYXIgdXBkYXRlXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgZW50ZXJrZXloaW50OiAnZW50ZXInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyLnByZXZlbnQpJzogJ29uRW50ZXIoKScsXG4gICAgICAgICcoa2V5ZG93bi56b25lbGVzcyknOiAnb25CYWNrc3BhY2UoJGV2ZW50LmtleSknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbklucHV0KCknLFxuICAgICAgICAnKHBhc3RlLnByZXZlbnQpJzogJ29uUGFzdGUoJGV2ZW50KScsXG4gICAgICAgICcoZHJvcC5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0hJUF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZXBhcmF0b3IgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcikgOiBbdmFsdWVdO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkID0gaXRlbXNcbiAgICAgICAgICAgIC5tYXAodHVpU2FuaXRpemVUZXh0KVxuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSBhcyBUKSxcbiAgICAgICAgICAgICkgYXMgVFtdO1xuXG4gICAgICAgIGlmICghdmFsdWUgfHwgIXZhbGlkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShbLi4udGhpcy52YWx1ZSgpLCAuLi52YWxpZF0pO1xuICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoISF0aGlzLmRyb3Bkb3duLmNvbnRlbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlcGFyYXRvciAmJiB0aGlzLnRleHRmaWVsZC52YWx1ZSgpLm1hdGNoKHRoaXMuc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQgfCBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgJ2RhdGFUcmFuc2ZlcicgaW4gZXZlbnRcbiAgICAgICAgICAgICAgICA/IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIHx8ICcnXG4gICAgICAgICAgICAgICAgOiB0dWlHZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGV4dGZpZWxkLmlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoa2V5ID09PSAnQmFja3NwYWNlJyAmJiAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJiB0aGlzLmludGVyYWN0aXZlKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vYmlsZSB8fCAhdGhpcy50ZXh0ZmllbGQuaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSgpLnNsaWNlKDAsIC0xKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgbmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBcnJvd0xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dENoaXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q2hpcERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbXSksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU5hdGl2ZVZhbGlkYXRvcixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlUZXh0ZmllbGRCYXNlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2ludmFsaWQnLCAnZm9jdXNlZCcsICdyZWFkT25seScsICdzdGF0ZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD4ge31cbiJdfQ==
|
|
@@ -107,6 +107,19 @@ class TuiInputDateTimeDirective extends TuiInputDateBase {
|
|
|
107
107
|
? `${dateString}${this.options.dateTimeSeparator}${timeString}`
|
|
108
108
|
: dateString;
|
|
109
109
|
}
|
|
110
|
+
onBlur(valueWithAffixes) {
|
|
111
|
+
const [date = '', timeValue = ''] = valueWithAffixes.split(this.options.dateTimeSeparator);
|
|
112
|
+
if (timeValue && !this.value()) {
|
|
113
|
+
const time = TuiTime.fromString(timeValue);
|
|
114
|
+
const newValue = [
|
|
115
|
+
TuiDay.normalizeParse(date, this.format().mode),
|
|
116
|
+
time,
|
|
117
|
+
];
|
|
118
|
+
this.control?.control?.updateValueAndValidity({ emitEvent: false });
|
|
119
|
+
this.onChange(newValue);
|
|
120
|
+
this.textfield.value.set(this.stringify(newValue));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
110
123
|
clampTime([date, time]) {
|
|
111
124
|
const min = date.daySame(this.min())
|
|
112
125
|
? this.minTime().toAbsoluteMilliseconds()
|
|
@@ -139,7 +152,7 @@ class TuiInputDateTimeDirective extends TuiInputDateBase {
|
|
|
139
152
|
return new Date(year, month, day, hours, minutes, seconds, ms);
|
|
140
153
|
}
|
|
141
154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
142
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateTimeDirective, isStandalone: true, selector: "input[tuiInputDateTime]", inputs: { timeModeSetter: ["timeMode", "timeModeSetter"], minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, providers: [
|
|
155
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateTimeDirective, isStandalone: true, selector: "input[tuiInputDateTime]", inputs: { timeModeSetter: ["timeMode", "timeModeSetter"], minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "blur": "onBlur($event.target.value)" } }, providers: [
|
|
143
156
|
tuiAsOptionContent(TuiSelectOption),
|
|
144
157
|
tuiAsControl(TuiInputDateTimeDirective),
|
|
145
158
|
tuiAsTextfieldAccessor(TuiInputDateTimeDirective),
|
|
@@ -164,6 +177,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
164
177
|
TuiItemsHandlersValidator,
|
|
165
178
|
TuiWithTextfield,
|
|
166
179
|
],
|
|
180
|
+
host: {
|
|
181
|
+
'(blur)': 'onBlur($event.target.value)',
|
|
182
|
+
},
|
|
167
183
|
}]
|
|
168
184
|
}], propDecorators: { timeModeSetter: [{
|
|
169
185
|
type: Input,
|
|
@@ -175,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
175
191
|
type: Input,
|
|
176
192
|
args: ['max']
|
|
177
193
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFDSCwrQkFBK0IsRUFFL0IsNkJBQTZCLEdBRWhDLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixNQUFNLEVBQ04sT0FBTyxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsc0JBQXNCLEVBRXRCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixp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LEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzsrR0F0TFEseUJBQXlCO21HQUF6Qix5QkFBeUIsb01BYnZCO1lBQ1Asa0JBQWtCLENBQUMsZUFBZSxDQUFDO1lBQ25DLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztZQUN2QyxzQkFBc0IsQ0FBQyx5QkFBeUIsQ0FBQztZQUNqRCx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQztTQUN2RDs7U0FRUSx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFoQnJDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7d0JBQ25DLFlBQVksMkJBQTJCO3dCQUN2QyxzQkFBc0IsMkJBQTJCO3dCQUNqRCx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQztxQkFDdkQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDbkI7aUJBQ0o7OEJBK0NjLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsVUFBVTtnQkFNRyxTQUFTO3NCQUQ1QixLQUFLO3VCQUFDLEtBQUs7Z0JBV1EsU0FBUztzQkFENUIsS0FBSzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge3R5cGUgTWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yLFxuICAgIHR5cGUgTWFza2l0b0RhdGVUaW1lUGFyYW1zLFxuICAgIG1hc2tpdG9TZWxlY3Rpb25DaGFuZ2VIYW5kbGVyLFxuICAgIHR5cGUgTWFza2l0b1RpbWVNb2RlLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBEQVRFX0ZJTExFUl9MRU5HVEgsXG4gICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICBUdWlEYXksXG4gICAgVHVpVGltZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpU3VtfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7dHVpQXNPcHRpb25Db250ZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHlwZSBUdWlUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3duQXV0b30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9BREFQVEVSLFxuICAgIFR1aUlucHV0RGF0ZUJhc2UsXG4gICAgdHVpV2l0aERhdGVGaWxsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7VFVJX1RJTUVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge25vb3B9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX1RJTUVfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUub3B0aW9ucyc7XG5cbmNvbnN0IE1JTl9USU1FID0gbmV3IFR1aVRpbWUoMCwgMCk7XG5jb25zdCBNQVhfVElNRSA9IFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKE1JTExJU0VDT05EU19JTl9EQVkgLSAxKTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZVRpbWVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFR1aVNlbGVjdE9wdGlvbiksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfVElNRV9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICAgICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBUdWlJbnB1dERhdGVCYXNlPHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXT5cbiAgICBpbXBsZW1lbnRzIFR1aVRleHRmaWVsZEFjY2Vzc29yPHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXT5cbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpbWVGaWxsZXJzID0gdG9TaWduYWwoaW5qZWN0KFRVSV9USU1FX1RFWFRTKSk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfREFURV9USU1FX09QVElPTlMpO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGZpbGxlciA9IHR1aVdpdGhEYXRlRmlsbGVyKChkYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLnRpbWVGaWxsZXJzKCk/Llt0aGlzLnRpbWVNb2RlKCldID8/ICcnO1xuXG4gICAgICAgIHJldHVybiBgJHtkYXRlfSR7dGhpcy5vcHRpb25zLmRhdGVUaW1lU2VwYXJhdG9yfSR7dGltZX1gO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlRWZmZWN0ID0gZWZmZWN0KG5vb3ApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkZW50aXR5ID0gdGhpcy5oYW5kbGVycy5pZGVudGl0eU1hdGNoZXIuc2V0KFxuICAgICAgICAoYSwgYikgPT4gdHVpU3VtKC4uLmEubWFwKE51bWJlcikpID09PSB0dWlTdW0oLi4uYi5tYXAoTnVtYmVyKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZEl0ZW1IYW5kbGVyID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbiAgICAgICAgJ2Rpc2FibGVkSXRlbUhhbmRsZXInLFxuICAgICAgICAodmFsdWU6IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwpID0+XG4gICAgICAgICAgICBCb29sZWFuKHZhbHVlICYmIHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKHZhbHVlKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZU1hc2soe1xuICAgICAgICAgICAgICAgIGRhdGVNb2RlOiBUVUlfREFURV9BREFQVEVSW3RoaXMuZm9ybWF0KCkubW9kZV0sXG4gICAgICAgICAgICAgICAgdGltZU1vZGU6IHRoaXMudGltZU1vZGUoKSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMudG9OYXRpdmVEYXRlKFt0aGlzLm1pbigpLCB0aGlzLm1pblRpbWUoKV0pLFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy50b05hdGl2ZURhdGUoW3RoaXMubWF4KCksIHRoaXMubWF4VGltZSgpXSksXG4gICAgICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcjogdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgZGF0ZVRpbWVTZXBhcmF0b3I6IHRoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvcixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGltZU1vZGUgPSBzaWduYWwodGhpcy5vcHRpb25zLnRpbWVNb2RlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWluVGltZSA9IHNpZ25hbChNSU5fVElNRSk7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heFRpbWUgPSBzaWduYWwoTUFYX1RJTUUpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCd0aW1lTW9kZScpXG4gICAgcHVibGljIHNldCB0aW1lTW9kZVNldHRlcih4OiBNYXNraXRvVGltZU1vZGUpIHtcbiAgICAgICAgdGhpcy50aW1lTW9kZS5zZXQoeCk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXQgbWluU2V0dGVyKFxuICAgICAgICBtaW46IFR1aURheSB8IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IFtkYXRlLCB0aW1lXSA9IEFycmF5LmlzQXJyYXkobWluKSA/IG1pbiA6IFttaW4sIG51bGxdO1xuXG4gICAgICAgIHRoaXMubWluLnNldChkYXRlIHx8IHRoaXMub3B0aW9ucy5taW4pO1xuICAgICAgICB0aGlzLm1pblRpbWUuc2V0KHRpbWUgPz8gTUlOX1RJTUUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IG1heFNldHRlcihcbiAgICAgICAgbWF4OiBUdWlEYXkgfCByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsLFxuICAgICkge1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSBBcnJheS5pc0FycmF5KG1heCkgPyBtYXggOiBbbWF4LCBudWxsXTtcblxuICAgICAgICB0aGlzLm1heC5zZXQoZGF0ZSB8fCB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICAgICAgdGhpcy5tYXhUaW1lLnNldCh0aW1lID8/IE1BWF9USU1FKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXREYXRlKG5ld0RhdGU6IFR1aURheSk6IHZvaWQge1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB0aGlzLmNsYW1wVGltZShbbmV3RGF0ZSwgdGhpcy52YWx1ZSgpPy5bMV0gPz8gbnVsbF0pO1xuXG4gICAgICAgIHRoaXMuc2V0VmFsdWUoW2RhdGUsIHRpbWVdKTtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgICAoY2FyZXRJbmRleCA9IERBVEVfRklMTEVSX0xFTkdUSCArIHRoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvci5sZW5ndGgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShjYXJldEluZGV4LCBjYXJldEluZGV4KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXNldCA9IHRoaXMuY29udHJvbC5wcmlzdGluZSAmJiB0aGlzLmNvbnRyb2wudW50b3VjaGVkICYmICF2YWx1ZTtcbiAgICAgICAgY29uc3QgY2hhbmdlZCA9IHVudHJhY2tlZCgoKSA9PiB2YWx1ZSAhPT0gdGhpcy52YWx1ZSgpKTtcblxuICAgICAgICBpZiAoY2hhbmdlZCB8fCByZXNldCkge1xuICAgICAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBwcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXI6IFR1aUNhbGVuZGFyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcik7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPSAoZGF5OiBUdWlEYXkpID0+XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKShbZGF5LCBudWxsXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcblxuICAgICAgICBjb25zdCBbZGF0ZSA9ICcnLCB0aW1lID0gJyddID0gdmFsdWUuc3BsaXQodGhpcy5vcHRpb25zLmRhdGVUaW1lU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9XG4gICAgICAgICAgICBkYXRlLmxlbmd0aCA+PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheS5ub3JtYWxpemVQYXJzZShkYXRlLCB0aGlzLmZvcm1hdCgpLm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID1cbiAgICAgICAgICAgIHRpbWUubGVuZ3RoID09PSB0aGlzLnRpbWVNb2RlKCkubGVuZ3RoID8gVHVpVGltZS5mcm9tU3RyaW5nKHRpbWUpIDogbnVsbDtcblxuICAgICAgICBpZiAoIXBhcnNlZERhdGUgfHwgKHRpbWUgJiYgIXBhcnNlZFRpbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtwcmV2RGF0ZSwgcHJldlRpbWUgPSBudWxsXSA9IHRoaXMudmFsdWUoKSA/PyBbXTtcblxuICAgICAgICBpZiAoIXByZXZEYXRlPy5kYXlTYW1lKHBhcnNlZERhdGUpIHx8IE51bWJlcihwYXJzZWRUaW1lKSAhPT0gTnVtYmVyKHByZXZUaW1lKSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShbcGFyc2VkRGF0ZSwgcGFyc2VkVGltZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHN0cmluZ2lmeShcbiAgICAgICAgdmFsdWU6IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwsXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUgPz8gW107XG5cbiAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9XG4gICAgICAgICAgICBkYXRlPy50b1N0cmluZyh0aGlzLmZvcm1hdCgpLm1vZGUsIHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yKSA/PyAnJztcbiAgICAgICAgY29uc3QgdGltZVN0cmluZyA9IHRpbWU/LnRvU3RyaW5nKHRoaXMudGltZU1vZGUoKSk7XG5cbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmdcbiAgICAgICAgICAgID8gYCR7ZGF0ZVN0cmluZ30ke3RoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvcn0ke3RpbWVTdHJpbmd9YFxuICAgICAgICAgICAgOiBkYXRlU3RyaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xhbXBUaW1lKFtkYXRlLCB0aW1lXTogW1R1aURheSwgVHVpVGltZSB8IG51bGxdKTogW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHtcbiAgICAgICAgY29uc3QgbWluID0gZGF0ZS5kYXlTYW1lKHRoaXMubWluKCkpXG4gICAgICAgICAgICA/IHRoaXMubWluVGltZSgpLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKVxuICAgICAgICAgICAgOiAtSW5maW5pdHk7XG4gICAgICAgIGNvbnN0IG1heCA9IGRhdGUuZGF5U2FtZSh0aGlzLm1heCgpKVxuICAgICAgICAgICAgPyB0aGlzLm1heFRpbWUoKS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgIDogSW5maW5pdHk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgICB0aW1lICYmXG4gICAgICAgICAgICAgICAgVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoXG4gICAgICAgICAgICAgICAgICAgIHR1aUNsYW1wKHRpbWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpLCBtaW4sIG1heCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVNYXNrKFxuICAgICAgICBwYXJhbXM6IE9taXQ8UmVxdWlyZWQ8TWFza2l0b0RhdGVUaW1lUGFyYW1zPiwgJ3RpbWVTdGVwJz4sXG4gICAgKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvcihwYXJhbXMpO1xuICAgICAgICBjb25zdCB7dGltZU1vZGUsIGRhdGVNb2RlLCBkYXRlVGltZVNlcGFyYXRvcn0gPSBwYXJhbXM7XG4gICAgICAgIGNvbnN0IGlucHV0TW9kZVN3aXRjaFBsdWdpbiA9IG1hc2tpdG9TZWxlY3Rpb25DaGFuZ2VIYW5kbGVyKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50LmlucHV0TW9kZSA9XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zZWxlY3Rpb25TdGFydCEgPj1cbiAgICAgICAgICAgICAgICBkYXRlTW9kZS5sZW5ndGggKyBkYXRlVGltZVNlcGFyYXRvci5sZW5ndGggKyB0aW1lTW9kZS5pbmRleE9mKCcgQUEnKVxuICAgICAgICAgICAgICAgICAgICA/ICd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICA6ICdudW1lcmljJztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBvcHRpb25zLnBsdWdpbnMuY29uY2F0KFxuICAgICAgICAgICAgICAgIHRpbWVNb2RlLmluY2x1ZGVzKCdBQScpID8gaW5wdXRNb2RlU3dpdGNoUGx1Z2luIDogW10sXG4gICAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9OYXRpdmVEYXRlKFt7eWVhciwgbW9udGgsIGRheX0sIHtob3VycywgbWludXRlcywgc2Vjb25kcywgbXN9XTogcmVhZG9ubHkgW1xuICAgICAgICBUdWlEYXksXG4gICAgICAgIFR1aVRpbWUsXG4gICAgXSk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG59XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFDSCwrQkFBK0IsRUFFL0IsNkJBQTZCLEdBRWhDLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixNQUFNLEVBQ04sT0FBTyxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsc0JBQXNCLEVBRXRCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixp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QkFDbkMsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzt3QkFDbkMsWUFBWSwyQkFBMkI7d0JBQ3ZDLHNCQUFzQiwyQkFBMkI7d0JBQ2pELHVCQUF1QixDQUFDLDJCQUEyQixDQUFDO3FCQUN2RDtvQkFDRCxjQUFjLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLDZCQUE2QjtxQkFDMUM7aUJBQ0o7OEJBK0NjLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsVUFBVTtnQkFNRyxTQUFTO3NCQUQ1QixLQUFLO3VCQUFDLEtBQUs7Z0JBV1EsU0FBUztzQkFENUIsS0FBSzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge3R5cGUgTWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yLFxuICAgIHR5cGUgTWFza2l0b0RhdGVUaW1lUGFyYW1zLFxuICAgIG1hc2tpdG9TZWxlY3Rpb25DaGFuZ2VIYW5kbGVyLFxuICAgIHR5cGUgTWFza2l0b1RpbWVNb2RlLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtcbiAgICBEQVRFX0ZJTExFUl9MRU5HVEgsXG4gICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICBUdWlEYXksXG4gICAgVHVpVGltZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpU3VtfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7dHVpQXNPcHRpb25Db250ZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHlwZSBUdWlUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3duQXV0b30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9BREFQVEVSLFxuICAgIFR1aUlucHV0RGF0ZUJhc2UsXG4gICAgdHVpV2l0aERhdGVGaWxsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7VFVJX1RJTUVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge25vb3B9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX1RJTUVfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUub3B0aW9ucyc7XG5cbmNvbnN0IE1JTl9USU1FID0gbmV3IFR1aVRpbWUoMCwgMCk7XG5jb25zdCBNQVhfVElNRSA9IFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKE1JTExJU0VDT05EU19JTl9EQVkgLSAxKTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZVRpbWVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFR1aVNlbGVjdE9wdGlvbiksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfVElNRV9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICAgICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmVcbiAgICBleHRlbmRzIFR1aUlucHV0RGF0ZUJhc2U8cmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8cmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZUZpbGxlcnMgPSB0b1NpZ25hbChpbmplY3QoVFVJX1RJTUVfVEVYVFMpKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9EQVRFX1RJTUVfT1BUSU9OUyk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgZmlsbGVyID0gdHVpV2l0aERhdGVGaWxsZXIoKGRhdGUpID0+IHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMudGltZUZpbGxlcnMoKT8uW3RoaXMudGltZU1vZGUoKV0gPz8gJyc7XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGV9JHt0aGlzLm9wdGlvbnMuZGF0ZVRpbWVTZXBhcmF0b3J9JHt0aW1lfWA7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVFZmZlY3QgPSBlZmZlY3Qobm9vcCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWRlbnRpdHkgPSB0aGlzLmhhbmRsZXJzLmlkZW50aXR5TWF0Y2hlci5zZXQoXG4gICAgICAgIChhLCBiKSA9PiB0dWlTdW0oLi4uYS5tYXAoTnVtYmVyKSkgPT09IHR1aVN1bSguLi5iLm1hcChOdW1iZXIpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXIgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxuICAgICAgICAnZGlzYWJsZWRJdGVtSGFuZGxlcicsXG4gICAgICAgICh2YWx1ZTogcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCkgPT5cbiAgICAgICAgICAgIEJvb2xlYW4odmFsdWUgJiYgdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkodmFsdWUpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgdGhpcy5jb21wdXRlTWFzayh7XG4gICAgICAgICAgICAgICAgZGF0ZU1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICB0aW1lTW9kZTogdGhpcy50aW1lTW9kZSgpLFxuICAgICAgICAgICAgICAgIG1pbjogdGhpcy50b05hdGl2ZURhdGUoW3RoaXMubWluKCksIHRoaXMubWluVGltZSgpXSksXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLnRvTmF0aXZlRGF0ZShbdGhpcy5tYXgoKSwgdGhpcy5tYXhUaW1lKCldKSxcbiAgICAgICAgICAgICAgICBkYXRlU2VwYXJhdG9yOiB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBkYXRlVGltZVNlcGFyYXRvcjogdGhpcy5vcHRpb25zLmRhdGVUaW1lU2VwYXJhdG9yLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0aW1lTW9kZSA9IHNpZ25hbCh0aGlzLm9wdGlvbnMudGltZU1vZGUpO1xuICAgIHB1YmxpYyByZWFkb25seSBtaW5UaW1lID0gc2lnbmFsKE1JTl9USU1FKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4VGltZSA9IHNpZ25hbChNQVhfVElNRSk7XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoJ3RpbWVNb2RlJylcbiAgICBwdWJsaWMgc2V0IHRpbWVNb2RlU2V0dGVyKHg6IE1hc2tpdG9UaW1lTW9kZSkge1xuICAgICAgICB0aGlzLnRpbWVNb2RlLnNldCh4KTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21pbicpXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBtaW5TZXR0ZXIoXG4gICAgICAgIG1pbjogVHVpRGF5IHwgcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gQXJyYXkuaXNBcnJheShtaW4pID8gbWluIDogW21pbiwgbnVsbF07XG5cbiAgICAgICAgdGhpcy5taW4uc2V0KGRhdGUgfHwgdGhpcy5vcHRpb25zLm1pbik7XG4gICAgICAgIHRoaXMubWluVGltZS5zZXQodGltZSA/PyBNSU5fVElNRSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXQgbWF4U2V0dGVyKFxuICAgICAgICBtYXg6IFR1aURheSB8IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IFtkYXRlLCB0aW1lXSA9IEFycmF5LmlzQXJyYXkobWF4KSA/IG1heCA6IFttYXgsIG51bGxdO1xuXG4gICAgICAgIHRoaXMubWF4LnNldChkYXRlIHx8IHRoaXMub3B0aW9ucy5tYXgpO1xuICAgICAgICB0aGlzLm1heFRpbWUuc2V0KHRpbWUgPz8gTUFYX1RJTUUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHNldERhdGUobmV3RGF0ZTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtkYXRlLCB0aW1lXSA9IHRoaXMuY2xhbXBUaW1lKFtuZXdEYXRlLCB0aGlzLnZhbHVlKCk/LlsxXSA/PyBudWxsXSk7XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShbZGF0ZSwgdGltZV0pO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgIChjYXJldEluZGV4ID0gREFURV9GSUxMRVJfTEVOR1RIICsgdGhpcy5vcHRpb25zLmRhdGVUaW1lU2VwYXJhdG9yLmxlbmd0aCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmVsLnNldFNlbGVjdGlvblJhbmdlKGNhcmV0SW5kZXgsIGNhcmV0SW5kZXgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlc2V0ID0gdGhpcy5jb250cm9sLnByaXN0aW5lICYmIHRoaXMuY29udHJvbC51bnRvdWNoZWQgJiYgIXZhbHVlO1xuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdW50cmFja2VkKCgpID0+IHZhbHVlICE9PSB0aGlzLnZhbHVlKCkpO1xuXG4gICAgICAgIGlmIChjaGFuZ2VkIHx8IHJlc2V0KSB7XG4gICAgICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSgpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcjogVHVpQ2FsZW5kYXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIucHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyKTtcbiAgICAgICAgY2FsZW5kYXIuZGlzYWJsZWRJdGVtSGFuZGxlciA9IChkYXk6IFR1aURheSkgPT5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKFtkYXksIG51bGxdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuXG4gICAgICAgIGNvbnN0IFtkYXRlID0gJycsIHRpbWUgPSAnJ10gPSB2YWx1ZS5zcGxpdCh0aGlzLm9wdGlvbnMuZGF0ZVRpbWVTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBwYXJzZWREYXRlID1cbiAgICAgICAgICAgIGRhdGUubGVuZ3RoID49IERBVEVfRklMTEVSX0xFTkdUSFxuICAgICAgICAgICAgICAgID8gVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKGRhdGUsIHRoaXMuZm9ybWF0KCkubW9kZSlcbiAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPVxuICAgICAgICAgICAgdGltZS5sZW5ndGggPT09IHRoaXMudGltZU1vZGUoKS5sZW5ndGggPyBUdWlUaW1lLmZyb21TdHJpbmcodGltZSkgOiBudWxsO1xuXG4gICAgICAgIGlmICghcGFyc2VkRGF0ZSB8fCAodGltZSAmJiAhcGFyc2VkVGltZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW3ByZXZEYXRlLCBwcmV2VGltZSA9IG51bGxdID0gdGhpcy52YWx1ZSgpID8/IFtdO1xuXG4gICAgICAgIGlmICghcHJldkRhdGU/LmRheVNhbWUocGFyc2VkRGF0ZSkgfHwgTnVtYmVyKHBhcnNlZFRpbWUpICE9PSBOdW1iZXIocHJldlRpbWUpKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKFtwYXJzZWREYXRlLCBwYXJzZWRUaW1lXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3RyaW5naWZ5KFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZSA/PyBbXTtcblxuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID1cbiAgICAgICAgICAgIGRhdGU/LnRvU3RyaW5nKHRoaXMuZm9ybWF0KCkubW9kZSwgdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IpID8/ICcnO1xuICAgICAgICBjb25zdCB0aW1lU3RyaW5nID0gdGltZT8udG9TdHJpbmcodGhpcy50aW1lTW9kZSgpKTtcblxuICAgICAgICByZXR1cm4gdGltZVN0cmluZ1xuICAgICAgICAgICAgPyBgJHtkYXRlU3RyaW5nfSR7dGhpcy5vcHRpb25zLmRhdGVUaW1lU2VwYXJhdG9yfSR7dGltZVN0cmluZ31gXG4gICAgICAgICAgICA6IGRhdGVTdHJpbmc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQmx1cih2YWx1ZVdpdGhBZmZpeGVzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgW2RhdGUgPSAnJywgdGltZVZhbHVlID0gJyddID0gdmFsdWVXaXRoQWZmaXhlcy5zcGxpdChcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvcixcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGltZVZhbHVlICYmICF0aGlzLnZhbHVlKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGltZVZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gW1xuICAgICAgICAgICAgICAgIFR1aURheS5ub3JtYWxpemVQYXJzZShkYXRlLCB0aGlzLmZvcm1hdCgpLm1vZGUpLFxuICAgICAgICAgICAgICAgIHRpbWUsXG4gICAgICAgICAgICBdIGFzIGNvbnN0O1xuXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuc3RyaW5naWZ5KG5ld1ZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZShbZGF0ZSwgdGltZV06IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSk6IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB7XG4gICAgICAgIGNvbnN0IG1pbiA9IGRhdGUuZGF5U2FtZSh0aGlzLm1pbigpKVxuICAgICAgICAgICAgPyB0aGlzLm1pblRpbWUoKS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgIDogLUluZmluaXR5O1xuICAgICAgICBjb25zdCBtYXggPSBkYXRlLmRheVNhbWUodGhpcy5tYXgoKSlcbiAgICAgICAgICAgID8gdGhpcy5tYXhUaW1lKCkudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpXG4gICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgdGltZSAmJlxuICAgICAgICAgICAgICAgIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKFxuICAgICAgICAgICAgICAgICAgICB0dWlDbGFtcCh0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSwgbWluLCBtYXgpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhcbiAgICAgICAgcGFyYW1zOiBPbWl0PFJlcXVpcmVkPE1hc2tpdG9EYXRlVGltZVBhcmFtcz4sICd0aW1lU3RlcCc+LFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3IocGFyYW1zKTtcbiAgICAgICAgY29uc3Qge3RpbWVNb2RlLCBkYXRlTW9kZSwgZGF0ZVRpbWVTZXBhcmF0b3J9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCBpbnB1dE1vZGVTd2l0Y2hQbHVnaW4gPSBtYXNraXRvU2VsZWN0aW9uQ2hhbmdlSGFuZGxlcigoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgZWxlbWVudC5pbnB1dE1vZGUgPVxuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQhID49XG4gICAgICAgICAgICAgICAgZGF0ZU1vZGUubGVuZ3RoICsgZGF0ZVRpbWVTZXBhcmF0b3IubGVuZ3RoICsgdGltZU1vZGUuaW5kZXhPZignIEFBJylcbiAgICAgICAgICAgICAgICAgICAgPyAndGV4dCdcbiAgICAgICAgICAgICAgICAgICAgOiAnbnVtZXJpYyc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogb3B0aW9ucy5wbHVnaW5zLmNvbmNhdChcbiAgICAgICAgICAgICAgICB0aW1lTW9kZS5pbmNsdWRlcygnQUEnKSA/IGlucHV0TW9kZVN3aXRjaFBsdWdpbiA6IFtdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShbe3llYXIsIG1vbnRoLCBkYXl9LCB7aG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zfV06IHJlYWRvbmx5IFtcbiAgICAgICAgVHVpRGF5LFxuICAgICAgICBUdWlUaW1lLFxuICAgIF0pOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxufVxuIl19
|