nuxeo-development-framework 5.4.6 → 5.4.7
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/nuxeo-development-framework.umd.js +633 -346
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/dummy-data.js +2 -2
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +62 -16
- package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +41 -0
- package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +3 -2
- package/esm2015/lib/components/reports/ndf-reports/base/index.js +5 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +49 -0
- package/esm2015/lib/components/reports/ndf-reports/components/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/index.js +3 -2
- package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +4 -3
- package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +132 -0
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +8 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +7 -6
- package/esm2015/lib/shared/evaluator/evaluator.js +3 -2
- package/esm2015/lib/shared/evaluator/types.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +591 -324
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.d.ts +10 -3
- package/lib/components/ndf-filters/models/base-field-config.d.ts +2 -2
- package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +1 -1
- package/lib/components/reports/ndf-reports/base/base-custom-report.d.ts +38 -0
- package/lib/components/reports/ndf-reports/base/index.d.ts +4 -0
- package/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.d.ts +1 -0
- package/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.d.ts +14 -0
- package/lib/components/reports/ndf-reports/components/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/constants/charts-types.d.ts +1 -0
- package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +1 -0
- package/lib/components/reports/ndf-reports/models/custom-definition.d.ts +11 -0
- package/lib/components/reports/ndf-reports/models/dialog-data.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/index.d.ts +2 -1
- package/lib/components/reports/ndf-reports/models/report-config.d.ts +3 -2
- package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +21 -20
- package/lib/components/reports/ndf-reports/services/custom-reports-registry.service.d.ts +83 -0
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +6 -1
- package/lib/shared/evaluator/types.d.ts +1 -1
- package/package.json +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph.js +0 -2
- /package/lib/components/reports/ndf-reports/models/{graph.d.ts → graph-definition.d.ts} +0 -0
|
@@ -23,6 +23,7 @@ import { NdfFiltersPanelModule } from '../../ndf-filters';
|
|
|
23
23
|
import { ReportActionsComponent } from './components/_parts/report-actions/report-actions.component';
|
|
24
24
|
import { ChartPanelModule } from '../chart-panel';
|
|
25
25
|
import { SkeletonModule } from '../../skeleton';
|
|
26
|
+
import { CustomReportComponent } from './components/custom-report/custom-report.component';
|
|
26
27
|
import * as i0 from "@angular/core";
|
|
27
28
|
const CONTAINERS = [NdfReportsComponent, NdfReportComponent];
|
|
28
29
|
const DIRECTIVES = [ScrollableDivDirective];
|
|
@@ -45,7 +46,7 @@ NdfReportsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
45
46
|
DynamicTimelineReportComponent,
|
|
46
47
|
TimeGroupSelectorComponent,
|
|
47
48
|
GraphDialogComponent,
|
|
48
|
-
TimelineDialogComponent, ScrollableDivDirective, GraphChartComponent, DigitChartComponent, ReportActionsComponent], imports: [CommonModule,
|
|
49
|
+
TimelineDialogComponent, ScrollableDivDirective, GraphChartComponent, DigitChartComponent, ReportActionsComponent, CustomReportComponent], imports: [CommonModule,
|
|
49
50
|
TranslateModule,
|
|
50
51
|
MatMenuModule,
|
|
51
52
|
MatIconModule,
|
|
@@ -90,7 +91,7 @@ NdfReportsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
|
|
|
90
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsModule, decorators: [{
|
|
91
92
|
type: NgModule,
|
|
92
93
|
args: [{
|
|
93
|
-
declarations: [CONTAINERS, COMPONENTS, DIRECTIVES, CHARTS, ReportActionsComponent],
|
|
94
|
+
declarations: [CONTAINERS, COMPONENTS, DIRECTIVES, CHARTS, ReportActionsComponent, CustomReportComponent],
|
|
94
95
|
imports: [
|
|
95
96
|
CommonModule,
|
|
96
97
|
TranslateModule,
|
|
@@ -116,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
116
117
|
exports: [CONTAINERS]
|
|
117
118
|
}]
|
|
118
119
|
}] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL25kZi1yZXBvcnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxF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QUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGNBQWM7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5kZlRhYmxlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdGFibGVzJztcclxuaW1wb3J0IHsgQ2hhcnRzTW9kdWxlIH0gZnJvbSAnLi4vY2hhcnRzJztcclxuaW1wb3J0IHsgRGlnaXRDaGFydENvbXBvbmVudCwgR3JhcGhDaGFydENvbXBvbmVudCB9IGZyb20gJy4vY2hhcnRzLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1xyXG5cdENoYXJ0VHlwZVNlbGVjdG9yQ29tcG9uZW50LFxyXG5cdERpZ2l0UmVwb3J0Q29tcG9uZW50LFxyXG5cdER5bmFtaWNUaW1lbGluZVJlcG9ydENvbXBvbmVudCxcclxuXHRHcmFwaERpYWxvZ0NvbXBvbmVudCxcclxuXHRHcmFwaFJlcG9ydENvbXBvbmVudCxcclxuXHRUaW1lR3JvdXBTZWxlY3RvckNvbXBvbmVudCxcclxuXHRUaW1lbGluZURpYWxvZ0NvbXBvbmVudFxyXG59IGZyb20gJy4vY29tcG9uZW50cyc7XHJcblxyXG5pbXBvcnQgeyBOZGZSZXBvcnRDb21wb25lbnQsIE5kZlJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lcnMnO1xyXG5pbXBvcnQgeyBTY3JvbGxhYmxlRGl2RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgRmx1aWRIZWlnaHRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgRWRpdG9yTmF2aWdhdGVCdXR0b24gfSBmcm9tICcuLi8uLi9uZGYtY29uZmlnLWVkaXRvci9wdWJsaWMnO1xyXG5pbXBvcnQgeyBOZGZGaWx0ZXJzUGFuZWxNb2R1bGUgfSBmcm9tICcuLi8uLi9uZGYtZmlsdGVycyc7XHJcbmltcG9ydCB7IFJlcG9ydEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvX3BhcnRzL3JlcG9ydC1hY3Rpb25zL3JlcG9ydC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXJ0UGFuZWxNb2R1bGUgfSBmcm9tICcuLi9jaGFydC1wYW5lbCc7XHJcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2tlbGV0b24nO1xyXG5pbXBvcnQgeyBDdXN0b21SZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXJlcG9ydC9jdXN0b20tcmVwb3J0LmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBDT05UQUlORVJTID0gW05kZlJlcG9ydHNDb21wb25lbnQsIE5kZlJlcG9ydENvbXBvbmVudF07XHJcblxyXG5jb25zdCBESVJFQ1RJVkVTID0gW1Njcm9sbGFibGVEaXZEaXJlY3RpdmVdO1xyXG5cclxuY29uc3QgQ0hBUlRTID0gW0dyYXBoQ2hhcnRDb21wb25lbnQsIERpZ2l0Q2hhcnRDb21wb25lbnRdO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuXHRDaGFydFR5cGVTZWxlY3RvckNvbXBvbmVudCxcclxuXHREaWdpdFJlcG9ydENvbXBvbmVudCxcclxuXHRHcmFwaFJlcG9ydENvbXBvbmVudCxcclxuXHREeW5hbWljVGltZWxpbmVSZXBvcnRDb21wb25lbnQsXHJcblx0VGltZUdyb3VwU2VsZWN0b3JDb21wb25lbnQsXHJcblx0R3JhcGhEaWFsb2dDb21wb25lbnQsXHJcblx0VGltZWxpbmVEaWFsb2dDb21wb25lbnRcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbQ09OVEFJTkVSUywgQ09NUE9ORU5UUywgRElSRUNUSVZFUywgQ0hBUlRTLCBSZXBvcnRBY3Rpb25zQ29tcG9uZW50LCBDdXN0b21SZXBvcnRDb21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdFRyYW5zbGF0ZU1vZHVsZSxcclxuXHRcdE1hdE1lbnVNb2R1bGUsXHJcblx0XHRNYXRJY29uTW9kdWxlLFxyXG5cdFx0TWF0QnV0dG9uTW9kdWxlLFxyXG5cdFx0Q2hhcnRzTW9kdWxlLFxyXG5cdFx0RHluYW1pY0Zvcm1Nb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHROZ1NlbGVjdE1vZHVsZSxcclxuXHRcdE1hdFRvb2x0aXBNb2R1bGUsXHJcblx0XHRGbHVpZEhlaWdodE1vZHVsZSxcclxuXHRcdE5kZkZpbHRlcnNQYW5lbE1vZHVsZSxcclxuXHRcdE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuXHRcdE51eGVvRGlhbG9nTW9kdWxlLFxyXG5cdFx0TmRmVGFibGVNb2R1bGUsXHJcblx0XHREaXJlY3RpdmVNb2R1bGUsXHJcblx0XHRFZGl0b3JOYXZpZ2F0ZUJ1dHRvbixcclxuXHRcdENoYXJ0UGFuZWxNb2R1bGUsXHJcblx0XHRTa2VsZXRvbk1vZHVsZVxyXG5cdF0sXHJcblx0ZXhwb3J0czogW0NPTlRBSU5FUlNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZSZXBvcnRzTW9kdWxlIHt9XHJcbiJdfQ==
|
package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CustomReportsRegistry {
|
|
4
|
+
constructor(_factoryResolver) {
|
|
5
|
+
this._factoryResolver = _factoryResolver;
|
|
6
|
+
this._components = new Map();
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Register a component with the registry
|
|
10
|
+
* @param config Component configuration
|
|
11
|
+
*/
|
|
12
|
+
registerComponent(config) {
|
|
13
|
+
if (!config.type || !config.component) {
|
|
14
|
+
throw new Error('Invalid component configuration: type and component are required');
|
|
15
|
+
}
|
|
16
|
+
if (this._components.has(config.type)) {
|
|
17
|
+
console.warn(`Component with type '${config.type}' is already registered. Overwriting...`);
|
|
18
|
+
}
|
|
19
|
+
this._components.set(config.type, config);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Register multiple components at once
|
|
23
|
+
* @param configs Array of component configurations
|
|
24
|
+
*/
|
|
25
|
+
registerComponents(configs) {
|
|
26
|
+
configs.forEach((config) => this.registerComponent(config));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Render a component by type into a ViewContainerRef
|
|
30
|
+
* @param type Component type identifier
|
|
31
|
+
* @param vcr ViewContainerRef to render into
|
|
32
|
+
*/
|
|
33
|
+
renderComponent(type, vcr) {
|
|
34
|
+
if (!this._components.has(type)) {
|
|
35
|
+
throw new Error(`Unknown component with type: '${type}'`);
|
|
36
|
+
}
|
|
37
|
+
const config = this._components.get(type);
|
|
38
|
+
return this.loadComponent(config, vcr);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load a component into a ViewContainerRef
|
|
42
|
+
* @param config Component configuration
|
|
43
|
+
* @param vcr ViewContainerRef to render into
|
|
44
|
+
*/
|
|
45
|
+
loadComponent(config, vcr) {
|
|
46
|
+
const componentFactory = this._factoryResolver.resolveComponentFactory(config.component);
|
|
47
|
+
return vcr.createComponent(componentFactory);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if a component is registered
|
|
51
|
+
* @param type Component type identifier
|
|
52
|
+
*/
|
|
53
|
+
hasComponent(type) {
|
|
54
|
+
return this._components.has(type);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get component configuration by type
|
|
58
|
+
* @param type Component type identifier
|
|
59
|
+
*/
|
|
60
|
+
getComponent(type) {
|
|
61
|
+
return this._components.get(type);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get all registered component types
|
|
65
|
+
*/
|
|
66
|
+
getComponentTypes() {
|
|
67
|
+
return Array.from(this._components.keys());
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get all registered components
|
|
71
|
+
*/
|
|
72
|
+
getAllComponents() {
|
|
73
|
+
return Array.from(this._components.values());
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get components by category
|
|
77
|
+
* @param category Category to filter by
|
|
78
|
+
*/
|
|
79
|
+
getComponentsByCategory(category) {
|
|
80
|
+
return Array.from(this._components.values()).filter((config) => config.category === category);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get all unique categories
|
|
84
|
+
*/
|
|
85
|
+
getCategories() {
|
|
86
|
+
const categories = Array.from(this._components.values())
|
|
87
|
+
.map((config) => config.category)
|
|
88
|
+
.filter((category) => !!category);
|
|
89
|
+
return [...new Set(categories)];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Unregister a component
|
|
93
|
+
* @param type Component type identifier
|
|
94
|
+
*/
|
|
95
|
+
unregisterComponent(type) {
|
|
96
|
+
return this._components.delete(type);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Clear all registered components
|
|
100
|
+
*/
|
|
101
|
+
clearComponents() {
|
|
102
|
+
this._components.clear();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get the total number of registered components
|
|
106
|
+
*/
|
|
107
|
+
getComponentCount() {
|
|
108
|
+
return this._components.size;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Search components by name or type
|
|
112
|
+
* @param searchTerm Search term
|
|
113
|
+
*/
|
|
114
|
+
searchComponents(searchTerm) {
|
|
115
|
+
const term = searchTerm.toLowerCase();
|
|
116
|
+
return Array.from(this._components.values()).filter((config) => {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
return config.type.toLowerCase().includes(term) ||
|
|
119
|
+
((_a = config.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(term)) ||
|
|
120
|
+
((_b = config.description) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(term));
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
CustomReportsRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
125
|
+
CustomReportsRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, providedIn: 'root' });
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, decorators: [{
|
|
127
|
+
type: Injectable,
|
|
128
|
+
args: [{
|
|
129
|
+
providedIn: 'root'
|
|
130
|
+
}]
|
|
131
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJlcG9ydHMtcmVnaXN0cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9jdXN0b20tcmVwb3J0cy1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUF3QyxNQUFNLGVBQWUsQ0FBQzs7QUFhM0csTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxZQUFvQixnQkFBMEM7UUFBMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtRQUY3QyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUEwQyxDQUFDO0lBRWhCLENBQUM7SUFFbEU7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsTUFBc0M7UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUNwRjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLE1BQU0sQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLENBQUM7U0FDM0Y7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxPQUF5QztRQUMzRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFD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Q0FBQyxNQUFNLEVBQUUsRUFBRTs7WUFDVixPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztpQkFDeEMsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUN6QyxNQUFBLE1BQU0sQ0FBQyxXQUFXLDBDQUFFLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQTtTQUFBLENBQ2pELENBQUM7SUFDSCxDQUFDOzttSEF4SVcscUJBQXFCO3VIQUFyQixxQkFBcUIsY0FGckIsTUFBTTs0RkFFTixxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVwb3J0UmVnaXN0cnlEZWZpbml0aW9uIHtcclxuXHR0eXBlOiBzdHJpbmc7IC8vIFVzaW5nICd0eXBlJyBhcyB0aGUgdW5pcXVlIGlkZW50aWZpZXJcclxuXHRjb21wb25lbnQ6IFR5cGU8YW55PjtcclxuXHRjYXRlZ29yeT86IHN0cmluZztcclxuXHRuYW1lPzogc3RyaW5nO1xyXG5cdGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21SZXBvcnRzUmVnaXN0cnkge1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudHMgPSBuZXcgTWFwPHN0cmluZywgQ3VzdG9tUmVwb3J0UmVnaXN0cnlEZWZpbml0aW9uPigpO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge31cclxuXHJcblx0LyoqXHJcblx0ICogUmVnaXN0ZXIgYSBjb21wb25lbnQgd2l0aCB0aGUgcmVnaXN0cnlcclxuXHQgKiBAcGFyYW0gY29uZmlnIENvbXBvbmVudCBjb25maWd1cmF0aW9uXHJcblx0ICovXHJcblx0cmVnaXN0ZXJDb21wb25lbnQoY29uZmlnOiBDdXN0b21SZXBvcnRSZWdpc3RyeURlZmluaXRpb24pOiB2b2lkIHtcclxuXHRcdGlmICghY29uZmlnLnR5cGUgfHwgIWNvbmZpZy5jb21wb25lbnQpIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbXBvbmVudCBjb25maWd1cmF0aW9uOiB0eXBlIGFuZCBjb21wb25lbnQgYXJlIHJlcXVpcmVkJyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuX2NvbXBvbmVudHMuaGFzKGNvbmZpZy50eXBlKSkge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oYENvbXBvbmVudCB3aXRoIHR5cGUgJyR7Y29uZmlnLnR5cGV9JyBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuIE92ZXJ3cml0aW5nLi4uYCk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5fY29tcG9uZW50cy5zZXQoY29uZmlnLnR5cGUsIGNvbmZpZyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZWdpc3RlciBtdWx0aXBsZSBjb21wb25lbnRzIGF0IG9uY2VcclxuXHQgKiBAcGFyYW0gY29uZmlncyBBcnJheSBvZiBjb21wb25lbnQgY29uZmlndXJhdGlvbnNcclxuXHQgKi9cclxuXHRyZWdpc3RlckNvbXBvbmVudHMoY29uZmlnczogQ3VzdG9tUmVwb3J0UmVnaXN0cnlEZWZpbml0aW9uW10pOiB2b2lkIHtcclxuXHRcdGNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KGNvbmZpZykpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVuZGVyIGEgY29tcG9uZW50IGJ5IHR5cGUgaW50byBhIFZpZXdDb250YWluZXJSZWZcclxuXHQgKiBAcGFyYW0gdHlwZSBDb21wb25lbnQgdHlwZSBpZGVudGlmaWVyXHJcblx0ICogQHBhcmFtIHZjciBWaWV3Q29udGFpbmVyUmVmIHRvIHJlbmRlciBpbnRvXHJcblx0ICovXHJcblx0cmVuZGVyQ29tcG9uZW50KHR5cGU6IHN0cmluZywgdmNyOiBWaWV3Q29udGFpbmVyUmVmKTogQ29tcG9uZW50UmVmPGFueT4ge1xyXG5cdFx0aWYgKCF0aGlzLl9jb21wb25lbnRzLmhhcyh0eXBlKSkge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29tcG9uZW50IHdpdGggdHlwZTogJyR7dHlwZX0nYCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgY29uZmlnID0gdGhpcy5fY29tcG9uZW50cy5nZXQodHlwZSkhO1xyXG5cdFx0cmV0dXJuIHRoaXMubG9hZENvbXBvbmVudChjb25maWcsIHZjcik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMb2FkIGEgY29tcG9uZW50IGludG8gYSBWaWV3Q29udGFpbmVyUmVmXHJcblx0ICogQHBhcmFtIGNvbmZpZyBDb21wb25lbnQgY29uZmlndXJhdGlvblxyXG5cdCAqIEBwYXJhbSB2Y3IgVmlld0NvbnRhaW5lclJlZiB0byByZW5kZXIgaW50b1xyXG5cdCAqL1xyXG5cdGxvYWRDb21wb25lbnQoY29uZmlnOiBDdXN0b21SZXBvcnRSZWdpc3RyeURlZmluaXRpb24sIHZjcjogVmlld0NvbnRhaW5lclJlZik6IENvbXBvbmVudFJlZjxhbnk+IHtcclxuXHRcdGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29uZmlnLmNvbXBvbmVudCk7XHJcblx0XHRyZXR1cm4gdmNyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENoZWNrIGlmIGEgY29tcG9uZW50IGlzIHJlZ2lzdGVyZWRcclxuXHQgKiBAcGFyYW0gdHlwZSBDb21wb25lbnQgdHlwZSBpZGVudGlmaWVyXHJcblx0ICovXHJcblx0aGFzQ29tcG9uZW50KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuaGFzKHR5cGUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IGNvbXBvbmVudCBjb25maWd1cmF0aW9uIGJ5IHR5cGVcclxuXHQgKiBAcGFyYW0gdHlwZSBDb21wb25lbnQgdHlwZSBpZGVudGlmaWVyXHJcblx0ICovXHJcblx0Z2V0Q29tcG9uZW50KHR5cGU6IHN0cmluZyk6IEN1c3RvbVJlcG9ydFJlZ2lzdHJ5RGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29tcG9uZW50cy5nZXQodHlwZSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXQgYWxsIHJlZ2lzdGVyZWQgY29tcG9uZW50IHR5cGVzXHJcblx0ICovXHJcblx0Z2V0Q29tcG9uZW50VHlwZXMoKTogc3RyaW5nW10ge1xyXG5cdFx0cmV0dXJuIEFycmF5LmZyb20odGhpcy5fY29tcG9uZW50cy5rZXlzKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IGFsbCByZWdpc3RlcmVkIGNvbXBvbmVudHNcclxuXHQgKi9cclxuXHRnZXRBbGxDb21wb25lbnRzKCk6IEN1c3RvbVJlcG9ydFJlZ2lzdHJ5RGVmaW5pdGlvbltdIHtcclxuXHRcdHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2NvbXBvbmVudHMudmFsdWVzKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IGNvbXBvbmVudHMgYnkgY2F0ZWdvcnlcclxuXHQgKiBAcGFyYW0gY2F0ZWdvcnkgQ2F0ZWdvcnkgdG8gZmlsdGVyIGJ5XHJcblx0ICovXHJcblx0Z2V0Q29tcG9uZW50c0J5Q2F0ZWdvcnkoY2F0ZWdvcnk6IHN0cmluZyk6IEN1c3RvbVJlcG9ydFJlZ2lzdHJ5RGVmaW5pdGlvbltdIHtcclxuXHRcdHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2NvbXBvbmVudHMudmFsdWVzKCkpLmZpbHRlcigoY29uZmlnKSA9PiBjb25maWcuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldCBhbGwgdW5pcXVlIGNhdGVnb3JpZXNcclxuXHQgKi9cclxuXHRnZXRDYXRlZ29yaWVzKCk6IHN0cmluZ1tdIHtcclxuXHRcdGNvbnN0IGNhdGVnb3JpZXMgPSBBcnJheS5mcm9tKHRoaXMuX2NvbXBvbmVudHMudmFsdWVzKCkpXHJcblx0XHRcdC5tYXAoKGNvbmZpZykgPT4gY29uZmlnLmNhdGVnb3J5KVxyXG5cdFx0XHQuZmlsdGVyKChjYXRlZ29yeSk6IGNhdGVnb3J5IGlzIHN0cmluZyA9PiAhIWNhdGVnb3J5KTtcclxuXHJcblx0XHRyZXR1cm4gWy4uLm5ldyBTZXQoY2F0ZWdvcmllcyldO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVW5yZWdpc3RlciBhIGNvbXBvbmVudFxyXG5cdCAqIEBwYXJhbSB0eXBlIENvbXBvbmVudCB0eXBlIGlkZW50aWZpZXJcclxuXHQgKi9cclxuXHR1bnJlZ2lzdGVyQ29tcG9uZW50KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuZGVsZXRlKHR5cGUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2xlYXIgYWxsIHJlZ2lzdGVyZWQgY29tcG9uZW50c1xyXG5cdCAqL1xyXG5cdGNsZWFyQ29tcG9uZW50cygpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2NvbXBvbmVudHMuY2xlYXIoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldCB0aGUgdG90YWwgbnVtYmVyIG9mIHJlZ2lzdGVyZWQgY29tcG9uZW50c1xyXG5cdCAqL1xyXG5cdGdldENvbXBvbmVudENvdW50KCk6IG51bWJlciB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29tcG9uZW50cy5zaXplO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2VhcmNoIGNvbXBvbmVudHMgYnkgbmFtZSBvciB0eXBlXHJcblx0ICogQHBhcmFtIHNlYXJjaFRlcm0gU2VhcmNoIHRlcm1cclxuXHQgKi9cclxuXHRzZWFyY2hDb21wb25lbnRzKHNlYXJjaFRlcm06IHN0cmluZyk6IEN1c3RvbVJlcG9ydFJlZ2lzdHJ5RGVmaW5pdGlvbltdIHtcclxuXHRcdGNvbnN0IHRlcm0gPSBzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XHJcblx0XHRyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9jb21wb25lbnRzLnZhbHVlcygpKS5maWx0ZXIoXHJcblx0XHRcdChjb25maWcpID0+XHJcblx0XHRcdFx0Y29uZmlnLnR5cGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSB8fFxyXG5cdFx0XHRcdGNvbmZpZy5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pIHx8XHJcblx0XHRcdFx0Y29uZmlnLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -9,4 +9,5 @@ export * from './chart-data-transformers.service';
|
|
|
9
9
|
export * from './chart-plugins-registry.service';
|
|
10
10
|
export * from './report-config-mapper.service';
|
|
11
11
|
export * from './reports-data-transformers.service';
|
|
12
|
-
|
|
12
|
+
export * from './custom-reports-registry.service';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25kZi1yZXBvcnRzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LW1hbmFnZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LXRyYW5zZm9ybS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLXRpbWVsaW5lLXJlcG9ydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnRzLXN0YXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpZ2l0LWNoYXJ0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY2hhcnQtYnVpbGRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1kYXRhLXRyYW5zZm9ybWVycy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1wbHVnaW5zLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydC1jb25maWctbWFwcGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydHMtZGF0YS10cmFuc2Zvcm1lcnMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tcmVwb3J0cy1yZWdpc3RyeS5zZXJ2aWNlJztcclxuIl19
|
|
@@ -36,6 +36,13 @@ export class ReportConfigMapperService {
|
|
|
36
36
|
const _colors = [...((config === null || config === void 0 ? void 0 : config.colors) || []), ...ChartUtils.getColors()];
|
|
37
37
|
return Object.assign(Object.assign({}, config), { colors: _colors, chart: chart });
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Prepares a custom chart configuration
|
|
41
|
+
* @param config
|
|
42
|
+
*/
|
|
43
|
+
prepareCustomConfig(config) {
|
|
44
|
+
return config;
|
|
45
|
+
}
|
|
39
46
|
/**
|
|
40
47
|
* Prepares a digit chart configuration
|
|
41
48
|
* @param config The digit chart definition
|
|
@@ -79,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
79
86
|
providedIn: 'root'
|
|
80
87
|
}]
|
|
81
88
|
}], ctorParameters: function () { return [{ type: i1.ChartPluginsRegistry }]; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUNOLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE1BQU0sWUFBWSxDQUFDOzs7QUFLcEIsTUFBTSxPQUFPLHlCQUF5QjtJQUNyQyxZQUE2QixxQkFBMkM7UUFBM0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtJQUFHLENBQUM7SUFFNUU7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzlDLE1BQU0sS0FBOEQsTUFBTSxDQUFDLEtBQUssRUFBMUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxPQUEwQixFQUFyQixJQUFJLGNBQXpELDBEQUEyRCxDQUFlLENBQUM7UUFFakYsTUFBTSxLQUFLLG1DQUNQLElBQUksS0FDUCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQ3RDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUNyRSxDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFOUQsT0FBTyxnQ0FDSCxNQUFNLEtBQ1QsS0FBSyxFQUFFLEtBQUssR0FDRSxDQUFDO0lBQ2pCLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsc0JBQXNCLENBQUMsTUFBa0M7UUFDeEQsTUFBTSxLQUFnQyxNQUFNLENBQUMsS0FBSyxFQUE1QyxFQUFFLE9BQU8sRUFBRSxPQUFPLE9BQTBCLEVBQXJCLElBQUksY0FBM0Isc0JBQTZCLENBQWUsQ0FBQztRQUVuRCxNQUFNLEtBQUssbUNBQ1AsSUFBSSxLQUNQLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQ2hDLENBQUM7UUFDRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxLQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFdkUsT0FBTyxnQ0FDSCxNQUFNLEtBQ1QsTUFBTSxFQUFFLE9BQU8sRUFDZixLQUFLLEVBQUUsS0FBSyxHQUNRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE1BQTZCO1FBQ2hELE9BQU8sTUFBMkIsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLE1BQTRCO1FBQzlDLE9BQU8sTUFBb0IsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxPQUFpQjtRQUN4QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RCxJQUFJLE1BQU0sRUFBRTtnQkFDWCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDeEI7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdkIsSUFBZSxFQUNmLE9BQXFCLEVBQ3JCLFlBQXVDLFlBQVk7O1FBRW5ELE1BQU0sV0FBVyxHQUFHO1lBQ25CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsYUFBYSxFQUFFLHVCQUF1QjtZQUN0QyxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLElBQUksRUFBRSxjQUFjO1lBQ3BCLEdBQUcsRUFBRSxhQUFhO1NBQ2xCLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsT0FBTyxDQUFBLE1BQUEsV0FBVyxDQUFDLEdBQUcsQ0FBQywrQ0FBaEIsV0FBVyxFQUFRLE9BQU8sQ0FBQyxLQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzt1SEFuR1cseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGekIsTUFBTTs0RkFFTix5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdEN1c3RvbUNoYXJ0Q29uZmlnLFxyXG5cdEN1c3RvbUNoYXJ0RGVmaW5pdGlvbixcclxuXHREaWdpdENoYXJ0LFxyXG5cdERpZ2l0Q2hhcnREZWZpbml0aW9uLFxyXG5cdER5bmFtaWNMaW5lQ2hhcnQsXHJcblx0RHluYW1pY0xpbmVDaGFydERlZmluaXRpb24sXHJcblx0RHluYW1pY0xpbmVDaGFydE9wdGlvbnMsXHJcblx0R3JhcGhDaGFydCxcclxuXHRHcmFwaENoYXJ0RGVmaW5pdGlvbixcclxuXHRHcmFwaENoYXJ0T3B0aW9uc1xyXG59IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5IH0gZnJvbSAnLi9jaGFydC1wbHVnaW5zLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFydE9wdGlvbnMsIENoYXJ0VHlwZSwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBDaGFydFV0aWxzIH0gZnJvbSAnLi4vLi4vY2hhcnRzJztcclxuaW1wb3J0IHtcclxuXHRnZXRDaGFydHNPcHRpb25zLFxyXG5cdGdldERvdWdobnV0T3B0aW9ucyxcclxuXHRnZXRIb3Jpem9udGFsQmFyT3B0aW9ucyxcclxuXHRnZXRMaW5lT3B0aW9ucyxcclxuXHRnZXRQaWVPcHRpb25zLFxyXG5cdGdldFZlcnRpY2FsQmFyT3B0aW9uc1xyXG59IGZyb20gJy4uL29wdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Q29uZmlnTWFwcGVyU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zUmVnaXN0cnk6IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcblx0ICovXHJcblx0cHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgY29sb3JzLCBvcHRpb25zLCBkaXJlY3Rpb24sIG92ZXJyaWRlcywgLi4ucmVzdCB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0OiBHcmFwaENoYXJ0T3B0aW9ucyA9IHtcclxuXHRcdFx0Li4ucmVzdCxcclxuXHRcdFx0b3ZlcnJpZGVzOiBnZXRDaGFydHNPcHRpb25zKG92ZXJyaWRlcyksXHJcblx0XHRcdG9wdGlvbnM6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyhjb25maWcuY2hhcnQudHlwZSwgb3B0aW9ucywgZGlyZWN0aW9uKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNoYXJ0LmNvbG9ycyA9IFsuLi4oY29sb3JzIHx8IFtdKSwgLi4uQ2hhcnRVdGlscy5nZXRDb2xvcnMoKV07XHJcblxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Li4uY29uZmlnLFxyXG5cdFx0XHRjaGFydDogY2hhcnRcclxuXHRcdH0gYXMgR3JhcGhDaGFydDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICogUHJlcGFyZXMgYSBkeW5hbWljIGxpbmUgY2hhcnQgY29uZmlndXJhdGlvbiBieSBjb252ZXJ0aW5nIHBsdWdpbiBuYW1lcyB0byBhY3R1YWwgcGx1Z2luIG9iamVjdHNcclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkeW5hbWljIGxpbmUgY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBkeW5hbWljIGxpbmUgY2hhcnQgd2l0aCBwbHVnaW4gb2JqZWN0c1xyXG5cdCAqL1xyXG5cdHByZXBhcmVHcmFwaExpbmVDb25maWcoY29uZmlnOiBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbik6IER5bmFtaWNMaW5lQ2hhcnQge1xyXG5cdFx0Y29uc3QgeyBwbHVnaW5zLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBjb25maWcuY2hhcnQ7XHJcblxyXG5cdFx0Y29uc3QgY2hhcnQ6IER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHQuLi5yZXN0LFxyXG5cdFx0XHRvcHRpb25zOiBnZXRMaW5lT3B0aW9ucyhvcHRpb25zKVxyXG5cdFx0fTtcclxuXHRcdGlmIChBcnJheS5pc0FycmF5KHBsdWdpbnMpICYmIHBsdWdpbnMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRjaGFydC5wbHVnaW5zID0gdGhpcy5fcHJlcGFyZVBsdWdpbnMocGx1Z2lucyk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBfY29sb3JzID0gWy4uLihjb25maWc/LmNvbG9ycyB8fCBbXSksIC4uLkNoYXJ0VXRpbHMuZ2V0Q29sb3JzKCldO1xyXG5cclxuXHRcdHJldHVybiB7XHJcblx0XHRcdC4uLmNvbmZpZyxcclxuXHRcdFx0Y29sb3JzOiBfY29sb3JzLFxyXG5cdFx0XHRjaGFydDogY2hhcnRcclxuXHRcdH0gYXMgRHluYW1pY0xpbmVDaGFydDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByZXBhcmVzIGEgY3VzdG9tIGNoYXJ0IGNvbmZpZ3VyYXRpb25cclxuXHQgKiBAcGFyYW0gY29uZmlnXHJcblx0ICovXHJcblx0cHJlcGFyZUN1c3RvbUNvbmZpZyhjb25maWc6IEN1c3RvbUNoYXJ0RGVmaW5pdGlvbik6IEN1c3RvbUNoYXJ0Q29uZmlnIHtcclxuXHRcdHJldHVybiBjb25maWcgYXMgQ3VzdG9tQ2hhcnRDb25maWc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGRpZ2l0IGNoYXJ0IGNvbmZpZ3VyYXRpb25cclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkaWdpdCBjaGFydCBkZWZpbml0aW9uXHJcblx0ICogQHJldHVybnMgVGhlIHByZXBhcmVkIGRpZ2l0IGNoYXJ0IChjdXJyZW50bHkganVzdCByZXR1cm5zIHRoZSBpbnB1dCBhcyBpcylcclxuXHQgKi9cclxuXHRwcmVwYXJlRGlnaXRDb25maWcoY29uZmlnOiBEaWdpdENoYXJ0RGVmaW5pdGlvbik6IERpZ2l0Q2hhcnQge1xyXG5cdFx0cmV0dXJuIGNvbmZpZyBhcyBEaWdpdENoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydHMgYW4gYXJyYXkgb2YgcGx1Z2luIG5hbWVzIHRvIGFuIGFycmF5IG9mIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIHBsdWdpbnMgQXJyYXkgb2YgcGx1Z2luIG5hbWVzXHJcblx0ICogQHJldHVybnMgQXJyYXkgb2YgcGx1Z2luIG9iamVjdHMgb3IgdW5kZWZpbmVkIGlmIG5vIHBsdWdpbnNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9wcmVwYXJlUGx1Z2lucyhwbHVnaW5zOiBzdHJpbmdbXSk6IHVuZGVmaW5lZCB8IFBsdWdpbjxDaGFydFR5cGU+W10ge1xyXG5cdFx0cmV0dXJuIHBsdWdpbnMucmVkdWNlKChhY2MsIHBsZ05hbWUpID0+IHtcclxuXHRcdFx0Y29uc3QgcGx1Z2luID0gdGhpcy5fY2hhcnRQbHVnaW5zUmVnaXN0cnkuZ2V0KHBsZ05hbWUpO1xyXG5cdFx0XHRpZiAocGx1Z2luKSB7XHJcblx0XHRcdFx0cmV0dXJuIFsuLi5hY2MsIHBsdWdpbl07XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIFtdKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2dldENoYXJ0T3B0aW9ucyhcclxuXHRcdHR5cGU6IENoYXJ0VHlwZSxcclxuXHRcdG9wdGlvbnM6IENoYXJ0T3B0aW9ucyxcclxuXHRcdGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJ1xyXG5cdCkge1xyXG5cdFx0Y29uc3QgX29wdGlvbnNNYXAgPSB7XHJcblx0XHRcdHZlcnRpY2FsQmFyOiBnZXRWZXJ0aWNhbEJhck9wdGlvbnMsXHJcblx0XHRcdGhvcml6b250YWxCYXI6IGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdFx0XHRkb3VnaG51dDogZ2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdFx0XHRsaW5lOiBnZXRMaW5lT3B0aW9ucyxcclxuXHRcdFx0cGllOiBnZXRQaWVPcHRpb25zXHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IGtleSA9IHR5cGUgPT09ICdiYXInID8gYCR7ZGlyZWN0aW9ufUJhcmAgOiB0eXBlO1xyXG5cdFx0cmV0dXJuIF9vcHRpb25zTWFwW2tleV0/LihvcHRpb25zKSB8fCB7fTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
34
34
|
]
|
|
35
35
|
}]
|
|
36
36
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NwZWxsLWNoZWNrZXItZmllbGQvc3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFrQi9HLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFaaEMsOEJBQThCLGFBRzlCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLG1CQUFtQixhQUduQiw4QkFBOEI7c0hBR3JCLHVCQUF1QixZQVZ6QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLG1CQUFtQjtTQUNwQjs0RkFLVSx1QkFBdUI7a0JBZG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkL3NwZWxsLWNoZWNrZXItdGV4dC1maWVsZC5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3BlbGxDaGVja2VyVGV4dEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNwZWxsQ2hlY2tlckZpZWxkTW9kdWxlIHsgfVxuIl19
|
|
@@ -48,11 +48,12 @@ export class NdfNuxeoDialog extends BaseComponent {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
isArrowFunction(fn) {
|
|
51
|
-
const strFn = fn.toString();
|
|
52
|
-
const firstIndex = strFn.indexOf(')');
|
|
53
|
-
const lastIndex = strFn.indexOf('{') + 1;
|
|
54
|
-
const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
55
|
-
return lastIndex == 0 || target.includes('=>');
|
|
51
|
+
// const strFn = fn.toString();
|
|
52
|
+
// const firstIndex = strFn.indexOf(')');
|
|
53
|
+
// const lastIndex = strFn.indexOf('{') + 1;
|
|
54
|
+
// const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
55
|
+
// return lastIndex == 0 || target.includes('=>');
|
|
56
|
+
return true;
|
|
56
57
|
}
|
|
57
58
|
onClose() {
|
|
58
59
|
this.dialogRef.close();
|
|
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
88
89
|
type: ViewChild,
|
|
89
90
|
args: ['dialogBody']
|
|
90
91
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBd0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFRdEQsTUFBTSxPQUFPLGNBQTRCLFNBQVEsYUFBYTtJQWE3RCxZQUFZLFFBQWtCO1FBQzdCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQWJSLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixlQUFVLEdBQThCLFNBQVMsQ0FBQztRQVEzRCx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBeUIsRUFBRSxHQUFHLE1BQWE7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNuRSxJQUFJLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixnRkFBZ0Y7WUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQzthQUNuRTtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDOUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQyxFQUNELEdBQUcsRUFBRTtnQkFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDLENBQ0QsQ0FBQztTQUNGO2FBQU07WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3ZCO0lBQ0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFZO1FBQzNCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzRHQTNEVyxjQUFjO2dHQUFkLGNBQWMsbW1CQ1ozQiwwMkVBZ0RBOzRGRHBDYSxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSxxQkFBcUI7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNsQzsrRkFFUyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUMyQixlQUFlO3NCQUEvQyxZQUFZO3VCQUFDLGlCQUFpQjtnQkFDRSxlQUFlO3NCQUEvQyxZQUFZO3VCQUFDLGlCQUFpQjtnQkFDQyxjQUFjO3NCQUE3QyxZQUFZO3VCQUFDLGdCQUFnQjtnQkFJTCxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9iYXNlJztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4vbW9kZWxzL2RpYWxvZy1vcHRpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICduZGYtbnV4ZW8tZGlhbG9nJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbnV4ZW8uZGlhbG9nLmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL251eGVvLmRpYWxvZy5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZk51eGVvRGlhbG9nPFREYXRhID0gYW55PiBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG5cdEBJbnB1dCgpIGRpYWxvZ1RpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBzdWJUaXRsZTogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCkgcGFuZWxDbGFzczogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCkgbG9hZGVyTW9kZTogJ3NwaW5uZXInIHwgJ3Byb2dyZXNzQmFyJyA9ICdzcGlubmVyJztcclxuXHRAQ29udGVudENoaWxkKCdjb250ZW50VGVtcGxhdGUnKSBjb250ZW50VGVtcGxhdGUhOiBhbnk7XHJcblx0QENvbnRlbnRDaGlsZCgnYWN0aW9uc1RlbXBsYXRlJykgYWN0aW9uc1RlbXBsYXRlITogYW55O1xyXG5cdEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJykgZm9vdGVyVGVtcGxhdGUhOiBhbnk7XHJcblxyXG5cdGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5kZk51eGVvRGlhbG9nPjtcclxuXHRkYXRhOiBURGF0YTtcclxuXHRAVmlld0NoaWxkKCdkaWFsb2dCb2R5JykgZGlhbG9nQm9keTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblx0ZGlhbG9nQm9keVRvcE9mZnNldDogbnVtYmVyID0gMDtcclxuXHRjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHRcdHRoaXMuZGF0YSA9IGluamVjdG9yLmdldChNQVRfRElBTE9HX0RBVEEsIG51bGwpO1xyXG5cdFx0dGhpcy5kaWFsb2dSZWYgPSBpbmplY3Rvci5nZXQoTWF0RGlhbG9nUmVmLCBudWxsKTtcclxuXHR9XHJcblxyXG5cdGV4ZWN1dGVBY3Rpb24oYWN0aW9uPzogRGlhbG9nQWN0aW9uVHlwZSwgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0dGhpcy5kaWFsb2dCb2R5VG9wT2Zmc2V0ID0gdGhpcy5kaWFsb2dCb2R5Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xyXG5cdFx0aWYgKGFjdGlvbikge1xyXG5cdFx0XHRpZiAoIXRoaXMuaXNBcnJvd0Z1bmN0aW9uKGFjdGlvbikpIHtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhY3Rpb24gc2hvdWxkIGJlIGFycm93IGZ1bmN0aW9uJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdFx0Ly9UT0RPIGhlcmUgd2Ugc2hvdWxkIGZpbmQgYSB3YXkgdG8gdGVzdCBpZiBhY3Rpb25zIGluc3RhbmNlIG9mIERpYWxvZ0FjdGlvblR5cGVcclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0gYWN0aW9uKC4uLnBhcmFtcyk7XHJcblx0XHRcdGlmICghaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBhY3Rpb24geW91IHVzZWQgc2hvdWxkIHJldHVybiBhbiBPYnNlcnZhYmxlJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0cmVzdWx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHZhbHVlKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKHZhbHVlKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlzQXJyb3dGdW5jdGlvbihmbjogRnVuY3Rpb24pOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IHN0ckZuID0gZm4udG9TdHJpbmcoKTtcclxuXHRcdGNvbnN0IGZpcnN0SW5kZXggPSBzdHJGbi5pbmRleE9mKCcpJyk7XHJcblx0XHRjb25zdCBsYXN0SW5kZXggPSBzdHJGbi5pbmRleE9mKCd7JykgKyAxO1xyXG5cdFx0Y29uc3QgdGFyZ2V0ID0gc3RyRm4uc3Vic3RyaW5nKGZpcnN0SW5kZXgsIGxhc3RJbmRleCkucmVwbGFjZSgnICcsICcnKTtcclxuXHRcdHJldHVybiBsYXN0SW5kZXggPT0gMCB8fCB0YXJnZXQuaW5jbHVkZXMoJz0+Jyk7XHJcblx0fVxyXG5cclxuXHRvbkNsb3NlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBTZXREaXJSdGwgY2xhc3M9XCJuZGYtZGlhbG9nLXdyYXBwZXIgZmxleCBmbGV4LWNvbCBoLWZ1bGxcIiBbY2xhc3NdPVwiZGF0YT8uZGlhbG9nQ29uZmlnPy5wYW5lbENsYXNzID8/IHBhbmVsQ2xhc3NcIj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cImRpYWxvZy1oZWFkZXIgZmxleCBoLTIwIHAtNiBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbCBiZy12YXBvciB0ZXh0LWJsdWUtbXVuc2VsbCB0ZXh0LXhsIG5vdC1pdGFsaWMgZm9udC1ib2xkIGxlYWRpbmctN1wiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuXHRcdFx0PHNwYW4+e3sgZGF0YT8uZGlhbG9nQ29uZmlnPy50aXRsZSB8fCBkaWFsb2dUaXRsZSB9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ub3JtYWxcIj57eyBkYXRhPy5kaWFsb2dDb25maWc/LnN1YlRpdGxlIHx8IHN1YlRpdGxlIH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJnLWFudGktZmxhc2gtd2hpdGUgdy0xMCBoLTEwXCJcclxuXHRcdFx0KGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiXHJcblx0XHRcdG1hdFRvb2x0aXA9XCJ7eydCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZX19XCJcclxuXHRcdD5cclxuXHRcdFx0PG1hdC1pY29uIGNsYXNzPVwiaWNvbi1zaXplLTMuNVwiIFtzdmdJY29uXT1cIidpY29uczpjYW5jZWwtaWNvbidcIj4gPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdCNkaWFsb2dCb2R5XHJcblx0XHRjbGFzcz1cImRpYWxvZy1ib2R5IGZsZXggZmxleC1jb2wgZ2FwLXktNCBwLTYgb3ZlcmZsb3cteS1hdXRvIHJlbGF0aXZlIHotOTlcIlxyXG5cdFx0W25nQ2xhc3NdPVwieydvdmVyZmxvdy1oaWRkZW4nOiBsb2FkaW5nfVwiXHJcblx0PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/LmRpYWxvZ0NvbmZpZz8uY29udGVudFRlbXBsYXRlIHx8IGNvbnRlbnRUZW1wbGF0ZSA7IGNvbnRleHQ6IHsgZGlhbG9nOiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJuZGYtZGlhbG9nLW92ZXJsYXkgei05OTlcIiBbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiPjwvZGl2PlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJuZGYtZGlhbG9nLWxvYWRlciB6LTk5OTlcIlxyXG5cdFx0XHRcdCpuZ0lmPVwibG9hZGVyTW9kZSA9PT0gJ3NwaW5uZXInXCJcclxuXHRcdFx0XHRbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjRcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI0MFwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L21hdC1zcGlubmVyPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrIHctZnVsbCBoLXB4IGFic29sdXRlIGluc2V0LTAgei05OTk5XCIgKm5nSWY9XCJsb2FkZXJNb2RlID09PSAncHJvZ3Jlc3NCYXInXCI+XHJcblx0XHRcdFx0PG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBwLTYgcHQtMCBnYXAteC00XCI+XHJcblx0XHQ8c3Bhbj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7IGRpYWxvZzogdGhpcyB9XCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L3NwYW4+XHJcblx0XHQ8c3BhbiBjbGFzcz1cImZsZXggZ2FwLXgtNFwiPlxyXG5cdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uXCIgKGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiPnt7XCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdCpuZ1RlbXBsYXRlT3V0bGV0PVwiKGRhdGE/LmRpYWxvZ0NvbmZpZz8uYWN0aW9uc1RlbXBsYXRlIHx8IGFjdGlvbnNUZW1wbGF0ZSk7IGNvbnRleHQ6IHsgZGlhbG9nOiB0aGlzIH1cIlxyXG5cdFx0XHQ+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L3NwYW4+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBd0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFRdEQsTUFBTSxPQUFPLGNBQTRCLFNBQVEsYUFBYTtJQWE3RCxZQUFZLFFBQWtCO1FBQzdCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQWJSLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixlQUFVLEdBQThCLFNBQVMsQ0FBQztRQVEzRCx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBeUIsRUFBRSxHQUFHLE1BQWE7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNuRSxJQUFJLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixnRkFBZ0Y7WUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQzthQUNuRTtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDOUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQyxFQUNELEdBQUcsRUFBRTtnQkFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDLENBQ0QsQ0FBQztTQUNGO2FBQU07WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3ZCO0lBQ0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFZO1FBQzNCLCtCQUErQjtRQUMvQix5Q0FBeUM7UUFDekMsNENBQTRDO1FBQzVDLDBFQUEwRTtRQUMxRSxrREFBa0Q7UUFDbEQsT0FBTyxJQUFJLENBQUE7SUFDWixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7NEdBNURXLGNBQWM7Z0dBQWQsY0FBYyxtbUJDWjNCLDAyRUFnREE7NEZEcENhLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLHFCQUFxQjtvQkFDbEMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2xDOytGQUVTLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQzJCLGVBQWU7c0JBQS9DLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNFLGVBQWU7c0JBQS9DLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNDLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUlMLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Jhc2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ25kZi1udXhlby1kaWFsb2cnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9udXhlby5kaWFsb2cuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbnV4ZW8uZGlhbG9nLnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmTnV4ZW9EaWFsb2c8VERhdGEgPSBhbnk+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcblx0QElucHV0KCkgZGlhbG9nVGl0bGU6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHN1YlRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBwYW5lbENsYXNzOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBsb2FkZXJNb2RlOiAnc3Bpbm5lcicgfCAncHJvZ3Jlc3NCYXInID0gJ3NwaW5uZXInO1xyXG5cdEBDb250ZW50Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZScpIGNvbnRlbnRUZW1wbGF0ZSE6IGFueTtcclxuXHRAQ29udGVudENoaWxkKCdhY3Rpb25zVGVtcGxhdGUnKSBhY3Rpb25zVGVtcGxhdGUhOiBhbnk7XHJcblx0QENvbnRlbnRDaGlsZCgnZm9vdGVyVGVtcGxhdGUnKSBmb290ZXJUZW1wbGF0ZSE6IGFueTtcclxuXHJcblx0ZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TmRmTnV4ZW9EaWFsb2c+O1xyXG5cdGRhdGE6IFREYXRhO1xyXG5cdEBWaWV3Q2hpbGQoJ2RpYWxvZ0JvZHknKSBkaWFsb2dCb2R5OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHRkaWFsb2dCb2R5VG9wT2Zmc2V0OiBudW1iZXIgPSAwO1xyXG5cdGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdFx0dGhpcy5kYXRhID0gaW5qZWN0b3IuZ2V0KE1BVF9ESUFMT0dfREFUQSwgbnVsbCk7XHJcblx0XHR0aGlzLmRpYWxvZ1JlZiA9IGluamVjdG9yLmdldChNYXREaWFsb2dSZWYsIG51bGwpO1xyXG5cdH1cclxuXHJcblx0ZXhlY3V0ZUFjdGlvbihhY3Rpb24/OiBEaWFsb2dBY3Rpb25UeXBlLCAuLi5wYXJhbXM6IGFueVtdKTogdm9pZCB7XHJcblx0XHR0aGlzLmRpYWxvZ0JvZHlUb3BPZmZzZXQgPSB0aGlzLmRpYWxvZ0JvZHkubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A7XHJcblx0XHRpZiAoYWN0aW9uKSB7XHJcblx0XHRcdGlmICghdGhpcy5pc0Fycm93RnVuY3Rpb24oYWN0aW9uKSkge1xyXG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcignVGhlIGFjdGlvbiBzaG91bGQgYmUgYXJyb3cgZnVuY3Rpb24nKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0XHQvL1RPRE8gaGVyZSB3ZSBzaG91bGQgZmluZCBhIHdheSB0byB0ZXN0IGlmIGFjdGlvbnMgaW5zdGFuY2Ugb2YgRGlhbG9nQWN0aW9uVHlwZVxyXG5cdFx0XHRjb25zdCByZXN1bHQgPSBhY3Rpb24oLi4ucGFyYW1zKTtcclxuXHRcdFx0aWYgKCFpc09ic2VydmFibGUocmVzdWx0KSkge1xyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcignVGhlIGFjdGlvbiB5b3UgdXNlZCBzaG91bGQgcmV0dXJuIGFuIE9ic2VydmFibGUnKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXN1bHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShcclxuXHRcdFx0XHQodmFsdWUpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UodmFsdWUpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aXNBcnJvd0Z1bmN0aW9uKGZuOiBGdW5jdGlvbik6IGJvb2xlYW4ge1xyXG5cdFx0Ly8gY29uc3Qgc3RyRm4gPSBmbi50b1N0cmluZygpO1xyXG5cdFx0Ly8gY29uc3QgZmlyc3RJbmRleCA9IHN0ckZuLmluZGV4T2YoJyknKTtcclxuXHRcdC8vIGNvbnN0IGxhc3RJbmRleCA9IHN0ckZuLmluZGV4T2YoJ3snKSArIDE7XHJcblx0XHQvLyBjb25zdCB0YXJnZXQgPSBzdHJGbi5zdWJzdHJpbmcoZmlyc3RJbmRleCwgbGFzdEluZGV4KS5yZXBsYWNlKCcgJywgJycpO1xyXG5cdFx0Ly8gcmV0dXJuIGxhc3RJbmRleCA9PSAwIHx8IHRhcmdldC5pbmNsdWRlcygnPT4nKTtcclxuXHRcdHJldHVybiB0cnVlXHJcblx0fVxyXG5cclxuXHRvbkNsb3NlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBTZXREaXJSdGwgY2xhc3M9XCJuZGYtZGlhbG9nLXdyYXBwZXIgZmxleCBmbGV4LWNvbCBoLWZ1bGxcIiBbY2xhc3NdPVwiZGF0YT8uZGlhbG9nQ29uZmlnPy5wYW5lbENsYXNzID8/IHBhbmVsQ2xhc3NcIj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cImRpYWxvZy1oZWFkZXIgZmxleCBoLTIwIHAtNiBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbCBiZy12YXBvciB0ZXh0LWJsdWUtbXVuc2VsbCB0ZXh0LXhsIG5vdC1pdGFsaWMgZm9udC1ib2xkIGxlYWRpbmctN1wiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuXHRcdFx0PHNwYW4+e3sgZGF0YT8uZGlhbG9nQ29uZmlnPy50aXRsZSB8fCBkaWFsb2dUaXRsZSB9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ub3JtYWxcIj57eyBkYXRhPy5kaWFsb2dDb25maWc/LnN1YlRpdGxlIHx8IHN1YlRpdGxlIH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJnLWFudGktZmxhc2gtd2hpdGUgdy0xMCBoLTEwXCJcclxuXHRcdFx0KGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiXHJcblx0XHRcdG1hdFRvb2x0aXA9XCJ7eydCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZX19XCJcclxuXHRcdD5cclxuXHRcdFx0PG1hdC1pY29uIGNsYXNzPVwiaWNvbi1zaXplLTMuNVwiIFtzdmdJY29uXT1cIidpY29uczpjYW5jZWwtaWNvbidcIj4gPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdCNkaWFsb2dCb2R5XHJcblx0XHRjbGFzcz1cImRpYWxvZy1ib2R5IGZsZXggZmxleC1jb2wgZ2FwLXktNCBwLTYgb3ZlcmZsb3cteS1hdXRvIHJlbGF0aXZlIHotOTlcIlxyXG5cdFx0W25nQ2xhc3NdPVwieydvdmVyZmxvdy1oaWRkZW4nOiBsb2FkaW5nfVwiXHJcblx0PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/LmRpYWxvZ0NvbmZpZz8uY29udGVudFRlbXBsYXRlIHx8IGNvbnRlbnRUZW1wbGF0ZSA7IGNvbnRleHQ6IHsgZGlhbG9nOiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJuZGYtZGlhbG9nLW92ZXJsYXkgei05OTlcIiBbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiPjwvZGl2PlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJuZGYtZGlhbG9nLWxvYWRlciB6LTk5OTlcIlxyXG5cdFx0XHRcdCpuZ0lmPVwibG9hZGVyTW9kZSA9PT0gJ3NwaW5uZXInXCJcclxuXHRcdFx0XHRbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjRcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI0MFwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L21hdC1zcGlubmVyPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrIHctZnVsbCBoLXB4IGFic29sdXRlIGluc2V0LTAgei05OTk5XCIgKm5nSWY9XCJsb2FkZXJNb2RlID09PSAncHJvZ3Jlc3NCYXInXCI+XHJcblx0XHRcdFx0PG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktYmV0d2VlbiBwLTYgcHQtMCBnYXAteC00XCI+XHJcblx0XHQ8c3Bhbj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7IGRpYWxvZzogdGhpcyB9XCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L3NwYW4+XHJcblx0XHQ8c3BhbiBjbGFzcz1cImZsZXggZ2FwLXgtNFwiPlxyXG5cdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uXCIgKGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiPnt7XCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdCpuZ1RlbXBsYXRlT3V0bGV0PVwiKGRhdGE/LmRpYWxvZ0NvbmZpZz8uYWN0aW9uc1RlbXBsYXRlIHx8IGFjdGlvbnNUZW1wbGF0ZSk7IGNvbnRleHQ6IHsgZGlhbG9nOiB0aGlzIH1cIlxyXG5cdFx0XHQ+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L3NwYW4+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -25,7 +25,8 @@ function createSecureContext() {
|
|
|
25
25
|
// Prevent access to window
|
|
26
26
|
window: undefined,
|
|
27
27
|
self: undefined,
|
|
28
|
-
globalThis: undefined
|
|
28
|
+
globalThis: undefined,
|
|
29
|
+
_: _ // Include lodash if needed, but ensure it's used safely
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
@@ -314,4 +315,4 @@ Evaluator.templateSettings = {
|
|
|
314
315
|
evaluate: /\{%([\s\S]+?)%\}/g,
|
|
315
316
|
escape: /\{\{\{([\s\S]+?)\}\}\}/g
|
|
316
317
|
};
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2V2YWx1YXRvci9ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pELE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUlyQzs7O0dBR0c7QUFDSCxTQUFTLG1CQUFtQjtJQUMzQixvREFBb0Q7SUFDcEQsT0FBTztRQUNOLHNEQUFzRDtRQUN0RCxPQUFPLEVBQUU7WUFDUixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNwQjtRQUNELDZDQUE2QztRQUM3QyxJQUFJO1FBQ0osSUFBSTtRQUNKLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTztRQUNQLEtBQUs7UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLDJCQUEyQjtRQUMzQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLFVBQVUsRUFBRSxTQUFTO0tBQ3JCLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBbUJyQjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUF1QixFQUFFLEdBQUcsTUFBYTtRQUN6RCw2REFBNkQ7UUFDN0QsSUFBSSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNuQyxJQUNDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekIs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QkFDYixPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JFLE9BQVEsR0FBYSxDQUFDLE9BQU8sQ0FBQzthQUM5QjtTQUNEO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQzs7QUF0VkQ7OztHQUdHO0FBQ0ksZUFBSyxHQUE2QixFQUFFLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSSwwQkFBZ0IsR0FBcUI7SUFDM0MsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixRQUFRLEVBQUUsbUJBQW1CO0lBQzdCLE1BQU0sRUFBRSx5QkFBeUI7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfLCB7IGdldCwga2V5cywgc2V0LCB0cmltLCB2YWx1ZXMgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgc3RyaW5nSGFzaCBmcm9tICdzdHJpbmctaGFzaCc7XHJcblxyXG5pbXBvcnQgeyBFdmFsdWF0b3JPcHRpb25zLCBUZW1wbGF0ZVNldHRpbmdzIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIHNlY3VyZSBjb250ZXh0IGZvciBmdW5jdGlvbiBldmFsdWF0aW9uIHRoYXQgcHJldmVudHMgYWNjZXNzIHRvIHRoZSB3aW5kb3cgb2JqZWN0LlxyXG4gKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gQSBzZWN1cmUgY29udGV4dCBvYmplY3Qgd2l0aCBzYWZlIHByb3BlcnRpZXMuXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVTZWN1cmVDb250ZXh0KCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG5cdC8vIENyZWF0ZSBhIHNlY3VyZSBjb250ZXh0IHdpdGggb25seSBzYWZlIHByb3BlcnRpZXNcclxuXHRyZXR1cm4ge1xyXG5cdFx0Ly8gQWRkIGFueSBzYWZlIGdsb2JhbHMgaGVyZSB0aGF0IHNob3VsZCBiZSBhY2Nlc3NpYmxlXHJcblx0XHRjb25zb2xlOiB7XHJcblx0XHRcdGxvZzogY29uc29sZS5sb2csXHJcblx0XHRcdHdhcm46IGNvbnNvbGUud2FybixcclxuXHRcdFx0ZXJyb3I6IGNvbnNvbGUuZXJyb3JcclxuXHRcdH0sXHJcblx0XHQvLyBBZGQgb3RoZXIgc2FmZSBvYmplY3RzL2Z1bmN0aW9ucyBhcyBuZWVkZWRcclxuXHRcdE1hdGgsXHJcblx0XHREYXRlLFxyXG5cdFx0TnVtYmVyLFxyXG5cdFx0U3RyaW5nLFxyXG5cdFx0Qm9vbGVhbixcclxuXHRcdEFycmF5LFxyXG5cdFx0T2JqZWN0LFxyXG5cdFx0SlNPTixcclxuXHRcdC8vIFByZXZlbnQgYWNjZXNzIHRvIHdpbmRvd1xyXG5cdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWRcclxuXHR9O1xyXG59XHJcblxyXG4vKipcclxuICogQSB1dGlsaXR5IGNsYXNzIGZvciBldmFsdWF0aW5nIGV4cHJlc3Npb25zLCBpbnRlcnBvbGF0aW5nIHN0cmluZ3MsIGFuZCB3b3JraW5nIHdpdGggdGVtcGxhdGVzLlxyXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBkeW5hbWljIGV2YWx1YXRpb24gb2YgY29kZSwgc3RyaW5nIGludGVycG9sYXRpb24sXHJcbiAqIGFuZCB0ZW1wbGF0ZSBwcm9jZXNzaW5nIHdpdGggY2FjaGluZyBjYXBhYmlsaXRpZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXZhbHVhdG9yIHtcclxuXHQvKipcclxuXHQgKiBDYWNoZSBmb3Igc3RvcmluZyBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbnMgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS5cclxuXHQgKiBLZXlzIGFyZSBzdHJpbmcgaGFzaGVzIG9mIHRoZSB0ZW1wbGF0ZSwgdmFsdWVzIGFyZSB0aGUgY29tcGlsZWQgZnVuY3Rpb25zLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBjYWNoZTogUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+ID0ge307XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHRpbmdzIGZvciB0ZW1wbGF0ZSBwcm9jZXNzaW5nLCBkZWZpbmluZyByZWdleCBwYXR0ZXJucyBmb3IgZGlmZmVyZW50IHRlbXBsYXRlIG9wZXJhdGlvbnMuXHJcblx0ICogLSBpbnRlcnBvbGF0ZTogUGF0dGVybiBmb3IgdmFyaWFibGUgaW50ZXJwb2xhdGlvbiAoe3sgdmFyaWFibGUgfX0pXHJcblx0ICogLSBldmFsdWF0ZTogUGF0dGVybiBmb3IgY29kZSBldmFsdWF0aW9uICh7JSBjb2RlICV9KVxyXG5cdCAqIC0gZXNjYXBlOiBQYXR0ZXJuIGZvciBIVE1MIGVzY2FwaW5nICh7e3sgdmFyaWFibGUgfX19KVxyXG5cdCAqL1xyXG5cdHN0YXRpYyB0ZW1wbGF0ZVNldHRpbmdzOiBUZW1wbGF0ZVNldHRpbmdzID0ge1xyXG5cdFx0aW50ZXJwb2xhdGU6IC97eyhbXFxzXFxTXSs/KX19L2csXHJcblx0XHRldmFsdWF0ZTogL1xceyUoW1xcc1xcU10rPyklXFx9L2csXHJcblx0XHRlc2NhcGU6IC9cXHtcXHtcXHsoW1xcc1xcU10rPylcXH1cXH1cXH0vZ1xyXG5cdH07XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIGEgc3RyaW5nIG9yIHJldHVybnMgdGhlIGZ1bmN0aW9uIGlmIGFscmVhZHkgcHJvdmlkZWQuXHJcblx0ICogVXNlcyBhIHNlY3VyZSBjb250ZXh0IHRvIHByZXZlbnQgYWNjZXNzIHRvIHRoZSB3aW5kb3cgb2JqZWN0IGJ5IGRlZmF1bHQuXHJcblx0ICogQHBhcmFtIHtzdHJpbmd8RnVuY3Rpb259IGZ1bmMgLSBUaGUgZnVuY3Rpb24gb3Igc3RyaW5nIHRvIGNvbnZlcnQgdG8gYSBmdW5jdGlvbi5cclxuXHQgKiBAcGFyYW0gey4uLmFueX0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgZXZhbHVhdGlvbi5cclxuXHQgKiBAcmV0dXJucyB7RnVuY3Rpb259IC0gVGhlIHJlc3VsdGluZyBmdW5jdGlvbi5cclxuXHQgKi9cclxuXHRzdGF0aWMgZXZhbHVhdG9yKGZ1bmM6IHN0cmluZyB8IEZ1bmN0aW9uLCAuLi5wYXJhbXM6IGFueVtdKTogRnVuY3Rpb24ge1xyXG5cdFx0Ly8gRXh0cmFjdCBvcHRpb25zIGlmIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBhbiBvcHRpb25zIG9iamVjdFxyXG5cdFx0bGV0IG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fTtcclxuXHRcdGlmIChcclxuXHRcdFx0cGFyYW1zLmxlbmd0aCA+IDAgJiZcclxuXHRcdFx0cGFyYW1zW3BhcmFtcy5sZW5ndGggLSAxXSAmJlxyXG5cdFx0XHR0eXBlb2YgcGFyYW1zW3BhcmFtcy5sZW5ndGggLSAxXSA9PT0gJ29iamVjdCcgJiZcclxuXHRcdFx0J3NlY3VyaXR5TW9kZScgaW4gcGFyYW1zW3BhcmFtcy5sZW5ndGggLSAxXVxyXG5cdFx0KSB7XHJcblx0XHRcdG9wdGlvbnMgPSBwYXJhbXMucG9wKCkgYXMgRXZhbHVhdG9yT3B0aW9ucztcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuXHRcdFx0cmV0dXJuIGZ1bmM7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHR5cGVvZiBwYXJhbXNbMF0gPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdHBhcmFtcyA9IGtleXMocGFyYW1zWzBdKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBDaGVjayBpZiB3ZSBzaG91bGQgdXNlIHNlY3VyZSBtb2RlIChkZWZhdWx0KSBvciB1bnNhZmUgbW9kZVxyXG5cdFx0Y29uc3Qgc2VjdXJpdHlNb2RlID0gb3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZSc7XHJcblxyXG5cdFx0aWYgKHNlY3VyaXR5TW9kZSA9PT0gJ3Vuc2FmZScpIHtcclxuXHRcdFx0Ly8gSW4gdW5zYWZlIG1vZGUsIGNyZWF0ZSBhIGZ1bmN0aW9uIHdpdGggYWNjZXNzIHRvIGFsbCBnbG9iYWxzXHJcblx0XHRcdHJldHVybiBuZXcgRnVuY3Rpb24oLi4ucGFyYW1zLCBmdW5jIGFzIHN0cmluZyk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBzYW5kYm94ID0gY3JlYXRlU2VjdXJlQ29udGV4dCgpO1xyXG5cdFx0Y29uc3Qgc2FuZGJveEtleXMgPSBPYmplY3Qua2V5cyhzYW5kYm94KTtcclxuXHRcdGNvbnN0IHNhbmRib3hBc3NpZ25tZW50cyA9IHNhbmRib3hLZXlzLm1hcCgoa2V5KSA9PiBgY29uc3QgJHtrZXl9ID0gc2FuZGJveC4ke2tleX07YCkuam9pbignJyk7XHJcblxyXG5cdFx0Y29uc3Qgd3JhcHBlciA9IG5ldyBGdW5jdGlvbiguLi5wYXJhbXMsICdzYW5kYm94JywgYCR7c2FuZGJveEFzc2lnbm1lbnRzfSR7ZnVuYyBhcyBzdHJpbmd9YCk7XHJcblxyXG5cdFx0cmV0dXJuICguLi5hcmdzOiBhbnlbXSkgPT4gd3JhcHBlciguLi5hcmdzLCBzYW5kYm94KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlcGxhY2VzIHRlbXBsYXRlIGV4cHJlc3Npb25zIGluIGEgc3RyaW5nIHdpdGggdmFsdWVzIGZyb20gZGF0YS5cclxuXHQgKiBTdXBwb3J0cyBmdW5jdGlvbiBjYWxscyB3aXRoaW4gdGVtcGxhdGVzIGFuZCBmYWxsYmFjayB2YWx1ZXMgdXNpbmcgfHwgc3ludGF4LlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGVuc3VyZXMgZXZhbHVhdGlvbiBoYXBwZW5zIGluIGEgc2VjdXJlIGNvbnRleHQgdG8gcHJldmVudCBhY2Nlc3MgdG8gd2luZG93IG9iamVjdC5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcmF3VGVtcGxhdGUgLSBUaGUgdGVtcGxhdGUgc3RyaW5nIGNvbnRhaW5pbmcgZXhwcmVzc2lvbnMgdG8gaW50ZXJwb2xhdGUuXHJcblx0ICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgdmFsdWVzIHRvIHVzZSBmb3IgaW50ZXJwb2xhdGlvbi5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnRlcnBvbGF0aW9uIHByb2Nlc3MuXHJcblx0ICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgaW50ZXJwb2xhdGVkIHN0cmluZyB3aXRoIGFsbCBleHByZXNzaW9ucyByZXBsYWNlZCB3aXRoIGFjdHVhbCB2YWx1ZXMuXHJcblx0ICovXHJcblx0c3RhdGljIGludGVycG9sYXRlU3RyaW5nKHJhd1RlbXBsYXRlOiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fSk6IHN0cmluZyB7XHJcblx0XHRpZiAoIXJhd1RlbXBsYXRlKSB7XHJcblx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHRcdGlmICh0eXBlb2YgcmF3VGVtcGxhdGUgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHJldHVybiAocmF3VGVtcGxhdGUgYXMgYW55KS50b1N0cmluZygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIENoZWNrIGlmIHdlIHNob3VsZCB1c2Ugc2VjdXJlIG1vZGUgKGRlZmF1bHQpIG9yIHVuc2FmZSBtb2RlXHJcblx0XHRjb25zdCBzZWN1cml0eU1vZGUgPSBvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJztcclxuXHJcblx0XHQvLyBDcmVhdGUgYSBzZWN1cmUgZGF0YSBvYmplY3QgaWYgbmVlZGVkXHJcblx0XHRjb25zdCBzZWN1cmVEYXRhID1cclxuXHRcdFx0c2VjdXJpdHlNb2RlID09PSAndW5zYWZlJ1xyXG5cdFx0XHRcdD8gZGF0YVxyXG5cdFx0XHRcdDoge1xyXG5cdFx0XHRcdFx0XHQuLi5jcmVhdGVTZWN1cmVDb250ZXh0KCksXHJcblx0XHRcdFx0XHRcdC4uLmRhdGEsXHJcblx0XHRcdFx0XHRcdC8vIEVuc3VyZSB0aGVzZSByZW1haW4gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHRcdHdpbmRvdzogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdGdsb2JhbFRoaXM6IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fTtcclxuXHJcblx0XHRyZXR1cm4gcmF3VGVtcGxhdGUucmVwbGFjZSgvKHt7XFxzKiguKj8pXFxzKn19KS9nLCAobWF0Y2g6IHN0cmluZywgJDE6IHN0cmluZywgZXhwcmVzc2lvbjogc3RyaW5nKSA9PiB7XHJcblx0XHRcdGlmIChleHByZXNzaW9uLmluZGV4T2YoJygnKSAhPT0gLTEpIHtcclxuXHRcdFx0XHRyZXR1cm4gZXhwcmVzc2lvbi5yZXBsYWNlKC8oW14oXSspXFwoKFteKV0rKVxccypcXCk7Py8sIChfOiBzdHJpbmcsIGZuTmFtZTogc3RyaW5nLCBhcmdzU3RyOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRcdGZuTmFtZSA9IHRyaW0oZm5OYW1lKTtcclxuXHRcdFx0XHRcdGNvbnN0IGZ1bmMgPSBnZXQoc2VjdXJlRGF0YSwgZm5OYW1lKTtcclxuXHJcblx0XHRcdFx0XHRpZiAoZnVuYykge1xyXG5cdFx0XHRcdFx0XHRpZiAoYXJnc1N0cikge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGFyZ3MgPSBhcmdzU3RyLnNwbGl0KCcsJykubWFwKChhcmc6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdHJpbW1lZCA9IHRyaW0oYXJnKTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmICgvXlsnXCJdLy50ZXN0KHRyaW1tZWQpKSByZXR1cm4gdHJpbW1lZC5zbGljZSgxLCAtMSk7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gZ2V0KHNlY3VyZURhdGEsIHRyaW1tZWQpO1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBFdmFsdWF0b3IuZXZhbHVhdGUoZnVuYywgYXJncywgJycsIGZhbHNlLCBzZWN1cmVEYXRhLCBvcHRpb25zKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gRXZhbHVhdG9yLmV2YWx1YXRlKGZ1bmMsIFtdLCAnJywgZmFsc2UsIHNlY3VyZURhdGEsIG9wdGlvbnMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cmV0dXJuICcnO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGxldCBkYXRhUGF0aCA9IGV4cHJlc3Npb247XHJcblx0XHRcdFx0aWYgKGV4cHJlc3Npb24uaW5kZXhPZignPycpICE9PSAtMSkge1xyXG5cdFx0XHRcdFx0ZGF0YVBhdGggPSBleHByZXNzaW9uLnJlcGxhY2UoL1xcP1xcLi9nLCAnLicpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCBwYXJ0cyA9IGRhdGFQYXRoLnNwbGl0KCd8fCcpLm1hcCgoaXRlbTogc3RyaW5nKSA9PiBpdGVtLnRyaW0oKSk7XHJcblx0XHRcdFx0bGV0IHZhbHVlID0gJyc7XHJcblx0XHRcdFx0bGV0IHBhdGggPSAnJztcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRwYXRoID0gcGFydHNbaV07XHJcblx0XHRcdFx0XHRpZiAoXy5oYXMoc2VjdXJlRGF0YSwgcGF0aCkpIHtcclxuXHRcdFx0XHRcdFx0dmFsdWUgPSBfLmdldChzZWN1cmVEYXRhLCBwYXRoKTtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChvcHRpb25zLmRhdGEpIHtcclxuXHRcdFx0XHRcdHNldChvcHRpb25zLmRhdGEsIHBhdGgsIHZhbHVlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBlcmZvcm1zIGFuIGV2YWx1YXRpb24gdXNpbmcgdGhlIGV2YWx1YXRpb24gY29udGV4dCBvZiB0aGlzIGNvbXBvbmVudC5cclxuXHQgKiBCeSBkZWZhdWx0LCBlbnN1cmVzIGV2YWx1YXRpb24gaGFwcGVucyBpbiBhIHNlY3VyZSBjb250ZXh0IHRvIHByZXZlbnQgYWNjZXNzIHRvIHdpbmRvdyBvYmplY3QuXHJcblx0ICogQHBhcmFtIHtzdHJpbmd8RnVuY3Rpb258b2JqZWN0fSBmdW5jIC0gVGhlIGZ1bmN0aW9uIG9yIHN0cmluZyB0byBldmFsdWF0ZS5cclxuXHQgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFRoZSBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgZXZhbHVhdGlvbi5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcmV0IC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHdpdGhpbiB0aGUgZXZhbHVhdGlvbiBjb250ZXh0IHRvIHJldHVybi5cclxuXHQgKiBAcGFyYW0ge2Jvb2xlYW59IGludGVycG9sYXRlIC0gRGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQgcmVwbGFjZSBhbGwge3sgfX0gdG9rZW4gcmVmZXJlbmNlcyB3aXRoIGFjdHVhbCBkYXRhLlxyXG5cdCAqIEBwYXJhbSB7b2JqZWN0fSBjb250ZXh0IC0gICAtIFRoZSBldmFsdWF0aW9uIGNvbnRleHQuXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zIH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGV2YWx1YXRpb24uXHJcblx0ICogQHJldHVybnMgeyp9IC0gVGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbi5cclxuXHQgKi9cclxuXHRzdGF0aWMgZXZhbHVhdGUoXHJcblx0XHRmdW5jOiBhbnksXHJcblx0XHRhcmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcblx0XHRyZXQ6IHN0cmluZyA9ICdzaG93JyxcclxuXHRcdGludGVycG9sYXRlOiBib29sZWFuID0gZmFsc2UsXHJcblx0XHRjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcblx0XHRvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge31cclxuXHQpOiBhbnkge1xyXG5cdFx0bGV0IHJldHVyblZhbCA9IG51bGw7XHJcblxyXG5cdFx0Y29uc3QgZmllbGQgPSBhcmdzLmZpZWxkID8gYXJncy5maWVsZCA6IHsga2V5OiAndW5rbm93bicgfTtcclxuXHRcdGNvbnN0IGZpZWxkS2V5ID0gZmllbGQua2V5O1xyXG5cclxuXHRcdGlmICh0eXBlb2YgZnVuYyA9PT0gJ3N0cmluZycpIHtcclxuXHRcdFx0aWYgKHJldCkge1xyXG5cdFx0XHRcdGZ1bmMgPSBgdmFyICR7cmV0fTske2Z1bmN9O3JldHVybiAke3JldH1gO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoaW50ZXJwb2xhdGUpIHtcclxuXHRcdFx0XHRmdW5jID0gRXZhbHVhdG9yLmludGVycG9sYXRlKGZ1bmMsIGFyZ3MsIG9wdGlvbnMpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdC8vIFBhc3MgdGhlIHNlY3VyaXR5IG1vZGUgb3B0aW9uIHRvIHRoZSBldmFsdWF0b3JcclxuXHRcdFx0XHRjb25zdCBldmFsdWF0b3JPcHRpb25zID0geyBzZWN1cml0eU1vZGU6IG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnIH07XHJcblx0XHRcdFx0ZnVuYyA9IEV2YWx1YXRvci5ldmFsdWF0b3IoZnVuYywgYXJncywgY29udGV4dCwgZXZhbHVhdG9yT3B0aW9ucyk7XHJcblx0XHRcdFx0YXJncyA9IEFycmF5LmlzQXJyYXkoYXJncykgPyBhcmdzIDogdmFsdWVzKGFyZ3MpO1xyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHRjb25zb2xlLndhcm4oYEFuIGVycm9yIG9jY3VyZWQgd2l0aGluIHRoZSBjdXN0b20gZnVuY3Rpb24gZm9yICR7ZmllbGRLZXl9YCwgZXJyKTtcclxuXHRcdFx0XHRyZXR1cm5WYWwgPSBudWxsO1xyXG5cdFx0XHRcdGZ1bmMgPSBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdHJldHVyblZhbCA9IEV2YWx1YXRvci5leGVjdXRlKGZ1bmMsIGFyZ3MsIGNvbnRleHQsIG9wdGlvbnMpO1xyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHRyZXR1cm5WYWwgPSBudWxsO1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybihgQW4gZXJyb3Igb2NjdXJlZCB3aXRoaW4gY3VzdG9tIGZ1bmN0aW9uIGZvciAke2ZpZWxkS2V5fWAsIGVycik7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoZnVuYykge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oYFVua25vd24gZnVuY3Rpb24gdHlwZSBmb3IgJHtmaWVsZEtleX1gKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiByZXR1cm5WYWw7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBFeGVjdXRlcyBhIGZ1bmN0aW9uIHdpdGggcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBjb250ZXh0LlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGVuc3VyZXMgZXhlY3V0aW9uIGhhcHBlbnMgaW4gYSBzZWN1cmUgY29udGV4dCB0byBwcmV2ZW50IGFjY2VzcyB0byB3aW5kb3cgb2JqZWN0LlxyXG5cdCAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gZXhlY3V0ZS5cclxuXHQgKiBAcGFyYW0ge2FueVtdfFJlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLCBlaXRoZXIgYXMgYW4gYXJyYXkgb3Igb2JqZWN0LlxyXG5cdCAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2NvbnRleHQ9e31dIC0gVGhlIGNvbnRleHQgKHRoaXMpIHRvIHVzZSB3aGVuIGV4ZWN1dGluZyB0aGUgZnVuY3Rpb24uXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgZXhlY3V0aW9uLlxyXG5cdCAqIEByZXR1cm5zIHthbnl9IC0gVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gZXhlY3V0aW9uLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBleGVjdXRlKFxyXG5cdFx0ZnVuYzogRnVuY3Rpb24sXHJcblx0XHRhcmdzOiBhbnlbXSB8IFJlY29yZDxzdHJpbmcsIGFueT4sXHJcblx0XHRjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcblx0XHRvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge31cclxuXHQpOiBhbnkge1xyXG5cdFx0Ly8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHVzZSBzZWN1cmUgbW9kZSAoZGVmYXVsdCkgb3IgdW5zYWZlIG1vZGVcclxuXHRcdGNvbnN0IHNlY3VyaXR5TW9kZSA9IG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnO1xyXG5cclxuXHRcdGlmIChzZWN1cml0eU1vZGUgPT09ICd1bnNhZmUnKSB7XHJcblx0XHRcdC8vIEluIHVuc2FmZSBtb2RlLCBleGVjdXRlIHdpdGggdGhlIG9yaWdpbmFsIGNvbnRleHRcclxuXHRcdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkoYXJncykgPyBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpIDogZnVuYy5jYWxsKGNvbnRleHQsIGFyZ3MpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gSW4gc2VjdXJlIG1vZGUsIGNyZWF0ZSBhIHNlY3VyZSBjb250ZXh0IGJ5IG1lcmdpbmcgdGhlIHByb3ZpZGVkIGNvbnRleHQgd2l0aCBvdXIgc2VjdXJlIGNvbnRleHRcclxuXHRcdFx0Y29uc3Qgc2VjdXJlQ29udGV4dCA9IHtcclxuXHRcdFx0XHQuLi5jcmVhdGVTZWN1cmVDb250ZXh0KCksXHJcblx0XHRcdFx0Li4uY29udGV4dCxcclxuXHRcdFx0XHQvLyBFbnN1cmUgdGhlc2UgcmVtYWluIHVuZGVmaW5lZCBldmVuIGlmIHRoZXkgd2VyZSBpbiB0aGUgcHJvdmlkZWQgY29udGV4dFxyXG5cdFx0XHRcdHdpbmRvdzogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdHNlbGY6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWRcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdC8vIEV4ZWN1dGUgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIHNlY3VyZSBjb250ZXh0XHJcblx0XHRcdHJldHVybiBBcnJheS5pc0FycmF5KGFyZ3MpID8gZnVuYy5hcHBseShzZWN1cmVDb250ZXh0LCBhcmdzKSA6IGZ1bmMuY2FsbChzZWN1cmVDb250ZXh0LCBhcmdzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZXMgYSB0ZW1wbGF0ZSBmdW5jdGlvbiBmcm9tIGEgc3RyaW5nIHdpdGggY2FjaGluZyBmb3IgcGVyZm9ybWFuY2UuXHJcblx0ICogQnkgZGVmYXVsdCwgZW5zdXJlcyB0aGUgdGVtcGxhdGUgZnVuY3Rpb24gZXhlY3V0ZXMgaW4gYSBzZWN1cmUgY29udGV4dC5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ30gdGVtcGxhdGUgLSBUaGUgdGVtcGxhdGUgc3RyaW5nIHRvIGNvbXBpbGUgaW50byBhIGZ1bmN0aW9uLlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBbaGFzaF0gLSBPcHRpb25hbCBoYXNoIHRvIHVzZSBhcyBjYWNoZSBrZXkuIElmIG5vdCBwcm92aWRlZCwgYSBoYXNoIHdpbGwgYmUgZ2VuZXJhdGVkIGZyb20gdGhlIHRlbXBsYXRlLlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIHRlbXBsYXRlLlxyXG5cdCAqIEByZXR1cm5zIHtGdW5jdGlvbnx1bmRlZmluZWR9IC0gVGhlIGNvbXBpbGVkIHRlbXBsYXRlIGZ1bmN0aW9uLCBvciB1bmRlZmluZWQgaWYgY29tcGlsYXRpb24gZmFpbHMuXHJcblx0ICovXHJcblx0c3RhdGljIHRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcsIGhhc2g/OiBzdHJpbmcsIG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fSk6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkIHtcclxuXHRcdGhhc2ggPSBoYXNoIHx8IHN0cmluZ0hhc2godGVtcGxhdGUpLnRvU3RyaW5nKCk7XHJcblxyXG5cdFx0Ly8gSWYgaGFzaCBjb250YWlucyBvcHRpb25zIG9iamVjdCwgZXh0cmFjdCBpdFxyXG5cdFx0aWYgKHR5cGVvZiBoYXNoID09PSAnb2JqZWN0JyAmJiAnc2VjdXJpdHlNb2RlJyBpbiBoYXNoKSB7XHJcblx0XHRcdG9wdGlvbnMgPSBoYXNoIGFzIHVua25vd24gYXMgRXZhbHVhdG9yT3B0aW9ucztcclxuXHRcdFx0aGFzaCA9IHN0cmluZ0hhc2godGVtcGxhdGUpLnRvU3RyaW5nKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ2hlY2sgaWYgd2UgaGF2ZSBhIGNhY2hlZCB2ZXJzaW9uXHJcblx0XHRjb25zdCBjYWNoZUtleSA9IGhhc2ggKyAob3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZScpO1xyXG5cdFx0aWYgKEV2YWx1YXRvci5jYWNoZVtjYWNoZUtleV0pIHtcclxuXHRcdFx0cmV0dXJuIEV2YWx1YXRvci5jYWNoZVtjYWNoZUtleV07XHJcblx0XHR9XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0dGVtcGxhdGUgPSB0ZW1wbGF0ZS5yZXBsYWNlKC9jdHhcXC4vZywgJycpO1xyXG5cclxuXHRcdFx0Ly8gQ3JlYXRlIHRoZSB0ZW1wbGF0ZSBmdW5jdGlvbiB1c2luZyBsb2Rhc2hcclxuXHRcdFx0Y29uc3QgdGVtcGxhdGVGdW5jID0gXy50ZW1wbGF0ZSh0ZW1wbGF0ZSwgRXZhbHVhdG9yLnRlbXBsYXRlU2V0dGluZ3MpO1xyXG5cclxuXHRcdFx0Ly8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHVzZSBzZWN1cmUgbW9kZSAoZGVmYXVsdCkgb3IgdW5zYWZlIG1vZGVcclxuXHRcdFx0Y29uc3Qgc2VjdXJpdHlNb2RlID0gb3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZSc7XHJcblxyXG5cdFx0XHRpZiAoc2VjdXJpdHlNb2RlID09PSAndW5zYWZlJykge1xyXG5cdFx0XHRcdC8vIEluIHVuc2FmZSBtb2RlLCByZXR1cm4gdGhlIG9yaWdpbmFsIHRlbXBsYXRlIGZ1bmN0aW9uXHJcblx0XHRcdFx0cmV0dXJuIChFdmFsdWF0b3IuY2FjaGVbY2FjaGVLZXldID0gdGVtcGxhdGVGdW5jKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHQvLyBJbiBzZWN1cmUgbW9kZSwgd3JhcCB0aGUgdGVtcGxhdGUgZnVuY3Rpb24gdG8gZW5zdXJlIGl0IHJ1bnMgaW4gYSBzZWN1cmUgY29udGV4dFxyXG5cdFx0XHRcdGNvbnN0IHNlY3VyZVRlbXBsYXRlRnVuYyA9IChkYXRhOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdC8vIENyZWF0ZSBhIHNlY3VyZSBjb250ZXh0IGZvciB0aGUgdGVtcGxhdGVcclxuXHRcdFx0XHRcdGNvbnN0IHNlY3VyZURhdGEgPSB7XHJcblx0XHRcdFx0XHRcdC4uLmNyZWF0ZVNlY3VyZUNvbnRleHQoKSxcclxuXHRcdFx0XHRcdFx0Li4uZGF0YSxcclxuXHRcdFx0XHRcdFx0Ly8gRW5zdXJlIHRoZXNlIHJlbWFpbiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdHNlbGY6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0Z2xvYmFsVGhpczogdW5kZWZpbmVkXHJcblx0XHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHRcdHJldHVybiB0ZW1wbGF0ZUZ1bmMoc2VjdXJlRGF0YSk7XHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0Ly8gQ2FjaGUgYW5kIHJldHVybiB0aGUgc2VjdXJlIHRlbXBsYXRlIGZ1bmN0aW9uXHJcblx0XHRcdFx0cmV0dXJuIChFdmFsdWF0b3IuY2FjaGVbY2FjaGVLZXldID0gc2VjdXJlVGVtcGxhdGVGdW5jKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdGNvbnNvbGUud2FybignRXJyb3Igd2hpbGUgcHJvY2Vzc2luZyB0ZW1wbGF0ZScsIGVyciwgdGVtcGxhdGUpO1xyXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSW50ZXJwb2xhdGVzIGEgdGVtcGxhdGUgd2l0aCBkYXRhLCBoYW5kbGluZyBib3RoIGZ1bmN0aW9uIHRlbXBsYXRlcyBhbmQgc3RyaW5nIHRlbXBsYXRlcy5cclxuXHQgKiBCeSBkZWZhdWx0LCBlbnN1cmVzIGludGVycG9sYXRpb24gaGFwcGVucyBpbiBhIHNlY3VyZSBjb250ZXh0IHRvIHByZXZlbnQgYWNjZXNzIHRvIHdpbmRvdyBvYmplY3QuXHJcblx0ICogQHBhcmFtIHtzdHJpbmd8RnVuY3Rpb259IHJhd1RlbXBsYXRlIC0gVGhlIHRlbXBsYXRlIHRvIGludGVycG9sYXRlLCBlaXRoZXIgYXMgYSBzdHJpbmcgb3IgYSBmdW5jdGlvbi5cclxuXHQgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgdG8gdXNlIGZvciBpbnRlcnBvbGF0aW9uLlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIHRoZSBpbnRlcnBvbGF0aW9uIHByb2Nlc3MuXHJcblx0ICogQHJldHVybnMge3N0cmluZ3xhbnl9IC0gVGhlIHJlc3VsdCBvZiB0aGUgaW50ZXJwb2xhdGlvbiwgdHlwaWNhbGx5IGEgc3RyaW5nIGJ1dCBjb3VsZCBiZSBhbnkgdHlwZSBkZXBlbmRpbmcgb24gdGhlIHRlbXBsYXRlLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBpbnRlcnBvbGF0ZShcclxuXHRcdHJhd1RlbXBsYXRlOiBzdHJpbmcgfCBGdW5jdGlvbixcclxuXHRcdGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXHJcblx0XHRvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge31cclxuXHQpOiBzdHJpbmcgfCBhbnkge1xyXG5cdFx0aWYgKHR5cGVvZiByYXdUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdC8vIElmIHRoZSB0ZW1wbGF0ZSBpcyBhIGZ1bmN0aW9uLCBleGVjdXRlIGl0IHdpdGggdGhlIGRhdGFcclxuXHRcdFx0XHQvLyBXZSBjYW4ndCBkaXJlY3RseSBzZWN1cmUgYSBwcm92aWRlZCBmdW5jdGlvbiwgYnV0IHdlIGNhbiB1c2UgZXhlY3V0ZVxyXG5cdFx0XHRcdC8vIHRvIHJ1biBpdCBpbiBhIHNlY3VyZSBjb250ZXh0IGlmIG5lZWRlZFxyXG5cdFx0XHRcdGlmIChvcHRpb25zLnNlY3VyaXR5TW9kZSAhPT0gJ3Vuc2FmZScpIHtcclxuXHRcdFx0XHRcdGNvbnN0IHNlY3VyZURhdGEgPSB7XHJcblx0XHRcdFx0XHRcdC4uLmNyZWF0ZVNlY3VyZUNvbnRleHQoKSxcclxuXHRcdFx0XHRcdFx0Li4uZGF0YSxcclxuXHRcdFx0XHRcdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdHNlbGY6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0Z2xvYmFsVGhpczogdW5kZWZpbmVkXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0cmV0dXJuIHJhd1RlbXBsYXRlKHNlY3VyZURhdGEpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmF3VGVtcGxhdGUoZGF0YSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHRjb25zb2xlLndhcm4oJ0Vycm9yIGludGVycG9sYXRpbmcgdGVtcGxhdGUnLCBlcnIsIGRhdGEpO1xyXG5cdFx0XHRcdHJldHVybiAoZXJyIGFzIEVycm9yKS5tZXNzYWdlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmF3VGVtcGxhdGUgPSBTdHJpbmcocmF3VGVtcGxhdGUpO1xyXG5cdFx0Ly8gUGFzcyB0aGUgc2VjdXJpdHkgbW9kZSBvcHRpb24gdG8gdGhlIHRlbXBsYXRlIG1ldGhvZFxyXG5cdFx0Y29uc3QgdGVtcGxhdGUgPSBFdmFsdWF0b3IudGVtcGxhdGUocmF3VGVtcGxhdGUsIHVuZGVmaW5lZCwgb3B0aW9ucyk7XHJcblxyXG5cdFx0aWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdHJldHVybiB0ZW1wbGF0ZShkYXRhKTtcclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0Y29uc29sZS53YXJuKCdFcnJvciBpbnRlcnBvbGF0aW5nIHRlbXBsYXRlJywgZXJyLCByYXdUZW1wbGF0ZSwgZGF0YSk7XHJcblx0XHRcdFx0cmV0dXJuIChlcnIgYXMgRXJyb3IpLm1lc3NhZ2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdGVtcGxhdGU7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2V2YWx1YXRvci9ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pELE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUlyQzs7O0dBR0c7QUFDSCxTQUFTLG1CQUFtQjtJQUMzQixvREFBb0Q7SUFDcEQsT0FBTztRQUNOLHNEQUFzRDtRQUN0RCxPQUFPLEVBQUU7WUFDUixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNwQjtRQUNELDZDQUE2QztRQUM3QyxJQUFJO1FBQ0osSUFBSTtRQUNKLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTztRQUNQLEtBQUs7UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLDJCQUEyQjtRQUMzQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsd0RBQXdEO0tBQzdELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBbUJyQjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUF1QixFQUFFLEdBQUcsTUFBYTtRQUN6RCw2REFBNkQ7UUFDN0QsSUFBSSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNuQyxJQUNDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNqQixNQUFNLENBQUMsTUFB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LENBQUM7YUFDdEI7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDYixPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JFLE9BQVEsR0FBYSxDQUFDLE9BQU8sQ0FBQzthQUM5QjtTQUNEO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQzs7QUF0VkQ7OztHQUdHO0FBQ0ksZUFBSyxHQUE2QixFQUFFLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSSwwQkFBZ0IsR0FBcUI7SUFDM0MsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixRQUFRLEVBQUUsbUJBQW1CO0lBQzdCLE1BQU0sRUFBRSx5QkFBeUI7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfLCB7IGdldCwga2V5cywgc2V0LCB0cmltLCB2YWx1ZXMgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgc3RyaW5nSGFzaCBmcm9tICdzdHJpbmctaGFzaCc7XHJcblxyXG5pbXBvcnQgeyBFdmFsdWF0b3JPcHRpb25zLCBUZW1wbGF0ZVNldHRpbmdzIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIHNlY3VyZSBjb250ZXh0IGZvciBmdW5jdGlvbiBldmFsdWF0aW9uIHRoYXQgcHJldmVudHMgYWNjZXNzIHRvIHRoZSB3aW5kb3cgb2JqZWN0LlxyXG4gKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gQSBzZWN1cmUgY29udGV4dCBvYmplY3Qgd2l0aCBzYWZlIHByb3BlcnRpZXMuXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVTZWN1cmVDb250ZXh0KCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG5cdC8vIENyZWF0ZSBhIHNlY3VyZSBjb250ZXh0IHdpdGggb25seSBzYWZlIHByb3BlcnRpZXNcclxuXHRyZXR1cm4ge1xyXG5cdFx0Ly8gQWRkIGFueSBzYWZlIGdsb2JhbHMgaGVyZSB0aGF0IHNob3VsZCBiZSBhY2Nlc3NpYmxlXHJcblx0XHRjb25zb2xlOiB7XHJcblx0XHRcdGxvZzogY29uc29sZS5sb2csXHJcblx0XHRcdHdhcm46IGNvbnNvbGUud2FybixcclxuXHRcdFx0ZXJyb3I6IGNvbnNvbGUuZXJyb3JcclxuXHRcdH0sXHJcblx0XHQvLyBBZGQgb3RoZXIgc2FmZSBvYmplY3RzL2Z1bmN0aW9ucyBhcyBuZWVkZWRcclxuXHRcdE1hdGgsXHJcblx0XHREYXRlLFxyXG5cdFx0TnVtYmVyLFxyXG5cdFx0U3RyaW5nLFxyXG5cdFx0Qm9vbGVhbixcclxuXHRcdEFycmF5LFxyXG5cdFx0T2JqZWN0LFxyXG5cdFx0SlNPTixcclxuXHRcdC8vIFByZXZlbnQgYWNjZXNzIHRvIHdpbmRvd1xyXG5cdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWQsXHJcblx0XHRfOiBfIC8vIEluY2x1ZGUgbG9kYXNoIGlmIG5lZWRlZCwgYnV0IGVuc3VyZSBpdCdzIHVzZWQgc2FmZWx5XHJcblx0fTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgdXRpbGl0eSBjbGFzcyBmb3IgZXZhbHVhdGluZyBleHByZXNzaW9ucywgaW50ZXJwb2xhdGluZyBzdHJpbmdzLCBhbmQgd29ya2luZyB3aXRoIHRlbXBsYXRlcy5cclxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBzdGF0aWMgbWV0aG9kcyBmb3IgZHluYW1pYyBldmFsdWF0aW9uIG9mIGNvZGUsIHN0cmluZyBpbnRlcnBvbGF0aW9uLFxyXG4gKiBhbmQgdGVtcGxhdGUgcHJvY2Vzc2luZyB3aXRoIGNhY2hpbmcgY2FwYWJpbGl0aWVzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEV2YWx1YXRvciB7XHJcblx0LyoqXHJcblx0ICogQ2FjaGUgZm9yIHN0b3JpbmcgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb25zIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuXHJcblx0ICogS2V5cyBhcmUgc3RyaW5nIGhhc2hlcyBvZiB0aGUgdGVtcGxhdGUsIHZhbHVlcyBhcmUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9ucy5cclxuXHQgKi9cclxuXHRzdGF0aWMgY2FjaGU6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPiA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBTZXR0aW5ncyBmb3IgdGVtcGxhdGUgcHJvY2Vzc2luZywgZGVmaW5pbmcgcmVnZXggcGF0dGVybnMgZm9yIGRpZmZlcmVudCB0ZW1wbGF0ZSBvcGVyYXRpb25zLlxyXG5cdCAqIC0gaW50ZXJwb2xhdGU6IFBhdHRlcm4gZm9yIHZhcmlhYmxlIGludGVycG9sYXRpb24gKHt7IHZhcmlhYmxlIH19KVxyXG5cdCAqIC0gZXZhbHVhdGU6IFBhdHRlcm4gZm9yIGNvZGUgZXZhbHVhdGlvbiAoeyUgY29kZSAlfSlcclxuXHQgKiAtIGVzY2FwZTogUGF0dGVybiBmb3IgSFRNTCBlc2NhcGluZyAoe3t7IHZhcmlhYmxlIH19fSlcclxuXHQgKi9cclxuXHRzdGF0aWMgdGVtcGxhdGVTZXR0aW5nczogVGVtcGxhdGVTZXR0aW5ncyA9IHtcclxuXHRcdGludGVycG9sYXRlOiAve3soW1xcc1xcU10rPyl9fS9nLFxyXG5cdFx0ZXZhbHVhdGU6IC9cXHslKFtcXHNcXFNdKz8pJVxcfS9nLFxyXG5cdFx0ZXNjYXBlOiAvXFx7XFx7XFx7KFtcXHNcXFNdKz8pXFx9XFx9XFx9L2dcclxuXHR9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGEgZnVuY3Rpb24gZnJvbSBhIHN0cmluZyBvciByZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBhbHJlYWR5IHByb3ZpZGVkLlxyXG5cdCAqIFVzZXMgYSBzZWN1cmUgY29udGV4dCB0byBwcmV2ZW50IGFjY2VzcyB0byB0aGUgd2luZG93IG9iamVjdCBieSBkZWZhdWx0LlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfEZ1bmN0aW9ufSBmdW5jIC0gVGhlIGZ1bmN0aW9uIG9yIHN0cmluZyB0byBjb252ZXJ0IHRvIGEgZnVuY3Rpb24uXHJcblx0ICogQHBhcmFtIHsuLi5hbnl9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV2YWx1YXRpb24uXHJcblx0ICogQHJldHVybnMge0Z1bmN0aW9ufSAtIFRoZSByZXN1bHRpbmcgZnVuY3Rpb24uXHJcblx0ICovXHJcblx0c3RhdGljIGV2YWx1YXRvcihmdW5jOiBzdHJpbmcgfCBGdW5jdGlvbiwgLi4ucGFyYW1zOiBhbnlbXSk6IEZ1bmN0aW9uIHtcclxuXHRcdC8vIEV4dHJhY3Qgb3B0aW9ucyBpZiB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgYW4gb3B0aW9ucyBvYmplY3RcclxuXHRcdGxldCBvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge307XHJcblx0XHRpZiAoXHJcblx0XHRcdHBhcmFtcy5sZW5ndGggPiAwICYmXHJcblx0XHRcdHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV0gJiZcclxuXHRcdFx0dHlwZW9mIHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV0gPT09ICdvYmplY3QnICYmXHJcblx0XHRcdCdzZWN1cml0eU1vZGUnIGluIHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV1cclxuXHRcdCkge1xyXG5cdFx0XHRvcHRpb25zID0gcGFyYW1zLnBvcCgpIGFzIEV2YWx1YXRvck9wdGlvbnM7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHJldHVybiBmdW5jO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0eXBlb2YgcGFyYW1zWzBdID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRwYXJhbXMgPSBrZXlzKHBhcmFtc1swXSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHVzZSBzZWN1cmUgbW9kZSAoZGVmYXVsdCkgb3IgdW5zYWZlIG1vZGVcclxuXHRcdGNvbnN0IHNlY3VyaXR5TW9kZSA9IG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnO1xyXG5cclxuXHRcdGlmIChzZWN1cml0eU1vZGUgPT09ICd1bnNhZmUnKSB7XHJcblx0XHRcdC8vIEluIHVuc2FmZSBtb2RlLCBjcmVhdGUgYSBmdW5jdGlvbiB3aXRoIGFjY2VzcyB0byBhbGwgZ2xvYmFsc1xyXG5cdFx0XHRyZXR1cm4gbmV3IEZ1bmN0aW9uKC4uLnBhcmFtcywgZnVuYyBhcyBzdHJpbmcpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgc2FuZGJveCA9IGNyZWF0ZVNlY3VyZUNvbnRleHQoKTtcclxuXHRcdGNvbnN0IHNhbmRib3hLZXlzID0gT2JqZWN0LmtleXMoc2FuZGJveCk7XHJcblx0XHRjb25zdCBzYW5kYm94QXNzaWdubWVudHMgPSBzYW5kYm94S2V5cy5tYXAoKGtleSkgPT4gYGNvbnN0ICR7a2V5fSA9IHNhbmRib3guJHtrZXl9O2ApLmpvaW4oJycpO1xyXG5cclxuXHRcdGNvbnN0IHdyYXBwZXIgPSBuZXcgRnVuY3Rpb24oLi4ucGFyYW1zLCAnc2FuZGJveCcsIGAke3NhbmRib3hBc3NpZ25tZW50c30ke2Z1bmMgYXMgc3RyaW5nfWApO1xyXG5cclxuXHRcdHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHdyYXBwZXIoLi4uYXJncywgc2FuZGJveCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZXBsYWNlcyB0ZW1wbGF0ZSBleHByZXNzaW9ucyBpbiBhIHN0cmluZyB3aXRoIHZhbHVlcyBmcm9tIGRhdGEuXHJcblx0ICogU3VwcG9ydHMgZnVuY3Rpb24gY2FsbHMgd2l0aGluIHRlbXBsYXRlcyBhbmQgZmFsbGJhY2sgdmFsdWVzIHVzaW5nIHx8IHN5bnRheC5cclxuXHQgKiBCeSBkZWZhdWx0LCBlbnN1cmVzIGV2YWx1YXRpb24gaGFwcGVucyBpbiBhIHNlY3VyZSBjb250ZXh0IHRvIHByZXZlbnQgYWNjZXNzIHRvIHdpbmRvdyBvYmplY3QuXHJcblx0ICogQHBhcmFtIHtzdHJpbmd9IHJhd1RlbXBsYXRlIC0gVGhlIHRlbXBsYXRlIHN0cmluZyBjb250YWluaW5nIGV4cHJlc3Npb25zIHRvIGludGVycG9sYXRlLlxyXG5cdCAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIHZhbHVlcyB0byB1c2UgZm9yIGludGVycG9sYXRpb24uXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgaW50ZXJwb2xhdGlvbiBwcm9jZXNzLlxyXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIGludGVycG9sYXRlZCBzdHJpbmcgd2l0aCBhbGwgZXhwcmVzc2lvbnMgcmVwbGFjZWQgd2l0aCBhY3R1YWwgdmFsdWVzLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBpbnRlcnBvbGF0ZVN0cmluZyhyYXdUZW1wbGF0ZTogc3RyaW5nLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge30pOiBzdHJpbmcge1xyXG5cdFx0aWYgKCFyYXdUZW1wbGF0ZSkge1xyXG5cdFx0XHRyZXR1cm4gJyc7XHJcblx0XHR9XHJcblx0XHRpZiAodHlwZW9mIHJhd1RlbXBsYXRlICE9PSAnc3RyaW5nJykge1xyXG5cdFx0XHRyZXR1cm4gKHJhd1RlbXBsYXRlIGFzIGFueSkudG9TdHJpbmcoKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBDaGVjayBpZiB3ZSBzaG91bGQgdXNlIHNlY3VyZSBtb2RlIChkZWZhdWx0KSBvciB1bnNhZmUgbW9kZVxyXG5cdFx0Y29uc3Qgc2VjdXJpdHlNb2RlID0gb3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZSc7XHJcblxyXG5cdFx0Ly8gQ3JlYXRlIGEgc2VjdXJlIGRhdGEgb2JqZWN0IGlmIG5lZWRlZFxyXG5cdFx0Y29uc3Qgc2VjdXJlRGF0YSA9XHJcblx0XHRcdHNlY3VyaXR5TW9kZSA9PT0gJ3Vuc2FmZSdcclxuXHRcdFx0XHQ/IGRhdGFcclxuXHRcdFx0XHQ6IHtcclxuXHRcdFx0XHRcdFx0Li4uY3JlYXRlU2VjdXJlQ29udGV4dCgpLFxyXG5cdFx0XHRcdFx0XHQuLi5kYXRhLFxyXG5cdFx0XHRcdFx0XHQvLyBFbnN1cmUgdGhlc2UgcmVtYWluIHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHR3aW5kb3c6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0c2VsZjogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdH07XHJcblxyXG5cdFx0cmV0dXJuIHJhd1RlbXBsYXRlLnJlcGxhY2UoLyh7e1xccyooLio/KVxccyp9fSkvZywgKG1hdGNoOiBzdHJpbmcsICQxOiBzdHJpbmcsIGV4cHJlc3Npb246IHN0cmluZykgPT4ge1xyXG5cdFx0XHRpZiAoZXhwcmVzc2lvbi5pbmRleE9mKCcoJykgIT09IC0xKSB7XHJcblx0XHRcdFx0cmV0dXJuIGV4cHJlc3Npb24ucmVwbGFjZSgvKFteKF0rKVxcKChbXildKylcXHMqXFwpOz8vLCAoXzogc3RyaW5nLCBmbk5hbWU6IHN0cmluZywgYXJnc1N0cjogc3RyaW5nKSA9PiB7XHJcblx0XHRcdFx0XHRmbk5hbWUgPSB0cmltKGZuTmFtZSk7XHJcblx0XHRcdFx0XHRjb25zdCBmdW5jID0gZ2V0KHNlY3VyZURhdGEsIGZuTmFtZSk7XHJcblxyXG5cdFx0XHRcdFx0aWYgKGZ1bmMpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGFyZ3NTdHIpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBhcmdzID0gYXJnc1N0ci5zcGxpdCgnLCcpLm1hcCgoYXJnOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHRyaW1tZWQgPSB0cmltKGFyZyk7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoL15bJ1wiXS8udGVzdCh0cmltbWVkKSkgcmV0dXJuIHRyaW1tZWQuc2xpY2UoMSwgLTEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGdldChzZWN1cmVEYXRhLCB0cmltbWVkKTtcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gRXZhbHVhdG9yLmV2YWx1YXRlKGZ1bmMsIGFyZ3MsICcnLCBmYWxzZSwgc2VjdXJlRGF0YSwgb3B0aW9ucyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIEV2YWx1YXRvci5ldmFsdWF0ZShmdW5jLCBbXSwgJycsIGZhbHNlLCBzZWN1cmVEYXRhLCBvcHRpb25zKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiAnJztcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRsZXQgZGF0YVBhdGggPSBleHByZXNzaW9uO1xyXG5cdFx0XHRcdGlmIChleHByZXNzaW9uLmluZGV4T2YoJz8nKSAhPT0gLTEpIHtcclxuXHRcdFx0XHRcdGRhdGFQYXRoID0gZXhwcmVzc2lvbi5yZXBsYWNlKC9cXD9cXC4vZywgJy4nKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgcGFydHMgPSBkYXRhUGF0aC5zcGxpdCgnfHwnKS5tYXAoKGl0ZW06IHN0cmluZykgPT4gaXRlbS50cmltKCkpO1xyXG5cdFx0XHRcdGxldCB2YWx1ZSA9ICcnO1xyXG5cdFx0XHRcdGxldCBwYXRoID0gJyc7XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0cGF0aCA9IHBhcnRzW2ldO1xyXG5cdFx0XHRcdFx0aWYgKF8uaGFzKHNlY3VyZURhdGEsIHBhdGgpKSB7XHJcblx0XHRcdFx0XHRcdHZhbHVlID0gXy5nZXQoc2VjdXJlRGF0YSwgcGF0aCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAob3B0aW9ucy5kYXRhKSB7XHJcblx0XHRcdFx0XHRzZXQob3B0aW9ucy5kYXRhLCBwYXRoLCB2YWx1ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQZXJmb3JtcyBhbiBldmFsdWF0aW9uIHVzaW5nIHRoZSBldmFsdWF0aW9uIGNvbnRleHQgb2YgdGhpcyBjb21wb25lbnQuXHJcblx0ICogQnkgZGVmYXVsdCwgZW5zdXJlcyBldmFsdWF0aW9uIGhhcHBlbnMgaW4gYSBzZWN1cmUgY29udGV4dCB0byBwcmV2ZW50IGFjY2VzcyB0byB3aW5kb3cgb2JqZWN0LlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfEZ1bmN0aW9ufG9iamVjdH0gZnVuYyAtIFRoZSBmdW5jdGlvbiBvciBzdHJpbmcgdG8gZXZhbHVhdGUuXHJcblx0ICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGV2YWx1YXRpb24uXHJcblx0ICogQHBhcmFtIHtzdHJpbmd9IHJldCAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB3aXRoaW4gdGhlIGV2YWx1YXRpb24gY29udGV4dCB0byByZXR1cm4uXHJcblx0ICogQHBhcmFtIHtib29sZWFufSBpbnRlcnBvbGF0ZSAtIERldGVybWluZXMgaWYgaXQgc2hvdWxkIHJlcGxhY2UgYWxsIHt7IH19IHRva2VuIHJlZmVyZW5jZXMgd2l0aCBhY3R1YWwgZGF0YS5cclxuXHQgKiBAcGFyYW0ge29iamVjdH0gY29udGV4dCAtICAgLSBUaGUgZXZhbHVhdGlvbiBjb250ZXh0LlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9ucyB9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBldmFsdWF0aW9uLlxyXG5cdCAqIEByZXR1cm5zIHsqfSAtIFRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRpb24uXHJcblx0ICovXHJcblx0c3RhdGljIGV2YWx1YXRlKFxyXG5cdFx0ZnVuYzogYW55LFxyXG5cdFx0YXJnczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG5cdFx0cmV0OiBzdHJpbmcgPSAnc2hvdycsXHJcblx0XHRpbnRlcnBvbGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxyXG5cdFx0Y29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG5cdFx0b3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9XHJcblx0KTogYW55IHtcclxuXHRcdGxldCByZXR1cm5WYWwgPSBudWxsO1xyXG5cclxuXHRcdGNvbnN0IGZpZWxkID0gYXJncy5maWVsZCA/IGFyZ3MuZmllbGQgOiB7IGtleTogJ3Vua25vd24nIH07XHJcblx0XHRjb25zdCBmaWVsZEtleSA9IGZpZWxkLmtleTtcclxuXHJcblx0XHRpZiAodHlwZW9mIGZ1bmMgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdGlmIChyZXQpIHtcclxuXHRcdFx0XHRmdW5jID0gYHZhciAke3JldH07JHtmdW5jfTtyZXR1cm4gJHtyZXR9YDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKGludGVycG9sYXRlKSB7XHJcblx0XHRcdFx0ZnVuYyA9IEV2YWx1YXRvci5pbnRlcnBvbGF0ZShmdW5jLCBhcmdzLCBvcHRpb25zKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHQvLyBQYXNzIHRoZSBzZWN1cml0eSBtb2RlIG9wdGlvbiB0byB0aGUgZXZhbHVhdG9yXHJcblx0XHRcdFx0Y29uc3QgZXZhbHVhdG9yT3B0aW9ucyA9IHsgc2VjdXJpdHlNb2RlOiBvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJyB9O1xyXG5cdFx0XHRcdGZ1bmMgPSBFdmFsdWF0b3IuZXZhbHVhdG9yKGZ1bmMsIGFyZ3MsIGNvbnRleHQsIGV2YWx1YXRvck9wdGlvbnMpO1xyXG5cdFx0XHRcdGFyZ3MgPSBBcnJheS5pc0FycmF5KGFyZ3MpID8gYXJncyA6IHZhbHVlcyhhcmdzKTtcclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0Y29uc29sZS53YXJuKGBBbiBlcnJvciBvY2N1cmVkIHdpdGhpbiB0aGUgY3VzdG9tIGZ1bmN0aW9uIGZvciAke2ZpZWxkS2V5fWAsIGVycik7XHJcblx0XHRcdFx0cmV0dXJuVmFsID0gbnVsbDtcclxuXHRcdFx0XHRmdW5jID0gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRyZXR1cm5WYWwgPSBFdmFsdWF0b3IuZXhlY3V0ZShmdW5jLCBhcmdzLCBjb250ZXh0LCBvcHRpb25zKTtcclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0cmV0dXJuVmFsID0gbnVsbDtcclxuXHRcdFx0XHRjb25zb2xlLndhcm4oYEFuIGVycm9yIG9jY3VyZWQgd2l0aGluIGN1c3RvbSBmdW5jdGlvbiBmb3IgJHtmaWVsZEtleX1gLCBlcnIpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKGZ1bmMpIHtcclxuXHRcdFx0Y29uc29sZS53YXJuKGBVbmtub3duIGZ1bmN0aW9uIHR5cGUgZm9yICR7ZmllbGRLZXl9YCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmV0dXJuVmFsO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aXRoIHByb3ZpZGVkIGFyZ3VtZW50cyBhbmQgY29udGV4dC5cclxuXHQgKiBCeSBkZWZhdWx0LCBlbnN1cmVzIGV4ZWN1dGlvbiBoYXBwZW5zIGluIGEgc2VjdXJlIGNvbnRleHQgdG8gcHJldmVudCBhY2Nlc3MgdG8gd2luZG93IG9iamVjdC5cclxuXHQgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIC0gVGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXHJcblx0ICogQHBhcmFtIHthbnlbXXxSZWNvcmQ8c3RyaW5nLCBhbnk+fSBhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbiwgZWl0aGVyIGFzIGFuIGFycmF5IG9yIG9iamVjdC5cclxuXHQgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtjb250ZXh0PXt9XSAtIFRoZSBjb250ZXh0ICh0aGlzKSB0byB1c2Ugd2hlbiBleGVjdXRpbmcgdGhlIGZ1bmN0aW9uLlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV4ZWN1dGlvbi5cclxuXHQgKiBAcmV0dXJucyB7YW55fSAtIFRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIGV4ZWN1dGlvbi5cclxuXHQgKi9cclxuXHRzdGF0aWMgZXhlY3V0ZShcclxuXHRcdGZ1bmM6IEZ1bmN0aW9uLFxyXG5cdFx0YXJnczogYW55W10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG5cdFx0Y29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG5cdFx0b3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9XHJcblx0KTogYW55IHtcclxuXHRcdC8vIENoZWNrIGlmIHdlIHNob3VsZCB1c2Ugc2VjdXJlIG1vZGUgKGRlZmF1bHQpIG9yIHVuc2FmZSBtb2RlXHJcblx0XHRjb25zdCBzZWN1cml0eU1vZGUgPSBvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJztcclxuXHJcblx0XHRpZiAoc2VjdXJpdHlNb2RlID09PSAndW5zYWZlJykge1xyXG5cdFx0XHQvLyBJbiB1bnNhZmUgbW9kZSwgZXhlY3V0ZSB3aXRoIHRoZSBvcmlnaW5hbCBjb250ZXh0XHJcblx0XHRcdHJldHVybiBBcnJheS5pc0FycmF5KGFyZ3MpID8gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKSA6IGZ1bmMuY2FsbChjb250ZXh0LCBhcmdzKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIEluIHNlY3VyZSBtb2RlLCBjcmVhdGUgYSBzZWN1cmUgY29udGV4dCBieSBtZXJnaW5nIHRoZSBwcm92aWRlZCBjb250ZXh0IHdpdGggb3VyIHNlY3VyZSBjb250ZXh0XHJcblx0XHRcdGNvbnN0IHNlY3VyZUNvbnRleHQgPSB7XHJcblx0XHRcdFx0Li4uY3JlYXRlU2VjdXJlQ29udGV4dCgpLFxyXG5cdFx0XHRcdC4uLmNvbnRleHQsXHJcblx0XHRcdFx0Ly8gRW5zdXJlIHRoZXNlIHJlbWFpbiB1bmRlZmluZWQgZXZlbiBpZiB0aGV5IHdlcmUgaW4gdGhlIHByb3ZpZGVkIGNvbnRleHRcclxuXHRcdFx0XHR3aW5kb3c6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRcdFx0Z2xvYmFsVGhpczogdW5kZWZpbmVkXHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHQvLyBFeGVjdXRlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBzZWN1cmUgY29udGV4dFxyXG5cdFx0XHRyZXR1cm4gQXJyYXkuaXNBcnJheShhcmdzKSA/IGZ1bmMuYXBwbHkoc2VjdXJlQ29udGV4dCwgYXJncykgOiBmdW5jLmNhbGwoc2VjdXJlQ29udGV4dCwgYXJncyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGVzIGEgdGVtcGxhdGUgZnVuY3Rpb24gZnJvbSBhIHN0cmluZyB3aXRoIGNhY2hpbmcgZm9yIHBlcmZvcm1hbmNlLlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGVuc3VyZXMgdGhlIHRlbXBsYXRlIGZ1bmN0aW9uIGV4ZWN1dGVzIGluIGEgc2VjdXJlIGNvbnRleHQuXHJcblx0ICogQHBhcmFtIHtzdHJpbmd9IHRlbXBsYXRlIC0gVGhlIHRlbXBsYXRlIHN0cmluZyB0byBjb21waWxlIGludG8gYSBmdW5jdGlvbi5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ30gW2hhc2hdIC0gT3B0aW9uYWwgaGFzaCB0byB1c2UgYXMgY2FjaGUga2V5LiBJZiBub3QgcHJvdmlkZWQsIGEgaGFzaCB3aWxsIGJlIGdlbmVyYXRlZCBmcm9tIHRoZSB0ZW1wbGF0ZS5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0ZW1wbGF0ZS5cclxuXHQgKiBAcmV0dXJucyB7RnVuY3Rpb258dW5kZWZpbmVkfSAtIFRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiwgb3IgdW5kZWZpbmVkIGlmIGNvbXBpbGF0aW9uIGZhaWxzLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyB0ZW1wbGF0ZSh0ZW1wbGF0ZTogc3RyaW5nLCBoYXNoPzogc3RyaW5nLCBvcHRpb25zOiBFdmFsdWF0b3JPcHRpb25zID0ge30pOiBGdW5jdGlvbiB8IHVuZGVmaW5lZCB7XHJcblx0XHRoYXNoID0gaGFzaCB8fCBzdHJpbmdIYXNoKHRlbXBsYXRlKS50b1N0cmluZygpO1xyXG5cclxuXHRcdC8vIElmIGhhc2ggY29udGFpbnMgb3B0aW9ucyBvYmplY3QsIGV4dHJhY3QgaXRcclxuXHRcdGlmICh0eXBlb2YgaGFzaCA9PT0gJ29iamVjdCcgJiYgJ3NlY3VyaXR5TW9kZScgaW4gaGFzaCkge1xyXG5cdFx0XHRvcHRpb25zID0gaGFzaCBhcyB1bmtub3duIGFzIEV2YWx1YXRvck9wdGlvbnM7XHJcblx0XHRcdGhhc2ggPSBzdHJpbmdIYXNoKHRlbXBsYXRlKS50b1N0cmluZygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIENoZWNrIGlmIHdlIGhhdmUgYSBjYWNoZWQgdmVyc2lvblxyXG5cdFx0Y29uc3QgY2FjaGVLZXkgPSBoYXNoICsgKG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnKTtcclxuXHRcdGlmIChFdmFsdWF0b3IuY2FjaGVbY2FjaGVLZXldKSB7XHJcblx0XHRcdHJldHVybiBFdmFsdWF0b3IuY2FjaGVbY2FjaGVLZXldO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRyeSB7XHJcblx0XHRcdHRlbXBsYXRlID0gdGVtcGxhdGUucmVwbGFjZSgvY3R4XFwuL2csICcnKTtcclxuXHJcblx0XHRcdC8vIENyZWF0ZSB0aGUgdGVtcGxhdGUgZnVuY3Rpb24gdXNpbmcgbG9kYXNoXHJcblx0XHRcdGNvbnN0IHRlbXBsYXRlRnVuYyA9IF8udGVtcGxhdGUodGVtcGxhdGUsIEV2YWx1YXRvci50ZW1wbGF0ZVNldHRpbmdzKTtcclxuXHJcblx0XHRcdC8vIENoZWNrIGlmIHdlIHNob3VsZCB1c2Ugc2VjdXJlIG1vZGUgKGRlZmF1bHQpIG9yIHVuc2FmZSBtb2RlXHJcblx0XHRcdGNvbnN0IHNlY3VyaXR5TW9kZSA9IG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnO1xyXG5cclxuXHRcdFx0aWYgKHNlY3VyaXR5TW9kZSA9PT0gJ3Vuc2FmZScpIHtcclxuXHRcdFx0XHQvLyBJbiB1bnNhZmUgbW9kZSwgcmV0dXJuIHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSBmdW5jdGlvblxyXG5cdFx0XHRcdHJldHVybiAoRXZhbHVhdG9yLmNhY2hlW2NhY2hlS2V5XSA9IHRlbXBsYXRlRnVuYyk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Ly8gSW4gc2VjdXJlIG1vZGUsIHdyYXAgdGhlIHRlbXBsYXRlIGZ1bmN0aW9uIHRvIGVuc3VyZSBpdCBydW5zIGluIGEgc2VjdXJlIGNvbnRleHRcclxuXHRcdFx0XHRjb25zdCBzZWN1cmVUZW1wbGF0ZUZ1bmMgPSAoZGF0YTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHQvLyBDcmVhdGUgYSBzZWN1cmUgY29udGV4dCBmb3IgdGhlIHRlbXBsYXRlXHJcblx0XHRcdFx0XHRjb25zdCBzZWN1cmVEYXRhID0ge1xyXG5cdFx0XHRcdFx0XHQuLi5jcmVhdGVTZWN1cmVDb250ZXh0KCksXHJcblx0XHRcdFx0XHRcdC4uLmRhdGEsXHJcblx0XHRcdFx0XHRcdC8vIEVuc3VyZSB0aGVzZSByZW1haW4gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHRcdHdpbmRvdzogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdGdsb2JhbFRoaXM6IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0XHRyZXR1cm4gdGVtcGxhdGVGdW5jKHNlY3VyZURhdGEpO1xyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdC8vIENhY2hlIGFuZCByZXR1cm4gdGhlIHNlY3VyZSB0ZW1wbGF0ZSBmdW5jdGlvblxyXG5cdFx0XHRcdHJldHVybiAoRXZhbHVhdG9yLmNhY2hlW2NhY2hlS2V5XSA9IHNlY3VyZVRlbXBsYXRlRnVuYyk7XHJcblx0XHRcdH1cclxuXHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oJ0Vycm9yIHdoaWxlIHByb2Nlc3NpbmcgdGVtcGxhdGUnLCBlcnIsIHRlbXBsYXRlKTtcclxuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEludGVycG9sYXRlcyBhIHRlbXBsYXRlIHdpdGggZGF0YSwgaGFuZGxpbmcgYm90aCBmdW5jdGlvbiB0ZW1wbGF0ZXMgYW5kIHN0cmluZyB0ZW1wbGF0ZXMuXHJcblx0ICogQnkgZGVmYXVsdCwgZW5zdXJlcyBpbnRlcnBvbGF0aW9uIGhhcHBlbnMgaW4gYSBzZWN1cmUgY29udGV4dCB0byBwcmV2ZW50IGFjY2VzcyB0byB3aW5kb3cgb2JqZWN0LlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfEZ1bmN0aW9ufSByYXdUZW1wbGF0ZSAtIFRoZSB0ZW1wbGF0ZSB0byBpbnRlcnBvbGF0ZSwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24uXHJcblx0ICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IHRvIHVzZSBmb3IgaW50ZXJwb2xhdGlvbi5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25zIGZvciB0aGUgaW50ZXJwb2xhdGlvbiBwcm9jZXNzLlxyXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd8YW55fSAtIFRoZSByZXN1bHQgb2YgdGhlIGludGVycG9sYXRpb24sIHR5cGljYWxseSBhIHN0cmluZyBidXQgY291bGQgYmUgYW55IHR5cGUgZGVwZW5kaW5nIG9uIHRoZSB0ZW1wbGF0ZS5cclxuXHQgKi9cclxuXHRzdGF0aWMgaW50ZXJwb2xhdGUoXHJcblx0XHRyYXdUZW1wbGF0ZTogc3RyaW5nIHwgRnVuY3Rpb24sXHJcblx0XHRkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG5cdFx0b3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9XHJcblx0KTogc3RyaW5nIHwgYW55IHtcclxuXHRcdGlmICh0eXBlb2YgcmF3VGVtcGxhdGUgPT09ICdmdW5jdGlvbicpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHQvLyBJZiB0aGUgdGVtcGxhdGUgaXMgYSBmdW5jdGlvbiwgZXhlY3V0ZSBpdCB3aXRoIHRoZSBkYXRhXHJcblx0XHRcdFx0Ly8gV2UgY2FuJ3QgZGlyZWN0bHkgc2VjdXJlIGEgcHJvdmlkZWQgZnVuY3Rpb24sIGJ1dCB3ZSBjYW4gdXNlIGV4ZWN1dGVcclxuXHRcdFx0XHQvLyB0byBydW4gaXQgaW4gYSBzZWN1cmUgY29udGV4dCBpZiBuZWVkZWRcclxuXHRcdFx0XHRpZiAob3B0aW9ucy5zZWN1cml0eU1vZGUgIT09ICd1bnNhZmUnKSB7XHJcblx0XHRcdFx0XHRjb25zdCBzZWN1cmVEYXRhID0ge1xyXG5cdFx0XHRcdFx0XHQuLi5jcmVhdGVTZWN1cmVDb250ZXh0KCksXHJcblx0XHRcdFx0XHRcdC4uLmRhdGEsXHJcblx0XHRcdFx0XHRcdHdpbmRvdzogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRzZWxmOiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdGdsb2JhbFRoaXM6IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdHJldHVybiByYXdUZW1wbGF0ZShzZWN1cmVEYXRhKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHJhd1RlbXBsYXRlKGRhdGEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0Y29uc29sZS53YXJuKCdFcnJvciBpbnRlcnBvbGF0aW5nIHRlbXBsYXRlJywgZXJyLCBkYXRhKTtcclxuXHRcdFx0XHRyZXR1cm4gKGVyciBhcyBFcnJvcikubWVzc2FnZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJhd1RlbXBsYXRlID0gU3RyaW5nKHJhd1RlbXBsYXRlKTtcclxuXHRcdC8vIFBhc3MgdGhlIHNlY3VyaXR5IG1vZGUgb3B0aW9uIHRvIHRoZSB0ZW1wbGF0ZSBtZXRob2RcclxuXHRcdGNvbnN0IHRlbXBsYXRlID0gRXZhbHVhdG9yLnRlbXBsYXRlKHJhd1RlbXBsYXRlLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG5cclxuXHRcdGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdmdW5jdGlvbicpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRyZXR1cm4gdGVtcGxhdGUoZGF0YSk7XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybignRXJyb3IgaW50ZXJwb2xhdGluZyB0ZW1wbGF0ZScsIGVyciwgcmF3VGVtcGxhdGUsIGRhdGEpO1xyXG5cdFx0XHRcdHJldHVybiAoZXJyIGFzIEVycm9yKS5tZXNzYWdlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRlbXBsYXRlO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvZXZhbHVhdG9yL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFdmFsdWF0b3JPcHRpb25zID0ge1xyXG5cdGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdC8qKlxyXG5cdCAqIENvbnRyb2xzIHRoZSBzZWN1cml0eSBsZXZlbCBvZiBldmFsdWF0aW9uLlxyXG5cdCAqIC0gJ3NlY3VyZScgKGRlZmF1bHQpOiBQcmV2ZW50cyBhY2Nlc3MgdG8gd2luZG93IG9iamVjdCBhbmQgb3RoZXIgZ2xvYmFsIG9iamVjdHNcclxuXHQgKiAtICd1bnNhZmUnOiBBbGxvd3MgYWNjZXNzIHRvIGFsbCBnbG9iYWwgb2JqZWN0cyAodXNlIHdpdGggY2F1dGlvbilcclxuXHQgKi9cclxuXHRzZWN1cml0eU1vZGU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvZXZhbHVhdG9yL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFdmFsdWF0b3JPcHRpb25zID0ge1xyXG5cdGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdC8qKlxyXG5cdCAqIENvbnRyb2xzIHRoZSBzZWN1cml0eSBsZXZlbCBvZiBldmFsdWF0aW9uLlxyXG5cdCAqIC0gJ3NlY3VyZScgKGRlZmF1bHQpOiBQcmV2ZW50cyBhY2Nlc3MgdG8gd2luZG93IG9iamVjdCBhbmQgb3RoZXIgZ2xvYmFsIG9iamVjdHNcclxuXHQgKiAtICd1bnNhZmUnOiBBbGxvd3MgYWNjZXNzIHRvIGFsbCBnbG9iYWwgb2JqZWN0cyAodXNlIHdpdGggY2F1dGlvbilcclxuXHQgKi9cclxuXHRzZWN1cml0eU1vZGU/OiAnc2VjdXJlJyB8ICd1bnNhZmUnO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGVtcGxhdGVTZXR0aW5ncyA9IHtcclxuXHRpbnRlcnBvbGF0ZTogUmVnRXhwO1xyXG5cdGV2YWx1YXRlOiBSZWdFeHA7XHJcblx0ZXNjYXBlOiBSZWdFeHA7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBJbnRlcnBvbGF0ZVN0cmluZyA9IGAke3N0cmluZ317eyR7c3RyaW5nIHwgbnVtYmVyfX19JHtzdHJpbmd9YDtcclxuXHJcbmV4cG9ydCB0eXBlIEV2YWx1YXRlZFN0cmluZzxWQVIgZXh0ZW5kcyBzdHJpbmcgPSAnc2hvdyc+ID0gYCR7c3RyaW5nfSR7VkFSfSR7V2hpdGVzcGFjZX09JHtXaGl0ZXNwYWNlfSR7c3RyaW5nfWA7XHJcblxyXG50eXBlIFdoaXRlc3BhY2UgPSAnJyB8ICcgJyB8IGAke2FueX1gO1xyXG4iXX0=
|