@eo-sdk/client 9.0.0-rc.1 → 9.0.0-rc.2
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/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +4 -3
- package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +0 -2
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form-options.interface.d.ts +2 -0
- package/app/eo-framework/result-list/result-list.component.d.ts +9 -3
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -1
- package/assets/_default/config/main.json +2 -1
- package/assets/_default/theme/favicon.ico +0 -0
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
- package/bundles/eo-sdk-client.umd.js +2664 -2640
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/eo-sdk-client.d.ts +6 -5
- package/eo-sdk-client.metadata.json +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
- package/esm2015/app/eo-framework/inbox-details/inbox-details.component.js +3 -2
- package/esm2015/app/eo-framework/media/media.component.js +8 -8
- package/esm2015/app/eo-framework/object-form/object-form/form-element/form-element.component.js +2 -3
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +7 -6
- package/esm2015/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.js +2 -3
- package/esm2015/app/eo-framework/object-form/object-form/object-form.component.js +5 -3
- package/esm2015/app/eo-framework/object-form/object-form-edit/object-form-edit.component.js +4 -2
- package/esm2015/app/eo-framework/object-form/object-form-options.interface.js +1 -1
- package/esm2015/app/eo-framework/object-form/object-form.module.js +1 -3
- package/esm2015/app/eo-framework/result-list/result-list.component.js +28 -7
- package/esm2015/app/eo-framework/result-list/result-list.module.js +4 -2
- package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +3 -4
- package/esm2015/eo-sdk-client.js +7 -6
- package/esm2015/projects/eo-sdk/core/lib/service/auth/auth.service.js +2 -2
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +1 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
- package/fesm2015/eo-sdk-client.js +2477 -2454
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/package.json +1 -1
|
@@ -257,7 +257,7 @@ export class AuthService {
|
|
|
257
257
|
'Content-Type': 'application/json'
|
|
258
258
|
});
|
|
259
259
|
return this.http
|
|
260
|
-
.get(`${host || ''}${this.config.getUri('serviceBase')}${this.userProfileUri}`, { headers })
|
|
260
|
+
.get(`${host || ''}${this.config.getUri('serviceBase')}${this.userProfileUri}`, { headers, withCredentials: this.coreConfig.withCredentials })
|
|
261
261
|
.pipe(switchMap((user) => {
|
|
262
262
|
this.profile = {
|
|
263
263
|
host: host || '',
|
|
@@ -373,4 +373,4 @@ AuthService.ctorParameters = () => [
|
|
|
373
373
|
{ type: LocalStorage },
|
|
374
374
|
{ type: LocalStorageService }
|
|
375
375
|
];
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFDM0QsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFDbEQsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFxQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVB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LENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNqRDtRQUVELE1BQU0sSUFBSSxHQUFHO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRTtZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztTQUNqRCxDQUFDO1FBRUYsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FDcEIsQ0FBQztJQUNKLENBQUM7OztZQXhYRixVQUFVOzs7WUEzQkgsTUFBTTtZQW9CTixVQUFVLHVCQXlDYixNQUFNLFNBQUMsV0FBVztZQTlEZixlQUFlO1lBdUJmLGtCQUFrQjtZQXhCbEIsVUFBVTtZQWdCVixVQUFVO1lBakJVLE1BQU07WUFzQjFCLGdCQUFnQjtZQVZoQixtQkFBbUI7WUFKbkIsTUFBTTtZQUdOLFlBQVk7WUFEWixjQUFjO1lBSmQsY0FBYztZQURkLGFBQWE7WUFFYixXQUFXO1lBUVgsWUFBWTtZQUlaLG1CQUFtQjtZQU5uQixZQUFZO1lBQ1osbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4sXG4gIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCwgdGhyb3dFcnJvciwgaW50ZXJ2YWxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgY2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtBcHBDYWNoZVNlcnZpY2V9IGZyb20gJy4uL2NhY2hlL2FwcC1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtFb1VzZXJ9IGZyb20gJy4uLy4uL21vZGVsL2VvLXVzZXIubW9kZWwnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlfSBmcm9tICcuLi9zeXN0ZW0vc3lzdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vdXNlci91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uL2xvZ2dlci9sb2dnZXInO1xuaW1wb3J0IHtBdXRoUHJvZmlsZX0gZnJvbSAnLi9hdXRoLXByb2ZpbGUuaW50ZXJmYWNlJztcbmltcG9ydCB7UHJlcGFyZVNlcnZpY2V9IGZyb20gJy4uL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlJztcbmltcG9ydCB7SW5ib3hTZXJ2aWNlfSBmcm9tICcuLi9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7Q2FwYWJpbGl0aWVzU2VydmljZX0gZnJvbSAnLi4vY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlU2VydmljZX0gZnJvbSAnLi4vc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2V9IGZyb20gJy4uL2V2ZW50cy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7RW5haW9FdmVudH0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50cyc7XG5pbXBvcnQge0JwbVNlcnZpY2V9IGZyb20gJy4uL2JwbS9icG0uc2VydmljZSc7XG5pbXBvcnQge0dhdGV3YXlJbmZvfSBmcm9tICcuL2dhdGV3YXktaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHtTeXN0ZW1TdGF0dXNTZXJ2aWNlfSBmcm9tICcuLi9zeXN0ZW0tc3RhdHVzL3N5c3RlbS1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQge0Vudmlyb25tZW50RW5haW99IGZyb20gJy4uLy4uL2Vudmlyb25tZW50LmVuYWlvJztcbmltcG9ydCB7TG9naW5EZXZpY2VSZXN1bHQsIFN0b3JlZFRva2VufSBmcm9tICcuL2F1dGguY2xvdWQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGxhdGZvcm1Mb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29yZUNvbmZpZ30gZnJvbSAnLi4vLi4vY29uZmlnL2NvcmUtY29uZmlnJztcbmltcG9ydCB7Q09SRV9DT05GSUd9IGZyb20gJy4uLy4uL2NvbmZpZy9jb3JlLWluaXQudG9rZW5zJztcbmltcG9ydCB7RW52aXJvbm1lbnRTZXJ2aWNlfSBmcm9tICcuLi9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5zZXJ2aWNlJztcblxuLyoqXG4gKiBgQXV0aFNlcnZpY2VgIGhhbmRsZXMgYXV0aGVudGljYXRpb24gYWdhaW5zdCBhbiB5dXV2aXM8c3VwPiZyZWc7PC9zdXA+IFJBRCBiYWNrZW5kLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgVE9LRU5fU1RPUkFHRV9LRVkgPSAnZW8uYXV0aC5jbG91ZC5jcmVkZW50aWFscyc7XG4gIHByaXZhdGUgdXNlclByb2ZpbGVVcmkgPSB0aGlzLnVzZXJTZXJ2aWNlLlVTRVJfRkVUQ0hfVVJJO1xuICBwcml2YXRlIGF1dGhTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBsb2dnZWRJbkNhY2hlS2V5ID0gJ2VvLnVzZXIubG9nZ2VkSW4nO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRvIHN1YnNjcmliZSB0byBmb3IgZ2V0dGluZyB0aGUgc3RhdGUgb2YgYmVpbmcgYXV0aGVudGljYXRlZC4gV2lsbCBlbWl0IHRydWUgd2hlbiBhIHVzZXIgbG9nZ2VkIGluLFxuICAgKiBmYWxzZSB3aGVuIHRoZSB1c2VyIGxvZ2dlZCBvdXQgb3IgdGhlIGdhdGV3YXlzIHNlc3Npb24gdGltZWQgb3V0LlxuICAgKi9cbiAgcHVibGljIGF1dGhlbnRpY2F0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwdWJsaWMgaG9zdHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgZ2F0ZXdheUluZm86IEdhdGV3YXlJbmZvO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwdWJsaWMgcHJvZmlsZTogQXV0aFByb2ZpbGUgPSB7XG4gICAgaG9zdDogJycsXG4gICAgdXNlcjogbnVsbCxcbiAgICBhdXRoOiBudWxsLFxuICAgIGFjdGl2ZTogZmFsc2VcbiAgfTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICBASW5qZWN0KENPUkVfQ09ORklHKSBwdWJsaWMgY29yZUNvbmZpZzogQ29yZUNvbmZpZyxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgbG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgcHJpdmF0ZSBpbmJveFNlcnZpY2U6IEluYm94U2VydmljZSxcbiAgICBwcml2YXRlIHByZXBhcmVTZXJ2aWNlOiBQcmVwYXJlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU3RhdHVzU2VydmljZTogU3lzdGVtU3RhdHVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc3RvcmFnZTogTG9jYWxTdG9yYWdlLFxuICAgIHByb3RlY3RlZCBsb2NhbDogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgZXZ0ID0+IHtcbiAgICAgIGlmIChldnQua2V5ID09PSB0aGlzLmxvZ2dlZEluQ2FjaGVLZXkpIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IEpTT04ucGFyc2UoZXZ0Lm5ld1ZhbHVlKS5ob3N0O1xuICAgICAgICB0aGlzLmluaXRVc2VyKGhvc3QpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZ2luIGEgdXNlciB1c2luZyBmb3JtIGJhc2VkIGxvZ2luLlxuICAgKiBAcGFyYW0gaG9zdCBUaGUgdGFyZ2V0IGhvc3QgKGNvdWxkIGJlIG51bGwgaWYgeW91IGFyZSBydW5uaW5nIGluIHdlYiBlbnZpcm9ubWVudClcbiAgICogQHBhcmFtIHVzZXJuYW1lIFRoZSB1c2VybmFtZVxuICAgKiBAcGFyYW0gcGFzc3dvcmQgVGhlIHBhc3N3b3JkXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggdGhlIGxvZ2dlZCBpbiB1c2VyXG4gICAqL1xuICBwdWJsaWMgbG9naW4oaG9zdDogc3RyaW5nLCB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGhvc3QgPSBob3N0IHx8ICcnO1xuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZmQuYXBwZW5kKCd1c2VybmFtZScsIGVuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSkpO1xuICAgIGZkLmFwcGVuZCgncGFzc3dvcmQnLCBlbmNvZGVVUklDb21wb25lbnQocGFzc3dvcmQpKTtcblxuICAgIGNvbnN0IGxvZ2luSGVhZGVyID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChob3N0ICsgdGhpcy5jb25maWcuZ2V0TG9naW5CYXNlKCkgKyAnL2xvZ2luJyxcbiAgICAgIGB1c2VybmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSl9JnBhc3N3b3JkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhc3N3b3JkKX1gLCB7XG4gICAgICBoZWFkZXJzOiBsb2dpbkhlYWRlcixcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzXG4gICAgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmluaXRVc2VyKGhvc3QpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9nIGluIHRvIGEgY2xvdWQgYmFja2VuZCB1c2luZyBkZXZpY2UgZmxvdy5cbiAgICogQHBhcmFtIGhvc3QgVGhlIHRhcmdldCBob3N0IChjb3VsZCBiZSBudWxsIGlmIHlvdSBhcmUgcnVubmluZyBpbiB3ZWIgZW52aXJvbm1lbnQpXG4gICAqIEBwYXJhbSB0ZW5hbnQgVGhlIHRlbmFudFxuICAgKiBAcmV0dXJucyBSZXNvbHZlcyB3aXRoIHRoZSBsb2dnZWQgaW4gdXNlclxuICAgKi9cbiAgcHVibGljIGNsb3VkTG9naW4oaG9zdDogc3RyaW5nLCB0ZW5hbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW9Vc2VyPiB7XG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKG8gPT4ge1xuICAgICAgY29uc3Qgc3RvcFRyaWdnZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgIC8vY29uc3QgdGFyZ2V0SG9zdCA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIHRoaXMubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZignL2VudGVyJykpOyAvLyBob3N0IHx8ICcnO1xuICAgICAgY29uc3QgdGFyZ2V0SG9zdCA9IGhvc3QgfHwgJyc7XG4gICAgICAvLyBzdGFydCBhdXRoIGZsb3dcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGFyZ2V0SG9zdH0vdGVuYW50LyR7dGVuYW50fS9sb2dpbkRldmljZWApLnN1YnNjcmliZSgocmVzOiBMb2dpbkRldmljZVJlc3VsdCkgPT4ge1xuXG4gICAgICAgIC8vIG9wZW4gbmV3IHdpbmRvdyBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgLi4uXG4gICAgICAgIGNvbnN0IHRhcmdldFVyaSA9IGAke3RhcmdldEhvc3R9L29hdXRoLyR7dGVuYW50fT91c2VyX2NvZGU9JHtyZXMudXNlcl9jb2RlfWA7XG4gICAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKHRhcmdldFVyaSwgJ2F1dGgnKTtcbiAgICAgICAgaWYgKHdpbikge1xuICAgICAgICAgIC8vIEBzZWU6IGh0dHA6Ly9hdGFzaGJhaGFyLmNvbS9wb3N0LzIwMTAtMDQtMjctZGV0ZWN0LXdoZW4tYS1qYXZhc2NyaXB0LXBvcHVwLXdpbmRvdy1nZXRzLWNsb3NlZFxuICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdpblRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAod2luLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwod2luVGltZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlciQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgc3RvcFRyaWdnZXIkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLi4uIGFuZCBzdGFydCBwb2xsaW5nIGZvciBhdXRoZW50aWNhdGlvbiByZXN1bHRzXG4gICAgICAgIHRoaXMuY2xvdWRMb2dpblBvbGxGb3JSZXN1bHQoYCR7dGFyZ2V0SG9zdH0vYXV0aC9pbmZvL3N0YXRlP2RldmljZV9jb2RlPSR7cmVzLmRldmljZV9jb2RlfWAsIDEwMDAsIHN0b3BUcmlnZ2VyJClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRhcCgoYWNjZXNzVG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBpZiAoYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3VkTG9naW5TZXRIZWFkZXJzKGFjY2Vzc1Rva2VuLCB0ZW5hbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0b3JlVG9rZW46IFN0b3JlZFRva2VuID0ge1xuICAgICAgICAgICAgICAgICAgdGVuYW50OiB0ZW5hbnQsXG4gICAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogYWNjZXNzVG9rZW5cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMuVE9LRU5fU1RPUkFHRV9LRVksIHN0b3JlVG9rZW4pLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoYXV0aFJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhdXRoUmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5pdFVzZXIodGFyZ2V0SG9zdCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcignbm90IGF1dGhlbnRpY2F0ZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnN1YnNjcmliZShcbiAgICAgICAgICAgICh1c2VyOiBFb1VzZXIpID0+IHtcblxuICAgICAgICAgICAgICB3aW4uY2xvc2UoKTtcbiAgICAgICAgICAgICAgby5uZXh0KHVzZXIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICB3aW4uY2xvc2UoKTtcbiAgICAgICAgICAgICAgby5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgby5lcnJvcigndW5hYmxlIHRvIGNhbGwgZGV2aWNlIGZsb3cgZW5kcG9pbnQnLCBlcnIpO1xuICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBwb2xsaW5nIGZvciBsb2dpbiByZXN1bHRzIGluIGNhc2Ugb2YgbG9nZ2luZyBpbiB0byBhIGNsb3VkIGJhY2tlbmQuXG4gICAqIEBwYXJhbSB1cmkgVVJJIHRvIHBvbGxcbiAgICogQHBhcmFtIHBvbGxpbmdJbnRlcnZhbCBQb2xsaW5nIGludGVydmFsbCBpbiBtaWxsaXNlY29uZHNcbiAgICogQHBhcmFtIHN0b3BUcmlnZ2VyIFN1YmplY3QgYWN0aW5nIGFzIHN0b3AgdHJpZ2dlclxuICAgKiBAcmV0dXJucyBBY2Nlc3MgVG9rZW4gaWYgbG9nZ2VkIGluIHN1Y2Nlc3NmdWxseSBvciBOVUxMIG90aGVyd2lzZVxuICAgKi9cbiAgcHJpdmF0ZSBjbG91ZExvZ2luUG9sbEZvclJlc3VsdCh1cmk6IHN0cmluZywgcG9sbGluZ0ludGVydmFsOiBudW1iZXIsIHN0b3BUcmlnZ2VyOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cbiAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUobyA9PiB7XG4gICAgICBsZXQgYWNjZXNzR3JhbnRlZCA9IGZhbHNlO1xuICAgICAgbGV0IGFjY2Vzc0RlbmllZCA9IGZhbHNlO1xuXG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGludGVydmFsKHBvbGxpbmdJbnRlcnZhbCkucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwoc3RvcFRyaWdnZXIpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmh0dHAuZ2V0KHVyaSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgLy8gT0F1dGggc3RhbmRhcmQgd2UgYXJlIHVzaW5nIGlzIHJldHVybmluZyB3aXRoIGEgc3RhdHVzIG9mIDQwMCB3aGlsZSBsb2dnaW5nIGluIChubyBpZGVhIHdoeT8/PylcbiAgICAgICAgICAgICAgLy8gc28gd2UgZ290IHRvIGZldGNoIHRoYXQgdG8gbm90IGJyZWFrIHRoZSBwYXJlbnQgcGlwZVxuICAgICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVPZihlcnIuZXJyb3IpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApKVxuICAgICAgICApLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIGFjY2Vzc0dyYW50ZWQgPSAhIXJlcy5hY2Nlc3NfdG9rZW47XG4gICAgICAgICAgICAgIGFjY2Vzc0RlbmllZCA9IHJlcy5lcnJvciA9PT0gJ2FjY2Vzc19kZW5pZWQnO1xuXG4gICAgICAgICAgICAgIGlmIChhY2Nlc3NHcmFudGVkIHx8IGFjY2Vzc0RlbmllZCkge1xuICAgICAgICAgICAgICAgIC8vIGxvZ2dlZCBpblxuICAgICAgICAgICAgICAgIHN0b3BUcmlnZ2VyLm5leHQoKTtcbiAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIG8ubmV4dChhY2Nlc3NHcmFudGVkID8gcmVzLmFjY2Vzc190b2tlbiA6IG51bGwpO1xuICAgICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMuZXJyb3IgPT09ICdleHBpcmVkX3Rva2VuJykge1xuICAgICAgICAgICAgICAgIC8vIGV4cGlyZWQgc28gc2tpcCBwb2xsaW5nXG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcignVG9rZW4gZXhwaXJlZCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgby5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICBvLm5leHQoYWNjZXNzR3JhbnRlZCk7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3VkTG9naW5TZXRIZWFkZXJzKGFjY2Vzc1Rva2VuOiBzdHJpbmcsIHRlbmFudDogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZW5kLnNldEhlYWRlcignQXV0aG9yaXphdGlvbicsICdiZWFyZXIgJyArIGFjY2Vzc1Rva2VuKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0SGVhZGVyKCdYLUlELVRFTkFOVC1OQU1FJywgdGVuYW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGlsZSBhcHAgaW5pdFxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpbml0VXNlcihob3N0Pzogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7aG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9hdXRoL2luZm9gLCB7aGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoaW5mbzogR2F0ZXdheUluZm8pID0+IHtcbiAgICAgICAgdGhpcy5nYXRld2F5SW5mbyA9IGluZm87XG5cbiAgICAgICAgdGhpcy5lbnZTZXJ2aWNlLmNsb3VkRW52aXJvbm1lbnQgPSAodGhpcy5nYXRld2F5SW5mbyAmJiB0aGlzLmdhdGV3YXlJbmZvLm9hdXRoMik7XG4gICAgICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAgICAgLy8gaW4gY2FzZSBvZiBydW5uaW5nIGFnYWluc3QgY2xvdWQgYmFja2VuZCwgd2UgdHJ5IHRvIGZldGNoXG4gICAgICAgICAgLy8gYWNjZXNzIHRva2VuIGFuZCB0ZW5hbnQgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMuVE9LRU5fU1RPUkFHRV9LRVkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3VkTG9naW5TZXRIZWFkZXJzKHJlcy5hY2Nlc3NUb2tlbiwgcmVzLnRlbmFudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKGluZm8sIGhvc3QpXG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZ2F0ZXdheUluZm9cbiAgICogQHBhcmFtIGhvc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGZldGNoVXNlcihnYXRld2F5SW5mbzogYW55LCBob3N0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke2hvc3QgfHwgJyd9JHt0aGlzLmNvbmZpZy5nZXRVcmkoJ3NlcnZpY2VCYXNlJyl9JHt0aGlzLnVzZXJQcm9maWxlVXJpfWAsIHtoZWFkZXJzfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgICAgICAgIGhvc3Q6IGhvc3QgfHwgJycsXG4gICAgICAgICAgICB1c2VyOiB1c2VyLnVzZXIubmFtZSxcbiAgICAgICAgICAgIGF1dGg6IG51bGwsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmFkZEhvc3RDb25maWcoaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvZ2dlZEluQ2FjaGVLZXksIEpTT04uc3RyaW5naWZ5KHt1c2VySWQ6IHVzZXIudXNlci5pZCwgaG9zdDogaG9zdH0pKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbml0QXBwKHVzZXIsIGdhdGV3YXlJbmZvLm50bG0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuYXV0aFNvdXJjZS5uZXh0KHRoaXMuaXNMb2dnZWRJbigpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGdhdGV3YXlMb2dvdXQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHBlcmZvcm0gYSBnYXRld2F5IGxvZ291dCBhcyB3ZWxsXG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KGdhdGV3YXlMb2dvdXQ/OiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmF1dGhTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zeXN0ZW1TdGF0dXNTZXJ2aWNlLnN0b3AoKTtcblxuICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgIGhvc3Q6ICcnLFxuICAgICAgdXNlcjogbnVsbCxcbiAgICAgIGF1dGg6IG51bGwsXG4gICAgICBhY3RpdmU6IGZhbHNlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAvLyByZW1vdmUgc3RvcmVkIGFjY2VzcyBkYXRhXG4gICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZKS5zdWJzY3JpYmUoKTtcbiAgICAgIGlmICh0aGlzLmNvcmVDb25maWcuZW52aXJvbm1lbnQucHJvZHVjdGlvbiAmJiBFbnZpcm9ubWVudEVuYWlvLmlzV2ViRW52aXJvbm1lbnQoKSkge1xuICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpICsgJy9sb2dvdXQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChnYXRld2F5TG9nb3V0KSB7XG4gICAgICAvLyBieSBkZWZhdWx0IHdlIGFyZSBqdXN0IHJlc2V0dGluZyBpbnRlcm5hbCBzdGF0ZSB0byAnbG9nZ2VkIG91dCcgYW5kIGluXG4gICAgICAvLyBzb21lIGNhc2VzIGNhbGwgZ2F0ZXdheXMgbG9nb3V0IGVuZHBvaW50IHRvIGRvIGxvZ291dCBzdHVmZiB0aGVyZSBzaWxlbnRseVxuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLnByb2ZpbGUuaG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9sb2dvdXRgLCB7d2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG5cbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuTE9HT1VUKTtcbiAgfVxuXG4gIGlzQ2xvdWRFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgICAvLyBvYXV0aDIgaW5kaWNhdGVzIHRoYXQgd2UgYXJlIHJ1bm5pbmcgaW4gYSBjbG91ZCBlbnZpcm9ubWVudFxuICAgIHJldHVybiB0aGlzLmdhdGV3YXlJbmZvICYmIHRoaXMuZ2F0ZXdheUluZm8ub2F1dGgyO1xuICB9XG5cbiAgLyoqXG4gICAqIGZvciBkZXNrdG9wIGFuZCBtb2JpbGUgZGV2aWNlcyB3ZSBwcm92aWRlIGEgbGlzdCBvZiBob3N0cyBmb3IgdGhlIGxvZ2luXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgaG9zdFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRIb3N0Q29uZmlnKGhvc3Q6IHN0cmluZykge1xuICAgIGNvbnN0IGV4aXN0aW5nSG9zdCA9IHRoaXMuaG9zdHMuZmluZChoID0+IGggPT09IGhvc3QpO1xuICAgIGlmICghZXhpc3RpbmdIb3N0KSB7XG4gICAgICB0aGlzLmhvc3RzLnB1c2goaG9zdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIHVzZXIgYmVpbmcgbG9nZ2VkIGluLiBUaGlzIGlzIGtpbmQgb2YgdGhlIHN5bmNocm9ub3VzIHZlcnNpb24gb2Ygc3Vic2NyaWJpbmcgdG8gYGF1dGhlbnRpY2F0ZWQkYC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGVyZSBpcyBhIGxvZ2dlZCBpbiB1c2VyLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGUudXNlciAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gdXNlclxuICAgKiBAcGFyYW0gYm9vbGVhbiBzc29cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGluaXRBcHAodXNlcjogYW55LCBzc28/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGNvbnN0IGN1cnJVc2VyID0gbmV3IEVvVXNlcih1c2VyKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5zZXRDYXBhYmlsaXRpZXModXNlci5jYXBhYmlsaXRpZXMsIHNzbyk7XG5cbiAgICB0aGlzLnN5c3RlbVN0YXR1c1NlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZy5nZXRSYXcoJ3N5c3RlbVN0YXR1c1VwZGF0ZUludGVydmFsJykpO1xuXG4gICAgLy8gdXBkYXRlIHN0YXRlc1xuICAgIGlmIChjYXBhYmlsaXRpZXMuaW5ib3gpIHtcbiAgICAgIHRoaXMuaW5ib3hTZXJ2aWNlLnJlZnJlc2hJbmJveFN0YXRlKCk7XG4gICAgfVxuICAgIGlmIChjYXBhYmlsaXRpZXMuaW50cmF5KSB7XG4gICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLnJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RvID0gW1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCksXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtRGVmaW5pdGlvbihjdXJyVXNlcilcbiAgICBdO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0b2RvKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGN1cnJVc2VyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFDM0QsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFDbEQsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFxQixXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVB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QUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDakQ7UUFFRCxNQUFNLElBQUksR0FBRztZQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUU7WUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7U0FDakQsQ0FBQztRQUVGLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNsQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQ3BCLENBQUM7SUFDSixDQUFDOzs7WUF4WEYsVUFBVTs7O1lBM0JILE1BQU07WUFvQk4sVUFBVSx1QkF5Q2IsTUFBTSxTQUFDLFdBQVc7WUE5RGYsZUFBZTtZQXVCZixrQkFBa0I7WUF4QmxCLFVBQVU7WUFnQlYsVUFBVTtZQWpCVSxNQUFNO1lBc0IxQixnQkFBZ0I7WUFWaEIsbUJBQW1CO1lBSm5CLE1BQU07WUFHTixZQUFZO1lBRFosY0FBYztZQUpkLGNBQWM7WUFEZCxhQUFhO1lBRWIsV0FBVztZQVFYLFlBQVk7WUFJWixtQkFBbUI7WUFObkIsWUFBWTtZQUNaLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luLFxuICBvZiBhcyBvYnNlcnZhYmxlT2YsIFN1YmplY3QsIHRocm93RXJyb3IsIGludGVydmFsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAsIGNhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi9jYWNoZS9hcHAtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7RW9Vc2VyfSBmcm9tICcuLi8uLi9tb2RlbC9lby11c2VyLm1vZGVsJztcbmltcG9ydCB7U3lzdGVtU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uL3VzZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyJztcbmltcG9ydCB7QXV0aFByb2ZpbGV9IGZyb20gJy4vYXV0aC1wcm9maWxlLmludGVyZmFjZSc7XG5pbXBvcnQge1ByZXBhcmVTZXJ2aWNlfSBmcm9tICcuLi9wcmVwYXJlL3ByZXBhcmUuc2VydmljZSc7XG5pbXBvcnQge0luYm94U2VydmljZX0gZnJvbSAnLi4vaW5ib3gvaW5ib3guc2VydmljZSc7XG5pbXBvcnQge0NhcGFiaWxpdGllc1NlcnZpY2V9IGZyb20gJy4uL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZX0gZnJvbSAnQG5neC1wd2EvbG9jYWwtc3RvcmFnZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4uL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0VuYWlvRXZlbnR9IGZyb20gJy4uL2V2ZW50cy9ldmVudHMnO1xuaW1wb3J0IHtCcG1TZXJ2aWNlfSBmcm9tICcuLi9icG0vYnBtLnNlcnZpY2UnO1xuaW1wb3J0IHtHYXRld2F5SW5mb30gZnJvbSAnLi9nYXRld2F5LWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7U3lzdGVtU3RhdHVzU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtLXN0YXR1cy9zeXN0ZW0tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHtFbnZpcm9ubWVudEVuYWlvfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudC5lbmFpbyc7XG5pbXBvcnQge0xvZ2luRGV2aWNlUmVzdWx0LCBTdG9yZWRUb2tlbn0gZnJvbSAnLi9hdXRoLmNsb3VkLmludGVyZmFjZSc7XG5pbXBvcnQge1BsYXRmb3JtTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NvcmVDb25maWd9IGZyb20gJy4uLy4uL2NvbmZpZy9jb3JlLWNvbmZpZyc7XG5pbXBvcnQge0NPUkVfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcvY29yZS1pbml0LnRva2Vucyc7XG5pbXBvcnQge0Vudmlyb25tZW50U2VydmljZX0gZnJvbSAnLi4vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQuc2VydmljZSc7XG5cbi8qKlxuICogYEF1dGhTZXJ2aWNlYCBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGFnYWluc3QgYW4geXV1dmlzPHN1cD4mcmVnOzwvc3VwPiBSQUQgYmFja2VuZC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcblxuICBwcml2YXRlIFRPS0VOX1NUT1JBR0VfS0VZID0gJ2VvLmF1dGguY2xvdWQuY3JlZGVudGlhbHMnO1xuICBwcml2YXRlIHVzZXJQcm9maWxlVXJpID0gdGhpcy51c2VyU2VydmljZS5VU0VSX0ZFVENIX1VSSTtcbiAgcHJpdmF0ZSBhdXRoU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgbG9nZ2VkSW5DYWNoZUtleSA9ICdlby51c2VyLmxvZ2dlZEluJztcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0byBzdWJzY3JpYmUgdG8gZm9yIGdldHRpbmcgdGhlIHN0YXRlIG9mIGJlaW5nIGF1dGhlbnRpY2F0ZWQuIFdpbGwgZW1pdCB0cnVlIHdoZW4gYSB1c2VyIGxvZ2dlZCBpbixcbiAgICogZmFsc2Ugd2hlbiB0aGUgdXNlciBsb2dnZWQgb3V0IG9yIHRoZSBnYXRld2F5cyBzZXNzaW9uIHRpbWVkIG91dC5cbiAgICovXG4gIHB1YmxpYyBhdXRoZW50aWNhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHVibGljIGhvc3RzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGdhdGV3YXlJbmZvOiBHYXRld2F5SW5mbztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHVibGljIHByb2ZpbGU6IEF1dGhQcm9maWxlID0ge1xuICAgIGhvc3Q6ICcnLFxuICAgIHVzZXI6IG51bGwsXG4gICAgYXV0aDogbnVsbCxcbiAgICBhY3RpdmU6IGZhbHNlXG4gIH07XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWcsXG4gICAgQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvcmVDb25maWc6IENvcmVDb25maWcsXG4gICAgcHJpdmF0ZSBhcHBDYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW52U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyLFxuICAgIHByaXZhdGUgaW5ib3hTZXJ2aWNlOiBJbmJveFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmVwYXJlU2VydmljZTogUHJlcGFyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVN0YXR1c1NlcnZpY2U6IFN5c3RlbVN0YXR1c1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHN0b3JhZ2U6IExvY2FsU3RvcmFnZSxcbiAgICBwcm90ZWN0ZWQgbG9jYWw6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIGV2dCA9PiB7XG4gICAgICBpZiAoZXZ0LmtleSA9PT0gdGhpcy5sb2dnZWRJbkNhY2hlS2V5KSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBKU09OLnBhcnNlKGV2dC5uZXdWYWx1ZSkuaG9zdDtcbiAgICAgICAgdGhpcy5pbml0VXNlcihob3N0KS5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dpbiBhIHVzZXIgdXNpbmcgZm9ybSBiYXNlZCBsb2dpbi5cbiAgICogQHBhcmFtIGhvc3QgVGhlIHRhcmdldCBob3N0IChjb3VsZCBiZSBudWxsIGlmIHlvdSBhcmUgcnVubmluZyBpbiB3ZWIgZW52aXJvbm1lbnQpXG4gICAqIEBwYXJhbSB1c2VybmFtZSBUaGUgdXNlcm5hbWVcbiAgICogQHBhcmFtIHBhc3N3b3JkIFRoZSBwYXNzd29yZFxuICAgKiBAcmV0dXJucyBSZXNvbHZlcyB3aXRoIHRoZSBsb2dnZWQgaW4gdXNlclxuICAgKi9cbiAgcHVibGljIGxvZ2luKGhvc3Q6IHN0cmluZywgdXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW9Vc2VyPiB7XG5cbiAgICBob3N0ID0gaG9zdCB8fCAnJztcbiAgICBjb25zdCBmZCA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZkLmFwcGVuZCgndXNlcm5hbWUnLCBlbmNvZGVVUklDb21wb25lbnQodXNlcm5hbWUpKTtcbiAgICBmZC5hcHBlbmQoJ3Bhc3N3b3JkJywgZW5jb2RlVVJJQ29tcG9uZW50KHBhc3N3b3JkKSk7XG5cbiAgICBjb25zdCBsb2dpbkhlYWRlciA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoaG9zdCArIHRoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpICsgJy9sb2dpbicsXG4gICAgICBgdXNlcm5hbWU9JHtlbmNvZGVVUklDb21wb25lbnQodXNlcm5hbWUpfSZwYXNzd29yZD0ke2VuY29kZVVSSUNvbXBvbmVudChwYXNzd29yZCl9YCwge1xuICAgICAgaGVhZGVyczogbG9naW5IZWFkZXIsXG4gICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb3JlQ29uZmlnLndpdGhDcmVkZW50aWFsc1xuICAgIH0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pbml0VXNlcihob3N0KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZyBpbiB0byBhIGNsb3VkIGJhY2tlbmQgdXNpbmcgZGV2aWNlIGZsb3cuXG4gICAqIEBwYXJhbSBob3N0IFRoZSB0YXJnZXQgaG9zdCAoY291bGQgYmUgbnVsbCBpZiB5b3UgYXJlIHJ1bm5pbmcgaW4gd2ViIGVudmlyb25tZW50KVxuICAgKiBAcGFyYW0gdGVuYW50IFRoZSB0ZW5hbnRcbiAgICogQHJldHVybnMgUmVzb2x2ZXMgd2l0aCB0aGUgbG9nZ2VkIGluIHVzZXJcbiAgICovXG4gIHB1YmxpYyBjbG91ZExvZ2luKGhvc3Q6IHN0cmluZywgdGVuYW50OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVvVXNlcj4ge1xuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZShvID0+IHtcbiAgICAgIGNvbnN0IHN0b3BUcmlnZ2VyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICAvL2NvbnN0IHRhcmdldEhvc3QgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnN1YnN0cmluZygwLCB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoJy9lbnRlcicpKTsgLy8gaG9zdCB8fCAnJztcbiAgICAgIGNvbnN0IHRhcmdldEhvc3QgPSBob3N0IHx8ICcnO1xuICAgICAgLy8gc3RhcnQgYXV0aCBmbG93XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RhcmdldEhvc3R9L3RlbmFudC8ke3RlbmFudH0vbG9naW5EZXZpY2VgKS5zdWJzY3JpYmUoKHJlczogTG9naW5EZXZpY2VSZXN1bHQpID0+IHtcblxuICAgICAgICAvLyBvcGVuIG5ldyB3aW5kb3cgZm9yIHRoZSBhdXRoZW50aWNhdGlvbiBwcm9jZXNzIC4uLlxuICAgICAgICBjb25zdCB0YXJnZXRVcmkgPSBgJHt0YXJnZXRIb3N0fS9vYXV0aC8ke3RlbmFudH0/dXNlcl9jb2RlPSR7cmVzLnVzZXJfY29kZX1gO1xuICAgICAgICBjb25zdCB3aW4gPSB3aW5kb3cub3Blbih0YXJnZXRVcmksICdhdXRoJyk7XG4gICAgICAgIGlmICh3aW4pIHtcbiAgICAgICAgICAvLyBAc2VlOiBodHRwOi8vYXRhc2hiYWhhci5jb20vcG9zdC8yMDEwLTA0LTI3LWRldGVjdC13aGVuLWEtamF2YXNjcmlwdC1wb3B1cC13aW5kb3ctZ2V0cy1jbG9zZWRcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aW5UaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHdpbi5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHdpblRpbWVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc3RvcFRyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgICAgICAgICAgIHN0b3BUcmlnZ2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC4uLiBhbmQgc3RhcnQgcG9sbGluZyBmb3IgYXV0aGVudGljYXRpb24gcmVzdWx0c1xuICAgICAgICB0aGlzLmNsb3VkTG9naW5Qb2xsRm9yUmVzdWx0KGAke3RhcmdldEhvc3R9L2F1dGgvaW5mby9zdGF0ZT9kZXZpY2VfY29kZT0ke3Jlcy5kZXZpY2VfY29kZX1gLCAxMDAwLCBzdG9wVHJpZ2dlciQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGFjY2Vzc1Rva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGFjY2Vzc1Rva2VuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG91ZExvZ2luU2V0SGVhZGVycyhhY2Nlc3NUb2tlbiwgdGVuYW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdG9yZVRva2VuOiBTdG9yZWRUb2tlbiA9IHtcbiAgICAgICAgICAgICAgICAgIHRlbmFudDogdGVuYW50LFxuICAgICAgICAgICAgICAgICAgYWNjZXNzVG9rZW46IGFjY2Vzc1Rva2VuXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZLCBzdG9yZVRva2VuKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGF1dGhSZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoYXV0aFJlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluaXRVc2VyKHRhcmdldEhvc3QpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93RXJyb3IoJ25vdCBhdXRoZW50aWNhdGVkJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAodXNlcjogRW9Vc2VyKSA9PiB7XG5cbiAgICAgICAgICAgICAgd2luLmNsb3NlKCk7XG4gICAgICAgICAgICAgIG8ubmV4dCh1c2VyKTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgd2luLmNsb3NlKCk7XG4gICAgICAgICAgICAgIG8uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgIG8uZXJyb3IoJ3VuYWJsZSB0byBjYWxsIGRldmljZSBmbG93IGVuZHBvaW50JywgZXJyKTtcbiAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgfSlcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgcG9sbGluZyBmb3IgbG9naW4gcmVzdWx0cyBpbiBjYXNlIG9mIGxvZ2dpbmcgaW4gdG8gYSBjbG91ZCBiYWNrZW5kLlxuICAgKiBAcGFyYW0gdXJpIFVSSSB0byBwb2xsXG4gICAqIEBwYXJhbSBwb2xsaW5nSW50ZXJ2YWwgUG9sbGluZyBpbnRlcnZhbGwgaW4gbWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSBzdG9wVHJpZ2dlciBTdWJqZWN0IGFjdGluZyBhcyBzdG9wIHRyaWdnZXJcbiAgICogQHJldHVybnMgQWNjZXNzIFRva2VuIGlmIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkgb3IgTlVMTCBvdGhlcndpc2VcbiAgICovXG4gIHByaXZhdGUgY2xvdWRMb2dpblBvbGxGb3JSZXN1bHQodXJpOiBzdHJpbmcsIHBvbGxpbmdJbnRlcnZhbDogbnVtYmVyLCBzdG9wVHJpZ2dlcjogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCkpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKG8gPT4ge1xuICAgICAgbGV0IGFjY2Vzc0dyYW50ZWQgPSBmYWxzZTtcbiAgICAgIGxldCBhY2Nlc3NEZW5pZWQgPSBmYWxzZTtcblxuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBpbnRlcnZhbChwb2xsaW5nSW50ZXJ2YWwpLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHN0b3BUcmlnZ2VyKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5odHRwLmdldCh1cmkpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIC8vIE9BdXRoIHN0YW5kYXJkIHdlIGFyZSB1c2luZyBpcyByZXR1cm5pbmcgd2l0aCBhIHN0YXR1cyBvZiA0MDAgd2hpbGUgbG9nZ2luZyBpbiAobm8gaWRlYSB3aHk/Pz8pXG4gICAgICAgICAgICAgIC8vIHNvIHdlIGdvdCB0byBmZXRjaCB0aGF0IHRvIG5vdCBicmVhayB0aGUgcGFyZW50IHBpcGVcbiAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YoZXJyLmVycm9yKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICBhY2Nlc3NHcmFudGVkID0gISFyZXMuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgICAgICBhY2Nlc3NEZW5pZWQgPSByZXMuZXJyb3IgPT09ICdhY2Nlc3NfZGVuaWVkJztcblxuICAgICAgICAgICAgICBpZiAoYWNjZXNzR3JhbnRlZCB8fCBhY2Nlc3NEZW5pZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBsb2dnZWQgaW5cbiAgICAgICAgICAgICAgICBzdG9wVHJpZ2dlci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgc3RvcFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICBvLm5leHQoYWNjZXNzR3JhbnRlZCA/IHJlcy5hY2Nlc3NfdG9rZW4gOiBudWxsKTtcbiAgICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzLmVycm9yID09PSAnZXhwaXJlZF90b2tlbicpIHtcbiAgICAgICAgICAgICAgICAvLyBleHBpcmVkIHNvIHNraXAgcG9sbGluZ1xuICAgICAgICAgICAgICAgIHRocm93RXJyb3IoJ1Rva2VuIGV4cGlyZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIG8uZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgby5uZXh0KGFjY2Vzc0dyYW50ZWQpO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG91ZExvZ2luU2V0SGVhZGVycyhhY2Nlc3NUb2tlbjogc3RyaW5nLCB0ZW5hbnQ6IHN0cmluZykge1xuICAgIHRoaXMuYmFja2VuZC5zZXRIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAnYmVhcmVyICcgKyBhY2Nlc3NUb2tlbik7XG4gICAgdGhpcy5iYWNrZW5kLnNldEhlYWRlcignWC1JRC1URU5BTlQtTkFNRScsIHRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBjYWxsZWQgd2hpbGUgYXBwIGluaXRcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaW5pdFVzZXIoaG9zdD86IHN0cmluZykge1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke2hvc3QgfHwgJyd9JHt0aGlzLmNvbmZpZy5nZXRMb2dpbkJhc2UoKX0vYXV0aC9pbmZvYCwge2hlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb3JlQ29uZmlnLndpdGhDcmVkZW50aWFsc30pXG4gICAgICAucGlwZShzd2l0Y2hNYXAoKGluZm86IEdhdGV3YXlJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuZ2F0ZXdheUluZm8gPSBpbmZvO1xuXG4gICAgICAgIHRoaXMuZW52U2VydmljZS5jbG91ZEVudmlyb25tZW50ID0gKHRoaXMuZ2F0ZXdheUluZm8gJiYgdGhpcy5nYXRld2F5SW5mby5vYXV0aDIpO1xuICAgICAgICBpZiAodGhpcy5pc0Nsb3VkRW52aXJvbm1lbnQoKSkge1xuICAgICAgICAgIC8vIGluIGNhc2Ugb2YgcnVubmluZyBhZ2FpbnN0IGNsb3VkIGJhY2tlbmQsIHdlIHRyeSB0byBmZXRjaFxuICAgICAgICAgIC8vIGFjY2VzcyB0b2tlbiBhbmQgdGVuYW50IGZyb20gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG91ZExvZ2luU2V0SGVhZGVycyhyZXMuYWNjZXNzVG9rZW4sIHJlcy50ZW5hbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoVXNlcihpbmZvLCBob3N0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoVXNlcihpbmZvLCBob3N0KVxuICAgICAgICB9XG4gICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGdhdGV3YXlJbmZvXG4gICAqIEBwYXJhbSBob3N0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RW9Vc2VyPlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFVzZXIoZ2F0ZXdheUluZm86IGFueSwgaG9zdD86IHN0cmluZyk6IE9ic2VydmFibGU8RW9Vc2VyPiB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChgJHtob3N0IHx8ICcnfSR7dGhpcy5jb25maWcuZ2V0VXJpKCdzZXJ2aWNlQmFzZScpfSR7dGhpcy51c2VyUHJvZmlsZVVyaX1gLCB7aGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgICAgICAgIGhvc3Q6IGhvc3QgfHwgJycsXG4gICAgICAgICAgICB1c2VyOiB1c2VyLnVzZXIubmFtZSxcbiAgICAgICAgICAgIGF1dGg6IG51bGwsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICB0aGlzLmFkZEhvc3RDb25maWcoaG9zdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvZ2dlZEluQ2FjaGVLZXksIEpTT04uc3RyaW5naWZ5KHt1c2VySWQ6IHVzZXIudXNlci5pZCwgaG9zdDogaG9zdH0pKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbml0QXBwKHVzZXIsIGdhdGV3YXlJbmZvLm50bG0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuYXV0aFNvdXJjZS5uZXh0KHRoaXMuaXNMb2dnZWRJbigpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGdhdGV3YXlMb2dvdXQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHBlcmZvcm0gYSBnYXRld2F5IGxvZ291dCBhcyB3ZWxsXG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KGdhdGV3YXlMb2dvdXQ/OiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmF1dGhTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zeXN0ZW1TdGF0dXNTZXJ2aWNlLnN0b3AoKTtcblxuICAgIHRoaXMucHJvZmlsZSA9IHtcbiAgICAgIGhvc3Q6ICcnLFxuICAgICAgdXNlcjogbnVsbCxcbiAgICAgIGF1dGg6IG51bGwsXG4gICAgICBhY3RpdmU6IGZhbHNlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmlzQ2xvdWRFbnZpcm9ubWVudCgpKSB7XG4gICAgICAvLyByZW1vdmUgc3RvcmVkIGFjY2VzcyBkYXRhXG4gICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlRPS0VOX1NUT1JBR0VfS0VZKS5zdWJzY3JpYmUoKTtcbiAgICAgIGlmICh0aGlzLmNvcmVDb25maWcuZW52aXJvbm1lbnQucHJvZHVjdGlvbiAmJiBFbnZpcm9ubWVudEVuYWlvLmlzV2ViRW52aXJvbm1lbnQoKSkge1xuICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpICsgJy9sb2dvdXQnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChnYXRld2F5TG9nb3V0KSB7XG4gICAgICAvLyBieSBkZWZhdWx0IHdlIGFyZSBqdXN0IHJlc2V0dGluZyBpbnRlcm5hbCBzdGF0ZSB0byAnbG9nZ2VkIG91dCcgYW5kIGluXG4gICAgICAvLyBzb21lIGNhc2VzIGNhbGwgZ2F0ZXdheXMgbG9nb3V0IGVuZHBvaW50IHRvIGRvIGxvZ291dCBzdHVmZiB0aGVyZSBzaWxlbnRseVxuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLnByb2ZpbGUuaG9zdCB8fCAnJ30ke3RoaXMuY29uZmlnLmdldExvZ2luQmFzZSgpfS9sb2dvdXRgLCB7d2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG5cbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuTE9HT1VUKTtcbiAgfVxuXG4gIGlzQ2xvdWRFbnZpcm9ubWVudCgpOiBib29sZWFuIHtcbiAgICAvLyBvYXV0aDIgaW5kaWNhdGVzIHRoYXQgd2UgYXJlIHJ1bm5pbmcgaW4gYSBjbG91ZCBlbnZpcm9ubWVudFxuICAgIHJldHVybiB0aGlzLmdhdGV3YXlJbmZvICYmIHRoaXMuZ2F0ZXdheUluZm8ub2F1dGgyO1xuICB9XG5cbiAgLyoqXG4gICAqIGZvciBkZXNrdG9wIGFuZCBtb2JpbGUgZGV2aWNlcyB3ZSBwcm92aWRlIGEgbGlzdCBvZiBob3N0cyBmb3IgdGhlIGxvZ2luXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgaG9zdFxuICAgKi9cbiAgcHJpdmF0ZSBhZGRIb3N0Q29uZmlnKGhvc3Q6IHN0cmluZykge1xuICAgIGNvbnN0IGV4aXN0aW5nSG9zdCA9IHRoaXMuaG9zdHMuZmluZChoID0+IGggPT09IGhvc3QpO1xuICAgIGlmICghZXhpc3RpbmdIb3N0KSB7XG4gICAgICB0aGlzLmhvc3RzLnB1c2goaG9zdCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIHVzZXIgYmVpbmcgbG9nZ2VkIGluLiBUaGlzIGlzIGtpbmQgb2YgdGhlIHN5bmNocm9ub3VzIHZlcnNpb24gb2Ygc3Vic2NyaWJpbmcgdG8gYGF1dGhlbnRpY2F0ZWQkYC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGVyZSBpcyBhIGxvZ2dlZCBpbiB1c2VyLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGUudXNlciAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gdXNlclxuICAgKiBAcGFyYW0gYm9vbGVhbiBzc29cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxFb1VzZXI+XG4gICAqL1xuICBwcml2YXRlIGluaXRBcHAodXNlcjogYW55LCBzc28/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxFb1VzZXI+IHtcblxuICAgIGNvbnN0IGN1cnJVc2VyID0gbmV3IEVvVXNlcih1c2VyKTtcbiAgICB0aGlzLmJhY2tlbmQuc2V0QXV0aFByb2ZpbGUodGhpcy5wcm9maWxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEN1cnJlbnRVc2VyKHVzZXIpO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5zZXRDYXBhYmlsaXRpZXModXNlci5jYXBhYmlsaXRpZXMsIHNzbyk7XG5cbiAgICB0aGlzLnN5c3RlbVN0YXR1c1NlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZy5nZXRSYXcoJ3N5c3RlbVN0YXR1c1VwZGF0ZUludGVydmFsJykpO1xuXG4gICAgLy8gdXBkYXRlIHN0YXRlc1xuICAgIGlmIChjYXBhYmlsaXRpZXMuaW5ib3gpIHtcbiAgICAgIHRoaXMuaW5ib3hTZXJ2aWNlLnJlZnJlc2hJbmJveFN0YXRlKCk7XG4gICAgfVxuICAgIGlmIChjYXBhYmlsaXRpZXMuaW50cmF5KSB7XG4gICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLnJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RvID0gW1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCksXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtRGVmaW5pdGlvbihjdXJyVXNlcilcbiAgICBdO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0b2RvKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGN1cnJVc2VyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3911,7 +3911,7 @@ class AuthService {
|
|
|
3911
3911
|
'Content-Type': 'application/json'
|
|
3912
3912
|
});
|
|
3913
3913
|
return this.http
|
|
3914
|
-
.get(`${host || ''}${this.config.getUri('serviceBase')}${this.userProfileUri}`, { headers })
|
|
3914
|
+
.get(`${host || ''}${this.config.getUri('serviceBase')}${this.userProfileUri}`, { headers, withCredentials: this.coreConfig.withCredentials })
|
|
3915
3915
|
.pipe(switchMap((user) => {
|
|
3916
3916
|
this.profile = {
|
|
3917
3917
|
host: host || '',
|