@seniorsistemas/angular-components 16.7.5 → 16.8.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/bundles/seniorsistemas-angular-components.umd.js +83 -10
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/configurations/form-field.d.ts +2 -0
- package/components/tooltip/models/element-area.d.ts +6 -0
- package/components/tooltip/tooltip.directive.d.ts +12 -6
- package/components/utils/debouce.d.ts +4 -0
- package/components/utils/index.d.ts +3 -2
- package/esm2015/components/dynamic-form/components/grid/row/row.component.js +2 -1
- package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm2015/components/tooltip/models/element-area.js +1 -0
- package/esm2015/components/tooltip/tooltip.directive.js +36 -10
- package/esm2015/components/utils/debouce.js +35 -0
- package/esm2015/components/utils/index.js +4 -3
- package/esm5/components/dynamic-form/components/grid/row/row.component.js +2 -2
- package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm5/components/tooltip/models/element-area.js +1 -0
- package/esm5/components/tooltip/tooltip.directive.js +37 -10
- package/esm5/components/utils/debouce.js +50 -0
- package/esm5/components/utils/index.js +4 -3
- package/fesm2015/seniorsistemas-angular-components.js +68 -11
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +84 -12
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -6,6 +6,7 @@ import { AddonConfig } from "./addon-config";
|
|
|
6
6
|
import { FieldSize } from "./field-size";
|
|
7
7
|
import { FieldType } from "./field-type";
|
|
8
8
|
import { BooleanOptionsLabel } from "./fields/boolean-field";
|
|
9
|
+
import { TemplateRef } from "@angular/core";
|
|
9
10
|
export declare class FormField {
|
|
10
11
|
id?: string;
|
|
11
12
|
/**
|
|
@@ -143,6 +144,7 @@ export declare class FormField {
|
|
|
143
144
|
onChipClick?: (event: any) => void;
|
|
144
145
|
CustomFieldClass?: any;
|
|
145
146
|
CustomFieldComponentClass?: any;
|
|
147
|
+
bottomTemplate?: TemplateRef<Element>;
|
|
146
148
|
constructor(config: any);
|
|
147
149
|
}
|
|
148
150
|
export declare class Option {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ApplicationRef, ComponentFactoryResolver, ElementRef, Injector, OnDestroy, OnInit } from "@angular/core";
|
|
2
|
+
import { DebounceUtils } from "../utils/debouce";
|
|
2
3
|
import { MobileBehavior, TooltipEvent, TooltipPosition } from "./models";
|
|
3
4
|
export declare class TooltipDirective implements OnInit, OnDestroy {
|
|
4
|
-
private elementRef;
|
|
5
|
-
private appRef;
|
|
6
|
-
private componentFactoryResolver;
|
|
7
|
-
private injector;
|
|
5
|
+
private readonly elementRef;
|
|
6
|
+
private readonly appRef;
|
|
7
|
+
private readonly componentFactoryResolver;
|
|
8
|
+
private readonly injector;
|
|
9
|
+
private readonly debounceUtils;
|
|
8
10
|
tooltip: string;
|
|
9
11
|
position: TooltipPosition;
|
|
10
12
|
showDelay: number;
|
|
@@ -16,9 +18,14 @@ export declare class TooltipDirective implements OnInit, OnDestroy {
|
|
|
16
18
|
private componentRef;
|
|
17
19
|
private showTimeout?;
|
|
18
20
|
private touchTimeout?;
|
|
19
|
-
|
|
21
|
+
private tooltipDivElement?;
|
|
22
|
+
private readonly boundOnWindowMouseMoveFunction;
|
|
23
|
+
private readonly debounceCreateTooltipFunction;
|
|
24
|
+
constructor(elementRef: ElementRef, appRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, debounceUtils: DebounceUtils);
|
|
20
25
|
ngOnInit(): void;
|
|
21
26
|
ngOnDestroy(): void;
|
|
27
|
+
private onWindowMouseMove;
|
|
28
|
+
private isMousePositionOutsideOfElement;
|
|
22
29
|
onClick(): void;
|
|
23
30
|
onDocumentTouchStart(): void;
|
|
24
31
|
onFocus(): void;
|
|
@@ -28,7 +35,6 @@ export declare class TooltipDirective implements OnInit, OnDestroy {
|
|
|
28
35
|
onTouchStart(): void;
|
|
29
36
|
onTouchEnd(): void;
|
|
30
37
|
private validatePosition;
|
|
31
|
-
private setHideTooltipTimeout;
|
|
32
38
|
private createTootip;
|
|
33
39
|
private showTooltip;
|
|
34
40
|
private setTooltipComponentProperties;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export { Breakpoints } from "./breakpoints";
|
|
2
|
+
export { ExportUtils } from "./export-utils";
|
|
3
|
+
export { DebounceUtils } from "./debouce";
|
|
@@ -41,6 +41,7 @@ RowComponent = __decorate([
|
|
|
41
41
|
<ng-container *sDynamicForm="{ id: id, config: field, group: group}"></ng-container>
|
|
42
42
|
<s-control-errors [form]="group" [control]="group.controls[field.name]"
|
|
43
43
|
[errorMessages]="getErrorMessages(field.errorMessages)"></s-control-errors>
|
|
44
|
+
<ng-template *ngIf="field?.bottomTemplate" [ngTemplateOutlet]="field.bottomTemplate"></ng-template>
|
|
44
45
|
</div>
|
|
45
46
|
</ng-container>
|
|
46
47
|
</div>
|
|
@@ -48,4 +49,4 @@ RowComponent = __decorate([
|
|
|
48
49
|
})
|
|
49
50
|
], RowComponent);
|
|
50
51
|
export { RowComponent };
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2dyaWQvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBMEJ6RCxJQUFhLFlBQVksR0FBekIsTUFBYSxZQUFZO0lBVXJCLGdCQUFlLENBQUM7SUFFVCxRQUFRLEtBQUksQ0FBQztJQUViLGdCQUFnQixDQUFDLGFBQWtCO1FBQ3RDLElBQUksYUFBYTtZQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMzRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQ3hCLE9BQU8sS0FBSyxZQUFZLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0NBQ0osQ0FBQTtBQXBCRztJQURDLEtBQUssRUFBRTt3Q0FDVTtBQUVsQjtJQURDLEtBQUssRUFBRTs0Q0FDVztBQUVuQjtJQURDLEtBQUssRUFBRTsyQ0FDZ0I7QUFFeEI7SUFEQyxLQUFLLEVBQUU7bURBQ2tCO0FBUmpCLFlBQVk7SUF0QnhCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVDtLQUNKLENBQUM7R0FDVyxZQUFZLENBc0J4QjtTQXRCWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgUm93IH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2dyaWQvcm93XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1mbHVpZFwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVpLWdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNvbmZpZy5maWVsZHNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImZpZWxkLmdyaWRDbGFzc1wiICpuZ0lmPVwiZmllbGQudmlzaWJsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcl09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JlcXVpcmVkJzogZmllbGQucmVxdWlyZWQoKSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpzSW5mb1NpZ249XCJmaWVsZC5pbmZvU2lnblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqc0R5bmFtaWNGb3JtPVwieyBpZDogaWQsIGNvbmZpZzogZmllbGQsIGdyb3VwOiBncm91cH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPHMtY29udHJvbC1lcnJvcnMgW2Zvcm1dPVwiZ3JvdXBcIiBbY29udHJvbF09XCJncm91cC5jb250cm9sc1tmaWVsZC5uYW1lXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JNZXNzYWdlc109XCJnZXRFcnJvck1lc3NhZ2VzKGZpZWxkLmVycm9yTWVzc2FnZXMpXCI+PC9zLWNvbnRyb2wtZXJyb3JzPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJmaWVsZD8uYm90dG9tVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWVsZC5ib3R0b21UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbmZpZzogUm93O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdyb3VwOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZXJyb3JNZXNzYWdlczogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge31cblxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VzKGVycm9yTWVzc2FnZXM6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3JNZXNzYWdlcykgcmV0dXJuIHRoaXMuaXNGdW5jdGlvbihlcnJvck1lc3NhZ2VzKSA/IGVycm9yTWVzc2FnZXMoKSA6IGVycm9yTWVzc2FnZXM7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -68,4 +68,4 @@ export class Option {
|
|
|
68
68
|
this.value = value;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsTUFBTSxPQUFPLFNBQVM7SUE4SWxCLFlBQVksTUFBVztRQUNuQixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLFlBQVk7Z0JBQ3ZCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsTUFBTSxFQUFFLGdCQUFnQixLQUFzQixNQUFNLEVBQTFCLG1EQUEwQixDQUFDO2dCQUNyRCxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLFlBQVksS0FBYSxFQUFFLEtBQVU7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50T3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2tcIjtcbmltcG9ydCB7IEZpbGVEdG8gfSBmcm9tIFwiLi4vLi4vZmlsZS11cGxvYWQvaW5kZXhcIjtcbmltcG9ydCB7IENhbGVuZGFyTG9jYWxlT3B0aW9ucywgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sb2NhbGUvaW5kZXhcIjtcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiB9IGZyb20gXCIuLi8uLi9udW1iZXItaW5wdXRcIjtcbmltcG9ydCB7IEFkZG9uQ29uZmlnIH0gZnJvbSBcIi4vYWRkb24tY29uZmlnXCI7XG5pbXBvcnQgeyBGaWVsZFNpemUgfSBmcm9tIFwiLi9maWVsZC1zaXplXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGQge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRlbGxzIHdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHNvcnRhYmxlQ29sdW1uTmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExhYmVscyBvZiBhIFJhZGlvIEJ1dHRvbiwgb25seSB1c2VkIHRvIEZpZWxkVHlwZSBCb29sZWFuXG4gICAgICovXG4gICAgb3B0aW9uc0xhYmVsPzogQm9vbGVhbk9wdGlvbnNMYWJlbDtcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1hc2sgcGF0dGVybi5cbiAgICAgKi9cbiAgICBtYXNrPzogKCkgPT4gc3RyaW5nIHwgc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzIGZvciBhIHF1ZXJ5LlxuICAgICAqL1xuICAgIGVtcHR5TWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xzPzogbnVtYmVyO1xuICAgIHJvd3M/OiBudW1iZXI7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IGFueTtcbiAgICBjYWxlbmRhckxvY2FsZU9wdGlvbnM/OiBDYWxlbmRhckxvY2FsZU9wdGlvbnM7XG4gICAgbnVtYmVyTG9jYWxlT3B0aW9ucz86IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIGJyb3dzZXJBdXRvY29tcGxldGU/OiBib29sZWFuO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgc2hvd09uRm9jdXM/OiBib29sZWFuO1xuICAgIHN0eWxlPzogeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICAgIHJlcHJlc2VudGVkQnk/OiBcInJhZGlvXCIgfCBcInN3aXRjaFwiO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGBSYWRpb0J1dHRvbmAgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgdmVydGljYWwgb3Igbm90LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICB2ZXJ0aWNhbEFsaWdubWVudD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRmllbGQgbWF4IGxlbmd0aFxuICAgICAqL1xuICAgIHByZWNpc2lvbj86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICAgICAqL1xuICAgIHNjYWxlPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNpbmcgRmllbGRUeXBlLk51bWJlciB0aGlzIGF0dHJpYnV0ZSBpcyB1bm5lY2Vzc2FyeVxuICAgICAqL1xuICAgIGFsaWduVG8/OiBOdW1iZXJBbGlnbm1lbnRPcHRpb24gfCBBbGlnbm1lbnRPcHRpb25zO1xuICAgIGdyaWRDbGFzcz86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwgc3RyaW5nW11cbiAgICAgICAgfCBTZXQ8c3RyaW5nPlxuICAgICAgICB8IHtcbiAgICAgICAgICAgICAgW2tsYXNzOiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIGF1dG9jb21wbGV0ZUZvcmNlU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWluRGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLlxuICAgICAqL1xuICAgIG1heERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGF0ZSB0byBoaWdobGlnaHQgb24gZmlyc3Qgb3BlbmluZyBpZiB0aGUgZmllbGQgaXMgYmxhbmsuXG4gICAgICovXG4gICAgZGVmYXVsdERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHRoZSBsZWZ0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIGxlZnRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHJpZ2h0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIHJpZ2h0QWRkb24/OiBBZGRvbkNvbmZpZztcbiAgICAvKipcbiAgICAgKiBJbmZvU2lnbiBwYXJhIGEgbGFiZWwgZG8gaW5wdXQuXG4gICAgICovXG4gICAgaW5mb1NpZ24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRXhwcmVzc2lvbiB0byByZXN0cmljdHMgdXNlciBpbnB1dFxuICAgICAqL1xuICAgIGtleUZpbHRlcj86IFJlZ0V4cDtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgRm9ybUZpZWxkIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBlcnJvck1lc3NhZ2VzPzogKCkgPT4gKHt9KSB8IHt9O1xuICAgIHZpc2libGU/OiAoKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgZmllbGQgcmVjZWl2ZXMgZm9jdXNcbiAgICAgKi9cbiAgICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbklucHV0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gY29tcG9uZW50IGNsaWNrLlxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsb3NlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Ub2RheUNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhckNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Nb250aENoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uWWVhckNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgYWRkZWQuXG4gICAgICovXG4gICAgb25BZGQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIHZhbHVlIGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgb25SZW1vdmU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBvbkNoaXBDbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuXG4gICAgQ3VzdG9tRmllbGRDbGFzcz86IGFueTtcbiAgICBDdXN0b21GaWVsZENvbXBvbmVudENsYXNzPzogYW55O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTW9uZXk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJyZW5jeUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERlY2ltYWxGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmlnbnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJpbmFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQYXNzd29yZEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuU3dpdGNoRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvY2FsRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsZW5kYXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9va3VwOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTG9va3VwRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmFkaW9CdXR0b25GaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CbG9iOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmxvYkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQsTUFBTSxPQUFPLFNBQVM7SUFnSmxCLFlBQVksTUFBVztRQUNuQixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLFlBQVk7Z0JBQ3ZCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsTUFBTSxFQUFFLGdCQUFnQixLQUFzQixNQUFNLEVBQTFCLG1EQUEwQixDQUFDO2dCQUNyRCxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLFlBQVksS0FBYSxFQUFFLEtBQVU7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50T3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2tcIjtcbmltcG9ydCB7IEZpbGVEdG8gfSBmcm9tIFwiLi4vLi4vZmlsZS11cGxvYWQvaW5kZXhcIjtcbmltcG9ydCB7IENhbGVuZGFyTG9jYWxlT3B0aW9ucywgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sb2NhbGUvaW5kZXhcIjtcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiB9IGZyb20gXCIuLi8uLi9udW1iZXItaW5wdXRcIjtcbmltcG9ydCB7IEFkZG9uQ29uZmlnIH0gZnJvbSBcIi4vYWRkb24tY29uZmlnXCI7XG5pbXBvcnQgeyBGaWVsZFNpemUgfSBmcm9tIFwiLi9maWVsZC1zaXplXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cblxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZCB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGVsbHMgd2hldGhlciB0aGUgZmllbGQgaXMgcmVxdWlyZWQgb3Igbm90XG4gICAgICovXG4gICAgcmVxdWlyZWQ/OiAoKSA9PiBib29sZWFuO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc29ydGFibGVDb2x1bW5OYW1lPzogc3RyaW5nO1xuICAgIHR5cGU/OiBGaWVsZFR5cGU7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTGFiZWxzIG9mIGEgUmFkaW8gQnV0dG9uLCBvbmx5IHVzZWQgdG8gRmllbGRUeXBlIEJvb2xlYW5cbiAgICAgKi9cbiAgICBvcHRpb25zTGFiZWw/OiBCb29sZWFuT3B0aW9uc0xhYmVsO1xuICAgIHRvb2x0aXA/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTWFzayBwYXR0ZXJuLlxuICAgICAqL1xuICAgIG1hc2s/OiAoKSA9PiBzdHJpbmcgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlcmUgYXJlIG5vIHJlc3VsdHMgZm9yIGEgcXVlcnkuXG4gICAgICovXG4gICAgZW1wdHlNZXNzYWdlPzogc3RyaW5nO1xuICAgIGNvbHM/OiBudW1iZXI7XG4gICAgcm93cz86IG51bWJlcjtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBvcHRpb25zPzogYW55O1xuICAgIGNhbGVuZGFyTG9jYWxlT3B0aW9ucz86IENhbGVuZGFyTG9jYWxlT3B0aW9ucztcbiAgICBudW1iZXJMb2NhbGVPcHRpb25zPzogTnVtYmVyTG9jYWxlT3B0aW9ucztcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgYnJvd3NlckF1dG9jb21wbGV0ZT86IGJvb2xlYW47XG4gICAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgICBzaG93T25Gb2N1cz86IGJvb2xlYW47XG4gICAgc3R5bGU/OiB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gICAgcmVwcmVzZW50ZWRCeT86IFwicmFkaW9cIiB8IFwic3dpdGNoXCI7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgYFJhZGlvQnV0dG9uYCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIHRoZSB2ZXJ0aWNhbCBvciBub3QuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHZlcnRpY2FsQWxpZ25tZW50PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBGaWVsZCBtYXggbGVuZ3RoXG4gICAgICovXG4gICAgcHJlY2lzaW9uPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICovXG4gICAgc2NhbGU/OiBGdW5jdGlvbiB8IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2luZyBGaWVsZFR5cGUuTnVtYmVyIHRoaXMgYXR0cmlidXRlIGlzIHVubmVjZXNzYXJ5XG4gICAgICovXG4gICAgYWxpZ25Ubz86IE51bWJlckFsaWdubWVudE9wdGlvbiB8IEFsaWdubWVudE9wdGlvbnM7XG4gICAgZ3JpZENsYXNzPzpcbiAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgfCBzdHJpbmdbXVxuICAgICAgICB8IFNldDxzdHJpbmc+XG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgICAgICAgICB9O1xuICAgIHNpemU/OiBGaWVsZFNpemU7XG4gICAgbXVsdGlwbGVTZWxlY3RlZExhYmVsPzogc3RyaW5nO1xuICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICBhY2NlcHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBGaWxlRHRvW107XG4gICAgYXV0b2NvbXBsZXRlRm9yY2VTZWxlY3Rpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5EYXRlPzogRGF0ZTtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWF4RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkYXRlIHRvIGhpZ2hsaWdodCBvbiBmaXJzdCBvcGVuaW5nIGlmIHRoZSBmaWVsZCBpcyBibGFuay5cbiAgICAgKi9cbiAgICBkZWZhdWx0RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gdGhlIGxlZnQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgbGVmdEFkZG9uPzogQWRkb25Db25maWc7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gcmlnaHQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgcmlnaHRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIEluZm9TaWduIHBhcmEgYSBsYWJlbCBkbyBpbnB1dC5cbiAgICAgKi9cbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBFeHByZXNzaW9uIHRvIHJlc3RyaWN0cyB1c2VyIGlucHV0XG4gICAgICovXG4gICAga2V5RmlsdGVyPzogUmVnRXhwO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgZmllbGRcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogQ3VzdG9taXplZCBGb3JtRmllbGQgZXJyb3IgbWVzc2FnZVxuICAgICAqL1xuICAgIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG4gICAgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGZpZWxkIGxvc2VzIGZvY3VzXG4gICAgICovXG4gICAgb25CbHVyPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCByZWNlaXZlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uRm9jdXM/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Db21wbGV0ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uSW5wdXQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBvblNlbGVjdD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBjb21wb25lbnQgY2xpY2suXG4gICAgICovXG4gICAgb25DbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uQ2xvc2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvblRvZGF5Q2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsZWFyQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbk1vbnRoQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25ZZWFyQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYSB2YWx1ZSBpcyBhZGRlZC5cbiAgICAgKi9cbiAgICBvbkFkZD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBvblJlbW92ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgY2hpcCBpcyBjbGlja2VkLlxuICAgICAqL1xuICAgIG9uQ2hpcENsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBDdXN0b21GaWVsZENsYXNzPzogYW55O1xuICAgIEN1c3RvbUZpZWxkQ29tcG9uZW50Q2xhc3M/OiBhbnk7XG5cbiAgICBib3R0b21UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTW9uZXk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJyZW5jeUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERlY2ltYWxGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmlnbnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJpbmFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQYXNzd29yZEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuU3dpdGNoRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvY2FsRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsZW5kYXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9va3VwOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTG9va3VwRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmFkaW9CdXR0b25GaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CbG9iOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmxvYkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hcmVhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdG9vbHRpcC9tb2RlbHMvZWxlbWVudC1hcmVhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRBcmVhIHtcbiAgICB0b3A6IG51bWJlcjtcbiAgICByaWdodDogbnVtYmVyO1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EmbeddedViewRef, HostListener, Injector, Input, OnDestroy, OnInit } from "@angular/core";
|
|
3
|
+
import { DebounceUtils } from "../utils/debouce";
|
|
3
4
|
import { MobileBehavior, TooltipEvent, TooltipPosition } from "./models";
|
|
4
5
|
import { TooltipComponent } from "./tooltip.component";
|
|
5
6
|
let TooltipDirective = class TooltipDirective {
|
|
6
|
-
constructor(elementRef, appRef, componentFactoryResolver, injector) {
|
|
7
|
+
constructor(elementRef, appRef, componentFactoryResolver, injector, debounceUtils) {
|
|
7
8
|
this.elementRef = elementRef;
|
|
8
9
|
this.appRef = appRef;
|
|
9
10
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
10
11
|
this.injector = injector;
|
|
12
|
+
this.debounceUtils = debounceUtils;
|
|
11
13
|
this.position = TooltipPosition.Top;
|
|
12
14
|
this.showDelay = 500;
|
|
13
15
|
this.tooltipEvent = TooltipEvent.Hover;
|
|
@@ -15,6 +17,8 @@ let TooltipDirective = class TooltipDirective {
|
|
|
15
17
|
this.visible = true;
|
|
16
18
|
this.mobileBehavior = MobileBehavior.Pressing;
|
|
17
19
|
this.componentRef = null;
|
|
20
|
+
this.boundOnWindowMouseMoveFunction = this.onWindowMouseMove.bind(this);
|
|
21
|
+
this.debounceCreateTooltipFunction = this.debounceUtils.debounceLeading(() => this.createTootip());
|
|
18
22
|
}
|
|
19
23
|
ngOnInit() {
|
|
20
24
|
this.validatePosition();
|
|
@@ -22,6 +26,25 @@ let TooltipDirective = class TooltipDirective {
|
|
|
22
26
|
ngOnDestroy() {
|
|
23
27
|
this.destroy();
|
|
24
28
|
}
|
|
29
|
+
onWindowMouseMove(event) {
|
|
30
|
+
if (!this.componentRef) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const elementRect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
34
|
+
const toolTipRect = this.tooltipDivElement.getBoundingClientRect();
|
|
35
|
+
const totalElementArea = {
|
|
36
|
+
top: Math.min(elementRect.top, toolTipRect.top),
|
|
37
|
+
right: Math.max(elementRect.right, toolTipRect.right),
|
|
38
|
+
left: Math.min(elementRect.left, toolTipRect.left),
|
|
39
|
+
bottom: Math.max(elementRect.bottom, toolTipRect.bottom)
|
|
40
|
+
};
|
|
41
|
+
if (this.isMousePositionOutsideOfElement(event.clientX, event.clientY, totalElementArea)) {
|
|
42
|
+
this.destroy();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
isMousePositionOutsideOfElement(mouseX, mouseY, elementArea) {
|
|
46
|
+
return mouseX < elementArea.left || mouseX >= elementArea.right || mouseY < elementArea.top || mouseY >= elementArea.bottom;
|
|
47
|
+
}
|
|
25
48
|
// whenever the component with the tooltip is clicked I destroy the tooltip.
|
|
26
49
|
// whenever a key is pressed on the component with the tooltip I destroy the tooltip.
|
|
27
50
|
onClick() {
|
|
@@ -49,12 +72,12 @@ let TooltipDirective = class TooltipDirective {
|
|
|
49
72
|
}
|
|
50
73
|
onMouseEnter() {
|
|
51
74
|
if (this.tooltipEvent === TooltipEvent.Hover) {
|
|
52
|
-
this.
|
|
75
|
+
this.debounceCreateTooltipFunction();
|
|
53
76
|
}
|
|
54
77
|
}
|
|
55
78
|
onMouseLeave() {
|
|
56
79
|
if (this.tooltipEvent === TooltipEvent.Hover) {
|
|
57
|
-
this.
|
|
80
|
+
this.destroy();
|
|
58
81
|
}
|
|
59
82
|
}
|
|
60
83
|
onTouchStart() {
|
|
@@ -67,7 +90,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
67
90
|
if (this.tooltipEvent === TooltipEvent.Hover) {
|
|
68
91
|
if (this.mobileBehavior === MobileBehavior.Pressing) {
|
|
69
92
|
window.clearTimeout(this.touchTimeout);
|
|
70
|
-
this.
|
|
93
|
+
this.destroy();
|
|
71
94
|
}
|
|
72
95
|
}
|
|
73
96
|
}
|
|
@@ -83,9 +106,6 @@ let TooltipDirective = class TooltipDirective {
|
|
|
83
106
|
throw new Error(`Tooltip ${this.position} position is unexpected`);
|
|
84
107
|
}
|
|
85
108
|
}
|
|
86
|
-
setHideTooltipTimeout() {
|
|
87
|
-
this.destroy();
|
|
88
|
-
}
|
|
89
109
|
createTootip() {
|
|
90
110
|
var _a;
|
|
91
111
|
if (this.componentRef === null && ((_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
@@ -96,6 +116,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
96
116
|
document.body.appendChild(domElem);
|
|
97
117
|
this.setTooltipComponentProperties();
|
|
98
118
|
this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);
|
|
119
|
+
this.tooltipDivElement = domElem.querySelector('.tooltip');
|
|
99
120
|
if (this.displayTime) {
|
|
100
121
|
window.setTimeout(this.destroy.bind(this), this.displayTime);
|
|
101
122
|
}
|
|
@@ -104,6 +125,7 @@ let TooltipDirective = class TooltipDirective {
|
|
|
104
125
|
showTooltip() {
|
|
105
126
|
if (this.componentRef !== null) {
|
|
106
127
|
this.componentRef.instance.visible = true;
|
|
128
|
+
window.addEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
|
|
107
129
|
}
|
|
108
130
|
}
|
|
109
131
|
setTooltipComponentProperties() {
|
|
@@ -208,14 +230,17 @@ let TooltipDirective = class TooltipDirective {
|
|
|
208
230
|
this.appRef.detachView(this.componentRef.hostView);
|
|
209
231
|
this.componentRef.destroy();
|
|
210
232
|
this.componentRef = null;
|
|
233
|
+
this.tooltipDivElement = null;
|
|
211
234
|
}
|
|
235
|
+
window.removeEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
|
|
212
236
|
}
|
|
213
237
|
};
|
|
214
238
|
TooltipDirective.ctorParameters = () => [
|
|
215
239
|
{ type: ElementRef },
|
|
216
240
|
{ type: ApplicationRef },
|
|
217
241
|
{ type: ComponentFactoryResolver },
|
|
218
|
-
{ type: Injector }
|
|
242
|
+
{ type: Injector },
|
|
243
|
+
{ type: DebounceUtils }
|
|
219
244
|
];
|
|
220
245
|
__decorate([
|
|
221
246
|
Input("sTooltip")
|
|
@@ -258,7 +283,8 @@ __decorate([
|
|
|
258
283
|
HostListener("mouseenter")
|
|
259
284
|
], TooltipDirective.prototype, "onMouseEnter", null);
|
|
260
285
|
__decorate([
|
|
261
|
-
HostListener("mouseleave")
|
|
286
|
+
HostListener("mouseleave"),
|
|
287
|
+
HostListener("wheel")
|
|
262
288
|
], TooltipDirective.prototype, "onMouseLeave", null);
|
|
263
289
|
__decorate([
|
|
264
290
|
HostListener("touchstart")
|
|
@@ -272,4 +298,4 @@ TooltipDirective = __decorate([
|
|
|
272
298
|
})
|
|
273
299
|
], TooltipDirective);
|
|
274
300
|
export { TooltipDirective };
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixlQUFlLEVBQ2YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdkQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUE2QjFCLFlBQ1csVUFBc0IsRUFDdEIsTUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELFFBQWtCO1FBSGxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBNUJ0QixhQUFRLEdBQW9CLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFHaEQsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQU1oQixpQkFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFHbEMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHZixtQkFBYyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFFeEMsaUJBQVksR0FBc0IsSUFBSSxDQUFDO0lBUzNDLENBQUM7SUFFRSxRQUFRO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFD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Q25ELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSixDQUFDO0NBQ0gsQ0FBQTs7WUF4UHlCLFVBQVU7WUFDZCxjQUFjO1lBQ0ksd0JBQXdCO1lBQ3hDLFFBQVE7O0FBL0I3QjtJQURDLEtBQUssQ0FBQyxVQUFVLENBQUM7aURBQ0s7QUFHdkI7SUFEQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7a0RBQzhCO0FBR3ZEO0lBREMsS0FBSyxFQUFFO21EQUNlO0FBR3ZCO0lBREMsS0FBSyxFQUFFO3FEQUNtQjtBQUczQjtJQURDLEtBQUssRUFBRTtzREFDaUM7QUFHekM7SUFEQyxLQUFLLEVBQUU7Z0RBQ2M7QUFHdEI7SUFEQyxLQUFLLEVBQUU7aURBQ2M7QUFHdEI7SUFEQyxLQUFLLEVBQUU7d0RBQ3dDO0FBeUJoRDtJQUZDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDckIsWUFBWSxDQUFDLFNBQVMsQ0FBQzsrQ0FPdkI7QUFJRDtJQURDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQzs0REFLbkM7QUFHRDtJQURDLFlBQVksQ0FBQyxPQUFPLENBQUM7K0NBS3JCO0FBR0Q7SUFEQyxZQUFZLENBQUMsTUFBTSxDQUFDOzhDQUtwQjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztvREFLMUI7QUFHRDtJQURDLFlBQVksQ0FBQyxZQUFZLENBQUM7b0RBSzFCO0FBR0Q7SUFEQyxZQUFZLENBQUMsWUFBWSxDQUFDO29EQVMxQjtBQUdEO0lBREMsWUFBWSxDQUFDLFVBQVUsQ0FBQztrREFReEI7QUEvR1MsZ0JBQWdCO0lBSDVCLFNBQVMsQ0FBQztRQUNSLFFBQVEsRUFBRSxZQUFZO0tBQ3hCLENBQUM7R0FDVyxnQkFBZ0IsQ0FzUjVCO1NBdFJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICBBcHBsaWNhdGlvblJlZixcbiAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgIENvbXBvbmVudFJlZixcbiAgIERpcmVjdGl2ZSxcbiAgIEVsZW1lbnRSZWYsXG4gICBFbWJlZGRlZFZpZXdSZWYsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbmplY3RvcixcbiAgIElucHV0LFxuICAgT25EZXN0cm95LFxuICAgT25Jbml0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IE1vYmlsZUJlaGF2aW9yLCBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgc2VsZWN0b3I6IFwiW3NUb29sdGlwXVwiLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgQElucHV0KFwic1Rvb2x0aXBcIilcbiAgIHB1YmxpYyB0b29sdGlwOiBzdHJpbmc7XG5cbiAgIEBJbnB1dChcInRvb2x0aXBQb3NpdGlvblwiKVxuICAgcHVibGljIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHNob3dEZWxheSA9IDUwMDtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBkaXNwbGF5VGltZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHRvb2x0aXBFdmVudCA9IFRvb2x0aXBFdmVudC5Ib3ZlcjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBlc2NhcGUgPSBmYWxzZTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtb2JpbGVCZWhhdmlvciA9IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nO1xuXG4gICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICAgcHJpdmF0ZSBzaG93VGltZW91dD86IG51bWJlcjtcbiAgIHByaXZhdGUgdG91Y2hUaW1lb3V0PzogbnVtYmVyO1xuXG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICkgeyB9XG5cbiAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMudmFsaWRhdGVQb3NpdGlvbigpO1xuICAgfVxuXG4gICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgIH1cblxuICAgLy8gd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0b29sdGlwIGlzIGNsaWNrZWQgSSBkZXN0cm95IHRoZSB0b29sdGlwLlxuICAgLy8gd2hlbmV2ZXIgYSBrZXkgaXMgcHJlc3NlZCBvbiB0aGUgY29tcG9uZW50IHdpdGggdGhlIHRvb2x0aXAgSSBkZXN0cm95IHRoZSB0b29sdGlwLlxuICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXG4gICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiKVxuICAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3ZlciAmJlxuICAgICAgICAgIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWQvaSkgJiZcbiAgICAgICAgICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmUvaSkpIHtcbiAgICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgfVxuICAgfVxuXG4gICAvLyB3aGVuZXZlciB5b3UgdG91Y2ggb3V0c2lkZSB0aGUgY29tcG9uZW50IHdpdGggdGhlIHRvb2x0aXAgSSBkZXN0cm95IHRoZSB0b29sdGlwLlxuICAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OnRvdWNoc3RhcnRcIilcbiAgIHB1YmxpYyBvbkRvY3VtZW50VG91Y2hTdGFydCgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImZvY3VzXCIpXG4gICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkZvY3VzKSB7XG4gICAgICAgICB0aGlzLmNyZWF0ZVRvb3RpcCgpO1xuICAgICAgfVxuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiYmx1clwiKVxuICAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkZvY3VzKSB7XG4gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcbiAgIHB1YmxpYyBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgdGhpcy5jcmVhdGVUb290aXAoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIilcbiAgIHB1YmxpYyBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgdGhpcy5zZXRIaWRlVG9vbHRpcFRpbWVvdXQoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcInRvdWNoc3RhcnRcIilcbiAgIHB1YmxpYyBvblRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRvdWNoVGltZW91dCk7XG4gICAgICAgICB0aGlzLnRvdWNoVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUb290aXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIHRoaXMubW9iaWxlQmVoYXZpb3IgPT09IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nID8gdGhpcy5zaG93RGVsYXkgOiAwXG4gICAgICAgICApO1xuICAgICAgfVxuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwidG91Y2hlbmRcIilcbiAgIHB1YmxpYyBvblRvdWNoRW5kKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudG9vbHRpcEV2ZW50ID09PSBUb29sdGlwRXZlbnQuSG92ZXIpIHtcbiAgICAgICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yID09PSBNb2JpbGVCZWhhdmlvci5QcmVzc2luZykge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRvdWNoVGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLnNldEhpZGVUb29sdGlwVGltZW91dCgpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIHZhbGlkYXRlUG9zaXRpb24oKSB7XG4gICAgICBjb25zdCBjb250YWluc1Bvc2l0aW9uID0gW1xuICAgICAgICAgVG9vbHRpcFBvc2l0aW9uLlRvcCxcbiAgICAgICAgIFRvb2x0aXBQb3NpdGlvbi5SaWdodCxcbiAgICAgICAgIFRvb2x0aXBQb3NpdGlvbi5Cb3R0b20sXG4gICAgICAgICBUb29sdGlwUG9zaXRpb24uTGVmdCxcbiAgICAgIF0uaW5jbHVkZXModGhpcy5wb3NpdGlvbik7XG5cbiAgICAgIGlmICghY29udGFpbnNQb3NpdGlvbikge1xuICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5Ub3A7XG4gICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRvb2x0aXAgJHt0aGlzLnBvc2l0aW9ufSBwb3NpdGlvbiBpcyB1bmV4cGVjdGVkYCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgc2V0SGlkZVRvb2x0aXBUaW1lb3V0KCkge1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICB9XG5cbiAgIHByaXZhdGUgY3JlYXRlVG9vdGlwKCkge1xuICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmID09PSBudWxsICYmIHRoaXMudG9vbHRpcD8ubGVuZ3RoKSB7XG4gICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVG9vbHRpcENvbXBvbmVudCk7XG4gICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICAgdGhpcy5zZXRUb29sdGlwQ29tcG9uZW50UHJvcGVydGllcygpO1xuICAgICAgICAgdGhpcy5zaG93VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuc2hvd1Rvb2x0aXAuYmluZCh0aGlzKSwgdGhpcy5zaG93RGVsYXkpO1xuXG4gICAgICAgICBpZiAodGhpcy5kaXNwbGF5VGltZSkge1xuICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQodGhpcy5kZXN0cm95LmJpbmQodGhpcyksIHRoaXMuZGlzcGxheVRpbWUpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIHNob3dUb29sdGlwKCkge1xuICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBzZXRUb29sdGlwQ29tcG9uZW50UHJvcGVydGllcygpIHtcbiAgICAgIGNvbnN0IG1hcmdpbiA9IDIwO1xuICAgICAgY29uc3QgYW5jaG9yU2l6ZSA9IDU7XG5cbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9vbHRpcCA9IHRoaXMudG9vbHRpcDtcbiAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmVzY2FwZSA9IHRoaXMuZXNjYXBlO1xuXG4gICAgICAgICBjb25zdCB7IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSB9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSBib3R0b20gLSB0b3A7XG4gICAgICAgICBjb25zdCB0b29sdGlwV2lkdGggPSByaWdodCAtIGxlZnQ7XG4gICAgICAgICBjb25zdCBzYWZlU3BhY2UgPSAxNTA7XG5cbiAgICAgICAgIGxldCBwb3NpdGlvbmVkID0gZmFsc2U7XG4gICAgICAgICBjb25zdCBpbnZhbGlkT3B0aW9uczogVG9vbHRpcFBvc2l0aW9uW10gPSBbXTtcblxuICAgICAgICAgd2hpbGUgKCFwb3NpdGlvbmVkKSB7XG4gICAgICAgICAgICBpZiAoaW52YWxpZE9wdGlvbnMuaW5jbHVkZXMoVG9vbHRpcFBvc2l0aW9uLlRvcClcbiAgICAgICAgICAgICAgICYmIGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5Cb3R0b20pXG4gICAgICAgICAgICAgICAmJiBpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uTGVmdClcbiAgICAgICAgICAgICAgICYmIGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5SaWdodCkpIHtcbiAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gc3BhY2UgdG8gc2hvdyB0b29sdGlwXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLlRvcDoge1xuICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5Ub3ApKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLkxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29uc3QgdG9wU2hpZnQgPSB0b3A7XG5cbiAgICAgICAgICAgICAgICAgIGlmICh0b3BTaGlmdCA8PSB0b29sdGlwSGVpZ2h0ICsgc2FmZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLkJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goVG9vbHRpcFBvc2l0aW9uLlRvcCk7XG4gICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IE1hdGgucm91bmQodG9vbHRpcFdpZHRoIC8gMiArIGxlZnQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gTWF0aC5yb3VuZCh0b3AgLSBtYXJnaW4gLSBhbmNob3JTaXplKTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5Cb3R0b206IHtcblxuICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5Cb3R0b20pKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLkxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29uc3QgYm90dG9tU2hpZnQgPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCAtIGJvdHRvbTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGJvdHRvbVNoaWZ0IDw9IHRvb2x0aXBIZWlnaHQgKyBzYWZlU3BhY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaChUb29sdGlwUG9zaXRpb24uQm90dG9tKTtcbiAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gTWF0aC5yb3VuZCh0b29sdGlwV2lkdGggLyAyICsgbGVmdCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLnJvdW5kKGJvdHRvbSArIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uTGVmdDoge1xuICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5MZWZ0KSkge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5Ub3A7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFNoaWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgICAgICAgaWYgKGxlZnRTaGlmdCA8PSB0b29sdGlwV2lkdGggKyBzYWZlU3BhY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICBpbnZhbGlkT3B0aW9ucy5wdXNoKFRvb2x0aXBQb3NpdGlvbi5MZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gTWF0aC5yb3VuZChsZWZ0IC0gbWFyZ2luKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQodG9wICsgdG9vbHRpcEhlaWdodCAvIDIgLSBhbmNob3JTaXplKTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5SaWdodDoge1xuICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5SaWdodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0U2hpZnQgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIC0gcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChyaWdodFNoaWZ0IDw9IHRvb2x0aXBXaWR0aCArIHNhZmVTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5MZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaChUb29sdGlwUG9zaXRpb24uUmlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKHJpZ2h0ICsgbWFyZ2luKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQodG9wICsgdG9vbHRpcEhlaWdodCAvIDIgLSBhbmNob3JTaXplKTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UucG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XG4gICAgICAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgIH1cbiAgIH1cbn1cbiJdfQ==
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osY0FBYyxFQUNkLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixlQUFlLEVBQ2YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBTXZELElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBZ0MxQixZQUNvQixVQUFzQixFQUN0QixNQUFzQixFQUN0Qix3QkFBa0QsRUFDbEQsUUFBa0IsRUFDbEIsYUFBNEI7UUFKNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFoQ3pDLGFBQVEsR0FBb0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUdoRCxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBTWhCLGlCQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUdsQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2YsWUFBTyxHQUFHLElBQUksQ0FBQztRQUdmLG1CQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztR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QztBQUdEO0lBREMsWUFBWSxDQUFDLE9BQU8sQ0FBQzsrQ0FLckI7QUFHRDtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7OENBS3BCO0FBR0Q7SUFEQyxZQUFZLENBQUMsWUFBWSxDQUFDO29EQUsxQjtBQUlEO0lBRkMsWUFBWSxDQUFDLFlBQVksQ0FBQztJQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDO29EQUtyQjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztvREFTMUI7QUFHRDtJQURDLFlBQVksQ0FBQyxVQUFVLENBQUM7a0RBUXhCO0FBOUlTLGdCQUFnQjtJQUg1QixTQUFTLENBQUM7UUFDUixRQUFRLEVBQUUsWUFBWTtLQUN4QixDQUFDO0dBQ1csZ0JBQWdCLENBd1Q1QjtTQXhUWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgQXBwbGljYXRpb25SZWYsXG4gICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICBDb21wb25lbnRSZWYsXG4gICBEaXJlY3RpdmUsXG4gICBFbGVtZW50UmVmLFxuICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgSG9zdExpc3RlbmVyLFxuICAgSW5qZWN0b3IsXG4gICBJbnB1dCxcbiAgIE9uRGVzdHJveSxcbiAgIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRGVib3VuY2VVdGlscyB9IGZyb20gXCIuLi91dGlscy9kZWJvdWNlXCI7XG5pbXBvcnQgeyBNb2JpbGVCZWhhdmlvciwgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRWxlbWVudEFyZWEgfSBmcm9tIFwiLi9tb2RlbHMvZWxlbWVudC1hcmVhXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgc2VsZWN0b3I6IFwiW3NUb29sdGlwXVwiLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgQElucHV0KFwic1Rvb2x0aXBcIilcbiAgIHB1YmxpYyB0b29sdGlwOiBzdHJpbmc7XG5cbiAgIEBJbnB1dChcInRvb2x0aXBQb3NpdGlvblwiKVxuICAgcHVibGljIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHNob3dEZWxheSA9IDUwMDtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBkaXNwbGF5VGltZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHRvb2x0aXBFdmVudCA9IFRvb2x0aXBFdmVudC5Ib3ZlcjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBlc2NhcGUgPSBmYWxzZTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtb2JpbGVCZWhhdmlvciA9IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nO1xuXG4gICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICAgcHJpdmF0ZSBzaG93VGltZW91dD86IG51bWJlcjtcbiAgIHByaXZhdGUgdG91Y2hUaW1lb3V0PzogbnVtYmVyO1xuICAgcHJpdmF0ZSB0b29sdGlwRGl2RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgcHJpdmF0ZSByZWFkb25seSBib3VuZE9uV2luZG93TW91c2VNb3ZlRnVuY3Rpb246IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VDcmVhdGVUb29sdGlwRnVuY3Rpb246ICgpID0+IHZvaWQ7XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZVV0aWxzOiBEZWJvdW5jZVV0aWxzXG4gICApIHtcbiAgICAgIHRoaXMuYm91bmRPbldpbmRvd01vdXNlTW92ZUZ1bmN0aW9uID0gdGhpcy5vbldpbmRvd01vdXNlTW92ZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5kZWJvdW5jZUNyZWF0ZVRvb2x0aXBGdW5jdGlvbiA9IHRoaXMuZGVib3VuY2VVdGlscy5kZWJvdW5jZUxlYWRpbmcoKCkgPT4gdGhpcy5jcmVhdGVUb290aXAoKSk7XG4gICB9XG5cbiAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMudmFsaWRhdGVQb3NpdGlvbigpO1xuICAgfVxuXG4gICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBvbldpbmRvd01vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvb2xUaXBSZWN0ID0gdGhpcy50b29sdGlwRGl2RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgY29uc3QgdG90YWxFbGVtZW50QXJlYSA9IHtcbiAgICAgICAgIHRvcDogTWF0aC5taW4oZWxlbWVudFJlY3QudG9wLCB0b29sVGlwUmVjdC50b3ApLFxuICAgICAgICAgcmlnaHQ6IE1hdGgubWF4KGVsZW1lbnRSZWN0LnJpZ2h0LCB0b29sVGlwUmVjdC5yaWdodCksXG4gICAgICAgICBsZWZ0OiBNYXRoLm1pbihlbGVtZW50UmVjdC5sZWZ0LCB0b29sVGlwUmVjdC5sZWZ0KSxcbiAgICAgICAgIGJvdHRvbTogTWF0aC5tYXgoZWxlbWVudFJlY3QuYm90dG9tLCB0b29sVGlwUmVjdC5ib3R0b20pXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5pc01vdXNlUG9zaXRpb25PdXRzaWRlT2ZFbGVtZW50KGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFksIHRvdGFsRWxlbWVudEFyZWEpKSB7XG4gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBpc01vdXNlUG9zaXRpb25PdXRzaWRlT2ZFbGVtZW50KG1vdXNlWDogbnVtYmVyLCBtb3VzZVk6IG51bWJlciwgZWxlbWVudEFyZWE6IEVsZW1lbnRBcmVhKSB7XG4gICAgICByZXR1cm4gbW91c2VYIDwgZWxlbWVudEFyZWEubGVmdCB8fCBtb3VzZVggPj0gZWxlbWVudEFyZWEucmlnaHQgfHwgbW91c2VZIDwgZWxlbWVudEFyZWEudG9wIHx8IG1vdXNlWSA+PSBlbGVtZW50QXJlYS5ib3R0b207XG4gICB9XG5cbiAgIC8vIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgd2l0aCB0aGUgdG9vbHRpcCBpcyBjbGlja2VkIEkgZGVzdHJveSB0aGUgdG9vbHRpcC5cbiAgIC8vIHdoZW5ldmVyIGEga2V5IGlzIHByZXNzZWQgb24gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0b29sdGlwIEkgZGVzdHJveSB0aGUgdG9vbHRpcC5cbiAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd25cIilcbiAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudG9vbHRpcEV2ZW50ID09PSBUb29sdGlwRXZlbnQuSG92ZXIgJiZcbiAgICAgICAgICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BbmRyb2lkL2kpICYmXG4gICAgICAgICAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpKSB7XG4gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgIH1cblxuICAgLy8gd2hlbmV2ZXIgeW91IHRvdWNoIG91dHNpZGUgdGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0b29sdGlwIEkgZGVzdHJveSB0aGUgdG9vbHRpcC5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDp0b3VjaHN0YXJ0XCIpXG4gICBwdWJsaWMgb25Eb2N1bWVudFRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB9XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJmb2N1c1wiKVxuICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Gb2N1cykge1xuICAgICAgICAgdGhpcy5jcmVhdGVUb290aXAoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImJsdXJcIilcbiAgIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Gb2N1cykge1xuICAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB9XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG4gICBwdWJsaWMgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudG9vbHRpcEV2ZW50ID09PSBUb29sdGlwRXZlbnQuSG92ZXIpIHtcbiAgICAgICAgIHRoaXMuZGVib3VuY2VDcmVhdGVUb29sdGlwRnVuY3Rpb24oKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIilcbiAgIEBIb3N0TGlzdGVuZXIoXCJ3aGVlbFwiKVxuICAgcHVibGljIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnRvb2x0aXBFdmVudCA9PT0gVG9vbHRpcEV2ZW50LkhvdmVyKSB7XG4gICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcInRvdWNoc3RhcnRcIilcbiAgIHB1YmxpYyBvblRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy50b29sdGlwRXZlbnQgPT09IFRvb2x0aXBFdmVudC5Ib3Zlcikge1xuICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRvdWNoVGltZW91dCk7XG4gICAgICAgICB0aGlzLnRvdWNoVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUb290aXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIHRoaXMubW9iaWxlQmVoYXZpb3IgPT09IE1vYmlsZUJlaGF2aW9yLlByZXNzaW5nID8gdGhpcy5zaG93RGVsYXkgOiAwXG4gICAgICAgICApO1xuICAgICAgfVxuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwidG91Y2hlbmRcIilcbiAgIHB1YmxpYyBvblRvdWNoRW5kKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudG9vbHRpcEV2ZW50ID09PSBUb29sdGlwRXZlbnQuSG92ZXIpIHtcbiAgICAgICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yID09PSBNb2JpbGVCZWhhdmlvci5QcmVzc2luZykge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRvdWNoVGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSB2YWxpZGF0ZVBvc2l0aW9uKCkge1xuICAgICAgY29uc3QgY29udGFpbnNQb3NpdGlvbiA9IFtcbiAgICAgICAgIFRvb2x0aXBQb3NpdGlvbi5Ub3AsXG4gICAgICAgICBUb29sdGlwUG9zaXRpb24uUmlnaHQsXG4gICAgICAgICBUb29sdGlwUG9zaXRpb24uQm90dG9tLFxuICAgICAgICAgVG9vbHRpcFBvc2l0aW9uLkxlZnQsXG4gICAgICBdLmluY2x1ZGVzKHRoaXMucG9zaXRpb24pO1xuXG4gICAgICBpZiAoIWNvbnRhaW5zUG9zaXRpb24pIHtcbiAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUb29sdGlwICR7dGhpcy5wb3NpdGlvbn0gcG9zaXRpb24gaXMgdW5leHBlY3RlZGApO1xuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIGNyZWF0ZVRvb3RpcCgpIHtcbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiA9PT0gbnVsbCAmJiB0aGlzLnRvb2x0aXA/Lmxlbmd0aCkge1xuICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRvb2x0aXBDb21wb25lbnQpO1xuICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgIHRoaXMuc2V0VG9vbHRpcENvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAgICAgIHRoaXMuc2hvd1RpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCh0aGlzLnNob3dUb29sdGlwLmJpbmQodGhpcyksIHRoaXMuc2hvd0RlbGF5KTtcblxuICAgICAgICAgdGhpcy50b29sdGlwRGl2RWxlbWVudCA9IGRvbUVsZW0ucXVlcnlTZWxlY3RvcignLnRvb2x0aXAnKTtcblxuICAgICAgICAgaWYgKHRoaXMuZGlzcGxheVRpbWUpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZGVzdHJveS5iaW5kKHRoaXMpLCB0aGlzLmRpc3BsYXlUaW1lKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBzaG93VG9vbHRpcCgpIHtcbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kT25XaW5kb3dNb3VzZU1vdmVGdW5jdGlvbik7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgc2V0VG9vbHRpcENvbXBvbmVudFByb3BlcnRpZXMoKSB7XG4gICAgICBjb25zdCBtYXJnaW4gPSAyMDtcbiAgICAgIGNvbnN0IGFuY2hvclNpemUgPSA1O1xuXG4gICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXA7XG4gICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5lc2NhcGUgPSB0aGlzLmVzY2FwZTtcblxuICAgICAgICAgY29uc3QgeyBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20gfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICBjb25zdCB0b29sdGlwSGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xuICAgICAgICAgY29uc3QgdG9vbHRpcFdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgICAgICAgY29uc3Qgc2FmZVNwYWNlID0gMTUwO1xuXG4gICAgICAgICBsZXQgcG9zaXRpb25lZCA9IGZhbHNlO1xuICAgICAgICAgY29uc3QgaW52YWxpZE9wdGlvbnM6IFRvb2x0aXBQb3NpdGlvbltdID0gW107XG5cbiAgICAgICAgIHdoaWxlICghcG9zaXRpb25lZCkge1xuICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKFRvb2x0aXBQb3NpdGlvbi5Ub3ApXG4gICAgICAgICAgICAgICAmJiBpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uQm90dG9tKVxuICAgICAgICAgICAgICAgJiYgaW52YWxpZE9wdGlvbnMuaW5jbHVkZXMoVG9vbHRpcFBvc2l0aW9uLkxlZnQpXG4gICAgICAgICAgICAgICAmJiBpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uUmlnaHQpKSB7XG4gICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHNwYWNlIHRvIHNob3cgdG9vbHRpcFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5Ub3A6IHtcbiAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uVG9wKSkge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5MZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcFNoaWZ0ID0gdG9wO1xuXG4gICAgICAgICAgICAgICAgICBpZiAodG9wU2hpZnQgPD0gdG9vbHRpcEhlaWdodCArIHNhZmVTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5Cb3R0b207XG4gICAgICAgICAgICAgICAgICAgICBpbnZhbGlkT3B0aW9ucy5wdXNoKFRvb2x0aXBQb3NpdGlvbi5Ub3ApO1xuICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKHRvb2x0aXBXaWR0aCAvIDIgKyBsZWZ0KTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQodG9wIC0gbWFyZ2luIC0gYW5jaG9yU2l6ZSk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uQm90dG9tOiB7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uQm90dG9tKSkge1xuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5MZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJvdHRvbVNoaWZ0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgLSBib3R0b207XG5cbiAgICAgICAgICAgICAgICAgIGlmIChib3R0b21TaGlmdCA8PSB0b29sdGlwSGVpZ2h0ICsgc2FmZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLlRvcDtcbiAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goVG9vbHRpcFBvc2l0aW9uLkJvdHRvbSk7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IE1hdGgucm91bmQodG9vbHRpcFdpZHRoIC8gMiArIGxlZnQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gTWF0aC5yb3VuZChib3R0b20gKyBtYXJnaW4pO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb25lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLkxlZnQ6IHtcbiAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uTGVmdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uVG9wO1xuICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRTaGlmdCA9IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChsZWZ0U2hpZnQgPD0gdG9vbHRpcFdpZHRoICsgc2FmZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLlJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaChUb29sdGlwUG9zaXRpb24uTGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IE1hdGgucm91bmQobGVmdCAtIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLnJvdW5kKHRvcCArIHRvb2x0aXBIZWlnaHQgLyAyIC0gYW5jaG9yU2l6ZSk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uUmlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcyhUb29sdGlwUG9zaXRpb24uUmlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLlRvcDtcbiAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCByaWdodFNoaWZ0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCAtIHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgICBpZiAocmlnaHRTaGlmdCA8PSB0b29sdGlwV2lkdGggKyBzYWZlU3BhY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb24uTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goVG9vbHRpcFBvc2l0aW9uLlJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gTWF0aC5yb3VuZChyaWdodCArIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLnJvdW5kKHRvcCArIHRvb2x0aXBIZWlnaHQgLyAyIC0gYW5jaG9yU2l6ZSk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXQpO1xuICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICB0aGlzLnRvb2x0aXBEaXZFbGVtZW50ID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuYm91bmRPbldpbmRvd01vdXNlTW92ZUZ1bmN0aW9uKTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const DEFAULT_TIMER = 300;
|
|
5
|
+
let DebounceUtils = class DebounceUtils {
|
|
6
|
+
debounce(func, timeout = DEFAULT_TIMER) {
|
|
7
|
+
let timer;
|
|
8
|
+
return (...args) => {
|
|
9
|
+
clearTimeout(timer);
|
|
10
|
+
timer = setTimeout(() => {
|
|
11
|
+
func.apply(this, args);
|
|
12
|
+
}, timeout);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
debounceLeading(func, timeout = DEFAULT_TIMER) {
|
|
16
|
+
let timer;
|
|
17
|
+
return (...args) => {
|
|
18
|
+
if (!timer) {
|
|
19
|
+
func.apply(this, args);
|
|
20
|
+
}
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
timer = setTimeout(() => {
|
|
23
|
+
timer = null;
|
|
24
|
+
}, timeout);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
DebounceUtils.ɵprov = i0.ɵɵdefineInjectable({ factory: function DebounceUtils_Factory() { return new DebounceUtils(); }, token: DebounceUtils, providedIn: "root" });
|
|
29
|
+
DebounceUtils = __decorate([
|
|
30
|
+
Injectable({
|
|
31
|
+
providedIn: 'root',
|
|
32
|
+
})
|
|
33
|
+
], DebounceUtils);
|
|
34
|
+
export { DebounceUtils };
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3V0aWxzL2RlYm91Y2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQUsxQixJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBQ2YsUUFBUSxDQUFDLElBQWMsRUFBRSxPQUFPLEdBQUcsYUFBYTtRQUNuRCxJQUFJLEtBQXFCLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsSUFBUyxFQUFFLEVBQUU7WUFDcEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFjLEVBQUUsT0FBTyxHQUFHLGFBQWE7UUFDMUQsSUFBSSxLQUFxQixDQUFDO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLElBQVMsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDMUI7WUFDRCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDakIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOztBQXZCWSxhQUFhO0lBSHpCLFVBQVUsQ0FBQztRQUNSLFVBQVUsRUFBRSxNQUFNO0tBQ3JCLENBQUM7R0FDVyxhQUFhLENBdUJ6QjtTQXZCWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBERUZBVUxUX1RJTUVSID0gMzAwO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEZWJvdW5jZVV0aWxzIHtcbiAgICBwdWJsaWMgZGVib3VuY2UoZnVuYzogRnVuY3Rpb24sIHRpbWVvdXQgPSBERUZBVUxUX1RJTUVSKXtcbiAgICAgICAgbGV0IHRpbWVyOiBOb2RlSlMuVGltZW91dDtcbiAgICAgICAgcmV0dXJuICguLi5hcmdzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVib3VuY2VMZWFkaW5nKGZ1bmM6IEZ1bmN0aW9uLCB0aW1lb3V0ID0gREVGQVVMVF9USU1FUikge1xuICAgICAgICBsZXQgdGltZXI6IE5vZGVKUy5UaW1lb3V0O1xuICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aW1lcikge1xuICAgICAgICAgICAgICAgIGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aW1lciA9IG51bGw7XG4gICAgICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
|
|
1
|
+
export { Breakpoints } from "./breakpoints";
|
|
2
|
+
export { ExportUtils } from "./export-utils";
|
|
3
|
+
export { DebounceUtils } from "./debouce";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQnJlYWtwb2ludHMgfSBmcm9tIFwiLi9icmVha3BvaW50c1wiO1xuZXhwb3J0IHsgRXhwb3J0VXRpbHMgfSBmcm9tIFwiLi9leHBvcnQtdXRpbHNcIjtcbmV4cG9ydCB7IERlYm91bmNlVXRpbHMgfSBmcm9tIFwiLi9kZWJvdWNlXCI7Il19
|
|
@@ -26,10 +26,10 @@ var RowComponent = /** @class */ (function () {
|
|
|
26
26
|
], RowComponent.prototype, "errorMessages", void 0);
|
|
27
27
|
RowComponent = __decorate([
|
|
28
28
|
Component({
|
|
29
|
-
template: "\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <label\n [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\"\n *sInfoSign=\"field.infoSign\"\n >\n {{ field.label }}\n </label>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n </div>\n </ng-container>\n </div>\n "
|
|
29
|
+
template: "\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <label\n [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\"\n *sInfoSign=\"field.infoSign\"\n >\n {{ field.label }}\n </label>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n <ng-template *ngIf=\"field?.bottomTemplate\" [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n </div>\n </ng-container>\n </div>\n "
|
|
30
30
|
})
|
|
31
31
|
], RowComponent);
|
|
32
32
|
return RowComponent;
|
|
33
33
|
}());
|
|
34
34
|
export { RowComponent };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2dyaWQvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBMEJ6RDtJQVVJO0lBQWUsQ0FBQztJQUVULCtCQUFRLEdBQWYsY0FBbUIsQ0FBQztJQUViLHVDQUFnQixHQUF2QixVQUF3QixhQUFrQjtRQUN0QyxJQUFJLGFBQWE7WUFBRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDM0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFTSxpQ0FBVSxHQUFqQixVQUFrQixLQUFVO1FBQ3hCLE9BQU8sS0FBSyxZQUFZLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBbkJEO1FBREMsS0FBSyxFQUFFOzRDQUNVO0lBRWxCO1FBREMsS0FBSyxFQUFFO2dEQUNXO0lBRW5CO1FBREMsS0FBSyxFQUFFOytDQUNnQjtJQUV4QjtRQURDLEtBQUssRUFBRTt1REFDa0I7SUFSakIsWUFBWTtRQXRCeEIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHNoQ0FtQlQ7U0FDSixDQUFDO09BQ1csWUFBWSxDQXNCeEI7SUFBRCxtQkFBQztDQUFBLEFBdEJELElBc0JDO1NBdEJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBSb3cgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZ3JpZC9yb3dcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInVpLWZsdWlkXCIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidWktZ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29uZmlnLmZpZWxkc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZmllbGQuZ3JpZENsYXNzXCIgKm5nSWY9XCJmaWVsZC52aXNpYmxlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncmVxdWlyZWQnOiBmaWVsZC5yZXF1aXJlZCgpIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKnNJbmZvU2lnbj1cImZpZWxkLmluZm9TaWduXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpzRHluYW1pY0Zvcm09XCJ7IGlkOiBpZCwgY29uZmlnOiBmaWVsZCwgZ3JvdXA6IGdyb3VwfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8cy1jb250cm9sLWVycm9ycyBbZm9ybV09XCJncm91cFwiIFtjb250cm9sXT1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VzXT1cImdldEVycm9yTWVzc2FnZXMoZmllbGQuZXJyb3JNZXNzYWdlcylcIj48L3MtY29udHJvbC1lcnJvcnM+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImZpZWxkPy5ib3R0b21UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZpZWxkLmJvdHRvbVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29uZmlnOiBSb3c7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gICAgcHVibGljIGdldEVycm9yTWVzc2FnZXMoZXJyb3JNZXNzYWdlczogYW55KSB7XG4gICAgICAgIGlmIChlcnJvck1lc3NhZ2VzKSByZXR1cm4gdGhpcy5pc0Z1bmN0aW9uKGVycm9yTWVzc2FnZXMpID8gZXJyb3JNZXNzYWdlcygpIDogZXJyb3JNZXNzYWdlcztcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGdW5jdGlvbih2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -72,4 +72,4 @@ var Option = /** @class */ (function () {
|
|
|
72
72
|
return Option;
|
|
73
73
|
}());
|
|
74
74
|
export { Option };
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7SUE4SUksbUJBQVksTUFBVztRQUNuQixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLFlBQVk7Z0JBQ3ZCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDVCxJQUFBLDBDQUFnQixFQUFFLG1EQUFlLENBQVk7Z0JBQ3JELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFDTCxnQkFBQztBQUFELENBQUMsQUExTEQsSUEwTEM7O0FBRUQ7SUFJSSxnQkFBWSxLQUFhLEVBQUUsS0FBVTtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0wsYUFBQztBQUFELENBQUMsQUFSRCxJQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50T3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2tcIjtcbmltcG9ydCB7IEZpbGVEdG8gfSBmcm9tIFwiLi4vLi4vZmlsZS11cGxvYWQvaW5kZXhcIjtcbmltcG9ydCB7IENhbGVuZGFyTG9jYWxlT3B0aW9ucywgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sb2NhbGUvaW5kZXhcIjtcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiB9IGZyb20gXCIuLi8uLi9udW1iZXItaW5wdXRcIjtcbmltcG9ydCB7IEFkZG9uQ29uZmlnIH0gZnJvbSBcIi4vYWRkb24tY29uZmlnXCI7XG5pbXBvcnQgeyBGaWVsZFNpemUgfSBmcm9tIFwiLi9maWVsZC1zaXplXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGQge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRlbGxzIHdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgICAqL1xuICAgIHJlcXVpcmVkPzogKCkgPT4gYm9vbGVhbjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHNvcnRhYmxlQ29sdW1uTmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExhYmVscyBvZiBhIFJhZGlvIEJ1dHRvbiwgb25seSB1c2VkIHRvIEZpZWxkVHlwZSBCb29sZWFuXG4gICAgICovXG4gICAgb3B0aW9uc0xhYmVsPzogQm9vbGVhbk9wdGlvbnNMYWJlbDtcbiAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1hc2sgcGF0dGVybi5cbiAgICAgKi9cbiAgICBtYXNrPzogKCkgPT4gc3RyaW5nIHwgc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzIGZvciBhIHF1ZXJ5LlxuICAgICAqL1xuICAgIGVtcHR5TWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xzPzogbnVtYmVyO1xuICAgIHJvd3M/OiBudW1iZXI7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IGFueTtcbiAgICBjYWxlbmRhckxvY2FsZU9wdGlvbnM/OiBDYWxlbmRhckxvY2FsZU9wdGlvbnM7XG4gICAgbnVtYmVyTG9jYWxlT3B0aW9ucz86IE51bWJlckxvY2FsZU9wdGlvbnM7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIGJyb3dzZXJBdXRvY29tcGxldGU/OiBib29sZWFuO1xuICAgIHNob3dDbGVhcj86IGJvb2xlYW47XG4gICAgc2hvd09uRm9jdXM/OiBib29sZWFuO1xuICAgIHN0eWxlPzogeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICAgIHJlcHJlc2VudGVkQnk/OiBcInJhZGlvXCIgfCBcInN3aXRjaFwiO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGBSYWRpb0J1dHRvbmAgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiB0aGUgdmVydGljYWwgb3Igbm90LlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICB2ZXJ0aWNhbEFsaWdubWVudD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRmllbGQgbWF4IGxlbmd0aFxuICAgICAqL1xuICAgIHByZWNpc2lvbj86IEZ1bmN0aW9uIHwgbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICAgICAqL1xuICAgIHNjYWxlPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNpbmcgRmllbGRUeXBlLk51bWJlciB0aGlzIGF0dHJpYnV0ZSBpcyB1bm5lY2Vzc2FyeVxuICAgICAqL1xuICAgIGFsaWduVG8/OiBOdW1iZXJBbGlnbm1lbnRPcHRpb24gfCBBbGlnbm1lbnRPcHRpb25zO1xuICAgIGdyaWRDbGFzcz86XG4gICAgICAgIHwgc3RyaW5nXG4gICAgICAgIHwgc3RyaW5nW11cbiAgICAgICAgfCBTZXQ8c3RyaW5nPlxuICAgICAgICB8IHtcbiAgICAgICAgICAgICAgW2tsYXNzOiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgfTtcbiAgICBzaXplPzogRmllbGRTaXplO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBpbnB1dFR5cGU/OiBzdHJpbmc7XG4gICAgYWNjZXB0Pzogc3RyaW5nO1xuICAgIGZpbGVzPzogRmlsZUR0b1tdO1xuICAgIGF1dG9jb21wbGV0ZUZvcmNlU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWluRGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLlxuICAgICAqL1xuICAgIG1heERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGF0ZSB0byBoaWdobGlnaHQgb24gZmlyc3Qgb3BlbmluZyBpZiB0aGUgZmllbGQgaXMgYmxhbmsuXG4gICAgICovXG4gICAgZGVmYXVsdERhdGU/OiBEYXRlO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHRoZSBsZWZ0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIGxlZnRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFRleHQgb3IgaWNvbiB0byBiZSBncm91cGVkIGluIHJpZ2h0IG9mIGFuIGlucHV0LlxuICAgICAqL1xuICAgIHJpZ2h0QWRkb24/OiBBZGRvbkNvbmZpZztcbiAgICAvKipcbiAgICAgKiBJbmZvU2lnbiBwYXJhIGEgbGFiZWwgZG8gaW5wdXQuXG4gICAgICovXG4gICAgaW5mb1NpZ24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRXhwcmVzc2lvbiB0byByZXN0cmljdHMgdXNlciBpbnB1dFxuICAgICAqL1xuICAgIGtleUZpbHRlcj86IFJlZ0V4cDtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgZm9yIGZpZWxkXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgRm9ybUZpZWxkIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBlcnJvck1lc3NhZ2VzPzogKCkgPT4gKHt9KSB8IHt9O1xuICAgIHZpc2libGU/OiAoKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uQmx1cj86IChldmVudDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgZmllbGQgcmVjZWl2ZXMgZm9jdXNcbiAgICAgKi9cbiAgICBvbkZvY3VzPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ29tcGxldGU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbklucHV0PzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgb25TZWxlY3Q/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gY29tcG9uZW50IGNsaWNrLlxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsb3NlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Ub2RheUNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DbGVhckNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25Nb250aENoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uWWVhckNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgYWRkZWQuXG4gICAgICovXG4gICAgb25BZGQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIHZhbHVlIGlzIHJlbW92ZWQuXG4gICAgICovXG4gICAgb25SZW1vdmU/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBvbkNoaXBDbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuXG4gICAgQ3VzdG9tRmllbGRDbGFzcz86IGFueTtcbiAgICBDdXN0b21GaWVsZENvbXBvbmVudENsYXNzPzogYW55O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTW9uZXk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJyZW5jeUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERlY2ltYWxGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmlnbnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJpbmFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQYXNzd29yZEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuU3dpdGNoRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvY2FsRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsZW5kYXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9va3VwOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTG9va3VwRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmFkaW9CdXR0b25GaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CbG9iOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmxvYkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQ7SUFnSkksbUJBQVksTUFBVztRQUNuQixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLEtBQUssU0FBUyxDQUFDLFlBQVk7Z0JBQ3ZCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNqQixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNmLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDVCxJQUFBLDBDQUFnQixFQUFFLG1EQUFlLENBQVk7Z0JBQ3JELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFDTCxnQkFBQztBQUFELENBQUMsQUE1TEQsSUE0TEM7O0FBRUQ7SUFJSSxnQkFBWSxLQUFhLEVBQUUsS0FBVTtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0wsYUFBQztBQUFELENBQUMsQUFSRCxJQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50T3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2tcIjtcbmltcG9ydCB7IEZpbGVEdG8gfSBmcm9tIFwiLi4vLi4vZmlsZS11cGxvYWQvaW5kZXhcIjtcbmltcG9ydCB7IENhbGVuZGFyTG9jYWxlT3B0aW9ucywgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sb2NhbGUvaW5kZXhcIjtcbmltcG9ydCB7IE51bWJlckFsaWdubWVudE9wdGlvbiB9IGZyb20gXCIuLi8uLi9udW1iZXItaW5wdXRcIjtcbmltcG9ydCB7IEFkZG9uQ29uZmlnIH0gZnJvbSBcIi4vYWRkb24tY29uZmlnXCI7XG5pbXBvcnQgeyBGaWVsZFNpemUgfSBmcm9tIFwiLi9maWVsZC1zaXplXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi9maWVsZC10eXBlXCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGRcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgQmxvYkZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL2Jsb2ItZmllbGRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuL2ZpZWxkcy9ib29sZWFuLWZpZWxkXCI7XG5pbXBvcnQgeyBCb29sZWFuU3dpdGNoRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvYm9vbGVhbi1zd2l0Y2gtZmllbGRcIjtcbmltcG9ydCB7IENhbGVuZGFyRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2FsZW5kYXItZmllbGRcIjtcbmltcG9ydCB7IENoaXBzRmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY2hpcHMtZmllbGRcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGQgfSBmcm9tIFwiLi9maWVsZHMvY3VycmVuY3ktZmllbGRcIjtcbmltcG9ydCB7IERlY2ltYWxGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9kZWNpbWFsLWZpZWxkXCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9sb29rdXAtZmllbGRcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGRcIjtcbmltcG9ydCB7IFNlbGVjdEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3NlbGVjdC1maWVsZFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gXCIuL2ZpZWxkcy90ZXh0LWZpZWxkXCI7XG5pbXBvcnQgeyBQYXNzd29yZEZpZWxkIH0gZnJvbSBcIi4vZmllbGRzL3Bhc3N3b3JkLWZpZWxkXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cblxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZCB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGVsbHMgd2hldGhlciB0aGUgZmllbGQgaXMgcmVxdWlyZWQgb3Igbm90XG4gICAgICovXG4gICAgcmVxdWlyZWQ/OiAoKSA9PiBib29sZWFuO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc29ydGFibGVDb2x1bW5OYW1lPzogc3RyaW5nO1xuICAgIHR5cGU/OiBGaWVsZFR5cGU7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTGFiZWxzIG9mIGEgUmFkaW8gQnV0dG9uLCBvbmx5IHVzZWQgdG8gRmllbGRUeXBlIEJvb2xlYW5cbiAgICAgKi9cbiAgICBvcHRpb25zTGFiZWw/OiBCb29sZWFuT3B0aW9uc0xhYmVsO1xuICAgIHRvb2x0aXA/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTWFzayBwYXR0ZXJuLlxuICAgICAqL1xuICAgIG1hc2s/OiAoKSA9PiBzdHJpbmcgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlcmUgYXJlIG5vIHJlc3VsdHMgZm9yIGEgcXVlcnkuXG4gICAgICovXG4gICAgZW1wdHlNZXNzYWdlPzogc3RyaW5nO1xuICAgIGNvbHM/OiBudW1iZXI7XG4gICAgcm93cz86IG51bWJlcjtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBvcHRpb25zPzogYW55O1xuICAgIGNhbGVuZGFyTG9jYWxlT3B0aW9ucz86IENhbGVuZGFyTG9jYWxlT3B0aW9ucztcbiAgICBudW1iZXJMb2NhbGVPcHRpb25zPzogTnVtYmVyTG9jYWxlT3B0aW9ucztcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgYnJvd3NlckF1dG9jb21wbGV0ZT86IGJvb2xlYW47XG4gICAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgICBzaG93T25Gb2N1cz86IGJvb2xlYW47XG4gICAgc3R5bGU/OiB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gICAgcmVwcmVzZW50ZWRCeT86IFwicmFkaW9cIiB8IFwic3dpdGNoXCI7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgYFJhZGlvQnV0dG9uYCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIHRoZSB2ZXJ0aWNhbCBvciBub3QuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHZlcnRpY2FsQWxpZ25tZW50PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBGaWVsZCBtYXggbGVuZ3RoXG4gICAgICovXG4gICAgcHJlY2lzaW9uPzogRnVuY3Rpb24gfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICovXG4gICAgc2NhbGU/OiBGdW5jdGlvbiB8IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2luZyBGaWVsZFR5cGUuTnVtYmVyIHRoaXMgYXR0cmlidXRlIGlzIHVubmVjZXNzYXJ5XG4gICAgICovXG4gICAgYWxpZ25Ubz86IE51bWJlckFsaWdubWVudE9wdGlvbiB8IEFsaWdubWVudE9wdGlvbnM7XG4gICAgZ3JpZENsYXNzPzpcbiAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgfCBzdHJpbmdbXVxuICAgICAgICB8IFNldDxzdHJpbmc+XG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgICAgICAgICB9O1xuICAgIHNpemU/OiBGaWVsZFNpemU7XG4gICAgbXVsdGlwbGVTZWxlY3RlZExhYmVsPzogc3RyaW5nO1xuICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICBhY2NlcHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBGaWxlRHRvW107XG4gICAgYXV0b2NvbXBsZXRlRm9yY2VTZWxlY3Rpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5EYXRlPzogRGF0ZTtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIGRhdGUuXG4gICAgICovXG4gICAgbWF4RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkYXRlIHRvIGhpZ2hsaWdodCBvbiBmaXJzdCBvcGVuaW5nIGlmIHRoZSBmaWVsZCBpcyBibGFuay5cbiAgICAgKi9cbiAgICBkZWZhdWx0RGF0ZT86IERhdGU7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gdGhlIGxlZnQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgbGVmdEFkZG9uPzogQWRkb25Db25maWc7XG4gICAgLyoqXG4gICAgICogVGV4dCBvciBpY29uIHRvIGJlIGdyb3VwZWQgaW4gcmlnaHQgb2YgYW4gaW5wdXQuXG4gICAgICovXG4gICAgcmlnaHRBZGRvbj86IEFkZG9uQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIEluZm9TaWduIHBhcmEgYSBsYWJlbCBkbyBpbnB1dC5cbiAgICAgKi9cbiAgICBpbmZvU2lnbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBFeHByZXNzaW9uIHRvIHJlc3RyaWN0cyB1c2VyIGlucHV0XG4gICAgICovXG4gICAga2V5RmlsdGVyPzogUmVnRXhwO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgZmllbGRcbiAgICAgKi9cbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogQ3VzdG9taXplZCBGb3JtRmllbGQgZXJyb3IgbWVzc2FnZVxuICAgICAqL1xuICAgIGVycm9yTWVzc2FnZXM/OiAoKSA9PiAoe30pIHwge307XG4gICAgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGZpZWxkIGxvc2VzIGZvY3VzXG4gICAgICovXG4gICAgb25CbHVyPzogKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHRoZSBmaWVsZCByZWNlaXZlcyBmb2N1c1xuICAgICAqL1xuICAgIG9uRm9jdXM/OiAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgb25Db21wbGV0ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uSW5wdXQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBvblNlbGVjdD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBjb21wb25lbnQgY2xpY2suXG4gICAgICovXG4gICAgb25DbGljaz86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIG9uQ2xvc2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvblRvZGF5Q2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNsZWFyQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbk1vbnRoQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25ZZWFyQ2hhbmdlPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYSB2YWx1ZSBpcyBhZGRlZC5cbiAgICAgKi9cbiAgICBvbkFkZD86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgdmFsdWUgaXMgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBvblJlbW92ZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgY2hpcCBpcyBjbGlja2VkLlxuICAgICAqL1xuICAgIG9uQ2hpcENsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBDdXN0b21GaWVsZENsYXNzPzogYW55O1xuICAgIEN1c3RvbUZpZWxkQ29tcG9uZW50Q2xhc3M/OiBhbnk7XG5cbiAgICBib3R0b21UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbGVjdEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTW9uZXk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdXJyZW5jeUZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5JbnRlZ2VyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRvdWJsZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERlY2ltYWxGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmlnbnVtYmVyRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkJpbmFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFRleHRGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuUGFzc3dvcmQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQYXNzd29yZEZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnJlcHJlc2VudGVkQnkgPT09IFwic3dpdGNoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuU3dpdGNoRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkxvY2FsRGF0ZVRpbWU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsZW5kYXJGaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuTG9va3VwOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTG9va3VwRmllbGQoY29uZmlnKTtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmFkaW9CdXR0b25GaWVsZChjb25maWcpO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQ2hpcHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDaGlwc0ZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5CbG9iOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmxvYkZpZWxkKGNvbmZpZyk7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5DdXN0b206XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDdXN0b21GaWVsZENsYXNzLCAuLi5vdGhlckNvbmZpZ3MgfSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN1c3RvbUZpZWxkQ2xhc3Mob3RoZXJDb25maWdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hcmVhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdG9vbHRpcC9tb2RlbHMvZWxlbWVudC1hcmVhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRBcmVhIHtcbiAgICB0b3A6IG51bWJlcjtcbiAgICByaWdodDogbnVtYmVyO1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcbn1cbiJdfQ==
|