@rosoftlab/core 1.0.0-alpha-4 → 1.0.0-alpha-6
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/base-components/base-form-edit.component.mjs +12 -10
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +4 -4
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +4 -4
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +4 -4
- package/esm2022/lib/index.mjs +1 -3
- package/esm2022/lib/interceptors/cache.interceptor.mjs +4 -4
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +4 -4
- package/esm2022/lib/pipes/input-error.pipe.mjs +4 -4
- package/esm2022/lib/providers.mjs +2 -2
- package/esm2022/lib/rsl-base-module.mjs +5 -5
- package/esm2022/lib/services/base-datastore.service.mjs +4 -4
- package/esm2022/lib/services/base.service.mjs +4 -4
- package/esm2022/lib/services/cache.service.mjs +4 -4
- package/esm2022/lib/services/datastore.service.mjs +4 -4
- package/esm2022/lib/services/dialog.service.mjs +2 -150
- package/esm2022/lib/services/translate-loader.service.mjs +4 -4
- package/fesm2022/rosoftlab-core.mjs +52 -302
- package/fesm2022/rosoftlab-core.mjs.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/services/dialog.service.d.ts +1 -15
- package/package.json +5 -8
- package/esm2022/lib/directives/translated-content.directive.mjs +0 -97
- package/esm2022/lib/directives/translated-element.directive.mjs +0 -20
- package/lib/directives/translated-content.directive.d.ts +0 -21
- package/lib/directives/translated-element.directive.d.ts +0 -10
@@ -333,10 +333,10 @@ export class BaseDatastore {
|
|
333
333
|
_toQueryString(params) {
|
334
334
|
return qs.stringify(params, { arrayFormat: 'brackets' });
|
335
335
|
}
|
336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
337
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
337
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore }); }
|
338
338
|
}
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, decorators: [{
|
340
340
|
type: Injectable
|
341
341
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CacheService }]; } });
|
342
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBWSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSS9DLE1BQU0sT0FBTyxhQUFhO0lBU3hCLGdDQUFnQztJQUVoQyxJQUFZLGtCQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1NBQ3hEO2FBQU07WUFDTCxPQUFPLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxxQ0FBcUM7SUFFN0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGtCQUF1QjtRQUN2RCxNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFFMUIsS0FBSyxNQUFNLFlBQVksSUFBSSxrQkFBa0IsRUFBRTtZQUM3QyxJQUFJLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDbkQsTUFBTSxRQUFRLEdBQVEsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRXZELElBQUksUUFBUSxDQUFDLGtCQUFrQixFQUFFO29CQUMvQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO29CQUMvRixTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7aUJBQzFHO2FBQ0Y7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsa0JBQXVCO1FBQ3JELE1BQU0sU0FBUyxHQUFRLEVBQUUsQ0FBQztRQUUxQixLQUFLLE1BQU0sWUFBWSxJQUFJLGtCQUFrQixFQUFFO1lBQzdDLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNuRCxNQUFNLFFBQVEsR0FBUSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDL0YsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2FBQzFHO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFDWSxVQUFzQixFQUN0QixZQUEwQjtRQUQxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBNUR0Qyx5Q0FBeUM7UUFDakMsV0FBTSxHQUFvRCxFQUFFLENBQUM7UUFDckUsZ0NBQWdDO1FBQ2hDLHFDQUFxQztRQUM3QixrQkFBYSxHQUFhLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUF3RHJFLENBQUM7SUFFRCxPQUFPLENBQ0wsU0FBdUIsRUFDdkIsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCO1FBRWxCLE1BQU0sY0FBYyxHQUFnQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXhELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFDdEMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3RFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQ2pELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7UUFDSixPQUFPLFFBQVEsQ0FBQztJQUVsQixDQUFDO0lBRUQsVUFBVSxDQUNSLFNBQXVCLEVBQ3ZCLEVBQVcsRUFDWCxNQUFZLEVBQ1osT0FBcUIsRUFDckIsU0FBa0I7UUFFbEIsTUFBTSxjQUFjLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxHQUFHLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxFQUFFLEVBQUU7WUFDTixHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDOUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUM3RCxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO1FBQ0osT0FBTyxRQUFRLENBQUM7SUFFbEIsQ0FBQztJQUNELFNBQVMsQ0FBeUIsU0FBdUIsRUFDdkQsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCLEVBQ2xCLGtCQUF3QjtRQUN4QixNQUFNLGNBQWMsR0FBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCO1lBQ3JCLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDL0ksQ0FBQztJQUVELFVBQVUsQ0FBeUIsU0FBdUIsRUFDeEQsSUFBUyxFQUNULE1BQVksRUFDWixPQUFxQixFQUNyQixTQUFrQjtRQUNsQixNQUFNLGNBQWMsR0FBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxSSxDQUFDO0lBRUQsV0FBVyxDQUF5QixTQUF1QixFQUN6RCxJQUFTLEVBQ1QsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCO1FBQ2xCLE1BQU0sY0FBYyxHQUFnQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBQ0QsWUFBWSxDQUFzQixTQUF1QixFQUFFLElBQVU7UUFDbkUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVUsQ0FDUixrQkFBdUIsRUFBRSxLQUFRLEVBQ2pDLE1BQVksRUFDWixPQUFxQixFQUNyQixTQUFrQixFQUNsQixVQUFnQjtRQUVoQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBMkIsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBZ0IsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxNQUFNLGNBQWMsR0FBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV2RCxJQUFJLFFBQXlCLENBQUM7UUFFOUIsTUFBTSxJQUFJLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFekUsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ1osMkNBQTJDO1lBQzNDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3RJO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNwSDtRQUVELE9BQU8sUUFBUTthQUNaLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDOUUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FDVCxrQkFBdUIsRUFBRSxLQUFRLEVBQ2pDLFNBQVksRUFDWixNQUFZLEVBQ1osT0FBcUIsRUFDckIsU0FBa0I7UUFFbEIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQTJCLENBQUM7UUFDcEQsTUFBTSxXQUFXLEdBQWdCLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDbkQsTUFBTSxjQUFjLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxHQUFHLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdkQsSUFBSSxRQUF5QixDQUFDO1FBQzlCLElBQUksUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzFCLElBQUksU0FBUztZQUNYLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUV0SSxPQUFPLFFBQVE7aUJBQ1osSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7U0FDTDthQUFNO1lBQ0wsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtnQkFDOUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQ0QsaUNBQWlDO0lBQ2pDLGNBQWM7SUFDZCx5QkFBeUI7SUFFekIsSUFBSTtJQUNKLGFBQWEsQ0FDWCxrQkFBdUIsRUFBRSxLQUFRLEVBQ2pDLE1BQVksRUFDWixPQUFxQixFQUNyQixTQUFrQixFQUNsQixVQUFnQjtRQUVoQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBMkIsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBZ0IsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxNQUFNLGNBQWMsR0FBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV2RCxJQUFJLFFBQXlCLENBQUM7UUFFOUIsTUFBTSxJQUFJLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9FLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNaLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BJO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNwSDtRQUVELE9BQU8sUUFBUTthQUNaLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDOUUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUdELFlBQVksQ0FDVixTQUF1QixFQUN2QixFQUFVLEVBQ1YsT0FBcUIsRUFDckIsU0FBa0I7UUFFbEIsTUFBTSxjQUFjLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxHQUFHLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO1FBQ0Qsa0RBQWtEO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDbkYsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQ0EsRUFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVNLFFBQVEsQ0FDYixTQUF1QixFQUN2QixTQUFrQjtRQUdsQixJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxXQUFXLEdBQWdCLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbkYsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUNwRSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQzdFLE1BQU0sZ0JBQWdCLEdBQVcsV0FBVyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFFbEYsTUFBTSxHQUFHLEdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRVMsZ0JBQWdCLENBQ3hCLEdBQVEsRUFDUixTQUF1QjtRQUV2QixJQUFJLE1BQU0sQ0FBQztRQUNYLE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFFdkIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBc0IsU0FBdUIsRUFBRSxJQUFTO1FBQ2hGLElBQUksR0FBRyxJQUFJLENBQUMsdUNBQXVDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBd0I7UUFDNUMsSUFBSSxLQUFLLENBQUMsS0FBSyxZQUFZLFVBQVUsRUFBRTtZQUNyQyxrRUFBa0U7WUFDbEUsNERBQTREO1NBQzdEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsNkRBQTZEO1lBQzdELGlCQUFpQjtZQUNqQixnREFBZ0Q7WUFDaEQsaUNBQWlDO1NBQ2xDO1FBQ0Qsd0RBQXdEO1FBQ3hELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUyxTQUFTLENBQUMsSUFBUyxFQUFFLFNBQStCO1FBQzVELE1BQU0sU0FBUyxHQUFRLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlFLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVTLHVCQUF1QixDQUFzQixHQUFNLEVBQUUsa0JBQXVCLEVBQUUsU0FBdUI7UUFDN0cscUVBQXFFO1FBRXJFLEtBQUssTUFBTSxZQUFZLElBQUksa0JBQWtCLEVBQUU7WUFDN0MsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ25ELE1BQU0sUUFBUSxHQUFRLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUV2RCxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtvQkFDL0IsUUFBUSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztpQkFDckM7YUFDRjtTQUNGO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLENBQUMsaUJBQWlCLEdBQUcsa0JBQWtCLENBQUM7U0FDNUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsTUFBTSxtQkFBbUIsR0FBb0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUcsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsdUNBQXVDLENBQXNCLFNBQXVCLEVBQUUsVUFBZTtRQUM3RyxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckYsTUFBTSxVQUFVLEdBQVEsRUFBRSxDQUFDO1FBRTNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNuRSxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbkYsVUFBVSxDQUFDLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3ZGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMscUJBQXFCLENBQUMsS0FBZ0I7UUFDOUMsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxZQUFZLENBQUMsYUFBMkI7UUFDN0MsTUFBTSxPQUFPLEdBQVE7WUFDbkIsTUFBTSxFQUFFLDZCQUE2QjtZQUNyQyw4Q0FBOEM7WUFDOUMsY0FBYyxFQUFFLDZCQUE2QjtTQUM5QyxDQUFDO1FBQ0YsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUNoRCx5Q0FBeUM7WUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2hFLE9BQU8sQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ0w7UUFDRCxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXLENBQXNCLFNBQXVCLEVBQzdELE1BQVc7UUFDWCxJQUFJLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7aUJBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDWixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ2xELENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQixDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQztpQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxNQUFNLFdBQVcsR0FBZ0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRixVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUM3RSxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBR1MsYUFBYSxDQUNyQixHQUFRLEVBQ1IsU0FBdUIsRUFDdkIsS0FBUztRQUVULE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdPLHFCQUFxQixDQUMzQixHQUFhLEVBQ2IsU0FBdUIsRUFDdkIsS0FBUztRQUVULE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUNELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztRQUN2RixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxhQUFhLENBQ2xCLEtBQVEsRUFDUixrQkFBdUIsRUFDdkIsZ0JBQXlCLEtBQUs7UUFFOUIsSUFBSSxVQUFVLENBQUM7UUFDZixJQUFJLGFBQWEsRUFBRTtZQUNqQixVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsNENBQTRDO1FBQzVDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxjQUFjLENBQUMsTUFBVztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0E5Y1UsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xyXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YXN0b3JlQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRhc3RvcmUtY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmV4cG9ydCB0eXBlIE1vZGVsVHlwZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiA9IG5ldyAoZGF0YXN0b3JlOiBCYXNlRGF0YXN0b3JlLCBkYXRhOiBhbnkpID0+IFQ7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YXN0b3JlIHtcclxuICBwcm90ZWN0ZWQgY29uZmlnITogRGF0YXN0b3JlQ29uZmlnO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgcHJpdmF0ZSBfc3RvcmU6IHsgW3R5cGU6IHN0cmluZ106IHsgW2lkOiBzdHJpbmddOiBCYXNlTW9kZWwgfSB9ID0ge307XHJcbiAgLy8gdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGhcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXHJcbiAgcHJpdmF0ZSB0b1F1ZXJ5U3RyaW5nOiBGdW5jdGlvbiA9IHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlc1xyXG4gICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgP1xyXG4gICAgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgOiB0aGlzLl90b1F1ZXJ5U3RyaW5nO1xyXG4gIC8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcblxyXG4gIHByaXZhdGUgZ2V0IGdldERpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBCYXNlRGF0YXN0b3JlLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0QWxsQXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldEFsbEF0dHJpYnV0ZXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlcy5nZXRBbGxBdHRyaWJ1dGVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEJhc2VEYXRhc3RvcmUuZ2V0QWxsQXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByb3RlY3RlZCBjb25maWc6IERhdGFzdG9yZUNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55KTogeyBzdHJpbmc6IGFueSB9IHtcclxuICAgIGNvbnN0IGRpcnR5RGF0YTogYW55ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG1ldGFkYXRhLnNlcmlhbGl6ZWROYW1lICE9IG51bGwgPyBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSA6IHByb3BlcnR5TmFtZTtcclxuICAgICAgICAgIGRpcnR5RGF0YVthdHRyaWJ1dGVOYW1lXSA9IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA/IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA6IG1ldGFkYXRhLm5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpcnR5RGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEFsbEF0dHJpYnV0ZXMoYXR0cmlidXRlc01ldGFkYXRhOiBhbnkpOiB7IHN0cmluZzogYW55IH0ge1xyXG4gICAgY29uc3QgZGlydHlEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSAhPSBudWxsID8gbWV0YWRhdGEuc2VyaWFsaXplZE5hbWUgOiBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgZGlydHlEYXRhW2F0dHJpYnV0ZU5hbWVdID0gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlID8gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlIDogbWV0YWRhdGEubmV3VmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaXJ0eURhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBmaW5kQWxsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuaHR0cENsaWVudC5nZXQodXJsLFxyXG4gICAgICB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHRoaXMuZXh0cmFjdFF1ZXJ5RGF0YShyZXMsIG1vZGVsVHlwZSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG5cclxuICBmaW5kUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBpZD86IHN0cmluZyxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB1cmwgKz0gJy8nICsgaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmVudGl0eVRvTW9kZWwocmVzLCBtb2RlbFR5cGUsIHVuZGVmaW5lZCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG4gIGdldEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbVJlc3BvbnNlVHlwZT86IGFueSk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgaWYgKCFjdXN0b21SZXNwb25zZVR5cGUpXHJcbiAgICAgIGN1c3RvbVJlc3BvbnNlVHlwZSA9ICdqc29uJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFU+KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUsIHJlc3BvbnNlVHlwZTogY3VzdG9tUmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGJvZHk6IGFueSxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFU+KHVybCwgYm9keSwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCByZXBvcnRQcm9ncmVzczogdHJ1ZSwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hDdXN0b208VSwgVCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBib2R5OiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VT4odXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICB9XHJcbiAgY3JlYXRlUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhPzogYW55KTogVCB7XHJcbiAgICByZXR1cm4gbmV3IG1vZGVsVHlwZSh0aGlzLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNhdmVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBjb25zdCBtb2RlbFR5cGUgPSBtb2RlbC5jb25zdHJ1Y3RvciBhcyBNb2RlbFR5cGU8VD47XHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBtb2RlbC5tb2RlbENvbmZpZztcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuXHJcbiAgICBsZXQgaHR0cENhbGw6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gY3VzdG9tQm9keSB8fCB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSk7XHJcblxyXG4gICAgaWYgKG1vZGVsLmlkKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucmVzZXRNZXRhZGF0YUF0dHJpYnV0ZXMocmVzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlUb01vZGVsKGRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBvcmlnTW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGV0IG9yaWdEYXRhID0geyBpZDogJycgfTtcclxuICAgIGlmIChvcmlnTW9kZWwpXHJcbiAgICAgIG9yaWdEYXRhID0gdGhpcy5tb2RlbFRvRW50aXR5KG9yaWdNb2RlbCwgb3JpZ01vZGVsLmF0dHJpYnV0ZU1ldGFkYXRhLCB0cnVlKTtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgdHJ1ZSk7XHJcbiAgICBuZXdEYXRhLmlkID0gb3JpZ0RhdGEuaWQ7XHJcbiAgICBjb25zdCBwYXRjaCA9IGNvbXBhcmUob3JpZ0RhdGEsIG5ld0RhdGEpO1xyXG4gICAgaWYgKHBhdGNoLmxlbmd0aCA+IDApIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIHBhdGNoLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuXHJcbiAgICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNldE1ldGFkYXRhQXR0cmlidXRlcyhyZXMsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWxUeXBlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChtb2RlbCk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIGdldFBhdGNoPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gIC8vICAgbW9kZWw6IFQsXHJcbiAgLy8gICBvcmlnTW9kZWw6IFQpOiBhbnkge1xyXG5cclxuICAvLyB9XHJcbiAgcmVwbGFjZVJlY29yZDxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbDogVCxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbUJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSBjdXN0b21Cb2R5IHx8IHRoaXMubW9kZWxUb0VudGl0eShtb2RlbCwgYXR0cmlidXRlc01ldGFkYXRhLCB0cnVlKTtcclxuXHJcbiAgICBpZiAobW9kZWwuaWQpIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArICcvJyArIG1vZGVsLmlkLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBDYWxsID0gdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaHR0cENhbGxcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlc2V0TWV0YWRhdGFBdHRyaWJ1dGVzKHJlcywgYXR0cmlidXRlc01ldGFkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuICBkZWxldGVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICBjb25zdCBjdXN0b21IZWFkaGVyczogSHR0cEhlYWRlcnMgPSB0aGlzLmJ1aWxkSGVhZGVycyhoZWFkZXJzKTtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgaWYgKCF1cmwuaW5jbHVkZXMoJ3NoYXJlJykpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nICsgaWQ7XHJcbiAgICB9XHJcbiAgICAvLyBjb25zdCBpZFBhcmFtID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkJywgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkVXJsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG5cclxuICAgIGlmIChjdXN0b21VcmwpIHtcclxuICAgICAgcmV0dXJuIGN1c3RvbVVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSBtb2RlbENvbmZpZy5iYXNlVXJsIHx8IHRoaXMuZGF0YXN0b3JlQ29uZmlnLmJhc2VVcmw7XHJcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gbW9kZWxDb25maWcuYXBpVmVyc2lvbiB8fCB0aGlzLmRhdGFzdG9yZUNvbmZpZy5hcGlWZXJzaW9uO1xyXG4gICAgY29uc3QgbW9kZWxFbmRwb2ludFVybDogc3RyaW5nID0gbW9kZWxDb25maWcubW9kZWxFbmRwb2ludFVybCB8fCBtb2RlbENvbmZpZy50eXBlO1xyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gW2Jhc2VVcmwsIGFwaVZlcnNpb24sIG1vZGVsRW5kcG9pbnRVcmxdLmZpbHRlcigoeCkgPT4geCkuam9pbignLycpO1xyXG5cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXh0cmFjdFF1ZXJ5RGF0YTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogYW55LFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD5cclxuICApOiBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBjb25zdCBib2R5OiBhbnkgPSByZXM7XHJcbiAgICBjb25zdCBtb2RlbHM6IFRbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgZGF0YSBvZiBib2R5LmRhdGEpIHtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmVudGl0eVRvTW9kZWwoZGF0YSwgbW9kZWxUeXBlLCB1bmRlZmluZWQpO1xyXG4gICAgICBtb2RlbHMucHVzaChtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0ID0gbmV3IEJhc2VRdWVyeURhdGEobW9kZWxzLCB0aGlzLnBhcnNlTWV0YShib2R5LCBtb2RlbFR5cGUpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPiwgZGF0YTogYW55KSB7XHJcbiAgICBkYXRhID0gdGhpcy50cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXMobW9kZWxUeXBlLCBkYXRhKTtcclxuICAgIHJldHVybiBuZXcgbW9kZWxUeXBlKHRoaXMsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuICAgICAgLy8gY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cclxuICAgICAgLy8gVGhlIHJlc3BvbnNlIGJvZHkgbWF5IGNvbnRhaW4gY2x1ZXMgYXMgdG8gd2hhdCB3ZW50IHdyb25nLFxyXG4gICAgICAvLyBjb25zb2xlLmVycm9yKFxyXG4gICAgICAvLyAgICdCYWNrZW5kIHJldHVybmVkIGNvZGUgJHtlcnJvci5zdGF0dXN9LCAnICtcclxuICAgICAgLy8gICAnYm9keSB3YXM6ICR7ZXJyb3IuZXJyb3J9Jyk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gYW4gb2JzZXJ2YWJsZSB3aXRoIGEgdXNlci1mYWNpbmcgZXJyb3IgbWVzc2FnZVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlTWV0YShib2R5OiBhbnksIG1vZGVsVHlwZTogTW9kZWxUeXBlPEJhc2VNb2RlbD4pOiBhbnkge1xyXG4gICAgY29uc3QgbWV0YU1vZGVsOiBhbnkgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpLm1ldGE7XHJcbiAgICByZXR1cm4gbmV3IG1ldGFNb2RlbChib2R5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZXNldE1ldGFkYXRhQXR0cmlidXRlczxUIGV4dGVuZHMgQmFzZU1vZGVsPihyZXM6IFQsIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xyXG4gICAgLy8gVE9ETyBjaGVjayB3aHkgaXMgYXR0cmlidXRlc01ldGFkYXRhIGZyb20gdGhlIGFyZ3VtZW50cyBuZXZlciB1c2VkXHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgbWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXMuYXR0cmlidXRlTWV0YWRhdGEgPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkYXRhc3RvcmVDb25maWcoKTogRGF0YXN0b3JlQ29uZmlnIHtcclxuICAgIGNvbnN0IGNvbmZpZ0Zyb21EZWNvcmF0b3I6IERhdGFzdG9yZUNvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VEYXRhc3RvcmVDb25maWcnLCB0aGlzLmNvbnN0cnVjdG9yKTtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGNvbmZpZ0Zyb21EZWNvcmF0b3IsIHRoaXMuY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXM8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGF0dHJpYnV0ZXM6IGFueSkge1xyXG4gICAgY29uc3Qgc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSA9IHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsVHlwZS5wcm90b3R5cGUpO1xyXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge307XHJcblxyXG4gICAgT2JqZWN0LmtleXMoc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSkuZm9yRWFjaCgoc2VyaWFsaXplZE5hbWUpID0+IHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSBudWxsICYmIGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBwcm9wZXJ0aWVzW3NlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWVbc2VyaWFsaXplZE5hbWVdXSA9IGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNb2RlbFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZU1hcHBpbmcnLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnVpbGRIZWFkZXJzKGN1c3RvbUhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHtcclxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uJyxcclxuICAgICAgLy8gJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbidcclxuICAgIH07XHJcbiAgICBpZiAoY3VzdG9tSGVhZGVycyAmJiBjdXN0b21IZWFkZXJzLmtleXMoKS5sZW5ndGgpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaGVhZGVycywgY3VzdG9tSGVhZGVycy5rZXlzKCkubWFwKGhlYWRlcl9uYW1lID0+IHtcclxuICAgICAgICBoZWFkZXJzWycnICsgaGVhZGVyX25hbWVdID0gY3VzdG9tSGVhZGVycy5nZXQoaGVhZGVyX25hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkUGFyYW1zPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgcGFyYW1zOiBhbnkpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKVxyXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSBwYXJhbXNba2V5XTtcclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2KSB8fCB0eXBlb2YgdiA9PT0gJ3N0cmluZycpID9cclxuICAgICAgICAgICAgKHYubGVuZ3RoID4gMCkgOlxyXG4gICAgICAgICAgICAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChrZXksIHBhcmFtc1trZXldKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIG1vZGVsVHlwZSk7XHJcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ2J5cGFzc0NhY2hlJywgbW9kZWxDb25maWcuYnlwYXNzQ2FjaGUgfHwgZmFsc2UpO1xyXG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGVudGl0eVRvTW9kZWw8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICByZXM6IGFueSxcclxuICAgIG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgbW9kZWw/OiBUXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVjb3JkRGF0YUpzb24ocmVzLCBtb2RlbFR5cGUsIG1vZGVsKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZWNvcmREYXRhSnNvbjxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogUmVzcG9uc2UsXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIG1vZGVsPzogVFxyXG4gICk6IFQge1xyXG4gICAgY29uc3QgYm9keTogYW55ID0gcmVzO1xyXG4gICAgaWYgKCFib2R5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gYm9keSBpbiByZXNwb25zZScpO1xyXG4gICAgfVxyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGVzZXJpYWxpemVkTW9kZWwgPSBtb2RlbCB8fCB0aGlzLmRlc2VyaWFsaXplTW9kZWwobW9kZWxUeXBlLCBib2R5LmRhdGEgfHwgYm9keSk7XHJcbiAgICByZXR1cm4gZGVzZXJpYWxpemVkTW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW9kZWxUb0VudGl0eTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIG1vZGVsOiBULFxyXG4gICAgYXR0cmlidXRlc01ldGFkYXRhOiBhbnksXHJcbiAgICBhbGxBdHRyaWJ1dGVzOiBib29sZWFuID0gZmFsc2VcclxuICApOiBhbnkge1xyXG4gICAgbGV0IGF0dHJpYnV0ZXM7XHJcbiAgICBpZiAoYWxsQXR0cmlidXRlcykge1xyXG4gICAgICBhdHRyaWJ1dGVzID0gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5nZXRSZWxhdGlvbnNoaXBzKG1vZGVsLCBhdHRyaWJ1dGVzKTtcclxuICAgIHJldHVybiBhdHRyaWJ1dGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF90b1F1ZXJ5U3RyaW5nKHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBxcy5zdHJpbmdpZnkocGFyYW1zLCB7IGFycmF5Rm9ybWF0OiAnYnJhY2tldHMnIH0pO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBWSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSS9DLE1BQU0sT0FBTyxhQUFhO0lBU3hCLGdDQUFnQztJQUVoQyxJQUFZLGtCQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxn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LEtBQUssQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsNENBQTRDO1FBQzVDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxjQUFjLENBQUMsTUFBVztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0E5Y1UsYUFBYTttSEFBYixhQUFhOzs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xyXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YXN0b3JlQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRhc3RvcmUtY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmV4cG9ydCB0eXBlIE1vZGVsVHlwZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiA9IG5ldyAoZGF0YXN0b3JlOiBCYXNlRGF0YXN0b3JlLCBkYXRhOiBhbnkpID0+IFQ7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YXN0b3JlIHtcclxuICBwcm90ZWN0ZWQgY29uZmlnITogRGF0YXN0b3JlQ29uZmlnO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgcHJpdmF0ZSBfc3RvcmU6IHsgW3R5cGU6IHN0cmluZ106IHsgW2lkOiBzdHJpbmddOiBCYXNlTW9kZWwgfSB9ID0ge307XHJcbiAgLy8gdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGhcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXHJcbiAgcHJpdmF0ZSB0b1F1ZXJ5U3RyaW5nOiBGdW5jdGlvbiA9IHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlc1xyXG4gICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgP1xyXG4gICAgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgOiB0aGlzLl90b1F1ZXJ5U3RyaW5nO1xyXG4gIC8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcblxyXG4gIHByaXZhdGUgZ2V0IGdldERpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBCYXNlRGF0YXN0b3JlLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0QWxsQXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldEFsbEF0dHJpYnV0ZXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlcy5nZXRBbGxBdHRyaWJ1dGVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEJhc2VEYXRhc3RvcmUuZ2V0QWxsQXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByb3RlY3RlZCBjb25maWc6IERhdGFzdG9yZUNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55KTogeyBzdHJpbmc6IGFueSB9IHtcclxuICAgIGNvbnN0IGRpcnR5RGF0YTogYW55ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG1ldGFkYXRhLnNlcmlhbGl6ZWROYW1lICE9IG51bGwgPyBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSA6IHByb3BlcnR5TmFtZTtcclxuICAgICAgICAgIGRpcnR5RGF0YVthdHRyaWJ1dGVOYW1lXSA9IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA/IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA6IG1ldGFkYXRhLm5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpcnR5RGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEFsbEF0dHJpYnV0ZXMoYXR0cmlidXRlc01ldGFkYXRhOiBhbnkpOiB7IHN0cmluZzogYW55IH0ge1xyXG4gICAgY29uc3QgZGlydHlEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSAhPSBudWxsID8gbWV0YWRhdGEuc2VyaWFsaXplZE5hbWUgOiBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgZGlydHlEYXRhW2F0dHJpYnV0ZU5hbWVdID0gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlID8gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlIDogbWV0YWRhdGEubmV3VmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaXJ0eURhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBmaW5kQWxsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuaHR0cENsaWVudC5nZXQodXJsLFxyXG4gICAgICB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHRoaXMuZXh0cmFjdFF1ZXJ5RGF0YShyZXMsIG1vZGVsVHlwZSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG5cclxuICBmaW5kUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBpZD86IHN0cmluZyxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB1cmwgKz0gJy8nICsgaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmVudGl0eVRvTW9kZWwocmVzLCBtb2RlbFR5cGUsIHVuZGVmaW5lZCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG4gIGdldEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbVJlc3BvbnNlVHlwZT86IGFueSk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgaWYgKCFjdXN0b21SZXNwb25zZVR5cGUpXHJcbiAgICAgIGN1c3RvbVJlc3BvbnNlVHlwZSA9ICdqc29uJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFU+KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUsIHJlc3BvbnNlVHlwZTogY3VzdG9tUmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGJvZHk6IGFueSxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFU+KHVybCwgYm9keSwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCByZXBvcnRQcm9ncmVzczogdHJ1ZSwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hDdXN0b208VSwgVCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBib2R5OiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VT4odXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICB9XHJcbiAgY3JlYXRlUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhPzogYW55KTogVCB7XHJcbiAgICByZXR1cm4gbmV3IG1vZGVsVHlwZSh0aGlzLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNhdmVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBjb25zdCBtb2RlbFR5cGUgPSBtb2RlbC5jb25zdHJ1Y3RvciBhcyBNb2RlbFR5cGU8VD47XHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBtb2RlbC5tb2RlbENvbmZpZztcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuXHJcbiAgICBsZXQgaHR0cENhbGw6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gY3VzdG9tQm9keSB8fCB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSk7XHJcblxyXG4gICAgaWYgKG1vZGVsLmlkKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucmVzZXRNZXRhZGF0YUF0dHJpYnV0ZXMocmVzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlUb01vZGVsKGRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBvcmlnTW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGV0IG9yaWdEYXRhID0geyBpZDogJycgfTtcclxuICAgIGlmIChvcmlnTW9kZWwpXHJcbiAgICAgIG9yaWdEYXRhID0gdGhpcy5tb2RlbFRvRW50aXR5KG9yaWdNb2RlbCwgb3JpZ01vZGVsLmF0dHJpYnV0ZU1ldGFkYXRhLCB0cnVlKTtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgdHJ1ZSk7XHJcbiAgICBuZXdEYXRhLmlkID0gb3JpZ0RhdGEuaWQ7XHJcbiAgICBjb25zdCBwYXRjaCA9IGNvbXBhcmUob3JpZ0RhdGEsIG5ld0RhdGEpO1xyXG4gICAgaWYgKHBhdGNoLmxlbmd0aCA+IDApIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIHBhdGNoLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuXHJcbiAgICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNldE1ldGFkYXRhQXR0cmlidXRlcyhyZXMsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWxUeXBlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChtb2RlbCk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIGdldFBhdGNoPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gIC8vICAgbW9kZWw6IFQsXHJcbiAgLy8gICBvcmlnTW9kZWw6IFQpOiBhbnkge1xyXG5cclxuICAvLyB9XHJcbiAgcmVwbGFjZVJlY29yZDxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbDogVCxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbUJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSBjdXN0b21Cb2R5IHx8IHRoaXMubW9kZWxUb0VudGl0eShtb2RlbCwgYXR0cmlidXRlc01ldGFkYXRhLCB0cnVlKTtcclxuXHJcbiAgICBpZiAobW9kZWwuaWQpIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArICcvJyArIG1vZGVsLmlkLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBDYWxsID0gdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaHR0cENhbGxcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlc2V0TWV0YWRhdGFBdHRyaWJ1dGVzKHJlcywgYXR0cmlidXRlc01ldGFkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuICBkZWxldGVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICBjb25zdCBjdXN0b21IZWFkaGVyczogSHR0cEhlYWRlcnMgPSB0aGlzLmJ1aWxkSGVhZGVycyhoZWFkZXJzKTtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgaWYgKCF1cmwuaW5jbHVkZXMoJ3NoYXJlJykpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nICsgaWQ7XHJcbiAgICB9XHJcbiAgICAvLyBjb25zdCBpZFBhcmFtID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkJywgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkVXJsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG5cclxuICAgIGlmIChjdXN0b21VcmwpIHtcclxuICAgICAgcmV0dXJuIGN1c3RvbVVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSBtb2RlbENvbmZpZy5iYXNlVXJsIHx8IHRoaXMuZGF0YXN0b3JlQ29uZmlnLmJhc2VVcmw7XHJcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gbW9kZWxDb25maWcuYXBpVmVyc2lvbiB8fCB0aGlzLmRhdGFzdG9yZUNvbmZpZy5hcGlWZXJzaW9uO1xyXG4gICAgY29uc3QgbW9kZWxFbmRwb2ludFVybDogc3RyaW5nID0gbW9kZWxDb25maWcubW9kZWxFbmRwb2ludFVybCB8fCBtb2RlbENvbmZpZy50eXBlO1xyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gW2Jhc2VVcmwsIGFwaVZlcnNpb24sIG1vZGVsRW5kcG9pbnRVcmxdLmZpbHRlcigoeCkgPT4geCkuam9pbignLycpO1xyXG5cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXh0cmFjdFF1ZXJ5RGF0YTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogYW55LFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD5cclxuICApOiBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBjb25zdCBib2R5OiBhbnkgPSByZXM7XHJcbiAgICBjb25zdCBtb2RlbHM6IFRbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgZGF0YSBvZiBib2R5LmRhdGEpIHtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmVudGl0eVRvTW9kZWwoZGF0YSwgbW9kZWxUeXBlLCB1bmRlZmluZWQpO1xyXG4gICAgICBtb2RlbHMucHVzaChtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0ID0gbmV3IEJhc2VRdWVyeURhdGEobW9kZWxzLCB0aGlzLnBhcnNlTWV0YShib2R5LCBtb2RlbFR5cGUpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPiwgZGF0YTogYW55KSB7XHJcbiAgICBkYXRhID0gdGhpcy50cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXMobW9kZWxUeXBlLCBkYXRhKTtcclxuICAgIHJldHVybiBuZXcgbW9kZWxUeXBlKHRoaXMsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuICAgICAgLy8gY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cclxuICAgICAgLy8gVGhlIHJlc3BvbnNlIGJvZHkgbWF5IGNvbnRhaW4gY2x1ZXMgYXMgdG8gd2hhdCB3ZW50IHdyb25nLFxyXG4gICAgICAvLyBjb25zb2xlLmVycm9yKFxyXG4gICAgICAvLyAgICdCYWNrZW5kIHJldHVybmVkIGNvZGUgJHtlcnJvci5zdGF0dXN9LCAnICtcclxuICAgICAgLy8gICAnYm9keSB3YXM6ICR7ZXJyb3IuZXJyb3J9Jyk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gYW4gb2JzZXJ2YWJsZSB3aXRoIGEgdXNlci1mYWNpbmcgZXJyb3IgbWVzc2FnZVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlTWV0YShib2R5OiBhbnksIG1vZGVsVHlwZTogTW9kZWxUeXBlPEJhc2VNb2RlbD4pOiBhbnkge1xyXG4gICAgY29uc3QgbWV0YU1vZGVsOiBhbnkgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpLm1ldGE7XHJcbiAgICByZXR1cm4gbmV3IG1ldGFNb2RlbChib2R5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZXNldE1ldGFkYXRhQXR0cmlidXRlczxUIGV4dGVuZHMgQmFzZU1vZGVsPihyZXM6IFQsIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xyXG4gICAgLy8gVE9ETyBjaGVjayB3aHkgaXMgYXR0cmlidXRlc01ldGFkYXRhIGZyb20gdGhlIGFyZ3VtZW50cyBuZXZlciB1c2VkXHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgbWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXMuYXR0cmlidXRlTWV0YWRhdGEgPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkYXRhc3RvcmVDb25maWcoKTogRGF0YXN0b3JlQ29uZmlnIHtcclxuICAgIGNvbnN0IGNvbmZpZ0Zyb21EZWNvcmF0b3I6IERhdGFzdG9yZUNvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VEYXRhc3RvcmVDb25maWcnLCB0aGlzLmNvbnN0cnVjdG9yKTtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGNvbmZpZ0Zyb21EZWNvcmF0b3IsIHRoaXMuY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXM8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGF0dHJpYnV0ZXM6IGFueSkge1xyXG4gICAgY29uc3Qgc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSA9IHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsVHlwZS5wcm90b3R5cGUpO1xyXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge307XHJcblxyXG4gICAgT2JqZWN0LmtleXMoc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSkuZm9yRWFjaCgoc2VyaWFsaXplZE5hbWUpID0+IHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSBudWxsICYmIGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBwcm9wZXJ0aWVzW3NlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWVbc2VyaWFsaXplZE5hbWVdXSA9IGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNb2RlbFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZU1hcHBpbmcnLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnVpbGRIZWFkZXJzKGN1c3RvbUhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHtcclxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uJyxcclxuICAgICAgLy8gJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbidcclxuICAgIH07XHJcbiAgICBpZiAoY3VzdG9tSGVhZGVycyAmJiBjdXN0b21IZWFkZXJzLmtleXMoKS5sZW5ndGgpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaGVhZGVycywgY3VzdG9tSGVhZGVycy5rZXlzKCkubWFwKGhlYWRlcl9uYW1lID0+IHtcclxuICAgICAgICBoZWFkZXJzWycnICsgaGVhZGVyX25hbWVdID0gY3VzdG9tSGVhZGVycy5nZXQoaGVhZGVyX25hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkUGFyYW1zPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgcGFyYW1zOiBhbnkpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKVxyXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSBwYXJhbXNba2V5XTtcclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2KSB8fCB0eXBlb2YgdiA9PT0gJ3N0cmluZycpID9cclxuICAgICAgICAgICAgKHYubGVuZ3RoID4gMCkgOlxyXG4gICAgICAgICAgICAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChrZXksIHBhcmFtc1trZXldKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIG1vZGVsVHlwZSk7XHJcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ2J5cGFzc0NhY2hlJywgbW9kZWxDb25maWcuYnlwYXNzQ2FjaGUgfHwgZmFsc2UpO1xyXG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGVudGl0eVRvTW9kZWw8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICByZXM6IGFueSxcclxuICAgIG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgbW9kZWw/OiBUXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVjb3JkRGF0YUpzb24ocmVzLCBtb2RlbFR5cGUsIG1vZGVsKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZWNvcmREYXRhSnNvbjxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogUmVzcG9uc2UsXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIG1vZGVsPzogVFxyXG4gICk6IFQge1xyXG4gICAgY29uc3QgYm9keTogYW55ID0gcmVzO1xyXG4gICAgaWYgKCFib2R5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gYm9keSBpbiByZXNwb25zZScpO1xyXG4gICAgfVxyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGVzZXJpYWxpemVkTW9kZWwgPSBtb2RlbCB8fCB0aGlzLmRlc2VyaWFsaXplTW9kZWwobW9kZWxUeXBlLCBib2R5LmRhdGEgfHwgYm9keSk7XHJcbiAgICByZXR1cm4gZGVzZXJpYWxpemVkTW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW9kZWxUb0VudGl0eTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIG1vZGVsOiBULFxyXG4gICAgYXR0cmlidXRlc01ldGFkYXRhOiBhbnksXHJcbiAgICBhbGxBdHRyaWJ1dGVzOiBib29sZWFuID0gZmFsc2VcclxuICApOiBhbnkge1xyXG4gICAgbGV0IGF0dHJpYnV0ZXM7XHJcbiAgICBpZiAoYWxsQXR0cmlidXRlcykge1xyXG4gICAgICBhdHRyaWJ1dGVzID0gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5nZXRSZWxhdGlvbnNoaXBzKG1vZGVsLCBhdHRyaWJ1dGVzKTtcclxuICAgIHJldHVybiBhdHRyaWJ1dGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF90b1F1ZXJ5U3RyaW5nKHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBxcy5zdHJpbmdpZnkocGFyYW1zLCB7IGFycmF5Rm9ybWF0OiAnYnJhY2tldHMnIH0pO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
@@ -87,13 +87,13 @@ export class BaseService {
|
|
87
87
|
getSelectValues(property) {
|
88
88
|
return null;
|
89
89
|
}
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
91
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, deps: [{ token: i1.BaseDatastore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, providedIn: 'root' }); }
|
92
92
|
}
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, decorators: [{
|
94
94
|
type: Injectable,
|
95
95
|
args: [{
|
96
96
|
providedIn: 'root'
|
97
97
|
}]
|
98
98
|
}], ctorParameters: function () { return [{ type: i1.BaseDatastore }]; } });
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEUsT0FBTyxFQUFFLGFBQWEsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7QUFNcEUsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBbUIsU0FBd0I7UUFBeEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUMzQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFNBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBUSxFQUFFLGdCQUF3QixFQUFFO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNsRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFDakIsUUFBZ0IsRUFDaEIsT0FBZSxFQUFFLEVBQ2pCLFVBQWtCLEVBQUUsRUFDcEIsZ0JBQXdCLEVBQUU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDcEQ7WUFDRSxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUNMLE9BQU8sUUFBUSxDQUFDO0lB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RCxpQ0FBaUM7UUFDakMsb0JBQW9CO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDMUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxlQUFlLENBQUMsUUFBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXhHVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UubW9kZWwnO1xuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSwgTW9kZWxUeXBlIH0gZnJvbSAnLi9iYXNlLWRhdGFzdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiB7XG4gIHB1YmxpYyBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPjtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFzdG9yZTogQmFzZURhdGFzdG9yZSkge1xuICB9XG4gIHNldE1vZGVsVHlwZShtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xuICAgIHRoaXMubW9kZWxUeXBlID0gbW9kZWxUeXBlO1xuICB9XG5cbiAgZ2V0KGlkPzogYW55LCBjdXN0b21JbmNsdWRlOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5kYXRhc3RvcmUuZmluZFJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQsIHsgY3VzdG9tSW5jbHVkZSB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBnZXRBbGwocGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgc29ydDogc3RyaW5nID0gJycsXG4gICAgZmlsdGVyczogc3RyaW5nID0gJycsXG4gICAgY3VzdG9tSW5jbHVkZTogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmZpbmRBbGwodGhpcy5tb2RlbFR5cGUsXG4gICAgICB7XG4gICAgICAgIFBhZ2U6IHBhZ2UsXG4gICAgICAgIFBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgU29ydHM6IHNvcnQsXG4gICAgICAgIEZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGN1c3RvbUluY2x1ZGVcbiAgICAgIH0pO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBkZWxldGUoaWQ6IGFueSk6IE9ic2VydmFibGU8e30+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmRlbGV0ZVJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBnZXRDdXN0b208VT4ocGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXG4gICAgY3VzdG9tUmVzcG9uc2VUeXBlPzogYW55KTogT2JzZXJ2YWJsZTxVPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlLmdldEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwsIGN1c3RvbVJlc3BvbnNlVHlwZSk7XG4gIH1cbiAgcG9zdEN1c3RvbTxVPihcbiAgICBib2R5OiBhbnksXG4gICAgcGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmUucG9zdEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIHBhdGNoQ3VzdG9tPFU+KFxuICAgIGJvZHk6IGFueSxcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFzdG9yZS5wYXRjaEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIC8vIGNoZWNrSWZQcm9wZXJ0eVVuaXF1ZShwcm9wZXJ0eTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgLy8gfVxuXG4gIHNhdmUoZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgaWQ/OiBhbnksIG9yaWdNb2RlbD86IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoaWQgPT0gbnVsbCkge1xuICAgICAgbGV0IGZyb21Nb2RlbDogVDtcbiAgICAgIGlmIChkb2NUeXBlT3JGb3JtR3JvdXAgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IGRvY1R5cGVPckZvcm1Hcm91cDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFzdG9yZS5jcmVhdGVSZWNvcmQodGhpcy5tb2RlbFR5cGUsIGZyb21Nb2RlbCk7XG4gICAgICByZXR1cm4gZGF0YS5zYXZlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGNoKGRvY1R5cGVPckZvcm1Hcm91cCwgb3JpZ01vZGVsLCBpZCk7XG4gICAgfVxuICB9XG5cbiAgcGF0Y2goZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgb3JpZ01vZGVsOiBULCBpZD86IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGxldCBmcm9tTW9kZWw6IFQ7XG4gICAgaWYgKGRvY1R5cGVPckZvcm1Hcm91cCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnJvbU1vZGVsID0gZG9jVHlwZU9yRm9ybUdyb3VwO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhc3RvcmUuY3JlYXRlUmVjb3JkKHRoaXMubW9kZWxUeXBlLCBmcm9tTW9kZWwpO1xuICAgIHJldHVybiBkYXRhLnBhdGNoKG9yaWdNb2RlbCk7XG4gIH1cblxuICBuZXdNb2RlbChkYXRhPzogYW55KTogVCB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLm1vZGVsVHlwZSh0aGlzLmRhdGFzdG9yZSwgZGF0YSk7XG4gIH1cblxuICB0b0Zvcm1Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBmcm9tTW9kZWw/OiBUKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgaWYgKGZyb21Nb2RlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmcm9tTW9kZWwgPSB0aGlzLm5ld01vZGVsKCk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tTW9kZWwuZ2V0RnJvbUdyb3VwKGZiKTtcbiAgfVxuXG4gIGZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBpZD86IGFueSk6IFQge1xuICAgIC8vIGNvbnN0IHNhdmVNb2RlbCA9IHRoaXMubmV3TW9kZWwoZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpO1xuICAgIC8vIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIC8vIHJldHVybiBzYXZlTW9kZWw7XG4gICAgY29uc3Qgc2F2ZU1vZGVsID0gdGhpcy5uZXdNb2RlbCgpO1xuICAgIHNhdmVNb2RlbC5nZXRNb2RlbEZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwKVxuICAgIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIHJldHVybiBzYXZlTW9kZWw7XG4gIH1cbiAgZ2V0U2VsZWN0VmFsdWVzKHByb3BlcnR5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0iXX0=
|
@@ -23,13 +23,13 @@ export class CacheService {
|
|
23
23
|
const keysToDelete = Object.keys(this.cache).filter(key => key.includes(keyword));
|
24
24
|
keysToDelete.forEach(key => this.delete(key));
|
25
25
|
}
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, providedIn: 'root' }); }
|
28
28
|
}
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, decorators: [{
|
30
30
|
type: Injectable,
|
31
31
|
args: [{
|
32
32
|
providedIn: 'root'
|
33
33
|
}]
|
34
34
|
}], ctorParameters: function () { return []; } });
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUd2QjtRQUZRLFVBQUssR0FBeUQsRUFBRSxDQUFDO0lBRTFELENBQUM7SUFFaEIsR0FBRyxDQUFDLEdBQVc7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsV0FBbUI7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQWU7UUFDekMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0ExQlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgY2FjaGU6IHsgW2tleTogc3RyaW5nXTogeyBkYXRhOiBhbnksIGV4cGlyYXRpb246IG51bWJlciB9IH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5jYWNoZVtrZXldO1xuICAgIGlmIChjYWNoZWRJdGVtICYmIGNhY2hlZEl0ZW0uZXhwaXJhdGlvbiA+IERhdGUubm93KCkpIHtcbiAgICAgIHJldHVybiBjYWNoZWRJdGVtLmRhdGE7XG4gICAgfVxuICAgIHRoaXMuZGVsZXRlKGtleSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSwgZXhwaXJlc0luTXM6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBEYXRlLm5vdygpICsgZXhwaXJlc0luTXM7XG4gICAgdGhpcy5jYWNoZVtrZXldID0geyBkYXRhLCBleHBpcmF0aW9uIH07XG4gIH1cblxuICBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5jYWNoZVtrZXldO1xuICB9XG5cbiAgY2xlYXJDYWNoZUNvbnRhaW5pbmdLZXl3b3JkKGtleXdvcmQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGtleXNUb0RlbGV0ZSA9IE9iamVjdC5rZXlzKHRoaXMuY2FjaGUpLmZpbHRlcihrZXkgPT4ga2V5LmluY2x1ZGVzKGtleXdvcmQpKTtcbiAgICBrZXlzVG9EZWxldGUuZm9yRWFjaChrZXkgPT4gdGhpcy5kZWxldGUoa2V5KSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -19,14 +19,14 @@ export let DatastoreCore = class DatastoreCore extends BaseDatastore {
|
|
19
19
|
};
|
20
20
|
this.config = this.customConfig;
|
21
21
|
}
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }, { token: i3.Configurations }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore }); }
|
24
24
|
};
|
25
25
|
DatastoreCore = __decorate([
|
26
26
|
BaseDatastoreConfig({ apiVersion: '', baseUrl: '' }),
|
27
27
|
__metadata("design:paramtypes", [HttpClient, CacheService, Configurations])
|
28
28
|
], DatastoreCore);
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, decorators: [{
|
30
30
|
type: Injectable
|
31
31
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CacheService }, { type: i3.Configurations }]; } });
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RhdGFzdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUt4QyxXQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsYUFBYTtJQUU1QyxZQUFZLElBQWdCLEVBQUUsWUFBMEIsRUFBVSxTQUF5QjtRQUN2RixLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRG9DLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBRXZGLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUNyQyxPQUFPLEVBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDcEMsQ0FBQzsrR0FUUSxhQUFhO21IQUFiLGFBQWE7O0FBQWIsYUFBYTtJQUR6QixtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO3FDQUcvQixVQUFVLEVBQWdCLFlBQVksRUFBcUIsY0FBYztHQUZsRixhQUFhLENBVXpCOzRGQVZZLGFBQWE7a0JBRnpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YXN0b3JlQ29uZmlnLCBEYXRhc3RvcmVDb25maWcgfSBmcm9tICcuLi9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSB9IGZyb20gJy4vYmFzZS1kYXRhc3RvcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5AQmFzZURhdGFzdG9yZUNvbmZpZyh7IGFwaVZlcnNpb246ICcnLCBiYXNlVXJsOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgRGF0YXN0b3JlQ29yZSBleHRlbmRzIEJhc2VEYXRhc3RvcmUge1xyXG4gICAgcHJpdmF0ZSBjdXN0b21Db25maWc6IERhdGFzdG9yZUNvbmZpZ1xyXG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsIHByaXZhdGUgY29uZmlnRXh0OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKGh0dHAsIGNhY2hlU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Db25maWcgPSB7XHJcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHRoaXMuY29uZmlnRXh0LmFwaVZlcnNpb24sXHJcbiAgICAgICAgICAgIGJhc2VVcmw6ICB0aGlzLmNvbmZpZ0V4dC5iYXNlVXJsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY3VzdG9tQ29uZmlnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,150 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
import { from } from 'rxjs';
|
4
|
-
import Swal from 'sweetalert2';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
/**
|
7
|
-
* Async modal dialog service
|
8
|
-
* DialogService makes this app easier to test by faking this service.
|
9
|
-
* TODO: better modal implementation that doesn't use window.confirm
|
10
|
-
*/
|
11
|
-
export class DialogService {
|
12
|
-
/**
|
13
|
-
* Ask user to confirm an action. `message` explains the action and choices.
|
14
|
-
* Returns observable resolving to `true`=confirm or `false`=cancel
|
15
|
-
*/
|
16
|
-
constructor() { }
|
17
|
-
confirm(message, text, confirmButtonText = 'Delete', cancelButtonText = 'Cancel') {
|
18
|
-
const confirmation = Swal.fire({
|
19
|
-
title: message || 'Are you sure?',
|
20
|
-
icon: 'warning',
|
21
|
-
text: text || '',
|
22
|
-
showCancelButton: true,
|
23
|
-
confirmButtonText: confirmButtonText,
|
24
|
-
cancelButtonText: cancelButtonText,
|
25
|
-
customClass: {
|
26
|
-
confirmButton: 'btn btn-red btn-fill btn-wd',
|
27
|
-
cancelButton: 'btn btn-grey btn-fill btn-wd',
|
28
|
-
},
|
29
|
-
buttonsStyling: false,
|
30
|
-
reverseButtons: true
|
31
|
-
})
|
32
|
-
.then((result) => {
|
33
|
-
if (result.value) {
|
34
|
-
return true;
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
return false;
|
38
|
-
}
|
39
|
-
}).catch();
|
40
|
-
return from(confirmation);
|
41
|
-
}
|
42
|
-
showSaveMessage(message, title) {
|
43
|
-
const confirmation = Swal.fire({
|
44
|
-
icon: 'success',
|
45
|
-
title: message,
|
46
|
-
timer: 2000,
|
47
|
-
showConfirmButton: false,
|
48
|
-
// customClass: 'overflow-hidden',
|
49
|
-
buttonsStyling: false
|
50
|
-
}).then(() => {
|
51
|
-
return true;
|
52
|
-
}, () => {
|
53
|
-
return false;
|
54
|
-
}).catch();
|
55
|
-
return from(confirmation);
|
56
|
-
}
|
57
|
-
showRegisteredMessage(message, title) {
|
58
|
-
const confirmation = Swal.fire({
|
59
|
-
icon: 'success',
|
60
|
-
title: message,
|
61
|
-
showConfirmButton: true,
|
62
|
-
customClass: {
|
63
|
-
confirmButton: 'btn btn-success',
|
64
|
-
},
|
65
|
-
buttonsStyling: false
|
66
|
-
}).then(() => {
|
67
|
-
return true;
|
68
|
-
}, () => {
|
69
|
-
return false;
|
70
|
-
}).catch();
|
71
|
-
return from(confirmation);
|
72
|
-
}
|
73
|
-
// notification(message?: string, type?: NotificationType, fromPosition?: NotificationFrom, align?: NotificationAlign, timer?: number) {
|
74
|
-
// if (!type) {
|
75
|
-
// type = NotificationType.success;
|
76
|
-
// }
|
77
|
-
// if (!fromPosition) {
|
78
|
-
// fromPosition = NotificationFrom.bottom;
|
79
|
-
// }
|
80
|
-
// if (!align) {
|
81
|
-
// align = NotificationAlign.center;
|
82
|
-
// }
|
83
|
-
// if (!timer) {
|
84
|
-
// timer = 3000;
|
85
|
-
// }
|
86
|
-
// $.notify({
|
87
|
-
// icon: 'notifications',
|
88
|
-
// message: message
|
89
|
-
// }, {
|
90
|
-
// type: type,
|
91
|
-
// timer: 3000,
|
92
|
-
// placement: {
|
93
|
-
// from: from,
|
94
|
-
// align: align
|
95
|
-
// }
|
96
|
-
// });
|
97
|
-
// }
|
98
|
-
showErrorMessage(e, message) {
|
99
|
-
if (!message) {
|
100
|
-
message = 'Validation errors';
|
101
|
-
}
|
102
|
-
if (e instanceof HttpErrorResponse) {
|
103
|
-
// Validation errors
|
104
|
-
if (e.status === 400) {
|
105
|
-
const errors = e.error.errors;
|
106
|
-
if (errors) {
|
107
|
-
errors.forEach(error => {
|
108
|
-
message += error.field + ' ' + error.detail + '\n';
|
109
|
-
});
|
110
|
-
// message = errors.detail;
|
111
|
-
// if (detail.relationships) {
|
112
|
-
// detail.relationships.forEach(relation => {
|
113
|
-
// console.log(relation);
|
114
|
-
// });
|
115
|
-
// }
|
116
|
-
}
|
117
|
-
}
|
118
|
-
}
|
119
|
-
const confirmation = Swal.fire({
|
120
|
-
icon: 'error',
|
121
|
-
title: message,
|
122
|
-
// timer: 2000,
|
123
|
-
showConfirmButton: true,
|
124
|
-
customClass: {
|
125
|
-
confirmButton: 'btn btn-success',
|
126
|
-
},
|
127
|
-
buttonsStyling: false
|
128
|
-
}).then(() => {
|
129
|
-
return true;
|
130
|
-
}, () => {
|
131
|
-
return false;
|
132
|
-
}).catch();
|
133
|
-
return from(confirmation);
|
134
|
-
}
|
135
|
-
getTextTranslation(translationKey) {
|
136
|
-
// // const result = await promise;
|
137
|
-
// // return result;
|
138
|
-
// const result = this.translate.instant(translationKey);
|
139
|
-
// if (result === translationKey) {
|
140
|
-
return translationKey;
|
141
|
-
// }
|
142
|
-
// return result;
|
143
|
-
}
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
145
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService }); }
|
146
|
-
}
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, decorators: [{
|
148
|
-
type: Injectable
|
149
|
-
}], ctorParameters: function () { return []; } });
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7O0FBRy9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQztJQUNqQixPQUFPLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQ3JDLG9CQUE0QixRQUFRLEVBQ3BDLG1CQUEyQixRQUFRO1FBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDN0IsS0FBSyxFQUFFLE9BQU8sSUFBSSxlQUFlO1lBQ2pDLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxXQUFXLEVBQUU7Z0JBQ1gsYUFBYSxFQUFFLDZCQUE2QjtnQkFDNUMsWUFBWSxFQUFFLDhCQUE4QjthQUM3QztZQUNELGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7YUFFQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFD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U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLG1DQUFtQztRQUNuQyxvQkFBb0I7UUFDcEIseURBQXlEO1FBQ3pELG1DQUFtQztRQUNuQyxPQUFPLGNBQWMsQ0FBQztRQUN0QixJQUFJO1FBQ0osaUJBQWlCO0lBQ25CLENBQUM7OEdBeklVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG4vKipcclxuICogQXN5bmMgbW9kYWwgZGlhbG9nIHNlcnZpY2VcclxuICogRGlhbG9nU2VydmljZSBtYWtlcyB0aGlzIGFwcCBlYXNpZXIgdG8gdGVzdCBieSBmYWtpbmcgdGhpcyBzZXJ2aWNlLlxyXG4gKiBUT0RPOiBiZXR0ZXIgbW9kYWwgaW1wbGVtZW50YXRpb24gdGhhdCBkb2Vzbid0IHVzZSB3aW5kb3cuY29uZmlybVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcbiAgLyoqXHJcbiAgICogQXNrIHVzZXIgdG8gY29uZmlybSBhbiBhY3Rpb24uIGBtZXNzYWdlYCBleHBsYWlucyB0aGUgYWN0aW9uIGFuZCBjaG9pY2VzLlxyXG4gICAqIFJldHVybnMgb2JzZXJ2YWJsZSByZXNvbHZpbmcgdG8gYHRydWVgPWNvbmZpcm0gb3IgYGZhbHNlYD1jYW5jZWxcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIGNvbmZpcm0obWVzc2FnZT86IHN0cmluZywgdGV4dD86IHN0cmluZyxcclxuICAgIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSAnRGVsZXRlJyxcclxuICAgIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZyA9ICdDYW5jZWwnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBTd2FsLmZpcmUoe1xyXG4gICAgICB0aXRsZTogbWVzc2FnZSB8fCAnQXJlIHlvdSBzdXJlPycsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgdGV4dDogdGV4dCB8fCAnJyxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxyXG4gICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b246ICdidG4gYnRuLXJlZCBidG4tZmlsbCBidG4td2QnLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvbjogJ2J0biBidG4tZ3JleSBidG4tZmlsbCBidG4td2QnLFxyXG4gICAgICB9LFxyXG4gICAgICBidXR0b25zU3R5bGluZzogZmFsc2UsXHJcbiAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlXHJcbiAgICB9KVxyXG5cclxuICAgICAgLnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLmNhdGNoKCk7XHJcbiAgICByZXR1cm4gZnJvbShjb25maXJtYXRpb24pO1xyXG4gIH1cclxuICBzaG93U2F2ZU1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHRpbWVyOiAyMDAwLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIC8vIGN1c3RvbUNsYXNzOiAnb3ZlcmZsb3ctaGlkZGVuJyxcclxuICAgICAgYnV0dG9uc1N0eWxpbmc6IGZhbHNlXHJcbiAgICB9KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pLmNhdGNoKCk7XHJcbiAgICByZXR1cm4gZnJvbShjb25maXJtYXRpb24pO1xyXG4gIH1cclxuICBzaG93UmVnaXN0ZXJlZE1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b246ICdidG4gYnRuLXN1Y2Nlc3MnLFxyXG4gICAgICB9LFxyXG4gICAgICBidXR0b25zU3R5bGluZzogZmFsc2VcclxuICAgIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSkuY2F0Y2goKTtcclxuICAgIHJldHVybiBmcm9tKGNvbmZpcm1hdGlvbik7XHJcbiAgfVxyXG5cclxuICAvLyBub3RpZmljYXRpb24obWVzc2FnZT86IHN0cmluZywgdHlwZT86IE5vdGlmaWNhdGlvblR5cGUsIGZyb21Qb3NpdGlvbj86IE5vdGlmaWNhdGlvbkZyb20sIGFsaWduPzogTm90aWZpY2F0aW9uQWxpZ24sIHRpbWVyPzogbnVtYmVyKSB7XHJcblxyXG4gIC8vICAgaWYgKCF0eXBlKSB7XHJcbiAgLy8gICAgIHR5cGUgPSBOb3RpZmljYXRpb25UeXBlLnN1Y2Nlc3M7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBpZiAoIWZyb21Qb3NpdGlvbikge1xyXG4gIC8vICAgICBmcm9tUG9zaXRpb24gPSBOb3RpZmljYXRpb25Gcm9tLmJvdHRvbTtcclxuICAvLyAgIH1cclxuICAvLyAgIGlmICghYWxpZ24pIHtcclxuICAvLyAgICAgYWxpZ24gPSBOb3RpZmljYXRpb25BbGlnbi5jZW50ZXI7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBpZiAoIXRpbWVyKSB7XHJcbiAgLy8gICAgIHRpbWVyID0gMzAwMDtcclxuICAvLyAgIH1cclxuXHJcbiAgLy8gICAkLm5vdGlmeSh7XHJcbiAgLy8gICAgIGljb246ICdub3RpZmljYXRpb25zJyxcclxuICAvLyAgICAgbWVzc2FnZTogbWVzc2FnZVxyXG4gIC8vICAgfSwge1xyXG4gIC8vICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgLy8gICAgICAgdGltZXI6IDMwMDAsXHJcbiAgLy8gICAgICAgcGxhY2VtZW50OiB7XHJcbiAgLy8gICAgICAgICBmcm9tOiBmcm9tLFxyXG4gIC8vICAgICAgICAgYWxpZ246IGFsaWduXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcbiAgc2hvd0Vycm9yTWVzc2FnZShlOiBhbnksIG1lc3NhZ2U/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGlmICghbWVzc2FnZSkge1xyXG4gICAgICBtZXNzYWdlID0gJ1ZhbGlkYXRpb24gZXJyb3JzJztcclxuICAgIH1cclxuICAgIGlmIChlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgLy8gVmFsaWRhdGlvbiBlcnJvcnNcclxuICAgICAgaWYgKGUuc3RhdHVzID09PSA0MDApIHtcclxuICAgICAgICBjb25zdCBlcnJvcnMgPSBlLmVycm9yLmVycm9ycztcclxuICAgICAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgICAgICBlcnJvcnMuZm9yRWFjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgKz0gZXJyb3IuZmllbGQgKyAnICcgKyBlcnJvci5kZXRhaWwgKyAnXFxuJztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gbWVzc2FnZSA9IGVycm9ycy5kZXRhaWw7XHJcbiAgICAgICAgICAvLyBpZiAoZGV0YWlsLnJlbGF0aW9uc2hpcHMpIHtcclxuICAgICAgICAgIC8vICAgZGV0YWlsLnJlbGF0aW9uc2hpcHMuZm9yRWFjaChyZWxhdGlvbiA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2cocmVsYXRpb24pO1xyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICAvLyB0aW1lcjogMjAwMCxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgY29uZmlybUJ1dHRvbjogJ2J0biBidG4tc3VjY2VzcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIGJ1dHRvbnNTdHlsaW5nOiBmYWxzZVxyXG4gICAgfSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KS5jYXRjaCgpO1xyXG4gICAgcmV0dXJuIGZyb20oY29uZmlybWF0aW9uKTtcclxuICB9XHJcbiAgZ2V0VGV4dFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcpIHtcclxuICAgIC8vIC8vIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2U7XHJcbiAgICAvLyAvLyByZXR1cm4gcmVzdWx0O1xyXG4gICAgLy8gY29uc3QgcmVzdWx0ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XHJcbiAgICAvLyBpZiAocmVzdWx0ID09PSB0cmFuc2xhdGlvbktleSkge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uS2V5O1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nU2VydmljZSB7XHJcbiAgY29uZmlybShtZXNzYWdlPzogc3RyaW5nLCB0ZXh0Pzogc3RyaW5nLCBjb25maXJtQnV0dG9uVGV4dD86IHN0cmluZywgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgc2hvd1NhdmVNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICBzaG93UmVnaXN0ZXJlZE1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIHNob3dFcnJvck1lc3NhZ2UoZTogYW55LCBtZXNzYWdlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxufVxyXG5cclxuIl19
|
@@ -20,10 +20,10 @@ export class TranslateloaderService {
|
|
20
20
|
const url = this._apiUrl + '/api/v1/language/' + lang + '/translationlist';
|
21
21
|
return this.httpClient.get(url, { headers: this.headers });
|
22
22
|
}
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
24
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, providedIn: 'root' }); }
|
25
25
|
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, decorators: [{
|
27
27
|
type: Injectable,
|
28
28
|
args: [{
|
29
29
|
providedIn: 'root'
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
31
31
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
|
32
32
|
type: Optional
|
33
33
|
}] }]; } });
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFJbkQsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFvQixVQUFzQixFQUM1QixNQUF1QjtRQURqQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFDckIsWUFBTyxHQUFRLElBQUksV0FBVyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQyxDQUFDLENBQUM7UUFHRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixHQUFHLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQWZVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlbG9hZGVyU2VydmljZSBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gIHByaXZhdGUgX2FwaVVybCA9ICdObyBWYWx1ZSc7XG4gIHByaXZhdGUgaGVhZGVyczogYW55ID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH0pO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLl9hcGlVcmwgPSBjb25maWcuYmFzZVVybDtcbiAgICB9XG4gIH1cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl9hcGlVcmwgKyAnL2FwaS92MS9sYW5ndWFnZS8nICsgbGFuZyArICcvdHJhbnNsYXRpb25saXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbn1cbiJdfQ==
|