@gravitee/ui-policy-studio-angular 7.19.0 → 7.20.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/esm2020/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +14 -4
- package/esm2020/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +3 -3
- package/esm2020/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +36 -7
- package/esm2020/lib/gio-policy-studio.component.mjs +7 -3
- package/esm2020/lib/gio-policy-studio.module.mjs +5 -1
- package/esm2020/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +18 -5
- package/esm2020/testing/lib/gio-policy-studio.harness.mjs +16 -1
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +36 -4
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs +56 -15
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs +32 -4
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs +56 -15
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.d.ts +4 -1
- package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +13 -2
- package/lib/gio-policy-studio.component.d.ts +1 -0
- package/lib/gio-policy-studio.module.d.ts +3 -2
- package/package.json +1 -1
- package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts +4 -0
- package/testing/lib/gio-policy-studio.harness.d.ts +4 -0
|
@@ -69,6 +69,7 @@ export class GioPolicyStudioComponent {
|
|
|
69
69
|
this.selectedFlow = undefined;
|
|
70
70
|
this.flowsGroups = [];
|
|
71
71
|
this.disableSaveButton = true;
|
|
72
|
+
this.saving = false;
|
|
72
73
|
// Used to keep track of initial flows groups to know if there are deleted flows
|
|
73
74
|
this.initialFlowsGroups = [];
|
|
74
75
|
this.hasFlowExecutionChanged = false;
|
|
@@ -85,6 +86,8 @@ export class GioPolicyStudioComponent {
|
|
|
85
86
|
this.initialFlowsGroups = cloneDeep(this.flowsGroups);
|
|
86
87
|
// Select first flow by default on first load
|
|
87
88
|
this.selectedFlow = flatten(this.flowsGroups.map(flowGroup => flowGroup.flows))[0];
|
|
89
|
+
// Reset saving state when flowsGroups are updated
|
|
90
|
+
this.saving = false;
|
|
88
91
|
}
|
|
89
92
|
if (changes.policySchemaFetcher) {
|
|
90
93
|
this.policyStudioService.setPolicySchemaFetcher(this.policySchemaFetcher);
|
|
@@ -134,13 +137,14 @@ export class GioPolicyStudioComponent {
|
|
|
134
137
|
...(plansToUpdate ? { plansToUpdate } : {}),
|
|
135
138
|
...(this.hasFlowExecutionChanged ? { flowExecution: this.flowExecution } : {}),
|
|
136
139
|
});
|
|
140
|
+
this.saving = true;
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
GioPolicyStudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioComponent, deps: [{ token: i1.GioPolicyStudioService }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
-
GioPolicyStudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioComponent, selector: "gio-policy-studio", inputs: { apiType: "apiType", flowExecution: "flowExecution", entrypointsInfo: "entrypointsInfo", endpointsInfo: "endpointsInfo", commonFlows: "commonFlows", plans: "plans", policies: "policies", loading: "loading", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"header\">\n <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\"> </span>\n <span class=\"gio-badge-neutral\"> </span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button mat-stroked-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.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: i4.GioPolicyStudioFlowsMenuComponent, selector: "gio-ps-flows-menu", inputs: ["loading", "apiType", "flowExecution", "flowsGroups", "selectedFlow", "entrypoints"], outputs: ["selectedFlowChange", "flowsGroupsChange", "flowExecutionChange"] }, { type: i5.GioPolicyStudioDetailsComponent, selector: "gio-ps-flow-details", inputs: ["loading", "apiType", "flow", "entrypointsInfo", "endpointsInfo", "policies"], outputs: ["flowChange", "deleteFlow"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "titlecase": i6.TitleCasePipe } });
|
|
144
|
+
GioPolicyStudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioComponent, selector: "gio-policy-studio", inputs: { apiType: "apiType", flowExecution: "flowExecution", entrypointsInfo: "entrypointsInfo", endpointsInfo: "endpointsInfo", commonFlows: "commonFlows", plans: "plans", policies: "policies", loading: "loading", policySchemaFetcher: "policySchemaFetcher", policyDocumentationFetcher: "policyDocumentationFetcher" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"header\">\n <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\"> </span>\n <span class=\"gio-badge-neutral\"> </span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-stroked-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-stroked-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.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: i4.GioPolicyStudioFlowsMenuComponent, selector: "gio-ps-flows-menu", inputs: ["loading", "apiType", "flowExecution", "flowsGroups", "selectedFlow", "entrypoints"], outputs: ["selectedFlowChange", "flowsGroupsChange", "flowExecutionChange"] }, { type: i5.GioPolicyStudioDetailsComponent, selector: "gio-ps-flow-details", inputs: ["loading", "apiType", "flow", "entrypointsInfo", "endpointsInfo", "policies"], outputs: ["flowChange", "deleteFlow"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "titlecase": i6.TitleCasePipe } });
|
|
141
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioComponent, decorators: [{
|
|
142
146
|
type: Component,
|
|
143
|
-
args: [{ selector: 'gio-policy-studio', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"header\">\n <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\"> </span>\n <span class=\"gio-badge-neutral\"> </span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button mat-stroked-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"] }]
|
|
147
|
+
args: [{ selector: 'gio-policy-studio', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"header\">\n <div class=\"header__apiInfo\" *ngIf=\"!loading; else loadingApiInfo\">\n <span class=\"gio-badge-primary\">\n {{ apiType | titlecase }}\n </span>\n <span\n class=\"gio-badge-neutral\"\n [matTooltip]=\"connectorsTooltip\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"gio-policy-studio__tooltip-line-break\"\n >\n <mat-icon *ngFor=\"let entrypoint of entrypointsInfo\" class=\"gio-left\" [svgIcon]=\"entrypoint.icon\"></mat-icon>\n <mat-icon *ngFor=\"let endpoint of endpointsInfo\" class=\"gio-left\" [svgIcon]=\"endpoint.icon\"></mat-icon>\n </span>\n </div>\n <ng-template #loadingApiInfo>\n <div class=\"header__apiInfo\">\n <span class=\"gio-badge-primary\"> </span>\n <span class=\"gio-badge-neutral\"> </span>\n </div>\n </ng-template>\n\n <div class=\"header__btn\">\n <button *ngIf=\"!saving\" mat-stroked-button color=\"primary\" [disabled]=\"loading || disableSaveButton\" (click)=\"onSave()\">Save</button>\n <button *ngIf=\"saving\" mat-stroked-button color=\"primary\" disabled>Saving...</button>\n </div>\n</div>\n\n<div class=\"wrapper\">\n <div class=\"wrapper__flowsMenu\">\n <gio-ps-flows-menu\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flowExecution]=\"flowExecution\"\n [flowsGroups]=\"flowsGroups\"\n [entrypoints]=\"entrypointsInfo\"\n (flowsGroupsChange)=\"onFlowsGroupsChange($event)\"\n (flowExecutionChange)=\"onFlowExecutionChange($event)\"\n [(selectedFlow)]=\"selectedFlow\"\n ></gio-ps-flows-menu>\n </div>\n\n <div class=\"wrapper__flowDetails\">\n <gio-ps-flow-details\n [loading]=\"loading\"\n [apiType]=\"apiType\"\n [flow]=\"selectedFlow\"\n [entrypointsInfo]=\"entrypointsInfo\"\n [endpointsInfo]=\"endpointsInfo\"\n [policies]=\"policies\"\n (flowChange)=\"onSelectedFlowChange($event)\"\n (deleteFlow)=\"onDeleteSelectedFlow($event)\"\n ></gio-ps-flow-details>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column;padding:16px;background-color:#fff}::ng-deep .gio-policy-studio__tooltip-line-break{white-space:pre-line}.header{display:flex;align-items:center;padding-bottom:16px}.header__apiInfo{flex:1 1 auto}.wrapper{display:flex;min-height:0;flex:1 1 auto;flex-direction:row;gap:16px}.wrapper__flowsMenu{overflow:hidden;max-width:400px;flex:1 1 33%;border:1px solid #d3d5dc;border-radius:8px}.wrapper__flowDetails{overflow:hidden;flex:1 1 66%;border:1px solid #d3d5dc;border-radius:8px}\n"] }]
|
|
144
148
|
}], ctorParameters: function () { return [{ type: i1.GioPolicyStudioService }]; }, propDecorators: { apiType: [{
|
|
145
149
|
type: Input
|
|
146
150
|
}], flowExecution: [{
|
|
@@ -214,4 +218,4 @@ const getPlansChangeOutput = (flowsGroups, initialFlowsGroups) => {
|
|
|
214
218
|
}));
|
|
215
219
|
return plansWithChangedFlowsOutput.length > 0 ? plansWithChangedFlowsOutput : null;
|
|
216
220
|
};
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQXFCN0IsTUFBTSxPQUFPLHdCQUF3QjtJQWtGbkMsWUFBNkIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFyRXhFOztXQUVHO1FBRUksb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBRTdDOztXQUVHO1FBRUksa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBRUksZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTFCOztXQUVHO1FBRUksYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBRUksd0JBQW1CLEdBQXdCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUU5RDs7O1dBR0c7UUFF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SSxDQUFDO0FBQ3JGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGRpZmZlcmVuY2VCeSwgZmxhdHRlbiwgaXNFcXVhbCwgb21pdCwgdW5pb25CeSwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQXBpVHlwZSxcbiAgQ29ubmVjdG9ySW5mbyxcbiAgRmxvdyxcbiAgRmxvd0V4ZWN1dGlvbixcbiAgUGxhbixcbiAgUG9saWN5LFxuICBQb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcixcbiAgUG9saWN5U2NoZW1hRmV0Y2hlcixcbiAgU2F2ZU91dHB1dCxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRmxvd0dyb3VwVk0sIEZsb3dWTSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8ubW9kZWwnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU2VydmljZSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1wb2xpY3ktc3R1ZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEFQSSB0eXBlIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcGlUeXBlITogQXBpVHlwZTtcblxuICAvKipcbiAgICogRmxvdyBleGVjdXRpb24gY29uZmlnIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93RXhlY3V0aW9uITogRmxvd0V4ZWN1dGlvbjtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbnRyeXBvaW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW50cnlwb2ludHNJbmZvOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbmRwb2ludHMgdG8gZGlzcGxheVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZHBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbW1vbiBmbG93cyB0byBhZGQgdG8gY29tbW9uIGZsb3dzIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tbW9uRmxvd3M6IEZsb3dbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHBsYW5zIHdpdGggdGhlaXIgZmxvd3NcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFuczogUGxhbltdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcG9saWNpZXMgdXNhYmxlIGluIHRoZSBwb2xpY3kgc3R1ZGlvXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIExvYWRpbmcgc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIFBvbGljeSBTdHVkaW8gbmVlZHMgdG8gZmV0Y2ggdGhlIHBvbGljeSBzY2hlbWFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IHNjaGVtYVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBvbGljeVNjaGVtYUZldGNoZXI6IFBvbGljeVNjaGVtYUZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gUG9saWN5IFN0dWRpbyBuZWVkcyB0byBmZXRjaCB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcjogUG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogUmV0dXJuIHdoYXQgaXMgbmVlZGVkIHRvIHNhdmUuXG4gICAqKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxTYXZlT3V0cHV0PigpO1xuXG4gIHB1YmxpYyBjb25uZWN0b3JzVG9vbHRpcCA9ICcnO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsb3c/OiBGbG93Vk0gPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdID0gW107XG5cbiAgcHVibGljIGRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcblxuICAvLyBVc2VkIHRvIGtlZXAgdHJhY2sgb2YgaW5pdGlhbCBmbG93cyBncm91cHMgdG8ga25vdyBpZiB0aGVyZSBhcmUgZGVsZXRlZCBmbG93c1xuICBwcml2YXRlIGluaXRpYWxGbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSA9IFtdO1xuXG4gIHByaXZhdGUgaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBvbGljeVN0dWRpb1NlcnZpY2U6IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UpIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5lbnRyeXBvaW50c0luZm8gfHwgY2hhbmdlcy5lbmRwb2ludHNJbmZvKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnNUb29sdGlwID0gYEVudHJ5cG9pbnRzOiAkeyh0aGlzLmVudHJ5cG9pbnRzSW5mbyA/PyBbXSkubWFwKGUgPT4gZS5uYW1lKS5qb2luKCcsICcpfVxcbkVuZHBvaW50czogJHsoXG4gICAgICAgIHRoaXMuZW5kcG9pbnRzSW5mbyA/PyBbXVxuICAgICAgKVxuICAgICAgICAubWFwKGUgPT4gZS5uYW1lKVxuICAgICAgICAuam9pbignLCAnKX1gO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbW1vbkZsb3dzIHx8IGNoYW5nZXMucGxhbnMpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgdGhpcy5mbG93c0dyb3VwcyA9IGdldEZsb3dzR3JvdXBzKHRoaXMuY29tbW9uRmxvd3MsIHRoaXMucGxhbnMpO1xuICAgICAgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMgPSBjbG9uZURlZXAodGhpcy5mbG93c0dyb3Vwcyk7XG5cbiAgICAgIC8vIFNlbGVjdCBmaXJzdCBmbG93IGJ5IGRlZmF1bHQgb24gZmlyc3QgbG9hZFxuICAgICAgdGhpcy5zZWxlY3RlZEZsb3cgPSBmbGF0dGVuKHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuZmxvd3MpKVswXTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5wb2xpY3lTY2hlbWFGZXRjaGVyKSB7XG4gICAgICB0aGlzLnBvbGljeVN0dWRpb1NlcnZpY2Uuc2V0UG9saWN5U2NoZW1hRmV0Y2hlcih0aGlzLnBvbGljeVNjaGVtYUZldGNoZXIpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKSB7XG4gICAgICB0aGlzLnBvbGljeVN0dWRpb1NlcnZpY2Uuc2V0UG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIodGhpcy5wb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRmxvd0V4ZWN1dGlvbkNoYW5nZShmbG93RXhlY3V0aW9uOiBGbG93RXhlY3V0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5oYXNGbG93RXhlY3V0aW9uQ2hhbmdlZCA9ICFpc0VxdWFsKHRoaXMuZmxvd0V4ZWN1dGlvbiwgZmxvd0V4ZWN1dGlvbik7XG4gICAgaWYgKHRoaXMuaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgIHRoaXMuZmxvd0V4ZWN1dGlvbiA9IGZsb3dFeGVjdXRpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRmxvd3NHcm91cHNDaGFuZ2UoZmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dzR3JvdXBzID0gZmxvd3NHcm91cHM7XG4gICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRGbG93Q2hhbmdlKGZsb3c6IEZsb3dWTSk6IHZvaWQge1xuICAgIHRoaXMuZmxvd3NHcm91cHMgPSB0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gKHtcbiAgICAgIC4uLmZsb3dHcm91cCxcbiAgICAgIGZsb3dzOiBmbG93R3JvdXAuZmxvd3MubWFwKGYgPT4gKGYuX2lkID09PSBmbG93Ll9pZCA/IGZsb3cgOiBmKSksXG4gICAgfSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxvdztcbiAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVTZWxlY3RlZEZsb3coZmxvdzogRmxvd1ZNKTogdm9pZCB7XG4gICAgLy8gRGVmaW5lIG5leHQgc2VsZWN0ZWQgZmxvdyBhbmQgcmVtb3ZlIGZsb3cgZnJvbSBmbG93c0dyb3Vwc1xuICAgIGNvbnN0IGFsbEZsb3dzSWQgPSBmbGF0dGVuKHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuZmxvd3MpKS5tYXAoZiA9PiBmLl9pZCk7XG4gICAgY29uc3QgZmxvd1RvRGVsZXRlSW5kZXggPSBhbGxGbG93c0lkLmluZGV4T2YoZmxvdy5faWQpO1xuICAgIGNvbnN0IG5leHRTZWxlY3RlZEZsb3cgPSBhbGxGbG93c0lkW2Zsb3dUb0RlbGV0ZUluZGV4ICsgMV0gPz8gYWxsRmxvd3NJZFtmbG93VG9EZWxldGVJbmRleCAtIDFdO1xuICAgIHRoaXMuZmxvd3NHcm91cHMgPSB0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gKHtcbiAgICAgIC4uLmZsb3dHcm91cCxcbiAgICAgIGZsb3dzOiBmbG93R3JvdXAuZmxvd3MuZmlsdGVyKGYgPT4gZi5faWQgIT09IGZsb3cuX2lkKSxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkRmxvdyA9IGZsYXR0ZW4odGhpcy5mbG93c0dyb3Vwcy5tYXAoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5mbG93cykpLmZpbmQoZiA9PiBmLl9pZCA9PT0gbmV4dFNlbGVjdGVkRmxvdyk7XG5cbiAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25TYXZlKCk6IHZvaWQge1xuICAgIC8vIEVtaXQgY29tbW9uIGZsb3dzIG9ubHkgaWYgdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuICAgIGNvbnN0IGNvbW1vbkZsb3dzID0gZ2V0Q29tbW9uRmxvd3NPdXRwdXQodGhpcy5mbG93c0dyb3VwcywgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMpO1xuXG4gICAgLy8gRW1pdCBwbGFucyBvbmx5IGlmIHRoZXkgaGF2ZSBiZWVuIHVwZGF0ZWRcbiAgICBjb25zdCBwbGFuc1RvVXBkYXRlID0gZ2V0UGxhbnNDaGFuZ2VPdXRwdXQodGhpcy5mbG93c0dyb3VwcywgdGhpcy5pbml0aWFsRmxvd3NHcm91cHMpO1xuXG4gICAgdGhpcy5zYXZlLmVtaXQoe1xuICAgICAgLi4uKGNvbW1vbkZsb3dzID8geyBjb21tb25GbG93cyB9IDoge30pLFxuICAgICAgLi4uKHBsYW5zVG9VcGRhdGUgPyB7IHBsYW5zVG9VcGRhdGUgfSA6IHt9KSxcbiAgICAgIC4uLih0aGlzLmhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkID8geyBmbG93RXhlY3V0aW9uOiB0aGlzLmZsb3dFeGVjdXRpb24gfSA6IHt9KSxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCBnZXRGbG93c0dyb3VwcyA9IChjb21tb25GbG93czogRmxvd1tdID0gW10sIHBsYW5zOiBQbGFuW10gPSBbXSk6IEZsb3dHcm91cFZNW10gPT4ge1xuICBjb25zdCBjb21tRmxvd3NHcm91cDogRmxvd0dyb3VwVk0gPSB7XG4gICAgX2lkOiAnZmxvd3NHcm91cF9jb21tb25GbG93JyxcbiAgICBuYW1lOiAnQ29tbW9uIGZsb3dzJyxcbiAgICBmbG93czogY29tbW9uRmxvd3MubWFwKGZsb3cgPT4gKHsgLi4uZmxvdywgX2lkOiB1bmlxdWVJZCgnZmxvd18nKSwgX2hhc0NoYW5nZWQ6IGZhbHNlIH0pKSxcbiAgfTtcblxuICByZXR1cm4gW1xuICAgIC4uLnBsYW5zLm1hcChwbGFuID0+ICh7XG4gICAgICBfaWQ6IHVuaXF1ZUlkKCdmbG93c0dyb3VwXycpLFxuICAgICAgX2ljb246ICdnaW86c2hpZWxkJyxcbiAgICAgIF9wbGFuSWQ6IHBsYW4uaWQsXG4gICAgICBuYW1lOiBwbGFuLm5hbWUsXG4gICAgICBmbG93czogcGxhbi5mbG93cy5tYXAoZmxvdyA9PiAoeyAuLi5mbG93LCBfaWQ6IHVuaXF1ZUlkKCdmbG93XycpLCBfaGFzQ2hhbmdlZDogZmFsc2UgfSkpLFxuICAgIH0pKSxcbiAgICBjb21tRmxvd3NHcm91cCxcbiAgXTtcbn07XG5cbmNvbnN0IGdldENvbW1vbkZsb3dzT3V0cHV0ID0gKGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdLCBpbml0aWFsRmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10pOiBGbG93W10gfCBudWxsID0+IHtcbiAgY29uc3QgY29tbW9uRmxvd3NHcm91cCA9IGZsb3dzR3JvdXBzLmZpbmQoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgPT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcbiAgY29uc3QgaW5pdGlhbENvbW1vbkZsb3dzR3JvdXAgPSBpbml0aWFsRmxvd3NHcm91cHMuZmluZChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLl9pZCA9PT0gJ2Zsb3dzR3JvdXBfY29tbW9uRmxvdycpO1xuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIHVwZGF0ZWRcbiAgY29uc3QgaGFzQ2hhbmdlZCA9IGNvbW1vbkZsb3dzR3JvdXA/LmZsb3dzLnNvbWUoZmxvdyA9PiBmbG93Ll9oYXNDaGFuZ2VkKTtcblxuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIGRlbGV0ZWRcbiAgY29uc3QgaGFzRGVsZXRlZEZsb3cgPSBkaWZmZXJlbmNlQnkoaW5pdGlhbENvbW1vbkZsb3dzR3JvdXA/LmZsb3dzID8/IFtdLCBjb21tb25GbG93c0dyb3VwPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDA7XG5cbiAgcmV0dXJuIGhhc0NoYW5nZWQgfHwgaGFzRGVsZXRlZEZsb3cgPyAoY29tbW9uRmxvd3NHcm91cD8uZmxvd3MgPz8gW10pLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSA6IG51bGw7XG59O1xuXG5jb25zdCBnZXRQbGFuc0NoYW5nZU91dHB1dCA9IChmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSwgaW5pdGlhbEZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdKTogUGxhbltdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IHBsYW5zR3JvdXBzID0gZmxvd3NHcm91cHMuZmlsdGVyKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuX2lkICE9PSAnZmxvd3NHcm91cF9jb21tb25GbG93Jyk7XG4gIGNvbnN0IGluaXRpYWxQbGFuc0dyb3VwcyA9IGluaXRpYWxGbG93c0dyb3Vwcy5maWx0ZXIoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgIT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBjaGFuZ2VkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aENoYW5nZWRGbG93cyA9IHBsYW5zR3JvdXBzLmZpbHRlcihwbGFuID0+IHBsYW4uZmxvd3Muc29tZShmbG93ID0+IGZsb3cuX2hhc0NoYW5nZWQpKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBkZWxldGVkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93czogRmxvd0dyb3VwVk1bXSA9IFtdO1xuXG4gIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzIGluIGluaXRpYWwgaW5pdGlhbFBsYW5zR3JvdXBzXG4gIGluaXRpYWxQbGFuc0dyb3Vwcy5mb3JFYWNoKHBsYW4gPT4ge1xuICAgIGNvbnN0IHBsYW5Hcm91cFRvQ29tcGFyZSA9IHBsYW5zR3JvdXBzLmZpbmQocCA9PiBwLl9wbGFuSWQgPT09IHBsYW4uX3BsYW5JZCk7XG4gICAgaWYgKHBsYW5Hcm91cFRvQ29tcGFyZSAmJiBkaWZmZXJlbmNlQnkocGxhbi5mbG93cywgcGxhbkdyb3VwVG9Db21wYXJlPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzLCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgY29tcGxldGUgcGxhbiB3aXRoIHRoZSBuZXcgZmxvd3NcbiAgICAgIHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93cy5wdXNoKHBsYW5Hcm91cFRvQ29tcGFyZSk7XG4gICAgfVxuICB9KTtcblxuICAvLyBNZXJnZSBwbGFucyB3aXRoIGNoYW5nZWQgZmxvd3MgYW5kIHBsYW5zIHdpdGggZGVsZXRlZCBmbG93c1xuICBjb25zdCBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQgPSB1bmlvbkJ5KFsuLi5wbGFuc0dyb3Vwc1dpdGhDaGFuZ2VkRmxvd3MsIC4uLnBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93c10sICdfcGxhbklkJykubWFwKHBsYW4gPT4gKHtcbiAgICAuLi5vbWl0KHBsYW4sICdfaWQnLCAnX2ljb24nLCAnX3BsYW5JZCcpLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uIC0tIHBsYW5JZCBpcyBhbHdheXMgZGVmaW5lZFxuICAgIGlkOiBwbGFuLl9wbGFuSWQhLFxuICAgIGZsb3dzOiBwbGFuLmZsb3dzLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSxcbiAgfSkpO1xuXG4gIHJldHVybiBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQubGVuZ3RoID4gMCA/IHBsYW5zV2l0aENoYW5nZWRGbG93c091dHB1dCA6IG51bGw7XG59O1xuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlcl9fYXBpSW5mb1wiICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGluZ0FwaUluZm9cIj5cbiAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1wcmltYXJ5XCI+XG4gICAgICB7eyBhcGlUeXBlIHwgdGl0bGVjYXNlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbm5lY3RvcnNUb29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgIG1hdFRvb2x0aXBDbGFzcz1cImdpby1wb2xpY3ktc3R1ZGlvX190b29sdGlwLWxpbmUtYnJlYWtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50c0luZm9cIiBjbGFzcz1cImdpby1sZWZ0XCIgW3N2Z0ljb25dPVwiZW50cnlwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW5kcG9pbnQgb2YgZW5kcG9pbnRzSW5mb1wiIGNsYXNzPVwiZ2lvLWxlZnRcIiBbc3ZnSWNvbl09XCJlbmRwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmdBcGlJbmZvPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2FwaUluZm9cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ2lvLWJhZGdlLXByaW1hcnlcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCI+Jm5ic3A7PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2J0blwiPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVTYXZlQnV0dG9uXCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fZmxvd3NNZW51XCI+XG4gICAgPGdpby1wcy1mbG93cy1tZW51XG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgW2Zsb3dFeGVjdXRpb25dPVwiZmxvd0V4ZWN1dGlvblwiXG4gICAgICBbZmxvd3NHcm91cHNdPVwiZmxvd3NHcm91cHNcIlxuICAgICAgW2VudHJ5cG9pbnRzXT1cImVudHJ5cG9pbnRzSW5mb1wiXG4gICAgICAoZmxvd3NHcm91cHNDaGFuZ2UpPVwib25GbG93c0dyb3Vwc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChmbG93RXhlY3V0aW9uQ2hhbmdlKT1cIm9uRmxvd0V4ZWN1dGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFsoc2VsZWN0ZWRGbG93KV09XCJzZWxlY3RlZEZsb3dcIlxuICAgID48L2dpby1wcy1mbG93cy1tZW51PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fZmxvd0RldGFpbHNcIj5cbiAgICA8Z2lvLXBzLWZsb3ctZGV0YWlsc1xuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICBbYXBpVHlwZV09XCJhcGlUeXBlXCJcbiAgICAgIFtmbG93XT1cInNlbGVjdGVkRmxvd1wiXG4gICAgICBbZW50cnlwb2ludHNJbmZvXT1cImVudHJ5cG9pbnRzSW5mb1wiXG4gICAgICBbZW5kcG9pbnRzSW5mb109XCJlbmRwb2ludHNJbmZvXCJcbiAgICAgIFtwb2xpY2llc109XCJwb2xpY2llc1wiXG4gICAgICAoZmxvd0NoYW5nZSk9XCJvblNlbGVjdGVkRmxvd0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVGbG93KT1cIm9uRGVsZXRlU2VsZWN0ZWRGbG93KCRldmVudClcIlxuICAgID48L2dpby1wcy1mbG93LWRldGFpbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQXFCN0IsTUFBTSxPQUFPLHdCQUF3QjtJQW9GbkMsWUFBNkIsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUF2RXhFOztXQUVHO1FBRUksb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBRTdDOztXQUVHO1FBRUksa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBRUksZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTFCOztXQUVHO1FBRUksYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBRUksd0JBQW1CLEdBQXdCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUU5RDs7O1dBR0c7UUFF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QWEsQ0FBQyxDQUFDO0tBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBRUosT0FBTywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3JGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGRpZmZlcmVuY2VCeSwgZmxhdHRlbiwgaXNFcXVhbCwgb21pdCwgdW5pb25CeSwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQXBpVHlwZSxcbiAgQ29ubmVjdG9ySW5mbyxcbiAgRmxvdyxcbiAgRmxvd0V4ZWN1dGlvbixcbiAgUGxhbixcbiAgUG9saWN5LFxuICBQb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcixcbiAgUG9saWN5U2NoZW1hRmV0Y2hlcixcbiAgU2F2ZU91dHB1dCxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRmxvd0dyb3VwVk0sIEZsb3dWTSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8ubW9kZWwnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU2VydmljZSB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1wb2xpY3ktc3R1ZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEFQSSB0eXBlIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcGlUeXBlITogQXBpVHlwZTtcblxuICAvKipcbiAgICogRmxvdyBleGVjdXRpb24gY29uZmlnIChyZXF1aXJlZClcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbG93RXhlY3V0aW9uITogRmxvd0V4ZWN1dGlvbjtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbnRyeXBvaW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW50cnlwb2ludHNJbmZvOiBDb25uZWN0b3JJbmZvW10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBlbmRwb2ludHMgdG8gZGlzcGxheVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZHBvaW50c0luZm86IENvbm5lY3RvckluZm9bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbW1vbiBmbG93cyB0byBhZGQgdG8gY29tbW9uIGZsb3dzIGdyb3VwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tbW9uRmxvd3M6IEZsb3dbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHBsYW5zIHdpdGggdGhlaXIgZmxvd3NcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFuczogUGxhbltdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcG9saWNpZXMgdXNhYmxlIGluIHRoZSBwb2xpY3kgc3R1ZGlvXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9saWNpZXM6IFBvbGljeVtdID0gW107XG5cbiAgLyoqXG4gICAqIExvYWRpbmcgc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIFBvbGljeSBTdHVkaW8gbmVlZHMgdG8gZmV0Y2ggdGhlIHBvbGljeSBzY2hlbWFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IHNjaGVtYVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBvbGljeVNjaGVtYUZldGNoZXI6IFBvbGljeVNjaGVtYUZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gUG9saWN5IFN0dWRpbyBuZWVkcyB0byBmZXRjaCB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcG9saWN5IGRvY3VtZW50YXRpb25cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcjogUG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIgPSAoKSA9PiBFTVBUWTtcblxuICAvKipcbiAgICogUmV0dXJuIHdoYXQgaXMgbmVlZGVkIHRvIHNhdmUuXG4gICAqKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxTYXZlT3V0cHV0PigpO1xuXG4gIHB1YmxpYyBjb25uZWN0b3JzVG9vbHRpcCA9ICcnO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsb3c/OiBGbG93Vk0gPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdID0gW107XG5cbiAgcHVibGljIGRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgc2F2aW5nID0gZmFsc2U7XG5cbiAgLy8gVXNlZCB0byBrZWVwIHRyYWNrIG9mIGluaXRpYWwgZmxvd3MgZ3JvdXBzIHRvIGtub3cgaWYgdGhlcmUgYXJlIGRlbGV0ZWQgZmxvd3NcbiAgcHJpdmF0ZSBpbml0aWFsRmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10gPSBbXTtcblxuICBwcml2YXRlIGhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwb2xpY3lTdHVkaW9TZXJ2aWNlOiBHaW9Qb2xpY3lTdHVkaW9TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZW50cnlwb2ludHNJbmZvIHx8IGNoYW5nZXMuZW5kcG9pbnRzSW5mbykge1xuICAgICAgdGhpcy5jb25uZWN0b3JzVG9vbHRpcCA9IGBFbnRyeXBvaW50czogJHsodGhpcy5lbnRyeXBvaW50c0luZm8gPz8gW10pLm1hcChlID0+IGUubmFtZSkuam9pbignLCAnKX1cXG5FbmRwb2ludHM6ICR7KFxuICAgICAgICB0aGlzLmVuZHBvaW50c0luZm8gPz8gW11cbiAgICAgIClcbiAgICAgICAgLm1hcChlID0+IGUubmFtZSlcbiAgICAgICAgLmpvaW4oJywgJyl9YDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5jb21tb25GbG93cyB8fCBjaGFuZ2VzLnBsYW5zKSB7XG4gICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuZmxvd3NHcm91cHMgPSBnZXRGbG93c0dyb3Vwcyh0aGlzLmNvbW1vbkZsb3dzLCB0aGlzLnBsYW5zKTtcbiAgICAgIHRoaXMuaW5pdGlhbEZsb3dzR3JvdXBzID0gY2xvbmVEZWVwKHRoaXMuZmxvd3NHcm91cHMpO1xuXG4gICAgICAvLyBTZWxlY3QgZmlyc3QgZmxvdyBieSBkZWZhdWx0IG9uIGZpcnN0IGxvYWRcbiAgICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxhdHRlbih0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLmZsb3dzKSlbMF07XG5cbiAgICAgIC8vIFJlc2V0IHNhdmluZyBzdGF0ZSB3aGVuIGZsb3dzR3JvdXBzIGFyZSB1cGRhdGVkXG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnBvbGljeVNjaGVtYUZldGNoZXIpIHtcbiAgICAgIHRoaXMucG9saWN5U3R1ZGlvU2VydmljZS5zZXRQb2xpY3lTY2hlbWFGZXRjaGVyKHRoaXMucG9saWN5U2NoZW1hRmV0Y2hlcik7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucG9saWN5RG9jdW1lbnRhdGlvbkZldGNoZXIpIHtcbiAgICAgIHRoaXMucG9saWN5U3R1ZGlvU2VydmljZS5zZXRQb2xpY3lEb2N1bWVudGF0aW9uRmV0Y2hlcih0aGlzLnBvbGljeURvY3VtZW50YXRpb25GZXRjaGVyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25GbG93RXhlY3V0aW9uQ2hhbmdlKGZsb3dFeGVjdXRpb246IEZsb3dFeGVjdXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0Zsb3dFeGVjdXRpb25DaGFuZ2VkID0gIWlzRXF1YWwodGhpcy5mbG93RXhlY3V0aW9uLCBmbG93RXhlY3V0aW9uKTtcbiAgICBpZiAodGhpcy5oYXNGbG93RXhlY3V0aW9uQ2hhbmdlZCkge1xuICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5mbG93RXhlY3V0aW9uID0gZmxvd0V4ZWN1dGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25GbG93c0dyb3Vwc0NoYW5nZShmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSk6IHZvaWQge1xuICAgIHRoaXMuZmxvd3NHcm91cHMgPSBmbG93c0dyb3VwcztcbiAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZEZsb3dDaGFuZ2UoZmxvdzogRmxvd1ZNKTogdm9pZCB7XG4gICAgdGhpcy5mbG93c0dyb3VwcyA9IHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiAoe1xuICAgICAgLi4uZmxvd0dyb3VwLFxuICAgICAgZmxvd3M6IGZsb3dHcm91cC5mbG93cy5tYXAoZiA9PiAoZi5faWQgPT09IGZsb3cuX2lkID8gZmxvdyA6IGYpKSxcbiAgICB9KSk7XG4gICAgdGhpcy5zZWxlY3RlZEZsb3cgPSBmbG93O1xuICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZVNlbGVjdGVkRmxvdyhmbG93OiBGbG93Vk0pOiB2b2lkIHtcbiAgICAvLyBEZWZpbmUgbmV4dCBzZWxlY3RlZCBmbG93IGFuZCByZW1vdmUgZmxvdyBmcm9tIGZsb3dzR3JvdXBzXG4gICAgY29uc3QgYWxsRmxvd3NJZCA9IGZsYXR0ZW4odGhpcy5mbG93c0dyb3Vwcy5tYXAoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5mbG93cykpLm1hcChmID0+IGYuX2lkKTtcbiAgICBjb25zdCBmbG93VG9EZWxldGVJbmRleCA9IGFsbEZsb3dzSWQuaW5kZXhPZihmbG93Ll9pZCk7XG4gICAgY29uc3QgbmV4dFNlbGVjdGVkRmxvdyA9IGFsbEZsb3dzSWRbZmxvd1RvRGVsZXRlSW5kZXggKyAxXSA/PyBhbGxGbG93c0lkW2Zsb3dUb0RlbGV0ZUluZGV4IC0gMV07XG4gICAgdGhpcy5mbG93c0dyb3VwcyA9IHRoaXMuZmxvd3NHcm91cHMubWFwKGZsb3dHcm91cCA9PiAoe1xuICAgICAgLi4uZmxvd0dyb3VwLFxuICAgICAgZmxvd3M6IGZsb3dHcm91cC5mbG93cy5maWx0ZXIoZiA9PiBmLl9pZCAhPT0gZmxvdy5faWQpLFxuICAgIH0pKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRGbG93ID0gZmxhdHRlbih0aGlzLmZsb3dzR3JvdXBzLm1hcChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLmZsb3dzKSkuZmluZChmID0+IGYuX2lkID09PSBuZXh0U2VsZWN0ZWRGbG93KTtcblxuICAgIHRoaXMuZGlzYWJsZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvblNhdmUoKTogdm9pZCB7XG4gICAgLy8gRW1pdCBjb21tb24gZmxvd3Mgb25seSBpZiB0aGV5IGhhdmUgYmVlbiB1cGRhdGVkXG4gICAgY29uc3QgY29tbW9uRmxvd3MgPSBnZXRDb21tb25GbG93c091dHB1dCh0aGlzLmZsb3dzR3JvdXBzLCB0aGlzLmluaXRpYWxGbG93c0dyb3Vwcyk7XG5cbiAgICAvLyBFbWl0IHBsYW5zIG9ubHkgaWYgdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuICAgIGNvbnN0IHBsYW5zVG9VcGRhdGUgPSBnZXRQbGFuc0NoYW5nZU91dHB1dCh0aGlzLmZsb3dzR3JvdXBzLCB0aGlzLmluaXRpYWxGbG93c0dyb3Vwcyk7XG5cbiAgICB0aGlzLnNhdmUuZW1pdCh7XG4gICAgICAuLi4oY29tbW9uRmxvd3MgPyB7IGNvbW1vbkZsb3dzIH0gOiB7fSksXG4gICAgICAuLi4ocGxhbnNUb1VwZGF0ZSA/IHsgcGxhbnNUb1VwZGF0ZSB9IDoge30pLFxuICAgICAgLi4uKHRoaXMuaGFzRmxvd0V4ZWN1dGlvbkNoYW5nZWQgPyB7IGZsb3dFeGVjdXRpb246IHRoaXMuZmxvd0V4ZWN1dGlvbiB9IDoge30pLFxuICAgIH0pO1xuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcbiAgfVxufVxuXG5jb25zdCBnZXRGbG93c0dyb3VwcyA9IChjb21tb25GbG93czogRmxvd1tdID0gW10sIHBsYW5zOiBQbGFuW10gPSBbXSk6IEZsb3dHcm91cFZNW10gPT4ge1xuICBjb25zdCBjb21tRmxvd3NHcm91cDogRmxvd0dyb3VwVk0gPSB7XG4gICAgX2lkOiAnZmxvd3NHcm91cF9jb21tb25GbG93JyxcbiAgICBuYW1lOiAnQ29tbW9uIGZsb3dzJyxcbiAgICBmbG93czogY29tbW9uRmxvd3MubWFwKGZsb3cgPT4gKHsgLi4uZmxvdywgX2lkOiB1bmlxdWVJZCgnZmxvd18nKSwgX2hhc0NoYW5nZWQ6IGZhbHNlIH0pKSxcbiAgfTtcblxuICByZXR1cm4gW1xuICAgIC4uLnBsYW5zLm1hcChwbGFuID0+ICh7XG4gICAgICBfaWQ6IHVuaXF1ZUlkKCdmbG93c0dyb3VwXycpLFxuICAgICAgX2ljb246ICdnaW86c2hpZWxkJyxcbiAgICAgIF9wbGFuSWQ6IHBsYW4uaWQsXG4gICAgICBuYW1lOiBwbGFuLm5hbWUsXG4gICAgICBmbG93czogcGxhbi5mbG93cy5tYXAoZmxvdyA9PiAoeyAuLi5mbG93LCBfaWQ6IHVuaXF1ZUlkKCdmbG93XycpLCBfaGFzQ2hhbmdlZDogZmFsc2UgfSkpLFxuICAgIH0pKSxcbiAgICBjb21tRmxvd3NHcm91cCxcbiAgXTtcbn07XG5cbmNvbnN0IGdldENvbW1vbkZsb3dzT3V0cHV0ID0gKGZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdLCBpbml0aWFsRmxvd3NHcm91cHM6IEZsb3dHcm91cFZNW10pOiBGbG93W10gfCBudWxsID0+IHtcbiAgY29uc3QgY29tbW9uRmxvd3NHcm91cCA9IGZsb3dzR3JvdXBzLmZpbmQoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgPT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcbiAgY29uc3QgaW5pdGlhbENvbW1vbkZsb3dzR3JvdXAgPSBpbml0aWFsRmxvd3NHcm91cHMuZmluZChmbG93R3JvdXAgPT4gZmxvd0dyb3VwLl9pZCA9PT0gJ2Zsb3dzR3JvdXBfY29tbW9uRmxvdycpO1xuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIHVwZGF0ZWRcbiAgY29uc3QgaGFzQ2hhbmdlZCA9IGNvbW1vbkZsb3dzR3JvdXA/LmZsb3dzLnNvbWUoZmxvdyA9PiBmbG93Ll9oYXNDaGFuZ2VkKTtcblxuICAvLyBDaGVjayBpZiBjb21tb24gZmxvd3MgaGF2ZSBiZWVuIGRlbGV0ZWRcbiAgY29uc3QgaGFzRGVsZXRlZEZsb3cgPSBkaWZmZXJlbmNlQnkoaW5pdGlhbENvbW1vbkZsb3dzR3JvdXA/LmZsb3dzID8/IFtdLCBjb21tb25GbG93c0dyb3VwPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDA7XG5cbiAgcmV0dXJuIGhhc0NoYW5nZWQgfHwgaGFzRGVsZXRlZEZsb3cgPyAoY29tbW9uRmxvd3NHcm91cD8uZmxvd3MgPz8gW10pLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSA6IG51bGw7XG59O1xuXG5jb25zdCBnZXRQbGFuc0NoYW5nZU91dHB1dCA9IChmbG93c0dyb3VwczogRmxvd0dyb3VwVk1bXSwgaW5pdGlhbEZsb3dzR3JvdXBzOiBGbG93R3JvdXBWTVtdKTogUGxhbltdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IHBsYW5zR3JvdXBzID0gZmxvd3NHcm91cHMuZmlsdGVyKGZsb3dHcm91cCA9PiBmbG93R3JvdXAuX2lkICE9PSAnZmxvd3NHcm91cF9jb21tb25GbG93Jyk7XG4gIGNvbnN0IGluaXRpYWxQbGFuc0dyb3VwcyA9IGluaXRpYWxGbG93c0dyb3Vwcy5maWx0ZXIoZmxvd0dyb3VwID0+IGZsb3dHcm91cC5faWQgIT09ICdmbG93c0dyb3VwX2NvbW1vbkZsb3cnKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBjaGFuZ2VkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aENoYW5nZWRGbG93cyA9IHBsYW5zR3JvdXBzLmZpbHRlcihwbGFuID0+IHBsYW4uZmxvd3Muc29tZShmbG93ID0+IGZsb3cuX2hhc0NoYW5nZWQpKTtcblxuICAvLyBHZXQgcGxhbnMgd2l0aCBkZWxldGVkIGZsb3dzXG4gIGNvbnN0IHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93czogRmxvd0dyb3VwVk1bXSA9IFtdO1xuXG4gIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzIGluIGluaXRpYWwgaW5pdGlhbFBsYW5zR3JvdXBzXG4gIGluaXRpYWxQbGFuc0dyb3Vwcy5mb3JFYWNoKHBsYW4gPT4ge1xuICAgIGNvbnN0IHBsYW5Hcm91cFRvQ29tcGFyZSA9IHBsYW5zR3JvdXBzLmZpbmQocCA9PiBwLl9wbGFuSWQgPT09IHBsYW4uX3BsYW5JZCk7XG4gICAgaWYgKHBsYW5Hcm91cFRvQ29tcGFyZSAmJiBkaWZmZXJlbmNlQnkocGxhbi5mbG93cywgcGxhbkdyb3VwVG9Db21wYXJlPy5mbG93cyA/PyBbXSwgJ19pZCcpLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBkZWxldGVkIGZsb3dzLCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgY29tcGxldGUgcGxhbiB3aXRoIHRoZSBuZXcgZmxvd3NcbiAgICAgIHBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93cy5wdXNoKHBsYW5Hcm91cFRvQ29tcGFyZSk7XG4gICAgfVxuICB9KTtcblxuICAvLyBNZXJnZSBwbGFucyB3aXRoIGNoYW5nZWQgZmxvd3MgYW5kIHBsYW5zIHdpdGggZGVsZXRlZCBmbG93c1xuICBjb25zdCBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQgPSB1bmlvbkJ5KFsuLi5wbGFuc0dyb3Vwc1dpdGhDaGFuZ2VkRmxvd3MsIC4uLnBsYW5zR3JvdXBzV2l0aERlbGV0ZWRGbG93c10sICdfcGxhbklkJykubWFwKHBsYW4gPT4gKHtcbiAgICAuLi5vbWl0KHBsYW4sICdfaWQnLCAnX2ljb24nLCAnX3BsYW5JZCcpLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uIC0tIHBsYW5JZCBpcyBhbHdheXMgZGVmaW5lZFxuICAgIGlkOiBwbGFuLl9wbGFuSWQhLFxuICAgIGZsb3dzOiBwbGFuLmZsb3dzLm1hcChmbG93ID0+IG9taXQoZmxvdywgJ19pZCcsICdfaGFzQ2hhbmdlZCcpKSxcbiAgfSkpO1xuXG4gIHJldHVybiBwbGFuc1dpdGhDaGFuZ2VkRmxvd3NPdXRwdXQubGVuZ3RoID4gMCA/IHBsYW5zV2l0aENoYW5nZWRGbG93c091dHB1dCA6IG51bGw7XG59O1xuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlcl9fYXBpSW5mb1wiICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGluZ0FwaUluZm9cIj5cbiAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1wcmltYXJ5XCI+XG4gICAgICB7eyBhcGlUeXBlIHwgdGl0bGVjYXNlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImNvbm5lY3RvcnNUb29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgIG1hdFRvb2x0aXBDbGFzcz1cImdpby1wb2xpY3ktc3R1ZGlvX190b29sdGlwLWxpbmUtYnJlYWtcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50c0luZm9cIiBjbGFzcz1cImdpby1sZWZ0XCIgW3N2Z0ljb25dPVwiZW50cnlwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdGb3I9XCJsZXQgZW5kcG9pbnQgb2YgZW5kcG9pbnRzSW5mb1wiIGNsYXNzPVwiZ2lvLWxlZnRcIiBbc3ZnSWNvbl09XCJlbmRwb2ludC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmdBcGlJbmZvPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2FwaUluZm9cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ2lvLWJhZGdlLXByaW1hcnlcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImdpby1iYWRnZS1uZXV0cmFsXCI+Jm5ic3A7PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2J0blwiPlxuICAgIDxidXR0b24gKm5nSWY9XCIhc2F2aW5nXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGRpc2FibGVTYXZlQnV0dG9uXCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJzYXZpbmdcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgZGlzYWJsZWQ+U2F2aW5nLi4uPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19mbG93c01lbnVcIj5cbiAgICA8Z2lvLXBzLWZsb3dzLW1lbnVcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgW2FwaVR5cGVdPVwiYXBpVHlwZVwiXG4gICAgICBbZmxvd0V4ZWN1dGlvbl09XCJmbG93RXhlY3V0aW9uXCJcbiAgICAgIFtmbG93c0dyb3Vwc109XCJmbG93c0dyb3Vwc1wiXG4gICAgICBbZW50cnlwb2ludHNdPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgIChmbG93c0dyb3Vwc0NoYW5nZSk9XCJvbkZsb3dzR3JvdXBzQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGZsb3dFeGVjdXRpb25DaGFuZ2UpPVwib25GbG93RXhlY3V0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgWyhzZWxlY3RlZEZsb3cpXT1cInNlbGVjdGVkRmxvd1wiXG4gICAgPjwvZ2lvLXBzLWZsb3dzLW1lbnU+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19mbG93RGV0YWlsc1wiPlxuICAgIDxnaW8tcHMtZmxvdy1kZXRhaWxzXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFthcGlUeXBlXT1cImFwaVR5cGVcIlxuICAgICAgW2Zsb3ddPVwic2VsZWN0ZWRGbG93XCJcbiAgICAgIFtlbnRyeXBvaW50c0luZm9dPVwiZW50cnlwb2ludHNJbmZvXCJcbiAgICAgIFtlbmRwb2ludHNJbmZvXT1cImVuZHBvaW50c0luZm9cIlxuICAgICAgW3BvbGljaWVzXT1cInBvbGljaWVzXCJcbiAgICAgIChmbG93Q2hhbmdlKT1cIm9uU2VsZWN0ZWRGbG93Q2hhbmdlKCRldmVudClcIlxuICAgICAgKGRlbGV0ZUZsb3cpPVwib25EZWxldGVTZWxlY3RlZEZsb3coJGV2ZW50KVwiXG4gICAgPjwvZ2lvLXBzLWZsb3ctZGV0YWlscz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27,6 +27,7 @@ import { MatTabsModule } from '@angular/material/tabs';
|
|
|
27
27
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
28
28
|
import { MatMenuModule } from '@angular/material/menu';
|
|
29
29
|
import { GioAsciidoctorModule } from '@gravitee/ui-particles-angular';
|
|
30
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
30
31
|
import { GioPolicyStudioFlowMessageFormDialogComponent } from './components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component';
|
|
31
32
|
import { GioPolicyStudioDetailsComponent } from './components/flow-details/gio-ps-flow-details.component';
|
|
32
33
|
import { GioPolicyStudioFlowsMenuComponent } from './components/flows-menu/gio-ps-flows-menu.component';
|
|
@@ -68,6 +69,7 @@ GioPolicyStudioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
68
69
|
MatDialogModule,
|
|
69
70
|
MatTabsModule,
|
|
70
71
|
MatMenuModule,
|
|
72
|
+
MatChipsModule,
|
|
71
73
|
GioIconsModule,
|
|
72
74
|
GioFormSlideToggleModule,
|
|
73
75
|
GioFormTagsInputModule,
|
|
@@ -87,6 +89,7 @@ GioPolicyStudioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
|
|
|
87
89
|
MatDialogModule,
|
|
88
90
|
MatTabsModule,
|
|
89
91
|
MatMenuModule,
|
|
92
|
+
MatChipsModule,
|
|
90
93
|
GioIconsModule,
|
|
91
94
|
GioFormSlideToggleModule,
|
|
92
95
|
GioFormTagsInputModule,
|
|
@@ -125,6 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
125
128
|
MatDialogModule,
|
|
126
129
|
MatTabsModule,
|
|
127
130
|
MatMenuModule,
|
|
131
|
+
MatChipsModule,
|
|
128
132
|
GioIconsModule,
|
|
129
133
|
GioFormSlideToggleModule,
|
|
130
134
|
GioFormTagsInputModule,
|
|
@@ -137,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
137
141
|
providers: [GioPolicyStudioService],
|
|
138
142
|
}]
|
|
139
143
|
}] });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZUFBZSxHQUNoQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxrR0FBa0csQ0FBQztBQUNqSyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUMzSixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUN6SSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUN0SixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUM5SSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUE0Q3JFLE1BQU0sT0FBTyxxQkFBcUI7O21IQUFyQixxQkFBcUI7b0hBQXJCLHFCQUFxQixpQkF4QzlCLHdCQUF3QjtRQUN4QixpQ0FBaUM7UUFDakMsK0JBQStCO1FBQy9CLCtDQUErQztRQUMvQyw2Q0FBNkM7UUFDN0MsMkNBQTJDO1FBQzNDLHNDQUFzQztRQUN0QyxvQ0FBb0M7UUFDcEMsd0NBQXdDO1FBQ3hDLDZCQUE2QjtRQUM3Qiw2Q0FBNkM7UUFDN0Msc0NBQXNDO1FBQ3RDLGdDQUFnQyxhQUdoQyxZQUFZO1FBQ1osbUJBQW1CO1FBRW5CLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFFZCxjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixlQUFlO1FBQ2YsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQixlQUFlLGFBRVAsd0JBQXdCO29IQUd2QixxQkFBcUIsYUFGckIsQ0FBQyxzQkFBc0IsQ0FBQyxZQXhCMUI7WUFDUCxZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGNBQWM7WUFFZCxjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixlQUFlO1NBQ2hCOzRGQUlVLHFCQUFxQjtrQkExQ2pDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsaUNBQWlDO3dCQUNqQywrQkFBK0I7d0JBQy9CLCtDQUErQzt3QkFDL0MsNkNBQTZDO3dCQUM3QywyQ0FBMkM7d0JBQzNDLHNDQUFzQzt3QkFDdEMsb0NBQW9DO3dCQUNwQyx3Q0FBd0M7d0JBQ3hDLDZCQUE2Qjt3QkFDN0IsNkNBQTZDO3dCQUM3QyxzQ0FBc0M7d0JBQ3RDLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUVuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUVkLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBHaW9CYW5uZXJNb2R1bGUsXG4gIEdpb0Zvcm1Kc29uU2NoZW1hTW9kdWxlLFxuICBHaW9Gb3JtU2xpZGVUb2dnbGVNb2R1bGUsXG4gIEdpb0Zvcm1UYWdzSW5wdXRNb2R1bGUsXG4gIEdpb0ljb25zTW9kdWxlLFxuICBHaW9Mb2FkZXJNb2R1bGUsXG59IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IEdpb0FzY2lpZG9jdG9yTW9kdWxlIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuXG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMvZ2lvLXBzLWZsb3ctZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zsb3dzLW1lbnUvZ2lvLXBzLWZsb3dzLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0NvbXBvbmVudCB9IGZyb20gJy4vZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LXByb3h5LWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0JhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMtaW5mby1iYXIvZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2Utc3RlcC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1leGVjdXRpb24tZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9GaWx0ZXJDb25uZWN0b3JzQnlNb2RlUGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXItcGlwZS9naW8tZmx0ZXItY29ubmVjdG9ycy1ieS1tb2RlLnBpcGUnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvbGljaWVzLWNhdGFsb2ctZGlhbG9nL2dpby1wcy1wb2xpY2llcy1jYXRhbG9nLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU3RlcEVkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RlcC1lZGl0LWRpYWxvZy9naW8tcHMtc3RlcC1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvU3RlcEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RlcC1mb3JtL2dpby1wcy1zdGVwLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1NlcnZpY2UgfSBmcm9tICcuL2dpby1wb2xpY3ktc3R1ZGlvLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBHaW9Qb2xpY3lTdHVkaW9Db21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51Q29tcG9uZW50LFxuICAgIEdpb1BvbGljeVN0dWRpb0RldGFpbHNDb21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dDb21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nQ29tcG9uZW50LFxuICAgIEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dDb21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0luZm9CYXJDb21wb25lbnQsXG4gICAgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlQ29tcG9uZW50LFxuICAgIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBDb21wb25lbnQsXG4gICAgR2lvRmlsdGVyQ29ubmVjdG9yc0J5TW9kZVBpcGUsXG4gICAgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nQ29tcG9uZW50LFxuICAgIEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nQ29tcG9uZW50LFxuICAgIEdpb1BvbGljeVN0dWRpb1N0ZXBGb3JtQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0Q2hpcHNNb2R1bGUsXG5cbiAgICBHaW9JY29uc01vZHVsZSxcbiAgICBHaW9Gb3JtU2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgR2lvRm9ybVRhZ3NJbnB1dE1vZHVsZSxcbiAgICBHaW9CYW5uZXJNb2R1bGUsXG4gICAgR2lvRm9ybUpzb25TY2hlbWFNb2R1bGUsXG4gICAgR2lvQXNjaWlkb2N0b3JNb2R1bGUsXG4gICAgR2lvTG9hZGVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbR2lvUG9saWN5U3R1ZGlvQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbR2lvUG9saWN5U3R1ZGlvU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb01vZHVsZSB7fVxuIl19
|
|
@@ -16,27 +16,28 @@
|
|
|
16
16
|
import { ComponentHarness, parallel } from '@angular/cdk/testing';
|
|
17
17
|
import { MatButtonHarness } from '@angular/material/button/testing';
|
|
18
18
|
import { DivHarness } from '@gravitee/ui-particles-angular/testing';
|
|
19
|
+
import { MatChipListHarness } from '@angular/material/chips/testing';
|
|
19
20
|
import { GioPolicyStudioStepFormHarness } from '../step-form/gio-ps-step-form.harness';
|
|
20
21
|
export class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
21
22
|
constructor() {
|
|
22
23
|
super(...arguments);
|
|
23
|
-
this.policiesLocator = this.locatorForAll(DivHarness.with({ selector: '.
|
|
24
|
+
this.policiesLocator = this.locatorForAll(DivHarness.with({ selector: '.policiesCatalog__list__policy' }));
|
|
24
25
|
}
|
|
25
26
|
async getPhase() {
|
|
26
27
|
const phase = await this.locatorFor('.title__phase')();
|
|
27
28
|
return phase.text();
|
|
28
29
|
}
|
|
29
30
|
async getPoliciesName() {
|
|
30
|
-
const policies = await this.locatorForAll('.
|
|
31
|
+
const policies = await this.locatorForAll('.policiesCatalog__list__policy__head__name')();
|
|
31
32
|
return parallel(() => policies.map(policy => policy.text()));
|
|
32
33
|
}
|
|
33
34
|
async selectPolicy(policyName) {
|
|
34
35
|
const policies = await this.policiesLocator();
|
|
35
|
-
const policy = policies.find(async (p) => (await p.getText({ childSelector: '.
|
|
36
|
+
const policy = policies.find(async (p) => (await p.getText({ childSelector: '.policiesCatalog__list__policy__head__name' })) === policyName);
|
|
36
37
|
if (!policy) {
|
|
37
38
|
throw new Error(`Policy ${policyName} not found`);
|
|
38
39
|
}
|
|
39
|
-
const selectBtn = await policy.childLocatorFor(MatButtonHarness.with({ selector: '.
|
|
40
|
+
const selectBtn = await policy.childLocatorFor(MatButtonHarness.with({ selector: '.policiesCatalog__list__policy__selectBtn' }))();
|
|
40
41
|
await selectBtn.click();
|
|
41
42
|
}
|
|
42
43
|
async getSelectedPolicyName() {
|
|
@@ -50,6 +51,18 @@ export class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarnes
|
|
|
50
51
|
async getStepForm() {
|
|
51
52
|
return await this.locatorFor(GioPolicyStudioStepFormHarness)();
|
|
52
53
|
}
|
|
54
|
+
async getCategoriesSelection() {
|
|
55
|
+
const chipList = await this.locatorForOptional(MatChipListHarness.with({ ancestor: '.policiesCatalog__categoriesSelection' }))();
|
|
56
|
+
if (!chipList) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
const chips = await chipList.getChips();
|
|
60
|
+
return parallel(() => chips.map(async (chip) => {
|
|
61
|
+
const selected = await chip.isSelected();
|
|
62
|
+
const name = await chip.getText();
|
|
63
|
+
return { name, selected };
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
53
66
|
}
|
|
54
67
|
GioPolicyStudioPoliciesCatalogDialogHarness.hostSelector = 'gio-ps-policies-catalog-dialog';
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLXBvbGljaWVzLWNhdGFsb2ctZGlhbG9nLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3BvbGljaWVzLWNhdGFsb2ctZGlhbG9nL2dpby1wcy1wb2xpY2llcy1jYXRhbG9nLWRpYWxvZy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLE1BQU0saUNBQWlDLENBQUM7QUFFM0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkYsTUFBTSxPQUFPLDJDQUE0QyxTQUFRLGdCQUFnQjtJQUFqRjs7UUFHVSxvQkFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRSxDQUFDLENBQUMsQ0FBQztJQXNEaEgsQ0FBQztJQXBEUSxLQUFLLENBQUMsUUFBUTtRQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLDRDQUE0QyxDQUFDLEVBQUUsQ0FBQztRQUMxRixPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFrQjtRQUMxQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUMxQixLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSw0Q0FBNEMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQzdHLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFVBQVUsWUFBWSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDJDQUEyQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkksTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUI7UUFDaEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztRQUN4RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEcsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sS0FBSyxHQUEyQixNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDbkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEVBQUU7WUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUF2RGEsd0RBQVksR0FBRyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0Q2hpcExpc3RIYXJuZXNzLCBNYXRDaGlwT3B0aW9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9TdGVwRm9ybUhhcm5lc3MgfSBmcm9tICcuLi9zdGVwLWZvcm0vZ2lvLXBzLXN0ZXAtZm9ybS5oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb1BvbGljaWVzQ2F0YWxvZ0RpYWxvZ0hhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBzLXBvbGljaWVzLWNhdGFsb2ctZGlhbG9nJztcblxuICBwcml2YXRlIHBvbGljaWVzTG9jYXRvciA9IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5wb2xpY2llc0NhdGFsb2dfX2xpc3RfX3BvbGljeScgfSkpO1xuXG4gIHB1YmxpYyBhc3luYyBnZXRQaGFzZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHBoYXNlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcudGl0bGVfX3BoYXNlJykoKTtcbiAgICByZXR1cm4gcGhhc2UudGV4dCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFBvbGljaWVzTmFtZSgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgcG9saWNpZXMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoJy5wb2xpY2llc0NhdGFsb2dfX2xpc3RfX3BvbGljeV9faGVhZF9fbmFtZScpKCk7XG4gICAgcmV0dXJuIHBhcmFsbGVsKCgpID0+IHBvbGljaWVzLm1hcChwb2xpY3kgPT4gcG9saWN5LnRleHQoKSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbGVjdFBvbGljeShwb2xpY3lOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwb2xpY2llcyA9IGF3YWl0IHRoaXMucG9saWNpZXNMb2NhdG9yKCk7XG4gICAgY29uc3QgcG9saWN5ID0gcG9saWNpZXMuZmluZChcbiAgICAgIGFzeW5jIHAgPT4gKGF3YWl0IHAuZ2V0VGV4dCh7IGNoaWxkU2VsZWN0b3I6ICcucG9saWNpZXNDYXRhbG9nX19saXN0X19wb2xpY3lfX2hlYWRfX25hbWUnIH0pKSA9PT0gcG9saWN5TmFtZSxcbiAgICApO1xuICAgIGlmICghcG9saWN5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBvbGljeSAke3BvbGljeU5hbWV9IG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RCdG4gPSBhd2FpdCBwb2xpY3kuY2hpbGRMb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLnBvbGljaWVzQ2F0YWxvZ19fbGlzdF9fcG9saWN5X19zZWxlY3RCdG4nIH0pKSgpO1xuICAgIGF3YWl0IHNlbGVjdEJ0bi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkUG9saWN5TmFtZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHBvbGljeSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcignLnBvbGljeUZvcm1fX2luZm9fX2hlYWRfX25hbWUnKSgpO1xuICAgIHJldHVybiBwb2xpY3kudGV4dCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrQWRkUG9saWN5QnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFkZEJ0biA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5hY3Rpb25zX19hZGRCdG4nIH0pKSgpO1xuICAgIGF3YWl0IGFkZEJ0bi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0ZXBGb3JtKCk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvU3RlcEZvcm1IYXJuZXNzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9TdGVwRm9ybUhhcm5lc3MpKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcmllc1NlbGVjdGlvbigpOiBQcm9taXNlPHsgbmFtZTogc3RyaW5nOyBzZWxlY3RlZDogYm9vbGVhbiB9W10+IHtcbiAgICBjb25zdCBjaGlwTGlzdCA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKE1hdENoaXBMaXN0SGFybmVzcy53aXRoKHsgYW5jZXN0b3I6ICcucG9saWNpZXNDYXRhbG9nX19jYXRlZ29yaWVzU2VsZWN0aW9uJyB9KSkoKTtcbiAgICBpZiAoIWNoaXBMaXN0KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgY2hpcHM6IE1hdENoaXBPcHRpb25IYXJuZXNzW10gPSBhd2FpdCBjaGlwTGlzdC5nZXRDaGlwcygpO1xuXG4gICAgcmV0dXJuIHBhcmFsbGVsKCgpID0+XG4gICAgICBjaGlwcy5tYXAoYXN5bmMgY2hpcCA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gYXdhaXQgY2hpcC5pc1NlbGVjdGVkKCk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBhd2FpdCBjaGlwLmdldFRleHQoKTtcbiAgICAgICAgcmV0dXJuIHsgbmFtZSwgc2VsZWN0ZWQgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -91,6 +91,21 @@ export class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
91
91
|
const steps = await await this.phaseHarness(phaseType);
|
|
92
92
|
return steps ? steps : undefined;
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Get Save button state
|
|
96
|
+
*/
|
|
97
|
+
async getSaveButtonState() {
|
|
98
|
+
const saveButton = await this.locatorFor(MatButtonHarness.with({ ancestor: '.header__btn' }))();
|
|
99
|
+
const disabled = await saveButton.isDisabled();
|
|
100
|
+
const text = await saveButton.getText();
|
|
101
|
+
if (text === 'Saving...') {
|
|
102
|
+
return 'SAVING';
|
|
103
|
+
}
|
|
104
|
+
if (disabled) {
|
|
105
|
+
return 'DISABLED';
|
|
106
|
+
}
|
|
107
|
+
return 'VISIBLE';
|
|
108
|
+
}
|
|
94
109
|
/**
|
|
95
110
|
* Click on the "Save" button
|
|
96
111
|
*/
|
|
@@ -143,4 +158,4 @@ export class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
143
158
|
}
|
|
144
159
|
}
|
|
145
160
|
GioPolicyStudioHarness.hostSelector = 'gio-policy-studio';
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2dpby1wb2xpY3ktc3R1ZGlvLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUN2SixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQztBQUM3SixPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUNsSixPQUFPLEVBQUUsa0NBQWtDLEVBQWEsTUFBTSxtRUFBbUUsQ0FBQztBQUVsSSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBQTVEOztRQUdVLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRS9ELG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQWtK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LGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUMsVUFBVSxDQUFDLHlDQUF5QyxDQUFDLEVBQUUsQ0FBQztZQUUxSCxNQUFNLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJO2dCQUN4QixZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVk7Z0JBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTztnQkFDOUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVM7YUFDeEMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHNGQUFzRixDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxhQUE0QjtRQUM5RCxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRTNELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxVQUFVLENBQUMsNkNBQTZDLENBQUMsRUFBRSxDQUFDO1FBQ2hJLE1BQU0sbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsTUFBTSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztBQXZKYSxtQ0FBWSxHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBDaGFubmVsU2VsZWN0b3IsIENvbmRpdGlvblNlbGVjdG9yLCBGbG93LCBGbG93RXhlY3V0aW9uLCBIdHRwU2VsZWN0b3IgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVIYXJuZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zsb3dzLW1lbnUvZ2lvLXBzLWZsb3dzLW1lbnUuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSGFybmVzcyB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMvZ2lvLXBzLWZsb3ctZGV0YWlscy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dIYXJuZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1wcm94eS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1wcm94eS1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dFeGVjdXRpb25Gb3JtRGlhbG9nSGFybmVzcyB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1leGVjdXRpb24tZm9ybS1kaWFsb2cuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzLCBQaGFzZVR5cGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuaGFybmVzcyc7XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9IYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wb2xpY3ktc3R1ZGlvJztcblxuICBwcml2YXRlIG1lbnVIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUhhcm5lc3MpO1xuXG4gIHByaXZhdGUgZGV0YWlsc0hhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0hhcm5lc3MpO1xuXG4gIHByaXZhdGUgcGhhc2VIYXJuZXNzID0gKHBoYXNlVHlwZTogUGhhc2VUeXBlKSA9PiB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcy53aXRoKHsgdHlwZTogcGhhc2VUeXBlIH0pKSgpO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBmbG93IHRvIGEgcGxhbiBvciB0byBcIkNvbW1vbiBmbG93c1wiXG4gICAqXG4gICAqIEBwYXJhbSBncm91cE5hbWUgUGxhbiBuYW1lIHdoZXJlIHRvIGFkZCB0aGUgZmxvdy4gWW91IGFsc28gY2FuIGRlZmluZSBcIkNvbW1vbiBmbG93c1wiIHRvIGFkZCBhIGZsb3cgdG8gdGhpcyBncm91cC5cbiAgICogQHBhcmFtIGZsb3cgRmxvdyB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhZGRGbG93KGdyb3VwTmFtZTogc3RyaW5nLCBmbG93OiBGbG93KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuYWRkRmxvdyhuZXcgUmVnRXhwKGdyb3VwTmFtZSwgJ2knKSk7XG5cbiAgICBhd2FpdCB0aGlzLnNldEZsb3dGb3JtRGlhbG9nKGZsb3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVkaXQgYSBmbG93IGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBlZGl0XG4gICAqIEBwYXJhbSBmbG93XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZWRpdEZsb3dDb25maWcoZmxvd05hbWU6IHN0cmluZywgZmxvdzogUGFydGlhbDxGbG93Pik6IFByb21pc2U8dm9pZD4ge1xuICAgIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLnNlbGVjdEZsb3cobmV3IFJlZ0V4cChmbG93TmFtZSwgJ2knKSk7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKSkuY2xpY2tFZGl0Rmxvd0J0bigpO1xuXG4gICAgYXdhaXQgdGhpcy5zZXRGbG93Rm9ybURpYWxvZyhmbG93KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSBmbG93XG4gICAqXG4gICAqIEBwYXJhbSBmbG93TmFtZSBGbG93IG5hbWUgdG8gZGVsZXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlRmxvdyhmbG93TmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5jbGlja0RlbGV0ZUZsb3dCdG4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBmbG93IGluIHRoZSBtZW51XG4gICAqXG4gICAqIEBwYXJhbSBmbG93TmFtZSBGbG93IG5hbWUgdG8gc2VsZWN0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0Rmxvd0luTWVudShmbG93TmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgZmxvd3MgaW4gdGhlIG1lbnVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRGbG93c01lbnUoKTogUHJvbWlzZTxcbiAgICB7XG4gICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgZmxvd3M6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICAgaW5mb3M6IHN0cmluZyB8IG51bGw7XG4gICAgICB9W107XG4gICAgfVtdXG4gID4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5nZXRBbGxGbG93c0dyb3VwcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzZWxlY3RlZCBmbG93IGluZm9zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0ZWRGbG93SW5mb3MoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCAoc3RyaW5nIHwgbnVsbClbXT4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKSkuZ2V0Rmxvd0luZm9zKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIGZsb3cgcGhhc2UgaGFybmVzc1xuICAgKiBAcGFyYW0gcGhhc2VUeXBlIFBoYXNlIHR5cGUgdG8gZ2V0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0ZWRGbG93UGhhc2UocGhhc2VUeXBlOiBQaGFzZVR5cGUpOiBQcm9taXNlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAocGhhc2VUeXBlID09PSAnUFVCTElTSCcgfHwgcGhhc2VUeXBlID09PSAnU1VCU0NSSUJFJykge1xuICAgICAgY29uc3QgbWF0VGFic0hhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0VGFiR3JvdXBIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X190YWJzJyB9KSkoKTtcbiAgICAgIGF3YWl0IG1hdFRhYnNIYXJuZXNzLnNlbGVjdFRhYih7IGxhYmVsOiAnRXZlbnQgbWVzc2FnZXMnIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZXBzID0gYXdhaXQgYXdhaXQgdGhpcy5waGFzZUhhcm5lc3MocGhhc2VUeXBlKTtcblxuICAgIHJldHVybiBzdGVwcyA/IHN0ZXBzIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrIG9uIHRoZSBcIlNhdmVcIiBidXR0b25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgdGV4dDogL1NhdmUvIH0pKSgpKS5jbGljaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRGbG93Rm9ybURpYWxvZyhmbG93OiBQYXJ0aWFsPEZsb3c+KSB7XG4gICAgY29uc3QgY2hhbm5lbFNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDSEFOTkVMJykgYXMgQ2hhbm5lbFNlbGVjdG9yIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGh0dHBTZWxlY3RvciA9IGZsb3cuc2VsZWN0b3JzPy5maW5kKHMgPT4gcy50eXBlID09PSAnSFRUUCcpIGFzIEh0dHBTZWxlY3RvciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjb25kaXRpb25TZWxlY3RvciA9IGZsb3cuc2VsZWN0b3JzPy5maW5kKHMgPT4gcy50eXBlID09PSAnQ09ORElUSU9OJykgYXMgQ29uZGl0aW9uU2VsZWN0b3IgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoISFjaGFubmVsU2VsZWN0b3IgJiYgISFodHRwU2VsZWN0b3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2hhbm5lbCBhbmQgSFRUUCBzZWxlY3RvcnMgYXJlIG5vdCBiZSB1c2VkIHRvZ2V0aGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjaGFubmVsU2VsZWN0b3IpIHtcbiAgICAgIGNvbnN0IGZsb3dGb3JtTmV3RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nSGFybmVzcykoKTtcblxuICAgICAgY29uc3QgdG9DaGFubmVsT3BlcmF0b3IgPSB7XG4gICAgICAgIFNUQVJUU19XSVRIOiAnU3RhcnRzIHdpdGgnLFxuICAgICAgICBFUVVBTFM6ICdFcXVhbHMnLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgZmxvd0Zvcm1OZXdEaWFsb2cuc2V0Rmxvd0Zvcm1WYWx1ZXMoe1xuICAgICAgICBuYW1lOiBmbG93Lm5hbWUsXG4gICAgICAgIGNoYW5uZWw6IGNoYW5uZWxTZWxlY3Rvcj8uY2hhbm5lbCxcbiAgICAgICAgY2hhbm5lbE9wZXJhdG9yOiB0b0NoYW5uZWxPcGVyYXRvcltjaGFubmVsU2VsZWN0b3IuY2hhbm5lbE9wZXJhdG9yXSxcbiAgICAgICAgZW50cnlwb2ludHM6IGNoYW5uZWxTZWxlY3Rvcj8uZW50cnlwb2ludHMsXG4gICAgICAgIG9wZXJhdGlvbnM6IGNoYW5uZWxTZWxlY3Rvcj8ub3BlcmF0aW9ucyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNhdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaHR0cFNlbGVjdG9yKSB7XG4gICAgICBjb25zdCBmbG93Rm9ybU5ld0RpYWxvZyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKS5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zZXRGbG93Rm9ybVZhbHVlcyh7XG4gICAgICAgIG5hbWU6IGZsb3cubmFtZSxcbiAgICAgICAgcGF0aDogaHR0cFNlbGVjdG9yPy5wYXRoLFxuICAgICAgICBwYXRoT3BlcmF0b3I6IGh0dHBTZWxlY3Rvcj8ucGF0aE9wZXJhdG9yLFxuICAgICAgICBtZXRob2RzOiBodHRwU2VsZWN0b3I/Lm1ldGhvZHMsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZGl0aW9uU2VsZWN0b3I/LmNvbmRpdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zYXZlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBzZWxlY3RvciBmb3VuZCBmb3IgdGhpcyBmbG93LiBOZWVkZWQgdG8gc2VsZWN0IE1lc3NhZ2Ugb3IgUHJveHkgZmxvdyBmb3JtIGRpYWxvZy4nKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRGbG93RXhlY3V0aW9uQ29uZmlnKGZsb3dFeGVjdXRpb246IEZsb3dFeGVjdXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5vcGVuRmxvd0V4ZWN1dGlvbkNvbmZpZygpO1xuXG4gICAgY29uc3QgZmxvd0V4ZWN1dGlvbkRpYWxvZyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKS5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dFeGVjdXRpb25Gb3JtRGlhbG9nSGFybmVzcykoKTtcbiAgICBhd2FpdCBmbG93RXhlY3V0aW9uRGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKGZsb3dFeGVjdXRpb24pO1xuICAgIGF3YWl0IGZsb3dFeGVjdXRpb25EaWFsb2cuc2F2ZSgpO1xuICB9XG59XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2dpby1wb2xpY3ktc3R1ZGlvLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUN2SixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQztBQUM3SixPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUNsSixPQUFPLEVBQUUsa0NBQWtDLEVBQWEsTUFBTSxtRUFBbUUsQ0FBQztBQUVsSSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBQTVEOztRQUdVLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRS9ELG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQXFL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RyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLENBQUM7UUFDaEksTUFBTSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxNQUFNLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7O0FBMUthLG1DQUFZLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IENoYW5uZWxTZWxlY3RvciwgQ29uZGl0aW9uU2VsZWN0b3IsIEZsb3csIEZsb3dFeGVjdXRpb24sIEh0dHBTZWxlY3RvciB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dzTWVudUhhcm5lc3MgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvd3MtbWVudS9naW8tcHMtZmxvd3MtbWVudS5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNIYXJuZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LXByb3h5LWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nSGFybmVzcyB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWZvcm0tZGlhbG9nL2Zsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MsIFBoYXNlVHlwZSB9IGZyb20gJy4vY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0hhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBvbGljeS1zdHVkaW8nO1xuXG4gIHByaXZhdGUgbWVudUhhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd3NNZW51SGFybmVzcyk7XG5cbiAgcHJpdmF0ZSBkZXRhaWxzSGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSGFybmVzcyk7XG5cbiAgcHJpdmF0ZSBwaGFzZUhhcm5lc3MgPSAocGhhc2VUeXBlOiBQaGFzZVR5cGUpID0+IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzLndpdGgoeyB0eXBlOiBwaGFzZVR5cGUgfSkpKCk7XG5cbiAgLyoqXG4gICAqIEFkZCBhIGZsb3cgdG8gYSBwbGFuIG9yIHRvIFwiQ29tbW9uIGZsb3dzXCJcbiAgICpcbiAgICogQHBhcmFtIGdyb3VwTmFtZSBQbGFuIG5hbWUgd2hlcmUgdG8gYWRkIHRoZSBmbG93LiBZb3UgYWxzbyBjYW4gZGVmaW5lIFwiQ29tbW9uIGZsb3dzXCIgdG8gYWRkIGEgZmxvdyB0byB0aGlzIGdyb3VwLlxuICAgKiBAcGFyYW0gZmxvdyBGbG93IHRvIGFkZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFkZEZsb3coZ3JvdXBOYW1lOiBzdHJpbmcsIGZsb3c6IEZsb3cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5hZGRGbG93KG5ldyBSZWdFeHAoZ3JvdXBOYW1lLCAnaScpKTtcblxuICAgIGF3YWl0IHRoaXMuc2V0Rmxvd0Zvcm1EaWFsb2coZmxvdyk7XG4gIH1cblxuICAvKipcbiAgICogRWRpdCBhIGZsb3cgY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gZmxvd05hbWUgRmxvdyBuYW1lIHRvIGVkaXRcbiAgICogQHBhcmFtIGZsb3dcbiAgICovXG4gIHB1YmxpYyBhc3luYyBlZGl0Rmxvd0NvbmZpZyhmbG93TmFtZTogc3RyaW5nLCBmbG93OiBQYXJ0aWFsPEZsb3c+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5jbGlja0VkaXRGbG93QnRuKCk7XG5cbiAgICBhd2FpdCB0aGlzLnNldEZsb3dGb3JtRGlhbG9nKGZsb3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIGZsb3dcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVGbG93KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmRldGFpbHNIYXJuZXNzKCkpLmNsaWNrRGVsZXRlRmxvd0J0bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIGZsb3cgaW4gdGhlIG1lbnVcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBzZWxlY3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RGbG93SW5NZW51KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBmbG93cyBpbiB0aGUgbWVudVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZsb3dzTWVudSgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICBmbG93czoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBpbmZvczogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1bXTtcbiAgICB9W11cbiAgPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLmdldEFsbEZsb3dzR3JvdXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIGZsb3cgaW5mb3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dJbmZvcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIChzdHJpbmcgfCBudWxsKVtdPj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5nZXRGbG93SW5mb3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VsZWN0ZWQgZmxvdyBwaGFzZSBoYXJuZXNzXG4gICAqIEBwYXJhbSBwaGFzZVR5cGUgUGhhc2UgdHlwZSB0byBnZXRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dQaGFzZShwaGFzZVR5cGU6IFBoYXNlVHlwZSk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmIChwaGFzZVR5cGUgPT09ICdQVUJMSVNIJyB8fCBwaGFzZVR5cGUgPT09ICdTVUJTQ1JJQkUnKSB7XG4gICAgICBjb25zdCBtYXRUYWJzSGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRUYWJHcm91cEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3RhYnMnIH0pKSgpO1xuICAgICAgYXdhaXQgbWF0VGFic0hhcm5lc3Muc2VsZWN0VGFiKHsgbGFiZWw6ICdFdmVudCBtZXNzYWdlcycgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCBhd2FpdCB0aGlzLnBoYXNlSGFybmVzcyhwaGFzZVR5cGUpO1xuXG4gICAgcmV0dXJuIHN0ZXBzID8gc3RlcHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFNhdmUgYnV0dG9uIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2F2ZUJ1dHRvblN0YXRlKCk6IFByb21pc2U8J1ZJU0lCTEUnIHwgJ0RJU0FCTEVEJyB8ICdTQVZJTkcnPiB7XG4gICAgY29uc3Qgc2F2ZUJ1dHRvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5oZWFkZXJfX2J0bicgfSkpKCk7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCBzYXZlQnV0dG9uLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgc2F2ZUJ1dHRvbi5nZXRUZXh0KCk7XG5cbiAgICBpZiAodGV4dCA9PT0gJ1NhdmluZy4uLicpIHtcbiAgICAgIHJldHVybiAnU0FWSU5HJztcbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHJldHVybiAnVklTSUJMRSc7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgb24gdGhlIFwiU2F2ZVwiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyB0ZXh0OiAvU2F2ZS8gfSkpKCkpLmNsaWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEZsb3dGb3JtRGlhbG9nKGZsb3c6IFBhcnRpYWw8Rmxvdz4pIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSBmbG93LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3IgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbmRpdGlvblNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDT05ESVRJT04nKSBhcyBDb25kaXRpb25TZWxlY3RvciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghIWNoYW5uZWxTZWxlY3RvciAmJiAhIWh0dHBTZWxlY3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGFubmVsIGFuZCBIVFRQIHNlbGVjdG9ycyBhcmUgbm90IGJlIHVzZWQgdG9nZXRoZXIuJyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5uZWxTZWxlY3Rvcikge1xuICAgICAgY29uc3QgZmxvd0Zvcm1OZXdEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuXG4gICAgICBjb25zdCB0b0NoYW5uZWxPcGVyYXRvciA9IHtcbiAgICAgICAgU1RBUlRTX1dJVEg6ICdTdGFydHMgd2l0aCcsXG4gICAgICAgIEVRVUFMUzogJ0VxdWFscycsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zZXRGbG93Rm9ybVZhbHVlcyh7XG4gICAgICAgIG5hbWU6IGZsb3cubmFtZSxcbiAgICAgICAgY2hhbm5lbDogY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsLFxuICAgICAgICBjaGFubmVsT3BlcmF0b3I6IHRvQ2hhbm5lbE9wZXJhdG9yW2NoYW5uZWxTZWxlY3Rvci5jaGFubmVsT3BlcmF0b3JdLFxuICAgICAgICBlbnRyeXBvaW50czogY2hhbm5lbFNlbGVjdG9yPy5lbnRyeXBvaW50cyxcbiAgICAgICAgb3BlcmF0aW9uczogY2hhbm5lbFNlbGVjdG9yPy5vcGVyYXRpb25zLFxuICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvblNlbGVjdG9yPy5jb25kaXRpb24sXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZmxvd0Zvcm1OZXdEaWFsb2cuc2F2ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChodHRwU2VsZWN0b3IpIHtcbiAgICAgIGNvbnN0IGZsb3dGb3JtTmV3RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MpKCk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKHtcbiAgICAgICAgbmFtZTogZmxvdy5uYW1lLFxuICAgICAgICBwYXRoOiBodHRwU2VsZWN0b3I/LnBhdGgsXG4gICAgICAgIHBhdGhPcGVyYXRvcjogaHR0cFNlbGVjdG9yPy5wYXRoT3BlcmF0b3IsXG4gICAgICAgIG1ldGhvZHM6IGh0dHBTZWxlY3Rvcj8ubWV0aG9kcyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNhdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNlbGVjdG9yIGZvdW5kIGZvciB0aGlzIGZsb3cuIE5lZWRlZCB0byBzZWxlY3QgTWVzc2FnZSBvciBQcm94eSBmbG93IGZvcm0gZGlhbG9nLicpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dFeGVjdXRpb25Db25maWcoZmxvd0V4ZWN1dGlvbjogRmxvd0V4ZWN1dGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLm9wZW5GbG93RXhlY3V0aW9uQ29uZmlnKCk7XG5cbiAgICBjb25zdCBmbG93RXhlY3V0aW9uRGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGZsb3dFeGVjdXRpb25EaWFsb2cuc2V0Rmxvd0Zvcm1WYWx1ZXMoZmxvd0V4ZWN1dGlvbik7XG4gICAgYXdhaXQgZmxvd0V4ZWN1dGlvbkRpYWxvZy5zYXZlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,6 +9,7 @@ import { MatSelectHarness } from '@angular/material/select/testing';
|
|
|
9
9
|
import { GioFormTagsInputHarness } from '@gravitee/ui-particles-angular';
|
|
10
10
|
import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing';
|
|
11
11
|
import { MatMenuHarness } from '@angular/material/menu/testing';
|
|
12
|
+
import { MatChipListHarness } from '@angular/material/chips/testing';
|
|
12
13
|
|
|
13
14
|
/*
|
|
14
15
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -1004,7 +1005,7 @@ GioPolicyStudioStepEditDialogHarness.hostSelector = 'gio-ps-step-edit-dialog';
|
|
|
1004
1005
|
class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
1005
1006
|
constructor() {
|
|
1006
1007
|
super(...arguments);
|
|
1007
|
-
this.policiesLocator = this.locatorForAll(DivHarness.with({ selector: '.
|
|
1008
|
+
this.policiesLocator = this.locatorForAll(DivHarness.with({ selector: '.policiesCatalog__list__policy' }));
|
|
1008
1009
|
}
|
|
1009
1010
|
getPhase() {
|
|
1010
1011
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1014,18 +1015,18 @@ class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
|
1014
1015
|
}
|
|
1015
1016
|
getPoliciesName() {
|
|
1016
1017
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1017
|
-
const policies = yield this.locatorForAll('.
|
|
1018
|
+
const policies = yield this.locatorForAll('.policiesCatalog__list__policy__head__name')();
|
|
1018
1019
|
return parallel(() => policies.map(policy => policy.text()));
|
|
1019
1020
|
});
|
|
1020
1021
|
}
|
|
1021
1022
|
selectPolicy(policyName) {
|
|
1022
1023
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1023
1024
|
const policies = yield this.policiesLocator();
|
|
1024
|
-
const policy = policies.find((p) => __awaiter(this, void 0, void 0, function* () { return (yield p.getText({ childSelector: '.
|
|
1025
|
+
const policy = policies.find((p) => __awaiter(this, void 0, void 0, function* () { return (yield p.getText({ childSelector: '.policiesCatalog__list__policy__head__name' })) === policyName; }));
|
|
1025
1026
|
if (!policy) {
|
|
1026
1027
|
throw new Error(`Policy ${policyName} not found`);
|
|
1027
1028
|
}
|
|
1028
|
-
const selectBtn = yield policy.childLocatorFor(MatButtonHarness.with({ selector: '.
|
|
1029
|
+
const selectBtn = yield policy.childLocatorFor(MatButtonHarness.with({ selector: '.policiesCatalog__list__policy__selectBtn' }))();
|
|
1029
1030
|
yield selectBtn.click();
|
|
1030
1031
|
});
|
|
1031
1032
|
}
|
|
@@ -1046,6 +1047,20 @@ class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
|
1046
1047
|
return yield this.locatorFor(GioPolicyStudioStepFormHarness)();
|
|
1047
1048
|
});
|
|
1048
1049
|
}
|
|
1050
|
+
getCategoriesSelection() {
|
|
1051
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1052
|
+
const chipList = yield this.locatorForOptional(MatChipListHarness.with({ ancestor: '.policiesCatalog__categoriesSelection' }))();
|
|
1053
|
+
if (!chipList) {
|
|
1054
|
+
return [];
|
|
1055
|
+
}
|
|
1056
|
+
const chips = yield chipList.getChips();
|
|
1057
|
+
return parallel(() => chips.map((chip) => __awaiter(this, void 0, void 0, function* () {
|
|
1058
|
+
const selected = yield chip.isSelected();
|
|
1059
|
+
const name = yield chip.getText();
|
|
1060
|
+
return { name, selected };
|
|
1061
|
+
})));
|
|
1062
|
+
});
|
|
1063
|
+
}
|
|
1049
1064
|
}
|
|
1050
1065
|
GioPolicyStudioPoliciesCatalogDialogHarness.hostSelector = 'gio-ps-policies-catalog-dialog';
|
|
1051
1066
|
|
|
@@ -1235,6 +1250,23 @@ class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
1235
1250
|
return steps ? steps : undefined;
|
|
1236
1251
|
});
|
|
1237
1252
|
}
|
|
1253
|
+
/**
|
|
1254
|
+
* Get Save button state
|
|
1255
|
+
*/
|
|
1256
|
+
getSaveButtonState() {
|
|
1257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1258
|
+
const saveButton = yield this.locatorFor(MatButtonHarness.with({ ancestor: '.header__btn' }))();
|
|
1259
|
+
const disabled = yield saveButton.isDisabled();
|
|
1260
|
+
const text = yield saveButton.getText();
|
|
1261
|
+
if (text === 'Saving...') {
|
|
1262
|
+
return 'SAVING';
|
|
1263
|
+
}
|
|
1264
|
+
if (disabled) {
|
|
1265
|
+
return 'DISABLED';
|
|
1266
|
+
}
|
|
1267
|
+
return 'VISIBLE';
|
|
1268
|
+
});
|
|
1269
|
+
}
|
|
1238
1270
|
/**
|
|
1239
1271
|
* Click on the "Save" button
|
|
1240
1272
|
*/
|