nuxeo-development-framework 5.4.3 → 5.4.5
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 +731 -427
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +18 -7
- package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/constants/type.js +3 -2
- package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +29 -14
- package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +3 -2
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +5 -3
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +87 -0
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +20 -0
- package/esm2015/lib/components/ndf-filters/custom-components/index.js +2 -1
- package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +98 -28
- package/esm2015/lib/components/ndf-filters/public-api.js +4 -3
- package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +2 -33
- package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +4 -4
- package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +10 -2
- package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +12 -4
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +8 -8
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +24 -3
- package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +5 -5
- package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +34 -29
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +12 -5
- package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +70 -0
- package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +3 -3
- package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
- package/esm2015/lib/shared/evaluator/types.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +650 -379
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/base/base-checkbox-radio.component.d.ts +1 -0
- package/lib/components/ndf-filters/constants/type.d.ts +1 -0
- package/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.d.ts +7 -0
- package/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.d.ts +26 -0
- package/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.d.ts +9 -0
- package/lib/components/ndf-filters/custom-components/index.d.ts +1 -0
- package/lib/components/ndf-filters/models/custom-field-config.d.ts +2 -2
- package/lib/components/ndf-filters/models/field-options/custom-fields-options.d.ts +14 -0
- package/lib/components/ndf-filters/ndf-filters-panel.module.d.ts +70 -59
- package/lib/components/ndf-filters/public-api.d.ts +3 -2
- package/lib/components/ndf-filters/services/dynamic-component-loader.service.d.ts +0 -3
- package/lib/components/reports/ndf-reports/base/base-chart.d.ts +5 -2
- package/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.d.ts +2 -0
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +4 -2
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +7 -2
- package/lib/components/reports/ndf-reports/models/base.d.ts +3 -1
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +6 -1
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -0
- package/lib/components/reports/ndf-reports/models/request.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +3 -3
- package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +9 -2
- package/lib/components/reports/ndf-reports/services/digit-chart.service.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +10 -15
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +5 -1
- package/lib/components/reports/ndf-reports/services/reports-data-transformers.service.d.ts +48 -0
- package/lib/shared/evaluator/types.d.ts +1 -1
- package/package.json +1 -1
- package/src/docs/ndf-table.doc.md +4 -5
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Component, Inject, ViewChild } from '@angular/core';
|
|
2
2
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import {
|
|
3
|
+
import { DynamicTimelineReportService } from '../../../services';
|
|
4
|
+
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import _ from 'lodash';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
5
8
|
import * as i1 from "@angular/material/dialog";
|
|
6
9
|
import * as i2 from "../../../services";
|
|
@@ -16,8 +19,12 @@ export class TimelineDialogComponent {
|
|
|
16
19
|
this.dialogRef = dialogRef;
|
|
17
20
|
this.chart = chart;
|
|
18
21
|
this._timelineService = _timelineService;
|
|
22
|
+
this._rebuildTriggerSub = new BehaviorSubject(false);
|
|
19
23
|
this.selectedGroup$ = this._timelineService.selectedGroup$;
|
|
20
24
|
this.report$ = combineLatest([of(this.chart.config), of(this.chart.criteria), this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
|
|
25
|
+
this.filterCriteria$ = this._timelineService.selectedGroup$.pipe(map((group) => {
|
|
26
|
+
return _.cloneDeep(_.merge(this.chart.criteria || {}, this._timelineService.prepareSelectedGroups(this.chart.config)));
|
|
27
|
+
}));
|
|
21
28
|
}
|
|
22
29
|
changeGroup(group) {
|
|
23
30
|
this._timelineService.changeGroup(group);
|
|
@@ -29,13 +36,14 @@ export class TimelineDialogComponent {
|
|
|
29
36
|
}
|
|
30
37
|
}
|
|
31
38
|
TimelineDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DynamicTimelineReportService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
TimelineDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDialogComponent, selector: "app-timeline-dialog", viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ chart?.title | translate }}\" *ngIf=\"report$ | async as report\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<app-graph-chart\r\n\t\t\t#graphChart\r\n\t\t\
|
|
39
|
+
TimelineDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDialogComponent, selector: "app-timeline-dialog", providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ chart?.title | translate }}\" *ngIf=\"report$ | async as report\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<app-graph-chart\r\n\t\t\t#graphChart\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t\t[data]=\"report.data\"\r\n\t\t></app-graph-chart>\r\n\t</ng-template>\r\n\t<ng-template #footerTemplate>\r\n\t\t<div class=\"flex gap-x-4\">\r\n\t\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 p-1\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tclass=\"print-button chart-actions__item rounded\"\r\n\t\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t\t*ngIf=\"chart.config?.print\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<time-group-selector\r\n\t\t\t\t*ngIf=\"report.config?.group?.active ?? true\"\r\n\t\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t\t></time-group-selector>\r\n\t\t</div>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [":host{--graph-chart-height: 100%;--app-chart-height: 100%;--dialog-body-max-height: 100%}\n"], components: [{ type: i3.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "loaderMode"] }, { type: i4.GraphChartComponent, selector: "app-graph-chart" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i9.TranslatePipe, "async": i7.AsyncPipe } });
|
|
33
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDialogComponent, decorators: [{
|
|
34
41
|
type: Component,
|
|
35
42
|
args: [{
|
|
36
43
|
selector: 'app-timeline-dialog',
|
|
37
44
|
templateUrl: './timeline-dialog.component.html',
|
|
38
|
-
styleUrls: ['./timeline-dialog.component.scss']
|
|
45
|
+
styleUrls: ['./timeline-dialog.component.scss'],
|
|
46
|
+
providers: [DynamicTimelineReportService]
|
|
39
47
|
}]
|
|
40
48
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
41
49
|
type: Inject,
|
|
@@ -44,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
44
52
|
type: ViewChild,
|
|
45
53
|
args: ['graphChart']
|
|
46
54
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9jb21wb25lbnRzL19wYXJ0cy90aW1lbGluZS1kaWFsb2cvdGltZWxpbmUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9jb21wb25lbnRzL19wYXJ0cy90aW1lbGluZS1kaWFsb2cvdGltZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7OztBQVF2QixNQUFNLE9BQU8sdUJBQXVCO0lBUW5DLFlBQ1EsU0FBcUQsRUFDNUIsS0FBc0IsRUFDOUMsZ0JBQThDO1FBRi9DLGNBQVMsR0FBVCxTQUFTLENBQTRDO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBOEI7UUFOdEMsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBT3JELElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNsSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQ25DLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQTBCLENBQUMsQ0FDbEYsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsVUFBVTtRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUN0QztJQUNGLENBQUM7O3FIQWxDVyx1QkFBdUIsOENBVTFCLGVBQWU7eUdBVlosdUJBQXVCLDhDQUZ4QixDQUFDLDRCQUE0QixDQUFDLDZJQ2QxQywyb0NBK0JBOzRGRGZhLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3pDOzswQkFXRSxNQUFNOzJCQUFDLGVBQWU7dUZBVEMsbUJBQW1CO3NCQUEzQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IER5bmFtaWNUaW1lbGluZVJlcG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR3JhcGhDaGFydENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NoYXJ0cy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRHluYW1pY0xpbmVDaGFydCwgR3JhcGhEaWFsb2dEYXRhLCBUaW1lR3JvdXBzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtdGltZWxpbmUtZGlhbG9nJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90aW1lbGluZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuXHRwcm92aWRlcnM6IFtEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVEaWFsb2dDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoJ2dyYXBoQ2hhcnQnKSBncmFwaENoYXJ0Q29tcG9uZW50OiBHcmFwaENoYXJ0Q29tcG9uZW50O1xyXG5cdHJlcG9ydCQ6IE9ic2VydmFibGU8YW55PjtcclxuXHRmaWx0ZXJDcml0ZXJpYSQ6IE9ic2VydmFibGU8YW55PjtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfcmVidWlsZFRyaWdnZXJTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzZWxlY3RlZEdyb3VwJCA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5zZWxlY3RlZEdyb3VwJDtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGltZWxpbmVEaWFsb2dDb21wb25lbnQsIGFueT4sXHJcblx0XHRASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGNoYXJ0OiBHcmFwaERpYWxvZ0RhdGEsXHJcblx0XHRwcml2YXRlIF90aW1lbGluZVNlcnZpY2U6IER5bmFtaWNUaW1lbGluZVJlcG9ydFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMucmVwb3J0JCA9IGNvbWJpbmVMYXRlc3QoW29mKHRoaXMuY2hhcnQuY29uZmlnKSwgb2YodGhpcy5jaGFydC5jcml0ZXJpYSksIHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkJF0pLnBpcGUoXHJcblx0XHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5wcmVwYXJlRGF0YSgpXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuZmlsdGVyQ3JpdGVyaWEkID0gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkR3JvdXAkLnBpcGUoXHJcblx0XHRcdG1hcCgoZ3JvdXApID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gXy5jbG9uZURlZXAoXy5tZXJnZShcclxuXHRcdFx0XHRcdHRoaXMuY2hhcnQuY3JpdGVyaWEgfHwge30sXHJcblx0XHRcdFx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UucHJlcGFyZVNlbGVjdGVkR3JvdXBzKHRoaXMuY2hhcnQuY29uZmlnIGFzIER5bmFtaWNMaW5lQ2hhcnQpXHJcblx0XHRcdFx0KSk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlR3JvdXAoZ3JvdXA6IFRpbWVHcm91cHMpIHtcclxuXHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5jaGFuZ2VHcm91cChncm91cCk7XHJcblx0fVxyXG5cdHByaW50Q2hhcnQoKSB7XHJcblx0XHRpZiAodGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50KSB7XHJcblx0XHRcdHRoaXMuZ3JhcGhDaGFydENvbXBvbmVudC5wcmludENoYXJ0KCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxuZGYtbnV4ZW8tZGlhbG9nIGRpYWxvZ1RpdGxlPVwie3sgY2hhcnQ/LnRpdGxlIHwgdHJhbnNsYXRlIH19XCIgKm5nSWY9XCJyZXBvcnQkIHwgYXN5bmMgYXMgcmVwb3J0XCI+XHJcblx0PG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0XHQ8YXBwLWdyYXBoLWNoYXJ0XHJcblx0XHRcdCNncmFwaENoYXJ0XHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFx0W2NyaXRlcmlhXT1cImZpbHRlckNyaXRlcmlhJCB8IGFzeW5jXCJcclxuXHRcdFx0W2RhdGFdPVwicmVwb3J0LmRhdGFcIlxyXG5cdFx0PjwvYXBwLWdyYXBoLWNoYXJ0PlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblx0PG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGdhcC14LTRcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNoYXJ0LWFjdGlvbnMgZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1sZyBnYXAtMiBwLTFcIj5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRjbGFzcz1cInByaW50LWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtIHJvdW5kZWRcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cInByaW50Q2hhcnQoKVwiXHJcblx0XHRcdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5wcmludCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFx0Km5nSWY9XCJjaGFydC5jb25maWc/LnByaW50XCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDx0aW1lLWdyb3VwLXNlbGVjdG9yXHJcblx0XHRcdFx0Km5nSWY9XCJyZXBvcnQuY29uZmlnPy5ncm91cD8uYWN0aXZlID8/IHRydWVcIlxyXG5cdFx0XHRcdFtncm91cF09XCJzZWxlY3RlZEdyb3VwJCB8IGFzeW5jXCJcclxuXHRcdFx0XHQoZ3JvdXBDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXHJcblx0XHRcdD48L3RpbWUtZ3JvdXAtc2VsZWN0b3I+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L25kZi1udXhlby1kaWFsb2c+XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { combineLatest } from 'rxjs';
|
|
3
|
-
import { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';
|
|
3
|
+
import { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import _ from 'lodash';
|
|
5
5
|
import { BaseGraphReport } from '../../base/base-graph.report';
|
|
6
6
|
import { DynamicTimelineReportService } from '../../services';
|
|
@@ -19,12 +19,12 @@ export class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
19
19
|
super(injector);
|
|
20
20
|
this.injector = injector;
|
|
21
21
|
this._timelineService = this.injector.get(DynamicTimelineReportService);
|
|
22
|
-
this.
|
|
23
|
-
this.config$,
|
|
24
|
-
this.criteria$.pipe(distinctUntilChanged((a, b) => _.isEqual(a, b))),
|
|
25
|
-
this._timelineService.rebuild$
|
|
26
|
-
]).pipe(this._timelineService.prepareData());
|
|
22
|
+
this._criteria$ = this.criteria$.pipe(distinctUntilChanged((a, b) => _.isEqual(a, b)));
|
|
27
23
|
this.selectedGroup$ = this._timelineService.selectedGroup$;
|
|
24
|
+
this.filterCriteria$ = combineLatest([this._criteria$, this._timelineService.selectedGroup$]).pipe(map(([criteria]) => {
|
|
25
|
+
return _.cloneDeep(_.merge(criteria || {}, this._timelineService.prepareSelectedGroups(this.config)));
|
|
26
|
+
}));
|
|
27
|
+
this.report$ = combineLatest([this.config$, this._criteria$, this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
|
|
28
28
|
this._subscribeToLanguage();
|
|
29
29
|
}
|
|
30
30
|
_subscribeToLanguage() {
|
|
@@ -54,7 +54,7 @@ export class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
DynamicTimelineReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\
|
|
57
|
+
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\t\t#graphChart\r\n\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t[config]=\"report.config\"\r\n\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t[data]=\"report.data\"\r\n\t></app-graph-chart>\r\n\r\n\t<chart-panel-footer class=\"ndf-report__footer\">\r\n\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 flex-wrap p-1\">\r\n\t\t\t<button\r\n\t\t\t\tclass=\"print-button chart-actions__item\"\r\n\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t*ngIf=\"config?.print\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"navigate()\"\r\n\t\t\t\t*ngIf=\"config?.navigate?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.enabled' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>send</mat-icon>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"openDetails()\"\r\n\t\t\t\t*ngIf=\"config?.details?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.details' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>info</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<time-group-selector\r\n\t\t\t*ngIf=\"config?.group?.active ?? true\"\r\n\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t></time-group-selector>\r\n\t</chart-panel-footer>\r\n</chart-panel>\r\n\r\n<ng-template #noData>\r\n\t<chart-panel class=\"ndf-report\">\r\n\t\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</chart-panel-header>\r\n\t\t<app-skeleton\r\n\t\t\tanimation=\"opacity\"\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\theight=\"220px\"\r\n\t\t></app-skeleton>\r\n\t</chart-panel>\r\n</ng-template>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}:host{min-width:0;max-width:100%}.timeline-chart{display:var(--ndf-report-display, flex);flex-direction:var(--ndf-report-direction, column);justify-content:var(--ndf-report-justify-content, center);align-items:var(--ndf-report-align-items, center)}\n"], components: [{ type: i1.ChartPanel, selector: "chart-panel" }, { type: i1.ChartPanelHeaderComponent, selector: "chart-panel-header" }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.GraphChartComponent, selector: "app-graph-chart" }, { type: i1.ChartPanelFooterComponent, selector: "chart-panel-footer" }, { type: i4.TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }, { type: i5.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "async": i6.AsyncPipe, "translate": i8.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
71
71
|
type: ViewChild,
|
|
72
72
|
args: ['graphChart']
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBYXBELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxlQUE2RDtJQWFoSCxZQUFtQixRQUFrQjtRQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWjdCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFJM0UsWUFBTyxHQUFHLGFBQWEsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtTQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztRQUlyRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsb0JBQW9CO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZO2FBQ2pDLElBQUksQ0FDSixvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUMxRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN4QjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3RDO0lBQ0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxrQkFBa0I7UUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLHVCQUF1QjtTQUNsQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs0SEFsRFcsOEJBQThCO2dIQUE5Qiw4QkFBOEIsMkhBRi9CLENBQUMsNEJBQTRCLENBQUMsb0tDbEIxQyw4ekVBd0VBOzRGRHBEYSw4QkFBOEI7a0JBVjFDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLHlDQUF5QztxQkFDaEQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3pDOytGQUl5QixtQkFBbUI7c0JBQTNDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEdyYXBoQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGFydHMtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEJhc2VHcmFwaFJlcG9ydCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1ncmFwaC5yZXBvcnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL19wYXJ0cyc7XHJcbmltcG9ydCB7IER5bmFtaWNMaW5lQ2hhcnQsIER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBUaW1lR3JvdXBzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtdGltZWxpbmUtcmVwb3J0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICd0aW1lbGluZS1yZXBvcnQgZmxleCBmbGV4LWNvbCBmbGV4LWdyb3cnXHJcblx0fSxcclxuXHRwcm92aWRlcnM6IFtEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RpbWVsaW5lUmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUdyYXBoUmVwb3J0PER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBEeW5hbWljTGluZUNoYXJ0PiB7XHJcblx0cHJpdmF0ZSBfdGltZWxpbmVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZSk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoJ2dyYXBoQ2hhcnQnKSBncmFwaENoYXJ0Q29tcG9uZW50OiBHcmFwaENoYXJ0Q29tcG9uZW50O1xyXG5cclxuXHRyZXBvcnQkID0gY29tYmluZUxhdGVzdChbXHJcblx0XHR0aGlzLmNvbmZpZyQsXHJcblx0XHR0aGlzLmNyaXRlcmlhJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBfLmlzRXF1YWwoYSwgYikpKSxcclxuXHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkJFxyXG5cdF0pLnBpcGUodGhpcy5fdGltZWxpbmVTZXJ2aWNlLnByZXBhcmVEYXRhKCkpO1xyXG5cclxuXHRzZWxlY3RlZEdyb3VwJCA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5zZWxlY3RlZEdyb3VwJDtcclxuXHJcblx0Y29uc3RydWN0b3IocHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdFx0dGhpcy5fc3Vic2NyaWJlVG9MYW5ndWFnZSgpO1xyXG5cdH1cclxuXHJcblx0X3N1YnNjcmliZVRvTGFuZ3VhZ2UoKSB7XHJcblx0XHR0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJlLCBuZXh0KSA9PiBwcmUubGFuZyA9PSBuZXh0LmxhbmcpLFxyXG5cdFx0XHRcdGZpbHRlcigoKSA9PiB0aGlzLl90aW1lbGluZVNlcnZpY2UuX2lzSW5pdGlhbGl6ZWQpLFxyXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKF8pID0+IHtcclxuXHRcdFx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UucmVidWlsZCgpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaW50Q2hhcnQoKSB7XHJcblx0XHRpZiAodGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50KSB7XHJcblx0XHRcdHRoaXMuZ3JhcGhDaGFydENvbXBvbmVudC5wcmludENoYXJ0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjaGFuZ2VHcm91cChncm91cDogVGltZUdyb3Vwcykge1xyXG5cdFx0dGhpcy5fdGltZWxpbmVTZXJ2aWNlLmNoYW5nZUdyb3VwKGdyb3VwKTtcclxuXHR9XHJcblxyXG5cdG9wZW5UaW1lbGluZURpYWxvZygpIHtcclxuXHRcdHRoaXMub3BlbkdyYXBoRGlhbG9nKHtcclxuXHRcdFx0Y29uZmlnOiB0aGlzLmNvbmZpZyxcclxuXHRcdFx0ZGF0YTogdGhpcy5kYXRhLFxyXG5cdFx0XHRjb21wb25lbnQ6IFRpbWVsaW5lRGlhbG9nQ29tcG9uZW50XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9wZW5EZXRhaWxzKCkge1xyXG5cdFx0dGhpcy5vbk9wZW4uZW1pdCh0aGlzLl90aW1lbGluZVNlcnZpY2UucGF5bG9hZCk7XHJcblx0fVxyXG59XHJcbiIsIjxjaGFydC1wYW5lbCAqbmdJZj1cInJlcG9ydCQgfCBhc3luYyBhcyByZXBvcnQ7IGVsc2Ugbm9EYXRhXCIgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0PGNoYXJ0LXBhbmVsLWhlYWRlciBjbGFzcz1cIm5kZi1yZXBvcnRfX2hlYWRlciBtYi0zXCI+XHJcblx0XHQ8c3Bhbj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHQqbmdJZj1cImNvbmZpZz8uZGlhbG9nPy5hY3RpdmVcIlxyXG5cdFx0XHRjbGFzcz1cImRpYWxvZy1idXR0b25cIlxyXG5cdFx0XHQoY2xpY2spPVwib3BlblRpbWVsaW5lRGlhbG9nKClcIlxyXG5cdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5mdWxsc2NyZWVuJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHQ+XHJcblx0XHRcdDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvY2hhcnQtcGFuZWwtaGVhZGVyPlxyXG5cclxuXHQ8YXBwLWdyYXBoLWNoYXJ0XHJcblxyXG5cdFx0I2dyYXBoQ2hhcnRcclxuXHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFtjb25maWddPVwicmVwb3J0LmNvbmZpZ1wiXHJcblx0XHRbZGF0YV09XCJyZXBvcnQuZGF0YVwiXHJcblx0PjwvYXBwLWdyYXBoLWNoYXJ0PlxyXG5cclxuXHQ8Y2hhcnQtcGFuZWwtZm9vdGVyIGNsYXNzPVwibmRmLXJlcG9ydF9fZm9vdGVyXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY2hhcnQtYWN0aW9ucyBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWxnIGdhcC0yIGZsZXgtd3JhcCBwLTFcIj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwicHJpbnQtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJwcmludENoYXJ0KClcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLnByaW50JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LnByaW50XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5wcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm5hdmlnYXRlKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5uYXZpZ2F0ZT8uZW5hYmxlZFwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ1JFUE9SVFMuZW5hYmxlZCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cIm5hdmlnYXRlLWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwib3BlbkRldGFpbHMoKVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LmRldGFpbHM/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmRldGFpbHMnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5pbmZvPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDx0aW1lLWdyb3VwLXNlbGVjdG9yXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5ncm91cD8uYWN0aXZlID8/IHRydWVcIlxyXG5cdFx0XHRbZ3JvdXBdPVwic2VsZWN0ZWRHcm91cCQgfCBhc3luY1wiXHJcblx0XHRcdChncm91cENoYW5nZSk9XCJjaGFuZ2VHcm91cCgkZXZlbnQpXCJcclxuXHRcdD48L3RpbWUtZ3JvdXAtc2VsZWN0b3I+XHJcblx0PC9jaGFydC1wYW5lbC1mb290ZXI+XHJcbjwvY2hhcnQtcGFuZWw+XHJcblxyXG48bmctdGVtcGxhdGUgI25vRGF0YT5cclxuXHQ8Y2hhcnQtcGFuZWwgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0XHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2NoYXJ0LXBhbmVsLWhlYWRlcj5cclxuXHRcdDxhcHAtc2tlbGV0b25cclxuXHRcdFx0YW5pbWF0aW9uPVwib3BhY2l0eVwiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFx0aGVpZ2h0PVwiMjIwcHhcIlxyXG5cdFx0PjwvYXBwLXNrZWxldG9uPlxyXG5cdDwvY2hhcnQtcGFuZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFtQixhQUFhLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBYXBELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxlQUE2RDtJQW1CaEgsWUFBbUIsUUFBa0I7UUFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFD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QXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSx5Q0FBeUM7cUJBQ2hEO29CQUNELFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUN6QzsrRkFJeUIsbUJBQW1CO3NCQUEzQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBHcmFwaENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hhcnRzLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCYXNlR3JhcGhSZXBvcnQgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UtZ3JhcGgucmVwb3J0JztcclxuaW1wb3J0IHsgRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGltZWxpbmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9fcGFydHMnO1xyXG5pbXBvcnQgeyBEeW5hbWljTGluZUNoYXJ0LCBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbiwgVGltZUdyb3VwcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1keW5hbWljLXRpbWVsaW5lLXJlcG9ydCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9keW5hbWljLXRpbWVsaW5lLXJlcG9ydC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAndGltZWxpbmUtcmVwb3J0IGZsZXggZmxleC1jb2wgZmxleC1ncm93J1xyXG5cdH0sXHJcblx0cHJvdmlkZXJzOiBbRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUaW1lbGluZVJlcG9ydENvbXBvbmVudCBleHRlbmRzIEJhc2VHcmFwaFJlcG9ydDxEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbiwgRHluYW1pY0xpbmVDaGFydD4ge1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX3RpbWVsaW5lU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KER5bmFtaWNUaW1lbGluZVJlcG9ydFNlcnZpY2UpO1xyXG5cclxuXHRAVmlld0NoaWxkKCdncmFwaENoYXJ0JykgZ3JhcGhDaGFydENvbXBvbmVudDogR3JhcGhDaGFydENvbXBvbmVudDtcclxuXHJcblx0cHJpdmF0ZSBfY3JpdGVyaWEkID0gdGhpcy5jcml0ZXJpYSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gXy5pc0VxdWFsKGEsIGIpKSk7XHJcblxyXG5cdHNlbGVjdGVkR3JvdXAkID0gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkR3JvdXAkO1xyXG5cclxuXHRmaWx0ZXJDcml0ZXJpYSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9jcml0ZXJpYSQsIHRoaXMuX3RpbWVsaW5lU2VydmljZS5zZWxlY3RlZEdyb3VwJF0pLnBpcGUoXHJcblx0XHRtYXAoKFtjcml0ZXJpYV0pID0+IHtcclxuXHRcdFx0cmV0dXJuIF8uY2xvbmVEZWVwKF8ubWVyZ2UoY3JpdGVyaWEgfHwge30sIHRoaXMuX3RpbWVsaW5lU2VydmljZS5wcmVwYXJlU2VsZWN0ZWRHcm91cHModGhpcy5jb25maWcpKSk7XHJcblx0XHR9KVxyXG5cdCk7XHJcblxyXG5cdHJlcG9ydCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbmZpZyQsIHRoaXMuX2NyaXRlcmlhJCwgdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnJlYnVpbGQkXSkucGlwZShcclxuXHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5wcmVwYXJlRGF0YSgpXHJcblx0KTtcclxuXHJcblx0Y29uc3RydWN0b3IocHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdFx0dGhpcy5fc3Vic2NyaWJlVG9MYW5ndWFnZSgpO1xyXG5cdH1cclxuXHJcblx0X3N1YnNjcmliZVRvTGFuZ3VhZ2UoKSB7XHJcblx0XHR0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJlLCBuZXh0KSA9PiBwcmUubGFuZyA9PSBuZXh0LmxhbmcpLFxyXG5cdFx0XHRcdGZpbHRlcigoKSA9PiB0aGlzLl90aW1lbGluZVNlcnZpY2UuX2lzSW5pdGlhbGl6ZWQpLFxyXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKF8pID0+IHtcclxuXHRcdFx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UucmVidWlsZCgpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaW50Q2hhcnQoKSB7XHJcblx0XHRpZiAodGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50KSB7XHJcblx0XHRcdHRoaXMuZ3JhcGhDaGFydENvbXBvbmVudC5wcmludENoYXJ0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjaGFuZ2VHcm91cChncm91cDogVGltZUdyb3Vwcykge1xyXG5cdFx0dGhpcy5fdGltZWxpbmVTZXJ2aWNlLmNoYW5nZUdyb3VwKGdyb3VwKTtcclxuXHR9XHJcblxyXG5cdG9wZW5UaW1lbGluZURpYWxvZygpIHtcclxuXHRcdHRoaXMub3BlbkdyYXBoRGlhbG9nKHtcclxuXHRcdFx0Y29uZmlnOiB0aGlzLmNvbmZpZyxcclxuXHRcdFx0ZGF0YTogdGhpcy5kYXRhLFxyXG5cdFx0XHRjb21wb25lbnQ6IFRpbWVsaW5lRGlhbG9nQ29tcG9uZW50XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9wZW5EZXRhaWxzKCkge1xyXG5cdFx0dGhpcy5vbk9wZW4uZW1pdCh0aGlzLl90aW1lbGluZVNlcnZpY2UucGF5bG9hZCk7XHJcblx0fVxyXG59XHJcbiIsIjxjaGFydC1wYW5lbCAqbmdJZj1cInJlcG9ydCQgfCBhc3luYyBhcyByZXBvcnQ7IGVsc2Ugbm9EYXRhXCIgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0PGNoYXJ0LXBhbmVsLWhlYWRlciBjbGFzcz1cIm5kZi1yZXBvcnRfX2hlYWRlciBtYi0zXCI+XHJcblx0XHQ8c3Bhbj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHQqbmdJZj1cImNvbmZpZz8uZGlhbG9nPy5hY3RpdmVcIlxyXG5cdFx0XHRjbGFzcz1cImRpYWxvZy1idXR0b25cIlxyXG5cdFx0XHQoY2xpY2spPVwib3BlblRpbWVsaW5lRGlhbG9nKClcIlxyXG5cdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5mdWxsc2NyZWVuJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHQ+XHJcblx0XHRcdDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvY2hhcnQtcGFuZWwtaGVhZGVyPlxyXG5cclxuXHQ8YXBwLWdyYXBoLWNoYXJ0XHJcblx0XHQjZ3JhcGhDaGFydFxyXG5cdFx0Y2xhc3M9XCJuZGYtcmVwb3J0X19jb250ZW50IG5kZi1yZXBvcnRfX2NvbnRlbnQgdGltZWxpbmUtY2hhcnRcIlxyXG5cdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFtjcml0ZXJpYV09XCJmaWx0ZXJDcml0ZXJpYSQgfCBhc3luY1wiXHJcblx0XHRbZGF0YV09XCJyZXBvcnQuZGF0YVwiXHJcblx0PjwvYXBwLWdyYXBoLWNoYXJ0PlxyXG5cclxuXHQ8Y2hhcnQtcGFuZWwtZm9vdGVyIGNsYXNzPVwibmRmLXJlcG9ydF9fZm9vdGVyXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY2hhcnQtYWN0aW9ucyBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWxnIGdhcC0yIGZsZXgtd3JhcCBwLTFcIj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwicHJpbnQtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJwcmludENoYXJ0KClcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLnByaW50JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LnByaW50XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5wcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm5hdmlnYXRlKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5uYXZpZ2F0ZT8uZW5hYmxlZFwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ1JFUE9SVFMuZW5hYmxlZCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cIm5hdmlnYXRlLWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwib3BlbkRldGFpbHMoKVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LmRldGFpbHM/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmRldGFpbHMnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5pbmZvPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDx0aW1lLWdyb3VwLXNlbGVjdG9yXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5ncm91cD8uYWN0aXZlID8/IHRydWVcIlxyXG5cdFx0XHRbZ3JvdXBdPVwic2VsZWN0ZWRHcm91cCQgfCBhc3luY1wiXHJcblx0XHRcdChncm91cENoYW5nZSk9XCJjaGFuZ2VHcm91cCgkZXZlbnQpXCJcclxuXHRcdD48L3RpbWUtZ3JvdXAtc2VsZWN0b3I+XHJcblx0PC9jaGFydC1wYW5lbC1mb290ZXI+XHJcbjwvY2hhcnQtcGFuZWw+XHJcblxyXG48bmctdGVtcGxhdGUgI25vRGF0YT5cclxuXHQ8Y2hhcnQtcGFuZWwgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0XHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2NoYXJ0LXBhbmVsLWhlYWRlcj5cclxuXHRcdDxhcHAtc2tlbGV0b25cclxuXHRcdFx0YW5pbWF0aW9uPVwib3BhY2l0eVwiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFx0aGVpZ2h0PVwiMjIwcHhcIlxyXG5cdFx0PjwvYXBwLXNrZWxldG9uPlxyXG5cdDwvY2hhcnQtcGFuZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
1
2
|
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
3
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
4
|
import _ from 'lodash';
|
|
@@ -59,6 +60,7 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
59
60
|
this.jsonEditorEnabled = false;
|
|
60
61
|
this.editorType = NDF_EDITOR_TYPE.REPORTS;
|
|
61
62
|
this.navigateRoute = [];
|
|
63
|
+
this._isConfigChanged = false;
|
|
62
64
|
this.onQueryChange = new EventEmitter();
|
|
63
65
|
this.trackByFn = (_, report) => {
|
|
64
66
|
return report.id;
|
|
@@ -81,7 +83,9 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
81
83
|
var _a;
|
|
82
84
|
return (_a = this.config) === null || _a === void 0 ? void 0 : _a.reports;
|
|
83
85
|
}
|
|
84
|
-
set config(
|
|
86
|
+
set config(config) {
|
|
87
|
+
const value = _.cloneDeep(config);
|
|
88
|
+
this._checkConfigChange(value);
|
|
85
89
|
this._configSubject.next(value);
|
|
86
90
|
if (value === null || value === void 0 ? void 0 : value.activeQuery) {
|
|
87
91
|
this._updateActiveQuery(value === null || value === void 0 ? void 0 : value.activeQuery);
|
|
@@ -191,6 +195,7 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
191
195
|
}));
|
|
192
196
|
return forkJoin([of(config), data$]);
|
|
193
197
|
}), map(([config, response]) => {
|
|
198
|
+
this._prepareAggregations(response === null || response === void 0 ? void 0 : response.aggregations);
|
|
194
199
|
return {
|
|
195
200
|
config,
|
|
196
201
|
response
|
|
@@ -220,9 +225,25 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
220
225
|
emitEvent: false
|
|
221
226
|
});
|
|
222
227
|
}
|
|
228
|
+
_prepareAggregations(aggregations) {
|
|
229
|
+
var _a;
|
|
230
|
+
if (this._isConfigChanged && this.aggregations) {
|
|
231
|
+
this.aggregations = null;
|
|
232
|
+
}
|
|
233
|
+
if (this.aggregations && ((_a = this.config.filters) === null || _a === void 0 ? void 0 : _a.reloadStrategy) === 'never') {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
this.aggregations = aggregations;
|
|
237
|
+
this._isConfigChanged = false;
|
|
238
|
+
}
|
|
239
|
+
_checkConfigChange(value) {
|
|
240
|
+
const { activeQuery } = value, config = __rest(value, ["activeQuery"]);
|
|
241
|
+
const _a = this._configSubject.getValue() || {}, { activeQuery: aq } = _a, currentConfig = __rest(_a, ["activeQuery"]);
|
|
242
|
+
this._isConfigChanged = !_.isEqual(currentConfig, config);
|
|
243
|
+
}
|
|
223
244
|
}
|
|
224
245
|
NdfReportsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, deps: [{ token: i1.TranslateService }, { token: i2.FiltersMapperService }, { token: i3.NdfReportsService }, { token: i3.ChartManagerService }, { token: i3.ReportTransformService }, { token: i0.ChangeDetectorRef }, { token: i2.FilterQueryService }, { token: i3.ReportsStateService }, { token: i4.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
225
|
-
NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"reports?.response?.aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[class.col-small]=\"config?.layout?.width === 'small'\"\r\n\t\t\t\t[class.col-medium]=\"config?.layout?.width === 'medium'\"\r\n\t\t\t\t[class.col-half]=\"config?.layout?.width === 'half'\"\r\n\t\t\t\t[class.col-wide]=\"config?.layout?.width === 'wide'\"\r\n\t\t\t\t[class.col-extra-wide]=\"config?.layout?.width === 'extra'\"\r\n\t\t\t\t[class.col-full]=\"config?.layout?.width === 'full'\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }}\"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 6;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}@media screen{.reports-grid__item{grid-column:var(--col-span, span var(--grid-column, 2));grid-row:span var(--row-span, 1);grid-template-rows:subgrid}}.reports-grid__item.col-small{--col-span: var(--col-small-span, span 1)}.reports-grid__item.col-medium{--col-span: var(--col-medium-span, span 2)}.reports-grid__item.col-half{--col-span: var(--col-half-span, span 3)}.reports-grid__item.col-wide{--col-span: var(--col-wide-span, span 4)}.reports-grid__item.col-extra-wide{--col-span: var(--col-extra-wide-span, span 5)}.reports-grid__item.col-full{--col-span: 1 / -1}@media screen and (max-width: 1200px){.reports-grid{--col-span: span 1;--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-extra-wide-span: 1 / -1;--col-wide-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 2}}@media screen and (max-width: 776px){.reports-grid{--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 1}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: i5.FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i10.NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: i11.NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i14.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i15.ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i12.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
|
|
246
|
+
NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\t[style.--col-start]=\"config.layout?.startColumn || 'auto'\"\r\n\r\n [class.wide]=\"config.layout?.width >= 6\"\r\n [attr.data-width]=\"config.layout?.width || 4\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 12;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}.reports-grid__item[data-width=\"1\"]{--col-span: span 1}.reports-grid__item[data-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}@media screen{.reports-grid__item{grid-row-start:var(--row-start, initial);grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--start-row, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: i5.FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i10.NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: i11.NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i14.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i15.ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i16.SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i12.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
|
|
226
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, decorators: [{
|
|
227
248
|
type: Component,
|
|
228
249
|
args: [{
|
|
@@ -249,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
249
270
|
}], onQueryChange: [{
|
|
250
271
|
type: Output
|
|
251
272
|
}] } });
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFD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c0JBQXNCLENBQUMsSUFBSSxDQUFDO1lBQ2hDLEtBQUs7WUFDTCxTQUFTLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7SUFDSixDQUFDOztpSEFoUFcsbUJBQW1CO3FHQUFuQixtQkFBbUIsaVdBQ3BCLG9CQUFvQix1RUNsRGhDLHNuR0E2RUEsMHNNRDlCYSxDQUFDLGNBQWMsQ0FBQzs0RkFFaEIsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLE9BQU8sRUFBRSxXQUFXO3FCQUNwQjtvQkFDRCxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCOzhYQUVpQyxjQUFjO3NCQUE5QyxTQUFTO3VCQUFDLG9CQUFvQjtnQkEwQ3RCLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRU8sTUFBTTtzQkFBbEIsS0FBSztnQkFZSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHROZ1pvbmUsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgRGVzdHJveVN1YmplY3QsIEZsdWlkSGVpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHtcclxuXHROZGZUYWJsZUNvbmZpZ1xyXG59IGZyb20gJy4uLy4uLy4uLy4uL3RhYmxlcyc7XHJcbmltcG9ydCB7XHRGaWVsZENvbmZpZ01vZGVsLFxyXG4gIEZpbHRlclF1ZXJ5U2VydmljZSxcclxuICBGaWx0ZXJzTWFwcGVyU2VydmljZSxcclxuICBGb3JtUXVlcnlNb2RlbH0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWZpbHRlcnMnXHJcbmltcG9ydCB7IENyaXRlcmlhTW9kZWwsIE5kZlJlcG9ydHNDb25maWcsIFJlcG9ydENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ2hhcnRNYW5hZ2VyU2VydmljZSwgTmRmUmVwb3J0c1NlcnZpY2UsIFJlcG9ydHNTdGF0ZVNlcnZpY2UsIFJlcG9ydFRyYW5zZm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IG1hcFRvTmRmVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi8uLi8uLi8uLi9uZGYtY29uZmlnLWVkaXRvci9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNsaWRlQW5pbWF0aW9uID0gdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRzdGF0ZSgnY2xvc2VkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHZhcigtLW5kZi1yZXBvcnRzLWRldGFpbHMtdHJhbnNsYXRlWCwgLTEwMCUpKScgfSkpLFxyXG5cdHN0YXRlKCdvcGVuJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXHJcblx0dHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSlcclxuXSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1uZGYtcmVwb3J0cycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL25kZi1yZXBvcnRzLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9uZGYtcmVwb3J0cy5jb21wb25lbnQuc2NzcyddLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnbmRmLXJlcG9ydHMnLFxyXG5cdFx0J1tkaXJdJzogJ2RpcmVjdGlvbidcclxuXHR9LFxyXG5cdGFuaW1hdGlvbnM6IFtzbGlkZUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZlJlcG9ydHNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95U3ViamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRAVmlld0NoaWxkKEZsdWlkSGVpZ2h0RGlyZWN0aXZlKSBmbHVpZERpcmVjdGl2ZTogRmx1aWRIZWlnaHREaXJlY3RpdmU7XHJcblx0X2lzSGVpZ2h0VXBkYXRlZCA9IGZhbHNlO1xyXG5cdGRpcmVjdGlvbjogRGlyZWN0aW9uID0gJ3J0bCc7XHJcblx0aXNQYW5lbE9wZW5lZCA9IGZhbHNlO1xyXG5cdGlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdHJlcG9ydHNEYXRhJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cdGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcblx0YWN0aXZlUXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIgPSBuZXcgUmVwbGF5U3ViamVjdDxGb3JtUXVlcnlNb2RlbD4oKTtcclxuXHRyZWFkb25seSBhY3RpdmVGaWx0ZXJzUXVlcnkkID0gdGhpcy5fYWN0aXZlRmlsdGVyc1F1ZXJ5U3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZGZSZXBvcnRzQ29uZmlnPihudWxsKTtcclxuXHRyZWFkb25seSByZXBvcnRDb25maWckID0gdGhpcy5fY29uZmlnU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfZmlsdGVyc0NyaXRlcmlhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q3JpdGVyaWFNb2RlbD4obnVsbCk7XHJcblx0cmVhZG9ubHkgZmlsdGVyc1BhcmFtcyQgPSB0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIF9yZXBvcnREZXRhaWxzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e1xyXG5cdFx0bGFiZWw/OiBzdHJpbmc7XHJcblx0XHRjb25maWc6IE5kZlRhYmxlQ29uZmlnO1xyXG5cdH0+KG51bGwpO1xyXG5cdHJlcG9ydERldGFpbHMkID0gdGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdGdldCBzaG93RGV0YWlscygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAhIXRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0LmdldFZhbHVlKCk7XHJcblx0fVxyXG5cclxuXHRpc0RldGFpbHNPcGVuZWQgPSBmYWxzZTtcclxuXHJcblx0Z2V0IGNvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb25maWdTdWJqZWN0LmdldFZhbHVlKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgZmlsdGVyc0NvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLmNvbmZpZz8uZmlsdGVycztcclxuXHR9XHJcblxyXG5cdGdldCByZXBvcnRDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LnJlcG9ydHM7XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBqc29uRWRpdG9yRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHJlcG9ydHNLZXk6IHN0cmluZztcclxuXHRlZGl0b3JUeXBlID0gTkRGX0VESVRPUl9UWVBFLlJFUE9SVFM7XHJcblxyXG5cdEBJbnB1dCgpIG5hdmlnYXRlUm91dGU6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdEBJbnB1dCgpIHNldCBjb25maWcodmFsdWU6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdHRoaXMuX2NvbmZpZ1N1YmplY3QubmV4dCh2YWx1ZSk7XHJcblx0XHRpZiAodmFsdWU/LmFjdGl2ZVF1ZXJ5KSB7XHJcblx0XHRcdHRoaXMuX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSk7XHJcblxyXG5cdFx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQodGhpcy5fcHJlcGFyZU1hcHBlZFF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0fVxyXG5cclxuXHRAT3V0cHV0KCkgb25RdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0dHJhY2tCeUZuID0gKF86IG51bWJlciwgcmVwb3J0OiBSZXBvcnRDb25maWdNb2RlbCkgPT4ge1xyXG5cdFx0cmV0dXJuIHJlcG9ydC5pZDtcclxuXHR9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9maWx0ZXJzTWFwcGVyOiBGaWx0ZXJzTWFwcGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX25kZlJlcG9ydHNTZXJ2aWNlOiBOZGZSZXBvcnRzU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2NoYXJ0SGVscGVyU2VydmljZTogQ2hhcnRNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3RyYW5zZm9ybVNlcnZpY2U6IFJlcG9ydFRyYW5zZm9ybVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cdFx0cHJpdmF0ZSBfZmlsdGVyUXVlcnlTZXJ2aWNlOiBGaWx0ZXJRdWVyeVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9zdGF0ZVNlcnZpY2U6IFJlcG9ydHNTdGF0ZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByaXZhdGUgX25nWm9uZTogTmdab25lXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5fdHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdHRoaXMuZGlyZWN0aW9uID0gcmVzLmxhbmcgPT09ICdhcicgPyAncnRsJyA6ICdsdHInO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMucmVwb3J0c0RhdGEkID0gdGhpcy5fcHJlcGFyZVJlcG9ydHMoKTtcclxuXHRcdHRoaXMuX2hhbmRsZUtleWJvYXJkRXZlbnQoKTtcclxuXHR9XHJcblxyXG5cdG9uTmF2aWdhdGUoZGF0YTogeyByZXBvcnQ6IFJlY29yZDxzdHJpbmcsIGFueT47IGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gfSkge1xyXG5cdFx0Y29uc3QgcmVwb3J0ID0gZGF0YT8ucmVwb3J0O1xyXG5cdFx0Y29uc3QgX2N1c3RvbVJvdXRlID0gcmVwb3J0Lm5hdmlnYXRlPy5yb3V0ZSB8fCBbXTtcclxuXHRcdC8vIGxldCByb3V0ZSA9IFtSTVNfQkFTRS5yZXBsYWNlKC9cXC8kLywgJycpXTtcclxuXHRcdGxldCByb3V0ZSA9IHRoaXMubmF2aWdhdGVSb3V0ZTtcclxuXHRcdGlmICghIV9jdXN0b21Sb3V0ZS5sZW5ndGgpIHtcclxuXHRcdFx0cm91dGUgPSBbLi4ucm91dGUsIC4uLl9jdXN0b21Sb3V0ZV07XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcXVlcnlQYXJhbXMgPSB7fTtcclxuXHRcdGlmIChyZXBvcnQubmF2aWdhdGU/LmluY2x1ZGVQYXJhbXMgPz8gdHJ1ZSkge1xyXG5cdFx0XHRpZiAoT2JqZWN0LmtleXModGhpcy5hY3RpdmVRdWVyeSB8fCB7fSkubGVuZ3RoKSB7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHRoaXMuX2ZpbHRlclF1ZXJ5U2VydmljZS5lbmNvZGVRdWVyeSh0aGlzLmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0XHRpZiAoZGF0YSkge1xyXG5cdFx0XHRcdFx0cXVlcnlQYXJhbXNbJ2ZpbHRlcnMnXSA9IGRhdGE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlKHJvdXRlLCB7IHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyB9KS50aGVuKCgpID0+IHt9KTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZVBhbmVsKCkge1xyXG5cdFx0dGhpcy5pc1BhbmVsT3BlbmVkID0gIXRoaXMuaXNQYW5lbE9wZW5lZDtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLl9jaGFydEhlbHBlclNlcnZpY2UucmVzaXplQ2hhcnRzKCk7XHJcblx0XHR9LCA1MDApO1xyXG5cdH1cclxuXHJcblx0ZmlsdGVyQ2hhbmdlZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55Pikge1xyXG5cdFx0aWYgKF8uaXNFcXVhbCh0aGlzLmFjdGl2ZVF1ZXJ5LCBjcml0ZXJpYSkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5vblF1ZXJ5Q2hhbmdlLmVtaXQoY3JpdGVyaWEpO1xyXG5cdFx0dGhpcy5fdXBkYXRlQWN0aXZlUXVlcnkoY3JpdGVyaWEpO1xyXG5cdFx0Y29uc3QgX2RhdGUgPSB0aGlzLl9wcmVwYXJlTWFwcGVkUXVlcnkoY3JpdGVyaWEsIHRoaXMuZmlsdGVyc0NvbmZpZy5tb2RlKTtcclxuXHRcdHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QubmV4dChfZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRvbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuX3N0YXRlU2VydmljZS5vbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmcpO1xyXG5cclxuXHRcdGlmIChpc1Njcm9sbGluZyAmJiAhdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IHRydWU7XHJcblx0XHRcdHRoaXMuZmx1aWREaXJlY3RpdmUuc2NoZWR1bGVTZXRIZWlnaHQoMTAwKTtcclxuXHRcdH0gZWxzZSBpZiAoIWlzU2Nyb2xsaW5nICYmIHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCkge1xyXG5cdFx0XHR0aGlzLl9pc0hlaWdodFVwZGF0ZWQgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b3BlblJlcG9ydERldGFpbHMoXzogQ3JpdGVyaWFNb2RlbCwgckNvbmZpZzogUmVwb3J0Q29uZmlnTW9kZWwpIHtcclxuXHRcdHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0Lm5leHQoe1xyXG5cdFx0XHRjb25maWc6IG1hcFRvTmRmVGFibGVDb25maWcodGhpcy5jb25maWcsIHJDb25maWcuZGV0YWlscyksXHJcblx0XHRcdGxhYmVsOiByQ29uZmlnLmxhYmVsXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGNsb3NlRGV0YWlsc1BhbmVsKCkge1xyXG5cdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcblxyXG5cdG9uRGV0YWlsc0FuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuXHRcdHRoaXMuaXNEZXRhaWxzT3BlbmVkID0gZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLmRlc3Ryb3lBbGwoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55PiwgZmllbGRzOiBGaWVsZENvbmZpZ01vZGVsW10gPSB0aGlzLmZpbHRlcnNDb25maWcuZmllbGRzKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZmlsdGVyc01hcHBlci5wcmVwYXJlUGF5bG9hZChmaWVsZHMsIGNyaXRlcmlhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5lbnRyaWVzKGNyaXRlcmlhKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdGFjY1trZXldID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiB2YWx1ZTtcclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIHt9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVSZXBvcnRzKCkge1xyXG5cdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0cmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG5cdFx0XHR0aGlzLmZpbHRlcnNQYXJhbXMkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IF8uaXNFcXVhbChhLCBiKSkpLFxyXG5cdFx0XHR0aGlzLnJlcG9ydENvbmZpZyRcclxuXHRcdF0pLnBpcGUoXHJcblx0XHRcdHRhcCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKFtjcml0ZXJpYSwgY29uZmlnXSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHJlcXVlc3QgPSBjb25maWc/LnJlcXVlc3Q7XHJcblx0XHRcdFx0aWYgKCFyZXF1ZXN0KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBfcGF5bG9hZCA9IGNyaXRlcmlhO1xyXG5cdFx0XHRcdGlmICghY3JpdGVyaWEgJiYgISFjb25maWcuYWN0aXZlUXVlcnkpIHtcclxuXHRcdFx0XHRcdF9wYXlsb2FkID0gdGhpcy5wcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNvbmZpZy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBkYXRhJCA9IHRoaXMuX25kZlJlcG9ydHNTZXJ2aWNlLmdldERhdGEocmVxdWVzdCwgX3BheWxvYWQpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHJlcG9ydHM6IEFwaVJlc3BvbnNlTW9kZWwpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVNlcnZpY2UucHJlcGFyZURhdGEocmVwb3J0cywgY29uZmlnKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gZm9ya0pvaW4oW29mKGNvbmZpZyksIGRhdGEkXSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRtYXAoKFtjb25maWcsIHJlc3BvbnNlXSkgPT4ge1xyXG5cdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRjb25maWcsXHJcblx0XHRcdFx0XHRyZXNwb25zZVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaGFuZGxlS2V5Ym9hcmRFdmVudCgpIHtcclxuXHRcdHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcblx0XHRcdGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0ZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLnNob3dEZXRhaWxzKSxcclxuXHRcdFx0XHRcdHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG5cdFx0XHRcdClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuY2xvc2VEZXRhaWxzUGFuZWwoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZU1hcHBlZFF1ZXJ5KGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBtb2RlOiAncGF5bG9hZCcgfCAncGFyYW1zJykge1xyXG5cdFx0cmV0dXJuIG1vZGUgPT0gJ3BheWxvYWQnXHJcblx0XHRcdD8gdGhpcy5wcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNyaXRlcmlhKVxyXG5cdFx0XHQ6IHtcclxuXHRcdFx0XHRcdHBhcmFtczogdGhpcy5fc3RyaW5naWZ5VmFsdWVzKGNyaXRlcmlhKVxyXG5cdFx0XHRcdH07XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF91cGRhdGVBY3RpdmVRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0dGhpcy5hY3RpdmVRdWVyeSA9IHF1ZXJ5O1xyXG5cdFx0dGhpcy5fYWN0aXZlRmlsdGVyc1F1ZXJ5U3ViLm5leHQoe1xyXG5cdFx0XHRxdWVyeSxcclxuXHRcdFx0ZW1pdEV2ZW50OiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXZcclxuXHQqbmdJZj1cInJlcG9ydHNEYXRhJCB8IGFzeW5jIGFzIHJlcG9ydHNcIlxyXG5cdFtjbGFzcy5wYW5lbC1vcGVuZWRdPVwiaXNQYW5lbE9wZW5lZCAmJiBmaWx0ZXJzQ29uZmlnXCJcclxuXHRbZGlyXT1cImRpcmVjdGlvblwiXHJcblx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGFpbmVyXCJcclxuXHRuZGZGbHVpZEhlaWdodFxyXG4+XHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19wYW5lbFwiICpuZ0lmPVwiISFmaWx0ZXJzQ29uZmlnPy5maWVsZHM/Lmxlbmd0aFwiPlxyXG5cdFx0PGFwcC1maWx0ZXJzLXBhbmVsXHJcblx0XHRcdFtmaWVsZHNdPVwiZmlsdGVyc0NvbmZpZz8uZmllbGRzXCJcclxuXHRcdFx0W2FnZ3JlZ2F0aW9uc109XCJyZXBvcnRzPy5yZXNwb25zZT8uYWdncmVnYXRpb25zXCJcclxuXHRcdFx0KGZpbHRlckNoYW5nZWQpPVwiZmlsdGVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdFx0W2FjdGl2ZVF1ZXJ5XT1cImFjdGl2ZUZpbHRlcnNRdWVyeSQgfCBhc3luY1wiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2ZpbHRlcnNcIlxyXG5cdFx0PjwvYXBwLWZpbHRlcnMtcGFuZWw+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGVudCBwLTQgcHQtMFwiIChzY3JvbGxlZCk9XCJvbkNvbnRlbnRTY3JvbGwoJGV2ZW50KVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19oZWFkZXIgZmxleCBwdC00XCI+XHJcblx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XHJcblx0XHRcdFx0PG1hdC1pY29uPiBmaWx0ZXJfYWx0PC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHRcdDxhcHAtZWRpdG9yLWJ1dHRvblxyXG5cdFx0XHRcdCpuZ0lmPVwianNvbkVkaXRvckVuYWJsZWQgJiYgcmVwb3J0c0tleVwiXHJcblx0XHRcdFx0W2tleV09XCJyZXBvcnRzS2V5XCJcclxuXHRcdFx0XHRbdHlwZV09XCJlZGl0b3JUeXBlXCJcclxuXHRcdFx0PjwvYXBwLWVkaXRvci1idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1Jlc3VsdFwiIGNsYXNzPVwibXQtNSBteC1hdXRvXCIgW2RpYW1ldGVyXT1cIjQ4XCI+PC9tYXQtc3Bpbm5lcj5cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwicmVwb3J0cy1ncmlkXCIgKm5nSWY9XCIhaXNMb2FkaW5nUmVzdWx0XCI+XHJcblx0XHRcdDxhcHAtbmRmLXJlcG9ydFxyXG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb25maWcgb2YgcmVwb3J0Q29uZmlnLml0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG5cdFx0XHRcdFtjb25maWddPVwiY29uZmlnXCJcclxuXHRcdFx0XHRbZGF0YV09XCJyZXBvcnRzPy5yZXNwb25zZVwiXHJcblx0XHRcdFx0W2NyaXRlcmlhXT1cImZpbHRlcnNQYXJhbXMkIHwgYXN5bmNcIlxyXG5cdFx0XHRcdFtjbGFzcy5jb2wtc21hbGxdPVwiY29uZmlnPy5sYXlvdXQ/LndpZHRoID09PSAnc21hbGwnXCJcclxuXHRcdFx0XHRbY2xhc3MuY29sLW1lZGl1bV09XCJjb25maWc/LmxheW91dD8ud2lkdGggPT09ICdtZWRpdW0nXCJcclxuXHRcdFx0XHRbY2xhc3MuY29sLWhhbGZdPVwiY29uZmlnPy5sYXlvdXQ/LndpZHRoID09PSAnaGFsZidcIlxyXG5cdFx0XHRcdFtjbGFzcy5jb2wtd2lkZV09XCJjb25maWc/LmxheW91dD8ud2lkdGggPT09ICd3aWRlJ1wiXHJcblx0XHRcdFx0W2NsYXNzLmNvbC1leHRyYS13aWRlXT1cImNvbmZpZz8ubGF5b3V0Py53aWR0aCA9PT0gJ2V4dHJhJ1wiXHJcblx0XHRcdFx0W2NsYXNzLmNvbC1mdWxsXT1cImNvbmZpZz8ubGF5b3V0Py53aWR0aCA9PT0gJ2Z1bGwnXCJcclxuXHRcdFx0XHRbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcblx0XHRcdFx0Y2xhc3M9XCJyZXBvcnRzLWdyaWRfX2l0ZW0ge3sgY29uZmlnPy5sYXlvdXQ/LnN0eWxlQ2xhc3MgfX1cIlxyXG5cdFx0XHRcdChvbk5hdmlnYXRlKT1cIm9uTmF2aWdhdGUoJGV2ZW50KVwiXHJcblx0XHRcdFx0KG9uT3Blbik9XCJvcGVuUmVwb3J0RGV0YWlscygkZXZlbnQsIGNvbmZpZylcIlxyXG5cdFx0XHQ+PC9hcHAtbmRmLXJlcG9ydD5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2RldGFpbHNcIlxyXG5cdFx0W2NsYXNzLm9wZW5lZF09XCJzaG93RGV0YWlsc1wiXHJcblx0XHRbQHNsaWRlSW5PdXRdPVwic2hvd0RldGFpbHMgPyAnb3BlbicgOiAnY2xvc2VkJ1wiXHJcblx0XHQoQHNsaWRlSW5PdXQuZG9uZSk9XCJvbkRldGFpbHNBbmltYXRpb25FbmQoJGV2ZW50KVwiXHJcblx0PlxyXG5cdFx0PGFwcC1uZGYtdGFibGVcclxuXHRcdFx0Km5nSWY9XCJyZXBvcnREZXRhaWxzJCB8IGFzeW5jIGFzIHJlcG9ydFwiXHJcblx0XHRcdFtjb25maWddPVwicmVwb3J0LmNvbmZpZ1wiXHJcblx0XHRcdFthY3RpdmVRdWVyeV09XCJhY3RpdmVGaWx0ZXJzUXVlcnkkIHwgYXN5bmNcIlxyXG5cdFx0XHRbY3VzdG9tQ3JpdGVyaWFdPVwiZmlsdGVyc1BhcmFtcyQgfCBhc3luY1wiXHJcblx0XHQ+XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSBzZWFyY2hUYWJsZVRlbXBsYXRlPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fZGV0YWlsc19faGVhZGVyIGZsZXggZ2FwLTJcIj5cclxuXHRcdFx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XHJcblx0XHRcdFx0XHRcdDxtYXQtaWNvbj4gZmlsdGVyX2FsdDwvbWF0LWljb24+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlRGV0YWlsc1BhbmVsKClcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1pY29uPiBjbG9zZTwvbWF0LWljb24+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8aDM+XHJcblx0XHRcdFx0XHR7eyByZXBvcnQubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHQ8L2gzPlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PC9hcHAtbmRmLXRhYmxlPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYXhHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FB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Qzs7aUhBM1FXLG1CQUFtQjtxR0FBbkIsbUJBQW1CLGlXQUNwQixvQkFBb0IsdUVDbkRoQyw4NEZBMkVBLDZrTUQzQmEsQ0FBQyxjQUFjLENBQUM7NEZBRWhCLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSxhQUFhO3dCQUNwQixPQUFPLEVBQUUsV0FBVztxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1Qjs4WEFFaUMsY0FBYztzQkFBOUMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBNEN0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlPLE1BQU07c0JBQWxCLEtBQUs7Z0JBY0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQge1xyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0Tmdab25lLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0LCBGbHVpZEhlaWdodERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZm9ya0pvaW4sIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE5kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vdGFibGVzJztcclxuaW1wb3J0IHtcclxuXHRBZ2dyZWdhdGlvblJlc3BvbnNlLFxyXG5cdEZpZWxkQ29uZmlnTW9kZWwsXHJcblx0RmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdEZpbHRlcnNNYXBwZXJTZXJ2aWNlLFxyXG5cdEZvcm1RdWVyeU1vZGVsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWZpbHRlcnMnO1xyXG5pbXBvcnQgeyBDcml0ZXJpYU1vZGVsLCBOZGZSZXBvcnRzQ29uZmlnLCBSZXBvcnRDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENoYXJ0TWFuYWdlclNlcnZpY2UsIE5kZlJlcG9ydHNTZXJ2aWNlLCBSZXBvcnRzU3RhdGVTZXJ2aWNlLCBSZXBvcnRUcmFuc2Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBtYXBUb05kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgTkRGX0VESVRPUl9UWVBFIH0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWNvbmZpZy1lZGl0b3IvY29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCBjb25zdCBzbGlkZUFuaW1hdGlvbiA9IHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcblx0c3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCh2YXIoLS1uZGYtcmVwb3J0cy1kZXRhaWxzLXRyYW5zbGF0ZVgsIC0xMDAlKSknIH0pKSxcclxuXHRzdGF0ZSgnb3BlbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxyXG5cdHRyYW5zaXRpb24oJ2Nsb3NlZCA8PT4gb3BlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpXHJcbl0pO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtbmRmLXJlcG9ydHMnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9uZGYtcmVwb3J0cy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbmRmLXJlcG9ydHMuY29tcG9uZW50LnNjc3MnXSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ25kZi1yZXBvcnRzJyxcclxuXHRcdCdbZGlyXSc6ICdkaXJlY3Rpb24nXHJcblx0fSxcclxuXHRhbmltYXRpb25zOiBbc2xpZGVBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZSZXBvcnRzQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveVN1YmplY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0QFZpZXdDaGlsZChGbHVpZEhlaWdodERpcmVjdGl2ZSkgZmx1aWREaXJlY3RpdmU6IEZsdWlkSGVpZ2h0RGlyZWN0aXZlO1xyXG5cdF9pc0hlaWdodFVwZGF0ZWQgPSBmYWxzZTtcclxuXHRkaXJlY3Rpb246IERpcmVjdGlvbiA9ICdydGwnO1xyXG5cdGlzUGFuZWxPcGVuZWQgPSBmYWxzZTtcclxuXHRpc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuXHRyZXBvcnRzRGF0YSQ6IE9ic2VydmFibGU8YW55PjtcclxuXHRpc0V4cGFuZGVkID0gZmFsc2U7XHJcblxyXG5cdGFjdGl2ZVF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcblx0cHJpdmF0ZSByZWFkb25seSBfYWN0aXZlRmlsdGVyc1F1ZXJ5U3ViID0gbmV3IFJlcGxheVN1YmplY3Q8Rm9ybVF1ZXJ5TW9kZWw+KCk7XHJcblx0cmVhZG9ubHkgYWN0aXZlRmlsdGVyc1F1ZXJ5JCA9IHRoaXMuX2FjdGl2ZUZpbHRlcnNRdWVyeVN1Yi5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfY29uZmlnU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TmRmUmVwb3J0c0NvbmZpZz4obnVsbCk7XHJcblx0cmVhZG9ubHkgcmVwb3J0Q29uZmlnJCA9IHRoaXMuX2NvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENyaXRlcmlhTW9kZWw+KG51bGwpO1xyXG5cdHJlYWRvbmx5IGZpbHRlcnNQYXJhbXMkID0gdGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSBfcmVwb3J0RGV0YWlsc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcclxuXHRcdGxhYmVsPzogc3RyaW5nO1xyXG5cdFx0Y29uZmlnOiBOZGZUYWJsZUNvbmZpZztcclxuXHR9PihudWxsKTtcclxuXHRyZXBvcnREZXRhaWxzJCA9IHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRhZ2dyZWdhdGlvbnM6IFJlY29yZDxzdHJpbmcsIEFnZ3JlZ2F0aW9uUmVzcG9uc2U+O1xyXG5cclxuXHRnZXQgc2hvd0RldGFpbHMoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gISF0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0aXNEZXRhaWxzT3BlbmVkID0gZmFsc2U7XHJcblxyXG5cdGdldCBjb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGZpbHRlcnNDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LmZpbHRlcnM7XHJcblx0fVxyXG5cclxuXHRnZXQgcmVwb3J0Q29uZmlnKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29uZmlnPy5yZXBvcnRzO1xyXG5cdH1cclxuXHJcblx0QElucHV0KCkganNvbkVkaXRvckVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSByZXBvcnRzS2V5OiBzdHJpbmc7XHJcblx0ZWRpdG9yVHlwZSA9IE5ERl9FRElUT1JfVFlQRS5SRVBPUlRTO1xyXG5cclxuXHRASW5wdXQoKSBuYXZpZ2F0ZVJvdXRlOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHRwcml2YXRlIF9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHJcblx0QElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdGNvbnN0IHZhbHVlID0gXy5jbG9uZURlZXAoY29uZmlnKTtcclxuXHRcdHRoaXMuX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlKTtcclxuXHRcdHRoaXMuX2NvbmZpZ1N1YmplY3QubmV4dCh2YWx1ZSk7XHJcblx0XHRpZiAodmFsdWU/LmFjdGl2ZVF1ZXJ5KSB7XHJcblx0XHRcdHRoaXMuX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSk7XHJcblxyXG5cdFx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQodGhpcy5fcHJlcGFyZU1hcHBlZFF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0fVxyXG5cclxuXHRAT3V0cHV0KCkgb25RdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0dHJhY2tCeUZuID0gKF86IG51bWJlciwgcmVwb3J0OiBSZXBvcnRDb25maWdNb2RlbCkgPT4ge1xyXG5cdFx0cmV0dXJuIHJlcG9ydC5pZDtcclxuXHR9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9maWx0ZXJzTWFwcGVyOiBGaWx0ZXJzTWFwcGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX25kZlJlcG9ydHNTZXJ2aWNlOiBOZGZSZXBvcnRzU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2NoYXJ0SGVscGVyU2VydmljZTogQ2hhcnRNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3RyYW5zZm9ybVNlcnZpY2U6IFJlcG9ydFRyYW5zZm9ybVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cdFx0cHJpdmF0ZSBfZmlsdGVyUXVlcnlTZXJ2aWNlOiBGaWx0ZXJRdWVyeVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9zdGF0ZVNlcnZpY2U6IFJlcG9ydHNTdGF0ZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByaXZhdGUgX25nWm9uZTogTmdab25lXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5fdHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdHRoaXMuZGlyZWN0aW9uID0gcmVzLmxhbmcgPT09ICdhcicgPyAncnRsJyA6ICdsdHInO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMucmVwb3J0c0RhdGEkID0gdGhpcy5fcHJlcGFyZVJlcG9ydHMoKTtcclxuXHRcdHRoaXMuX2hhbmRsZUtleWJvYXJkRXZlbnQoKTtcclxuXHR9XHJcblxyXG5cdG9uTmF2aWdhdGUoZGF0YTogeyByZXBvcnQ6IFJlY29yZDxzdHJpbmcsIGFueT47IGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gfSkge1xyXG5cdFx0Y29uc3QgcmVwb3J0ID0gZGF0YT8ucmVwb3J0O1xyXG5cdFx0Y29uc3QgX2N1c3RvbVJvdXRlID0gcmVwb3J0Lm5hdmlnYXRlPy5yb3V0ZSB8fCBbXTtcclxuXHRcdC8vIGxldCByb3V0ZSA9IFtSTVNfQkFTRS5yZXBsYWNlKC9cXC8kLywgJycpXTtcclxuXHRcdGxldCByb3V0ZSA9IHRoaXMubmF2aWdhdGVSb3V0ZTtcclxuXHRcdGlmICghIV9jdXN0b21Sb3V0ZS5sZW5ndGgpIHtcclxuXHRcdFx0cm91dGUgPSBbLi4ucm91dGUsIC4uLl9jdXN0b21Sb3V0ZV07XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcXVlcnlQYXJhbXMgPSB7fTtcclxuXHRcdGlmIChyZXBvcnQubmF2aWdhdGU/LmluY2x1ZGVQYXJhbXMgPz8gdHJ1ZSkge1xyXG5cdFx0XHRpZiAoT2JqZWN0LmtleXModGhpcy5hY3RpdmVRdWVyeSB8fCB7fSkubGVuZ3RoKSB7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHRoaXMuX2ZpbHRlclF1ZXJ5U2VydmljZS5lbmNvZGVRdWVyeSh0aGlzLmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0XHRpZiAoZGF0YSkge1xyXG5cdFx0XHRcdFx0cXVlcnlQYXJhbXNbJ2ZpbHRlcnMnXSA9IGRhdGE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlKHJvdXRlLCB7IHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyB9KS50aGVuKCgpID0+IHt9KTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZVBhbmVsKCkge1xyXG5cdFx0dGhpcy5pc1BhbmVsT3BlbmVkID0gIXRoaXMuaXNQYW5lbE9wZW5lZDtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLl9jaGFydEhlbHBlclNlcnZpY2UucmVzaXplQ2hhcnRzKCk7XHJcblx0XHR9LCA1MDApO1xyXG5cdH1cclxuXHJcblx0ZmlsdGVyQ2hhbmdlZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55Pikge1xyXG5cdFx0aWYgKF8uaXNFcXVhbCh0aGlzLmFjdGl2ZVF1ZXJ5LCBjcml0ZXJpYSkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5vblF1ZXJ5Q2hhbmdlLmVtaXQoY3JpdGVyaWEpO1xyXG5cdFx0dGhpcy5fdXBkYXRlQWN0aXZlUXVlcnkoY3JpdGVyaWEpO1xyXG5cdFx0Y29uc3QgX2RhdGUgPSB0aGlzLl9wcmVwYXJlTWFwcGVkUXVlcnkoY3JpdGVyaWEsIHRoaXMuZmlsdGVyc0NvbmZpZy5tb2RlKTtcclxuXHRcdHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QubmV4dChfZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRvbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuX3N0YXRlU2VydmljZS5vbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmcpO1xyXG5cclxuXHRcdGlmIChpc1Njcm9sbGluZyAmJiAhdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IHRydWU7XHJcblx0XHRcdHRoaXMuZmx1aWREaXJlY3RpdmUuc2NoZWR1bGVTZXRIZWlnaHQoMTAwKTtcclxuXHRcdH0gZWxzZSBpZiAoIWlzU2Nyb2xsaW5nICYmIHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCkge1xyXG5cdFx0XHR0aGlzLl9pc0hlaWdodFVwZGF0ZWQgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b3BlblJlcG9ydERldGFpbHMoXzogQ3JpdGVyaWFNb2RlbCwgckNvbmZpZzogUmVwb3J0Q29uZmlnTW9kZWwpIHtcclxuXHRcdHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0Lm5leHQoe1xyXG5cdFx0XHRjb25maWc6IG1hcFRvTmRmVGFibGVDb25maWcodGhpcy5jb25maWcsIHJDb25maWcuZGV0YWlscyksXHJcblx0XHRcdGxhYmVsOiByQ29uZmlnLmxhYmVsXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGNsb3NlRGV0YWlsc1BhbmVsKCkge1xyXG5cdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcblxyXG5cdG9uRGV0YWlsc0FuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuXHRcdHRoaXMuaXNEZXRhaWxzT3BlbmVkID0gZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLmRlc3Ryb3lBbGwoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55PiwgZmllbGRzOiBGaWVsZENvbmZpZ01vZGVsW10gPSB0aGlzLmZpbHRlcnNDb25maWcuZmllbGRzKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZmlsdGVyc01hcHBlci5wcmVwYXJlUGF5bG9hZChmaWVsZHMsIGNyaXRlcmlhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5lbnRyaWVzKGNyaXRlcmlhKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdGFjY1trZXldID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiB2YWx1ZTtcclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIHt9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVSZXBvcnRzKCkge1xyXG5cdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0cmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG5cdFx0XHR0aGlzLmZpbHRlcnNQYXJhbXMkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IF8uaXNFcXVhbChhLCBiKSkpLFxyXG5cdFx0XHR0aGlzLnJlcG9ydENvbmZpZyRcclxuXHRcdF0pLnBpcGUoXHJcblx0XHRcdHRhcCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKFtjcml0ZXJpYSwgY29uZmlnXSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHJlcXVlc3QgPSBjb25maWc/LnJlcXVlc3Q7XHJcblx0XHRcdFx0aWYgKCFyZXF1ZXN0KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBfcGF5bG9hZCA9IGNyaXRlcmlhO1xyXG5cdFx0XHRcdGlmICghY3JpdGVyaWEgJiYgISFjb25maWcuYWN0aXZlUXVlcnkpIHtcclxuXHRcdFx0XHRcdF9wYXlsb2FkID0gdGhpcy5wcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNvbmZpZy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBkYXRhJCA9IHRoaXMuX25kZlJlcG9ydHNTZXJ2aWNlLmdldERhdGEocmVxdWVzdCwgX3BheWxvYWQpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHJlcG9ydHM6IEFwaVJlc3BvbnNlTW9kZWwpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVNlcnZpY2UucHJlcGFyZURhdGEocmVwb3J0cywgY29uZmlnKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gZm9ya0pvaW4oW29mKGNvbmZpZyksIGRhdGEkXSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRtYXAoKFtjb25maWcsIHJlc3BvbnNlXSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3ByZXBhcmVBZ2dyZWdhdGlvbnMocmVzcG9uc2U/LmFnZ3JlZ2F0aW9ucyk7XHJcblx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdGNvbmZpZyxcclxuXHRcdFx0XHRcdHJlc3BvbnNlXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kbGVLZXlib2FyZEV2ZW50KCkge1xyXG5cdFx0dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuXHRcdFx0ZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHRmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMuc2hvd0RldGFpbHMpLFxyXG5cdFx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZURldGFpbHNQYW5lbCgpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlTWFwcGVkUXVlcnkoY3JpdGVyaWE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGU6ICdwYXlsb2FkJyB8ICdwYXJhbXMnKSB7XHJcblx0XHRyZXR1cm4gbW9kZSA9PSAncGF5bG9hZCdcclxuXHRcdFx0PyB0aGlzLnByZXBhcmVDcml0ZXJpYVBheWxvYWQoY3JpdGVyaWEpXHJcblx0XHRcdDoge1xyXG5cdFx0XHRcdFx0cGFyYW1zOiB0aGlzLl9zdHJpbmdpZnlWYWx1ZXMoY3JpdGVyaWEpXHJcblx0XHRcdFx0fTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHR0aGlzLmFjdGl2ZVF1ZXJ5ID0gcXVlcnk7XHJcblx0XHR0aGlzLl9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIubmV4dCh7XHJcblx0XHRcdHF1ZXJ5LFxyXG5cdFx0XHRlbWl0RXZlbnQ6IGZhbHNlXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVBZ2dyZWdhdGlvbnMoYWdncmVnYXRpb25zOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgJiYgdGhpcy5hZ2dyZWdhdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5hZ2dyZWdhdGlvbnMgPSBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmFnZ3JlZ2F0aW9ucyAmJiB0aGlzLmNvbmZpZy5maWx0ZXJzPy5yZWxvYWRTdHJhdGVneSA9PT0gJ25ldmVyJykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5hZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbnM7XHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlOiBOZGZSZXBvcnRzQ29uZmlnKSB7XHJcblx0XHRjb25zdCB7IGFjdGl2ZVF1ZXJ5LCAuLi5jb25maWcgfSA9IHZhbHVlO1xyXG5cdFx0Y29uc3QgeyBhY3RpdmVRdWVyeTogYXEsIC4uLmN1cnJlbnRDb25maWcgfSA9IHRoaXMuX2NvbmZpZ1N1YmplY3QuZ2V0VmFsdWUoKSB8fCB7fTtcclxuXHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSAhXy5pc0VxdWFsKGN1cnJlbnRDb25maWcsIGNvbmZpZyk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXZcclxuXHQqbmdJZj1cInJlcG9ydHNEYXRhJCB8IGFzeW5jIGFzIHJlcG9ydHNcIlxyXG5cdFtjbGFzcy5wYW5lbC1vcGVuZWRdPVwiaXNQYW5lbE9wZW5lZCAmJiBmaWx0ZXJzQ29uZmlnXCJcclxuXHRbZGlyXT1cImRpcmVjdGlvblwiXHJcblx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGFpbmVyXCJcclxuXHRuZGZGbHVpZEhlaWdodFxyXG4+XHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19wYW5lbFwiICpuZ0lmPVwiISFmaWx0ZXJzQ29uZmlnPy5maWVsZHM/Lmxlbmd0aFwiPlxyXG5cdFx0PGFwcC1maWx0ZXJzLXBhbmVsXHJcblx0XHRcdFtmaWVsZHNdPVwiZmlsdGVyc0NvbmZpZz8uZmllbGRzXCJcclxuXHRcdFx0W2FnZ3JlZ2F0aW9uc109XCJhZ2dyZWdhdGlvbnNcIlxyXG5cdFx0XHQoZmlsdGVyQ2hhbmdlZCk9XCJmaWx0ZXJDaGFuZ2VkKCRldmVudClcIlxyXG5cdFx0XHRbYWN0aXZlUXVlcnldPVwiYWN0aXZlRmlsdGVyc1F1ZXJ5JCB8IGFzeW5jXCJcclxuXHRcdFx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fZmlsdGVyc1wiXHJcblx0XHQ+PC9hcHAtZmlsdGVycy1wYW5lbD5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19jb250ZW50IHAtNCBwdC0wXCIgKHNjcm9sbGVkKT1cIm9uQ29udGVudFNjcm9sbCgkZXZlbnQpXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX2hlYWRlciBmbGV4IHB0LTRcIj5cclxuXHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cclxuXHRcdFx0XHQ8bWF0LWljb24+IGZpbHRlcl9hbHQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PGFwcC1lZGl0b3ItYnV0dG9uXHJcblx0XHRcdFx0Km5nSWY9XCJqc29uRWRpdG9yRW5hYmxlZCAmJiByZXBvcnRzS2V5XCJcclxuXHRcdFx0XHRba2V5XT1cInJlcG9ydHNLZXlcIlxyXG5cdFx0XHRcdFt0eXBlXT1cImVkaXRvclR5cGVcIlxyXG5cdFx0XHQ+PC9hcHAtZWRpdG9yLWJ1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG1hdC1zcGlubmVyICpuZ0lmPVwiaXNMb2FkaW5nUmVzdWx0XCIgY2xhc3M9XCJtdC01IG14LWF1dG9cIiBbZGlhbWV0ZXJdPVwiNDhcIj48L21hdC1zcGlubmVyPlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJyZXBvcnRzLWdyaWRcIiAqbmdJZj1cIiFpc0xvYWRpbmdSZXN1bHRcIj5cclxuXHRcdFx0PGFwcC1uZGYtcmVwb3J0XHJcblx0XHRcdFx0Km5nRm9yPVwibGV0IGNvbmZpZyBvZiByZXBvcnRDb25maWcuaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcblx0XHRcdFx0W2NvbmZpZ109XCJjb25maWdcIlxyXG5cdFx0XHRcdFtkYXRhXT1cInJlcG9ydHM/LnJlc3BvbnNlXCJcclxuXHRcdFx0XHRbY3JpdGVyaWFdPVwiZmlsdGVyc1BhcmFtcyQgfCBhc3luY1wiXHJcblx0XHRcdFx0W2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxyXG5cdFx0XHRcdFtzdHlsZS4tLWNvbC1zdGFydF09XCJjb25maWcubGF5b3V0Py5zdGFydENvbHVtbiB8fCAnYXV0bydcIlxyXG5cclxuICAgICAgICBbY2xhc3Mud2lkZV09XCJjb25maWcubGF5b3V0Py53aWR0aCA+PSA2XCJcclxuICAgICAgICBbYXR0ci5kYXRhLXdpZHRoXT1cImNvbmZpZy5sYXlvdXQ/LndpZHRoIHx8IDRcIlxyXG5cdFx0XHRcdGNsYXNzPVwicmVwb3J0cy1ncmlkX19pdGVtIHt7IGNvbmZpZz8ubGF5b3V0Py5zdHlsZUNsYXNzIH19IFwiXHJcblx0XHRcdFx0KG9uTmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcclxuXHRcdFx0XHQob25PcGVuKT1cIm9wZW5SZXBvcnREZXRhaWxzKCRldmVudCwgY29uZmlnKVwiXHJcblx0XHRcdD48L2FwcC1uZGYtcmVwb3J0PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdlxyXG5cdFx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fZGV0YWlsc1wiXHJcblx0XHRbY2xhc3Mub3BlbmVkXT1cInNob3dEZXRhaWxzXCJcclxuXHRcdFtAc2xpZGVJbk91dF09XCJzaG93RGV0YWlscyA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcclxuXHRcdChAc2xpZGVJbk91dC5kb25lKT1cIm9uRGV0YWlsc0FuaW1hdGlvbkVuZCgkZXZlbnQpXCJcclxuXHQ+XHJcblx0XHQ8YXBwLW5kZi10YWJsZVxyXG5cdFx0XHQqbmdJZj1cInJlcG9ydERldGFpbHMkIHwgYXN5bmMgYXMgcmVwb3J0XCJcclxuXHRcdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFx0W2FjdGl2ZVF1ZXJ5XT1cImFjdGl2ZUZpbHRlcnNRdWVyeSQgfCBhc3luY1wiXHJcblx0XHRcdFtjdXN0b21Dcml0ZXJpYV09XCJmaWx0ZXJzUGFyYW1zJCB8IGFzeW5jXCJcclxuXHRcdD5cclxuXHRcdFx0PG5nLXRlbXBsYXRlIHNlYXJjaFRhYmxlVGVtcGxhdGU+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19kZXRhaWxzX19oZWFkZXIgZmxleCBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1pY29uPiBmaWx0ZXJfYWx0PC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VEZXRhaWxzUGFuZWwoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24+IGNsb3NlPC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxoMz5cclxuXHRcdFx0XHRcdHt7IHJlcG9ydC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdDwvaDM+XHJcblx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8L2FwcC1uZGYtdGFibGU+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9tb2RlbHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUkVQT1JUX01PREUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBSZXBvcnREZXRhaWxzQ29uZmlnIH0gZnJvbSAnLi9kZXRhaWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIFJlcG9ydE1vZGUgPSAodHlwZW9mIFJFUE9SVF9NT0RFKVtrZXlvZiB0eXBlb2YgUkVQT1JUX01PREVdO1xyXG5cclxuZXhwb3J0IHR5cGUgR3JpZFdpZHRoID0gMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5IHwgMTAgfCAxMSB8IDEyO1xyXG5cclxuZXhwb3J0IHR5cGUgQmFzZVJlcG9ydENvbmZpZyA9IHtcclxuXHRpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG5cdGxhYmVsOiBzdHJpbmc7XHJcblx0bW9kZTogUmVwb3J0TW9kZTtcclxuXHRuYXZpZ2F0ZT86IHtcclxuXHRcdGVuYWJsZWQ/OiBib29sZWFuO1xyXG5cdFx0cm91dGU6IGFueVtdO1xyXG5cdFx0aW5jbHVkZVBhcmFtcz86IGJvb2xlYW47XHJcblx0fTtcclxuXHRkZXRhaWxzPzogUmVwb3J0RGV0YWlsc0NvbmZpZztcclxuXHRsYXlvdXQ/OiB7XHJcblx0XHR3aWR0aD86IEdyaWRXaWR0aDtcclxuXHRcdHN0YXJ0Q29sdW1uPzogMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5IHwgMTAgfCAxMTtcclxuXHRcdHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0fTtcclxufTtcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL21vZGVscy9keW5hbWljLWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0RGF0YXNldCwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBCYXNlUmVwb3J0Q29uZmlnIH0gZnJvbSAnLi9iYXNlJztcclxuaW1wb3J0IHsgR3JhcGhEaWFsb2dDb25maWcgfSBmcm9tICcuL2dyYXBoJztcclxuaW1wb3J0IHsgTmRmUmVwb3J0c1JlcXVlc3QgfSBmcm9tICcuL3JlcXVlc3QnO1xyXG5pbXBvcnQgeyBSZXBvcnREYXRhU291cmNlIH0gZnJvbSAnLi9yZXBvcnQtZGF0YS1zb3VyY2UnO1xyXG5pbXBvcnQgeyBUaW1lR3JvdXBzIH0gZnJvbSAnLi9jb21tb24nO1xyXG5pbXBvcnQgeyBDdXN0b21DaGFydE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jaGFydHMnO1xyXG5pbXBvcnQgeyBFdmFsdWF0ZWRTdHJpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29uZmlndXJhdGlvbiBmb3IgY2hhcnQgcmVwb3J0cyB0aGF0IGluY2x1ZGUgZGlhbG9nIG9wdGlvbnNcclxuICovXHJcbnR5cGUgUmVwb3J0Q2hhcnRDb25maWcgPSBCYXNlUmVwb3J0Q29uZmlnICYgR3JhcGhEaWFsb2dDb25maWc7XHJcblxyXG4vKipcclxuICogRGVmaW5pdGlvbiBvZiBkeW5hbWljIGxpbmUgY2hhcnQgb3B0aW9ucyB3aXRoIHBsdWdpbnMgYXMgc3RyaW5ncyAodXNlZCBpbiBjb25maWd1cmF0aW9uKVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRHluYW1pY0xpbmVDaGFydE9wdGlvbnNEZWZpbml0aW9uID0ge1xyXG5cdHR5cGU6ICdsaW5lJztcclxuXHRvcHRpb25zPzogQ3VzdG9tQ2hhcnRPcHRpb25zPCdsaW5lJz47XHJcblx0ZGF0YXNldHM/OiBPbWl0PENoYXJ0RGF0YXNldDwnbGluZSc+LCAnZGF0YSc+W107XHJcblx0cGx1Z2lucz86IHN0cmluZ1tdO1xyXG5cdGNvbG9ycz86IHN0cmluZ1tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIER5bmFtaWMgbGluZSBjaGFydCBvcHRpb25zIHdpdGggcGx1Z2lucyBhcyBQbHVnaW4gb2JqZWN0cyAodXNlZCBpbiBpbXBsZW1lbnRhdGlvbilcclxuICovXHJcbmV4cG9ydCB0eXBlIER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zID0gT21pdDxEeW5hbWljTGluZUNoYXJ0T3B0aW9uc0RlZmluaXRpb24sICdwbHVnaW5zJz4gJiB7XHJcblx0cGx1Z2lucz86IFBsdWdpbjwnbGluZSc+W107XHJcbn07XHJcblxyXG4vKipcclxuICogQ29tcGxldGUgZGVmaW5pdGlvbiBvZiBhIGR5bmFtaWMgbGluZSBjaGFydCAodXNlZCBpbiBjb25maWd1cmF0aW9uKVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRHluYW1pY0xpbmVDaGFydERlZmluaXRpb24gPSBSZXBvcnRDaGFydENvbmZpZyAmIHtcclxuXHRtb2RlOiAnZHluYW1pY0xpbmUnO1xyXG5cdHByZWZpeD86IHN0cmluZztcclxuXHRjb2xvcnM/OiBzdHJpbmdbXTtcclxuXHRwcmludD86IGJvb2xlYW47XHJcblx0cmVxdWVzdDogTmRmUmVwb3J0c1JlcXVlc3QgJiB7XHJcblx0XHRhY3Rpb25zPzoge1xyXG5cdFx0XHRiZWZvcmVTdWJtaXQ/OiBFdmFsdWF0ZWRTdHJpbmc8J3BheWxvYWQnPjtcclxuXHRcdH07XHJcblx0fTtcclxuXHRkYXRhc291cmNlOiAoeyBhZ2dyZWdhdGlvbjogc3RyaW5nIH0gJiBSZXBvcnREYXRhU291cmNlKVtdO1xyXG5cdGdyb3VwPzoge1xyXG5cdFx0YWN0aXZlOiBib29sZWFuO1xyXG5cdFx0c2VsZWN0ZWQ/OiBUaW1lR3JvdXBzO1xyXG5cdH07XHJcblx0Y2hhcnQ6IER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zRGVmaW5pdGlvbjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb21wbGV0ZSBkeW5hbWljIGxpbmUgY2hhcnQgd2l0aCBwcm9jZXNzZWQgcGx1Z2lucyAodXNlZCBpbiBpbXBsZW1lbnRhdGlvbilcclxuICovXHJcbmV4cG9ydCB0eXBlIER5bmFtaWNMaW5lQ2hhcnQgPSBPbWl0PER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCAnY2hhcnQnPiAmIHtcclxuXHRjaGFydDogRHluYW1pY0xpbmVDaGFydE9wdGlvbnM7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL21vZGVscy9uZGYtcmVwb3J0cy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9uZGYtZmlsdGVycyc7XHJcbmltcG9ydCB7IFJlcG9ydERldGFpbHNDb25maWcgfSBmcm9tICcuL2RldGFpbHMnO1xyXG5pbXBvcnQgeyBOZGZSZXBvcnRzUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdCc7XHJcbmltcG9ydCB7IFJlcG9ydERlZmluaXRpb25Nb2RlbCB9IGZyb20gJy4vcmVwb3J0LWNvbmZpZyc7XHJcblxyXG50eXBlIE5kZlJlcG9ydHNGaWx0ZXJzID0ge1xyXG5cdG1vZGU6ICdwYXlsb2FkJyB8ICdwYXJhbXMnO1xyXG5cdHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0ZmllbGRzOiBGaWVsZENvbmZpZ01vZGVsW107XHJcblx0dmlzaWJsZT86IGJvb2xlYW47XHJcblx0dG9nZ2xlUGFuZWw/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL21vZGVscy9uZGYtcmVwb3J0cy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9uZGYtZmlsdGVycyc7XHJcbmltcG9ydCB7IFJlcG9ydERldGFpbHNDb25maWcgfSBmcm9tICcuL2RldGFpbHMnO1xyXG5pbXBvcnQgeyBOZGZSZXBvcnRzUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdCc7XHJcbmltcG9ydCB7IFJlcG9ydERlZmluaXRpb25Nb2RlbCB9IGZyb20gJy4vcmVwb3J0LWNvbmZpZyc7XHJcblxyXG50eXBlIE5kZlJlcG9ydHNGaWx0ZXJzID0ge1xyXG5cdG1vZGU6ICdwYXlsb2FkJyB8ICdwYXJhbXMnO1xyXG5cdHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0ZmllbGRzOiBGaWVsZENvbmZpZ01vZGVsW107XHJcblx0dmlzaWJsZT86IGJvb2xlYW47XHJcblx0dG9nZ2xlUGFuZWw/OiBib29sZWFuO1xyXG5cdHJlbG9hZFN0cmF0ZWd5PzogJ2Fsd2F5cycgfCAnbmV2ZXInO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTmRmUmVwb3J0c0NvbmZpZyA9IHtcclxuXHRyZXF1ZXN0OiBOZGZSZXBvcnRzUmVxdWVzdDtcclxuXHRmaWx0ZXJzPzogTmRmUmVwb3J0c0ZpbHRlcnM7XHJcblx0cmVwb3J0czoge1xyXG5cdFx0ZGV0YWlscz86IFJlcG9ydERldGFpbHNDb25maWc7XHJcblx0XHRpdGVtczogUmVwb3J0RGVmaW5pdGlvbk1vZGVsW107XHJcblx0fTtcclxuXHRhY3RpdmVRdWVyeT86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9tb2RlbHMvcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIE5kZlJlcG9ydHNSZXF1ZXN0ID0ge1xyXG5cdHBhZ2VQcm92aWRlcjogc3RyaW5nO1xyXG5cdGN1c3RvbVVybD86IHsgdXJsOiBzdHJpbmc7IG1ldGhvZDogJ3Bvc3QnIHwgJ2dldCcgfTtcclxuXHRwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHRyYW5zZm9ybWVyPzogc3RyaW5nO1xyXG59O1xyXG4iXX0=
|
|
@@ -12,7 +12,7 @@ export class BaseChartBuilderService {
|
|
|
12
12
|
this._dataTransformers = _dataTransformers;
|
|
13
13
|
this._translatePrefix = '';
|
|
14
14
|
}
|
|
15
|
-
prepareChart(response, config) {
|
|
15
|
+
prepareChart(response, config, filterCriteria) {
|
|
16
16
|
var _a;
|
|
17
17
|
this._translatePrefix = (_a = config === null || config === void 0 ? void 0 : config.prefix) !== null && _a !== void 0 ? _a : '';
|
|
18
18
|
if (!config.datasource) {
|
|
@@ -23,7 +23,7 @@ export class BaseChartBuilderService {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
return of(config.datasource).pipe(switchMap((sources) => {
|
|
26
|
-
const observables$ = sources.map((src) => this._prepareDataSource(src, response));
|
|
26
|
+
const observables$ = sources.map((src) => this._prepareDataSource(src, response, filterCriteria));
|
|
27
27
|
return forkJoin(observables$).pipe(map((results) => {
|
|
28
28
|
return {
|
|
29
29
|
data: this._prepareChartData(results, config),
|
|
@@ -38,12 +38,12 @@ export class BaseChartBuilderService {
|
|
|
38
38
|
}));
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
|
-
_prepareDataSource(sourceConfig, response) {
|
|
41
|
+
_prepareDataSource(sourceConfig, response, filterCriteria) {
|
|
42
42
|
const buckets = _.get(response, sourceConfig.propertyPath) || [];
|
|
43
43
|
return of(buckets).pipe(map((rawData) => {
|
|
44
44
|
if (this._dataTransformers.hasGraphTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer)) {
|
|
45
45
|
const transformer = this._dataTransformers.getGraphTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer);
|
|
46
|
-
const adaptedData = transformer(rawData, response);
|
|
46
|
+
const adaptedData = transformer(rawData, response, filterCriteria, this._translateService.currentLang);
|
|
47
47
|
if (adaptedData) {
|
|
48
48
|
return adaptedData.map((row) => (Object.assign(Object.assign({}, row), { key: this._getLabel(row, sourceConfig) })));
|
|
49
49
|
}
|
|
@@ -100,4 +100,4 @@ BaseChartBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
100
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseChartBuilderService, decorators: [{
|
|
101
101
|
type: Injectable
|
|
102
102
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ChartDataTransformers }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvc2VydmljZXMvYmFzZS1jaGFydC1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFXM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBSXRELE1BQU0sT0FBTyx1QkFBdUI7SUFHbkMsWUFDb0IsaUJBQW1DLEVBQ3JDLGlCQUF3QztRQUR0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUI7UUFKaEQscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0lBS3JDLENBQUM7SUFFSixZQUFZLENBQ1gsUUFBNkIsRUFDN0IsTUFBZTs7UUFFZixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxtQ0FBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxDQUFDO2dCQUNULElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1NBQ0g7UUFFRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNoQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFbEYsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDZixPQUFPO29CQUNOLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztvQkFDN0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLO2lCQUNwQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3JELE9BQU8sRUFBRSxDQUFDO29CQUNULElBQUksRUFBRSxJQUFJO29CQUNWLE1BQU0sRUFBRSxJQUFJO2lCQUNaLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQztJQUVTLGtCQUFrQixDQUFDLFlBQThCLEVBQUUsUUFBNkI7UUFDekYsTUFBTSxPQUFPLEdBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBdUIsSUFBSSxFQUFFLENBQUM7UUFDeEYsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxXQUFXLENBQUMsRUFBRTtnQkFDMUUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxXQUFXLENBQUMsQ0FBQztnQkFDMUYsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxXQUFXLEVBQUU7b0JBQ2hCLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsaUNBQzVCLEdBQUcsS0FDTixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLElBQ3JDLENBQUMsQ0FBQztpQkFDSjthQUNEO1lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDO2dCQUN0QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDO2FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7SUFFUyxTQUFTLENBQUMsSUFBcUIsRUFBRSxNQUF3Qjs7UUFDbEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFVBQVUsTUFBSSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLDBDQUFHLFdBQVcsQ0FBQyxDQUFBLEVBQUU7WUFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxLQUFLLEdBQUcsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN2RSxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFUyxTQUFTLENBQUMsSUFBcUIsRUFBRSxNQUF3QjtRQUNsRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxPQUE0QixFQUFFLE1BQWU7UUFDeEUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUF5QixFQUFFLEtBQWEsRUFBRSxFQUFFOztZQUMxRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBNEI7Z0JBQ3hDLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxjQUFjLENBQUMsOEJBQThCLEVBQUUsb0JBQW9CLENBQVc7Z0JBQzNGLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakMsQ0FBQztZQUVGLElBQUksTUFBQSxNQUFNLENBQUMsS0FBSywwQ0FBRSxNQUFNLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxlQUFlLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSywwQ0FBRSxNQUFNLENBQUM7YUFDL0M7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxRQUFRLDBDQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzNDLElBQUksU0FBUyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDL0MsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLGtDQUM1QixTQUFTLEtBQ1osS0FBSyxFQUFFLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDOUUsQ0FBQzthQUNIO1lBRUQsT0FBTyxPQUFPLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ04sTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSCxDQUFDOztxSEEvR1csdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2hhcnREYXRhc2V0LCBDaGFydFR5cGUgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuXHREeW5hbWljTGluZUNoYXJ0LFxyXG5cdER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zLFxyXG5cdEdyYXBoQ2hhcnQsXHJcblx0R3JhcGhDaGFydE9wdGlvbnMsXHJcblx0UmVwb3J0RGF0YVNvdXJjZSxcclxuXHRSZXBvcnRSZXNwb25zZU1vZGVsXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU3RhdGlzdGljQnVja2V0IH0gZnJvbSAnLi4vLi4vY2hhcnRzJztcclxuaW1wb3J0IHsgZ2V0Q3NzVmFyaWFibGUgfSBmcm9tICcuLi8uLi9jaGFydHMvdXRpbGl0eSc7XHJcbmltcG9ydCB7IENoYXJ0RGF0YVRyYW5zZm9ybWVycyB9IGZyb20gJy4vY2hhcnQtZGF0YS10cmFuc2Zvcm1lcnMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ2hhcnRCdWlsZGVyU2VydmljZTxUQ29uZmlnIGV4dGVuZHMgRHluYW1pY0xpbmVDaGFydCB8IEdyYXBoQ2hhcnQgPSBHcmFwaENoYXJ0PiB7XHJcblx0cHJvdGVjdGVkIF90cmFuc2xhdGVQcmVmaXg6IHN0cmluZyA9ICcnO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCByZWFkb25seSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX2RhdGFUcmFuc2Zvcm1lcnM6IENoYXJ0RGF0YVRyYW5zZm9ybWVyc1xyXG5cdCkge31cclxuXHJcblx0cHJlcGFyZUNoYXJ0KFxyXG5cdFx0cmVzcG9uc2U6IFJlcG9ydFJlc3BvbnNlTW9kZWwsXHJcblx0XHRjb25maWc6IFRDb25maWdcclxuXHQpOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55OyBjb25maWc6IEdyYXBoQ2hhcnRPcHRpb25zIHwgRHluYW1pY0xpbmVDaGFydE9wdGlvbnMgfT4ge1xyXG5cdFx0dGhpcy5fdHJhbnNsYXRlUHJlZml4ID0gY29uZmlnPy5wcmVmaXggPz8gJyc7XHJcblx0XHRpZiAoIWNvbmZpZy5kYXRhc291cmNlKSB7XHJcblx0XHRcdGNvbnNvbGUud2FybignTm8gZGF0YXNvdXJjZSBwcm92aWRlZCBmb3IgY2hhcnQgY29uZmlndXJhdGlvbicpO1xyXG5cdFx0XHRyZXR1cm4gb2Yoe1xyXG5cdFx0XHRcdGRhdGE6IG51bGwsXHJcblx0XHRcdFx0Y29uZmlnOiBudWxsXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBvZihjb25maWcuZGF0YXNvdXJjZSkucGlwZShcclxuXHRcdFx0c3dpdGNoTWFwKChzb3VyY2VzKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgb2JzZXJ2YWJsZXMkID0gc291cmNlcy5tYXAoKHNyYykgPT4gdGhpcy5fcHJlcGFyZURhdGFTb3VyY2Uoc3JjLCByZXNwb25zZSkpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMkKS5waXBlKFxyXG5cdFx0XHRcdFx0bWFwKChyZXN1bHRzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0ZGF0YTogdGhpcy5fcHJlcGFyZUNoYXJ0RGF0YShyZXN1bHRzLCBjb25maWcpLFxyXG5cdFx0XHRcdFx0XHRcdGNvbmZpZzogY29uZmlnLmNoYXJ0XHJcblx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgY2hhcnQgZGF0YTonLCBlcnJvcik7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZih7XHJcblx0XHRcdFx0XHRcdFx0ZGF0YTogbnVsbCxcclxuXHRcdFx0XHRcdFx0XHRjb25maWc6IG51bGxcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9wcmVwYXJlRGF0YVNvdXJjZShzb3VyY2VDb25maWc6IFJlcG9ydERhdGFTb3VyY2UsIHJlc3BvbnNlOiBSZXBvcnRSZXNwb25zZU1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGNvbnN0IGJ1Y2tldHMgPSAoXy5nZXQocmVzcG9uc2UsIHNvdXJjZUNvbmZpZy5wcm9wZXJ0eVBhdGgpIGFzIFN0YXRpc3RpY0J1Y2tldFtdKSB8fCBbXTtcclxuXHRcdHJldHVybiBvZihidWNrZXRzKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJhd0RhdGEpID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5fZGF0YVRyYW5zZm9ybWVycy5oYXNHcmFwaFRyYW5zZm9ybWVyKHNvdXJjZUNvbmZpZz8udHJhbnNmb3JtZXIpKSB7XHJcblx0XHRcdFx0XHRjb25zdCB0cmFuc2Zvcm1lciA9IHRoaXMuX2RhdGFUcmFuc2Zvcm1lcnMuZ2V0R3JhcGhUcmFuc2Zvcm1lcihzb3VyY2VDb25maWc/LnRyYW5zZm9ybWVyKTtcclxuXHRcdFx0XHRcdGNvbnN0IGFkYXB0ZWREYXRhID0gdHJhbnNmb3JtZXIocmF3RGF0YSwgcmVzcG9uc2UpO1xyXG5cdFx0XHRcdFx0aWYgKGFkYXB0ZWREYXRhKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBhZGFwdGVkRGF0YS5tYXAoKHJvdykgPT4gKHtcclxuXHRcdFx0XHRcdFx0XHQuLi5yb3csXHJcblx0XHRcdFx0XHRcdFx0a2V5OiB0aGlzLl9nZXRMYWJlbChyb3csIHNvdXJjZUNvbmZpZylcclxuXHRcdFx0XHRcdFx0fSkpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gcmF3RGF0YS5tYXAoKHJvdykgPT4gKHtcclxuXHRcdFx0XHRcdGtleTogdGhpcy5fZ2V0TGFiZWwocm93LCBzb3VyY2VDb25maWcpLFxyXG5cdFx0XHRcdFx0ZG9jQ291bnQ6IHRoaXMuX2dldFZhbHVlKHJvdywgc291cmNlQ29uZmlnKVxyXG5cdFx0XHRcdH0pKTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2dldExhYmVsKGl0ZW06IFN0YXRpc3RpY0J1Y2tldCwgY29uZmlnOiBSZXBvcnREYXRhU291cmNlKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuXHRcdGlmIChjb25maWc/LmRhdGFGb3JtYXQgJiYgaXRlbT8ubG9jYWxpemVkPy5bY3VycmVudExhbmddKSB7XHJcblx0XHRcdHJldHVybiBpdGVtLmxvY2FsaXplZFtjdXJyZW50TGFuZ107XHJcblx0XHR9XHJcblx0XHRjb25zdCBsYWJlbCA9IGNvbmZpZz8uYmluZExhYmVsID8gXy5nZXQoaXRlbSwgY29uZmlnLmJpbmRMYWJlbCkgOiBudWxsO1xyXG5cdFx0cmV0dXJuIGxhYmVsIHx8IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgJHt0aGlzLl90cmFuc2xhdGVQcmVmaXh9JHtpdGVtLmtleX1gKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfZ2V0VmFsdWUoaXRlbTogU3RhdGlzdGljQnVja2V0LCBzb3VyY2U6IFJlcG9ydERhdGFTb3VyY2UpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIF8uZ2V0KGl0ZW0sIHNvdXJjZT8uYmluZFZhbHVlLCBpdGVtLmRvY0NvdW50KTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfcHJlcGFyZUNoYXJ0RGF0YShyZXN1bHRzOiBTdGF0aXN0aWNCdWNrZXRbXVtdLCBjb25maWc6IFRDb25maWcpIHtcclxuXHRcdGNvbnN0IHsgY2hhcnQgfSA9IGNvbmZpZztcclxuXHRcdGNvbnN0IF9sYWJlbHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHRcdGNvbnN0IF9kYXRhc2V0cyA9IHJlc3VsdHMubWFwKChidWNrZXQ6IFN0YXRpc3RpY0J1Y2tldFtdLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcblx0XHRcdGNvbnN0IGRhdGEgPSBidWNrZXQubWFwKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0X2xhYmVscy5hZGQoaXRlbS5rZXkpO1xyXG5cdFx0XHRcdHJldHVybiBpdGVtLmRvY0NvdW50O1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0Y29uc3QgZGF0YVNldDogQ2hhcnREYXRhc2V0PENoYXJ0VHlwZT4gPSB7XHJcblx0XHRcdFx0Ym9yZGVyV2lkdGg6IDEsXHJcblx0XHRcdFx0Ym9yZGVyQ29sb3I6IGdldENzc1ZhcmlhYmxlKCctLWNoYXJ0LWRhdGFzZXQtYm9yZGVyLWNvbG9yJywgYHJnYmEoMCwgMCwgMCwgMC4xKWApIGFzIHN0cmluZyxcclxuXHRcdFx0XHRkYXRhOiAhIWRhdGE/Lmxlbmd0aCA/IGRhdGEgOiBbMF1cclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdGlmIChjb25maWcuY2hhcnQ/LmNvbG9ycykge1xyXG5cdFx0XHRcdGRhdGFTZXQuYmFja2dyb3VuZENvbG9yID0gY29uZmlnLmNoYXJ0Py5jb2xvcnM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnN0IG92ZXJyaWRlcyA9IGNoYXJ0Py5kYXRhc2V0cz8uW2luZGV4XTtcclxuXHRcdFx0aWYgKG92ZXJyaWRlcyAmJiB0eXBlb2Ygb3ZlcnJpZGVzID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBkYXRhU2V0LCB7XHJcblx0XHRcdFx0XHQuLi5vdmVycmlkZXMsXHJcblx0XHRcdFx0XHRsYWJlbDogb3ZlcnJpZGVzPy5sYWJlbCA/IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvdmVycmlkZXM/LmxhYmVsKSA6ICcnXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiBkYXRhU2V0O1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRsYWJlbHM6IEFycmF5LmZyb20oX2xhYmVscy52YWx1ZXMoKSksXHJcblx0XHRcdGRhdGFzZXRzOiBfZGF0YXNldHNcclxuXHRcdH07XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvc2VydmljZXMvYmFzZS1jaGFydC1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBSXRELE1BQU0sT0FBTyx1QkFBdUI7SUFHbkMsWUFDb0IsaUJBQW1DLEVBQ3JDLGlCQUF3QztRQUR0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUI7UUFKaEQscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0lBS3JDLENBQUM7SUFFSixZQUFZLENBQ1gsUUFBNkIsRUFDN0IsTUFBZSxFQUNmLGNBQThCOztRQUU5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxtQ0FBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxDQUFDO2dCQUNULElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJ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O1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2hhcnREYXRhc2V0LCBDaGFydFR5cGUgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuXHRDcml0ZXJpYU1vZGVsLFxyXG5cdER5bmFtaWNMaW5lQ2hhcnQsXHJcblx0RHluYW1pY0xpbmVDaGFydE9wdGlvbnMsXHJcblx0R3JhcGhDaGFydCxcclxuXHRHcmFwaENoYXJ0T3B0aW9ucyxcclxuXHRSZXBvcnREYXRhU291cmNlLFxyXG5cdFJlcG9ydFJlc3BvbnNlTW9kZWxcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTdGF0aXN0aWNCdWNrZXQgfSBmcm9tICcuLi8uLi9jaGFydHMnO1xyXG5pbXBvcnQgeyBnZXRDc3NWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2NoYXJ0cy91dGlsaXR5JztcclxuaW1wb3J0IHsgQ2hhcnREYXRhVHJhbnNmb3JtZXJzIH0gZnJvbSAnLi9jaGFydC1kYXRhLXRyYW5zZm9ybWVycy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VDaGFydEJ1aWxkZXJTZXJ2aWNlPFRDb25maWcgZXh0ZW5kcyBEeW5hbWljTGluZUNoYXJ0IHwgR3JhcGhDaGFydCA9IEdyYXBoQ2hhcnQ+IHtcclxuXHRwcm90ZWN0ZWQgX3RyYW5zbGF0ZVByZWZpeDogc3RyaW5nID0gJyc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJvdGVjdGVkIHJlYWRvbmx5IF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBfZGF0YVRyYW5zZm9ybWVyczogQ2hhcnREYXRhVHJhbnNmb3JtZXJzXHJcblx0KSB7fVxyXG5cclxuXHRwcmVwYXJlQ2hhcnQoXHJcblx0XHRyZXNwb25zZTogUmVwb3J0UmVzcG9uc2VNb2RlbCxcclxuXHRcdGNvbmZpZzogVENvbmZpZyxcclxuXHRcdGZpbHRlckNyaXRlcmlhPzogQ3JpdGVyaWFNb2RlbFxyXG5cdCk6IE9ic2VydmFibGU8eyBkYXRhOiBhbnk7IGNvbmZpZzogR3JhcGhDaGFydE9wdGlvbnMgfCBEeW5hbWljTGluZUNoYXJ0T3B0aW9ucyB9PiB7XHJcblx0XHR0aGlzLl90cmFuc2xhdGVQcmVmaXggPSBjb25maWc/LnByZWZpeCA/PyAnJztcclxuXHRcdGlmICghY29uZmlnLmRhdGFzb3VyY2UpIHtcclxuXHRcdFx0Y29uc29sZS53YXJuKCdObyBkYXRhc291cmNlIHByb3ZpZGVkIGZvciBjaGFydCBjb25maWd1cmF0aW9uJyk7XHJcblx0XHRcdHJldHVybiBvZih7XHJcblx0XHRcdFx0ZGF0YTogbnVsbCxcclxuXHRcdFx0XHRjb25maWc6IG51bGxcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIG9mKGNvbmZpZy5kYXRhc291cmNlKS5waXBlKFxyXG5cdFx0XHRzd2l0Y2hNYXAoKHNvdXJjZXMpID0+IHtcclxuXHRcdFx0XHRjb25zdCBvYnNlcnZhYmxlcyQgPSBzb3VyY2VzLm1hcCgoc3JjKSA9PiB0aGlzLl9wcmVwYXJlRGF0YVNvdXJjZShzcmMsIHJlc3BvbnNlLCBmaWx0ZXJDcml0ZXJpYSkpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMkKS5waXBlKFxyXG5cdFx0XHRcdFx0bWFwKChyZXN1bHRzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0ZGF0YTogdGhpcy5fcHJlcGFyZUNoYXJ0RGF0YShyZXN1bHRzLCBjb25maWcpLFxyXG5cdFx0XHRcdFx0XHRcdGNvbmZpZzogY29uZmlnLmNoYXJ0XHJcblx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgY2hhcnQgZGF0YTonLCBlcnJvcik7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZih7XHJcblx0XHRcdFx0XHRcdFx0ZGF0YTogbnVsbCxcclxuXHRcdFx0XHRcdFx0XHRjb25maWc6IG51bGxcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9wcmVwYXJlRGF0YVNvdXJjZShcclxuXHRcdHNvdXJjZUNvbmZpZzogUmVwb3J0RGF0YVNvdXJjZSxcclxuXHRcdHJlc3BvbnNlOiBSZXBvcnRSZXNwb25zZU1vZGVsLFxyXG5cdFx0ZmlsdGVyQ3JpdGVyaWE/OiBDcml0ZXJpYU1vZGVsXHJcblx0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGNvbnN0IGJ1Y2tldHMgPSAoXy5nZXQocmVzcG9uc2UsIHNvdXJjZUNvbmZpZy5wcm9wZXJ0eVBhdGgpIGFzIFN0YXRpc3RpY0J1Y2tldFtdKSB8fCBbXTtcclxuXHRcdHJldHVybiBvZihidWNrZXRzKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJhd0RhdGEpID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5fZGF0YVRyYW5zZm9ybWVycy5oYXNHcmFwaFRyYW5zZm9ybWVyKHNvdXJjZUNvbmZpZz8udHJhbnNmb3JtZXIpKSB7XHJcblx0XHRcdFx0XHRjb25zdCB0cmFuc2Zvcm1lciA9IHRoaXMuX2RhdGFUcmFuc2Zvcm1lcnMuZ2V0R3JhcGhUcmFuc2Zvcm1lcihzb3VyY2VDb25maWc/LnRyYW5zZm9ybWVyKTtcclxuXHRcdFx0XHRcdGNvbnN0IGFkYXB0ZWREYXRhID0gdHJhbnNmb3JtZXIocmF3RGF0YSwgcmVzcG9uc2UsIGZpbHRlckNyaXRlcmlhLCB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcclxuXHRcdFx0XHRcdGlmIChhZGFwdGVkRGF0YSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gYWRhcHRlZERhdGEubWFwKChyb3cpID0+ICh7XHJcblx0XHRcdFx0XHRcdFx0Li4ucm93LFxyXG5cdFx0XHRcdFx0XHRcdGtleTogdGhpcy5fZ2V0TGFiZWwocm93LCBzb3VyY2VDb25maWcpXHJcblx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHJhd0RhdGEubWFwKChyb3cpID0+ICh7XHJcblx0XHRcdFx0XHRrZXk6IHRoaXMuX2dldExhYmVsKHJvdywgc291cmNlQ29uZmlnKSxcclxuXHRcdFx0XHRcdGRvY0NvdW50OiB0aGlzLl9nZXRWYWx1ZShyb3csIHNvdXJjZUNvbmZpZylcclxuXHRcdFx0XHR9KSk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9nZXRMYWJlbChpdGVtOiBTdGF0aXN0aWNCdWNrZXQsIGNvbmZpZzogUmVwb3J0RGF0YVNvdXJjZSk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmc7XHJcblx0XHRpZiAoY29uZmlnPy5kYXRhRm9ybWF0ICYmIGl0ZW0/LmxvY2FsaXplZD8uW2N1cnJlbnRMYW5nXSkge1xyXG5cdFx0XHRyZXR1cm4gaXRlbS5sb2NhbGl6ZWRbY3VycmVudExhbmddO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgbGFiZWwgPSBjb25maWc/LmJpbmRMYWJlbCA/IF8uZ2V0KGl0ZW0sIGNvbmZpZy5iaW5kTGFiZWwpIDogbnVsbDtcclxuXHRcdHJldHVybiBsYWJlbCB8fCB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYCR7dGhpcy5fdHJhbnNsYXRlUHJlZml4fSR7aXRlbS5rZXl9YCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX2dldFZhbHVlKGl0ZW06IFN0YXRpc3RpY0J1Y2tldCwgc291cmNlOiBSZXBvcnREYXRhU291cmNlKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiBfLmdldChpdGVtLCBzb3VyY2U/LmJpbmRWYWx1ZSwgaXRlbS5kb2NDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3ByZXBhcmVDaGFydERhdGEocmVzdWx0czogU3RhdGlzdGljQnVja2V0W11bXSwgY29uZmlnOiBUQ29uZmlnKSB7XHJcblx0XHRjb25zdCB7IGNoYXJ0IH0gPSBjb25maWc7XHJcblx0XHRjb25zdCBfbGFiZWxzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblx0XHRjb25zdCBfZGF0YXNldHMgPSByZXN1bHRzLm1hcCgoYnVja2V0OiBTdGF0aXN0aWNCdWNrZXRbXSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG5cdFx0XHRjb25zdCBkYXRhID0gYnVja2V0Lm1hcCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdF9sYWJlbHMuYWRkKGl0ZW0ua2V5KTtcclxuXHRcdFx0XHRyZXR1cm4gaXRlbS5kb2NDb3VudDtcclxuXHRcdFx0fSk7XHJcblx0XHRcdGNvbnN0IGRhdGFTZXQ6IENoYXJ0RGF0YXNldDxDaGFydFR5cGU+ID0ge1xyXG5cdFx0XHRcdGJvcmRlcldpZHRoOiAxLFxyXG5cdFx0XHRcdGJvcmRlckNvbG9yOiBnZXRDc3NWYXJpYWJsZSgnLS1jaGFydC1kYXRhc2V0LWJvcmRlci1jb2xvcicsIGByZ2JhKDAsIDAsIDAsIDAuMSlgKSBhcyBzdHJpbmcsXHJcblx0XHRcdFx0ZGF0YTogISFkYXRhPy5sZW5ndGggPyBkYXRhIDogWzBdXHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRpZiAoY29uZmlnLmNoYXJ0Py5jb2xvcnMpIHtcclxuXHRcdFx0XHRkYXRhU2V0LmJhY2tncm91bmRDb2xvciA9IGNvbmZpZy5jaGFydD8uY29sb3JzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRjb25zdCBvdmVycmlkZXMgPSBjaGFydD8uZGF0YXNldHM/LltpbmRleF07XHJcblx0XHRcdGlmIChvdmVycmlkZXMgJiYgdHlwZW9mIG92ZXJyaWRlcyA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZGF0YVNldCwge1xyXG5cdFx0XHRcdFx0Li4ub3ZlcnJpZGVzLFxyXG5cdFx0XHRcdFx0bGFiZWw6IG92ZXJyaWRlcz8ubGFiZWwgPyB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3ZlcnJpZGVzPy5sYWJlbCkgOiAnJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gZGF0YVNldDtcclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bGFiZWxzOiBBcnJheS5mcm9tKF9sYWJlbHMudmFsdWVzKCkpLFxyXG5cdFx0XHRkYXRhc2V0czogX2RhdGFzZXRzXHJcblx0XHR9O1xyXG5cdH1cclxufVxyXG4iXX0=
|