@eui/core 17.3.13-snapshot-1732759929321 → 17.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/dependencies.html +20 -20
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/eui-core.module.mjs +5 -5
- package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cache-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cors-security.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/csrf-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/openid/openid-connect.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/openid/openid-connect.service.mjs +4 -4
- package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +4 -4
- package/esm2022/lib/services/dynamic-component/dynamic-component.service.mjs +4 -4
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +4 -4
- package/esm2022/lib/services/errors/global-error-handler.mjs +4 -4
- package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +4 -4
- package/esm2022/lib/services/eui-app-shell.service.mjs +4 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +4 -4
- package/esm2022/lib/services/growl/eui-growl.service.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.loader.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.service.mjs +4 -4
- package/esm2022/lib/services/loader/eui-loader.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mock.mjs +4 -4
- package/esm2022/lib/services/log/log.module.mjs +5 -5
- package/esm2022/lib/services/log/log.service.mjs +4 -4
- package/esm2022/lib/services/permission/permission.service.mjs +4 -4
- package/esm2022/lib/services/queue/api-queue.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-forage.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage.service.mjs +4 -4
- package/esm2022/lib/services/store/effects/app.effects.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mock.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mock.mjs +4 -4
- package/fesm2022/eui-core.mjs +101 -101
- package/fesm2022/eui-core.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -28,11 +28,11 @@ export class LogModule {
|
|
|
28
28
|
],
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
32
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
33
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
31
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
32
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LogModule }); }
|
|
33
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogModule }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogModule, decorators: [{
|
|
36
36
|
type: NgModule
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFNBQVM7SUFDbEIsa0VBQWtFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2pELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsK0dBQStHO0lBQy9HLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO2tJQXJCUSxTQUFTO21JQUFULFNBQVM7bUlBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFEckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0NvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfTE9HX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2dTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4uL2FwcC9mYWN0b3JpZXMvbG9nJztcblxuY29uc3QgTE9HX01PRFVMRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQ29uZmlnPignTE9HX0NPTkZJRycpO1xuXG4vKipcbiAqIExvZyBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBMb2dNb2R1bGUge1xuICAgIC8qKiBtZXRob2QgY2FsbGVkIGluIHlvdXIgcm9vdCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgTG9nU2VydmljZSAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCBjYWxsZWQgaW4geW91ciBvdGhlciAobm9uIHJvb3QsIGxhenkgbG9hZGVkKSBtb2R1bGVzIHRvIGltcG9ydCBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBMb2dTZXJ2aWNlICovXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -33,10 +33,10 @@ export class LogService extends Logger {
|
|
|
33
33
|
}
|
|
34
34
|
return logger;
|
|
35
35
|
}
|
|
36
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
37
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogService }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LogService, decorators: [{
|
|
40
40
|
type: Injectable
|
|
41
41
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
42
42
|
type: Inject,
|
|
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [LOG_APPENDERS_TOKEN]
|
|
50
50
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLE9BQU8sR0FBRyxLQUFLO1FBQ3pDLGtDQUFrQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ILHdFQUF3RTtRQUN4RSxJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztrSUE3QlEsVUFBVSxrQkFLUCxzQkFBc0IsYUFDdEIsZUFBZSxhQUNmLG1CQUFtQjtzSUFQdEIsVUFBVTs7NEZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBTUYsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0FwcGVuZGVyLCBMb2dnZXIsIExvZ0xldmVsIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfTE9HR0VSX05BTUVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQkFTRV9MT0dHRVJfTkFNRScpO1xuZXhwb3J0IGNvbnN0IExPR19MRVZFTF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dMZXZlbD4oJ0xPR19MRVZFTCcpO1xuZXhwb3J0IGNvbnN0IExPR19BUFBFTkRFUlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQXBwZW5kZXJbXT4oJ0xPR19BUFBFTkRFUlMnKTtcblxuLyoqXG4gKiBMb2cgc2VydmljZSwgcmVzcG9uc2libGUgZm9yIGdldHRpbmcgb3IgY3JlYXRpbmcgbG9nZ2Vycy4gSXQgaXRzZWxmIGFjdHMgYXMgYSBiYXNlIGxvZ2dlclxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9nU2VydmljZSBleHRlbmRzIExvZ2dlciB7XG4gICAgLyoqIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2VycyAqL1xuICAgIHByb3RlY3RlZCBsb2dnZXJzID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChCQVNFX0xPR0dFUl9OQU1FX1RPS0VOKSBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KExPR19MRVZFTF9UT0tFTikgcHJvdGVjdGVkIGxldmVsOiBMb2dMZXZlbCxcbiAgICAgICAgQEluamVjdChMT0dfQVBQRU5ERVJTX1RPS0VOKSBwcm90ZWN0ZWQgYXBwZW5kZXJzOiBMb2dBcHBlbmRlcltdLFxuICAgICkge1xuICAgICAgICBzdXBlcihuYW1lLCBsZXZlbCwgYXBwZW5kZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbG9nZ2VyIGJ5IG5hbWUuIElmIHRoZSBsb2dnZXIgZG9lcyBub3QgZXhpc3QsIGl0IGlzIGNyZWF0ZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2dnZXJOYW1lIGxvZ2dlciBuYW1lXG4gICAgICogQHBhcmFtIHBlcnNpc3Qgb3B0aW9uYWwgcGFyYW1ldGVyLiBTZXQgaXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0byByZXVzZSB0aGUgbG9nZ2VyLiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gZmFsc2VcbiAgICAgKiBAcmV0dXJucyB0aGUgbG9nZ2VyXG4gICAgICovXG4gICAgZ2V0TG9nZ2VyKGxvZ2dlck5hbWU6IHN0cmluZywgcGVyc2lzdCA9IGZhbHNlKTogTG9nZ2VyIHtcbiAgICAgICAgLy8gY3JlYXRlIHRoZSBsb2dnZXIsIGlmIG5lY2Vzc2FyeVxuICAgICAgICBjb25zdCBsb2dnZXIgPSAocGVyc2lzdCAmJiA8TG9nZ2VyPnRoaXMubG9nZ2Vyc1tsb2dnZXJOYW1lXSkgfHwgbmV3IExvZ2dlcihsb2dnZXJOYW1lLCB0aGlzLmxldmVsLCB0aGlzLmFwcGVuZGVycyk7XG5cbiAgICAgICAgLy8gaWYgdGhlIGxvZ2dlciBpcyBwZXJzaXN0ZW50LCBhZGQgaXQgdG8gdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzXG4gICAgICAgIGlmIChwZXJzaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlcnNbbG9nZ2VyTmFtZV0gPSBsb2dnZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbG9nZ2VyO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -231,10 +231,10 @@ export class EuiPermissionService extends EuiService {
|
|
|
231
231
|
}
|
|
232
232
|
return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
|
|
233
233
|
}
|
|
234
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
235
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
234
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
235
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EuiPermissionService, providedIn: 'root' }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EuiPermissionService, decorators: [{
|
|
238
238
|
type: Injectable,
|
|
239
239
|
args: [{
|
|
240
240
|
providedIn: 'root',
|
|
@@ -242,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
242
242
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
243
243
|
type: Optional
|
|
244
244
|
}] }, { type: i2.StoreService }] });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNkJHO0lBQ0gsSUFBSSxDQUFDLE1BQXNCO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NB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LENBQUMsQ0FBQztJQUN6SCxDQUFDO2lJQS9OUSxvQkFBb0I7cUlBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIEV1aVVzZXJSaWdodCwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIHVzZXIgcGVybWlzc2lvbnMgd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFRoaXMgY2xhc3MgZXh0ZW5kcyBgRXVpU2VydmljZWAgYW5kIGlzIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyB1c2VyIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aCB1c2VyIHJpZ2h0cywgY2hlY2sgc3BlY2lmaWMgcmlnaHRzIGFuZCBwZXJtaXNzaW9ucyxcbiAqIGFuZCBzdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiB0aGUgdXNlciByaWdodHMgc3RhdGUuXG4gKlxuICogQGV4dGVuZHMge0V1aVNlcnZpY2U8RXVpVXNlclJpZ2h0W10+fVxuICogQHNlZSBFdWlTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4YW1wbGUgb2YgdXNpbmcgdGhlIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGluIGFuIGFwcGxpY2F0aW9uXG4gKiBjb25zdCBwZXJtaXNzaW9uU2VydmljZSA9IG5ldyBFdWlQZXJtaXNzaW9uU2VydmljZSgpO1xuICogcGVybWlzc2lvblNlcnZpY2UuaW5pdChbeyBpZDogJ0FETUlOJywgcGVybWlzc2lvbnM6IFsnQ1JFQVRFJywgJ1JFQUQnLCAnVVBEQVRFJywgJ0RFTEVURSddIH1dKTtcbiAqIGlmIChwZXJtaXNzaW9uU2VydmljZS5jaGVja1JpZ2h0KCdBRE1JTicpKSB7XG4gKiAgIGNvbnNvbGUubG9nKCdVc2VyIGhhcyBBRE1JTiByaWdodHMnKTtcbiAqIH1cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpUGVybWlzc2lvblNlcnZpY2UgZXh0ZW5kcyBFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFtdKTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLlBlcm1pc3Npb25TZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgcGVybWlzc2lvbiBzZXJ2aWNlIHdpdGggYSBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgc2VydmljZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdXNlciByaWdodHMuXG4gICAgICogSXQgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdXNpbmcgb3RoZXIgbWV0aG9kcyBvZiB0aGUgc2VydmljZSB0byBlbnN1cmUgaXQgaXMgcHJvcGVybHkgY29uZmlndXJlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHVzZXIgcmlnaHRzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhdCBsZWFzdCBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdHVzIG9mIHRoZSBpbml0aWFsaXphdGlvbi5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHN0YXR1cyBvYmplY3QgaW5jbHVkZXMgYSBgc3VjY2Vzc2AgYm9vbGVhbiBpbmRpY2F0aW5nXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBhbmQgYW4gYGVycm9yYCBwcm9wZXJ0eVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgbWVzc2FnZSBpbiBjYXNlIG9mIGZhaWx1cmUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgaW5pdGlhbGl6aW5nIHRoZSBzZXJ2aWNlIHdpdGggdHdvIHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgdXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9LFxuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuaW5pdCh1c2VyUmlnaHRzKS5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgKiAgIGlmIChzdGF0dXMuc3VjY2Vzcykge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSW5pdGlhbGl6YXRpb24gc3VjY2Vzc2Z1bCcpO1xuICAgICAqICAgfSBlbHNlIHtcbiAgICAgKiAgICAgY29uc29sZS5lcnJvcignSW5pdGlhbGl6YXRpb24gZmFpbGVkOicsIHN0YXR1cy5lcnJvcik7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgcmlnaHRzYCBwYXJhbWV0ZXIgaXMgbm90IGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMuXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUocmlnaHRzKTtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgZnJvbSB0aGUgc2VydmljZSdzIHN0YXRlLlxuICAgICAqIFRoaXMgZ2V0dGVyIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCByaWdodHNcbiAgICAgKiBvZiB0aGUgdXNlci4gSXQgaXMgYSBwcm90ZWN0ZWQgbWV0aG9kLCBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIHdpdGhpbiB0aGUgc2VydmljZSBvciBieSBzdWJjbGFzc2VzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge0V1aVVzZXJSaWdodFtdfSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggYEV1aVVzZXJSaWdodGAgb2JqZWN0IHR5cGljYWxseSBjb250YWlucyBhbiBgaWRgIHByb3BlcnR5LCBhbmQgbWF5XG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBhbHNvIGluY2x1ZGUgYSBgcGVybWlzc2lvbnNgIHByb3BlcnR5IHdoaWNoIGlzIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgYWNjZXNzaW5nIHVzZXIgcmlnaHRzIHdpdGhpbiBhIHN1YmNsYXNzIG9yIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IGN1cnJlbnRSaWdodHMgPSB0aGlzLnVzZXJSaWdodHM7XG4gICAgICogY3VycmVudFJpZ2h0cy5mb3JFYWNoKHJpZ2h0ID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGBSaWdodCBJRDogJHtyaWdodC5pZH0sIFBlcm1pc3Npb25zOiAke3JpZ2h0LnBlcm1pc3Npb25zLmpvaW4oJywgJyl9YCk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IEV1aVVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgYnkgc3Vic2NyaWJpbmcgdG8gY2hhbmdlcy5cbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGFjY2VzcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cyBpbiB0aGUgc2VydmljZS4gSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlXG4gICAgICogdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy4gVGhlIG1ldGhvZCBpcyBnZW5lcmljIGFuZCBjYW4gYmUgcGFyYW1ldGVyaXplZCB0byByZXR1cm4gYSBzcGVjaWZpY1xuICAgICAqIHR5cGUgdGhhdCBleHRlbmRzIGZyb20gYEV1aVVzZXJSaWdodFtdYC5cbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBLIC0gVGhlIHR5cGUgb2YgdGhlIHVzZXIgcmlnaHRzIHN0YXRlIHRvIGJlIHJldHVybmVkLiBEZWZhdWx0cyB0byBgRXVpVXNlclJpZ2h0W11gIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxLPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdHlwZSBvZiB0aGUgZW1pdHRlZCB2YWx1ZSBpcyBgS2AsIHdoaWNoIGlzIGBFdWlVc2VyUmlnaHRbXWAgYnkgZGVmYXVsdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBzdWJzY3JpYmluZyB0byB0aGUgdXNlciByaWdodHMgc3RhdGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZSgpLnN1YnNjcmliZShjdXJyZW50UmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IFVzZXIgUmlnaHRzOicsIGN1cnJlbnRSaWdodHMpO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogLy8gRXhhbXBsZSB3aXRoIGEgc3BlY2lmaWMgdHlwZVxuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmdldFN0YXRlPEN1c3RvbVVzZXJSaWdodFR5cGVbXT4oKS5zdWJzY3JpYmUoY3VzdG9tUmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXN0b20gVXNlciBSaWdodHM6JywgY3VzdG9tUmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gRXVpVXNlclJpZ2h0W10+KCk6IE9ic2VydmFibGU8Sz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0VXNlclJpZ2h0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgc3RhdGUgb2YgdGhlIHNlcnZpY2Ugd2l0aCBhIG5ldyBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBtb2RpZnkgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHRha2VzIGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgXG4gICAgICogb2JqZWN0cyBhbmQgdXBkYXRlcyB0aGUgc2VydmljZSdzIHN0YXRlLiBUaGlzIGNoYW5nZSBpcyB0aGVuIHByb3BhZ2F0ZWQgdG8gYWxsIHN1YnNjcmliZXJzIG9mIHRoZSBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdG8gdXBkYXRlIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIHVwZGF0aW5nIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aCBuZXcgdXNlciByaWdodHNcbiAgICAgKiBjb25zdCBuZXdVc2VyUmlnaHRzID0gW1xuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ0NPTU1FTlQnXSB9LFxuICAgICAqICAgeyBpZDogJ01PREVSQVRPUicsIHBlcm1pc3Npb25zOiBbJ1JFQUQnLCAnV1JJVEUnLCAnREVMRVRFJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UudXBkYXRlU3RhdGUobmV3VXNlclJpZ2h0cyk7XG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uKHJpZ2h0cyB8fCBbXSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbi5cbiAgICAgKiBUaGlzIG1ldGhvZCBpbnRlcnByZXRzIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIGNvbWJpbmF0aW9uIG9mIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnNcbiAgICAgKiBhbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb25zLiBUaGUgc3RyaW5nIGZvcm1hdCBjYW4gYmVcbiAgICAgKiAnUklHSFQuUEVSTUlTU0lPTicgb3IganVzdCAnUklHSFQnLiBGb3IgbXVsdGlwbGUgcmlnaHRzLCBpdCBjYW4gYmUgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRzQW5kUGVybWlzc2lvbiAtIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcmlnaHRzIGFuZC9vciBwZXJtaXNzaW9ucyB0byBjaGVjay5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBjYW4gYmUgJ1JJR0hUJywgJ1JJR0hULlBFUk1JU1NJT04nLCBvciAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSBwZXJtaXNzaW9uLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGEgc2luZ2xlIHJpZ2h0XG4gICAgICogY29uc3QgaGFzUmlnaHQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24oJ1ZJRVcnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIGEgcmlnaHQgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNSaWdodFdpdGhQZXJtaXNzaW9uID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdFRElULkFQUFJPVkUnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIG11bHRpcGxlIHJpZ2h0cyB3aXRoIGEgc3BlY2lmaWMgcGVybWlzc2lvblxuICAgICAqIGNvbnN0IGhhc011bHRpcGxlUmlnaHRzID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdBRE1JTi5WSUVXLkFQUFJPVkUnKTtcbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGEgc3BlY2lmaWMgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIHBvc3Nlc3NlcyBhIHBhcnRpY3VsYXIgcmlnaHQgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQgdG8gY2hlY2suXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCByaWdodCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBpZiB0aGUgdXNlciBoYXMgdGhlICdBRE1JTicgcmlnaHRcbiAgICAgKiBjb25zdCBpc0FkbWluID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKTtcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gd2l0aGluIGEgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gcmlnaHQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBlcm1pc3Npb24gLSBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB3aXRoaW4gdGhlIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiBpbiB0aGUgZ2l2ZW4gcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzICdBUFBST1ZFJyBwZXJtaXNzaW9uIGluIHRoZSAnRURJVCcgcmlnaHRcbiAgICAgKiBjb25zdCBjYW5BcHByb3ZlRWRpdCA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUGVybWlzc2lvbignRURJVCcsICdBUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQ6IHN0cmluZywgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHRoZSB1c2VyIGhhcyB0byBoYXZlIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRvIGhhdmUgdGhlIGdpdmVuIHBlcm1pc3Npb25cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKFxuICAgICAgICAgICAgKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCAmJiByaWdodC5wZXJtaXNzaW9ucyAmJiByaWdodC5wZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cy5cbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYWxsIHRoZSByaWdodHMgcHJvdmlkZWQgaW4gdGhlIGFycmF5LlxuICAgICAqIEVhY2ggcmlnaHQgaW4gdGhlIGFycmF5IGlzIGNoZWNrZWQgYWdhaW5zdCB0aGUgdXNlcidzIGN1cnJlbnQgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdWlVc2VyUmlnaHRbXX0gcmlnaHRzIC0gQW4gYXJyYXkgb2YgcmlnaHRzIHRvIGNoZWNrIGFnYWluc3QgdGhlIHVzZXIncyByaWdodHMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgYWxsIHRoZSBzcGVjaWZpZWQgcmlnaHRzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aGluIHRoZSBzZXJ2aWNlXG4gICAgICogY29uc3QgcmVxdWlyZWRSaWdodHMgPSBbeyBpZDogJ1ZJRVcnIH0sIHsgaWQ6ICdFRElUJyB9XTtcbiAgICAgKiBjb25zdCBoYXNBbGxSZXF1aXJlZFJpZ2h0cyA9IHRoaXMuaGF2ZUFsbFJpZ2h0cyhyZXF1aXJlZFJpZ2h0cyk7XG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaGF2ZUFsbFJpZ2h0cyhyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgcmlnaHRzIHNob3VsZCBiZSBhbiBhcnJheSBidXQgaW5zdGVhZCBpdFxcJ3Mgbm90IGRlZmluZWQhJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmlnaHRzLmV2ZXJ5KChyaWdodDogRXVpVXNlclJpZ2h0KSA9PiB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBFdWlVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNkJHO0lBQ0gsSUFBSSxDQUFDLE1BQXNCO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NB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LENBQUMsQ0FBQztJQUN6SCxDQUFDO2tJQS9OUSxvQkFBb0I7c0lBQXBCLG9CQUFvQixjQUZqQixNQUFNOzs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIEV1aVVzZXJSaWdodCwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIHVzZXIgcGVybWlzc2lvbnMgd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFRoaXMgY2xhc3MgZXh0ZW5kcyBgRXVpU2VydmljZWAgYW5kIGlzIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyB1c2VyIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aCB1c2VyIHJpZ2h0cywgY2hlY2sgc3BlY2lmaWMgcmlnaHRzIGFuZCBwZXJtaXNzaW9ucyxcbiAqIGFuZCBzdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiB0aGUgdXNlciByaWdodHMgc3RhdGUuXG4gKlxuICogQGV4dGVuZHMge0V1aVNlcnZpY2U8RXVpVXNlclJpZ2h0W10+fVxuICogQHNlZSBFdWlTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4YW1wbGUgb2YgdXNpbmcgdGhlIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGluIGFuIGFwcGxpY2F0aW9uXG4gKiBjb25zdCBwZXJtaXNzaW9uU2VydmljZSA9IG5ldyBFdWlQZXJtaXNzaW9uU2VydmljZSgpO1xuICogcGVybWlzc2lvblNlcnZpY2UuaW5pdChbeyBpZDogJ0FETUlOJywgcGVybWlzc2lvbnM6IFsnQ1JFQVRFJywgJ1JFQUQnLCAnVVBEQVRFJywgJ0RFTEVURSddIH1dKTtcbiAqIGlmIChwZXJtaXNzaW9uU2VydmljZS5jaGVja1JpZ2h0KCdBRE1JTicpKSB7XG4gKiAgIGNvbnNvbGUubG9nKCdVc2VyIGhhcyBBRE1JTiByaWdodHMnKTtcbiAqIH1cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpUGVybWlzc2lvblNlcnZpY2UgZXh0ZW5kcyBFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFtdKTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLlBlcm1pc3Npb25TZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgcGVybWlzc2lvbiBzZXJ2aWNlIHdpdGggYSBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgc2VydmljZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdXNlciByaWdodHMuXG4gICAgICogSXQgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdXNpbmcgb3RoZXIgbWV0aG9kcyBvZiB0aGUgc2VydmljZSB0byBlbnN1cmUgaXQgaXMgcHJvcGVybHkgY29uZmlndXJlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHVzZXIgcmlnaHRzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhdCBsZWFzdCBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdHVzIG9mIHRoZSBpbml0aWFsaXphdGlvbi5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHN0YXR1cyBvYmplY3QgaW5jbHVkZXMgYSBgc3VjY2Vzc2AgYm9vbGVhbiBpbmRpY2F0aW5nXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBhbmQgYW4gYGVycm9yYCBwcm9wZXJ0eVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgbWVzc2FnZSBpbiBjYXNlIG9mIGZhaWx1cmUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgaW5pdGlhbGl6aW5nIHRoZSBzZXJ2aWNlIHdpdGggdHdvIHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgdXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9LFxuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuaW5pdCh1c2VyUmlnaHRzKS5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgKiAgIGlmIChzdGF0dXMuc3VjY2Vzcykge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSW5pdGlhbGl6YXRpb24gc3VjY2Vzc2Z1bCcpO1xuICAgICAqICAgfSBlbHNlIHtcbiAgICAgKiAgICAgY29uc29sZS5lcnJvcignSW5pdGlhbGl6YXRpb24gZmFpbGVkOicsIHN0YXR1cy5lcnJvcik7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgcmlnaHRzYCBwYXJhbWV0ZXIgaXMgbm90IGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMuXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUocmlnaHRzKTtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgZnJvbSB0aGUgc2VydmljZSdzIHN0YXRlLlxuICAgICAqIFRoaXMgZ2V0dGVyIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCByaWdodHNcbiAgICAgKiBvZiB0aGUgdXNlci4gSXQgaXMgYSBwcm90ZWN0ZWQgbWV0aG9kLCBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIHdpdGhpbiB0aGUgc2VydmljZSBvciBieSBzdWJjbGFzc2VzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge0V1aVVzZXJSaWdodFtdfSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggYEV1aVVzZXJSaWdodGAgb2JqZWN0IHR5cGljYWxseSBjb250YWlucyBhbiBgaWRgIHByb3BlcnR5LCBhbmQgbWF5XG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBhbHNvIGluY2x1ZGUgYSBgcGVybWlzc2lvbnNgIHByb3BlcnR5IHdoaWNoIGlzIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgYWNjZXNzaW5nIHVzZXIgcmlnaHRzIHdpdGhpbiBhIHN1YmNsYXNzIG9yIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IGN1cnJlbnRSaWdodHMgPSB0aGlzLnVzZXJSaWdodHM7XG4gICAgICogY3VycmVudFJpZ2h0cy5mb3JFYWNoKHJpZ2h0ID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGBSaWdodCBJRDogJHtyaWdodC5pZH0sIFBlcm1pc3Npb25zOiAke3JpZ2h0LnBlcm1pc3Npb25zLmpvaW4oJywgJyl9YCk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IEV1aVVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgYnkgc3Vic2NyaWJpbmcgdG8gY2hhbmdlcy5cbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGFjY2VzcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cyBpbiB0aGUgc2VydmljZS4gSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlXG4gICAgICogdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy4gVGhlIG1ldGhvZCBpcyBnZW5lcmljIGFuZCBjYW4gYmUgcGFyYW1ldGVyaXplZCB0byByZXR1cm4gYSBzcGVjaWZpY1xuICAgICAqIHR5cGUgdGhhdCBleHRlbmRzIGZyb20gYEV1aVVzZXJSaWdodFtdYC5cbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBLIC0gVGhlIHR5cGUgb2YgdGhlIHVzZXIgcmlnaHRzIHN0YXRlIHRvIGJlIHJldHVybmVkLiBEZWZhdWx0cyB0byBgRXVpVXNlclJpZ2h0W11gIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxLPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdHlwZSBvZiB0aGUgZW1pdHRlZCB2YWx1ZSBpcyBgS2AsIHdoaWNoIGlzIGBFdWlVc2VyUmlnaHRbXWAgYnkgZGVmYXVsdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBzdWJzY3JpYmluZyB0byB0aGUgdXNlciByaWdodHMgc3RhdGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZSgpLnN1YnNjcmliZShjdXJyZW50UmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IFVzZXIgUmlnaHRzOicsIGN1cnJlbnRSaWdodHMpO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogLy8gRXhhbXBsZSB3aXRoIGEgc3BlY2lmaWMgdHlwZVxuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmdldFN0YXRlPEN1c3RvbVVzZXJSaWdodFR5cGVbXT4oKS5zdWJzY3JpYmUoY3VzdG9tUmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXN0b20gVXNlciBSaWdodHM6JywgY3VzdG9tUmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gRXVpVXNlclJpZ2h0W10+KCk6IE9ic2VydmFibGU8Sz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0VXNlclJpZ2h0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgc3RhdGUgb2YgdGhlIHNlcnZpY2Ugd2l0aCBhIG5ldyBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBtb2RpZnkgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHRha2VzIGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgXG4gICAgICogb2JqZWN0cyBhbmQgdXBkYXRlcyB0aGUgc2VydmljZSdzIHN0YXRlLiBUaGlzIGNoYW5nZSBpcyB0aGVuIHByb3BhZ2F0ZWQgdG8gYWxsIHN1YnNjcmliZXJzIG9mIHRoZSBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdG8gdXBkYXRlIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIHVwZGF0aW5nIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aCBuZXcgdXNlciByaWdodHNcbiAgICAgKiBjb25zdCBuZXdVc2VyUmlnaHRzID0gW1xuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ0NPTU1FTlQnXSB9LFxuICAgICAqICAgeyBpZDogJ01PREVSQVRPUicsIHBlcm1pc3Npb25zOiBbJ1JFQUQnLCAnV1JJVEUnLCAnREVMRVRFJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UudXBkYXRlU3RhdGUobmV3VXNlclJpZ2h0cyk7XG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uKHJpZ2h0cyB8fCBbXSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbi5cbiAgICAgKiBUaGlzIG1ldGhvZCBpbnRlcnByZXRzIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIGNvbWJpbmF0aW9uIG9mIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnNcbiAgICAgKiBhbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb25zLiBUaGUgc3RyaW5nIGZvcm1hdCBjYW4gYmVcbiAgICAgKiAnUklHSFQuUEVSTUlTU0lPTicgb3IganVzdCAnUklHSFQnLiBGb3IgbXVsdGlwbGUgcmlnaHRzLCBpdCBjYW4gYmUgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRzQW5kUGVybWlzc2lvbiAtIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcmlnaHRzIGFuZC9vciBwZXJtaXNzaW9ucyB0byBjaGVjay5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBjYW4gYmUgJ1JJR0hUJywgJ1JJR0hULlBFUk1JU1NJT04nLCBvciAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSBwZXJtaXNzaW9uLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGEgc2luZ2xlIHJpZ2h0XG4gICAgICogY29uc3QgaGFzUmlnaHQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24oJ1ZJRVcnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIGEgcmlnaHQgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNSaWdodFdpdGhQZXJtaXNzaW9uID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdFRElULkFQUFJPVkUnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIG11bHRpcGxlIHJpZ2h0cyB3aXRoIGEgc3BlY2lmaWMgcGVybWlzc2lvblxuICAgICAqIGNvbnN0IGhhc011bHRpcGxlUmlnaHRzID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdBRE1JTi5WSUVXLkFQUFJPVkUnKTtcbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGEgc3BlY2lmaWMgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIHBvc3Nlc3NlcyBhIHBhcnRpY3VsYXIgcmlnaHQgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQgdG8gY2hlY2suXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCByaWdodCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBpZiB0aGUgdXNlciBoYXMgdGhlICdBRE1JTicgcmlnaHRcbiAgICAgKiBjb25zdCBpc0FkbWluID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKTtcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gd2l0aGluIGEgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gcmlnaHQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBlcm1pc3Npb24gLSBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB3aXRoaW4gdGhlIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiBpbiB0aGUgZ2l2ZW4gcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzICdBUFBST1ZFJyBwZXJtaXNzaW9uIGluIHRoZSAnRURJVCcgcmlnaHRcbiAgICAgKiBjb25zdCBjYW5BcHByb3ZlRWRpdCA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUGVybWlzc2lvbignRURJVCcsICdBUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQ6IHN0cmluZywgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHRoZSB1c2VyIGhhcyB0byBoYXZlIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRvIGhhdmUgdGhlIGdpdmVuIHBlcm1pc3Npb25cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKFxuICAgICAgICAgICAgKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCAmJiByaWdodC5wZXJtaXNzaW9ucyAmJiByaWdodC5wZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cy5cbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYWxsIHRoZSByaWdodHMgcHJvdmlkZWQgaW4gdGhlIGFycmF5LlxuICAgICAqIEVhY2ggcmlnaHQgaW4gdGhlIGFycmF5IGlzIGNoZWNrZWQgYWdhaW5zdCB0aGUgdXNlcidzIGN1cnJlbnQgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdWlVc2VyUmlnaHRbXX0gcmlnaHRzIC0gQW4gYXJyYXkgb2YgcmlnaHRzIHRvIGNoZWNrIGFnYWluc3QgdGhlIHVzZXIncyByaWdodHMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgYWxsIHRoZSBzcGVjaWZpZWQgcmlnaHRzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aGluIHRoZSBzZXJ2aWNlXG4gICAgICogY29uc3QgcmVxdWlyZWRSaWdodHMgPSBbeyBpZDogJ1ZJRVcnIH0sIHsgaWQ6ICdFRElUJyB9XTtcbiAgICAgKiBjb25zdCBoYXNBbGxSZXF1aXJlZFJpZ2h0cyA9IHRoaXMuaGF2ZUFsbFJpZ2h0cyhyZXF1aXJlZFJpZ2h0cyk7XG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaGF2ZUFsbFJpZ2h0cyhyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgcmlnaHRzIHNob3VsZCBiZSBhbiBhcnJheSBidXQgaW5zdGVhZCBpdFxcJ3Mgbm90IGRlZmluZWQhJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmlnaHRzLmV2ZXJ5KChyaWdodDogRXVpVXNlclJpZ2h0KSA9PiB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBFdWlVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -323,10 +323,10 @@ export class ApiQueueService {
|
|
|
323
323
|
buildHttpRequest(id, item) {
|
|
324
324
|
return this.http[item.method.toLowerCase()](item.uri, item.payload).pipe(tap(() => this.removeQueueItem(id)));
|
|
325
325
|
}
|
|
326
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
327
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
326
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiQueueService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
327
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiQueueService, providedIn: 'root' }); }
|
|
328
328
|
}
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApiQueueService, decorators: [{
|
|
330
330
|
type: Injectable,
|
|
331
331
|
args: [{
|
|
332
332
|
providedIn: 'root',
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
334
334
|
}], ctorParameters: () => [{ type: i1.StoreService }, { type: i2.HttpClient }, { type: i3.LogService, decorators: [{
|
|
335
335
|
type: Optional
|
|
336
336
|
}] }] });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNILFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksY0FB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OzBCQU9RLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIHRha2UsIG1hcCwgY2F0Y2hFcnJvciwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZ2V0QXBpUXVldWUsIGdldEFwaVF1ZXVlSXRlbSwgQXBpUXVldWUsIEFwaVF1ZXVlSXRlbSwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIEFkZEFwaVF1ZXVlSXRlbUFjdGlvbiwgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uLCBFbXB0eUFwaVF1ZXVlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgY2xhc3MgZm9yIG1hbmFnaW5nIGFuZCBwcm9jZXNzaW5nIGEgcXVldWUgb2YgQVBJIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGFkZCwgcmVtb3ZlLCBwcm9jZXNzLCBhbmQgbWFuYWdlIEhUVFAgcmVxdWVzdHMgc3RvcmVkIGluIGEgcXVldWUuXG4gKiBJdCBlbmFibGVzIHNlcXVlbnRpYWwgb3IgYnVsayBwcm9jZXNzaW5nIG9mIHJlcXVlc3RzLCBlbnN1cmluZyBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgaGFuZGxpbmcgb2YgQVBJIGNhbGxzLlxuICogVGhlIHNlcnZpY2UgbWV0aG9kcyBvZmZlciBmZWF0dXJlcyBsaWtlIHByb2Nlc3NpbmcgaW5kaXZpZHVhbCBpdGVtcywgcHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGVpdGhlclxuICogc2VxdWVudGlhbGx5IG9yIGFsbCBhdCBvbmNlLCBhbmQgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgcXVldWUuIEVhY2ggbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGhhbmRsZSBzcGVjaWZpYyBhc3BlY3RzXG4gKiBvZiBxdWV1ZSBtYW5hZ2VtZW50IGFuZCBwcm9jZXNzaW5nLCB3aXRoIGF0dGVudGlvbiB0byBkZXRhaWxzIGxpa2Ugb3JkZXIgb2YgZXhlY3V0aW9uIGFuZCBlcnJvciBoYW5kbGluZy5cbiAqXG4gKiBVc2FnZSBvZiB0aGlzIHNlcnZpY2UgaXMgaWRlYWwgaW4gc2NlbmFyaW9zIHdoZXJlIEFQSSByZXF1ZXN0cyBuZWVkIHRvIGJlIG1hbmFnZWQgaW4gYSBxdWV1ZSBzdHJ1Y3R1cmUsIGFsbG93aW5nXG4gKiBmb3IgY29udHJvbGxlZCBleGVjdXRpb24gYW5kIG1vbml0b3Jpbmcgb2YgdGhlc2UgcmVxdWVzdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZGluZyBhIG5ldyBpdGVtIHRvIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLmFkZFF1ZXVlSXRlbSh7IGlkOiAnaXRlbTEyNCcsIG1ldGhvZDogJ1BPU1QnLCB1cmk6ICcvYXBpL2RhdGEnLCBwYXlsb2FkOiB7Li4ufSB9KTtcbiAqXG4gKiAvLyBQcm9jZXNzaW5nIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgcXVldWVcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzUXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgaXRlbSAxMjMgd2l0aCByZXN1bHQ6JywgcmVzdWx0KTtcbiAqIH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBpbiBzZXF1ZW50aWFsIG9yZGVyXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXNTZXF1ZW50aWFsKGZhbHNlKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgYWxsIGl0ZW1zIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YgdGhlaXIgdGltZXN0YW1wOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKlxuICogLy8gUmVtb3ZpbmcgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBhbmQgY29udGludWluZyBvbiBlcnJvclxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKHRydWUpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHdpdGggY29udGludWF0aW9uIG9uIGVycm9yczonLCByZXN1bHRzKTtcbiAqIH0pO1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcGlRdWV1ZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgaWYgKGxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nU2VydmljZS5nZXRMb2dnZXIoJ2NvcmUuQXBpUXVldWVTZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIHF1ZXVlIGJ5IGRpc3BhdGNoaW5nIGFuIGFjdGlvbiB0byB0aGUgc3RvcmUuXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gZW5xdWV1ZSBBUEkgY2FsbCByZXF1ZXN0cyByZXByZXNlbnRlZCBieSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLlxuICAgICAqIEVhY2ggaXRlbSBpcyBpZGVudGlmaWVkIGJ5IGEgdW5pcXVlIGBpZGAsIHdoaWNoIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHF1ZXVlIGl0ZW0uIEl0J3MgY3J1Y2lhbCB0byBlbnN1cmUgdGhhdCB0aGlzIElEIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgIElmIGFuIGl0ZW0gd2l0aCB0aGUgc2FtZSBJRCBhbHJlYWR5IGV4aXN0cywgdGhlIG5ldyBpdGVtIHdpbGwgb3ZlcndyaXRlIHRoZSBleGlzdGluZyBvbmUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgV0FSTklORzogRHVwbGljYXRlIElEcyB3aWxsIGxlYWQgdG8gb3ZlcndyaXRpbmcgb2YgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBpdGVtIHRvIGJlIGVucXVldWVkLiBUaGlzIHNob3VsZCBiZSBhbiBvYmplY3Qgb2YgdHlwZSBgQXBpUXVldWVJdGVtYC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgaXRlbSBtdXN0IGJlIG9uZSBvZiB0aGUgYWxsb3dlZCBtZXRob2RzICgncG9zdCcsICdwdXQnLCAnZ2V0JykuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiB1bnN1cHBvcnRlZCBtZXRob2QgaXMgcHJvdmlkZWQsIHRoZSBmdW5jdGlvbiB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBpdGVtYCBpcyBub3Qgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMuXG4gICAgICogICAgICAgICAgICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGlzOiBgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBhZGRpbmcgYW4gaXRlbSB0byB0aGUgQVBJIHF1ZXVlXG4gICAgICogYWRkUXVldWVJdGVtKCcxMjM0NScsIHsgbWV0aG9kOiAncG9zdCcsIHVybDogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuIEl0IGFkZHMgdGhlIGl0ZW0gdG8gdGhlIHF1ZXVlIHZpYSBhIGRpc3BhdGNoIGFjdGlvbi5cbiAgICAgKi9cbiAgICBhZGRRdWV1ZUl0ZW0oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRNZXRob2RzID0gWydwb3N0JywgJ3B1dCcsICdnZXQnXTtcblxuICAgICAgICBpZiAoYWxsb3dlZE1ldGhvZHMuaW5kZXhPZihpdGVtLm1ldGhvZCkgPCAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFtBcGlRdWV1ZV0gbWV0aG9kIFwiJHtpdGVtLm1ldGhvZH1cIiBpcyBub3QgYWxsb3dlZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQWRkQXBpUXVldWVJdGVtQWN0aW9uKHsgaWQsIGl0ZW0gfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgQVBJIHF1ZXVlIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGFuIGFycmF5IG9mIE9ic2VydmFibGVzLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gYWNjZXNzIHRoZSBBUEkgcXVldWUuIEl0IHRoZW4gbWFwcyB0aGUgcXVldWUgb2JqZWN0LFxuICAgICAqIHdoaWNoIGlzIGFuIGFzc29jaWF0aXZlIGFycmF5LCBpbnRvIGEgbGluZWFyIGFycmF5IG9mIEFwaVF1ZXVlSXRlbSBpbnN0YW5jZXMuIElmIHRoZSBxdWV1ZSBpcyBlbXB0eSxcbiAgICAgKiBhIHdhcm5pbmcgaXMgbG9nZ2VkLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIHRyYWNraW5nIHRoZSBzdGF0ZSBhbmQgY29udGVudHMgb2YgdGhlIEFQSSBxdWV1ZVxuICAgICAqIGF0IGEgZ2l2ZW4gbW9tZW50LlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgdGFrZXMgYSBzbmFwc2hvdCBvZiB0aGUgcXVldWUgYXQgdGhlIHRpbWUgb2Ygc3Vic2NyaXB0aW9uLiBJdCBkb2VzIG5vdCBwcm92aWRlXG4gICAgICogYSBjb250aW51b3VzIHN0cmVhbSBvZiBxdWV1ZSB1cGRhdGVzLiBUbyBnZXQgcmVhbC10aW1lIHVwZGF0ZXMsIGNvbnNpZGVyIHN1YnNjcmliaW5nIGRpcmVjdGx5XG4gICAgICogdG8gdGhlIHN0b3JlJ3Mgb2JzZXJ2YWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBUaGUgYXJyYXkgcmVwcmVzZW50cyBhbGwgaXRlbXMgY3VycmVudGx5IGluIHRoZSBxdWV1ZS4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LCBpdCBlbWl0cyBhbiBlbXB0eSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWUoKS5zdWJzY3JpYmUocXVldWVJdGVtcyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBxdWV1ZSBpdGVtczonLCBxdWV1ZUl0ZW1zKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZSgpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXVlQXJyYXkgPSBxdWV1ZSAmJiBPYmplY3QudmFsdWVzPEFwaVF1ZXVlSXRlbT4ocXVldWUpO1xuICAgICAgICAgICAgICAgIGlmICghcXVldWVBcnJheSB8fCBxdWV1ZUFycmF5Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ05vIGl0ZW1zIGluIHRoZSBxdWV1ZSBleGlzdC4nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWVBcnJheTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIGFuZCBzZWxlY3RzIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRC5cbiAgICAgKiBJdCBlbXBsb3lzIGEgcGlwZWxpbmUgdG8gZmV0Y2ggdGhlIGl0ZW06IHRoZSBgZ2V0QXBpUXVldWVJdGVtYCBzZWxlY3RvciBpcyB1c2VkIHRvIHJldHJpZXZlIHRoZSBpdGVtLFxuICAgICAqIGFuZCBhIGBtYXBgIG9wZXJhdG9yIHByb2Nlc3NlcyB0aGUgcmVzdWx0LiBJZiB0aGUgaXRlbSB3aXRoIHRoZSBzcGVjaWZpZWQgSUQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHF1ZXVlLFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQsIGFuZCBgbnVsbGAgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBpZGVhbCBmb3IgYWNjZXNzaW5nIGEgc3BlY2lmaWMgcXVldWUgaXRlbSB3aGVuIGl0cyBJRCBpcyBrbm93biwgYWxsb3dpbmcgZm9yIHRhcmdldGVkXG4gICAgICogb3BlcmF0aW9ucyBvciBjaGVja3Mgb24gdGhhdCBwYXJ0aWN1bGFyIGl0ZW0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2l0aGluIHRoZSBxdWV1ZS5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW0gfCBudWxsPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVxdWVzdGVkIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBJZiBubyBpdGVtIHdpdGggdGhlIGdpdmVuIElEIGV4aXN0cyBpbiB0aGUgcXVldWUsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAqICAgaWYgKGl0ZW0pIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0ZvdW5kIGl0ZW06JywgaXRlbSk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0UXVldWVJdGVtKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWVJdGVtKGlkKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy53YXJuKGBRdWV1ZSBpdGVtIHdpdGggaWQgXCIke2lkfVwiIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgdXNpbmcgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZGlzcGF0Y2hlcyBhbiBhY3Rpb24gdG8gcmVtb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUsIGlkZW50aWZpZWQgYnkgdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGlzIGVzc2VudGlhbCBmb3IgbWFuYWdpbmcgdGhlIHF1ZXVlIGJ5IGVsaW1pbmF0aW5nIGl0ZW1zIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgb3IgaGF2ZSBiZWVuIHByb2Nlc3NlZC5cbiAgICAgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXQgcHJpbWFyaWx5IHRyaWdnZXJzIGFuIGFjdGlvbiB3aXRoaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGUgZXhpc3RlbmNlIG9mIHRoZSBpdGVtIGluIHRoZSBxdWV1ZS4gSXQgZG9lcyBub3QgcGVyZm9ybSBhIGNoZWNrXG4gICAgICogdG8gY29uZmlybSB0aGUgcHJlc2VuY2Ugb2YgdGhlIGl0ZW0gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIGl0LiBUaGVyZWZvcmUsIGl0J3MgcmVjb21tZW5kZWRcbiAgICAgKiB0byB2ZXJpZnkgdGhlIGl0ZW0ncyBleGlzdGVuY2UgaW4gdGhlIHF1ZXVlIGlmIHVuY2VydGFpbnR5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKTtcbiAgICAgKiAvLyBUaGUgaXRlbSB3aXRoIElEICdpdGVtMTIzJyB3aWxsIGJlIGRpc3BhdGNoZWQgZm9yIHJlbW92YWwgZnJvbSB0aGUgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlUXVldWVJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBpdGVtcyBmcm9tIHRoZSBBUEkgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZSwgZWZmZWN0aXZlbHkgcmVtb3ZpbmcgYWxsIGl0ZW1zIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQuXG4gICAgICogSXQgaXMgdXNlZnVsIGZvciBzY2VuYXJpb3Mgd2hlcmUgYSBjb21wbGV0ZSByZXNldCBvZiB0aGUgcXVldWUgaXMgcmVxdWlyZWQsIHN1Y2ggYXMgZHVyaW5nIGluaXRpYWxpemF0aW9uIG9yIGFmdGVyIHByb2Nlc3NpbmdcbiAgICAgKiBhIGJhdGNoIG9mIGl0ZW1zLiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXRzIHByaW1hcnkgcHVycG9zZSBpcyB0byB0cmlnZ2VyIGEgc3RhdGUgY2hhbmdlIGluIHRoZSBzdG9yZS5cbiAgICAgKlxuICAgICAqIE5vdGU6IFVzZSB0aGlzIG1ldGhvZCB3aXRoIGNhdXRpb24gYXMgaXQgd2lsbCBpcnJldmVyc2libHkgY2xlYXIgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZS4gRW5zdXJlIHRoYXQgdGhpcyBhY3Rpb24gZG9lcyBub3RcbiAgICAgKiBkaXNydXB0IGFueSBvbmdvaW5nIHByb2Nlc3NlcyB0aGF0IHJlbHkgb24gdGhlIHF1ZXVlJ3MgY29udGVudHMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZUFsbFF1ZXVlSXRlbSgpO1xuICAgICAqIC8vIFRoaXMgd2lsbCBkaXNwYXRjaCBhbiBhY3Rpb24gdG8gZW1wdHkgdGhlIGVudGlyZSBBUEkgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlQWxsUXVldWVJdGVtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBFbXB0eUFwaVF1ZXVlQWN0aW9uKG51bGwpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgYW4gaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHNwZWNpZmllZCBpdGVtIGZyb20gdGhlIHF1ZXVlIGFuZCBhcHBsaWVzIHByb2Nlc3NpbmcgbG9naWMgYXMgZGVmaW5lZCBpbiBgYnVpbGRIdHRwUmVxdWVzdGAuXG4gICAgICogSWYgdGhlIGl0ZW0gaXMgbm90IGZvdW5kLCBsb2dzIGEgd2FybmluZyBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlIHRvIGJlIHByb2Nlc3NlZC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBwcm9jZXNzaW5nIHRoZSBxdWV1ZSBpdGVtLlxuICAgICAqIElmIHRoZSBpdGVtIGRvZXMgbm90IGV4aXN0LCB0aGUgT2JzZXJ2YWJsZSBlbWl0cyBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgKiAgIGlmIChyZXN1bHQpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVwbGFjZSBgYW55YCB3aXRoIGEgbW9yZSBzcGVjaWZpYyB0eXBlIG9yIG1ha2UgdGhlIG1ldGhvZCBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkSHR0cFJlcXVlc3QoaWQsIHF1ZXVlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIEFQSSBxdWV1ZSBhbmQgY29sbGVjdHMgdGhlaXIgcmVzcG9uc2VzLlxuICAgICAqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlYWNoIGl0ZW0gaW4gdGhlIHF1ZXVlIGFuZCBwcm9jZXNzZXMgdGhlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAuIElmIGEgcmVxdWVzdCBmYWlscyxcbiAgICAgKiB0aGUgbWV0aG9kIGNhbiBlaXRoZXIgY29udGludWUgcHJvY2Vzc2luZyB0aGUgcmVtYWluaW5nIGl0ZW1zIG9yIHN0b3AsIGJhc2VkIG9uIHRoZSBgY29udGludWVPbkVycm9yYCBwYXJhbWV0ZXIuXG4gICAgICogSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIGFsbCB0aGUgcHJvY2Vzc2VkIGl0ZW1zLlxuICAgICAqXG4gICAgICogVGhlIGZ1bmN0aW9uIGN1cnJlbnRseSByZXR1cm5zIGBPYnNlcnZhYmxlPGFueVtdPmAgaW5kaWNhdGluZyBhbiBhcnJheSBvZiBhbnkgdHlwZS4gRnV0dXJlIGltcHJvdmVtZW50c1xuICAgICAqIHNob3VsZCBhaW0gdG8gc3BlY2lmeSBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6ZSBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY29udGludWVPbkVycm9yPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWVcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBhIHJlcXVlc3QgZmFpbHVyZS4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueVtdPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyBhbiBhcnJheSBvZiBlaXRoZXIgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIHRoZSBwcm9jZXNzZWRcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXVlIGl0ZW1zLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIHRoZSBhcnJheSBvZiByZXNwb25zZXMgb3IgZXJyb3JzXG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVmaW5lIHRoZSByZXR1cm4gdHlwZSB0byBiZSBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtczxUID0gYW55Pihjb250aW51ZU9uRXJyb3IgPSB0cnVlKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocXVldWUpLm1hcCgoW2tleSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSHR0cFJlcXVlc3Qoa2V5LCB2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy5lcnJvcihgUXVldWUgSXRlbSB3aXRoIGlkICR7a2V5fSBmYWlsZWQuYCwgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2spO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChvYnNRdWV1ZTogT2JzZXJ2YWJsZTxUPltdKSA9PiBmb3JrSm9pbihBcnJheS5mcm9tKG9ic1F1ZXVlKSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHNlcXVlbnRpYWxseSwgYmFzZWQgb24gdGhlaXIgdGltZXN0YW1wIG9yZGVyaW5nLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZmlyc3Qgb3JkZXJzIHRoZSBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGJ5IHRoZWlyIHRpbWVzdGFtcCwgZWl0aGVyIGluIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nXG4gICAgICogb3JkZXIgYXMgc3BlY2lmaWVkIGJ5IHRoZSBgYXNjZW5kaW5nYCBwYXJhbWV0ZXIuIEl0IHRoZW4gcHJvY2Vzc2VzIGVhY2ggaXRlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAsIGVuc3VyaW5nXG4gICAgICogdGhhdCBlYWNoIHJlcXVlc3QgaXMgY29tcGxldGVkIGJlZm9yZSB0aGUgbmV4dCBiZWdpbnMuIFRoaXMgc2VxdWVudGlhbCBwcm9jZXNzaW5nIGlzIGNydWNpYWwgd2hlbiB0aGUgb3JkZXIgb2ZcbiAgICAgKiBleGVjdXRpb24gbWF0dGVycyBmb3IgSFRUUCByZXF1ZXN0cyBpbiB0aGUgcXVldWUuIFRoZSBtZXRob2QgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlc1xuICAgICAqIGZvbGxvd2luZyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcXVldWUgaXRlbXMgd2VyZSBwcm9jZXNzZWQuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55PmAsIGluZGljYXRpbmcgYSBicm9hZCB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzIHNob3VsZCBmb2N1cyBvblxuICAgICAqIHNwZWNpZnlpbmcgYSBtb3JlIGFjY3VyYXRlIHJldHVybiB0eXBlIG9yIHV0aWxpemluZyBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbYXNjZW5kaW5nPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBxdWV1ZSBpdGVtcyBhcmUgcHJvY2Vzc2VkIGluIGFzY2VuZGluZyBvcmRlciBvZiB0aGVpclxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3BvbnNlcyBvZiB0aGUgSFRUUCByZXF1ZXN0cyBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIGVhY2ggcmVzcG9uc2UgaW4gdGhlIG9yZGVyIG9mIHF1ZXVlIHByb2Nlc3NpbmdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIGZvciBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoYXNjZW5kaW5nID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PlxuICAgICAgICAgICAgICAgIGZyb20oT2JqZWN0LmVudHJpZXMocXVldWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYXNjZW5kaW5nID8gdGhpcy5zb3J0T25UaW1lc3RhbXAoYSwgYikgOiB0aGlzLnNvcnRPblRpbWVzdGFtcChiLCBhKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtpZCwgaXRlbV0pID0+IHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgaXRlbSkpKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShjb25jYXRNYXAoeCA9PiB4KSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHR3byBxdWV1ZSBpdGVtcyBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgYW5kIGRldGVybWluZXMgdGhlaXIgb3JkZXIuXG4gICAgICpcbiAgICAgKiBUaGlzIHByb3RlY3RlZCBtZXRob2QgaXMgdXNlZCB0byBzb3J0IHF1ZXVlIGl0ZW1zLiBJdCB0YWtlcyB0d28gcXVldWUgaXRlbXMgYXMgaW5wdXQsIGVhY2ggcmVwcmVzZW50ZWRcbiAgICAgKiBhcyBhIHR1cGxlIGNvbnRhaW5pbmcgYW4gaXRlbSBJRCBhbmQgdGhlIGBBcGlRdWV1ZUl0ZW1gIG9iamVjdC4gVGhlIG1ldGhvZCBjb21wYXJlcyB0aGVzZSBpdGVtcyBiYXNlZCBvblxuICAgICAqIHRoZSBgdGltZXN0YW1wYCBwcm9wZXJ0eSBvZiB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0cy4gSXQgcmV0dXJucyBhIG51bWJlciBpbmRpY2F0aW5nIHRoZSBvcmRlciBpbiB3aGljaFxuICAgICAqIHRoZXNlIGl0ZW1zIHNob3VsZCBiZSBzb3J0ZWQuXG4gICAgICpcbiAgICAgKiBBIHBvc2l0aXZlIHJldHVybiB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZmlyc3QgaXRlbSBzaG91bGQgY29tZSBhZnRlciB0aGUgc2Vjb25kLCBhIG5lZ2F0aXZlIHZhbHVlXG4gICAgICogaW5kaWNhdGVzIHRoZSBvcHBvc2l0ZSwgYW5kIHplcm8gaW5kaWNhdGVzIHRoYXQgdGhleSBhcmUgZXF1YWwgaW4gdGVybXMgb2YgdGltZXN0YW1wLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBhIC0gVGhlIGZpcnN0IHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBiIC0gVGhlIHNlY29uZCBxdWV1ZSBpdGVtIHR1cGxlIGZvciBjb21wYXJpc29uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIG9mIHRoZSBpdGVtczogbmVnYXRpdmUgaWYgYGFgIGlzIGVhcmxpZXIgdGhhbiBgYmAsXG4gICAgICogICAgICAgICAgICAgICAgICBwb3NpdGl2ZSBpZiBgYWAgaXMgbGF0ZXIgdGhhbiBgYmAsIGFuZCB6ZXJvIGlmIHRoZXkgYXJlIGVxdWFsLlxuICAgICAqIEBiZXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNvcnRPblRpbWVzdGFtcChhOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dLCBiOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICtuZXcgRGF0ZShhWzFdLnRpbWVzdGFtcCkgLSArbmV3IERhdGUoYlsxXS50aW1lc3RhbXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYW5kIGV4ZWN1dGVzIGFuIEhUVFAgcmVxdWVzdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVldWUgaXRlbSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCB0YWtlcyBhbiBJRCBhbmQgYW4gYEFwaVF1ZXVlSXRlbWAgb2JqZWN0IHRvIGJ1aWxkIGFuZCBleGVjdXRlIGFuIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBJdCBkZXRlcm1pbmVzIHRoZSBIVFRQIG1ldGhvZCAobGlrZSBHRVQsIFBPU1QsIGV0Yy4pIGZyb20gdGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCxcbiAgICAgKiBhbmQgdXNlcyB0aGUgYHVyaWAgYW5kIGBwYXlsb2FkYCBwcm9wZXJ0aWVzIGZvciB0aGUgcmVxdWVzdCdzIFVSTCBhbmQgYm9keSwgcmVzcGVjdGl2ZWx5LiBBZnRlciB0aGVcbiAgICAgKiByZXF1ZXN0IGlzIGV4ZWN1dGVkLCB0aGUgY29ycmVzcG9uZGluZyBxdWV1ZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGUgbWV0aG9kIGlzIGdlbmVyaWMsIGFsbG93aW5nIHRoZSBjYWxsZXIgdG8gc3BlY2lmeSB0aGUgZXhwZWN0ZWQgcmVzcG9uc2UgdHlwZSBgVGAuIEJ5IGRlZmF1bHQsXG4gICAgICogaXQgdXNlcyBgYW55YCB0eXBlLCBidXQgc3BlY2lmeWluZyBhIG1vcmUgY29uY3JldGUgdHlwZSBlbmhhbmNlcyB0eXBlIHNhZmV0eSBhbmQgY2xhcml0eSBpbiB1c2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBJRCBvZiB0aGUgcXVldWUgaXRlbSBiZWluZyBwcm9jZXNzZWQuXG4gICAgICogQHBhcmFtIHtBcGlRdWV1ZUl0ZW19IGl0ZW0gLSBUaGUgcXVldWUgaXRlbSBjb250YWluaW5nIGRldGFpbHMgZm9yIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgb2YgdHlwZSBULCByZXByZXNlbnRpbmcgdGhlIHJlc3BvbnNlIG9mIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2UgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2UgdHlwZVxuICAgICAqIHRoaXMuYnVpbGRIdHRwUmVxdWVzdDxNeVJlc3BvbnNlVHlwZT4oJ2l0ZW0xMjMnLCBxdWV1ZUl0ZW0pXG4gICAgICogICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgICAgICAgLy8gSGFuZGxlIHRoZSByZXNwb25zZVxuICAgICAqICAgICB9KTtcbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIEhUVFAgcmVzcG9uc2UuIERlZmF1bHRzIHRvIGBhbnlgLlxuICAgICAqL1xuICAgIC8vIFRPRE86IGFkZCB0eXBlIGZvciBUIGFuZCBkZXByZWNhdGUgb2xkIGZ1bmN0aW9uXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0PFQgPSBhbnk+KGlkOiBzdHJpbmcsIGl0ZW06IEFwaVF1ZXVlSXRlbSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwW2l0ZW0ubWV0aG9kLnRvTG93ZXJDYXNlKCldPFQ+KGl0ZW0udXJpLCBpdGVtLnBheWxvYWQpLnBpcGUodGFwKCgpID0+IHRoaXMucmVtb3ZlUXVldWVJdGVtKGlkKSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNILFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksY0FB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OzBCQU9RLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIHRha2UsIG1hcCwgY2F0Y2hFcnJvciwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZ2V0QXBpUXVldWUsIGdldEFwaVF1ZXVlSXRlbSwgQXBpUXVldWUsIEFwaVF1ZXVlSXRlbSwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIEFkZEFwaVF1ZXVlSXRlbUFjdGlvbiwgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uLCBFbXB0eUFwaVF1ZXVlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgY2xhc3MgZm9yIG1hbmFnaW5nIGFuZCBwcm9jZXNzaW5nIGEgcXVldWUgb2YgQVBJIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGFkZCwgcmVtb3ZlLCBwcm9jZXNzLCBhbmQgbWFuYWdlIEhUVFAgcmVxdWVzdHMgc3RvcmVkIGluIGEgcXVldWUuXG4gKiBJdCBlbmFibGVzIHNlcXVlbnRpYWwgb3IgYnVsayBwcm9jZXNzaW5nIG9mIHJlcXVlc3RzLCBlbnN1cmluZyBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgaGFuZGxpbmcgb2YgQVBJIGNhbGxzLlxuICogVGhlIHNlcnZpY2UgbWV0aG9kcyBvZmZlciBmZWF0dXJlcyBsaWtlIHByb2Nlc3NpbmcgaW5kaXZpZHVhbCBpdGVtcywgcHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGVpdGhlclxuICogc2VxdWVudGlhbGx5IG9yIGFsbCBhdCBvbmNlLCBhbmQgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgcXVldWUuIEVhY2ggbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGhhbmRsZSBzcGVjaWZpYyBhc3BlY3RzXG4gKiBvZiBxdWV1ZSBtYW5hZ2VtZW50IGFuZCBwcm9jZXNzaW5nLCB3aXRoIGF0dGVudGlvbiB0byBkZXRhaWxzIGxpa2Ugb3JkZXIgb2YgZXhlY3V0aW9uIGFuZCBlcnJvciBoYW5kbGluZy5cbiAqXG4gKiBVc2FnZSBvZiB0aGlzIHNlcnZpY2UgaXMgaWRlYWwgaW4gc2NlbmFyaW9zIHdoZXJlIEFQSSByZXF1ZXN0cyBuZWVkIHRvIGJlIG1hbmFnZWQgaW4gYSBxdWV1ZSBzdHJ1Y3R1cmUsIGFsbG93aW5nXG4gKiBmb3IgY29udHJvbGxlZCBleGVjdXRpb24gYW5kIG1vbml0b3Jpbmcgb2YgdGhlc2UgcmVxdWVzdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZGluZyBhIG5ldyBpdGVtIHRvIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLmFkZFF1ZXVlSXRlbSh7IGlkOiAnaXRlbTEyNCcsIG1ldGhvZDogJ1BPU1QnLCB1cmk6ICcvYXBpL2RhdGEnLCBwYXlsb2FkOiB7Li4ufSB9KTtcbiAqXG4gKiAvLyBQcm9jZXNzaW5nIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgcXVldWVcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzUXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgaXRlbSAxMjMgd2l0aCByZXN1bHQ6JywgcmVzdWx0KTtcbiAqIH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBpbiBzZXF1ZW50aWFsIG9yZGVyXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXNTZXF1ZW50aWFsKGZhbHNlKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgYWxsIGl0ZW1zIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YgdGhlaXIgdGltZXN0YW1wOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKlxuICogLy8gUmVtb3ZpbmcgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBhbmQgY29udGludWluZyBvbiBlcnJvclxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKHRydWUpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHdpdGggY29udGludWF0aW9uIG9uIGVycm9yczonLCByZXN1bHRzKTtcbiAqIH0pO1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcGlRdWV1ZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgaWYgKGxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nU2VydmljZS5nZXRMb2dnZXIoJ2NvcmUuQXBpUXVldWVTZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIHF1ZXVlIGJ5IGRpc3BhdGNoaW5nIGFuIGFjdGlvbiB0byB0aGUgc3RvcmUuXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gZW5xdWV1ZSBBUEkgY2FsbCByZXF1ZXN0cyByZXByZXNlbnRlZCBieSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLlxuICAgICAqIEVhY2ggaXRlbSBpcyBpZGVudGlmaWVkIGJ5IGEgdW5pcXVlIGBpZGAsIHdoaWNoIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHF1ZXVlIGl0ZW0uIEl0J3MgY3J1Y2lhbCB0byBlbnN1cmUgdGhhdCB0aGlzIElEIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgIElmIGFuIGl0ZW0gd2l0aCB0aGUgc2FtZSBJRCBhbHJlYWR5IGV4aXN0cywgdGhlIG5ldyBpdGVtIHdpbGwgb3ZlcndyaXRlIHRoZSBleGlzdGluZyBvbmUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgV0FSTklORzogRHVwbGljYXRlIElEcyB3aWxsIGxlYWQgdG8gb3ZlcndyaXRpbmcgb2YgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBpdGVtIHRvIGJlIGVucXVldWVkLiBUaGlzIHNob3VsZCBiZSBhbiBvYmplY3Qgb2YgdHlwZSBgQXBpUXVldWVJdGVtYC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgaXRlbSBtdXN0IGJlIG9uZSBvZiB0aGUgYWxsb3dlZCBtZXRob2RzICgncG9zdCcsICdwdXQnLCAnZ2V0JykuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiB1bnN1cHBvcnRlZCBtZXRob2QgaXMgcHJvdmlkZWQsIHRoZSBmdW5jdGlvbiB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBpdGVtYCBpcyBub3Qgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMuXG4gICAgICogICAgICAgICAgICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGlzOiBgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBhZGRpbmcgYW4gaXRlbSB0byB0aGUgQVBJIHF1ZXVlXG4gICAgICogYWRkUXVldWVJdGVtKCcxMjM0NScsIHsgbWV0aG9kOiAncG9zdCcsIHVybDogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuIEl0IGFkZHMgdGhlIGl0ZW0gdG8gdGhlIHF1ZXVlIHZpYSBhIGRpc3BhdGNoIGFjdGlvbi5cbiAgICAgKi9cbiAgICBhZGRRdWV1ZUl0ZW0oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRNZXRob2RzID0gWydwb3N0JywgJ3B1dCcsICdnZXQnXTtcblxuICAgICAgICBpZiAoYWxsb3dlZE1ldGhvZHMuaW5kZXhPZihpdGVtLm1ldGhvZCkgPCAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFtBcGlRdWV1ZV0gbWV0aG9kIFwiJHtpdGVtLm1ldGhvZH1cIiBpcyBub3QgYWxsb3dlZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQWRkQXBpUXVldWVJdGVtQWN0aW9uKHsgaWQsIGl0ZW0gfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgQVBJIHF1ZXVlIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGFuIGFycmF5IG9mIE9ic2VydmFibGVzLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gYWNjZXNzIHRoZSBBUEkgcXVldWUuIEl0IHRoZW4gbWFwcyB0aGUgcXVldWUgb2JqZWN0LFxuICAgICAqIHdoaWNoIGlzIGFuIGFzc29jaWF0aXZlIGFycmF5LCBpbnRvIGEgbGluZWFyIGFycmF5IG9mIEFwaVF1ZXVlSXRlbSBpbnN0YW5jZXMuIElmIHRoZSBxdWV1ZSBpcyBlbXB0eSxcbiAgICAgKiBhIHdhcm5pbmcgaXMgbG9nZ2VkLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIHRyYWNraW5nIHRoZSBzdGF0ZSBhbmQgY29udGVudHMgb2YgdGhlIEFQSSBxdWV1ZVxuICAgICAqIGF0IGEgZ2l2ZW4gbW9tZW50LlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgdGFrZXMgYSBzbmFwc2hvdCBvZiB0aGUgcXVldWUgYXQgdGhlIHRpbWUgb2Ygc3Vic2NyaXB0aW9uLiBJdCBkb2VzIG5vdCBwcm92aWRlXG4gICAgICogYSBjb250aW51b3VzIHN0cmVhbSBvZiBxdWV1ZSB1cGRhdGVzLiBUbyBnZXQgcmVhbC10aW1lIHVwZGF0ZXMsIGNvbnNpZGVyIHN1YnNjcmliaW5nIGRpcmVjdGx5XG4gICAgICogdG8gdGhlIHN0b3JlJ3Mgb2JzZXJ2YWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBUaGUgYXJyYXkgcmVwcmVzZW50cyBhbGwgaXRlbXMgY3VycmVudGx5IGluIHRoZSBxdWV1ZS4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LCBpdCBlbWl0cyBhbiBlbXB0eSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWUoKS5zdWJzY3JpYmUocXVldWVJdGVtcyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBxdWV1ZSBpdGVtczonLCBxdWV1ZUl0ZW1zKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZSgpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXVlQXJyYXkgPSBxdWV1ZSAmJiBPYmplY3QudmFsdWVzPEFwaVF1ZXVlSXRlbT4ocXVldWUpO1xuICAgICAgICAgICAgICAgIGlmICghcXVldWVBcnJheSB8fCBxdWV1ZUFycmF5Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ05vIGl0ZW1zIGluIHRoZSBxdWV1ZSBleGlzdC4nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWVBcnJheTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIGFuZCBzZWxlY3RzIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRC5cbiAgICAgKiBJdCBlbXBsb3lzIGEgcGlwZWxpbmUgdG8gZmV0Y2ggdGhlIGl0ZW06IHRoZSBgZ2V0QXBpUXVldWVJdGVtYCBzZWxlY3RvciBpcyB1c2VkIHRvIHJldHJpZXZlIHRoZSBpdGVtLFxuICAgICAqIGFuZCBhIGBtYXBgIG9wZXJhdG9yIHByb2Nlc3NlcyB0aGUgcmVzdWx0LiBJZiB0aGUgaXRlbSB3aXRoIHRoZSBzcGVjaWZpZWQgSUQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHF1ZXVlLFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQsIGFuZCBgbnVsbGAgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBpZGVhbCBmb3IgYWNjZXNzaW5nIGEgc3BlY2lmaWMgcXVldWUgaXRlbSB3aGVuIGl0cyBJRCBpcyBrbm93biwgYWxsb3dpbmcgZm9yIHRhcmdldGVkXG4gICAgICogb3BlcmF0aW9ucyBvciBjaGVja3Mgb24gdGhhdCBwYXJ0aWN1bGFyIGl0ZW0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2l0aGluIHRoZSBxdWV1ZS5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW0gfCBudWxsPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVxdWVzdGVkIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBJZiBubyBpdGVtIHdpdGggdGhlIGdpdmVuIElEIGV4aXN0cyBpbiB0aGUgcXVldWUsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAqICAgaWYgKGl0ZW0pIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0ZvdW5kIGl0ZW06JywgaXRlbSk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0UXVldWVJdGVtKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWVJdGVtKGlkKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy53YXJuKGBRdWV1ZSBpdGVtIHdpdGggaWQgXCIke2lkfVwiIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgdXNpbmcgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZGlzcGF0Y2hlcyBhbiBhY3Rpb24gdG8gcmVtb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUsIGlkZW50aWZpZWQgYnkgdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGlzIGVzc2VudGlhbCBmb3IgbWFuYWdpbmcgdGhlIHF1ZXVlIGJ5IGVsaW1pbmF0aW5nIGl0ZW1zIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgb3IgaGF2ZSBiZWVuIHByb2Nlc3NlZC5cbiAgICAgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXQgcHJpbWFyaWx5IHRyaWdnZXJzIGFuIGFjdGlvbiB3aXRoaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGUgZXhpc3RlbmNlIG9mIHRoZSBpdGVtIGluIHRoZSBxdWV1ZS4gSXQgZG9lcyBub3QgcGVyZm9ybSBhIGNoZWNrXG4gICAgICogdG8gY29uZmlybSB0aGUgcHJlc2VuY2Ugb2YgdGhlIGl0ZW0gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIGl0LiBUaGVyZWZvcmUsIGl0J3MgcmVjb21tZW5kZWRcbiAgICAgKiB0byB2ZXJpZnkgdGhlIGl0ZW0ncyBleGlzdGVuY2UgaW4gdGhlIHF1ZXVlIGlmIHVuY2VydGFpbnR5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKTtcbiAgICAgKiAvLyBUaGUgaXRlbSB3aXRoIElEICdpdGVtMTIzJyB3aWxsIGJlIGRpc3BhdGNoZWQgZm9yIHJlbW92YWwgZnJvbSB0aGUgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlUXVldWVJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBpdGVtcyBmcm9tIHRoZSBBUEkgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZSwgZWZmZWN0aXZlbHkgcmVtb3ZpbmcgYWxsIGl0ZW1zIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQuXG4gICAgICogSXQgaXMgdXNlZnVsIGZvciBzY2VuYXJpb3Mgd2hlcmUgYSBjb21wbGV0ZSByZXNldCBvZiB0aGUgcXVldWUgaXMgcmVxdWlyZWQsIHN1Y2ggYXMgZHVyaW5nIGluaXRpYWxpemF0aW9uIG9yIGFmdGVyIHByb2Nlc3NpbmdcbiAgICAgKiBhIGJhdGNoIG9mIGl0ZW1zLiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXRzIHByaW1hcnkgcHVycG9zZSBpcyB0byB0cmlnZ2VyIGEgc3RhdGUgY2hhbmdlIGluIHRoZSBzdG9yZS5cbiAgICAgKlxuICAgICAqIE5vdGU6IFVzZSB0aGlzIG1ldGhvZCB3aXRoIGNhdXRpb24gYXMgaXQgd2lsbCBpcnJldmVyc2libHkgY2xlYXIgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZS4gRW5zdXJlIHRoYXQgdGhpcyBhY3Rpb24gZG9lcyBub3RcbiAgICAgKiBkaXNydXB0IGFueSBvbmdvaW5nIHByb2Nlc3NlcyB0aGF0IHJlbHkgb24gdGhlIHF1ZXVlJ3MgY29udGVudHMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZUFsbFF1ZXVlSXRlbSgpO1xuICAgICAqIC8vIFRoaXMgd2lsbCBkaXNwYXRjaCBhbiBhY3Rpb24gdG8gZW1wdHkgdGhlIGVudGlyZSBBUEkgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlQWxsUXVldWVJdGVtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBFbXB0eUFwaVF1ZXVlQWN0aW9uKG51bGwpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgYW4gaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHNwZWNpZmllZCBpdGVtIGZyb20gdGhlIHF1ZXVlIGFuZCBhcHBsaWVzIHByb2Nlc3NpbmcgbG9naWMgYXMgZGVmaW5lZCBpbiBgYnVpbGRIdHRwUmVxdWVzdGAuXG4gICAgICogSWYgdGhlIGl0ZW0gaXMgbm90IGZvdW5kLCBsb2dzIGEgd2FybmluZyBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlIHRvIGJlIHByb2Nlc3NlZC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBwcm9jZXNzaW5nIHRoZSBxdWV1ZSBpdGVtLlxuICAgICAqIElmIHRoZSBpdGVtIGRvZXMgbm90IGV4aXN0LCB0aGUgT2JzZXJ2YWJsZSBlbWl0cyBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgKiAgIGlmIChyZXN1bHQpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVwbGFjZSBgYW55YCB3aXRoIGEgbW9yZSBzcGVjaWZpYyB0eXBlIG9yIG1ha2UgdGhlIG1ldGhvZCBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkSHR0cFJlcXVlc3QoaWQsIHF1ZXVlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIEFQSSBxdWV1ZSBhbmQgY29sbGVjdHMgdGhlaXIgcmVzcG9uc2VzLlxuICAgICAqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlYWNoIGl0ZW0gaW4gdGhlIHF1ZXVlIGFuZCBwcm9jZXNzZXMgdGhlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAuIElmIGEgcmVxdWVzdCBmYWlscyxcbiAgICAgKiB0aGUgbWV0aG9kIGNhbiBlaXRoZXIgY29udGludWUgcHJvY2Vzc2luZyB0aGUgcmVtYWluaW5nIGl0ZW1zIG9yIHN0b3AsIGJhc2VkIG9uIHRoZSBgY29udGludWVPbkVycm9yYCBwYXJhbWV0ZXIuXG4gICAgICogSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIGFsbCB0aGUgcHJvY2Vzc2VkIGl0ZW1zLlxuICAgICAqXG4gICAgICogVGhlIGZ1bmN0aW9uIGN1cnJlbnRseSByZXR1cm5zIGBPYnNlcnZhYmxlPGFueVtdPmAgaW5kaWNhdGluZyBhbiBhcnJheSBvZiBhbnkgdHlwZS4gRnV0dXJlIGltcHJvdmVtZW50c1xuICAgICAqIHNob3VsZCBhaW0gdG8gc3BlY2lmeSBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6ZSBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY29udGludWVPbkVycm9yPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWVcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBhIHJlcXVlc3QgZmFpbHVyZS4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueVtdPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyBhbiBhcnJheSBvZiBlaXRoZXIgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIHRoZSBwcm9jZXNzZWRcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXVlIGl0ZW1zLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIHRoZSBhcnJheSBvZiByZXNwb25zZXMgb3IgZXJyb3JzXG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVmaW5lIHRoZSByZXR1cm4gdHlwZSB0byBiZSBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtczxUID0gYW55Pihjb250aW51ZU9uRXJyb3IgPSB0cnVlKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocXVldWUpLm1hcCgoW2tleSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSHR0cFJlcXVlc3Qoa2V5LCB2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy5lcnJvcihgUXVldWUgSXRlbSB3aXRoIGlkICR7a2V5fSBmYWlsZWQuYCwgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2spO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChvYnNRdWV1ZTogT2JzZXJ2YWJsZTxUPltdKSA9PiBmb3JrSm9pbihBcnJheS5mcm9tKG9ic1F1ZXVlKSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHNlcXVlbnRpYWxseSwgYmFzZWQgb24gdGhlaXIgdGltZXN0YW1wIG9yZGVyaW5nLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZmlyc3Qgb3JkZXJzIHRoZSBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGJ5IHRoZWlyIHRpbWVzdGFtcCwgZWl0aGVyIGluIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nXG4gICAgICogb3JkZXIgYXMgc3BlY2lmaWVkIGJ5IHRoZSBgYXNjZW5kaW5nYCBwYXJhbWV0ZXIuIEl0IHRoZW4gcHJvY2Vzc2VzIGVhY2ggaXRlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAsIGVuc3VyaW5nXG4gICAgICogdGhhdCBlYWNoIHJlcXVlc3QgaXMgY29tcGxldGVkIGJlZm9yZSB0aGUgbmV4dCBiZWdpbnMuIFRoaXMgc2VxdWVudGlhbCBwcm9jZXNzaW5nIGlzIGNydWNpYWwgd2hlbiB0aGUgb3JkZXIgb2ZcbiAgICAgKiBleGVjdXRpb24gbWF0dGVycyBmb3IgSFRUUCByZXF1ZXN0cyBpbiB0aGUgcXVldWUuIFRoZSBtZXRob2QgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlc1xuICAgICAqIGZvbGxvd2luZyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcXVldWUgaXRlbXMgd2VyZSBwcm9jZXNzZWQuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55PmAsIGluZGljYXRpbmcgYSBicm9hZCB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzIHNob3VsZCBmb2N1cyBvblxuICAgICAqIHNwZWNpZnlpbmcgYSBtb3JlIGFjY3VyYXRlIHJldHVybiB0eXBlIG9yIHV0aWxpemluZyBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbYXNjZW5kaW5nPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBxdWV1ZSBpdGVtcyBhcmUgcHJvY2Vzc2VkIGluIGFzY2VuZGluZyBvcmRlciBvZiB0aGVpclxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3BvbnNlcyBvZiB0aGUgSFRUUCByZXF1ZXN0cyBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIGVhY2ggcmVzcG9uc2UgaW4gdGhlIG9yZGVyIG9mIHF1ZXVlIHByb2Nlc3NpbmdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIGZvciBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoYXNjZW5kaW5nID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PlxuICAgICAgICAgICAgICAgIGZyb20oT2JqZWN0LmVudHJpZXMocXVldWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYXNjZW5kaW5nID8gdGhpcy5zb3J0T25UaW1lc3RhbXAoYSwgYikgOiB0aGlzLnNvcnRPblRpbWVzdGFtcChiLCBhKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtpZCwgaXRlbV0pID0+IHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgaXRlbSkpKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShjb25jYXRNYXAoeCA9PiB4KSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHR3byBxdWV1ZSBpdGVtcyBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgYW5kIGRldGVybWluZXMgdGhlaXIgb3JkZXIuXG4gICAgICpcbiAgICAgKiBUaGlzIHByb3RlY3RlZCBtZXRob2QgaXMgdXNlZCB0byBzb3J0IHF1ZXVlIGl0ZW1zLiBJdCB0YWtlcyB0d28gcXVldWUgaXRlbXMgYXMgaW5wdXQsIGVhY2ggcmVwcmVzZW50ZWRcbiAgICAgKiBhcyBhIHR1cGxlIGNvbnRhaW5pbmcgYW4gaXRlbSBJRCBhbmQgdGhlIGBBcGlRdWV1ZUl0ZW1gIG9iamVjdC4gVGhlIG1ldGhvZCBjb21wYXJlcyB0aGVzZSBpdGVtcyBiYXNlZCBvblxuICAgICAqIHRoZSBgdGltZXN0YW1wYCBwcm9wZXJ0eSBvZiB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0cy4gSXQgcmV0dXJucyBhIG51bWJlciBpbmRpY2F0aW5nIHRoZSBvcmRlciBpbiB3aGljaFxuICAgICAqIHRoZXNlIGl0ZW1zIHNob3VsZCBiZSBzb3J0ZWQuXG4gICAgICpcbiAgICAgKiBBIHBvc2l0aXZlIHJldHVybiB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZmlyc3QgaXRlbSBzaG91bGQgY29tZSBhZnRlciB0aGUgc2Vjb25kLCBhIG5lZ2F0aXZlIHZhbHVlXG4gICAgICogaW5kaWNhdGVzIHRoZSBvcHBvc2l0ZSwgYW5kIHplcm8gaW5kaWNhdGVzIHRoYXQgdGhleSBhcmUgZXF1YWwgaW4gdGVybXMgb2YgdGltZXN0YW1wLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBhIC0gVGhlIGZpcnN0IHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBiIC0gVGhlIHNlY29uZCBxdWV1ZSBpdGVtIHR1cGxlIGZvciBjb21wYXJpc29uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIG9mIHRoZSBpdGVtczogbmVnYXRpdmUgaWYgYGFgIGlzIGVhcmxpZXIgdGhhbiBgYmAsXG4gICAgICogICAgICAgICAgICAgICAgICBwb3NpdGl2ZSBpZiBgYWAgaXMgbGF0ZXIgdGhhbiBgYmAsIGFuZCB6ZXJvIGlmIHRoZXkgYXJlIGVxdWFsLlxuICAgICAqIEBiZXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNvcnRPblRpbWVzdGFtcChhOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dLCBiOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICtuZXcgRGF0ZShhWzFdLnRpbWVzdGFtcCkgLSArbmV3IERhdGUoYlsxXS50aW1lc3RhbXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYW5kIGV4ZWN1dGVzIGFuIEhUVFAgcmVxdWVzdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVldWUgaXRlbSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCB0YWtlcyBhbiBJRCBhbmQgYW4gYEFwaVF1ZXVlSXRlbWAgb2JqZWN0IHRvIGJ1aWxkIGFuZCBleGVjdXRlIGFuIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBJdCBkZXRlcm1pbmVzIHRoZSBIVFRQIG1ldGhvZCAobGlrZSBHRVQsIFBPU1QsIGV0Yy4pIGZyb20gdGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCxcbiAgICAgKiBhbmQgdXNlcyB0aGUgYHVyaWAgYW5kIGBwYXlsb2FkYCBwcm9wZXJ0aWVzIGZvciB0aGUgcmVxdWVzdCdzIFVSTCBhbmQgYm9keSwgcmVzcGVjdGl2ZWx5LiBBZnRlciB0aGVcbiAgICAgKiByZXF1ZXN0IGlzIGV4ZWN1dGVkLCB0aGUgY29ycmVzcG9uZGluZyBxdWV1ZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGUgbWV0aG9kIGlzIGdlbmVyaWMsIGFsbG93aW5nIHRoZSBjYWxsZXIgdG8gc3BlY2lmeSB0aGUgZXhwZWN0ZWQgcmVzcG9uc2UgdHlwZSBgVGAuIEJ5IGRlZmF1bHQsXG4gICAgICogaXQgdXNlcyBgYW55YCB0eXBlLCBidXQgc3BlY2lmeWluZyBhIG1vcmUgY29uY3JldGUgdHlwZSBlbmhhbmNlcyB0eXBlIHNhZmV0eSBhbmQgY2xhcml0eSBpbiB1c2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBJRCBvZiB0aGUgcXVldWUgaXRlbSBiZWluZyBwcm9jZXNzZWQuXG4gICAgICogQHBhcmFtIHtBcGlRdWV1ZUl0ZW19IGl0ZW0gLSBUaGUgcXVldWUgaXRlbSBjb250YWluaW5nIGRldGFpbHMgZm9yIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgb2YgdHlwZSBULCByZXByZXNlbnRpbmcgdGhlIHJlc3BvbnNlIG9mIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2UgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2UgdHlwZVxuICAgICAqIHRoaXMuYnVpbGRIdHRwUmVxdWVzdDxNeVJlc3BvbnNlVHlwZT4oJ2l0ZW0xMjMnLCBxdWV1ZUl0ZW0pXG4gICAgICogICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgICAgICAgLy8gSGFuZGxlIHRoZSByZXNwb25zZVxuICAgICAqICAgICB9KTtcbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIEhUVFAgcmVzcG9uc2UuIERlZmF1bHRzIHRvIGBhbnlgLlxuICAgICAqL1xuICAgIC8vIFRPRE86IGFkZCB0eXBlIGZvciBUIGFuZCBkZXByZWNhdGUgb2xkIGZ1bmN0aW9uXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0PFQgPSBhbnk+KGlkOiBzdHJpbmcsIGl0ZW06IEFwaVF1ZXVlSXRlbSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwW2l0ZW0ubWV0aG9kLnRvTG93ZXJDYXNlKCldPFQ+KGl0ZW0udXJpLCBpdGVtLnBheWxvYWQpLnBpcGUodGFwKCgpID0+IHRoaXMucmVtb3ZlUXVldWVJdGVtKGlkKSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -102,10 +102,10 @@ export class LocalForageService extends AsyncStorageService {
|
|
|
102
102
|
},
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
105
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
106
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
105
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalForageService, deps: [{ token: LOCAL_FORAGE_SERVICE_CONFIG_TOKEN, optional: true }, { token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalForageService }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalForageService, decorators: [{
|
|
109
109
|
type: Injectable
|
|
110
110
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
111
111
|
type: Inject,
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
115
115
|
}] }, { type: i1.LogService, decorators: [{
|
|
116
116
|
type: Optional
|
|
117
117
|
}] }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZm9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtZm9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc5RCxnQkFBZ0I7QUFDaEIsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVEsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUUsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7YUFDaEQsU0FBSSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjtJQUVuQztJQUNJLG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDRyxNQUFXLEVBQ3RELEdBQWU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIeUQsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUN0RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBR3JDLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sRUFBRTtZQUNSLFdBQVcsQ0FB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ZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBsZiBmcm9tICdsb2NhbGZvcmFnZSc7XG5pbXBvcnQgeyBBc3luY1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9hc3luYy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgbG9jYWxGb3JhZ2U6IGFueSA9ICdkZWZpbmVEcml2ZXInIGluIGxmID8gbGYgOiBsZlsnZGVmYXVsdCddO1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBMT0NBTF9GT1JBR0VfU0VSVklDRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignTE9DQUxfRk9SQUdFX1NFUlZJQ0VfQ09ORklHJyk7XG5cbi8qKlxuICogbG9jYWxmb3JhZ2Ugc2VydmljZSwgdXNpbmcgdGhlIGxvY2FsRm9yYWdlIGphdmFzY3JpcHQgbGlicmFyeVxuICogaHR0cHM6Ly9sb2NhbGZvcmFnZS5naXRodWIuaW8vbG9jYWxGb3JhZ2VcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsRm9yYWdlU2VydmljZSBleHRlbmRzIEFzeW5jU3RvcmFnZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBOQU1FID0gJ0xvY2FsRm9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBASW5qZWN0KExPQ0FMX0ZPUkFHRV9TRVJWSUNFX0NPTkZJR19UT0tFTikgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGNvbmZpZzogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvLyBjb25maWd1cmUgbG9jYWxmb3JhZ2UsIGlmIHNwZWNpZmllZFxuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBsb2NhbEZvcmFnZS5jb25maWcoY29uZmlnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIHNlcnZpY2VcbiAgICAgKi9cbiAgICBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMb2NhbEZvcmFnZVNlcnZpY2UuTkFNRTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZWZsZWN0cyB0aGUgcmVhZGluZXNzIG9mIHRoZSBzdG9yYWdlXG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZTx2b2lkPlxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlYWR5KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLnJlYWR5KCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3JlYWR5JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBhbiBvYmplY3QgZnJvbSBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZSBvZiB2YWx1ZVxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLmdldEl0ZW0oa2V5KSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoXG4gICAgICAgICAgICAgICAgKCkgPT4geyAvKiBlbXB0eSAqLyB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ2dldCcsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGFuIG9iamVjdCBpbiBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBzZXRcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlXG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi9cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdzZXQnLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlbW92ZXMgYW4gb2JqZWN0IGZyb20gbG9jYWxmb3JhZ2VcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBhc3NvY2lhdGVkIGtleVxuICAgICAqIEByZXR1cm5zIG9uZSB0aW1lIGVtaXNzaW9uIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gZnJvbShsb2NhbEZvcmFnZS5yZW1vdmVJdGVtKGtleSkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3JlbW92ZScsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -68,12 +68,12 @@ export class LocalStorageService extends StorageService {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
72
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
71
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalStorageService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalStorageService }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
75
75
|
type: Injectable
|
|
76
76
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
77
77
|
type: Optional
|
|
78
78
|
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUduRDs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO2FBQzVDLFNBQUksR0FBRyxxQkFBcUIsQUFBeEIsQ0FBeUI7SUFFcEMsWUFBa0MsR0FBZTtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURzQixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBRWpELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDQSxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsR0FBRyxDQUFDLEdBQVc7UUFDWCxJQUFJO1lBQ0EsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9DO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN2QixJQUFJO1lBQ0EsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUN6QztRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDM0M7U0FDSjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNkLElBQUk7WUFDQSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUM5QztTQUNKO0lBQ0wsQ0FBQztrSUEvRFEsbUJBQW1CO3NJQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUlNLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBsb2NhbFN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSBleHRlbmRzIFN0b3JhZ2VTZXJ2aWNlIHtcbiAgICBzdGF0aWMgTkFNRSA9ICdMb2NhbFN0b3JhZ2VTZXJ2aWNlJztcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2c6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0aGUgbmFtZSBvZiB0aGUgc3RvcmFnZSBzZXJ2aWNlXG4gICAgICovXG4gICAgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gTG9jYWxTdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsIHN0b3JhZ2VcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBhc3NvY2lhdGVkIGtleVxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvciB1bmRlZmluZWQsIGlmIGNhc2Ugb2YgZXJyb3JcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplZCAmJiBKU09OLnBhcnNlKHNlcmlhbGl6ZWQpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAnZ2V0JywgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGFuIG9iamVjdCBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgc2VyaWFsaXplZCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdzZXQnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVtb3ZlcyBhbiBvYmplY3QgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKi9cbiAgICByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdyZW1vdmUnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -68,12 +68,12 @@ export class SessionStorageService extends StorageService {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
72
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
71
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SessionStorageService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SessionStorageService }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SessionStorageService, decorators: [{
|
|
75
75
|
type: Injectable
|
|
76
76
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
77
77
|
type: Optional
|
|
78
78
|
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsY0FBYzthQUM5QyxTQUFJLEdBQUcsdUJBQXVCLEFBQTFCLENBQTJCO0lBRXRDLFlBQWtDLEdBQWU7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEc0IsUUFBRyxHQUFILEdBQUcsQ0FBWTtJQUVqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBSTtZQUNBLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0MsT0FBTyxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvQztRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUM5RCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkIsSUFBSTtZQUNBLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDM0M7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQzNDO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDZCxJQUFJO1lBQ0EsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDOUM7U0FDSjtJQUNMLENBQUM7a0lBL0RRLHFCQUFxQjtzSUFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFJTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8qKlxuICogc2Vzc2lvblN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgU3RvcmFnZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBOQU1FID0gJ1Nlc3Npb25TdG9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFNlc3Npb25TdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIG9yIHVuZGVmaW5lZCwgaWYgY2FzZSBvZiBlcnJvclxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldChrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWQgJiYgSlNPTi5wYXJzZShzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ2dldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBhbiBvYmplY3QgaW4gc2Vzc2lvbiBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICovXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdyZW1vdmUnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -43,13 +43,13 @@ export class CoreAppEffects {
|
|
|
43
43
|
}
|
|
44
44
|
})), { dispatch: false });
|
|
45
45
|
}
|
|
46
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
47
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
46
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreAppEffects, deps: [{ token: i1.Actions }, { token: SHOW_CONNECTION_STATUS_TOKEN }, { token: i2.TranslateService }, { token: i3.EuiGrowlService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreAppEffects }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoreAppEffects, decorators: [{
|
|
50
50
|
type: Injectable
|
|
51
51
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: undefined, decorators: [{
|
|
52
52
|
type: Inject,
|
|
53
53
|
args: [SHOW_CONNECTION_STATUS_TOKEN]
|
|
54
54
|
}] }, { type: i2.TranslateService }, { type: i3.EuiGrowlService }] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JlL2VmZmVjdHMvYXBwLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFXLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFjLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd4SSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFJbkUsTUFBTSxPQUFPLGNBQWM7SUEwRHZCLFlBQ2MsT0FBZ0I7SUFDMUIseUJBQXlCO0lBQ3VCLG9CQUFnRCxFQUN0RixnQkFBa0MsRUFDbEMsU0FBMEI7UUFKMUIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1FBQ3RGLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUE5RHhDLGdDQUEyQixHQUF1QixZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2hFLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFD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WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSwgY3JlYXRlRWZmZWN0IH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1hcFRvLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb3JlQXBwQWN0aW9uVHlwZXMsIEFjdGl2YXRlZFJvdXRlQWN0aW9uLCBVcGRhdGVDdXJyZW50TW9kdWxlQWN0aW9uLCBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9hcHAuYWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aUdyb3dsU2VydmljZSB9IGZyb20gJy4uLy4uL2dyb3dsL2V1aS1ncm93bC5zZXJ2aWNlJztcbmltcG9ydCB7IFNIT1dfQ09OTkVDVElPTl9TVEFUVVNfVE9LRU4gfSBmcm9tICcuLi8uLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0dXMgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29yZUFwcEVmZmVjdHMge1xuICAgIGdldEFwcENvbm5lY3Rpb25JbmZvcm1hdGlvbjogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgICAgIG1lcmdlKGZyb21FdmVudCh3aW5kb3csICdvbmxpbmUnKS5waXBlKG1hcFRvKHRydWUpKSwgZnJvbUV2ZW50KHdpbmRvdywgJ29mZmxpbmUnKS5waXBlKG1hcFRvKGZhbHNlKSkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNvbm5lY3RlZCkgPT4gbmV3IFVwZGF0ZUFwcENvbm5lY3Rpb25BY3Rpb24oY29ubmVjdGVkKSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGFjdGl2YXRlZFJvdXRlOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICAgICAgdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICAgICAgICBvZlR5cGUoQ29yZUFwcEFjdGlvblR5cGVzLkFDVElWQVRFRF9ST1VURSksXG4gICAgICAgICAgICBtYXAoKGFjdGlvbjogQWN0aXZhdGVkUm91dGVBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICAgICAgICAgIG1lcmdlTWFwKChyb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGV4dHJhY3QgdGhlIG1vZHVsZSBuYW1lLCBpZiBkZWZpbmVkXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gcm91dGUuc25hcHNob3QuZGF0YVsnbW9kdWxlJ10gfHwgJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVXBkYXRlQ3VycmVudE1vZHVsZUFjdGlvbihtb2R1bGUpXTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICB1cGRhdGVBcHBDb25uZWN0aW9uID0gY3JlYXRlRWZmZWN0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKENvcmVBcHBBY3Rpb25UeXBlcy5VUERBVEVfQVBQX0NPTk5FQ1RJT04pLFxuICAgICAgICAgICAgICAgIG1hcCgoYWN0aW9uOiBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgICAgICAgICAgICAgdGFwKChjb25uZWN0ZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogZm9yIGVVSSAxNCwgZHJvcCBib29sZWFuIHN1cHBvcnQgYW5kIHJlZmFjdG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGZlYXR1cmUgaXMgZW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0ZlYXR1cmVFbmFibGVkID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiB0aGlzLnNob3dDb25uZWN0aW9uU3RhdHVzICE9PSAnYm9vbGVhbicgPyB0aGlzLnNob3dDb25uZWN0aW9uU3RhdHVzPy5lbmFibGVkIDogdGhpcy5zaG93Q29ubmVjdGlvblN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgLy8gZXh0cmFjdCBsaWZlc3BhbiBpZiBhbnlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlmZXNwYW4gPVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuc2hvd0Nvbm5lY3Rpb25TdGF0dXMgIT09ICdib29sZWFuJyA/IHRoaXMuc2hvd0Nvbm5lY3Rpb25TdGF0dXM/Lm1lc3NhZ2VCb3g/LmxpZmVzcGFuIHx8IDAgOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB1c2VyIG5lZWRzIHRvIGJlIGluZm9ybWVkIGFib3V0IHRoZSBjb25uZWN0aW9uIHN0YXR1c1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNGZWF0dXJlRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoJ2V1aS5DT05ORUNURUQnKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmdyb3dsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnTUVTU0FHRScsIGRldGFpbDogdHJhbnNsYXRpb24sIGxpZmU6IGxpZmVzcGFuIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWZlc3BhbiA8IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnZXVpLk5PVENPTk5FQ1RFRCcpLnN1YnNjcmliZSgodHJhbnNsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2woXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNldmVyaXR5OiAnZGFuZ2VyJywgc3VtbWFyeTogJ0VSUk9SJywgZGV0YWlsOiB0cmFuc2xhdGlvbiwgbGlmZTogbGlmZXNwYW4gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZmVzcGFuIDwgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICB7IGRpc3BhdGNoOiBmYWxzZSB9LFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFjdGlvbnM6IEFjdGlvbnMsXG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSBvbiBlVUkgMTRcbiAgICAgICAgQEluamVjdChTSE9XX0NPTk5FQ1RJT05fU1RBVFVTX1RPS0VOKSBwcm90ZWN0ZWQgc2hvd0Nvbm5lY3Rpb25TdGF0dXM6IGJvb2xlYW4gfCBDb25uZWN0aW9uU3RhdHVzLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFzU2VydmljZTogRXVpR3Jvd2xTZXJ2aWNlLFxuICAgICkge31cbn1cbiJdfQ==
|