@onecx/angular-accelerator 5.7.0 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +17 -2
- package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +30 -4
- package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +11 -2
- package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +26 -3
- package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +17 -3
- package/esm2022/lib/components/data-table/data-table.component.mjs +223 -40
- package/esm2022/lib/components/data-view/data-view.component.mjs +110 -4
- package/esm2022/lib/components/diagram/diagram.component.mjs +8 -2
- package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +8 -2
- package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +139 -9
- package/esm2022/lib/components/search-header/search-header.component.mjs +11 -2
- package/esm2022/lib/utils/rxjs-utils.mjs +13 -0
- package/fesm2022/onecx-angular-accelerator.mjs +598 -60
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
- package/lib/components/column-group-selection/column-group-selection.component.d.ts +6 -1
- package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +13 -3
- package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +5 -1
- package/lib/components/data-list-grid/data-list-grid.component.d.ts +16 -9
- package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +12 -2
- package/lib/components/data-table/data-table.component.d.ts +63 -2
- package/lib/components/data-view/data-view.component.d.ts +41 -4
- package/lib/components/diagram/diagram.component.d.ts +5 -1
- package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +5 -1
- package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +46 -7
- package/lib/components/search-header/search-header.component.d.ts +6 -1
- package/lib/utils/rxjs-utils.d.ts +3 -0
- package/package.json +2 -1
|
@@ -14,6 +14,7 @@ export class DataListGridSortingComponent {
|
|
|
14
14
|
this._sortField$ = new BehaviorSubject('');
|
|
15
15
|
this.sortChange = new EventEmitter();
|
|
16
16
|
this.sortDirectionChange = new EventEmitter();
|
|
17
|
+
this.componentStateChanged = new EventEmitter();
|
|
17
18
|
this.columnsChange = new EventEmitter();
|
|
18
19
|
this.dropdownOptions = [];
|
|
19
20
|
}
|
|
@@ -32,19 +33,30 @@ export class DataListGridSortingComponent {
|
|
|
32
33
|
ngOnInit() {
|
|
33
34
|
this.columns.forEach((element) => this.dropdownOptions.push({ columnId: element.id, columnName: element.nameKey }));
|
|
34
35
|
this.selectedSortingOption = this.dropdownOptions.find((e) => e.columnId === this?.sortField);
|
|
36
|
+
this.emitComponentStateChange();
|
|
35
37
|
}
|
|
36
38
|
selectSorting(event) {
|
|
37
|
-
this._sortField$.next(event.value);
|
|
39
|
+
this._sortField$.next(event.value.columnId);
|
|
38
40
|
this.sortChange.emit(event.value.columnId);
|
|
41
|
+
this.emitComponentStateChange();
|
|
39
42
|
}
|
|
40
43
|
sortDirectionChanged() {
|
|
41
44
|
const newSortDirection = this.nextSortDirection();
|
|
42
45
|
this._sortDirection$.next(newSortDirection);
|
|
43
46
|
this.sortDirectionChange.emit(newSortDirection);
|
|
47
|
+
this.emitComponentStateChange();
|
|
44
48
|
}
|
|
45
49
|
nextSortDirection() {
|
|
46
50
|
return this.sortStates[(this.sortStates.indexOf(this.sortDirection) + 1) % this.sortStates.length];
|
|
47
51
|
}
|
|
52
|
+
emitComponentStateChange() {
|
|
53
|
+
this.componentStateChanged.emit({
|
|
54
|
+
sorting: {
|
|
55
|
+
sortColumn: this.sortField,
|
|
56
|
+
sortDirection: this.sortDirection
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
48
60
|
sortIcon() {
|
|
49
61
|
switch (this.sortDirection) {
|
|
50
62
|
case "ASCENDING" /* DataSortDirection.ASCENDING */:
|
|
@@ -69,7 +81,7 @@ export class DataListGridSortingComponent {
|
|
|
69
81
|
}
|
|
70
82
|
}
|
|
71
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DataListGridSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: { columns: "columns", sortStates: "sortStates", sortDirection: "sortDirection", sortField: "sortField" }, outputs: { sortChange: "sortChange", sortDirectionChange: "sortDirectionChange", columnsChange: "columnsChange" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [title]=\"('OCX_LIST_GRID_SORT.DROPDOWN.TITLE' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [title]=\"(sortIconTitle() | translate)\"\n [attr.aria-label]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: { columns: "columns", sortStates: "sortStates", sortDirection: "sortDirection", sortField: "sortField" }, outputs: { sortChange: "sortChange", sortDirectionChange: "sortDirectionChange", componentStateChanged: "componentStateChanged", columnsChange: "columnsChange" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [title]=\"('OCX_LIST_GRID_SORT.DROPDOWN.TITLE' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [title]=\"(sortIconTitle() | translate)\"\n [attr.aria-label]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
73
85
|
}
|
|
74
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DataListGridSortingComponent, decorators: [{
|
|
75
87
|
type: Component,
|
|
@@ -86,7 +98,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
86
98
|
type: Output
|
|
87
99
|
}], sortDirectionChange: [{
|
|
88
100
|
type: Output
|
|
101
|
+
}], componentStateChanged: [{
|
|
102
|
+
type: Output
|
|
89
103
|
}], columnsChange: [{
|
|
90
104
|
type: Output
|
|
91
105
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7QUFVdEMsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU1XLFlBQU8sR0FBc0IsRUFBRSxDQUFBO1FBQy9CLGVBQVUsR0FBd0IsZ0dBQTJELENBQUE7UUFDdEcsb0JBQWUsR0FBRyxJQUFJLGVBQWUscUNBQTJDLENBQUE7UUFRaEYsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtRQVNuQyxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDckQsd0JBQW1CLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUE7UUFDekUsa0JBQWEsR0FBMkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUVwRSxvQkFBZSxHQUF1QixFQUFFLENBQUE7S0E4Q3pDO0lBbEVDLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBd0I7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNyQyxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBUUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ25ILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDL0YsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFDRCxvQkFBb0I7UUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEcsQ0FBQztJQUVELFFBQVE7UUFDTixRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQjtnQkFDRSxPQUFPLG1CQUFtQixDQUFBO1lBQzVCO2dCQUNFLE9BQU8scUJBQXFCLENBQUE7WUFDOUI7Z0JBQ0UsT0FBTyxhQUFhLENBQUE7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxhQUFnQztRQUNuRCxRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCO2dCQUNFLE9BQU8sa0RBQWtELENBQUE7WUFDM0Q7Z0JBQ0UsT0FBTyxtREFBbUQsQ0FBQTtZQUM1RDtnQkFDRSxPQUFPLGdEQUFnRCxDQUFBO1FBQzNELENBQUM7SUFDSCxDQUFDOzhHQXJFVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix1U0NYekMsa2pDQXdCQTs7MkZEYmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDRCQUE0Qjs4QkFLN0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsYUFBYTtzQkFEaEIsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBUUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IERhdGFTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS1zb3J0LWRpcmVjdGlvbidcbmltcG9ydCB7IERhdGFDb2x1bW5OYW1lSWQgfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLWNvbHVtbi1uYW1lLWlkLm1vZGVsJ1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS10YWJsZS1jb2x1bW4ubW9kZWwnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jeC1kYXRhLWxpc3QtZ3JpZC1zb3J0aW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3QtZ3JpZC1zb3J0aW5nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFMaXN0R3JpZFNvcnRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5bXSA9IFtdXG4gIEBJbnB1dCgpIHNvcnRTdGF0ZXM6IERhdGFTb3J0RGlyZWN0aW9uW10gPSBbRGF0YVNvcnREaXJlY3Rpb24uQVNDRU5ESU5HLCBEYXRhU29ydERpcmVjdGlvbi5ERVNDRU5ESU5HXVxuICBfc29ydERpcmVjdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFTb3J0RGlyZWN0aW9uPihEYXRhU29ydERpcmVjdGlvbi5OT05FKVxuICBASW5wdXQoKVxuICBnZXQgc29ydERpcmVjdGlvbigpOiBEYXRhU29ydERpcmVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NvcnREaXJlY3Rpb24kLmdldFZhbHVlKClcbiAgfVxuICBzZXQgc29ydERpcmVjdGlvbih2YWx1ZTogRGF0YVNvcnREaXJlY3Rpb24pIHtcbiAgICB0aGlzLl9zb3J0RGlyZWN0aW9uJC5uZXh0KHZhbHVlKVxuICB9XG4gIF9zb3J0RmllbGQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBASW5wdXQoKVxuICBnZXQgc29ydEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXM/Ll9zb3J0RmllbGQkLmdldFZhbHVlKClcbiAgfVxuICBzZXQgc29ydEZpZWxkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zb3J0RmllbGQkLm5leHQodmFsdWUpXG4gIH1cblxuICBAT3V0cHV0KCkgc29ydENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHNvcnREaXJlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRhU29ydERpcmVjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGNvbHVtbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgc2VsZWN0ZWRTb3J0aW5nT3B0aW9uOiBEYXRhQ29sdW1uTmFtZUlkIHwgdW5kZWZpbmVkXG4gIGRyb3Bkb3duT3B0aW9uczogRGF0YUNvbHVtbk5hbWVJZFtdID0gW11cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaCgoZWxlbWVudCkgPT4gdGhpcy5kcm9wZG93bk9wdGlvbnMucHVzaCh7IGNvbHVtbklkOiBlbGVtZW50LmlkLCBjb2x1bW5OYW1lOiBlbGVtZW50Lm5hbWVLZXkgfSkpXG4gICAgdGhpcy5zZWxlY3RlZFNvcnRpbmdPcHRpb24gPSB0aGlzLmRyb3Bkb3duT3B0aW9ucy5maW5kKChlKSA9PiBlLmNvbHVtbklkID09PSB0aGlzPy5zb3J0RmllbGQpXG4gIH1cblxuICBzZWxlY3RTb3J0aW5nKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3J0RmllbGQkLm5leHQoZXZlbnQudmFsdWUpXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoZXZlbnQudmFsdWUuY29sdW1uSWQpXG4gIH1cbiAgc29ydERpcmVjdGlvbkNoYW5nZWQoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3U29ydERpcmVjdGlvbiA9IHRoaXMubmV4dFNvcnREaXJlY3Rpb24oKVxuICAgIHRoaXMuX3NvcnREaXJlY3Rpb24kLm5leHQobmV3U29ydERpcmVjdGlvbilcbiAgICB0aGlzLnNvcnREaXJlY3Rpb25DaGFuZ2UuZW1pdChuZXdTb3J0RGlyZWN0aW9uKVxuICB9XG5cbiAgbmV4dFNvcnREaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc29ydFN0YXRlc1sodGhpcy5zb3J0U3RhdGVzLmluZGV4T2YodGhpcy5zb3J0RGlyZWN0aW9uKSArIDEpICUgdGhpcy5zb3J0U3RhdGVzLmxlbmd0aF1cbiAgfVxuXG4gIHNvcnRJY29uKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC11cCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC1kb3duJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFsdCdcbiAgICB9XG4gIH1cblxuICBzb3J0SWNvblRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLnNvcnREaXJlY3Rpb25Ub1RpdGxlKHRoaXMuc29ydERpcmVjdGlvbilcbiAgfVxuXG4gIHNvcnREaXJlY3Rpb25Ub1RpdGxlKHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5BU0NFTkRJTkdfVElUTEUnXG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkRFU0NFTkRJTkc6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVTQ0VORElOR19USVRMRSdcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVGQVVMVF9USVRMRSdcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiZGF0YUxpc3RHcmlkU29ydGluZ0Ryb3Bkb3duXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU29ydGluZ09wdGlvblwiXG4gICAgY2xhc3M9XCJzb3J0LWRyb3Bkb3duXCJcbiAgICBbb3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoJ09DWF9MSVNUX0dSSURfU09SVC5EUk9QRE9XTi5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUpXCJcbiAgICAob25DaGFuZ2UpPVwic2VsZWN0U29ydGluZygkZXZlbnQpXCJcbiAgICBbdGl0bGVdPVwiKCdPQ1hfTElTVF9HUklEX1NPUlQuRFJPUERPV04uVElUTEUnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPiB7eyBpdGVtPy5jb2x1bW5OYW1lID8gKGl0ZW0uY29sdW1uTmFtZSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAge3sgaXRlbT8uY29sdW1uTmFtZSA/IChpdGVtLmNvbHVtbk5hbWUgfCB0cmFuc2xhdGUpIDogJyd9fVxuICAgIDwvbmctdGVtcGxhdGU+PC9wLWRyb3Bkb3duXG4gID5cbiAgPHAtYnV0dG9uXG4gICAgaWQ9XCJkYXRhTGlzdEdyaWRTb3J0aW5nQnV0dG9uXCJcbiAgICBpY29uPVwicGkge3tzb3J0SWNvbigpfX1cIlxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgKG9uQ2xpY2spPVwic29ydERpcmVjdGlvbkNoYW5nZWQoKVwiXG4gICAgW3RpdGxlXT1cIihzb3J0SWNvblRpdGxlKCkgfCB0cmFuc2xhdGUpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIignT0NYX0xJU1RfR1JJRF9TT1JULlNPUlRJTkdfQlVUVE9OX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlOntkaXJlY3Rpb246IChzb3J0RGlyZWN0aW9uVG9UaXRsZShuZXh0U29ydERpcmVjdGlvbigpKSkgfCB0cmFuc2xhdGV9KVwiXG4gID48L3AtYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7QUFnQnRDLE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNVyxZQUFPLEdBQXNCLEVBQUUsQ0FBQTtRQUMvQixlQUFVLEdBQXdCLGdHQUEyRCxDQUFBO1FBQ3RHLG9CQUFlLEdBQUcsSUFBSSxlQUFlLHFDQUEyQyxDQUFBO1FBUWhGLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7UUFTbkMsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ3JELHdCQUFtQixHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ3pFLDBCQUFxQixHQUFvRCxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQzNGLGtCQUFhLEdBQTJCLElBQUksWUFBWSxFQUFFLENBQUE7UUFFcEUsb0JBQWUsR0FBdUIsRUFBRSxDQUFBO0tBMER6QztJQS9FQyxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUE7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THhDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQUs3QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRixhQUFhO3NCQURoQixLQUFLO2dCQVNGLFNBQVM7c0JBRFosS0FBSztnQkFRSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IERhdGFTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS1zb3J0LWRpcmVjdGlvbidcbmltcG9ydCB7IERhdGFDb2x1bW5OYW1lSWQgfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLWNvbHVtbi1uYW1lLWlkLm1vZGVsJ1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS10YWJsZS1jb2x1bW4ubW9kZWwnXG5pbXBvcnQgeyBEcm9wZG93bkNoYW5nZUV2ZW50IH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bidcblxuZXhwb3J0IHR5cGUgTGlzdEdyaWRTb3J0ID0geyBzb3J0Q29sdW1uOiBzdHJpbmc7IHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uIH1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudFN0YXRlIHtcbiAgc29ydGluZz86IExpc3RHcmlkU29ydFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZGF0YS1saXN0LWdyaWQtc29ydGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QtZ3JpZC1zb3J0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdEdyaWRTb3J0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBzb3J0U3RhdGVzOiBEYXRhU29ydERpcmVjdGlvbltdID0gW0RhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORywgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElOR11cbiAgX3NvcnREaXJlY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhU29ydERpcmVjdGlvbj4oRGF0YVNvcnREaXJlY3Rpb24uTk9ORSlcbiAgQElucHV0KClcbiAgZ2V0IHNvcnREaXJlY3Rpb24oKTogRGF0YVNvcnREaXJlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9zb3J0RGlyZWN0aW9uJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IHNvcnREaXJlY3Rpb24odmFsdWU6IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgdGhpcy5fc29ydERpcmVjdGlvbiQubmV4dCh2YWx1ZSlcbiAgfVxuICBfc29ydEZpZWxkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcbiAgQElucHV0KClcbiAgZ2V0IHNvcnRGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzPy5fc29ydEZpZWxkJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IHNvcnRGaWVsZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc29ydEZpZWxkJC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0YVNvcnREaXJlY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb21wb25lbnRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxEYXRhTGlzdEdyaWRTb3J0aW5nQ29tcG9uZW50U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIHNlbGVjdGVkU29ydGluZ09wdGlvbjogRGF0YUNvbHVtbk5hbWVJZCB8IHVuZGVmaW5lZFxuICBkcm9wZG93bk9wdGlvbnM6IERhdGFDb2x1bW5OYW1lSWRbXSA9IFtdXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goKGVsZW1lbnQpID0+IHRoaXMuZHJvcGRvd25PcHRpb25zLnB1c2goeyBjb2x1bW5JZDogZWxlbWVudC5pZCwgY29sdW1uTmFtZTogZWxlbWVudC5uYW1lS2V5IH0pKVxuICAgIHRoaXMuc2VsZWN0ZWRTb3J0aW5nT3B0aW9uID0gdGhpcy5kcm9wZG93bk9wdGlvbnMuZmluZCgoZSkgPT4gZS5jb2x1bW5JZCA9PT0gdGhpcz8uc29ydEZpZWxkKVxuICAgIHRoaXMuZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKClcbiAgfVxuXG4gIHNlbGVjdFNvcnRpbmcoZXZlbnQ6IERyb3Bkb3duQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3J0RmllbGQkLm5leHQoZXZlbnQudmFsdWUuY29sdW1uSWQpXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoZXZlbnQudmFsdWUuY29sdW1uSWQpXG4gICAgdGhpcy5lbWl0Q29tcG9uZW50U3RhdGVDaGFuZ2UoKVxuICB9XG4gIHNvcnREaXJlY3Rpb25DaGFuZ2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NvcnREaXJlY3Rpb24gPSB0aGlzLm5leHRTb3J0RGlyZWN0aW9uKClcbiAgICB0aGlzLl9zb3J0RGlyZWN0aW9uJC5uZXh0KG5ld1NvcnREaXJlY3Rpb24pXG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uQ2hhbmdlLmVtaXQobmV3U29ydERpcmVjdGlvbilcbiAgICB0aGlzLmVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpXG4gIH1cblxuICBuZXh0U29ydERpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0U3RhdGVzWyh0aGlzLnNvcnRTdGF0ZXMuaW5kZXhPZih0aGlzLnNvcnREaXJlY3Rpb24pICsgMSkgJSB0aGlzLnNvcnRTdGF0ZXMubGVuZ3RoXVxuICB9XG5cbiAgZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY29tcG9uZW50U3RhdGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgc29ydGluZzoge1xuICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnRGaWVsZCxcbiAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNvcnRJY29uKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC11cCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC1kb3duJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFsdCdcbiAgICB9XG4gIH1cblxuICBzb3J0SWNvblRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLnNvcnREaXJlY3Rpb25Ub1RpdGxlKHRoaXMuc29ydERpcmVjdGlvbilcbiAgfVxuXG4gIHNvcnREaXJlY3Rpb25Ub1RpdGxlKHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5BU0NFTkRJTkdfVElUTEUnXG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkRFU0NFTkRJTkc6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVTQ0VORElOR19USVRMRSdcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnT0NYX0xJU1RfR1JJRF9TT1JULlRPR0dMRV9CVVRUT04uREVGQVVMVF9USVRMRSdcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiZGF0YUxpc3RHcmlkU29ydGluZ0Ryb3Bkb3duXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU29ydGluZ09wdGlvblwiXG4gICAgY2xhc3M9XCJzb3J0LWRyb3Bkb3duXCJcbiAgICBbb3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoJ09DWF9MSVNUX0dSSURfU09SVC5EUk9QRE9XTi5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUpXCJcbiAgICAob25DaGFuZ2UpPVwic2VsZWN0U29ydGluZygkZXZlbnQpXCJcbiAgICBbdGl0bGVdPVwiKCdPQ1hfTElTVF9HUklEX1NPUlQuRFJPUERPV04uVElUTEUnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPiB7eyBpdGVtPy5jb2x1bW5OYW1lID8gKGl0ZW0uY29sdW1uTmFtZSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAge3sgaXRlbT8uY29sdW1uTmFtZSA/IChpdGVtLmNvbHVtbk5hbWUgfCB0cmFuc2xhdGUpIDogJyd9fVxuICAgIDwvbmctdGVtcGxhdGU+PC9wLWRyb3Bkb3duXG4gID5cbiAgPHAtYnV0dG9uXG4gICAgaWQ9XCJkYXRhTGlzdEdyaWRTb3J0aW5nQnV0dG9uXCJcbiAgICBpY29uPVwicGkge3tzb3J0SWNvbigpfX1cIlxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgKG9uQ2xpY2spPVwic29ydERpcmVjdGlvbkNoYW5nZWQoKVwiXG4gICAgW3RpdGxlXT1cIihzb3J0SWNvblRpdGxlKCkgfCB0cmFuc2xhdGUpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIignT0NYX0xJU1RfR1JJRF9TT1JULlNPUlRJTkdfQlVUVE9OX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlOntkaXJlY3Rpb246IChzb3J0RGlyZWN0aW9uVG9UaXRsZShuZXh0U29ydERpcmVjdGlvbigpKSkgfCB0cmFuc2xhdGV9KVwiXG4gID48L3AtYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|