@pepperi-addons/ngx-composite-lib 0.4.2-beta.63 → 0.4.2-beta.65
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/esm2020/flow-picker-button/flow-picker-button.component.mjs +6 -3
- package/esm2020/layout-builder/layout/layout.component.mjs +17 -3
- package/esm2020/layout-builder/layout-builder.component.mjs +3 -6
- package/esm2020/layout-builder/section/section.component.mjs +1 -2
- package/fesm2015/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +5 -2
- package/fesm2015/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs +18 -8
- package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs +5 -2
- package/fesm2020/pepperi-addons-ngx-composite-lib-flow-picker-button.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs +18 -8
- package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
- package/flow-picker-button/flow-picker-button.component.d.ts +3 -1
- package/layout-builder/layout/layout.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ export class FlowPickerButtonComponent {
|
|
|
12
12
|
this._flowHostObject = undefined;
|
|
13
13
|
this.disabled = false;
|
|
14
14
|
this.styleType = 'weak';
|
|
15
|
+
this.flowDlgSize = 'small';
|
|
15
16
|
this.flowChange = new EventEmitter();
|
|
16
17
|
this.choosenFlowName = '';
|
|
17
18
|
this.choosenFlowKey = '';
|
|
@@ -52,7 +53,7 @@ export class FlowPickerButtonComponent {
|
|
|
52
53
|
const dialogRef = this.addonBlockLoaderService.loadAddonBlockInDialog({
|
|
53
54
|
container: this.viewContainerRef,
|
|
54
55
|
name: 'FlowPicker',
|
|
55
|
-
size:
|
|
56
|
+
size: this.flowDlgSize,
|
|
56
57
|
hostObject: this.flowHostObject,
|
|
57
58
|
hostEventsCallback: async (event) => {
|
|
58
59
|
if (event.action === 'on-done') {
|
|
@@ -75,7 +76,7 @@ export class FlowPickerButtonComponent {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
FlowPickerButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FlowPickerButtonComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.PepAddonBlockLoaderService }, { token: i2.FlowPickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
FlowPickerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FlowPickerButtonComponent, selector: "pep-flow-picker-button", inputs: { flowHostObject: "flowHostObject", disabled: "disabled", styleType: "styleType" }, outputs: { flowChange: "flowChange" }, ngImport: i0, template: "<pep-button class=\"flow-button\" [styleType]=\"styleType\"\n [value]=\"choosenFlowKey ? (choosenFlowName || choosenFlowKey) : ('FLOW_PICKER_BUTTON.CHOOSE_FLOW' | translate)\" \n [disabled]=\"disabled\" (buttonClick)=\"openFlowPickerDialog()\">\n</pep-button>", styles: [":host{width:100%}\n"], dependencies: [{ kind: "component", type: i3.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
79
|
+
FlowPickerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FlowPickerButtonComponent, selector: "pep-flow-picker-button", inputs: { flowHostObject: "flowHostObject", disabled: "disabled", styleType: "styleType", flowDlgSize: "flowDlgSize" }, outputs: { flowChange: "flowChange" }, ngImport: i0, template: "<pep-button class=\"flow-button\" [styleType]=\"styleType\"\n [value]=\"choosenFlowKey ? (choosenFlowName || choosenFlowKey) : ('FLOW_PICKER_BUTTON.CHOOSE_FLOW' | translate)\" \n [disabled]=\"disabled\" (buttonClick)=\"openFlowPickerDialog()\">\n</pep-button>", styles: [":host{width:100%}\n"], dependencies: [{ kind: "component", type: i3.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
79
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FlowPickerButtonComponent, decorators: [{
|
|
80
81
|
type: Component,
|
|
81
82
|
args: [{ selector: 'pep-flow-picker-button', template: "<pep-button class=\"flow-button\" [styleType]=\"styleType\"\n [value]=\"choosenFlowKey ? (choosenFlowName || choosenFlowKey) : ('FLOW_PICKER_BUTTON.CHOOSE_FLOW' | translate)\" \n [disabled]=\"disabled\" (buttonClick)=\"openFlowPickerDialog()\">\n</pep-button>", styles: [":host{width:100%}\n"] }]
|
|
@@ -85,7 +86,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
85
86
|
type: Input
|
|
86
87
|
}], styleType: [{
|
|
87
88
|
type: Input
|
|
89
|
+
}], flowDlgSize: [{
|
|
90
|
+
type: Input
|
|
88
91
|
}], flowChange: [{
|
|
89
92
|
type: Output
|
|
90
93
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1waWNrZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2Zsb3ctcGlja2VyLWJ1dHRvbi9mbG93LXBpY2tlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmxvdy1waWNrZXItYnV0dG9uL2Zsb3ctcGlja2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV2pHLE1BQU0sT0FBTyx5QkFBeUI7SUEyQmxDLFlBQ1ksZ0JBQWtDLEVBQ2xDLHVCQUFtRCxFQUNuRCxpQkFBb0M7UUFGcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTRCO1FBQ25ELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUE1QnhDLG9CQUFlLEdBQVEsU0FBUyxDQUFDO1FBZ0JoQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBaUIsTUFBTSxDQUFDO1FBQ2pDLGdCQUFXLEdBQXNCLE9BQU8sQ0FBQztRQUVsRCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQWMsR0FBRyxFQUFFLENBQUM7SUFLc0IsQ0FBQztJQTNCckQsSUFDSSxjQUFjLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUU3QixxREFBcUQ7UUFDckQsSUFBSSxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRTtZQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNILElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBQ0QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFnQk8sZUFBZSxDQUFDLE9BQWU7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFlO1FBQ2xDLG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssT0FBTyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUIsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7aUJBQzdEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osY0FBYztJQUNsQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQztZQUNsRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUNoQyxJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQy9CLGtCQUFrQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtvQkFDNUIsZ0RBQWdEO29CQUNoRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO3dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDcEM7eUJBQU07d0JBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzlCO29CQUVELFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztpQkFDdEI7cUJBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtvQkFDckMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2lCQUN0QjtZQUNMLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOztzSEE5RVEseUJBQXlCOzBHQUF6Qix5QkFBeUIsNk5DWHRDLDJRQUdhOzJGRFFBLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx3QkFBd0I7Z0xBUTlCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRU4sVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwU3R5bGVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlclNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyJztcbmltcG9ydCB7IEZsb3dQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXBpY2tlci1idXR0b24uc2VydmljZSc7XG5pbXBvcnQgeyBQZXBEaWFsb2dTaXplVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZsb3ctcGlja2VyLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zsb3ctcGlja2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmxvdy1waWNrZXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmxvd1BpY2tlckJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwcml2YXRlIF9mbG93SG9zdE9iamVjdDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZsb3dIb3N0T2JqZWN0KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZmxvd0hvc3RPYmplY3QgPSB2YWx1ZTtcbiAgICAgICAgXG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgZmxvdyBrZXkgLSBzZWFyY2ggZm9yIHRoZSBmbG93IG5hbWUuXG4gICAgICAgIGlmICh2YWx1ZT8ucnVuRmxvd0RhdGE/LkZsb3dLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2hvb3NlbkZsb3codmFsdWUucnVuRmxvd0RhdGEuRmxvd0tleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDaG9vc2VuRmxvdygnJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGZsb3dIb3N0T2JqZWN0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mbG93SG9zdE9iamVjdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHN0eWxlVHlwZTogUGVwU3R5bGVUeXBlID0gJ3dlYWsnO1xuICAgIEBJbnB1dCgpIGZsb3dEbGdTaXplOiBQZXBEaWFsb2dTaXplVHlwZSA9ICdzbWFsbCc7XG4gICAgQE91dHB1dCgpXG4gICAgZmxvd0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBcbiAgICBwcm90ZWN0ZWQgY2hvb3NlbkZsb3dOYW1lID0gJyc7XG4gICAgcHJvdGVjdGVkIGNob29zZW5GbG93S2V5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGFkZG9uQmxvY2tMb2FkZXJTZXJ2aWNlOiBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSwgXG4gICAgICAgIHByaXZhdGUgZmxvd1BpY2tlclNlcnZpY2U6IEZsb3dQaWNrZXJTZXJ2aWNlKSB7IH1cblxuICAgIHByaXZhdGUgaW5pdENob29zZW5GbG93KGZsb3dLZXk6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNob29zZW5GbG93S2V5ID0gZmxvd0tleTtcbiAgICAgICAgdGhpcy5jaG9vc2VuRmxvd05hbWUgPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENob29zZW5GbG93KGZsb3dLZXk6IHN0cmluZykge1xuICAgICAgICAvLyBJZiB0aGlzIGlzIG5vdCB0aGUgc2FtZSBmbG93IGtleVxuICAgICAgICBpZiAodGhpcy5jaG9vc2VuRmxvd0tleSAhPT0gZmxvd0tleSkge1xuICAgICAgICAgICAgdGhpcy5pbml0Q2hvb3NlbkZsb3coZmxvd0tleSk7XG4gICAgXG4gICAgICAgICAgICAvLyBTZWFyY2ggZm9yIHRoZSBmbG93IG5hbWUuXG4gICAgICAgICAgICB0aGlzLmZsb3dQaWNrZXJTZXJ2aWNlLnNlYXJjaEZsb3dzKGZsb3dLZXkpLnRoZW4oZmxvd3MgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmbG93cz8uT2JqZWN0cz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNob29zZW5GbG93TmFtZSA9IGZsb3dzLk9iamVjdHNbMF0uTmFtZSB8fCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gRG8gbm90aGluZy5cbiAgICB9XG5cbiAgICBvcGVuRmxvd1BpY2tlckRpYWxvZygpIHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5hZGRvbkJsb2NrTG9hZGVyU2VydmljZS5sb2FkQWRkb25CbG9ja0luRGlhbG9nKHtcbiAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgbmFtZTogJ0Zsb3dQaWNrZXInLFxuICAgICAgICAgICAgc2l6ZTogdGhpcy5mbG93RGxnU2l6ZSxcbiAgICAgICAgICAgIGhvc3RPYmplY3Q6IHRoaXMuZmxvd0hvc3RPYmplY3QsXG4gICAgICAgICAgICBob3N0RXZlbnRzQ2FsbGJhY2s6IGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5hY3Rpb24gPT09ICdvbi1kb25lJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiBmbG93IGtleSBleGlzdCAtIHNlYXJjaCBmb3IgdGhlIGZsb3cgbmFtZS5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGE/LkZsb3dLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2hvb3NlbkZsb3coZXZlbnQuZGF0YS5GbG93S2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxvd0NoYW5nZS5lbWl0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0Q2hvb3NlbkZsb3coJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mbG93Q2hhbmdlLmVtaXQobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkaWFsb2dSZWY/LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT09ICdvbi1jYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpYWxvZ1JlZj8uY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxwZXAtYnV0dG9uIGNsYXNzPVwiZmxvdy1idXR0b25cIiBbc3R5bGVUeXBlXT1cInN0eWxlVHlwZVwiXG4gICAgW3ZhbHVlXT1cImNob29zZW5GbG93S2V5ID8gKGNob29zZW5GbG93TmFtZSB8fCBjaG9vc2VuRmxvd0tleSkgOiAoJ0ZMT1dfUElDS0VSX0JVVFRPTi5DSE9PU0VfRkxPVycgfCB0cmFuc2xhdGUpXCIgXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGJ1dHRvbkNsaWNrKT1cIm9wZW5GbG93UGlja2VyRGlhbG9nKClcIj5cbjwvcGVwLWJ1dHRvbj4iXX0=
|
|
@@ -22,6 +22,7 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
|
|
|
22
22
|
this.blockTemplate = undefined;
|
|
23
23
|
this._showSkeleton = false;
|
|
24
24
|
this.layoutViewChange = new EventEmitter();
|
|
25
|
+
this.screenTypeChange = new EventEmitter();
|
|
25
26
|
this._horizontalSpacing = 'md';
|
|
26
27
|
this._verticalSpacing = 'md';
|
|
27
28
|
this.paddingInline = '1rem';
|
|
@@ -103,6 +104,11 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
|
|
|
103
104
|
this.verticalSpacing = layoutView.Layout.VerticalSpacing;
|
|
104
105
|
}
|
|
105
106
|
}
|
|
107
|
+
setScreentType(screenSize) {
|
|
108
|
+
const screenType = this.layoutBuilderService.getScreenType(screenSize);
|
|
109
|
+
this.selectedScreenType = screenType;
|
|
110
|
+
this.screenTypeChange.emit(screenType);
|
|
111
|
+
}
|
|
106
112
|
ngOnInit() {
|
|
107
113
|
/***********************************************************************************************/
|
|
108
114
|
/* Internal Events - for code usage
|
|
@@ -121,6 +127,12 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
|
|
|
121
127
|
this.animateSkeleton();
|
|
122
128
|
}
|
|
123
129
|
});
|
|
130
|
+
this.layoutService.onResize$.pipe(this.getDestroyer()).subscribe((size) => {
|
|
131
|
+
this.setScreentType(size);
|
|
132
|
+
});
|
|
133
|
+
this.layoutBuilderService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
|
|
134
|
+
this.setScreentType(size);
|
|
135
|
+
});
|
|
124
136
|
/***********************************************************************************************/
|
|
125
137
|
/* External Events - for raise to the client
|
|
126
138
|
/***********************************************************************************************/
|
|
@@ -165,10 +177,10 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
|
|
|
165
177
|
}
|
|
166
178
|
}
|
|
167
179
|
PepLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i2.PepLayoutBuilderService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { layoutView: "layoutView", blockTemplate: "blockTemplate", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"
|
|
180
|
+
PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { layoutView: "layoutView", blockTemplate: "blockTemplate", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: i7.SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
169
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, decorators: [{
|
|
170
182
|
type: Component,
|
|
171
|
-
args: [{ selector: 'pep-layout', template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"
|
|
183
|
+
args: [{ selector: 'pep-layout', template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
|
|
172
184
|
}], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i2.PepLayoutBuilderService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { skeletonContainer: [{
|
|
173
185
|
type: ViewChild,
|
|
174
186
|
args: ['skeletonCont', { static: true }]
|
|
@@ -183,8 +195,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
183
195
|
type: Input
|
|
184
196
|
}], layoutViewChange: [{
|
|
185
197
|
type: Output
|
|
198
|
+
}], screenTypeChange: [{
|
|
199
|
+
type: Output
|
|
186
200
|
}], paddingInline: [{
|
|
187
201
|
type: HostBinding,
|
|
188
202
|
args: ['style.padding-inline']
|
|
189
203
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFnRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ILE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQTJEMUQsWUFDVyxvQkFBNkMsRUFDN0MsYUFBK0IsRUFDL0Isb0JBQTZDLEVBQzVDLFdBQXVCLEVBQ3ZCLFFBQW1CO1FBRzNCLEtBQUssRUFBRSxDQUFDO1FBUEQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbER0QixrQkFBYSxHQUFpQyxTQUFTLENBQUM7UUFFekQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVcEIscUJBQWdCLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEUsdUJBQWtCLEdBQWtDLElBQUksQ0FBQztRQVN6RCxx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IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGRyZW4sXG4gICAgT25Jbml0LCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdEJpbmRpbmcsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnRW5kLCBDZGtEcmFnRW50ZXIsIENka0RyYWdFeGl0LCBDZGtEcmFnU3RhcnQsIENka0Ryb3BMaXN0LCBEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsIFBlcExheW91dFNlcnZpY2UsIFBlcFNjcmVlblNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IElQZXBMYXlvdXRCbG9ja0FkZGVkRXZlbnQsIElQZXBMYXlvdXRTZWN0aW9uLCBJUGVwTGF5b3V0VmlldywgUGVwTGF5b3V0U2l6ZVR5cGUgfSBmcm9tICcuLi9sYXlvdXQtYnVpbGRlci5tb2RlbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGFWaWV3U2NyZWVuU2l6ZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9wYXBpLXNkayc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcExheW91dENvbXBvbmVudCBleHRlbmRzIEJhc2VEZXN0cm95ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NrZWxldG9uQ29udCcsIHsgc3RhdGljOiB0cnVlIH0pIHNrZWxldG9uQ29udGFpbmVyITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uc0NvbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWN0aW9uc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIF9sYXlvdXRWaWV3ITogSVBlcExheW91dFZpZXc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0Vmlldyh2YWx1ZTogSVBlcExheW91dFZpZXcpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0VmlldyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLmxvYWRMYXlvdXRCdWlsZGVyKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IGxheW91dFZpZXcoKTogSVBlcExheW91dFZpZXcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0VmlldztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBibG9ja1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1NrZWxldG9uID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2hvd1NrZWxldG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Nob3dTa2VsZXRvbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnNob3dTa2VsZXRvbih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzaG93U2tlbGV0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93U2tlbGV0b247XG4gICAgfVxuICAgIFxuICAgIEBPdXRwdXQoKSBsYXlvdXRWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcExheW91dFZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfaG9yaXpvbnRhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkID0gJ21kJztcbiAgICBzZXQgaG9yaXpvbnRhbFNwYWNpbmcodmFsdWU6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2hvcml6b250YWxTcGFjaW5nID0gdmFsdWU7XG4gICAgICAgIHRoaXMucGFkZGluZ0lubGluZSA9IHRoaXMuY29udmVydExheW91dFNpemVUeXBlKHZhbHVlIHx8ICdtZCcpO1xuICAgIH1cbiAgICBnZXQgaG9yaXpvbnRhbFNwYWNpbmcoKTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5faG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmVydGljYWxTcGFjaW5nOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCA9ICdtZCc7XG4gICAgc2V0IHZlcnRpY2FsU3BhY2luZyh2YWx1ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fdmVydGljYWxTcGFjaW5nID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB2ZXJ0aWNhbFNwYWNpbmcoKTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVydGljYWxTcGFjaW5nO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUucGFkZGluZy1pbmxpbmUnKVxuICAgIHByb3RlY3RlZCBwYWRkaW5nSW5saW5lID0gJzFyZW0nO1xuICAgIFxuICAgIHByb3RlY3RlZCBzZWN0aW9uc0dhcCE6IFBlcExheW91dFNpemVUeXBlO1xuICAgIHByb3RlY3RlZCBjb2x1bW5zR2FwITogUGVwTGF5b3V0U2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIHByZXZpZXdNb2RlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9zZWN0aW9uc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJUGVwTGF5b3V0U2VjdGlvbltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBlcExheW91dFNlY3Rpb25bXT4oW10pO1xuICAgIHByb3RlY3RlZCBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8SVBlcExheW91dFNlY3Rpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JlZW5UeXBlITogRGF0YVZpZXdTY3JlZW5TaXplO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgbGF5b3V0QnVpbGRlclNlcnZpY2U6IFBlcExheW91dEJ1aWxkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIC8vIHByaXZhdGUgZHJhZ0Ryb3BTZXJ2aWNlOiBEcmFnRHJvcFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1sYXlvdXQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRMYXlvdXRTaXplVHlwZShzaXplOiBQZXBMYXlvdXRTaXplVHlwZSB8ICdub25lJykge1xuICAgICAgICBsZXQgcmVzO1xuXG4gICAgICAgIGlmIChzaXplID09PSAnbGcnKSB7XG4gICAgICAgICAgICByZXMgPSAnMnJlbSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gJ21kJykge1xuICAgICAgICAgICAgcmVzID0gJzFyZW0nO1xuICAgICAgICB9IGVsc2UgaWYgKHNpemUgPT09ICdzbScpIHtcbiAgICAgICAgICAgIHJlcyA9ICcwLjVyZW0nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzID0gJzAnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFuaW1hdGVTa2VsZXRvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Nob3dTa2VsZXRvbikge1xuICAgICAgICAgICAgLy8gdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnb3V0Jyk7XG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgICAgICAgICAgdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnaW4nKTtcbiAgICAgICAgICAgIC8vIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ291dCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnaW4nKTtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ291dCcpO1xuICAgICAgICAgICAgLy8gdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnb3V0Jyk7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMYXlvdXREYXRhUHJvcGVydGllcygpIHtcbiAgICAgICAgY29uc3QgbGF5b3V0VmlldyA9IHRoaXMuX2xheW91dFZpZXc7XG5cbiAgICAgICAgaWYgKGxheW91dFZpZXcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgbGV0IG1heFdpZHRoID0gY29lcmNlTnVtYmVyUHJvcGVydHkobGF5b3V0Vmlldy5MYXlvdXQuTWF4V2lkdGgsIDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFdpZHRoVG9TZXQgPSBtYXhXaWR0aCA9PT0gMCA/ICd1bnNldCcgOiBgJHttYXhXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNlY3Rpb25zQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtYXgtd2lkdGgnLCBtYXhXaWR0aFRvU2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IGxheW91dFZpZXcuTGF5b3V0LlNlY3Rpb25zR2FwIHx8ICdtZCc7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNHYXAgPSBsYXlvdXRWaWV3LkxheW91dC5Db2x1bW5zR2FwIHx8ICdtZCc7XG5cbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSBsYXlvdXRWaWV3LkxheW91dC5Ib3Jpem9udGFsU3BhY2luZztcbiAgICAgICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0gbGF5b3V0Vmlldy5MYXlvdXQuVmVydGljYWxTcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEludGVybmFsIEV2ZW50cyAtIGZvciBjb2RlIHVzYWdlXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgICAgICBpZiAodGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5pc0VkaXRNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zZWN0aW9uc0NoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNlY3Rpb25zOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlY3Rpb25zU3ViamVjdC5uZXh0KHNlY3Rpb25zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zaG93U2tlbGV0b25DaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaG93U2tlbGV0b246IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNob3dTa2VsZXRvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd1NrZWxldG9uID0gc2hvd1NrZWxldG9uO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZVNrZWxldG9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIEV2ZW50cyAtIGZvciByYWlzZSB0byB0aGUgY2xpZW50XG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLmxheW91dFZpZXdDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsYXlvdXRWaWV3OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xheW91dFZpZXcgPSBsYXlvdXRWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRMYXlvdXREYXRhUHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRWaWV3Q2hhbmdlLmVtaXQodGhpcy5fbGF5b3V0Vmlldyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFNlY3Rpb25zVGVtcGxhdGVSb3dzKCkge1xuICAgICAgICBsZXQgZ3JpZEF1dG9Sb3dzID0gJyc7XG4gICAgICAgIC8vIGxldCBmaWxsSGVpZ2h0Q291bnQgPSAwO1xuICAgICAgICB0aGlzLnNlY3Rpb25zJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4geyAgICBcbiAgICAgICAgICAgIGlmIChzZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjOiBJUGVwTGF5b3V0U2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZihzZWMuRmlsbEhlaWdodCA9PT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWxsSGVpZ2h0Q291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRBdXRvUm93cyArPSAnIGF1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9Sb3dzICs9ICcgbWluLWNvbnRlbnQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy9pZiBhbGwgYXJlIGZpbGwgaGVpZ2h0IHNob3VsZCByZXR1cm4gMWZyIGZvciBhbGxcbiAgICAgICAgICAgICAgICAvL2lmIG5vdCBzaG91bGQgcmV0dXJuIGF1dG8gZm9yIGZpbGwgaGVpZ2h0IGFuZCBtaW4gY29udGVudCBmb3Igbm9uZVxuICAgICAgICAgICAgICAgIHJldHVybiBncmlkQXV0b1Jvd3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGdyaWRBdXRvUm93cztcbiAgICB9XG5cbiAgICBvblNlY3Rpb25Ecm9wcGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4pIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vblNlY3Rpb25Ecm9wcGVkKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRyYWdTdGFydChldmVudDogQ2RrRHJhZ1N0YXJ0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uub25TZWN0aW9uRHJhZ1N0YXJ0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRyYWdFbmQoZXZlbnQ6IENka0RyYWdFbmQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8IS0tIEZvciB0aGUgdG9wIHNwYWNpbmcgLS0+XG48ZGl2IGNsYXNzPVwidG9wLXNwYWNpbmcgc3BhY2luZy17e3ZlcnRpY2FsU3BhY2luZ319XCIgPjwvZGl2PlxuPGRpdiAjc2VjdGlvbnNDb250IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXIgZ2FwLXt7IHNlY3Rpb25zR2FwIH19XCIgW25nQ2xhc3NdPVwieydwcmV2aWV3LXN0YXRlJzogcHJldmlld01vZGUgfVwiICBcbiAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uU2VjdGlvbkRyb3BwZWQoJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInsnZ3JpZC1hdXRvLXJvd3MnOiBnZXRTZWN0aW9uc1RlbXBsYXRlUm93cygpfVwiXG4gICAgPlxuICAgIDxzZWN0aW9uICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zJCB8IGFzeW5jOyBsZXQgaT1pbmRleDtcIiBcbiAgICAgICAgY2xhc3M9XCJkcmFnZ2FibGUtc2VjdGlvbiBcIiBbbmdDbGFzc109XCJzY3JlZW5UeXBlID09PSAnUGhhYmxldCcgPyAnbWFyZ2luLScrc2VjdGlvbnNHYXAgOiAnJ1wiIFtibG9ja1RlbXBsYXRlXT1cImJsb2NrVGVtcGxhdGVcIlxuICAgICAgICBba2V5XT1cInNlY3Rpb24uS2V5XCIgW25hbWVdPVwic2VjdGlvbi5OYW1lIHx8ICgnTEFZT1VUX0JVSUxERVIuU0VDVElPTicgfCB0cmFuc2xhdGUpICsgJyAnICsgKGkrMSlcIiBbc3BsaXRdPVwic2VjdGlvbi5TcGxpdFwiIFtoZWlnaHRdPVwic2VjdGlvbi5IZWlnaHRcIlxuICAgICAgICBbY29sdW1uc109XCJzZWN0aW9uLkNvbHVtbnNcIiBbY29sbGFwc2VPblRhYmxldF09XCJzZWN0aW9uLkNvbGxhcHNlT25UYWJsZXQgfHwgZmFsc2VcIiBbaGlkZUluXT1cInNlY3Rpb24uSGlkZSB8fCBbXVwiIFtjb2x1bW5zR2FwXT1cImNvbHVtbnNHYXBcIlxuICAgICAgICA+XG4gICAgPC9zZWN0aW9uPlxuPC9kaXY+XG48ZGl2ICNza2VsZXRvbkNvbnQgY2xhc3M9XCJza2VsZXRvbi1jb250YWluZXIgXCI+XG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cInhsXCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic3BsaXQtc2tlbGV0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwieGxcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG48L2Rpdj5cbjwhLS0gRm9yIHRoZSBib3R0b20gc3BhY2luZyAtLT5cbjxkaXYgY2xhc3M9XCJib3R0b20tc3BhY2luZyBzcGFjaW5nLXt7dmVydGljYWxTcGFjaW5nfX1cIj48L2Rpdj5cbjxwZXAtc2l6ZS1kZXRlY3Rvcj48L3BlcC1zaXplLWRldGVjdG9yPiJdfQ==
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFnRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ILE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQTREMUQsWUFDVyxvQkFBNkMsRUFDN0MsYUFBK0IsRUFDL0Isb0JBQTZDLEVBQzVDLFdBQXVCLEVBQ3ZCLFFBQW1CO1FBRzNCLEtBQUssRUFBRSxDQUFDO1FBUEQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbkR0QixrQkFBYSxHQUFpQyxTQUFTLENBQUM7UUFFekQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVcEIscUJBQWdCLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEUscUJBQWdCLEdBQXFDLElBQUksWUFBWSxFQUFFLENB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QztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7K0dBM01RLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlrQkNmL0IsK3ZEQXdCdUM7MkZEVDFCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxZQUFZO29PQUt1QixpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkMsVUFBVTtzQkFEYixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBSUYsWUFBWTtzQkFEZixLQUFLO2dCQVNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBb0JHLGFBQWE7c0JBRHRCLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIENvbnRlbnRDaGlsZHJlbixcbiAgICBPbkluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBIb3N0QmluZGluZywgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0RyYWdFbmQsIENka0RyYWdFbnRlciwgQ2RrRHJhZ0V4aXQsIENka0RyYWdTdGFydCwgQ2RrRHJvcExpc3QsIERyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlLCBQZXBDdXN0b21pemF0aW9uU2VydmljZSwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBlcExheW91dEJsb2NrQWRkZWRFdmVudCwgSVBlcExheW91dFNlY3Rpb24sIElQZXBMYXlvdXRWaWV3LCBQZXBMYXlvdXRTaXplVHlwZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2tlbGV0b25Db250JywgeyBzdGF0aWM6IHRydWUgfSkgc2tlbGV0b25Db250YWluZXIhOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25zQ29udCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlY3Rpb25zQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgX2xheW91dFZpZXchOiBJUGVwTGF5b3V0VmlldztcbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRWaWV3KHZhbHVlOiBJUGVwTGF5b3V0Vmlldykge1xuICAgICAgICB0aGlzLl9sYXlvdXRWaWV3ID0gdmFsdWU7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UubG9hZExheW91dEJ1aWxkZXIodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgbGF5b3V0VmlldygpOiBJUGVwTGF5b3V0VmlldyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXlvdXRWaWV3O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGJsb2NrVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBwcml2YXRlIF9zaG93U2tlbGV0b24gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG93U2tlbGV0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1NrZWxldG9uID0gdmFsdWU7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uuc2hvd1NrZWxldG9uKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHNob3dTa2VsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTa2VsZXRvbjtcbiAgICB9XG4gICAgXG4gICAgQE91dHB1dCgpIGxheW91dFZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwTGF5b3V0Vmlldz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHNjcmVlblR5cGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRhVmlld1NjcmVlblNpemU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfaG9yaXpvbnRhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkID0gJ21kJztcbiAgICBzZXQgaG9yaXpvbnRhbFNwYWNpbmcodmFsdWU6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2hvcml6b250YWxTcGFjaW5nID0gdmFsdWU7XG4gICAgICAgIHRoaXMucGFkZGluZ0lubGluZSA9IHRoaXMuY29udmVydExheW91dFNpemVUeXBlKHZhbHVlIHx8ICdtZCcpO1xuICAgIH1cbiAgICBnZXQgaG9yaXpvbnRhbFNwYWNpbmcoKTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5faG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmVydGljYWxTcGFjaW5nOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCA9ICdtZCc7XG4gICAgc2V0IHZlcnRpY2FsU3BhY2luZyh2YWx1ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fdmVydGljYWxTcGFjaW5nID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB2ZXJ0aWNhbFNwYWNpbmcoKTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVydGljYWxTcGFjaW5nO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUucGFkZGluZy1pbmxpbmUnKVxuICAgIHByb3RlY3RlZCBwYWRkaW5nSW5saW5lID0gJzFyZW0nO1xuICAgIFxuICAgIHByb3RlY3RlZCBzZWN0aW9uc0dhcCE6IFBlcExheW91dFNpemVUeXBlO1xuICAgIHByb3RlY3RlZCBjb2x1bW5zR2FwITogUGVwTGF5b3V0U2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIHByZXZpZXdNb2RlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9zZWN0aW9uc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJUGVwTGF5b3V0U2VjdGlvbltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBlcExheW91dFNlY3Rpb25bXT4oW10pO1xuICAgIHByb3RlY3RlZCBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8SVBlcExheW91dFNlY3Rpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZWxlY3RlZFNjcmVlblR5cGUhOiBEYXRhVmlld1NjcmVlblNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBsYXlvdXRCdWlsZGVyU2VydmljZTogUGVwTGF5b3V0QnVpbGRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgLy8gcHJpdmF0ZSBkcmFnRHJvcFNlcnZpY2U6IERyYWdEcm9wXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAncGVwLWxheW91dCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydExheW91dFNpemVUeXBlKHNpemU6IFBlcExheW91dFNpemVUeXBlIHwgJ25vbmUnKSB7XG4gICAgICAgIGxldCByZXM7XG5cbiAgICAgICAgaWYgKHNpemUgPT09ICdsZycpIHtcbiAgICAgICAgICAgIHJlcyA9ICcycmVtJztcbiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAnbWQnKSB7XG4gICAgICAgICAgICByZXMgPSAnMXJlbSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gJ3NtJykge1xuICAgICAgICAgICAgcmVzID0gJzAuNXJlbSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXMgPSAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYW5pbWF0ZVNrZWxldG9uKCkge1xuICAgICAgICBpZiAodGhpcy5fc2hvd1NrZWxldG9uKSB7XG4gICAgICAgICAgICAvLyB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdpbicpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnb3V0Jyk7XG4gICAgICAgICAgICAvLyB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdvdXQnKTtcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2luJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExheW91dERhdGFQcm9wZXJ0aWVzKCkge1xuICAgICAgICBjb25zdCBsYXlvdXRWaWV3ID0gdGhpcy5fbGF5b3V0VmlldztcblxuICAgICAgICBpZiAobGF5b3V0Vmlldykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBsZXQgbWF4V2lkdGggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eShsYXlvdXRWaWV3LkxheW91dC5NYXhXaWR0aCwgMCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4V2lkdGhUb1NldCA9IG1heFdpZHRoID09PSAwID8gJ3Vuc2V0JyA6IGAke21heFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2VjdGlvbnNDb250YWluZXIubmF0aXZlRWxlbWVudCwgJ21heC13aWR0aCcsIG1heFdpZHRoVG9TZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zR2FwID0gbGF5b3V0Vmlldy5MYXlvdXQuU2VjdGlvbnNHYXAgfHwgJ21kJztcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc0dhcCA9IGxheW91dFZpZXcuTGF5b3V0LkNvbHVtbnNHYXAgfHwgJ21kJztcblxuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU3BhY2luZyA9IGxheW91dFZpZXcuTGF5b3V0Lkhvcml6b250YWxTcGFjaW5nO1xuICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbFNwYWNpbmcgPSBsYXlvdXRWaWV3LkxheW91dC5WZXJ0aWNhbFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNjcmVlbnRUeXBlKHNjcmVlblNpemU6IFBlcFNjcmVlblNpemVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHNjcmVlblR5cGUgPSB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLmdldFNjcmVlblR5cGUoc2NyZWVuU2l6ZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTY3JlZW5UeXBlID0gc2NyZWVuVHlwZTtcbiAgICAgICAgdGhpcy5zY3JlZW5UeXBlQ2hhbmdlLmVtaXQoc2NyZWVuVHlwZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEludGVybmFsIEV2ZW50cyAtIGZvciBjb2RlIHVzYWdlXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgICAgICBpZiAodGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5pc0VkaXRNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zZWN0aW9uc0NoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNlY3Rpb25zOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlY3Rpb25zU3ViamVjdC5uZXh0KHNlY3Rpb25zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zaG93U2tlbGV0b25DaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaG93U2tlbGV0b246IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNob3dTa2VsZXRvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd1NrZWxldG9uID0gc2hvd1NrZWxldG9uO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZVNrZWxldG9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNpemU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTY3JlZW50VHlwZShzaXplKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zY3JlZW5TaXplQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2l6ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNjcmVlbnRUeXBlKHNpemUpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBFdmVudHMgLSBmb3IgcmFpc2UgdG8gdGhlIGNsaWVudFxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5sYXlvdXRWaWV3Q2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgobGF5b3V0VmlldzogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sYXlvdXRWaWV3ID0gbGF5b3V0VmlldztcbiAgICAgICAgICAgIHRoaXMuc2V0TGF5b3V0RGF0YVByb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Vmlld0NoYW5nZS5lbWl0KHRoaXMuX2xheW91dFZpZXcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRTZWN0aW9uc1RlbXBsYXRlUm93cygpIHtcbiAgICAgICAgbGV0IGdyaWRBdXRvUm93cyA9ICcnO1xuICAgICAgICAvLyBsZXQgZmlsbEhlaWdodENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5zZWN0aW9ucyQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNlY3Rpb25zOiBhbnkpID0+IHsgICAgXG4gICAgICAgICAgICBpZiAoc2VjdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNlY3Rpb25zLmZvckVhY2goKHNlYzogSVBlcExheW91dFNlY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYoc2VjLkZpbGxIZWlnaHQgPT09IHRydWUpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmlsbEhlaWdodENvdW50Kys7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkQXV0b1Jvd3MgKz0gJyBhdXRvJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRBdXRvUm93cyArPSAnIG1pbi1jb250ZW50JztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vaWYgYWxsIGFyZSBmaWxsIGhlaWdodCBzaG91bGQgcmV0dXJuIDFmciBmb3IgYWxsXG4gICAgICAgICAgICAgICAgLy9pZiBub3Qgc2hvdWxkIHJldHVybiBhdXRvIGZvciBmaWxsIGhlaWdodCBhbmQgbWluIGNvbnRlbnQgZm9yIG5vbmVcbiAgICAgICAgICAgICAgICByZXR1cm4gZ3JpZEF1dG9Sb3dzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBncmlkQXV0b1Jvd3M7XG4gICAgfVxuXG4gICAgb25TZWN0aW9uRHJvcHBlZChldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uub25TZWN0aW9uRHJvcHBlZChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnU3RhcnQoZXZlbnQ6IENka0RyYWdTdGFydCkge1xuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLm9uU2VjdGlvbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uub25TZWN0aW9uRHJhZ0VuZChldmVudCk7XG4gICAgfVxufVxuIiwiPCEtLSBGb3IgdGhlIHRvcCBzcGFjaW5nIC0tPlxuPGRpdiBjbGFzcz1cInRvcC1zcGFjaW5nIHNwYWNpbmcte3t2ZXJ0aWNhbFNwYWNpbmd9fVwiID48L2Rpdj5cbjxkaXYgI3NlY3Rpb25zQ29udCBjZGtEcm9wTGlzdEdyb3VwIGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyIGdhcC17eyBzZWN0aW9uc0dhcCB9fVwiIFtuZ0NsYXNzXT1cInsncHJldmlldy1zdGF0ZSc6IHByZXZpZXdNb2RlIH1cIiAgXG4gICAgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvblNlY3Rpb25Ecm9wcGVkKCRldmVudClcIiBbbmdTdHlsZV09XCJ7J2dyaWQtYXV0by1yb3dzJzogZ2V0U2VjdGlvbnNUZW1wbGF0ZVJvd3MoKX1cIlxuICAgID5cbiAgICA8c2VjdGlvbiAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzZWN0aW9ucyQgfCBhc3luYzsgbGV0IGk9aW5kZXg7XCIgXG4gICAgICAgIGNsYXNzPVwiZHJhZ2dhYmxlLXNlY3Rpb24gXCIgW25nQ2xhc3NdPVwic2VsZWN0ZWRTY3JlZW5UeXBlID09PSAnUGhhYmxldCcgPyAnbWFyZ2luLScrc2VjdGlvbnNHYXAgOiAnJ1wiIFtibG9ja1RlbXBsYXRlXT1cImJsb2NrVGVtcGxhdGVcIlxuICAgICAgICBba2V5XT1cInNlY3Rpb24uS2V5XCIgW25hbWVdPVwic2VjdGlvbi5OYW1lIHx8ICgnTEFZT1VUX0JVSUxERVIuU0VDVElPTicgfCB0cmFuc2xhdGUpICsgJyAnICsgKGkrMSlcIiBbc3BsaXRdPVwic2VjdGlvbi5TcGxpdFwiIFtoZWlnaHRdPVwic2VjdGlvbi5IZWlnaHRcIlxuICAgICAgICBbY29sdW1uc109XCJzZWN0aW9uLkNvbHVtbnNcIiBbY29sbGFwc2VPblRhYmxldF09XCJzZWN0aW9uLkNvbGxhcHNlT25UYWJsZXQgfHwgZmFsc2VcIiBbaGlkZUluXT1cInNlY3Rpb24uSGlkZSB8fCBbXVwiIFtjb2x1bW5zR2FwXT1cImNvbHVtbnNHYXBcIlxuICAgICAgICA+XG4gICAgPC9zZWN0aW9uPlxuPC9kaXY+XG48ZGl2ICNza2VsZXRvbkNvbnQgY2xhc3M9XCJza2VsZXRvbi1jb250YWluZXIgXCI+XG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cInhsXCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic3BsaXQtc2tlbGV0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwieGxcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuXG4gICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG48L2Rpdj5cbjwhLS0gRm9yIHRoZSBib3R0b20gc3BhY2luZyAtLT5cbjxkaXYgY2xhc3M9XCJib3R0b20tc3BhY2luZyBzcGFjaW5nLXt7dmVydGljYWxTcGFjaW5nfX1cIj48L2Rpdj5cbjxwZXAtc2l6ZS1kZXRlY3Rvcj48L3BlcC1zaXplLWRldGVjdG9yPiJdfQ==
|