@gnggln/ng-ui-system 1.0.0-alpha.21 → 1.0.0-alpha.22
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/crud-table/lib/components/form-builder/types/schema.types.d.ts +20 -0
- package/crud-table/lib/core/logging/logger.service.d.ts +1 -1
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +1 -1
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +1 -1
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +1 -1
- package/esm2022/crud-table/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/crud-table/lib/core/logging/logger.service.mjs +1 -1
- package/esm2022/form-builder/lib/components/form-builder/form-wizard.component.mjs +105 -18
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +1 -1
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +1 -1
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +1 -1
- package/esm2022/form-builder/lib/components/form-builder/types/index.mjs +1 -1
- package/esm2022/form-builder/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/form-builder/lib/core/logging/logger.service.mjs +1 -1
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +1 -1
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +1 -1
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +1 -1
- package/esm2022/form-builder-editor/lib/components/form-builder/types/index.mjs +1 -1
- package/esm2022/form-builder-editor/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/form-builder-editor/lib/core/logging/logger.service.mjs +1 -1
- package/esm2022/lib/components/form-builder/form-wizard.component.mjs +105 -18
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +1 -1
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +1 -1
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/index.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/lib/core/logging/logger.service.mjs +1 -1
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs.map +1 -1
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs.map +1 -1
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs +104 -17
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs.map +1 -1
- package/fesm2022/gnggln-ng-ui-system.mjs +104 -17
- package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
- package/form-builder/lib/components/form-builder/form-wizard.component.d.ts +10 -1
- package/form-builder/lib/components/form-builder/types/index.d.ts +1 -1
- package/form-builder/lib/components/form-builder/types/schema.types.d.ts +20 -0
- package/form-builder/lib/core/logging/logger.service.d.ts +1 -1
- package/form-builder-editor/lib/components/form-builder/types/index.d.ts +1 -1
- package/form-builder-editor/lib/components/form-builder/types/schema.types.d.ts +20 -0
- package/form-builder-editor/lib/core/logging/logger.service.d.ts +1 -1
- package/lib/components/form-builder/form-wizard.component.d.ts +10 -1
- package/lib/components/form-builder/types/index.d.ts +1 -1
- package/lib/components/form-builder/types/schema.types.d.ts +20 -0
- package/lib/core/logging/logger.service.d.ts +1 -1
- package/package.json +30 -30
|
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
123
123
|
}], blurred: [{
|
|
124
124
|
type: Output
|
|
125
125
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvc3ViLWNvbXBvbmVudHMvZm9ybS1maWVsZHMvZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvc3ViLWNvbXBvbmVudHMvZm9ybS1maWVsZHMvZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEVBRU4saUJBQWlCLEVBRWpCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMs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QyxJQUFJLEVBQUUsQ0FBQztJQUV0QixDQUFDOytHQTVJVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixzWkFSMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywwQkNsRmhGLHVqTEEySUEsK3hJRDdFSSxtQkFBbUIsc2hDQUVuQixrQkFBa0Isd2dCQUVsQixjQUFjLDBXQUVkLGVBQWUsbXJCQUVmLHFCQUFxQix1ckJBRXJCLGdCQUFnQiw0VEFFaEIsbUJBQW1COzs0RkFnQlYsMEJBQTBCO2tCQXBDdEMsU0FBUzsrQkFFRSxzQkFBc0IsY0FFcEIsSUFBSSxXQUVQO3dCQUVQLG1CQUFtQjt3QkFFbkIsa0JBQWtCO3dCQUVsQixjQUFjO3dCQUVkLGVBQWU7d0JBRWYscUJBQXFCO3dCQUVyQixnQkFBZ0I7d0JBRWhCLG1CQUFtQjtxQkFFcEIsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBRWhDLGlCQUFpQixDQUFDLElBQUksYUFFMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs4QkFjckUsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcclxuICBDb21wb25lbnQsXHJcclxuICBFdmVudEVtaXR0ZXIsXHJcclxuICBJbnB1dCxcclxyXG4gIE91dHB1dCxcclxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXHJcbiAgaW5qZWN0LFxyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxyXG5pbXBvcnQgeyBVaUZvcm1FcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tZXJyb3Itc3RhdGUubWF0Y2hlcic7XHJcclxuaW1wb3J0IHsgVWlGb3JtRmllbGRFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkLWVycm9yLnNlcnZpY2UnO1xyXHJcbmltcG9ydCB7IFVpRmllbGRPcHRpb24sIFVpRm9ybUZpZWxkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL3R5cGVzL2ZpZWxkLnR5cGVzJztcclxyXG5pbXBvcnQgeyBVaVZhbGlkYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdmFsaWRhdGlvbi50eXBlcyc7XHJcclxuXHJcclxuLyoqXHJcclxuICogQ2FtcG8gYXRvbWljbyBzZWxlY3QgKG1hdC1zZWxlY3QgbyBhdXRvY29tcGxldGUgc2VhcmNoYWJsZSkuXHJcclxuICpcclxyXG4gKiBAc2VsZWN0b3IgdWktZm9ybS1zZWxlY3QtZmllbGRcclxyXG4gKi9cclxyXG5AQ29tcG9uZW50KHtcclxyXG4gIHNlbGVjdG9yOiAndWktZm9ybS1zZWxlY3QtZmllbGQnLFxyXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxyXG4gIGltcG9ydHM6IFtcclxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcclxuICAgIEx1Y2lkZUFuZ3VsYXJNb2R1bGUsXHJcclxuICBdLFxyXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBFcnJvclN0YXRlTWF0Y2hlciwgdXNlQ2xhc3M6IFVpRm9ybUVycm9yU3RhdGVNYXRjaGVyIH1dLFxyXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxyXG4gIHN0eWxlVXJsOiAnLi9mb3JtLWZpZWxkcy5zY3NzJyxcclxyXG59KVxyXHJcbmV4cG9ydCBjbGFzcyBVaUZvcm1TZWxlY3RGaWVsZENvbXBvbmVudCB7XHJcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkRXJyb3JTZXJ2aWNlID0gaW5qZWN0KFVpRm9ybUZpZWxkRXJyb3JTZXJ2aWNlKTtcclxyXG5cclxyXG4gIEBJbnB1dCgpIGZpZWxkPzogVWlGb3JtRmllbGREZXNjcmlwdG9yO1xyXHJcbiAgQElucHV0KCkgZm9ybUdyb3VwPzogRm9ybUdyb3VwO1xyXHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxyXG4gIEBJbnB1dCgpIGVycm9yczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcclxyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFVpRmllbGRPcHRpb25bXSA9IFtdO1xyXHJcblxyXHJcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sO1xyXHJcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XHJcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcclxyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSBmYWxzZTtcclxyXG4gIEBJbnB1dCgpIGhpZGVFbXB0eU9wdGlvbiA9IGZhbHNlO1xyXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvblJ1bGVzPzogVWlWYWxpZGF0aW9uUnVsZVtdO1xyXHJcblxyXHJcbiAgQE91dHB1dCgpIG9wdGlvbnNGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxyXG4gIEBPdXRwdXQoKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXHJcblxyXHJcbiAgZ2V0IGVmZmVjdGl2ZUxhYmVsKCk6IHN0cmluZyB7XHJcclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy5sYWJlbCA/PyB0aGlzLmxhYmVsID8/ICcnO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IGVmZmVjdGl2ZVBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy5wbGFjZWhvbGRlciA/PyB0aGlzLnBsYWNlaG9sZGVyID8/ICcnO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IGlzUmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcclxuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZmllbGQ/LnJlYWRvbmx5ID09PSB0cnVlO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IGlzU2VhcmNoYWJsZSgpOiBib29sZWFuIHtcclxyXG4gICAgcmV0dXJuIHRoaXMuZmllbGQ/LnNlYXJjaGFibGUgPT09IHRydWUgfHwgdGhpcy5zZWFyY2hhYmxlO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IHNob3dFbXB0eU9wdGlvbigpOiBib29sZWFuIHtcclxyXG4gICAgaWYgKHRoaXMuZmllbGQpIHJldHVybiAhdGhpcy5maWVsZC5oaWRlRW1wdHlPcHRpb247XHJcclxuICAgIHJldHVybiAhdGhpcy5oaWRlRW1wdHlPcHRpb247XHJcclxuICB9XHJcclxuXHJcclxuICBnZXQgZWZmZWN0aXZlT3B0aW9ucygpOiBVaUZpZWxkT3B0aW9uW10ge1xyXHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IGVmZmVjdGl2ZVJ1bGVzKCk6IFVpVmFsaWRhdGlvblJ1bGVbXSB7XHJcclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy52YWxpZGF0aW9uID8/IHRoaXMudmFsaWRhdGlvblJ1bGVzID8/IFtdO1xyXHJcbiAgfVxyXHJcblxyXHJcbiAgZ2V0IGZpZWxkQ29udHJvbCgpOiBGb3JtQ29udHJvbCB8IG51bGwge1xyXHJcbiAgICBpZiAoIXRoaXMuZmllbGQgfHwgIXRoaXMuZm9ybUdyb3VwKSByZXR1cm4gbnVsbDtcclxyXG4gICAgY29uc3QgYyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZpZWxkLmtleSk7XHJcclxuICAgIHJldHVybiBjIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wgPyBjIDogbnVsbDtcclxyXG4gIH1cclxyXG5cclxyXG4gIHJlc29sdmVkRXJyb3JzKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxyXG4gICAgaWYgKHRoaXMuZXJyb3JzICE9IG51bGwpIHJldHVybiB0aGlzLmVycm9ycztcclxyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRFcnJvclNlcnZpY2UuZ2V0RmllbGRFcnJvcnMoY29udHJvbCwgdGhpcy5lZmZlY3RpdmVSdWxlcyk7XHJcclxuICB9XHJcclxuXHJcclxuICBkaXNwbGF5V2l0aCA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XHJcclxuICAgIGNvbnN0IG9wdCA9IHRoaXMuZWZmZWN0aXZlT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB2YWx1ZSk7XHJcclxuICAgIHJldHVybiBvcHQ/LmxhYmVsID8/ICcnO1xyXHJcbiAgfTtcclxyXG5cclxyXG4gIG9uSW5wdXQocXVlcnk6IHN0cmluZyk6IHZvaWQge1xyXHJcbiAgICB0aGlzLm9wdGlvbnNGaWx0ZXIuZW1pdChxdWVyeSk7XHJcclxuICB9XHJcclxuXHJcclxuICBvbkJsdXIoKTogdm9pZCB7XHJcclxuICAgIHRoaXMuYmx1cnJlZC5lbWl0KCk7XHJcclxuICB9XHJcclxufVxyXHJcblxyIiwiQGlmIChmaWVsZCAmJiBmb3JtR3JvdXApIHtcclxuICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJ1aS1mYi1maWVsZC1jdHhcIj5cclxuICAgIEBpZiAoaXNTZWFyY2hhYmxlKSB7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgZWZmZWN0aXZlTGFiZWwgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmtleVwiXHJcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cInNlbGVjdEF1dG9cIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVmZmVjdGl2ZVBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJpc1JlYWRvbmx5XCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcclxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZWxlY3RBdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlXaXRoXCI+XHJcbiAgICAgICAgICBAZm9yIChvcHQgb2YgZWZmZWN0aXZlT3B0aW9uczsgdHJhY2sgb3B0LnZhbHVlKSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHQudmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0LmRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgQGlmIChvcHQuaWNvbikge1xyXG4gICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uIFtuYW1lXT1cIm9wdC5pY29uXCIgW3NpemVdPVwiMTZcIiBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fb3B0aW9uLWljb25cIiAvPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB7eyBvcHQubGFiZWwgfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgQGZvciAoZXJyIG9mIHJlc29sdmVkRXJyb3JzKGZpZWxkQ29udHJvbCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8ZGl2Pnt7IGVyciB9fTwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgZWZmZWN0aXZlTGFiZWwgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmtleVwiIFtwbGFjZWhvbGRlcl09XCJlZmZlY3RpdmVQbGFjZWhvbGRlclwiPlxyXG4gICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb24pIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIj4tLTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBmb3IgKG9wdCBvZiBlZmZlY3RpdmVPcHRpb25zOyB0cmFjayBvcHQudmFsdWUpIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdC52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHQuZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICBAaWYgKG9wdC5pY29uKSB7XHJcbiAgICAgICAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwib3B0Lmljb25cIiBbc2l6ZV09XCIxNlwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19vcHRpb24taWNvblwiIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxyXG4gICAgICAgICAgICAgIEBpZiAob3B0LnRvb2x0aXApIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvblxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE0XCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwib3B0LnRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fb3B0aW9uLWluZm9cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgQGlmIChmaWVsZC5pY29uVG9vbHRpcCkge1xyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5pY29uVG9vbHRpcC50ZXh0XCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWVsZC5pY29uVG9vbHRpcC50ZXh0XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGx1Y2lkZS1pY29uIFtuYW1lXT1cImZpZWxkLmljb25Ub29sdGlwLmljb24gfHwgJ2luZm8nXCIgW3NpemVdPVwiMThcIiAvPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICBAZm9yIChlcnIgb2YgcmVzb2x2ZWRFcnJvcnMoZmllbGRDb250cm9sKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXY+e3sgZXJyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn0gQGVsc2UgaWYgKGNvbnRyb2wpIHtcclxuICA8ZGl2IGNsYXNzPVwidWktZm9ybS1maWVsZC1hdG9tXCI+XHJcbiAgICBAaWYgKGlzU2VhcmNoYWJsZSkge1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cclxuICAgICAgICBAaWYgKGVmZmVjdGl2ZUxhYmVsKSB7XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGVmZmVjdGl2ZUxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwic2VsZWN0QXV0b1N0YW5kYWxvbmVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVmZmVjdGl2ZVBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcclxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZWxlY3RBdXRvU3RhbmRhbG9uZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aFwiPlxyXG4gICAgICAgICAgQGZvciAob3B0IG9mIGVmZmVjdGl2ZU9wdGlvbnM7IHRyYWNrIG9wdC52YWx1ZSkge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgIEBpZiAob3B0Lmljb24pIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJvcHQuaWNvblwiIFtzaXplXT1cIjE2XCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX29wdGlvbi1pY29uXCIgLz5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAge3sgb3B0LmxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgIEBmb3IgKGVyciBvZiByZXNvbHZlZEVycm9ycyhjb250cm9sKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXY+e3sgZXJyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX2Z1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgICAgQGlmIChlZmZlY3RpdmVMYWJlbCkge1xyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBlZmZlY3RpdmVMYWJlbCB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJlZmZlY3RpdmVQbGFjZWhvbGRlclwiPlxyXG4gICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb24pIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIj4tLTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBmb3IgKG9wdCBvZiBlZmZlY3RpdmVPcHRpb25zOyB0cmFjayBvcHQudmFsdWUpIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdC52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHQuZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICBAaWYgKG9wdC5pY29uKSB7XHJcbiAgICAgICAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwib3B0Lmljb25cIiBbc2l6ZV09XCIxNlwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19vcHRpb24taWNvblwiIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxyXG4gICAgICAgICAgICAgIEBpZiAob3B0LnRvb2x0aXApIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvblxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE0XCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwib3B0LnRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fb3B0aW9uLWluZm9cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgIEBmb3IgKGVyciBvZiByZXNvbHZlZEVycm9ycyhjb250cm9sKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXY+e3sgZXJyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvc3ViLWNvbXBvbmVudHMvZm9ybS1maWVsZHMvZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvc3ViLWNvbXBvbmVudHMvZm9ybS1maWVsZHMvZm9ybS1zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEVBRU4saUJBQWlCLEVBRWpCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7OztBQVFsRjs7Ozs7Ozs7R0FRRztBQXNDSCxNQUFNLE9BQU8sMEJBQTBCO0lBcEN2QztRQXNDbUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFRNUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixXQUFNLEdBQW9CLElBQUksQ0FBQztRQUUvQixZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQVU5QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBTXZCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUzQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQW9GN0MsZ0JBQVcsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFO1lBRXZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFFakUsT0FBTyxHQUFHLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUUxQixDQUFDLENBQUM7S0FrQkg7SUF4R0MsSUFBSSxjQUFjO1FBRWhCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFFL0MsQ0FBQztJQUlELElBQUksb0JBQW9CO1FBRXRCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFFM0QsQ0FBQztJQUlELElBQUksVUFBVTtRQUVaLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFFeEQsQ0FBQztJQUlELElBQUksWUFBWTtRQUVkLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7SUFFNUQsQ0FBQztJQUlELElBQUksZUFBZTtRQUVqQixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBRW5ELE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBRS9CLENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUVsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFFdEIsQ0FBQztJQUlELElBQUksY0FBYztRQUVoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO0lBRTlELENBQUM7SUFJRCxJQUFJLFlBQVk7UUFFZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFaEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QyxPQUFPLENBQUMsWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTdDLENBQUM7SUFJRCxjQUFjLENBQUMsT0FBMkI7UUFFeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFN0UsQ0FBQztJQWNELE9BQU8sQ0FBQyxLQUFhO1FBRW5CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpDLENBQUM7SUFJRCxNQUFNO1FBRUosSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV0QixDQUFDOytHQTVJVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixzWkFSMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywwQkNsRmhGLHVqTEEySUEsK3hJRDdFSSxtQkFBbUIsc2hDQUVuQixrQkFBa0Isd2dCQUVsQixjQUFjLDBXQUVkLGVBQWUsbXJCQUVmLHFCQUFxQix1ckJBRXJCLGdCQUFnQiw0VEFFaEIsbUJBQW1COzs0RkFnQlYsMEJBQTBCO2tCQXBDdEMsU0FBUzsrQkFFRSxzQkFBc0IsY0FFcEIsSUFBSSxXQUVQO3dCQUVQLG1CQUFtQjt3QkFFbkIsa0JBQWtCO3dCQUVsQixjQUFjO3dCQUVkLGVBQWU7d0JBRWYscUJBQXFCO3dCQUVyQixnQkFBZ0I7d0JBRWhCLG1CQUFtQjtxQkFFcEIsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBRWhDLGlCQUFpQixDQUFDLElBQUksYUFFMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs4QkFjckUsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuXHJcbiAgQ29tcG9uZW50LFxyXG5cclxuICBFdmVudEVtaXR0ZXIsXHJcblxyXG4gIElucHV0LFxyXG5cclxuICBPdXRwdXQsXHJcblxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG5cclxuICBpbmplY3QsXHJcblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5cclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcblxyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuXHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlIH0gZnJvbSAnbHVjaWRlLWFuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgVWlGb3JtRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLWVycm9yLXN0YXRlLm1hdGNoZXInO1xyXG5cclxuaW1wb3J0IHsgVWlGb3JtRmllbGRFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkLWVycm9yLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgVWlGaWVsZE9wdGlvbiwgVWlGb3JtRmllbGREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvZmllbGQudHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgVWlWYWxpZGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3ZhbGlkYXRpb24udHlwZXMnO1xyXG5cclxuXHJcblxyXG4vKipcclxuXHJcbiAqIENhbXBvIGF0b21pY28gc2VsZWN0IChtYXQtc2VsZWN0IG8gYXV0b2NvbXBsZXRlIHNlYXJjaGFibGUpLlxyXG5cclxuICpcclxuXHJcbiAqIEBzZWxlY3RvciB1aS1mb3JtLXNlbGVjdC1maWVsZFxyXG5cclxuICovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICd1aS1mb3JtLXNlbGVjdC1maWVsZCcsXHJcblxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcblxyXG4gIGltcG9ydHM6IFtcclxuXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcblxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG5cclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcblxyXG4gICAgTHVjaWRlQW5ndWxhck1vZHVsZSxcclxuXHJcbiAgXSxcclxuXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRXJyb3JTdGF0ZU1hdGNoZXIsIHVzZUNsYXNzOiBVaUZvcm1FcnJvclN0YXRlTWF0Y2hlciB9XSxcclxuXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuXHJcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGRzLnNjc3MnLFxyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVaUZvcm1TZWxlY3RGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRFcnJvclNlcnZpY2UgPSBpbmplY3QoVWlGb3JtRmllbGRFcnJvclNlcnZpY2UpO1xyXG5cclxuXHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkPzogVWlGb3JtRmllbGREZXNjcmlwdG9yO1xyXG5cclxuICBASW5wdXQoKSBmb3JtR3JvdXA/OiBGb3JtR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGVycm9yczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogVWlGaWVsZE9wdGlvbltdID0gW107XHJcblxyXG5cclxuXHJcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sO1xyXG5cclxuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgaGlkZUVtcHR5T3B0aW9uID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25SdWxlcz86IFVpVmFsaWRhdGlvblJ1bGVbXTtcclxuXHJcblxyXG5cclxuICBAT3V0cHV0KCkgb3B0aW9uc0ZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYmx1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcblxyXG5cclxuICBnZXQgZWZmZWN0aXZlTGFiZWwoKTogc3RyaW5nIHtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5maWVsZD8ubGFiZWwgPz8gdGhpcy5sYWJlbCA/PyAnJztcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldCBlZmZlY3RpdmVQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy5wbGFjZWhvbGRlciA/PyB0aGlzLnBsYWNlaG9sZGVyID8/ICcnO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0IGlzUmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHkgfHwgdGhpcy5maWVsZD8ucmVhZG9ubHkgPT09IHRydWU7XHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXQgaXNTZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy5zZWFyY2hhYmxlID09PSB0cnVlIHx8IHRoaXMuc2VhcmNoYWJsZTtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldCBzaG93RW1wdHlPcHRpb24oKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKHRoaXMuZmllbGQpIHJldHVybiAhdGhpcy5maWVsZC5oaWRlRW1wdHlPcHRpb247XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLmhpZGVFbXB0eU9wdGlvbjtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldCBlZmZlY3RpdmVPcHRpb25zKCk6IFVpRmllbGRPcHRpb25bXSB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucztcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldCBlZmZlY3RpdmVSdWxlcygpOiBVaVZhbGlkYXRpb25SdWxlW10ge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmZpZWxkPy52YWxpZGF0aW9uID8/IHRoaXMudmFsaWRhdGlvblJ1bGVzID8/IFtdO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0IGZpZWxkQ29udHJvbCgpOiBGb3JtQ29udHJvbCB8IG51bGwge1xyXG5cclxuICAgIGlmICghdGhpcy5maWVsZCB8fCAhdGhpcy5mb3JtR3JvdXApIHJldHVybiBudWxsO1xyXG5cclxuICAgIGNvbnN0IGMgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5rZXkpO1xyXG5cclxuICAgIHJldHVybiBjIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wgPyBjIDogbnVsbDtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHJlc29sdmVkRXJyb3JzKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxuXHJcbiAgICBpZiAodGhpcy5lcnJvcnMgIT0gbnVsbCkgcmV0dXJuIHRoaXMuZXJyb3JzO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmZpZWxkRXJyb3JTZXJ2aWNlLmdldEZpZWxkRXJyb3JzKGNvbnRyb2wsIHRoaXMuZWZmZWN0aXZlUnVsZXMpO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZGlzcGxheVdpdGggPSAodmFsdWU6IHVua25vd24pOiBzdHJpbmcgPT4ge1xyXG5cclxuICAgIGNvbnN0IG9wdCA9IHRoaXMuZWZmZWN0aXZlT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB2YWx1ZSk7XHJcblxyXG4gICAgcmV0dXJuIG9wdD8ubGFiZWwgPz8gJyc7XHJcblxyXG4gIH07XHJcblxyXG5cclxuXHJcbiAgb25JbnB1dChxdWVyeTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5vcHRpb25zRmlsdGVyLmVtaXQocXVlcnkpO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYmx1cnJlZC5lbWl0KCk7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4iLCJAaWYgKGZpZWxkICYmIGZvcm1Hcm91cCkge1xyXG4gIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cInVpLWZiLWZpZWxkLWN0eFwiPlxyXG4gICAgQGlmIChpc1NlYXJjaGFibGUpIHtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX2Z1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyBlZmZlY3RpdmVMYWJlbCB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQua2V5XCJcclxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwic2VsZWN0QXV0b1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWZmZWN0aXZlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZG9ubHlcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG4gICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlbGVjdEF1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVdpdGhcIj5cclxuICAgICAgICAgIEBmb3IgKG9wdCBvZiBlZmZlY3RpdmVPcHRpb25zOyB0cmFjayBvcHQudmFsdWUpIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdC52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHQuZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICBAaWYgKG9wdC5pY29uKSB7XHJcbiAgICAgICAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwib3B0Lmljb25cIiBbc2l6ZV09XCIxNlwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19vcHRpb24taWNvblwiIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICBAZm9yIChlcnIgb2YgcmVzb2x2ZWRFcnJvcnMoZmllbGRDb250cm9sKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXY+e3sgZXJyIH19PC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX2Z1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyBlZmZlY3RpdmVMYWJlbCB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQua2V5XCIgW3BsYWNlaG9sZGVyXT1cImVmZmVjdGl2ZVBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICBAaWYgKHNob3dFbXB0eU9wdGlvbikge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwibnVsbFwiPi0tPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGZvciAob3B0IG9mIGVmZmVjdGl2ZU9wdGlvbnM7IHRyYWNrIG9wdC52YWx1ZSkge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgIEBpZiAob3B0Lmljb24pIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJvcHQuaWNvblwiIFtzaXplXT1cIjE2XCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX29wdGlvbi1pY29uXCIgLz5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAge3sgb3B0LmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgQGlmIChvcHQudG9vbHRpcCkge1xyXG4gICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbmZvXCJcclxuICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMTRcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJvcHQudG9vbHRpcFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19vcHRpb24taW5mb1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICBAaWYgKGZpZWxkLmljb25Ub29sdGlwKSB7XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImZpZWxkLmljb25Ub29sdGlwLnRleHRcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZpZWxkLmljb25Ub29sdGlwLnRleHRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwiZmllbGQuaWNvblRvb2x0aXAuaWNvbiB8fCAnaW5mbydcIiBbc2l6ZV09XCIxOFwiIC8+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgIEBmb3IgKGVyciBvZiByZXNvbHZlZEVycm9ycyhmaWVsZENvbnRyb2wpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdj57eyBlcnIgfX08L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIH1cclxuICA8L2Rpdj5cclxufSBAZWxzZSBpZiAoY29udHJvbCkge1xyXG4gIDxkaXYgY2xhc3M9XCJ1aS1mb3JtLWZpZWxkLWF0b21cIj5cclxuICAgIEBpZiAoaXNTZWFyY2hhYmxlKSB7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICAgIEBpZiAoZWZmZWN0aXZlTGFiZWwpIHtcclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgZWZmZWN0aXZlTGFiZWwgfX08L21hdC1sYWJlbD5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWxlY3RBdXRvU3RhbmRhbG9uZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZWZmZWN0aXZlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG4gICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlbGVjdEF1dG9TdGFuZGFsb25lPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlXaXRoXCI+XHJcbiAgICAgICAgICBAZm9yIChvcHQgb2YgZWZmZWN0aXZlT3B0aW9uczsgdHJhY2sgb3B0LnZhbHVlKSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHQudmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0LmRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgQGlmIChvcHQuaWNvbikge1xyXG4gICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uIFtuYW1lXT1cIm9wdC5pY29uXCIgW3NpemVdPVwiMTZcIiBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fb3B0aW9uLWljb25cIiAvPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB7eyBvcHQubGFiZWwgfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgQGZvciAoZXJyIG9mIHJlc29sdmVkRXJyb3JzKGNvbnRyb2wpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdj57eyBlcnIgfX08L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInVpLWZvcm0tYnVpbGRlcl9fZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cclxuICAgICAgICBAaWYgKGVmZmVjdGl2ZUxhYmVsKSB7XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGVmZmVjdGl2ZUxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW3BsYWNlaG9sZGVyXT1cImVmZmVjdGl2ZVBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICBAaWYgKHNob3dFbXB0eU9wdGlvbikge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwibnVsbFwiPi0tPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGZvciAob3B0IG9mIGVmZmVjdGl2ZU9wdGlvbnM7IHRyYWNrIG9wdC52YWx1ZSkge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgIEBpZiAob3B0Lmljb24pIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJvcHQuaWNvblwiIFtzaXplXT1cIjE2XCIgY2xhc3M9XCJ1aS1mb3JtLWJ1aWxkZXJfX29wdGlvbi1pY29uXCIgLz5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAge3sgb3B0LmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgQGlmIChvcHQudG9vbHRpcCkge1xyXG4gICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbmZvXCJcclxuICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMTRcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJvcHQudG9vbHRpcFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidWktZm9ybS1idWlsZGVyX19vcHRpb24taW5mb1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgQGZvciAoZXJyIG9mIHJlc29sdmVkRXJyb3JzKGNvbnRyb2wpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdj57eyBlcnIgfX08L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIH1cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// ── Tipi validazione ──
|
|
2
2
|
export { UI_FORM_NESTED_FIELD_ERRORS_KEY, } from './validation.types';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tYnVpbGRlci90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSx5QkFBeUI7QUFDekIsT0FBTyxFQVNMLCtCQUErQixHQUNoQyxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSAIFRpcGkgY2FtcG8g4pSA4pSAXG5leHBvcnQge1xuICBVaUZpZWxkVHlwZSxcbiAgVWlGaWVsZE9wdGlvbixcbiAgVWlEeW5hbWljT3B0aW9uc0NvbmZpZyxcbiAgVWlEZXBlbmRlbnRPcHRpb25zQ29uZmlnLFxuICBVaUljb25Ub29sdGlwLFxuICBVaUZpbGVEYXRhLFxuICBVaUZpbGVJbnB1dENvbmZpZyxcbiAgVWlDdXN0b21Db21wb25lbnRDb25maWcsXG4gIFVpQ3VzdG9tRmllbGRUZW1wbGF0ZUNvbnRleHQsXG4gIFVpQ3VzdG9tRm9ybUNvbXBvbmVudCxcbiAgVWlGb3JtRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL2ZpZWxkLnR5cGVzJztcblxuLy8g4pSA4pSAIFRpcGkgdmFsaWRhemlvbmUg4pSA4pSAXG5leHBvcnQge1xuICBVaUNyb3NzRmllbGRPcGVyYXRvcixcbiAgVWlDcm9zc0ZpZWxkQ29uZmlnLFxuICBVaURhdGVLZXl3b3JkLFxuICBVaURhdGVWYWxpZGF0aW9uQ29uZmlnLFxuICBVaVZhbGlkYXRpb25UeXBlLFxuICBVaVZhbGlkYXRpb25SdWxlLFxuICBVaUZvcm1WYWxpZGF0aW9uU3RhdGUsXG4gIFVpRm9ybUVycm9yRGV0YWlsLFxuICBVSV9GT1JNX05FU1RFRF9GSUVMRF9FUlJPUlNfS0VZLFxufSBmcm9tICcuL3ZhbGlkYXRpb24udHlwZXMnO1xuXG4vLyDilIDilIAgVGlwaSBjb25kaXppb25lIOKUgOKUgFxuZXhwb3J0IHtcbiAgVWlDb25kaXRpb25hbE9wZXJhdG9yLFxuICBVaUZpZWxkQ29uZGl0aW9uLFxufSBmcm9tICcuL2NvbmRpdGlvbi50eXBlcyc7XG5cbi8vIOKUgOKUgCBUaXBpIHRlcnJpdG9yaWFsZSAobG9jYXRpb24pIOKUgOKUgFxuZXhwb3J0IHtcbiAgVWlMb2NhdGlvbkZpZWxkQ29uZmlnLFxuICBVaUxvY2F0aW9uQ29uZmlnLFxuICBVaUxvY2F0aW9uTGFiZWxzLFxuICBVaUxvY2F0aW9uVmFsdWUsXG4gIFVpTG9jYXRpb25UYWJsZUNvbmZpZyxcbiAgVWlMb2NhdGlvblJvdyxcbn0gZnJvbSAnLi90ZXJyaXRvcmlhbGUudHlwZXMnO1xuXG4vLyDilIDilIAgVGlwaSBsb2NhdGlvbiBnZW9jb2RpZmljYXRhIOKUgOKUgFxuZXhwb3J0IHtcbiAgVWlHZW9jb2RlZExvY2F0aW9uVHlwZSxcbiAgVWlHZW9jb2RlZExvY2F0aW9uSW5wdXQsXG4gIFVpR2VvY29kZWRJdGFsaWFuRGV0YWlscyxcbiAgVWlHZW9jb2RlZEZvcmVpZ25EZXRhaWxzLFxuICBVaUxvY2F0aW9uR2VvY29kZWRGaWVsZENvbmZpZyxcbn0gZnJvbSAnLi9nZW9jb2RlZC1sb2NhdGlvbi50eXBlcyc7XG5cbi8vIOKUgOKUgCBUaXBpIHNjaGVtYSDilIDilIBcbmV4cG9ydCB7XG4gIFVpUmVwZWF0YWJsZUNvbmZpZyxcbiAgVWlXaXphcmRTdGVwVmFsaWRhdGlvbixcbiAgVWlXaXphcmRWYWxpZGF0aW9uRm4sXG4gIFVpV2l6YXJkU3RlcENvbmZpZyxcbiAgVWlGb3JtU2VjdGlvbixcbiAgVWlGb3JtQnVpbGRlckNvbmZpZyxcbiAgVWlXaXphcmRDb25maWcsXG4gIFVpV2l6YXJkU3RhdGUsXG4gIFVpRm9ybVNjaGVtYSxcbiAgVWlGb3JtRGF0YSxcbiAgVWlGb3JtQ3VzdG9tRXZlbnQsXG4gIFVpV2l6YXJkU3RlcENoYW5nZUV2ZW50LFxuICBVaVdpemFyZFN0ZXBDb21wbGV0ZUV2ZW50LFxuICBVaVdpemFyZFJlc3VtZU9wdGlvbnMsXG4gIFVpV2l6YXJkUmVzdW1lUmVzdWx0LFxufSBmcm9tICcuL3NjaGVtYS50eXBlcyc7XG4iXX0=
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Tipi per lo schema del form, sezioni e configurazione.
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvdHlwZXMvc2NoZW1hLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vZm9ybS1idWlsZGVyXG4gKiBUaXBpIHBlciBsbyBzY2hlbWEgZGVsIGZvcm0sIHNlemlvbmkgZSBjb25maWd1cmF6aW9uZS5cbiAqL1xuXG5pbXBvcnQgeyBVaUZvcm1GaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuL2ZpZWxkLnR5cGVzJztcbmltcG9ydCB7IFVpRmllbGRDb25kaXRpb24gfSBmcm9tICcuL2NvbmRpdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBVaUljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcyc7XG5cbi8vIOKUgOKUgOKUgCBXaXphcmQgc3RlcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gc2luZ29sbyBzdGVwIGRlbCB3aXphcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwVmFsaWRhdGlvbiB7XG4gIC8qKiBTZSBsbyBzdGVwIHJpY2hpZWRlIHZhbGlkYXppb25lIHByaW1hIGRpIHByb2NlZGVyZS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKiBDYW1waSBzcGVjaWZpY2kgZGEgdmFsaWRhcmUgaW4gcXVlc3RvIHN0ZXAgKHNlIG9tZXNzbywgdHV0dGkgaSBjYW1waSBkZWxsbyBzdGVwKS4gKi9cbiAgdmFsaWRhdGVGaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFNlIGBmYWxzZWAsIG5lbGxhIG5hdmlnYXppb25lIHdpemFyZCBpIGNhbXBpIGB0eXBlOiAnY3VzdG9tJ2Agbm9uIGNvbmNvcnJvbm9cbiAgICogYWxsYSB2YWxpZGl0w6AgZGVsbG8gc3RlcCAoZSBpIGxvcm8gZXJyb3JpIG5vbiBibG9jY2FubyBpbCBwYXNzYWdnaW8pLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICB2YWxpZGF0ZUN1c3RvbUNvbXBvbmVudHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZ1bnppb25lIGRpIHZhbGlkYXppb25lIGN1c3RvbSBwZXIgdW5vIHN0ZXAgZGVsIHdpemFyZC5cbiAqIFZpZW5lIGludm9jYXRhIHByaW1hIGRlbGxhIG5hdmlnYXppb25lIGFsbG8gc3RlcCBzdWNjZXNzaXZvLlxuICpcbiAqIEBwYXJhbSBmb3JtRGF0YSAtIERhdGkgY29ycmVudGkgZGVsIGZvcm0gY29tcGxldG8uXG4gKiBAcGFyYW0gY3VycmVudFN0ZXAgLSBJbmRpY2UgZGVsbG8gc3RlcCBjb3JyZW50ZSAoMC1iYXNlZCkuXG4gKiBAcGFyYW0gaXNWYWxpZCAtIFJpc3VsdGF0byBkZWxsYSB2YWxpZGF6aW9uZSBzdGFuZGFyZCBkZWwgZm9ybS5cbiAqIEByZXR1cm5zIGB0cnVlYCBwZXIgcGVybWV0dGVyZSBsYSBuYXZpZ2F6aW9uZSwgYGZhbHNlYCBwZXIgYmxvY2NhcmxhLlxuICovXG5leHBvcnQgdHlwZSBVaVdpemFyZFZhbGlkYXRpb25GbiA9IChcbiAgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGN1cnJlbnRTdGVwOiBudW1iZXIsXG4gIGlzVmFsaWQ6IGJvb2xlYW4sXG4pID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHdpemFyZCBwZXIgdW5hIHNlemlvbmUgZGVsIGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwQ29uZmlnIHtcbiAgLyoqIE51bWVybyBkZWxsbyBzdGVwICgxLWJhc2VkIHBlciBVSSwgY29udmVydGl0byBhIDAtYmFzZWQgaW50ZXJuYW1lbnRlKS4gKi9cbiAgc3RlcE51bWJlcjogbnVtYmVyO1xuICAvKiogVGl0b2xvIHBlcnNvbmFsaXp6YXRvIHBlciBsbyBzdGVwLiAqL1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZXNjcml6aW9uZSBkZWxsbyBzdGVwLiAqL1xuICBzdGVwRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgcXVlc3RvIHN0ZXAuICovXG4gIHZhbGlkYXRpb24/OiBVaVdpemFyZFN0ZXBWYWxpZGF0aW9uO1xuICAvKiogUGVybWV0dGUgZGkgc2FsdGFyZSBxdWVzdG8gc3RlcCBzZW56YSB2YWxpZGF6aW9uZS4gKi9cbiAgYWxsb3dTa2lwPzogYm9vbGVhbjtcbiAgLyoqIE5vbWUgZGVsIG1ldG9kbyBkaSB2YWxpZGF6aW9uZSBjdXN0b20gKGRldmUgZXNzZXJlIHJlZ2lzdHJhdG8gbmVsIHdpemFyZCkuICovXG4gIGN1c3RvbVZhbGlkYXRpb25Gbj86IHN0cmluZztcbiAgLyoqIE1ldGFkYXRpIGFnZ2l1bnRpdmkgcGVyIGxvIHN0ZXAuICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLy8g4pSA4pSA4pSAIFNlemlvbmUgcmlwZXRpYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBwZXIgc2V6aW9uaSByaXBldGliaWxpIChkeW5hbWljIHJlcGVhdGVyKS5cbiAqIFBlcm1ldHRlIGRpIGFnZ2l1bmdlcmUvcmltdW92ZXJlL2R1cGxpY2FyZSBOIGlzdGFuemUgZGkgdW4gYmxvY2NvXG4gKiBkaSBjYW1waSwgY29uIGlsIG1vZGVsbG8gcmVhdHRpdm8gZ2VzdGl0byB0cmFtaXRlIEZvcm1BcnJheS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IHtcbiAqICAgaWQ6ICdvYmlldHRpdmknLFxuICogICB0aXRsZTogJ09iaWV0dGl2aSBmb3JtYXRpdmknLFxuICogICByZXBlYXRhYmxlOiB7XG4gKiAgICAgbWluOiAxLFxuICogICAgIG1heDogMTAsXG4gKiAgICAgYWRkTGFiZWw6ICdBZ2dpdW5naSBvYmlldHRpdm8nLFxuICogICAgIGFkZEljb246ICdwbHVzJyxcbiAqICAgICBpbnN0YW5jZVRpdGxlOiAnT2JpZXR0aXZvIHtpbmRleH0nLFxuICogICB9LFxuICogICBmaWVsZHM6IFsgLi4uIF0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBlYXRhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIE51bWVybyBtaW5pbW8gZGkgaXN0YW56ZSBvYmJsaWdhdG9yaWUuXG4gICAqIFNlIGBtaW4gPiAwYCwgYWxsYSBjcmVhemlvbmUgZGVsIGZvcm0gdmVuZ29ubyBwcmUtY3JlYXRlIGFsbWVubyBgbWluYCBpc3RhbnplXG4gICAqICh2dW90ZSBvIGRhIGBpbml0aWFsRGF0YVtzZWN0aW9uSWRdYCkuIFNlIG9tZXNzbywgdmFsZSBgMWAuXG4gICAqIENvbiBgbWluOiAwYCBub24gc2kgYWdnaXVuZ29ubyByaWdoZSBvbHRyZSBhIHF1ZWxsZSBnacOgIHByZXNlbnRpIGluIGBpbml0aWFsRGF0YWAuXG4gICAqL1xuICBtaW4/OiBudW1iZXI7XG4gIC8qKiBOdW1lcm8gbWFzc2ltbyBkaSBpc3RhbnplICh1bmRlZmluZWQgPSBpbGxpbWl0YXRvKS4gKi9cbiAgbWF4PzogbnVtYmVyO1xuICAvKiogTGFiZWwgcGVyIGlsIHB1bHNhbnRlIFwiQWdnaXVuZ2lcIi4gQGRlZmF1bHQgJysgQWdnaXVuZ2knICovXG4gIGFkZExhYmVsPzogc3RyaW5nO1xuICAvKiogSWNvbmEgTHVjaWRlIHBlciBpbCBwdWxzYW50ZSBcIkFnZ2l1bmdpXCIuIEBkZWZhdWx0ICdwbHVzJyAqL1xuICBhZGRJY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIFRlbXBsYXRlIHBlciBpbCB0aXRvbG8gZGkgb2duaSBpc3RhbnphLiBge2luZGV4fWAgdmllbmUgc29zdGl0dWl0byBjb24gbCdpbmRpY2UgMS1iYXNlZC4gKi9cbiAgaW5zdGFuY2VUaXRsZT86IHN0cmluZztcbiAgLyoqIFNlIHJpY2hpZWRlcmUgY29uZmVybWEgcHJpbWEgZGVsbGEgcmltb3ppb25lLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb25maXJtUmVtb3ZlPzogYm9vbGVhbjtcbiAgLyoqIE1lc3NhZ2dpbyBkaSBjb25mZXJtYSByaW1vemlvbmUuIEBkZWZhdWx0ICdTZWkgc2ljdXJvIGRpIHZvbGVyIHJpbXVvdmVyZSBxdWVzdGEgc2V6aW9uZT8nICovXG4gIGNvbmZpcm1NZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vLyDilIDilIDilIAgU2V6aW9uZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBTZXppb25lIGRlbCBmb3JtIGNoZSByYWdncnVwcGEgY2FtcGkgY29ycmVsYXRpLlxuICogU3VwcG9ydGEgY29sbGFwc2liaWxpdGEgKGFjY29yZGlvbiksIGNvbmRpemlvbmkgZGkgdmlzaWJpbGl0YSxcbiAqIGNvbmZpZ3VyYXppb25lIHdpemFyZCBvcHppb25hbGUgZSByaXBldGliaWxpdGEgZGluYW1pY2EuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNlY3Rpb246IFVpRm9ybVNlY3Rpb24gPSB7XG4gKiAgIGlkOiAnYW5hZ3JhZmljYScsXG4gKiAgIHRpdGxlOiAnRGF0aSBhbmFncmFmaWNpJyxcbiAqICAgZGVzY3JpcHRpb246ICdJbmZvcm1hemlvbmkgcGVyc29uYWxpIGRlbCBjYW5kaWRhdG8nLFxuICogICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAqICAgZmllbGRzOiBbIC4uLiBdLFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybVNlY3Rpb24ge1xuICAvKiogSUQgdW5pdm9jbyBkZWxsYSBzZXppb25lLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGl0b2xvIGRlbGxhIHNlemlvbmUuICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsbGEgc2V6aW9uZS4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBJY29uYSBMdWNpZGUgb3B6aW9uYWxlIHBlciBsYSBzZXppb25lICh2aXNpYmlsZSBpbiBtb2RhbGl0w6AgY29sbGFwc2libGUpLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xuICBpY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIENhbXBpIGNvbnRlbnV0aSBuZWxsYSBzZXppb25lLiAqL1xuICBmaWVsZHM6IFVpRm9ybUZpZWxkRGVzY3JpcHRvcltdO1xuICAvKiogQ29uZGl6aW9uaSBwZXIgbGEgdmlzaWJpbGl0YSBkZWxsYSBzZXppb25lLiAqL1xuICBjb25kaXRpb25zPzogVWlGaWVsZENvbmRpdGlvbltdO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGNvbGxhc3NhYmlsZSAoYWNjb3JkaW9uKS4gKi9cbiAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGluaXppYWxtZW50ZSBjb2xsYXNzYXRhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogQ2xhc3NpIENTUyBhZ2dpdW50aXZlIHBlciBsYSBzZXppb25lLiAqL1xuICBjc3NDbGFzc2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDb25maWd1cmF6aW9uZSB3aXphcmQgcGVyIHF1ZXN0YSBzZXppb25lLlxuICAgKiBQacO5IHNlemlvbmkgcG9zc29ubyBjb25kaXZpZGVyZSBsbyBzdGVzc28gYHdpemFyZFN0ZXAuc3RlcE51bWJlcmA6IGZvcm1hbm8gdW4gdW5pY29cbiAgICogcGFzc28gZGVsIHdpemFyZCAoZXMuIHBpw7kgYmxvY2NoaSBgY29sbGFwc2libGVgIG5lbGxvIHN0ZXNzbyBzdGVwKS4gVGl0b2xvLCBkZXNjcml6aW9uZVxuICAgKiBlIHZhbGlkYXppb25lIGRlbCBwYXNzbyBzaSBpbnRlbmRvbm8gZGFsbGEgKipwcmltYSoqIHNlemlvbmUgZGVsIGdydXBwbyBpbiBvcmRpbmUgZGkgc2NoZW1hLlxuICAgKiBMZSBjaGlhdmkgZGVpIGNhbXBpIGRldm9ubyByZXN0YXJlIHVuaXZvY2hlIHRyYSB0dXR0ZSBsZSBzZXppb25pIGRlbGxvIHN0ZXNzbyBzY2hlbWEgd2l6YXJkLlxuICAgKi9cbiAgd2l6YXJkU3RlcD86IFVpV2l6YXJkU3RlcENvbmZpZztcbiAgLyoqIENvbmZpZ3VyYXppb25lIHBlciBzZXppb25lIHJpcGV0aWJpbGUuIFNlIGRlZmluaXRvLCBsYSBzZXppb25lIGRpdmVudGEgdW4gZHluYW1pYyByZXBlYXRlci4gKi9cbiAgcmVwZWF0YWJsZT86IFVpUmVwZWF0YWJsZUNvbmZpZztcbn1cblxuLy8g4pSA4pSA4pSAIENvbmZpZ3VyYXppb25lIGZvcm0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29uZmlndXJhemlvbmUgZ2xvYmFsZSBkZWwgZm9ybSBidWlsZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybUJ1aWxkZXJDb25maWcge1xuICAvKiogTGF5b3V0IGRlbCBmb3JtLiBAZGVmYXVsdCAnZ3JpZCcgKi9cbiAgbGF5b3V0PzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB8ICdncmlkJztcbiAgLyoqIE51bWVybyBkaSBjb2xvbm5lIG5lbCBncmlkLiBAZGVmYXVsdCAxMiAqL1xuICBjb2x1bW5zPzogbnVtYmVyO1xuICAvKiogTW9zdHJhIGkgcHVsc2FudGkgZGkgYXppb25lIChzdWJtaXQvcmVzZXQpLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dCdXR0b25zPzogYm9vbGVhbjtcbiAgLyoqIE5hc2NvbmRlIHNvbG8gbCdhcmVhIHB1bHNhbnRpIGRlbCBmb290ZXIgKGB1aS1idXR0b24tYXJlYWApLCBub24gaWwgc3VtbWFyeSBlcnJvcmkuICovXG4gIGhpZGVGb290ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogTmFzY29uZGUgZGVsIHR1dHRvIGlsIGJsb2NjbyBgdWktZm9ybS1lcnJvci1zdW1tYXJ5YC5cbiAgICogU2UgYXNzZW50ZS9mYWxzeSBpbCBzdW1tYXJ5IMOoIHZpc2liaWxlIGFuY2hlIHNlbnphIGVycm9yaSAoc3RhdG8gb2sgcHJldmVkaWJpbGUpLlxuICAgKi9cbiAgaGlkZUVycm9yU3VtbWFyeT86IGJvb2xlYW47XG4gIC8qKiBNZXNzYWdnaW8gbmVsIHN1bW1hcnkgcXVhbmRvIGlsIGZvcm0gbm9uIGhhIGVycm9yaSAoc3RhdG8gb2spLiAqL1xuICBlcnJvclN1bW1hcnlWYWxpZE1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBwZXJzb25hbGl6emF0ZSBwZXIgaSBwdWxzYW50aS4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHN1Ym1pdD86IHN0cmluZztcbiAgICByZXNldD86IHN0cmluZztcbiAgICBjYW5jZWw/OiBzdHJpbmc7XG4gIH07XG4gIC8qKiBDbGFzc2kgQ1NTIGdsb2JhbGkgc3VsIGNvbnRhaW5lciBkZWwgZm9ybS4gKi9cbiAgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG4vLyDilIDilIDilIAgQ29uZmlndXJhemlvbmUgd2l6YXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHBlciBsYSBtb2RhbGl0YSB3aXphcmQgZGVsIGZvcm0uXG4gKiBVc2F0YSBkYWwgY29tcG9uZW50ZSBgVWlGb3JtV2l6YXJkQ29tcG9uZW50YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgd2l6YXJkQ29uZmlnOiBVaVdpemFyZENvbmZpZyA9IHtcbiAqICAgc2hvd1Byb2dyZXNzOiB0cnVlLFxuICogICBwcm9ncmVzc1N0eWxlOiAnc3RlcHMnLFxuICogICBhbGxvd0JhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuICogICBidXR0b25MYWJlbHM6IHsgc3VibWl0OiAnU2FsdmEgZSBwcm9zZWd1aScsIHByZXZpb3VzOiAnSW5kaWV0cm8nLCBmaW5pc2g6ICdDb21wbGV0YScgfSxcbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZENvbmZpZyB7XG4gIC8qKiBJRCBwZXIgc2luY3Jvbml6emF6aW9uZSB3aXJlbGVzcyB0cmEgaXN0YW56ZS4gKi9cbiAgd2l6YXJkSWQ/OiBzdHJpbmc7XG4gIC8qKiBOYXNjb25kZSBsJ2hlYWRlciBpbnRlcm5vIGRlbCB3aXphcmQgcGVyIGNvbnNlbnRpcmUgdW4gaGVhZGVyIGVzdGVybm8uICovXG4gIHdpcmVsZXNzSGVhZGluZz86IGJvb2xlYW47XG4gIC8qKiBNb3N0cmEgbGEgYmFycmEgZGkgcHJvZ3Jlc3NvLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG4gIC8qKiBTdGlsZSBkZWxsYSBiYXJyYSBkaSBwcm9ncmVzc28uIEBkZWZhdWx0ICdzdGVwcycgKi9cbiAgcHJvZ3Jlc3NTdHlsZT86ICdsaW5lYXInIHwgJ3N0ZXBzJztcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGFsbCdpbmRpZXRyby4gQGRlZmF1bHQgdHJ1ZSAqL1xuICBhbGxvd0JhY2tOYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGluIGF2YW50aSBzZW56YSB2YWxpZGF6aW9uZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYWxsb3dGb3J3YXJkTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIC8qKiBTYWx2YSBhdXRvbWF0aWNhbWVudGUgaSBkYXRpIGFkIG9nbmkgY2FtYmlvIHN0ZXAuICovXG4gIGF1dG9TYXZlPzogYm9vbGVhbjtcbiAgLyoqIENhbGxiYWNrIHBlciBpbCBzYWx2YXRhZ2dpbyBkZWkgZGF0aSBkZWxsbyBzdGVwLiAqL1xuICBvblN0ZXBTYXZlPzogKHN0ZXBEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzdGVwTnVtYmVyOiBudW1iZXIpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xuICAvKiogTW9zdHJhIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lIChwcmVjZWRlbnRlL3N1Y2Nlc3Npdm8pLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dOYXZpZ2F0aW9uQnV0dG9ucz86IGJvb2xlYW47XG4gIC8qKiBQb3NpemlvbmUgZGVpIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lLiBAZGVmYXVsdCAnYm90dG9tJyAqL1xuICBuYXZpZ2F0aW9uUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nIHwgJ2JvdGgnO1xuICAvKipcbiAgICogQ29uc2VudGUgZGkgc2FsdGFyZSBhIHVubyBzdGVwIGdpw6AgY29tcGxldGF0byBjbGljY2FuZG8gYnVsbGV0IG8gdGl0b2xvIHN0ZXBcbiAgICogcXVhbmRvIGBwcm9ncmVzc1N0eWxlYCDDqCBgJ3N0ZXBzJ2AuIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGFsbG93U3RlcEluZGljYXRvck5hdmlnYXRpb24/OiBib29sZWFuO1xuICAvKiogTGFiZWwgcGVyc29uYWxpenphdGUgcGVyIGkgcHVsc2FudGkgZGVsIHdpemFyZC4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHByZXZpb3VzPzogc3RyaW5nO1xuICAgIC8qKiBMYWJlbCBwdWxzYW50ZSBhdmFudGk7IHNlIGFzc2VudGUgc2kgdXNhIGBzdWJtaXRgLiAqL1xuICAgIG5leHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWxpYXMgZGkgY29udmVuaWVuemEgKGNvbWUgYHN1Ym1pdGAgc3VsIGZvcm0gYnVpbGRlcikgcGVyIGlsIHB1bHNhbnRlIMKrYXZhbnRpwrsgLyBzYWx2YSBlIHByb3NlZ3VpLlxuICAgICAqIFVzYXRvIHNvbG8gc2UgYG5leHRgIG5vbiDDqCB2YWxvcml6emF0by5cbiAgICAgKi9cbiAgICBzdWJtaXQ/OiBzdHJpbmc7XG4gICAgZmluaXNoPzogc3RyaW5nO1xuICAgIHNhdmU/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogU3RhdG8gY29ycmVudGUgZGVsIHdpemFyZCwgZXNwb3N0byBkYWwgYFdpemFyZFN5bmNTZXJ2aWNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0YXRlIHtcbiAgLyoqIFN0ZXAgY29ycmVudGUgKDAtYmFzZWQpLiAqL1xuICBjdXJyZW50U3RlcDogbnVtYmVyO1xuICAvKiogTnVtZXJvIHRvdGFsZSBkaSBzdGVwLiAqL1xuICB0b3RhbFN0ZXBzOiBudW1iZXI7XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCBjb21wbGV0YXRpLiAqL1xuICBjb21wbGV0ZWRTdGVwczogU2V0PG51bWJlcj47XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCB2aXNpdGF0aS4gKi9cbiAgdmlzaXRlZFN0ZXBzOiBTZXQ8bnVtYmVyPjtcbiAgLyoqIFNlIGlsIGZvcm0gbmVsbG8gc3RlcCBjb3JyZW50ZSBlIHZhbGlkby4gKi9cbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgLyoqIEVycm9yaSBwZXIgc3RlcC4gKi9cbiAgc3RlcEVycm9yczogUmVjb3JkPG51bWJlciwgc3RyaW5nW10+O1xufVxuXG4vLyDilIDilIDilIAgU2NoZW1hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIFNjaGVtYSBjb21wbGV0byBkZWwgZm9ybS5cbiAqXG4gKiBSYXBwcmVzZW50YSBsYSBjb25maWd1cmF6aW9uZSBkaWNoaWFyYXRpdmEgZGVsbCdpbnRlcm8gZm9ybTpcbiAqIHNlemlvbmksIGNhbXBpLCB2YWxpZGF6aW9uaSwgY29uZGl6aW9uaSBlIGltcG9zdGF6aW9uaSBnbG9iYWxpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY29uc3QgbXlGb3JtOiBVaUZvcm1TY2hlbWEgPSB7XG4gKiAgIGlkOiAndXNlci1yZWdpc3RyYXRpb24nLFxuICogICB0aXRsZTogJ1JlZ2lzdHJhemlvbmUgdXRlbnRlJyxcbiAqICAgc2VjdGlvbnM6IFtcbiAqICAgICB7IGlkOiAncGVyc29uYWwnLCB0aXRsZTogJ0RhdGkgcGVyc29uYWxpJywgZmllbGRzOiBbLi4uXSB9LFxuICogICAgIHsgaWQ6ICdhZGRyZXNzJywgdGl0bGU6ICdJbmRpcml6em8nLCBmaWVsZHM6IFsuLi5dLCBjb2xsYXBzaWJsZTogdHJ1ZSB9LFxuICogICBdLFxuICogICBjb25maWc6IHsgY29sdW1uczogMTIsIHNob3dCdXR0b25zOiB0cnVlIH0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtU2NoZW1hIHtcbiAgLyoqIElEIHVuaXZvY28gZGVsIGZvcm0uICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUaXRvbG8gZGVsIGZvcm0uICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsIGZvcm0uICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogU2V6aW9uaSBkZWwgZm9ybS4gKi9cbiAgc2VjdGlvbnM6IFVpRm9ybVNlY3Rpb25bXTtcbiAgLyoqIENvbmZpZ3VyYXppb25lIGdsb2JhbGUuICovXG4gIGNvbmZpZz86IFVpRm9ybUJ1aWxkZXJDb25maWc7XG59XG5cbi8vIOKUgOKUgOKUgCBUaXBpIGRpIHV0aWxpdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogRGF0aSBkZWwgZm9ybSBjb21lIG1hcHBhIGNoaWF2ZS12YWxvcmUuXG4gKi9cbmV4cG9ydCB0eXBlIFVpRm9ybURhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gZGFpIGNhbXBpIGN1c3RvbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1DdXN0b21FdmVudCB7XG4gIC8qKiBDaGlhdmUgZGVsIGNhbXBvIGNoZSBoYSBlbWVzc28gbCdldmVudG8uICovXG4gIGZpZWxkOiBzdHJpbmc7XG4gIC8qKiBOb21lIGRlbGwnZXZlbnRvLiAqL1xuICBldmVudDogc3RyaW5nO1xuICAvKiogRGF0aSBhc3NvY2lhdGkgYWxsJ2V2ZW50by4gKi9cbiAgZGF0YTogYW55O1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gYWwgY2FtYmlvIHN0ZXAgZGVsIHdpemFyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0ZXBDaGFuZ2VFdmVudCB7XG4gIC8qKiBJbmRpY2UgZGVsbG8gc3RlcCBkaSBwYXJ0ZW56YS4gKi9cbiAgZnJvbTogbnVtYmVyO1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgZGkgZGVzdGluYXppb25lLiAqL1xuICB0bzogbnVtYmVyO1xuICAvKiogRGlyZXppb25lIGRlbGxhIG5hdmlnYXppb25lLiAqL1xuICBkaXJlY3Rpb246ICduZXh0JyB8ICdwcmV2aW91cyc7XG59XG5cbi8qKlxuICogRXZlbnRvIGVtZXNzbyBhbCBjb21wbGV0YW1lbnRvIGRpIHVubyBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpV2l6YXJkU3RlcENvbXBsZXRlRXZlbnQge1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgY29tcGxldGF0by4gKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogRGF0aSBkZWwgZm9ybSBhbCBtb21lbnRvIGRlbCBjb21wbGV0YW1lbnRvLiAqL1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuIl19
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvdHlwZXMvc2NoZW1hLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vZm9ybS1idWlsZGVyXG4gKiBUaXBpIHBlciBsbyBzY2hlbWEgZGVsIGZvcm0sIHNlemlvbmkgZSBjb25maWd1cmF6aW9uZS5cbiAqL1xuXG5pbXBvcnQgeyBVaUZvcm1GaWVsZERlc2NyaXB0b3IgfSBmcm9tICcuL2ZpZWxkLnR5cGVzJztcbmltcG9ydCB7IFVpRmllbGRDb25kaXRpb24gfSBmcm9tICcuL2NvbmRpdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBVaUljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcyc7XG5cbi8vIOKUgOKUgOKUgCBXaXphcmQgc3RlcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgdW4gc2luZ29sbyBzdGVwIGRlbCB3aXphcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwVmFsaWRhdGlvbiB7XG4gIC8qKiBTZSBsbyBzdGVwIHJpY2hpZWRlIHZhbGlkYXppb25lIHByaW1hIGRpIHByb2NlZGVyZS4gQGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKiBDYW1waSBzcGVjaWZpY2kgZGEgdmFsaWRhcmUgaW4gcXVlc3RvIHN0ZXAgKHNlIG9tZXNzbywgdHV0dGkgaSBjYW1waSBkZWxsbyBzdGVwKS4gKi9cbiAgdmFsaWRhdGVGaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFNlIGBmYWxzZWAsIG5lbGxhIG5hdmlnYXppb25lIHdpemFyZCBpIGNhbXBpIGB0eXBlOiAnY3VzdG9tJ2Agbm9uIGNvbmNvcnJvbm9cbiAgICogYWxsYSB2YWxpZGl0w6AgZGVsbG8gc3RlcCAoZSBpIGxvcm8gZXJyb3JpIG5vbiBibG9jY2FubyBpbCBwYXNzYWdnaW8pLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICB2YWxpZGF0ZUN1c3RvbUNvbXBvbmVudHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZ1bnppb25lIGRpIHZhbGlkYXppb25lIGN1c3RvbSBwZXIgdW5vIHN0ZXAgZGVsIHdpemFyZC5cbiAqIFZpZW5lIGludm9jYXRhIHByaW1hIGRlbGxhIG5hdmlnYXppb25lIGFsbG8gc3RlcCBzdWNjZXNzaXZvLlxuICpcbiAqIEBwYXJhbSBmb3JtRGF0YSAtIERhdGkgY29ycmVudGkgZGVsIGZvcm0gY29tcGxldG8uXG4gKiBAcGFyYW0gY3VycmVudFN0ZXAgLSBJbmRpY2UgZGVsbG8gc3RlcCBjb3JyZW50ZSAoMC1iYXNlZCkuXG4gKiBAcGFyYW0gaXNWYWxpZCAtIFJpc3VsdGF0byBkZWxsYSB2YWxpZGF6aW9uZSBzdGFuZGFyZCBkZWwgZm9ybS5cbiAqIEByZXR1cm5zIGB0cnVlYCBwZXIgcGVybWV0dGVyZSBsYSBuYXZpZ2F6aW9uZSwgYGZhbHNlYCBwZXIgYmxvY2NhcmxhLlxuICovXG5leHBvcnQgdHlwZSBVaVdpemFyZFZhbGlkYXRpb25GbiA9IChcbiAgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGN1cnJlbnRTdGVwOiBudW1iZXIsXG4gIGlzVmFsaWQ6IGJvb2xlYW4sXG4pID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHdpemFyZCBwZXIgdW5hIHNlemlvbmUgZGVsIGZvcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlXaXphcmRTdGVwQ29uZmlnIHtcbiAgLyoqIE51bWVybyBkZWxsbyBzdGVwICgxLWJhc2VkIHBlciBVSSwgY29udmVydGl0byBhIDAtYmFzZWQgaW50ZXJuYW1lbnRlKS4gKi9cbiAgc3RlcE51bWJlcjogbnVtYmVyO1xuICAvKiogVGl0b2xvIHBlcnNvbmFsaXp6YXRvIHBlciBsbyBzdGVwLiAqL1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZXNjcml6aW9uZSBkZWxsbyBzdGVwLiAqL1xuICBzdGVwRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmF6aW9uZSBkaSB2YWxpZGF6aW9uZSBwZXIgcXVlc3RvIHN0ZXAuICovXG4gIHZhbGlkYXRpb24/OiBVaVdpemFyZFN0ZXBWYWxpZGF0aW9uO1xuICAvKiogUGVybWV0dGUgZGkgc2FsdGFyZSBxdWVzdG8gc3RlcCBzZW56YSB2YWxpZGF6aW9uZS4gKi9cbiAgYWxsb3dTa2lwPzogYm9vbGVhbjtcbiAgLyoqIE5vbWUgZGVsIG1ldG9kbyBkaSB2YWxpZGF6aW9uZSBjdXN0b20gKGRldmUgZXNzZXJlIHJlZ2lzdHJhdG8gbmVsIHdpemFyZCkuICovXG4gIGN1c3RvbVZhbGlkYXRpb25Gbj86IHN0cmluZztcbiAgLyoqIE1ldGFkYXRpIGFnZ2l1bnRpdmkgcGVyIGxvIHN0ZXAuICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLy8g4pSA4pSA4pSAIFNlemlvbmUgcmlwZXRpYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb25maWd1cmF6aW9uZSBwZXIgc2V6aW9uaSByaXBldGliaWxpIChkeW5hbWljIHJlcGVhdGVyKS5cbiAqIFBlcm1ldHRlIGRpIGFnZ2l1bmdlcmUvcmltdW92ZXJlL2R1cGxpY2FyZSBOIGlzdGFuemUgZGkgdW4gYmxvY2NvXG4gKiBkaSBjYW1waSwgY29uIGlsIG1vZGVsbG8gcmVhdHRpdm8gZ2VzdGl0byB0cmFtaXRlIEZvcm1BcnJheS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2VjdGlvbjogVWlGb3JtU2VjdGlvbiA9IHtcbiAqICAgaWQ6ICdvYmlldHRpdmknLFxuICogICB0aXRsZTogJ09iaWV0dGl2aSBmb3JtYXRpdmknLFxuICogICByZXBlYXRhYmxlOiB7XG4gKiAgICAgbWluOiAxLFxuICogICAgIG1heDogMTAsXG4gKiAgICAgYWRkTGFiZWw6ICdBZ2dpdW5naSBvYmlldHRpdm8nLFxuICogICAgIGFkZEljb246ICdwbHVzJyxcbiAqICAgICBpbnN0YW5jZVRpdGxlOiAnT2JpZXR0aXZvIHtpbmRleH0nLFxuICogICB9LFxuICogICBmaWVsZHM6IFsgLi4uIF0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBlYXRhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIE51bWVybyBtaW5pbW8gZGkgaXN0YW56ZSBvYmJsaWdhdG9yaWUuXG4gICAqIFNlIGBtaW4gPiAwYCwgYWxsYSBjcmVhemlvbmUgZGVsIGZvcm0gdmVuZ29ubyBwcmUtY3JlYXRlIGFsbWVubyBgbWluYCBpc3RhbnplXG4gICAqICh2dW90ZSBvIGRhIGBpbml0aWFsRGF0YVtzZWN0aW9uSWRdYCkuIFNlIG9tZXNzbywgdmFsZSBgMWAuXG4gICAqIENvbiBgbWluOiAwYCBub24gc2kgYWdnaXVuZ29ubyByaWdoZSBvbHRyZSBhIHF1ZWxsZSBnacOgIHByZXNlbnRpIGluIGBpbml0aWFsRGF0YWAuXG4gICAqL1xuICBtaW4/OiBudW1iZXI7XG4gIC8qKiBOdW1lcm8gbWFzc2ltbyBkaSBpc3RhbnplICh1bmRlZmluZWQgPSBpbGxpbWl0YXRvKS4gKi9cbiAgbWF4PzogbnVtYmVyO1xuICAvKiogTGFiZWwgcGVyIGlsIHB1bHNhbnRlIFwiQWdnaXVuZ2lcIi4gQGRlZmF1bHQgJysgQWdnaXVuZ2knICovXG4gIGFkZExhYmVsPzogc3RyaW5nO1xuICAvKiogSWNvbmEgTHVjaWRlIHBlciBpbCBwdWxzYW50ZSBcIkFnZ2l1bmdpXCIuIEBkZWZhdWx0ICdwbHVzJyAqL1xuICBhZGRJY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIFRlbXBsYXRlIHBlciBpbCB0aXRvbG8gZGkgb2duaSBpc3RhbnphLiBge2luZGV4fWAgdmllbmUgc29zdGl0dWl0byBjb24gbCdpbmRpY2UgMS1iYXNlZC4gKi9cbiAgaW5zdGFuY2VUaXRsZT86IHN0cmluZztcbiAgLyoqIFNlIHJpY2hpZWRlcmUgY29uZmVybWEgcHJpbWEgZGVsbGEgcmltb3ppb25lLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb25maXJtUmVtb3ZlPzogYm9vbGVhbjtcbiAgLyoqIE1lc3NhZ2dpbyBkaSBjb25mZXJtYSByaW1vemlvbmUuIEBkZWZhdWx0ICdTZWkgc2ljdXJvIGRpIHZvbGVyIHJpbXVvdmVyZSBxdWVzdGEgc2V6aW9uZT8nICovXG4gIGNvbmZpcm1NZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vLyDilIDilIDilIAgU2V6aW9uZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBTZXppb25lIGRlbCBmb3JtIGNoZSByYWdncnVwcGEgY2FtcGkgY29ycmVsYXRpLlxuICogU3VwcG9ydGEgY29sbGFwc2liaWxpdGEgKGFjY29yZGlvbiksIGNvbmRpemlvbmkgZGkgdmlzaWJpbGl0YSxcbiAqIGNvbmZpZ3VyYXppb25lIHdpemFyZCBvcHppb25hbGUgZSByaXBldGliaWxpdGEgZGluYW1pY2EuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNlY3Rpb246IFVpRm9ybVNlY3Rpb24gPSB7XG4gKiAgIGlkOiAnYW5hZ3JhZmljYScsXG4gKiAgIHRpdGxlOiAnRGF0aSBhbmFncmFmaWNpJyxcbiAqICAgZGVzY3JpcHRpb246ICdJbmZvcm1hemlvbmkgcGVyc29uYWxpIGRlbCBjYW5kaWRhdG8nLFxuICogICBjb2xsYXBzaWJsZTogdHJ1ZSxcbiAqICAgZmllbGRzOiBbIC4uLiBdLFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybVNlY3Rpb24ge1xuICAvKiogSUQgdW5pdm9jbyBkZWxsYSBzZXppb25lLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGl0b2xvIGRlbGxhIHNlemlvbmUuICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsbGEgc2V6aW9uZS4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBJY29uYSBMdWNpZGUgb3B6aW9uYWxlIHBlciBsYSBzZXppb25lICh2aXNpYmlsZSBpbiBtb2RhbGl0w6AgY29sbGFwc2libGUpLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xuICBpY29uPzogVWlJY29uTmFtZTtcbiAgLyoqIENhbXBpIGNvbnRlbnV0aSBuZWxsYSBzZXppb25lLiAqL1xuICBmaWVsZHM6IFVpRm9ybUZpZWxkRGVzY3JpcHRvcltdO1xuICAvKiogQ29uZGl6aW9uaSBwZXIgbGEgdmlzaWJpbGl0YSBkZWxsYSBzZXppb25lLiAqL1xuICBjb25kaXRpb25zPzogVWlGaWVsZENvbmRpdGlvbltdO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGNvbGxhc3NhYmlsZSAoYWNjb3JkaW9uKS4gKi9cbiAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAvKiogU2UgbGEgc2V6aW9uZSBlIGluaXppYWxtZW50ZSBjb2xsYXNzYXRhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogQ2xhc3NpIENTUyBhZ2dpdW50aXZlIHBlciBsYSBzZXppb25lLiAqL1xuICBjc3NDbGFzc2VzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDb25maWd1cmF6aW9uZSB3aXphcmQgcGVyIHF1ZXN0YSBzZXppb25lLlxuICAgKiBQacO5IHNlemlvbmkgcG9zc29ubyBjb25kaXZpZGVyZSBsbyBzdGVzc28gYHdpemFyZFN0ZXAuc3RlcE51bWJlcmA6IGZvcm1hbm8gdW4gdW5pY29cbiAgICogcGFzc28gZGVsIHdpemFyZCAoZXMuIHBpw7kgYmxvY2NoaSBgY29sbGFwc2libGVgIG5lbGxvIHN0ZXNzbyBzdGVwKS4gVGl0b2xvLCBkZXNjcml6aW9uZVxuICAgKiBlIHZhbGlkYXppb25lIGRlbCBwYXNzbyBzaSBpbnRlbmRvbm8gZGFsbGEgKipwcmltYSoqIHNlemlvbmUgZGVsIGdydXBwbyBpbiBvcmRpbmUgZGkgc2NoZW1hLlxuICAgKiBMZSBjaGlhdmkgZGVpIGNhbXBpIGRldm9ubyByZXN0YXJlIHVuaXZvY2hlIHRyYSB0dXR0ZSBsZSBzZXppb25pIGRlbGxvIHN0ZXNzbyBzY2hlbWEgd2l6YXJkLlxuICAgKi9cbiAgd2l6YXJkU3RlcD86IFVpV2l6YXJkU3RlcENvbmZpZztcbiAgLyoqIENvbmZpZ3VyYXppb25lIHBlciBzZXppb25lIHJpcGV0aWJpbGUuIFNlIGRlZmluaXRvLCBsYSBzZXppb25lIGRpdmVudGEgdW4gZHluYW1pYyByZXBlYXRlci4gKi9cbiAgcmVwZWF0YWJsZT86IFVpUmVwZWF0YWJsZUNvbmZpZztcbn1cblxuLy8g4pSA4pSA4pSAIENvbmZpZ3VyYXppb25lIGZvcm0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29uZmlndXJhemlvbmUgZ2xvYmFsZSBkZWwgZm9ybSBidWlsZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpRm9ybUJ1aWxkZXJDb25maWcge1xuICAvKiogTGF5b3V0IGRlbCBmb3JtLiBAZGVmYXVsdCAnZ3JpZCcgKi9cbiAgbGF5b3V0PzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB8ICdncmlkJztcbiAgLyoqIE51bWVybyBkaSBjb2xvbm5lIG5lbCBncmlkLiBAZGVmYXVsdCAxMiAqL1xuICBjb2x1bW5zPzogbnVtYmVyO1xuICAvKiogTW9zdHJhIGkgcHVsc2FudGkgZGkgYXppb25lIChzdWJtaXQvcmVzZXQpLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dCdXR0b25zPzogYm9vbGVhbjtcbiAgLyoqIE5hc2NvbmRlIHNvbG8gbCdhcmVhIHB1bHNhbnRpIGRlbCBmb290ZXIgKGB1aS1idXR0b24tYXJlYWApLCBub24gaWwgc3VtbWFyeSBlcnJvcmkuICovXG4gIGhpZGVGb290ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogTmFzY29uZGUgZGVsIHR1dHRvIGlsIGJsb2NjbyBgdWktZm9ybS1lcnJvci1zdW1tYXJ5YC5cbiAgICogU2UgYXNzZW50ZS9mYWxzeSBpbCBzdW1tYXJ5IMOoIHZpc2liaWxlIGFuY2hlIHNlbnphIGVycm9yaSAoc3RhdG8gb2sgcHJldmVkaWJpbGUpLlxuICAgKi9cbiAgaGlkZUVycm9yU3VtbWFyeT86IGJvb2xlYW47XG4gIC8qKiBNZXNzYWdnaW8gbmVsIHN1bW1hcnkgcXVhbmRvIGlsIGZvcm0gbm9uIGhhIGVycm9yaSAoc3RhdG8gb2spLiAqL1xuICBlcnJvclN1bW1hcnlWYWxpZE1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBwZXJzb25hbGl6emF0ZSBwZXIgaSBwdWxzYW50aS4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHN1Ym1pdD86IHN0cmluZztcbiAgICByZXNldD86IHN0cmluZztcbiAgICBjYW5jZWw/OiBzdHJpbmc7XG4gIH07XG4gIC8qKiBDbGFzc2kgQ1NTIGdsb2JhbGkgc3VsIGNvbnRhaW5lciBkZWwgZm9ybS4gKi9cbiAgY3NzQ2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG4vLyDilIDilIDilIAgQ29uZmlndXJhemlvbmUgd2l6YXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIENvbmZpZ3VyYXppb25lIHBlciBsYSBtb2RhbGl0YSB3aXphcmQgZGVsIGZvcm0uXG4gKiBVc2F0YSBkYWwgY29tcG9uZW50ZSBgVWlGb3JtV2l6YXJkQ29tcG9uZW50YC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgd2l6YXJkQ29uZmlnOiBVaVdpemFyZENvbmZpZyA9IHtcbiAqICAgc2hvd1Byb2dyZXNzOiB0cnVlLFxuICogICBwcm9ncmVzc1N0eWxlOiAnc3RlcHMnLFxuICogICBhbGxvd0JhY2tOYXZpZ2F0aW9uOiB0cnVlLFxuICogICBidXR0b25MYWJlbHM6IHsgc3VibWl0OiAnU2FsdmEgZSBwcm9zZWd1aScsIHByZXZpb3VzOiAnSW5kaWV0cm8nLCBmaW5pc2g6ICdDb21wbGV0YScgfSxcbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZENvbmZpZyB7XG4gIC8qKiBJRCBwZXIgc2luY3Jvbml6emF6aW9uZSB3aXJlbGVzcyB0cmEgaXN0YW56ZS4gKi9cbiAgd2l6YXJkSWQ/OiBzdHJpbmc7XG4gIC8qKiBOYXNjb25kZSBsJ2hlYWRlciBpbnRlcm5vIGRlbCB3aXphcmQgcGVyIGNvbnNlbnRpcmUgdW4gaGVhZGVyIGVzdGVybm8uICovXG4gIHdpcmVsZXNzSGVhZGluZz86IGJvb2xlYW47XG4gIC8qKiBNb3N0cmEgbGEgYmFycmEgZGkgcHJvZ3Jlc3NvLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dQcm9ncmVzcz86IGJvb2xlYW47XG4gIC8qKiBTdGlsZSBkZWxsYSBiYXJyYSBkaSBwcm9ncmVzc28uIEBkZWZhdWx0ICdzdGVwcycgKi9cbiAgcHJvZ3Jlc3NTdHlsZT86ICdsaW5lYXInIHwgJ3N0ZXBzJztcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGFsbCdpbmRpZXRyby4gQGRlZmF1bHQgdHJ1ZSAqL1xuICBhbGxvd0JhY2tOYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFBlcm1ldHRlIG5hdmlnYXppb25lIGluIGF2YW50aSBzZW56YSB2YWxpZGF6aW9uZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYWxsb3dGb3J3YXJkTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIC8qKiBTYWx2YSBhdXRvbWF0aWNhbWVudGUgaSBkYXRpIGFkIG9nbmkgY2FtYmlvIHN0ZXAuICovXG4gIGF1dG9TYXZlPzogYm9vbGVhbjtcbiAgLyoqIENhbGxiYWNrIHBlciBpbCBzYWx2YXRhZ2dpbyBkZWkgZGF0aSBkZWxsbyBzdGVwLiAqL1xuICBvblN0ZXBTYXZlPzogKHN0ZXBEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzdGVwTnVtYmVyOiBudW1iZXIpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xuICAvKiogTW9zdHJhIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lIChwcmVjZWRlbnRlL3N1Y2Nlc3Npdm8pLiBAZGVmYXVsdCB0cnVlICovXG4gIHNob3dOYXZpZ2F0aW9uQnV0dG9ucz86IGJvb2xlYW47XG4gIC8qKiBQb3NpemlvbmUgZGVpIHB1bHNhbnRpIGRpIG5hdmlnYXppb25lLiBAZGVmYXVsdCAnYm90dG9tJyAqL1xuICBuYXZpZ2F0aW9uUG9zaXRpb24/OiAndG9wJyB8ICdib3R0b20nIHwgJ2JvdGgnO1xuICAvKipcbiAgICogQ29uc2VudGUgZGkgc2FsdGFyZSBhIHVubyBzdGVwIGdpw6AgY29tcGxldGF0byBjbGljY2FuZG8gYnVsbGV0IG8gdGl0b2xvIHN0ZXBcbiAgICogcXVhbmRvIGBwcm9ncmVzc1N0eWxlYCDDqCBgJ3N0ZXBzJ2AuIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGFsbG93U3RlcEluZGljYXRvck5hdmlnYXRpb24/OiBib29sZWFuO1xuICAvKiogTGFiZWwgcGVyc29uYWxpenphdGUgcGVyIGkgcHVsc2FudGkgZGVsIHdpemFyZC4gKi9cbiAgYnV0dG9uTGFiZWxzPzoge1xuICAgIHByZXZpb3VzPzogc3RyaW5nO1xuICAgIC8qKiBMYWJlbCBwdWxzYW50ZSBhdmFudGk7IHNlIGFzc2VudGUgc2kgdXNhIGBzdWJtaXRgLiAqL1xuICAgIG5leHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWxpYXMgZGkgY29udmVuaWVuemEgKGNvbWUgYHN1Ym1pdGAgc3VsIGZvcm0gYnVpbGRlcikgcGVyIGlsIHB1bHNhbnRlIMKrYXZhbnRpwrsgLyBzYWx2YSBlIHByb3NlZ3VpLlxuICAgICAqIFVzYXRvIHNvbG8gc2UgYG5leHRgIG5vbiDDqCB2YWxvcml6emF0by5cbiAgICAgKi9cbiAgICBzdWJtaXQ/OiBzdHJpbmc7XG4gICAgZmluaXNoPzogc3RyaW5nO1xuICAgIHNhdmU/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogU3RhdG8gY29ycmVudGUgZGVsIHdpemFyZCwgZXNwb3N0byBkYWwgYFdpemFyZFN5bmNTZXJ2aWNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0YXRlIHtcbiAgLyoqIFN0ZXAgY29ycmVudGUgKDAtYmFzZWQpLiAqL1xuICBjdXJyZW50U3RlcDogbnVtYmVyO1xuICAvKiogTnVtZXJvIHRvdGFsZSBkaSBzdGVwLiAqL1xuICB0b3RhbFN0ZXBzOiBudW1iZXI7XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCBjb21wbGV0YXRpLiAqL1xuICBjb21wbGV0ZWRTdGVwczogU2V0PG51bWJlcj47XG4gIC8qKiBJbmRpY2kgZGVnbGkgc3RlcCB2aXNpdGF0aS4gKi9cbiAgdmlzaXRlZFN0ZXBzOiBTZXQ8bnVtYmVyPjtcbiAgLyoqIFNlIGlsIGZvcm0gbmVsbG8gc3RlcCBjb3JyZW50ZSBlIHZhbGlkby4gKi9cbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgLyoqIEVycm9yaSBwZXIgc3RlcC4gKi9cbiAgc3RlcEVycm9yczogUmVjb3JkPG51bWJlciwgc3RyaW5nW10+O1xufVxuXG4vLyDilIDilIDilIAgU2NoZW1hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIFNjaGVtYSBjb21wbGV0byBkZWwgZm9ybS5cbiAqXG4gKiBSYXBwcmVzZW50YSBsYSBjb25maWd1cmF6aW9uZSBkaWNoaWFyYXRpdmEgZGVsbCdpbnRlcm8gZm9ybTpcbiAqIHNlemlvbmksIGNhbXBpLCB2YWxpZGF6aW9uaSwgY29uZGl6aW9uaSBlIGltcG9zdGF6aW9uaSBnbG9iYWxpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY29uc3QgbXlGb3JtOiBVaUZvcm1TY2hlbWEgPSB7XG4gKiAgIGlkOiAndXNlci1yZWdpc3RyYXRpb24nLFxuICogICB0aXRsZTogJ1JlZ2lzdHJhemlvbmUgdXRlbnRlJyxcbiAqICAgc2VjdGlvbnM6IFtcbiAqICAgICB7IGlkOiAncGVyc29uYWwnLCB0aXRsZTogJ0RhdGkgcGVyc29uYWxpJywgZmllbGRzOiBbLi4uXSB9LFxuICogICAgIHsgaWQ6ICdhZGRyZXNzJywgdGl0bGU6ICdJbmRpcml6em8nLCBmaWVsZHM6IFsuLi5dLCBjb2xsYXBzaWJsZTogdHJ1ZSB9LFxuICogICBdLFxuICogICBjb25maWc6IHsgY29sdW1uczogMTIsIHNob3dCdXR0b25zOiB0cnVlIH0sXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlGb3JtU2NoZW1hIHtcbiAgLyoqIElEIHVuaXZvY28gZGVsIGZvcm0uICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBUaXRvbG8gZGVsIGZvcm0uICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogRGVzY3JpemlvbmUgZGVsIGZvcm0uICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogU2V6aW9uaSBkZWwgZm9ybS4gKi9cbiAgc2VjdGlvbnM6IFVpRm9ybVNlY3Rpb25bXTtcbiAgLyoqIENvbmZpZ3VyYXppb25lIGdsb2JhbGUuICovXG4gIGNvbmZpZz86IFVpRm9ybUJ1aWxkZXJDb25maWc7XG59XG5cbi8vIOKUgOKUgOKUgCBUaXBpIGRpIHV0aWxpdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogRGF0aSBkZWwgZm9ybSBjb21lIG1hcHBhIGNoaWF2ZS12YWxvcmUuXG4gKi9cbmV4cG9ydCB0eXBlIFVpRm9ybURhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gZGFpIGNhbXBpIGN1c3RvbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUZvcm1DdXN0b21FdmVudCB7XG4gIC8qKiBDaGlhdmUgZGVsIGNhbXBvIGNoZSBoYSBlbWVzc28gbCdldmVudG8uICovXG4gIGZpZWxkOiBzdHJpbmc7XG4gIC8qKiBOb21lIGRlbGwnZXZlbnRvLiAqL1xuICBldmVudDogc3RyaW5nO1xuICAvKiogRGF0aSBhc3NvY2lhdGkgYWxsJ2V2ZW50by4gKi9cbiAgZGF0YTogYW55O1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gYWwgY2FtYmlvIHN0ZXAgZGVsIHdpemFyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFN0ZXBDaGFuZ2VFdmVudCB7XG4gIC8qKiBJbmRpY2UgZGVsbG8gc3RlcCBkaSBwYXJ0ZW56YS4gKi9cbiAgZnJvbTogbnVtYmVyO1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgZGkgZGVzdGluYXppb25lLiAqL1xuICB0bzogbnVtYmVyO1xuICAvKiogRGlyZXppb25lIGRlbGxhIG5hdmlnYXppb25lLiAqL1xuICBkaXJlY3Rpb246ICduZXh0JyB8ICdwcmV2aW91cyc7XG59XG5cbi8qKlxuICogRXZlbnRvIGVtZXNzbyBhbCBjb21wbGV0YW1lbnRvIGRpIHVubyBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpV2l6YXJkU3RlcENvbXBsZXRlRXZlbnQge1xuICAvKiogSW5kaWNlIGRlbGxvIHN0ZXAgY29tcGxldGF0by4gKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogRGF0aSBkZWwgZm9ybSBhbCBtb21lbnRvIGRlbCBjb21wbGV0YW1lbnRvLiAqL1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIE9wemlvbmkgcGVyIHtAbGluayBVaUZvcm1XaXphcmRDb21wb25lbnQucmVzdW1lQ29tcGxldGVkU3RlcHNGcm9tVmFsaWRhdGlvbn0uXG4gKiBQZXIgZGVmYXVsdCBpbCByZXN1bWUgYWdnaW9ybmEgc29sbyBsbyBzdGF0byBVSSAoYGNvbXBsZXRlZFN0ZXBzYCwgc3RlcCBjb3JyZW50ZSlcbiAqIHNlbnphIGVtZXR0ZXJlIGV2ZW50aSBkaSBzYWx2YXRhZ2dpbyBvIGNvbXBsZXRhbWVudG8gc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaVdpemFyZFJlc3VtZU9wdGlvbnMge1xuICAvKiogU2UgYHRydWVgLCBlbWV0dGUgYHN0ZXBDb21wbGV0ZWAgcGVyIG9nbmkgc3RlcCB2YWxpZGF0byBkdXJhbnRlIGxvIHNjYW4uIEBkZWZhdWx0IGZhbHNlICovXG4gIGVtaXRTdGVwQ29tcGxldGU/OiBib29sZWFuO1xuICAvKiogU2UgYHRydWVgLCBpbnZvY2EgYG9uU3RlcFNhdmVgIHBlciBvZ25pIHN0ZXAgdmFsaWRhdG8gZHVyYW50ZSBsbyBzY2FuLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBlbWl0U3RlcFNhdmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJpc3VsdGF0byBkaSB7QGxpbmsgVWlGb3JtV2l6YXJkQ29tcG9uZW50LnJlc3VtZUNvbXBsZXRlZFN0ZXBzRnJvbVZhbGlkYXRpb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpV2l6YXJkUmVzdW1lUmVzdWx0IHtcbiAgLyoqIFVsdGltbyBpbmRpY2Ugc3RlcCAoMC1iYXNlZCkgbWFyY2F0byBjb21lIGNvbXBsZXRhdG87IGAtMWAgc2UgbmVzc3Vuby4gKi9cbiAgbGFzdENvbXBsZXRlZFN0ZXA6IG51bWJlcjtcbiAgLyoqIFN0ZXAgY29ycmVudGUgZG9wbyBpbCByZXN1bWUgKHByaW1vIG5vbiB2YWxpZG8gbyB1bHRpbW8gc2UgdHV0dGkgdmFsaWRpKS4gKi9cbiAgY3VycmVudFN0ZXA6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -292,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
292
292
|
type: Injectable,
|
|
293
293
|
args: [{ providedIn: 'root' }]
|
|
294
294
|
}] });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb3JlL2xvZ2dpbmcvbG9nZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztHQVNHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekI7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQWdDLElBQUksQ0FBQztRQUV0RCw0QkFBNEI7UUFDbkIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVoRCw4QkFBOEI7UUFDdEIsV0FBTSxHQUFtQjtZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM3QixRQUFRLEVBQUUsT0FBTztZQUNqQixLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLFVBQVUsRUFBRSxxQkFBcUI7U0FDbEMsQ0FBQztLQW9USDtJQWxUQyx3REFBd0Q7SUFDaEQsWUFBWTtRQUNsQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLENBQUM7SUFDaEYsQ0FBQztJQUVELHlFQUF5RTtJQUNqRSxhQUFhO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIs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QUFDLENBQUMsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNkLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxFQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsc0JBQXNCO1FBQ3RCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0FoVVUsZUFBZTttSEFBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2NvcmUvbG9nZ2luZ1xyXG4gKiBMb2dnZXIgY2VudHJhbGl6emF0byBjb24gcGVyc2lzdGVuemEgSW5kZXhlZERCLlxyXG4gKiBQYXR0ZXJuIG9tb2xvZ2F0byBhIEFjdGlvbkxvZ2dlclNlcnZpY2UgZGVsIHByb2dldHRvIFNpZm9ybS1QQUwuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGNvbnN0IGxvZ2dlciA9IGluamVjdChVaUxvZ2dlclNlcnZpY2UpO1xyXG4gKiBsb2dnZXIubG9nRm9ybUFjdGlvbignZm9ybV9zdWJtaXQnLCB7IHNjaGVtYUlkOiAndXNlci1mb3JtJywgdmFsdWVzOiBkYXRhIH0pO1xyXG4gKiBsb2dnZXIubG9nV2l6YXJkQWN0aW9uKCdzdGVwX2NoYW5nZScsIHsgZnJvbTogMCwgdG86IDEgfSk7XHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB0eXBlIHsgVWlMb2dDYXRlZ29yeSwgVWlMb2dFbnRyeSwgVWlMb2dGaWx0ZXIsIFVpTG9nTGV2ZWwsIFVpTG9nU3VtbWFyeSwgVWlMb2dnZXJDb25maWcgfSBmcm9tICcuL2xvZ2dlci50eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgVUlfTE9HR0VSX0RFRkFVTFRfVFRMX01TLFxyXG4gIFVJX0xPR0dFUl9JREJfTkFNRSxcclxuICBVSV9MT0dHRVJfSURCX1NUT1JFLFxyXG4gIFVJX0xPR0dFUl9JREJfVkVSU0lPTixcclxuICBVSV9MT0dHRVJfTUFYX0VOVFJJRVMsXHJcbiAgVUlfTE9HR0VSX0xFVkVMUyxcclxufSBmcm9tICcuL2xvZ2dlci5jb25maWcnO1xyXG5cclxuLyoqXHJcbiAqIExvZ2dlciBjZW50cmFsaXp6YXRvIHBlciBjb21wb25lbnRpIG5nLXVpLXN5c3RlbS5cclxuICogUGVyc2lzdGUgc3UgSW5kZXhlZERCIGNvbiBjbGVhbnVwIGF1dG9tYXRpY28uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVWlMb2dnZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIHByaXZhdGUgZGJQcm9taXNlOiBQcm9taXNlPElEQkRhdGFiYXNlPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKiogU3RhdG8gdG9nZ2xlIHJ1bnRpbWUuICovXHJcbiAgcmVhZG9ubHkgZW5hYmxlZCA9IHNpZ25hbCh0aGlzLmRldGVjdEVuYWJsZWQoKSk7XHJcblxyXG4gIC8qKiBDb25maWd1cmF6aW9uZSBydW50aW1lLiAqL1xyXG4gIHByaXZhdGUgY29uZmlnOiBVaUxvZ2dlckNvbmZpZyA9IHtcclxuICAgIGVuYWJsZWQ6IHRoaXMuZGV0ZWN0RW5hYmxlZCgpLFxyXG4gICAgbWluTGV2ZWw6ICdkZWJ1ZycsXHJcbiAgICB0dGxNczogVUlfTE9HR0VSX0RFRkFVTFRfVFRMX01TLFxyXG4gICAgbWF4RW50cmllczogVUlfTE9HR0VSX01BWF9FTlRSSUVTLFxyXG4gIH07XHJcblxyXG4gIC8qKiBUcnVlIHNlIEluZGV4ZWREQiBkaXNwb25pYmlsZSBlIHNpYW1vIGluIGJyb3dzZXIuICovXHJcbiAgcHJpdmF0ZSBpZGJTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0eXBlb2YgaW5kZXhlZERCICE9PSAndW5kZWZpbmVkJztcclxuICB9XHJcblxyXG4gIC8qKiBSaWxldmEgc2UgbG9nZ2luZyBhdHRpdm8gKGRlZmF1bHQ6IHRydWUgaW4gZGV2IHNlIG5vbiBwcm9kdWN0aW9uKS4gKi9cclxuICBwcml2YXRlIGRldGVjdEVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiBmYWxzZTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICBjb25zdCBuZyA9ICh3aW5kb3cgYXMgYW55KS5uZztcclxuICAgIGNvbnN0IGlzRGV2ID0gbmcgJiYgdHlwZW9mIG5nLnByb2JlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgcmV0dXJuIGlzRGV2O1xyXG4gIH1cclxuXHJcbiAgLyoqIEFiaWxpdGEvZGlzYWJpbGl0YSBsb2dnaW5nIHJ1bnRpbWUuICovXHJcbiAgc2V0RW5hYmxlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5lbmFibGVkLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLmNvbmZpZy5lbmFibGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKiogQ29uZmlndXJhIGlsIGxvZ2dlci4gKi9cclxuICBjb25maWd1cmUoY29uZmlnOiBQYXJ0aWFsPFVpTG9nZ2VyQ29uZmlnPik6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgIHRoaXMuZW5hYmxlZC5zZXQodGhpcy5jb25maWcuZW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICAvLyAgUHVibGljIEFQSTogZ2VuZXJpYyBsb2dcclxuXHJcbiAgLyoqXHJcbiAgICogTG9nIGdlbmVyaWNvIGNvbiBjb250cm9sbG8gZW5hYmxlZCBlIGxpdmVsbG8uXHJcbiAgICovXHJcbiAgbG9nKFxyXG4gICAgY2F0ZWdvcnk6IFVpTG9nQ2F0ZWdvcnksXHJcbiAgICBsZXZlbDogVWlMb2dMZXZlbCxcclxuICAgIGFjdGlvbjogc3RyaW5nLFxyXG4gICAgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxyXG4gICAgZHVyYXRpb24/OiBudW1iZXJcclxuICApOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lbmFibGVkKCkpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5zaG91bGRMb2dMZXZlbChsZXZlbCkpIHJldHVybjtcclxuICAgIHZvaWQgdGhpcy5wZXJzaXN0KGNhdGVnb3J5LCBsZXZlbCwgYWN0aW9uLCBwYXlsb2FkLCBkdXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2cgYXppb25lIGZvcm0gKHN1Ym1pdCwgcmVzZXQsIHZhbHVlQ2hhbmdlLCBldGMpLlxyXG4gICAqL1xyXG4gIGxvZ0Zvcm1BY3Rpb24oXHJcbiAgICBhY3Rpb246ICdpbml0JyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyB8ICd2YWx1ZUNoYW5nZScgfCAndmFsaWRhdGlvbkNoYW5nZScgfCAnY3VzdG9tRXZlbnQnIHwgJ2Rlc3Ryb3knLFxyXG4gICAgcGF5bG9hZDogeyBzY2hlbWFJZDogc3RyaW5nO1trZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4gICk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ2Zvcm0nLCAnaW5mbycsIGFjdGlvbiwgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2cgYXppb25lIHdpemFyZCAoc3RlcENoYW5nZSwgY29tcGxldGUsIHZhbGlkYXRpb25GYWlsZWQsIGV0YykuXHJcbiAgICovXHJcbiAgbG9nV2l6YXJkQWN0aW9uKFxyXG4gICAgYWN0aW9uOiAnaW5pdCcgfCAnc3RlcENoYW5nZScgfCAnc3RlcENvbXBsZXRlJyB8ICdzdGVwVmFsaWRhdGlvbkZhaWxlZCcgfCAnY29tcGxldGUnIHwgJ25hdmlnYXRpb24nIHwgJ3NhdmUnIHwgJ3ZhbHVlQ2hhbmdlJyB8ICdrZXlib2FyZE5hdmlnYXRpb24nIHwgJ2Rlc3Ryb3knLFxyXG4gICAgcGF5bG9hZDogeyB3aXphcmRJZD86IHN0cmluZzsgc3RlcD86IG51bWJlcjtba2V5OiBzdHJpbmddOiB1bmtub3duIH1cclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMubG9nKCd3aXphcmQnLCAnaW5mbycsIGFjdGlvbiwgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2cgZXJyb3JlLlxyXG4gICAqL1xyXG4gIGxvZ0Vycm9yKGVycm9yOiBFcnJvciB8IHVua25vd24sIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWQge1xyXG4gICAgY29uc3QgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7IC4uLmNvbnRleHQgfTtcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XHJcbiAgICAgIHBheWxvYWRbJ21lc3NhZ2UnXSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgIHBheWxvYWRbJ3N0YWNrJ10gPSBlcnJvci5zdGFjaztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBheWxvYWRbJ2Vycm9yJ10gPSBlcnJvcjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nKCdlcnJvcicsICdlcnJvcicsICdleGNlcHRpb24nLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZyBkZWJ1ZyAoc29sbyBzZSBlbmFibGVkIGUgbWluTGV2ZWwgPD0gZGVidWcpLlxyXG4gICAqL1xyXG4gIGRlYnVnKGNhdGVnb3J5OiBVaUxvZ0NhdGVnb3J5LCBhY3Rpb246IHN0cmluZywgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZyhjYXRlZ29yeSwgJ2RlYnVnJywgYWN0aW9uLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIC8vICBJbmRleGVkREIgcGVyc2lzdGVuY2VcclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBwZXJzaXN0KFxyXG4gICAgY2F0ZWdvcnk6IFVpTG9nQ2F0ZWdvcnksXHJcbiAgICBsZXZlbDogVWlMb2dMZXZlbCxcclxuICAgIGFjdGlvbjogc3RyaW5nLFxyXG4gICAgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxyXG4gICAgZHVyYXRpb24/OiBudW1iZXJcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5pZGJTdXBwb3J0ZWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGVudHJ5OiBVaUxvZ0VudHJ5ID0ge1xyXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX1fJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA5KX1gLFxyXG4gICAgICBjYXRlZ29yeSxcclxuICAgICAgbGV2ZWwsXHJcbiAgICAgIGFjdGlvbixcclxuICAgICAgcGF5bG9hZCxcclxuICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxyXG4gICAgICBkdXJhdGlvbixcclxuICAgICAgdXJsOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJycsXHJcbiAgICAgIHVzZXJJZDogdGhpcy5nZXRVc2VySWQoKSxcclxuICAgIH07XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLm9wZW5EYigpO1xyXG4gICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKFVJX0xPR0dFUl9JREJfU1RPUkUsICdyZWFkd3JpdGUnKTtcclxuICAgICAgdHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSkucHV0KGVudHJ5LCBlbnRyeS5pZCk7XHJcblxyXG4gICAgICAvLyBEZWJ1ZyB2aXNpYmlsZSBpbiBkZXYgbW9kZVxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICBpZiAodGhpcy5lbmFibGVkKCkpIHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGBbVWlMb2dnZXJdICR7ZW50cnkuY2F0ZWdvcnl9OiR7ZW50cnkuYWN0aW9ufWAsIGVudHJ5LnBheWxvYWQgPz8gJycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBDbGVhbnVwIGFzaW5jcm9ubyBzZW56YSBibG9jY2FyZVxyXG4gICAgICB2b2lkIHRoaXMuY2xlYW51cElmTmVlZGVkKGRiKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy8gU2lsZW50IGZhaWw6IGxvZ2dpbmcgbm9uIGRldmUgcm9tcGVyZSBsJ2FwcFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICBjb25zb2xlLndhcm4oJ1tVaUxvZ2dlcl0gUGVyc2lzdCBmYWlsZWQ6JywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUmVjdXBlcmEgdXNlcklkIGRhIGxvY2FsU3RvcmFnZSBzZSBkaXNwb25pYmlsZS4gKi9cclxuICBwcml2YXRlIGdldFVzZXJJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdleExvZ2luJykgPz8gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqIFZlcmlmaWNhIHNlIGlsIGxpdmVsbG8gZGV2ZSBlc3NlcmUgbG9nZ2F0byBpbiBiYXNlIGEgbWluTGV2ZWwuICovXHJcbiAgcHJpdmF0ZSBzaG91bGRMb2dMZXZlbChsZXZlbDogVWlMb2dMZXZlbCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbWluSW5kZXggPSBVSV9MT0dHRVJfTEVWRUxTLmluZGV4T2YodGhpcy5jb25maWcubWluTGV2ZWwpO1xyXG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IFVJX0xPR0dFUl9MRVZFTFMuaW5kZXhPZihsZXZlbCk7XHJcbiAgICByZXR1cm4gbGV2ZWxJbmRleCA+PSBtaW5JbmRleDtcclxuICB9XHJcblxyXG4gIC8vICBRdWVyeSBBUElcclxuXHJcbiAgLyoqXHJcbiAgICogUmVjdXBlcmEgbG9nIGNvbiBmaWx0cmkuXHJcbiAgICovXHJcbiAgYXN5bmMgcXVlcnkoZmlsdGVyOiBVaUxvZ0ZpbHRlciA9IHt9KTogUHJvbWlzZTxVaUxvZ0VudHJ5W10+IHtcclxuICAgIGlmICghdGhpcy5pZGJTdXBwb3J0ZWQoKSkgcmV0dXJuIFtdO1xyXG5cclxuICAgIGNvbnN0IGRiID0gYXdhaXQgdGhpcy5vcGVuRGIoKTtcclxuICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWRvbmx5Jyk7XHJcbiAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKFVJX0xPR0dFUl9JREJfU1RPUkUpO1xyXG5cclxuICAgIGNvbnN0IGFsbDogVWlMb2dFbnRyeVtdID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0QWxsKCk7XHJcbiAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZShyZXF1ZXN0LnJlc3VsdCBhcyBVaUxvZ0VudHJ5W10pO1xyXG4gICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxdWVzdC5lcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5hcHBseUZpbHRlcihhbGwsIGZpbHRlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSaWVwaWxvZ28gbG9nIHBlciBkYXNoYm9hcmQuXHJcbiAgICovXHJcbiAgYXN5bmMgc3VtbWFyeSgpOiBQcm9taXNlPFVpTG9nU3VtbWFyeT4ge1xyXG4gICAgY29uc3QgYWxsID0gYXdhaXQgdGhpcy5xdWVyeSgpO1xyXG5cclxuICAgIGNvbnN0IGJ5Q2F0ZWdvcnkgPSB7IGZvcm06IDAsIHdpemFyZDogMCwgbmF2aWdhdGlvbjogMCwgc3lzdGVtOiAwLCBlcnJvcjogMCB9IGFzIFJlY29yZDxVaUxvZ0NhdGVnb3J5LCBudW1iZXI+O1xyXG4gICAgY29uc3QgYnlMZXZlbCA9IHsgZGVidWc6IDAsIGluZm86IDAsIHdhcm46IDAsIGVycm9yOiAwIH0gYXMgUmVjb3JkPFVpTG9nTGV2ZWwsIG51bWJlcj47XHJcblxyXG4gICAgbGV0IG9sZGVzdCA9IEluZmluaXR5O1xyXG4gICAgbGV0IG5ld2VzdCA9IDA7XHJcblxyXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBhbGwpIHtcclxuICAgICAgYnlDYXRlZ29yeVtlbnRyeS5jYXRlZ29yeV0rKztcclxuICAgICAgYnlMZXZlbFtlbnRyeS5sZXZlbF0rKztcclxuICAgICAgaWYgKGVudHJ5LnRpbWVzdGFtcCA8IG9sZGVzdCkgb2xkZXN0ID0gZW50cnkudGltZXN0YW1wO1xyXG4gICAgICBpZiAoZW50cnkudGltZXN0YW1wID4gbmV3ZXN0KSBuZXdlc3QgPSBlbnRyeS50aW1lc3RhbXA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG90YWw6IGFsbC5sZW5ndGgsXHJcbiAgICAgIGJ5Q2F0ZWdvcnksXHJcbiAgICAgIGJ5TGV2ZWwsXHJcbiAgICAgIG9sZGVzdDogb2xkZXN0ID09PSBJbmZpbml0eSA/IDAgOiBvbGRlc3QsXHJcbiAgICAgIG5ld2VzdCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxsYSBsb2cgcGnDuSB2ZWNjaGkgZGkgVFRMLlxyXG4gICAqL1xyXG4gIGFzeW5jIHB1cmdlT2xkKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBpZiAoIXRoaXMuaWRiU3VwcG9ydGVkKCkpIHJldHVybiAwO1xyXG5cclxuICAgIGNvbnN0IGN1dG9mZiA9IERhdGUubm93KCkgLSB0aGlzLmNvbmZpZy50dGxNcztcclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGRiID0gYXdhaXQgdGhpcy5vcGVuRGIoKTtcclxuICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWRvbmx5Jyk7XHJcbiAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKFVJX0xPR0dFUl9JREJfU1RPUkUpO1xyXG5cclxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgY3Vyc29yID0gc3RvcmUub3BlbkN1cnNvcigpO1xyXG4gICAgICBjdXJzb3Iub25zdWNjZXNzID0gKGUpID0+IHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSAoZS50YXJnZXQgYXMgSURCUmVxdWVzdCkucmVzdWx0IGFzIElEQkN1cnNvcldpdGhWYWx1ZSB8IG51bGw7XHJcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZW50cnkgPSByZXN1bHQudmFsdWUgYXMgVWlMb2dFbnRyeTtcclxuICAgICAgICBpZiAoZW50cnkudGltZXN0YW1wIDwgY3V0b2ZmKSB7XHJcbiAgICAgICAgICB0b0RlbGV0ZS5wdXNoKGVudHJ5LmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmNvbnRpbnVlKCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGN1cnNvci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KGN1cnNvci5lcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodG9EZWxldGUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBkZWxUeCA9IGRiLnRyYW5zYWN0aW9uKFVJX0xPR0dFUl9JREJfU1RPUkUsICdyZWFkd3JpdGUnKTtcclxuICAgICAgZm9yIChjb25zdCBpZCBvZiB0b0RlbGV0ZSkge1xyXG4gICAgICAgIGRlbFR4Lm9iamVjdFN0b3JlKFVJX0xPR0dFUl9JREJfU1RPUkUpLmRlbGV0ZShpZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9EZWxldGUubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsbGEgdHV0dGkgaSBsb2cuXHJcbiAgICovXHJcbiAgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuaWRiU3VwcG9ydGVkKCkpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBkYiA9IGF3YWl0IHRoaXMub3BlbkRiKCk7XHJcbiAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKFVJX0xPR0dFUl9JREJfU1RPUkUsICdyZWFkd3JpdGUnKTtcclxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKFVJX0xPR0dFUl9JREJfU1RPUkUpLmNsZWFyKCk7XHJcbiAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZSgpO1xyXG4gICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxdWVzdC5lcnJvcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vICBJbnRlcm5hbHNcclxuXHJcbiAgcHJpdmF0ZSBvcGVuRGIoKTogUHJvbWlzZTxJREJEYXRhYmFzZT4ge1xyXG4gICAgaWYgKHRoaXMuZGJQcm9taXNlKSByZXR1cm4gdGhpcy5kYlByb21pc2U7XHJcblxyXG4gICAgdGhpcy5kYlByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlcSA9IGluZGV4ZWREQi5vcGVuKFVJX0xPR0dFUl9JREJfTkFNRSwgVUlfTE9HR0VSX0lEQl9WRVJTSU9OKTtcclxuICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxLmVycm9yKTtcclxuICAgICAgcmVxLm9uc3VjY2VzcyA9ICgpID0+IHJlc29sdmUocmVxLnJlc3VsdCk7XHJcbiAgICAgIHJlcS5vbnVwZ3JhZGVuZWVkZWQgPSAoZXYpID0+IHtcclxuICAgICAgICBjb25zdCBkYiA9IChldi50YXJnZXQgYXMgSURCT3BlbkRCUmVxdWVzdCkucmVzdWx0O1xyXG4gICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhVSV9MT0dHRVJfSURCX1NUT1JFKSkge1xyXG4gICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGJQcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBjbGVhbnVwSWZOZWVkZWQoZGI6IElEQkRhdGFiYXNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKFVJX0xPR0dFUl9JREJfU1RPUkUsICdyZWFkb25seScpO1xyXG4gICAgY29uc3QgY291bnQgPSBhd2FpdCBuZXcgUHJvbWlzZTxudW1iZXI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgcmVxID0gdHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSkuY291bnQoKTtcclxuICAgICAgcmVxLm9uc3VjY2VzcyA9ICgpID0+IHJlc29sdmUocmVxLnJlc3VsdCk7XHJcbiAgICAgIHJlcS5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHJlcS5lcnJvcik7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoY291bnQgPiB0aGlzLmNvbmZpZy5tYXhFbnRyaWVzKSB7XHJcbiAgICAgIHZvaWQgdGhpcy5wdXJnZU9sZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseUZpbHRlcihlbnRyaWVzOiBVaUxvZ0VudHJ5W10sIGZpbHRlcjogVWlMb2dGaWx0ZXIpOiBVaUxvZ0VudHJ5W10ge1xyXG4gICAgbGV0IHJlc3VsdCA9IGVudHJpZXM7XHJcblxyXG4gICAgaWYgKGZpbHRlci5jYXRlZ29yeSkge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChlKSA9PiBlLmNhdGVnb3J5ID09PSBmaWx0ZXIuY2F0ZWdvcnkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbHRlci5sZXZlbCkge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChlKSA9PiBlLmxldmVsID09PSBmaWx0ZXIubGV2ZWwpO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbHRlci5hY3Rpb24pIHtcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcigoZSkgPT4gZS5hY3Rpb24uaW5jbHVkZXMoZmlsdGVyLmFjdGlvbiEpKTtcclxuICAgIH1cclxuICAgIGlmIChmaWx0ZXIuZnJvbSkge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChlKSA9PiBlLnRpbWVzdGFtcCA+PSBmaWx0ZXIuZnJvbSEpO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbHRlci50bykge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChlKSA9PiBlLnRpbWVzdGFtcCA8PSBmaWx0ZXIudG8hKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPcmRpbmEgbmV3ZXN0IGZpcnN0XHJcbiAgICByZXN1bHQgPSByZXN1bHQuc29ydCgoYSwgYikgPT4gYi50aW1lc3RhbXAgLSBhLnRpbWVzdGFtcCk7XHJcblxyXG4gICAgaWYgKGZpbHRlci5saW1pdCAmJiBmaWx0ZXIubGltaXQgPiAwKSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5zbGljZSgwLCBmaWx0ZXIubGltaXQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59Il19
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb3JlL2xvZ2dpbmcvbG9nZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7OztHQVNHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekI7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQWdDLElBQUksQ0FBQztRQUV0RCw0QkFBNEI7UUFDbkIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVoRCw4QkFBOEI7UUFDdEIsV0FBTSxHQUFtQjtZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM3QixRQUFRLEVBQUUsT0FBTztZQUNqQixLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLFVBQVUsRUFBRSxxQkFBcUI7U0FDbEMsQ0FBQztLQWdVSDtJQTlUQyx3REFBd0Q7SUFDaEQsWUFBWTtRQUNsQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLENBQUM7SUFDaEYsQ0FBQztJQUVELHlFQUF5RTtJQUNqRSxhQUFhO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIs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QUFDLENBQUMsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNkLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxFQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsc0JBQXNCO1FBQ3RCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUQsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E1VVUsZUFBZTttSEFBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBtb2R1bGUgbmctdWktc3lzdGVtL2NvcmUvbG9nZ2luZ1xyXG4gKiBMb2dnZXIgY2VudHJhbGl6emF0byBjb24gcGVyc2lzdGVuemEgSW5kZXhlZERCLlxyXG4gKiBQYXR0ZXJuIG9tb2xvZ2F0byBhIEFjdGlvbkxvZ2dlclNlcnZpY2UgZGVsIHByb2dldHRvIFNpZm9ybS1QQUwuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGNvbnN0IGxvZ2dlciA9IGluamVjdChVaUxvZ2dlclNlcnZpY2UpO1xyXG4gKiBsb2dnZXIubG9nRm9ybUFjdGlvbignZm9ybV9zdWJtaXQnLCB7IHNjaGVtYUlkOiAndXNlci1mb3JtJywgdmFsdWVzOiBkYXRhIH0pO1xyXG4gKiBsb2dnZXIubG9nV2l6YXJkQWN0aW9uKCdzdGVwX2NoYW5nZScsIHsgZnJvbTogMCwgdG86IDEgfSk7XHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB0eXBlIHsgVWlMb2dDYXRlZ29yeSwgVWlMb2dFbnRyeSwgVWlMb2dGaWx0ZXIsIFVpTG9nTGV2ZWwsIFVpTG9nU3VtbWFyeSwgVWlMb2dnZXJDb25maWcgfSBmcm9tICcuL2xvZ2dlci50eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgVUlfTE9HR0VSX0RFRkFVTFRfVFRMX01TLFxyXG4gIFVJX0xPR0dFUl9JREJfTkFNRSxcclxuICBVSV9MT0dHRVJfSURCX1NUT1JFLFxyXG4gIFVJX0xPR0dFUl9JREJfVkVSU0lPTixcclxuICBVSV9MT0dHRVJfTUFYX0VOVFJJRVMsXHJcbiAgVUlfTE9HR0VSX0xFVkVMUyxcclxufSBmcm9tICcuL2xvZ2dlci5jb25maWcnO1xyXG5cclxuLyoqXHJcbiAqIExvZ2dlciBjZW50cmFsaXp6YXRvIHBlciBjb21wb25lbnRpIG5nLXVpLXN5c3RlbS5cclxuICogUGVyc2lzdGUgc3UgSW5kZXhlZERCIGNvbiBjbGVhbnVwIGF1dG9tYXRpY28uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVWlMb2dnZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIHByaXZhdGUgZGJQcm9taXNlOiBQcm9taXNlPElEQkRhdGFiYXNlPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKiogU3RhdG8gdG9nZ2xlIHJ1bnRpbWUuICovXHJcbiAgcmVhZG9ubHkgZW5hYmxlZCA9IHNpZ25hbCh0aGlzLmRldGVjdEVuYWJsZWQoKSk7XHJcblxyXG4gIC8qKiBDb25maWd1cmF6aW9uZSBydW50aW1lLiAqL1xyXG4gIHByaXZhdGUgY29uZmlnOiBVaUxvZ2dlckNvbmZpZyA9IHtcclxuICAgIGVuYWJsZWQ6IHRoaXMuZGV0ZWN0RW5hYmxlZCgpLFxyXG4gICAgbWluTGV2ZWw6ICdkZWJ1ZycsXHJcbiAgICB0dGxNczogVUlfTE9HR0VSX0RFRkFVTFRfVFRMX01TLFxyXG4gICAgbWF4RW50cmllczogVUlfTE9HR0VSX01BWF9FTlRSSUVTLFxyXG4gIH07XHJcblxyXG4gIC8qKiBUcnVlIHNlIEluZGV4ZWREQiBkaXNwb25pYmlsZSBlIHNpYW1vIGluIGJyb3dzZXIuICovXHJcbiAgcHJpdmF0ZSBpZGJTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0eXBlb2YgaW5kZXhlZERCICE9PSAndW5kZWZpbmVkJztcclxuICB9XHJcblxyXG4gIC8qKiBSaWxldmEgc2UgbG9nZ2luZyBhdHRpdm8gKGRlZmF1bHQ6IHRydWUgaW4gZGV2IHNlIG5vbiBwcm9kdWN0aW9uKS4gKi9cclxuICBwcml2YXRlIGRldGVjdEVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiBmYWxzZTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICBjb25zdCBuZyA9ICh3aW5kb3cgYXMgYW55KS5uZztcclxuICAgIGNvbnN0IGlzRGV2ID0gbmcgJiYgdHlwZW9mIG5nLnByb2JlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgcmV0dXJuIGlzRGV2O1xyXG4gIH1cclxuXHJcbiAgLyoqIEFiaWxpdGEvZGlzYWJpbGl0YSBsb2dnaW5nIHJ1bnRpbWUuICovXHJcbiAgc2V0RW5hYmxlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5lbmFibGVkLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLmNvbmZpZy5lbmFibGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKiogQ29uZmlndXJhIGlsIGxvZ2dlci4gKi9cclxuICBjb25maWd1cmUoY29uZmlnOiBQYXJ0aWFsPFVpTG9nZ2VyQ29uZmlnPik6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgIHRoaXMuZW5hYmxlZC5zZXQodGhpcy5jb25maWcuZW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICAvLyAgUHVibGljIEFQSTogZ2VuZXJpYyBsb2dcclxuXHJcbiAgLyoqXHJcbiAgICogTG9nIGdlbmVyaWNvIGNvbiBjb250cm9sbG8gZW5hYmxlZCBlIGxpdmVsbG8uXHJcbiAgICovXHJcbiAgbG9nKFxyXG4gICAgY2F0ZWdvcnk6IFVpTG9nQ2F0ZWdvcnksXHJcbiAgICBsZXZlbDogVWlMb2dMZXZlbCxcclxuICAgIGFjdGlvbjogc3RyaW5nLFxyXG4gICAgcGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxyXG4gICAgZHVyYXRpb24/OiBudW1iZXJcclxuICApOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lbmFibGVkKCkpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5zaG91bGRMb2dMZXZlbChsZXZlbCkpIHJldHVybjtcclxuICAgIHZvaWQgdGhpcy5wZXJzaXN0KGNhdGVnb3J5LCBsZXZlbCwgYWN0aW9uLCBwYXlsb2FkLCBkdXJhdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2cgYXppb25lIGZvcm0gKHN1Ym1pdCwgcmVzZXQsIHZhbHVlQ2hhbmdlLCBldGMpLlxyXG4gICAqL1xyXG4gIGxvZ0Zvcm1BY3Rpb24oXHJcbiAgICBhY3Rpb246ICdpbml0JyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyB8ICd2YWx1ZUNoYW5nZScgfCAndmFsaWRhdGlvbkNoYW5nZScgfCAnY3VzdG9tRXZlbnQnIHwgJ2Rlc3Ryb3knLFxyXG4gICAgcGF5bG9hZDogeyBzY2hlbWFJZDogc3RyaW5nO1trZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4gICk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ2Zvcm0nLCAnaW5mbycsIGFjdGlvbiwgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2cgYXppb25lIHdpemFyZCAoc3RlcENoYW5nZSwgY29tcGxldGUsIHZhbGlkYXRpb25GYWlsZWQsIGV0YykuXHJcbiAgICovXHJcbiAgbG9nV2l6YXJkQWN0aW9uKFxyXG4gICAgYWN0aW9uOlxyXG4gICAgICB8ICdpbml0J1xyXG4gICAgICB8ICdzdGVwQ2hhbmdlJ1xyXG4gICAgICB8ICdzdGVwQ29tcGxldGUnXHJcbiAgICAgIHwgJ3N0ZXBWYWxpZGF0aW9uRmFpbGVkJ1xyXG4gICAgICB8ICdjb21wbGV0ZSdcclxuICAgICAgfCAnbmF2aWdhdGlvbidcclxuICAgICAgfCAnc2F2ZSdcclxuICAgICAgfCAndmFsdWVDaGFuZ2UnXHJcbiAgICAgIHwgJ2tleWJvYXJkTmF2aWdhdGlvbidcclxuICAgICAgfCAnZGVzdHJveSdcclxuICAgICAgfCAncmVzdW1lJ1xyXG4gICAgICB8ICdyZXN1bWVDb21wbGV0ZScsXHJcbiAgICBwYXlsb2FkOiB7IHdpemFyZElkPzogc3RyaW5nOyBzdGVwPzogbnVtYmVyO1trZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4gICk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2coJ3dpemFyZCcsICdpbmZvJywgYWN0aW9uLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZyBlcnJvcmUuXHJcbiAgICovXHJcbiAgbG9nRXJyb3IoZXJyb3I6IEVycm9yIHwgdW5rbm93biwgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHsgLi4uY29udGV4dCB9O1xyXG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgcGF5bG9hZFsnbWVzc2FnZSddID0gZXJyb3IubWVzc2FnZTtcclxuICAgICAgcGF5bG9hZFsnc3RhY2snXSA9IGVycm9yLnN0YWNrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGF5bG9hZFsnZXJyb3InXSA9IGVycm9yO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2coJ2Vycm9yJywgJ2Vycm9yJywgJ2V4Y2VwdGlvbicsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9nIGRlYnVnIChzb2xvIHNlIGVuYWJsZWQgZSBtaW5MZXZlbCA8PSBkZWJ1ZykuXHJcbiAgICovXHJcbiAgZGVidWcoY2F0ZWdvcnk6IFVpTG9nQ2F0ZWdvcnksIGFjdGlvbjogc3RyaW5nLCBwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkIHtcclxuICAgIHRoaXMubG9nKGNhdGVnb3J5LCAnZGVidWcnLCBhY3Rpb24sIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gIEluZGV4ZWREQiBwZXJzaXN0ZW5jZVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHBlcnNpc3QoXHJcbiAgICBjYXRlZ29yeTogVWlMb2dDYXRlZ29yeSxcclxuICAgIGxldmVsOiBVaUxvZ0xldmVsLFxyXG4gICAgYWN0aW9uOiBzdHJpbmcsXHJcbiAgICBwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXHJcbiAgICBkdXJhdGlvbj86IG51bWJlclxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmlkYlN1cHBvcnRlZCgpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZW50cnk6IFVpTG9nRW50cnkgPSB7XHJcbiAgICAgIGlkOiBgJHtEYXRlLm5vdygpfV8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDkpfWAsXHJcbiAgICAgIGNhdGVnb3J5LFxyXG4gICAgICBsZXZlbCxcclxuICAgICAgYWN0aW9uLFxyXG4gICAgICBwYXlsb2FkLFxyXG4gICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICB1cmw6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJyxcclxuICAgICAgdXNlcklkOiB0aGlzLmdldFVzZXJJZCgpLFxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYiA9IGF3YWl0IHRoaXMub3BlbkRiKCk7XHJcbiAgICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWR3cml0ZScpO1xyXG4gICAgICB0eC5vYmplY3RTdG9yZShVSV9MT0dHRVJfSURCX1NUT1JFKS5wdXQoZW50cnksIGVudHJ5LmlkKTtcclxuXHJcbiAgICAgIC8vIERlYnVnIHZpc2liaWxlIGluIGRldiBtb2RlXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGlmICh0aGlzLmVuYWJsZWQoKSkge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgICAgY29uc29sZS5sb2coYFtVaUxvZ2dlcl0gJHtlbnRyeS5jYXRlZ29yeX06JHtlbnRyeS5hY3Rpb259YCwgZW50cnkucGF5bG9hZCA/PyAnJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIENsZWFudXAgYXNpbmNyb25vIHNlbnphIGJsb2NjYXJlXHJcbiAgICAgIHZvaWQgdGhpcy5jbGVhbnVwSWZOZWVkZWQoZGIpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvLyBTaWxlbnQgZmFpbDogbG9nZ2luZyBub24gZGV2ZSByb21wZXJlIGwnYXBwXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGNvbnNvbGUud2FybignW1VpTG9nZ2VyXSBQZXJzaXN0IGZhaWxlZDonLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBSZWN1cGVyYSB1c2VySWQgZGEgbG9jYWxTdG9yYWdlIHNlIGRpc3BvbmliaWxlLiAqL1xyXG4gIHByaXZhdGUgZ2V0VXNlcklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodHlwZW9mIGxvY2FsU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2V4TG9naW4nKSA/PyB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKiogVmVyaWZpY2Egc2UgaWwgbGl2ZWxsbyBkZXZlIGVzc2VyZSBsb2dnYXRvIGluIGJhc2UgYSBtaW5MZXZlbC4gKi9cclxuICBwcml2YXRlIHNob3VsZExvZ0xldmVsKGxldmVsOiBVaUxvZ0xldmVsKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBtaW5JbmRleCA9IFVJX0xPR0dFUl9MRVZFTFMuaW5kZXhPZih0aGlzLmNvbmZpZy5taW5MZXZlbCk7XHJcbiAgICBjb25zdCBsZXZlbEluZGV4ID0gVUlfTE9HR0VSX0xFVkVMUy5pbmRleE9mKGxldmVsKTtcclxuICAgIHJldHVybiBsZXZlbEluZGV4ID49IG1pbkluZGV4O1xyXG4gIH1cclxuXHJcbiAgLy8gIFF1ZXJ5IEFQSVxyXG5cclxuICAvKipcclxuICAgKiBSZWN1cGVyYSBsb2cgY29uIGZpbHRyaS5cclxuICAgKi9cclxuICBhc3luYyBxdWVyeShmaWx0ZXI6IFVpTG9nRmlsdGVyID0ge30pOiBQcm9taXNlPFVpTG9nRW50cnlbXT4ge1xyXG4gICAgaWYgKCF0aGlzLmlkYlN1cHBvcnRlZCgpKSByZXR1cm4gW107XHJcblxyXG4gICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLm9wZW5EYigpO1xyXG4gICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbihVSV9MT0dHRVJfSURCX1NUT1JFLCAncmVhZG9ubHknKTtcclxuICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSk7XHJcblxyXG4gICAgY29uc3QgYWxsOiBVaUxvZ0VudHJ5W10gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXRBbGwoKTtcclxuICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiByZXNvbHZlKHJlcXVlc3QucmVzdWx0IGFzIFVpTG9nRW50cnlbXSk7XHJcbiAgICAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHJlamVjdChyZXF1ZXN0LmVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwcGx5RmlsdGVyKGFsbCwgZmlsdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJpZXBpbG9nbyBsb2cgcGVyIGRhc2hib2FyZC5cclxuICAgKi9cclxuICBhc3luYyBzdW1tYXJ5KCk6IFByb21pc2U8VWlMb2dTdW1tYXJ5PiB7XHJcbiAgICBjb25zdCBhbGwgPSBhd2FpdCB0aGlzLnF1ZXJ5KCk7XHJcblxyXG4gICAgY29uc3QgYnlDYXRlZ29yeSA9IHsgZm9ybTogMCwgd2l6YXJkOiAwLCBuYXZpZ2F0aW9uOiAwLCBzeXN0ZW06IDAsIGVycm9yOiAwIH0gYXMgUmVjb3JkPFVpTG9nQ2F0ZWdvcnksIG51bWJlcj47XHJcbiAgICBjb25zdCBieUxldmVsID0geyBkZWJ1ZzogMCwgaW5mbzogMCwgd2FybjogMCwgZXJyb3I6IDAgfSBhcyBSZWNvcmQ8VWlMb2dMZXZlbCwgbnVtYmVyPjtcclxuXHJcbiAgICBsZXQgb2xkZXN0ID0gSW5maW5pdHk7XHJcbiAgICBsZXQgbmV3ZXN0ID0gMDtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGFsbCkge1xyXG4gICAgICBieUNhdGVnb3J5W2VudHJ5LmNhdGVnb3J5XSsrO1xyXG4gICAgICBieUxldmVsW2VudHJ5LmxldmVsXSsrO1xyXG4gICAgICBpZiAoZW50cnkudGltZXN0YW1wIDwgb2xkZXN0KSBvbGRlc3QgPSBlbnRyeS50aW1lc3RhbXA7XHJcbiAgICAgIGlmIChlbnRyeS50aW1lc3RhbXAgPiBuZXdlc3QpIG5ld2VzdCA9IGVudHJ5LnRpbWVzdGFtcDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0b3RhbDogYWxsLmxlbmd0aCxcclxuICAgICAgYnlDYXRlZ29yeSxcclxuICAgICAgYnlMZXZlbCxcclxuICAgICAgb2xkZXN0OiBvbGRlc3QgPT09IEluZmluaXR5ID8gMCA6IG9sZGVzdCxcclxuICAgICAgbmV3ZXN0LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbGxhIGxvZyBwacO5IHZlY2NoaSBkaSBUVEwuXHJcbiAgICovXHJcbiAgYXN5bmMgcHVyZ2VPbGQoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIGlmICghdGhpcy5pZGJTdXBwb3J0ZWQoKSkgcmV0dXJuIDA7XHJcblxyXG4gICAgY29uc3QgY3V0b2ZmID0gRGF0ZS5ub3coKSAtIHRoaXMuY29uZmlnLnR0bE1zO1xyXG4gICAgY29uc3QgdG9EZWxldGU6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgY29uc3QgZGIgPSBhd2FpdCB0aGlzLm9wZW5EYigpO1xyXG4gICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbihVSV9MT0dHRVJfSURCX1NUT1JFLCAncmVhZG9ubHknKTtcclxuICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSk7XHJcblxyXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJzb3IgPSBzdG9yZS5vcGVuQ3Vyc29yKCk7XHJcbiAgICAgIGN1cnNvci5vbnN1Y2Nlc3MgPSAoZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IChlLnRhcmdldCBhcyBJREJSZXF1ZXN0KS5yZXN1bHQgYXMgSURCQ3Vyc29yV2l0aFZhbHVlIHwgbnVsbDtcclxuICAgICAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBlbnRyeSA9IHJlc3VsdC52YWx1ZSBhcyBVaUxvZ0VudHJ5O1xyXG4gICAgICAgIGlmIChlbnRyeS50aW1lc3RhbXAgPCBjdXRvZmYpIHtcclxuICAgICAgICAgIHRvRGVsZXRlLnB1c2goZW50cnkuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQuY29udGludWUoKTtcclxuICAgICAgfTtcclxuICAgICAgY3Vyc29yLm9uZXJyb3IgPSAoKSA9PiByZWplY3QoY3Vyc29yLmVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0b0RlbGV0ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGRlbFR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWR3cml0ZScpO1xyXG4gICAgICBmb3IgKGNvbnN0IGlkIG9mIHRvRGVsZXRlKSB7XHJcbiAgICAgICAgZGVsVHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSkuZGVsZXRlKGlkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b0RlbGV0ZS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxsYSB0dXR0aSBpIGxvZy5cclxuICAgKi9cclxuICBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5pZGJTdXBwb3J0ZWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRiID0gYXdhaXQgdGhpcy5vcGVuRGIoKTtcclxuICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWR3cml0ZScpO1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZXF1ZXN0ID0gdHgub2JqZWN0U3RvcmUoVUlfTE9HR0VSX0lEQl9TVE9SRSkuY2xlYXIoKTtcclxuICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiByZXNvbHZlKCk7XHJcbiAgICAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHJlamVjdChyZXF1ZXN0LmVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gIEludGVybmFsc1xyXG5cclxuICBwcml2YXRlIG9wZW5EYigpOiBQcm9taXNlPElEQkRhdGFiYXNlPiB7XHJcbiAgICBpZiAodGhpcy5kYlByb21pc2UpIHJldHVybiB0aGlzLmRiUHJvbWlzZTtcclxuXHJcbiAgICB0aGlzLmRiUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgcmVxID0gaW5kZXhlZERCLm9wZW4oVUlfTE9HR0VSX0lEQl9OQU1FLCBVSV9MT0dHRVJfSURCX1ZFUlNJT04pO1xyXG4gICAgICByZXEub25lcnJvciA9ICgpID0+IHJlamVjdChyZXEuZXJyb3IpO1xyXG4gICAgICByZXEub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZShyZXEucmVzdWx0KTtcclxuICAgICAgcmVxLm9udXBncmFkZW5lZWRlZCA9IChldikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRiID0gKGV2LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5yZXN1bHQ7XHJcbiAgICAgICAgaWYgKCFkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKFVJX0xPR0dFUl9JREJfU1RPUkUpKSB7XHJcbiAgICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZShVSV9MT0dHRVJfSURCX1NUT1JFKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5kYlByb21pc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGNsZWFudXBJZk5lZWRlZChkYjogSURCRGF0YWJhc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oVUlfTE9HR0VSX0lEQl9TVE9SRSwgJ3JlYWRvbmx5Jyk7XHJcbiAgICBjb25zdCBjb3VudCA9IGF3YWl0IG5ldyBQcm9taXNlPG51bWJlcj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZXEgPSB0eC5vYmplY3RTdG9yZShVSV9MT0dHRVJfSURCX1NUT1JFKS5jb3VudCgpO1xyXG4gICAgICByZXEub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZShyZXEucmVzdWx0KTtcclxuICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxLmVycm9yKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjb3VudCA+IHRoaXMuY29uZmlnLm1heEVudHJpZXMpIHtcclxuICAgICAgdm9pZCB0aGlzLnB1cmdlT2xkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5RmlsdGVyKGVudHJpZXM6IFVpTG9nRW50cnlbXSwgZmlsdGVyOiBVaUxvZ0ZpbHRlcik6IFVpTG9nRW50cnlbXSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gZW50cmllcztcclxuXHJcbiAgICBpZiAoZmlsdGVyLmNhdGVnb3J5KSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoKGUpID0+IGUuY2F0ZWdvcnkgPT09IGZpbHRlci5jYXRlZ29yeSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsdGVyLmxldmVsKSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoKGUpID0+IGUubGV2ZWwgPT09IGZpbHRlci5sZXZlbCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsdGVyLmFjdGlvbikge1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChlKSA9PiBlLmFjdGlvbi5pbmNsdWRlcyhmaWx0ZXIuYWN0aW9uISkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbHRlci5mcm9tKSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoKGUpID0+IGUudGltZXN0YW1wID49IGZpbHRlci5mcm9tISk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsdGVyLnRvKSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoKGUpID0+IGUudGltZXN0YW1wIDw9IGZpbHRlci50byEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9yZGluYSBuZXdlc3QgZmlyc3RcclxuICAgIHJlc3VsdCA9IHJlc3VsdC5zb3J0KChhLCBiKSA9PiBiLnRpbWVzdGFtcCAtIGEudGltZXN0YW1wKTtcclxuXHJcbiAgICBpZiAoZmlsdGVyLmxpbWl0ICYmIGZpbHRlci5saW1pdCA+IDApIHtcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIGZpbHRlci5saW1pdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn0iXX0=
|