@netgrif/components-core 6.2.2 → 6.3.0-rc.1

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.
Files changed (56) hide show
  1. package/esm2020/assets/i18n/de.json +17 -0
  2. package/esm2020/assets/i18n/en.json +17 -0
  3. package/esm2020/assets/i18n/sk.json +17 -0
  4. package/esm2020/lib/authentication/models/user.transformer.mjs +2 -2
  5. package/esm2020/lib/authentication/public-api.mjs +3 -1
  6. package/esm2020/lib/authorization/permission/permission.service.mjs +2 -2
  7. package/esm2020/lib/filter/filter.repository.mjs +7 -1
  8. package/esm2020/lib/impersonation/models/user-impersonate-config-metadata.mjs +2 -0
  9. package/esm2020/lib/impersonation/models/user-impersonation-constants.mjs +11 -0
  10. package/esm2020/lib/impersonation/public-api.mjs +9 -0
  11. package/esm2020/lib/impersonation/services/impersonation-user-list.service.mjs +19 -0
  12. package/esm2020/lib/impersonation/services/impersonation-user-resource.service.mjs +25 -0
  13. package/esm2020/lib/impersonation/services/impersonation-user-select.service.mjs +85 -0
  14. package/esm2020/lib/impersonation/services/impersonation.service.mjs +90 -0
  15. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +19 -6
  16. package/esm2020/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.mjs +2 -2
  17. package/esm2020/lib/navigation/quick-panel/components/abstract-quick-panel.component.mjs +1 -1
  18. package/esm2020/lib/resources/interface/user-resource.mjs +1 -1
  19. package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +3 -1
  20. package/esm2020/lib/side-menu/content-components/public-api.mjs +3 -1
  21. package/esm2020/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.mjs +37 -0
  22. package/esm2020/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.mjs +2 -0
  23. package/esm2020/lib/side-menu/models/side-menu-size.mjs +2 -1
  24. package/esm2020/lib/user/models/user.mjs +15 -2
  25. package/esm2020/lib/user/services/user-comparator.service.mjs +4 -3
  26. package/esm2020/lib/user/services/user.service.mjs +17 -12
  27. package/esm2020/lib/utility/tests/test-config.mjs +6 -1
  28. package/esm2020/public-api.mjs +2 -1
  29. package/fesm2015/netgrif-components-core.mjs +353 -25
  30. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  31. package/fesm2020/netgrif-components-core.mjs +349 -25
  32. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  33. package/lib/authentication/public-api.d.ts +2 -0
  34. package/lib/filter/filter.repository.d.ts +4 -0
  35. package/lib/impersonation/models/user-impersonate-config-metadata.d.ts +3 -0
  36. package/lib/impersonation/models/user-impersonation-constants.d.ts +9 -0
  37. package/lib/impersonation/public-api.d.ts +6 -0
  38. package/lib/impersonation/services/impersonation-user-list.service.d.ts +12 -0
  39. package/lib/impersonation/services/impersonation-user-resource.service.d.ts +17 -0
  40. package/lib/impersonation/services/impersonation-user-select.service.d.ts +25 -0
  41. package/lib/impersonation/services/impersonation.service.d.ts +37 -0
  42. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +9 -2
  43. package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +1 -1
  44. package/lib/resources/interface/user-resource.d.ts +1 -0
  45. package/lib/side-menu/content-components/injection-tokens.d.ts +2 -0
  46. package/lib/side-menu/content-components/public-api.d.ts +2 -0
  47. package/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.d.ts +14 -0
  48. package/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.d.ts +8 -0
  49. package/lib/side-menu/models/side-menu-size.d.ts +2 -1
  50. package/lib/user/models/user.d.ts +10 -1
  51. package/lib/user/services/user-comparator.service.d.ts +1 -1
  52. package/package.json +1 -1
  53. package/public-api.d.ts +1 -0
  54. package/src/assets/i18n/de.json +17 -0
  55. package/src/assets/i18n/en.json +17 -0
  56. package/src/assets/i18n/sk.json +17 -0
@@ -12,7 +12,9 @@ import * as i5 from "../../authorization/permission/access.service";
12
12
  import * as i6 from "../../logger/services/logger.service";
13
13
  import * as i7 from "../../configuration/configuration.service";
14
14
  import * as i8 from "../service/uri.service";
15
- import * as i9 from "../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service";
15
+ import * as i9 from "../../impersonation/services/impersonation-user-select.service";
16
+ import * as i10 from "../../impersonation/services/impersonation.service";
17
+ import * as i11 from "../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service";
16
18
  export const FILTER_IDENTIFIERS = [
17
19
  "preference_filter_item"
18
20
  ];
@@ -22,7 +24,7 @@ const RIGHT_DRAWER_DEFAULT_WIDTH = 240;
22
24
  const RIGHT_DRAWER_DEFAULT_MIN_WIDTH = 180;
23
25
  const RIGHT_DRAWER_MAX_WIDTH = 460;
24
26
  export class AbstractNavigationDoubleDrawerComponent {
25
- constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRoutingService) {
27
+ constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _impersonationUserSelect, _impersonation, _dynamicRoutingService) {
26
28
  this._router = _router;
27
29
  this._activatedRoute = _activatedRoute;
28
30
  this._breakpoint = _breakpoint;
@@ -32,6 +34,8 @@ export class AbstractNavigationDoubleDrawerComponent {
32
34
  this._log = _log;
33
35
  this._config = _config;
34
36
  this._uriService = _uriService;
37
+ this._impersonationUserSelect = _impersonationUserSelect;
38
+ this._impersonation = _impersonation;
35
39
  this._dynamicRoutingService = _dynamicRoutingService;
36
40
  this.imageRouterLink = "/";
37
41
  this.imageAlt = "Logo";
@@ -39,6 +43,7 @@ export class AbstractNavigationDoubleDrawerComponent {
39
43
  this.includeUser = true;
40
44
  this.includeLanguage = true;
41
45
  this.includeMoreMenu = true;
46
+ this.includeImpersonation = true;
42
47
  this.allClosable = true;
43
48
  this.folderIcon = "folder";
44
49
  this.openedFolderIcon = "folder_open";
@@ -196,6 +201,12 @@ export class AbstractNavigationDoubleDrawerComponent {
196
201
  }
197
202
  });
198
203
  }
204
+ impersonate() {
205
+ this._impersonationUserSelect.selectImpersonate();
206
+ }
207
+ stopImpersonating() {
208
+ this._impersonation.cease();
209
+ }
199
210
  get user() {
200
211
  return this._userService.user;
201
212
  }
@@ -347,15 +358,15 @@ export class AbstractNavigationDoubleDrawerComponent {
347
358
  // this.contentWidth.next(this.width);
348
359
  }
349
360
  }
350
- AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i4.UserService }, { token: i5.AccessService }, { token: i6.LoggerService }, { token: i7.ConfigurationService }, { token: i8.UriService }, { token: i9.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
351
- AbstractNavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, ngImport: i0, template: '', isInline: true });
361
+ AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BreakpointObserver }, { token: i3.LanguageService }, { token: i4.UserService }, { token: i5.AccessService }, { token: i6.LoggerService }, { token: i7.ConfigurationService }, { token: i8.UriService }, { token: i9.ImpersonationUserSelectService }, { token: i10.ImpersonationService }, { token: i11.DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
362
+ AbstractNavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", includeImpersonation: "includeImpersonation", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, ngImport: i0, template: '', isInline: true });
352
363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, decorators: [{
353
364
  type: Component,
354
365
  args: [{
355
366
  selector: 'ncc-abstract-navigation-double-drawer',
356
367
  template: '',
357
368
  }]
358
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i4.UserService }, { type: i5.AccessService }, { type: i6.LoggerService }, { type: i7.ConfigurationService }, { type: i8.UriService }, { type: i9.DynamicNavigationRouteProviderService }]; }, propDecorators: { portalLeftMenu: [{
369
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BreakpointObserver }, { type: i3.LanguageService }, { type: i4.UserService }, { type: i5.AccessService }, { type: i6.LoggerService }, { type: i7.ConfigurationService }, { type: i8.UriService }, { type: i9.ImpersonationUserSelectService }, { type: i10.ImpersonationService }, { type: i11.DynamicNavigationRouteProviderService }]; }, propDecorators: { portalLeftMenu: [{
359
370
  type: Input
360
371
  }], portalRightMenu: [{
361
372
  type: Input
@@ -373,6 +384,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
373
384
  type: Input
374
385
  }], includeMoreMenu: [{
375
386
  type: Input
387
+ }], includeImpersonation: [{
388
+ type: Input
376
389
  }], allClosable: [{
377
390
  type: Input
378
391
  }], folderIcon: [{
@@ -386,4 +399,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
386
399
  }], viewsCategoryName: [{
387
400
  type: Input
388
401
  }] } });
389
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxRQUFRLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFXcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSzdELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7OztBQWVyRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5Qix3QkFBd0I7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQztBQUVyRCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztBQUN2QyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQztBQUMzQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQU1uQyxNQUFNLE9BQWdCLHVDQUF1QztJQWtFekQsWUFBZ0MsT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QixFQUM3QixJQUFtQixFQUNuQixPQUE2QixFQUM3QixXQUF1QixFQUN2QixzQkFBNkQ7UUFUN0QsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLG9CQUFlLEdB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UyxDQUFDLEtBQUssQ0FBQztTQUN2RDtRQUNELHlEQUF5RDtRQUN6RCxvRUFBb0U7UUFDcEUsc0NBQXNDO0lBQzFDLENBQUM7O3FJQTVYaUIsdUNBQXVDO3lIQUF2Qyx1Q0FBdUMsK2pCQUYvQyxFQUFFOzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxRQUFRLEVBQUUsRUFBRTtpQkFDZjsyWEFHWSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1VyaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdXJpLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5pbXBvcnQge01hdERyYXdlck1vZGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2XCI7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tIFwiYW5ndWxhci1yZXNpemFibGUtZWxlbWVudFwiO1xuaW1wb3J0IHtVc2VyfSBmcm9tIFwiLi4vLi4vdXNlci9tb2RlbHMvdXNlclwiO1xuaW1wb3J0IHtSb2xlQWNjZXNzLCBWaWV3fSBmcm9tIFwiLi4vLi4vLi4vY29tbW9ucy9zY2hlbWFcIjtcbmltcG9ydCB7TkFFX1JPVVRJTkdfQ09ORklHVVJBVElPTl9QQVRIfSBmcm9tIFwiLi4vLi4vcm91dGluZy9yb3V0aW5nLWJ1aWxkZXIvcm91dGluZy1idWlsZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7QWNjZXNzU2VydmljZX0gZnJvbSBcIi4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9hY2Nlc3Muc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0RvdWJsZU1lbnUge1xuICAgIG1vZGU6IE1hdERyYXdlck1vZGU7XG4gICAgb3BlbmVkOiBib29sZWFuO1xuICAgIGRpc2FibGVDbG9zZTogYm9vbGVhbjtcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFZpZXcge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgcmVzb3VyY2U/OiBDYXNlXG59XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfSURFTlRJRklFUlMgPSBbXG4gICAgXCJwcmVmZXJlbmNlX2ZpbHRlcl9pdGVtXCJcbl07XG5leHBvcnQgY29uc3QgRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEID0gJ3ZpZXcnO1xuXG5jb25zdCBMRUZUX0RSQVdFUl9ERUZBVUxUX1dJRFRIID0gNjA7XG5jb25zdCBSSUdIVF9EUkFXRVJfREVGQVVMVF9XSURUSCA9IDI0MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSCA9IDE4MDtcbmNvbnN0IFJJR0hUX0RSQVdFUl9NQVhfV0lEVEggPSA0NjA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlcicsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25Eb3VibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBwb3J0YWxMZWZ0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBwb3J0YWxSaWdodE1lbnU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgaW1hZ2VSb3V0ZXJMaW5rOiBzdHJpbmcgPSBcIi9cIjtcbiAgICBASW5wdXQoKSBpbWFnZUFsdDogc3RyaW5nID0gXCJMb2dvXCI7XG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcm9maWxlUm91dGVyTGluazogc3RyaW5nID0gXCIvcHJvZmlsZVwiO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVVc2VyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlTGFuZ3VhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVNb3JlTWVudTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsQ2xvc2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZvbGRlckljb246IHN0cmluZyA9IFwiZm9sZGVyXCI7XG4gICAgQElucHV0KCkgb3BlbmVkRm9sZGVySWNvbjogc3RyaW5nID0gXCJmb2xkZXJfb3BlblwiO1xuICAgIEBJbnB1dCgpIGZpbHRlckljb246IHN0cmluZyA9IFwiZmlsdGVyX2FsdFwiO1xuICAgIEBJbnB1dCgpIGZvbGRlcnNDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUuZm9sZGVycyc7XG4gICAgQElucHV0KCkgdmlld3NDYXRlZ29yeU5hbWU6IHN0cmluZyA9ICd0b29sYmFyLm1lbnUudmlld3MnO1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIGxlZnQgc2lkZVxuICAgICAqICovXG4gICAgbGVmdE5vZGVzOiBBcnJheTxVcmlOb2RlUmVzb3VyY2U+O1xuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZm9sZGVyIG5vZGVzIG9uIHJpZ2h0IHNpZGVcbiAgICAgKiAqL1xuICAgIHJpZ2h0Tm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT47XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhhdCBjYW4gYmUgZGlzcGxheWVkIHVuZGVyIGZvbGRlcnMgb24gcmlnaHQgc2lkZSBtZW51XG4gICAgICogKi9cbiAgICB2aWV3czogQXJyYXk8Vmlld05hdmlnYXRpb25JdGVtPjtcblxuICAgIG1vcmVNZW51SXRlbXM6IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT47XG5cbiAgICBwcm90ZWN0ZWQgX2xlZnROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcmlnaHROb2Rlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfZmlsdGVyc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfcm9vdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfY3VycmVudE5vZGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnRseSBkaXNwbGF5IHVyaVxuICAgICAqIFNpYmxpbmdzIG9mIHRoZSBub2RlIGFyZSBvbiB0aGUgbGVmdCwgY2hpbGRyZW4gYXJlIG9uIHRoZSByaWdodFxuICAgICAqL1xuICAgIGN1cnJlbnROb2RlOiBVcmlOb2RlUmVzb3VyY2VcblxuICAgIGxlZnRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcmlnaHRMb2FkaW5nJDogTG9hZGluZ0VtaXR0ZXI7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0xlZnRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IExFRlRfRFJBV0VSX0RFRkFVTFRfV0lEVEhcbiAgICB9O1xuICAgIHByb3RlY3RlZCBfY29uZmlnUmlnaHRNZW51OiBDb25maWdEb3VibGVNZW51ID0ge1xuICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgd2lkdGg6IFJJR0hUX0RSQVdFUl9ERUZBVUxUX1dJRFRIXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBfY2hpbGRDdXN0b21WaWV3czogeyBbdXJpOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IFZpZXdOYXZpZ2F0aW9uSXRlbSB9IH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9icmVha3BvaW50OiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2FjY2Vzc1NlcnZpY2U6IEFjY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXJpU2VydmljZTogVXJpU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUm91dGluZ1NlcnZpY2U6IER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSBuZXcgQXJyYXk8VXJpTm9kZVJlc291cmNlPigpO1xuICAgICAgICB0aGlzLnZpZXdzID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX2NoaWxkQ3VzdG9tVmlld3MgPSB7fTtcbiAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zID0gbmV3IEFycmF5PFZpZXdOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuX2JyZWFrcG9pbnQub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY3VycmVudE5vZGVTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUkLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xuICAgICAgICAgICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGhpcy5sZWZ0TG9hZGluZyQuaXNBY3RpdmUgfHwgdGhpcy5yaWdodExvYWRpbmckLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMubGVmdE5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZExlZnRTaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmxvYWRSaWdodFNpZGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgdmlld0NvbmZpZ3VyYXRpb25QYXRoID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtOQUVfUk9VVElOR19DT05GSUdVUkFUSU9OX1BBVEhdO1xuICAgICAgICBpZiAoISF2aWV3Q29uZmlndXJhdGlvblBhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb25maWd1cmF0aW9uID0gdGhpcy5fY29uZmlnLmdldFZpZXdCeVBhdGgodmlld0NvbmZpZ3VyYXRpb25QYXRoKTtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZpZXdDb25maWd1cmF0aW9uLmNoaWxkcmVuKS5mb3JFYWNoKChba2V5LCBjaGlsZFZpZXddKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlSGlkZGVuTWVudUl0ZW1Gcm9tQ2hpbGRWaWV3cyh2aWV3Q29uZmlndXJhdGlvblBhdGggKyAnLycgKyBrZXksIGNoaWxkVmlldyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlVXJpRm9yQ2hpbGRWaWV3cyhjb25maWdQYXRoOiBzdHJpbmcsIGNoaWxkVmlldzogVmlldyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNoaWxkVmlldy5wcm9jZXNzVXJpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5fYWNjZXNzU2VydmljZS5jYW5BY2Nlc3NWaWV3KGNoaWxkVmlldywgY29uZmlnUGF0aCkpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXSkge1xuICAgICAgICAgICAgdGhpcy5fY2hpbGRDdXN0b21WaWV3c1tjaGlsZFZpZXcucHJvY2Vzc1VyaV0gPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW2NoaWxkVmlldy5wcm9jZXNzVXJpXVtjb25maWdQYXRoXSA9IHtcbiAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgLi4uY2hpbGRWaWV3XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUhpZGRlbk1lbnVJdGVtRnJvbUNoaWxkVmlld3MoY29uZmlnUGF0aDogc3RyaW5nLCBjaGlsZFZpZXc6IFZpZXcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjaGlsZFZpZXcubmF2aWdhdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhjaGlsZFZpZXcsIGNvbmZpZ1BhdGgpKSByZXR1cm47XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKCEhKGNoaWxkVmlldz8ubmF2aWdhdGlvbj8uaGlkZGVuKSkge1xuICAgICAgICAgICAgdGhpcy5tb3JlTWVudUl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBjb25maWdQYXRoLFxuICAgICAgICAgICAgICAgIC4uLmNoaWxkVmlld1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fbGVmdE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yaWdodE5vZGVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yb290U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jdXJyZW50Tm9kZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ0xlZnRNZW51KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnTGVmdE1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ1JpZ2h0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudTtcbiAgICB9XG5cbiAgICB0b2dnbGVNZW51KCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVJpZ2h0TWVudSgpO1xuICAgICAgICBpZiAodGhpcy5hbGxDbG9zYWJsZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVMZWZ0TWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlTGVmdE1lbnUoKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ0xlZnRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgdG9nZ2xlUmlnaHRNZW51KCkge1xuICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUub3BlbmVkID0gIXRoaXMuX2NvbmZpZ1JpZ2h0TWVudS5vcGVuZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVMYXlvdXQoaXNMYXJnZVNjcmVlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWdMZWZ0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnTGVmdE1lbnUud2lkdGhcbiAgICAgICAgfSA6IHtcbiAgICAgICAgICAgIG1vZGU6ICdvdmVyJyxcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudSA9IGlzTGFyZ2VTY3JlZW4gPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLl9jb25maWdSaWdodE1lbnUud2lkdGhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRMYW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91c2VyU2VydmljZS5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdVc2VyIGlzIGxvZ2dlZCBvdXQnKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMgJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGggJiYgdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGgubG9nb3V0UmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFBhdGggPSB0aGlzLl9jb25maWcuZ2V0KCkuc2VydmljZXMuYXV0aC5sb2dvdXRSZWRpcmVjdDtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnUmVkaXJlY3RpbmcgdG8gJyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFBhdGhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHVzZXIoKTogVXNlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VydmljZS51c2VyO1xuICAgIH1cblxuICAgIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VyaVNlcnZpY2UucGFyZW50Tm9kZUxvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgb25Ib21lQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBiYWNrIGNsaWNrLCB0aGUgcGFyZW50IGlzIHNldCB0byBwYXJlbnQgb2YgbGVmdCBub2RlcywgdGhhdCB3aWxsIHNvbHZlXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgbWVudSAoZWxlbWVudHMgdGhhdCB3ZXJlIGluIGxlZnQgc2lkZSwgYWZ0ZXIgYmFja3dhcmRcbiAgICAgKiBuYXZpZ2F0aW9uIHdpbGwgYmUgb24gdGhlIHJpZ2h0IHNpZGUpLlxuICAgICAqIEN1cnJlbnQgbGV2ZWwgaXMgc2V0IHRvIGEgbG93ZXIgbnVtYmVyIGluIG9yZGVyIHRvIHNldCB0aGUgbGVmdCBzaWRlIG1lbnUuXG4gICAgICogKi9cbiAgICBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KHRoaXMuY3VycmVudE5vZGUpKSByZXR1cm47XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IHRoaXMuY3VycmVudE5vZGUucGFyZW50O1xuICAgIH1cblxuICAgIG9uTm9kZUNsaWNrKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUgPSBub2RlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTGVmdFNpZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl91cmlTZXJ2aWNlLmlzUm9vdCh0aGlzLmN1cnJlbnROb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9sZWZ0Tm9kZXNTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmdldFNpYmxpbmdzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUpLnN1YnNjcmliZShub2RlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IG5vZGVzIGluc3RhbmNlb2YgQXJyYXkgPyBub2RlcyA6IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMuc29ydCgoYSwgYikgPT4gdGhpcy5jb21wYXJlU3RyaW5ncyhhLm5hbWUsIGIubmFtZSkpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkUmlnaHRTaWRlKCkge1xuICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub24oKVxuICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICBmb2xkZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENoaWxkTm9kZXModGhpcy5jdXJyZW50Tm9kZSksXG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENhc2VzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUsIEZJTFRFUl9JREVOVElGSUVSUylcbiAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSByZXN1bHQuZm9sZGVycyBpbnN0YW5jZW9mIEFycmF5ID8gcmVzdWx0LmZvbGRlcnMgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmlnaHROb2Rlcy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGEubmFtZSwgYi5uYW1lKSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gKHJlc3VsdC5maWx0ZXJzIGluc3RhbmNlb2YgQXJyYXkgPyByZXN1bHQuZmlsdGVycyA6IFtdKS5tYXAoZiA9PiB0aGlzLnJlc29sdmVGaWx0ZXJDYXNlVG9WaWV3TmF2aWdhdGlvbkl0ZW0oZikpLmZpbHRlcihpID0+ICEhaSk7XG4gICAgICAgICAgICBpZiAoISF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyh0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy52aWV3cy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGE/Lm5hdmlnYXRpb24/LnRpdGxlLCBiPy5uYXZpZ2F0aW9uPy50aXRsZSkpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5yaWdodE5vZGVzID0gW107XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gW107XG4gICAgICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmlsdGVyQ2FzZVRvVmlld05hdmlnYXRpb25JdGVtKGZpbHRlcjogQ2FzZSk6IFZpZXdOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IFZpZXdOYXZpZ2F0aW9uSXRlbSA9IHtcbiAgICAgICAgICAgIGFjY2Vzczoge30sXG4gICAgICAgICAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgaWNvbjogZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09ICdpY29uX25hbWUnKT8udmFsdWUgfHwgdGhpcy5maWx0ZXJJY29uLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBmaWx0ZXIuaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gJ2VudHJ5X25hbWUnKT8udmFsdWU/LmRlZmF1bHRWYWx1ZSB8fCBmaWx0ZXIudGl0bGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByb3V0aW5nOiB7XG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5nZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaWQ6IGZpbHRlci5zdHJpbmdJZCxcbiAgICAgICAgICAgIHJlc291cmNlOiBmaWx0ZXJcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2FsbG93ZWRfcm9sZXMnKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRCYW5uZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2Jhbm5lZF9yb2xlcycpO1xuICAgICAgICBpZighIXJlc29sdmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydyb2xlJ10gPSByZXNvbHZlZFJvbGVzO1xuICAgICAgICBpZighIXJlc29sdmVkQmFubmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydiYW5uZWRSb2xlJ10gPSByZXNvbHZlZEJhbm5lZFJvbGVzO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhpdGVtLCBpdGVtLnJvdXRpbmdQYXRoKSkgcmV0dXJuO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlcjogQ2FzZSwgcm9sZVR5cGU6IHN0cmluZyk6IEFycmF5PFJvbGVBY2Nlc3M+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZFJvbGVzID0gZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09IHJvbGVUeXBlKT8ub3B0aW9ucztcbiAgICAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgT2JqZWN0LmtleXMoYWxsb3dlZFJvbGVzKS5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJvbGVzID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRSb2xlcykuZm9yRWFjaChjb21iaW5lZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGNvbWJpbmVkLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICByb2xlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHBhcnRzWzFdLFxuICAgICAgICAgICAgICAgIHJvbGVJZDogcGFydHNbMF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJvbGVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXJDYXNlOiBDYXNlKSB7XG4gICAgICAgIGNvbnN0IHZpZXdUYXNrSWQgPSBmaWx0ZXJDYXNlLnRhc2tzLmZpbmQodGFza1BhaXIgPT4gdGFza1BhaXIudHJhbnNpdGlvbiA9PT0gRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEKS50YXNrO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLl9keW5hbWljUm91dGluZ1NlcnZpY2Uucm91dGU7XG4gICAgICAgIHJldHVybiBgLyR7dXJsfS8ke3ZpZXdUYXNrSWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGFyZVN0cmluZ3MoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBpZiAoIWEgJiYgIWIpIHJldHVybiAwO1xuICAgICAgICBpZiAoYSA8IGIpIHJldHVybiAtMTtcbiAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB0aGUgYmFjayBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqIEByZXR1cm5zIGJvb2xlYW4gaWYgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiAqL1xuICAgIGlzT25aZXJvTGV2ZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3VycmVudE5vZGU/LmxldmVsID8gdGhpcy5jdXJyZW50Tm9kZS5sZXZlbCA9PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBpc0xlZnROb2Rlc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWZ0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmxlZnROb2Rlcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNSaWdodE5vZGVzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJpZ2h0Tm9kZXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzVmlld3NFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3MgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZpZXdzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICB1cmlOb2RlVHJhY2tCeShpbmRleDogbnVtYmVyLCBub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuaWQ7XG4gICAgfVxuXG4gICAgdmlld3NUcmFja0J5KGluZGV4OiBudW1iZXIsIHZpZXc6IFZpZXdOYXZpZ2F0aW9uSXRlbSkge1xuICAgICAgICByZXR1cm4gdmlldy5pZDtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUV2ZW50KGV2ZW50OiBSZXNpemVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoID4gUklHSFRfRFJBV0VSX01BWF9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX01BWF9XSURUSDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPCBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IGV2ZW50LnJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGltcGxlbWVudCBzYXZpbmcgZHJhd2VyIHdpZHRoIHRvIHVzZXIgcHJlZmVyZW5jZXNcbiAgICAgICAgLy8gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgLy8gdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG5cbn1cbiJdfQ==
402
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZG91YmxlLWRyYXdlci9hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxRQUFRLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFXcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSzdELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBaUJyRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5Qix3QkFBd0I7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQztBQUVyRCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztBQUN2QyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQztBQUMzQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQU1uQyxNQUFNLE9BQWdCLHVDQUF1QztJQW1FekQsWUFBZ0MsT0FBZSxFQUNmLGVBQStCLEVBQy9CLFdBQStCLEVBQy9CLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QixFQUM3QixJQUFtQixFQUNuQixPQUE2QixFQUM3QixXQUF1QixFQUN2Qix3QkFBd0QsRUFDeEQsY0FBb0MsRUFDcEMsc0JBQTZEO1FBWDdELFlBQU8s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QUFDLEtBQUssR0FBRyxzQkFBc0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDO1NBQ3hEO2FBQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyw4QkFBOEIsRUFBRTtZQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLDhCQUE4QixDQUFDO1NBQ2hFO2FBQU07WUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3ZEO1FBQ0QseURBQXlEO1FBQ3pELG9FQUFvRTtRQUNwRSxzQ0FBc0M7SUFDMUMsQ0FBQzs7cUlBdllpQix1Q0FBdUM7eUhBQXZDLHVDQUF1Qyw2bUJBRi9DLEVBQUU7NEZBRU0sdUNBQXVDO2tCQUo1RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFFBQVEsRUFBRSxFQUFFO2lCQUNmOzZjQUdZLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1VyaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvdXJpLnNlcnZpY2UnO1xuaW1wb3J0IHtVcmlOb2RlUmVzb3VyY2V9IGZyb20gJy4uL21vZGVsL3VyaS1yZXNvdXJjZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSBcIi4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyXCI7XG5pbXBvcnQge01hdERyYXdlck1vZGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2XCI7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tIFwiYW5ndWxhci1yZXNpemFibGUtZWxlbWVudFwiO1xuaW1wb3J0IHtVc2VyfSBmcm9tIFwiLi4vLi4vdXNlci9tb2RlbHMvdXNlclwiO1xuaW1wb3J0IHtSb2xlQWNjZXNzLCBWaWV3fSBmcm9tIFwiLi4vLi4vLi4vY29tbW9ucy9zY2hlbWFcIjtcbmltcG9ydCB7TkFFX1JPVVRJTkdfQ09ORklHVVJBVElPTl9QQVRIfSBmcm9tIFwiLi4vLi4vcm91dGluZy9yb3V0aW5nLWJ1aWxkZXIvcm91dGluZy1idWlsZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7QWNjZXNzU2VydmljZX0gZnJvbSBcIi4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9hY2Nlc3Muc2VydmljZVwiO1xuaW1wb3J0IHtJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2V9IGZyb20gJy4uLy4uL2ltcGVyc29uYXRpb24vc2VydmljZXMvaW1wZXJzb25hdGlvbi11c2VyLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7SW1wZXJzb25hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2ltcGVyc29uYXRpb24vc2VydmljZXMvaW1wZXJzb25hdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdEb3VibGVNZW51IHtcbiAgICBtb2RlOiBNYXREcmF3ZXJNb2RlO1xuICAgIG9wZW5lZDogYm9vbGVhbjtcbiAgICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW47XG4gICAgd2lkdGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3TmF2aWdhdGlvbkl0ZW0gZXh0ZW5kcyBWaWV3IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJlc291cmNlPzogQ2FzZVxufVxuXG5leHBvcnQgY29uc3QgRklMVEVSX0lERU5USUZJRVJTID0gW1xuICAgIFwicHJlZmVyZW5jZV9maWx0ZXJfaXRlbVwiXG5dO1xuZXhwb3J0IGNvbnN0IEZJTFRFUl9WSUVXX1RBU0tfVFJBTlNJVElPTl9JRCA9ICd2aWV3JztcblxuY29uc3QgTEVGVF9EUkFXRVJfREVGQVVMVF9XSURUSCA9IDYwO1xuY29uc3QgUklHSFRfRFJBV0VSX0RFRkFVTFRfV0lEVEggPSAyNDA7XG5jb25zdCBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEggPSAxODA7XG5jb25zdCBSSUdIVF9EUkFXRVJfTUFYX1dJRFRIID0gNDYwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1uYXZpZ2F0aW9uLWRvdWJsZS1kcmF3ZXInLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROYXZpZ2F0aW9uRG91YmxlRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgcG9ydGFsTGVmdE1lbnU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgcG9ydGFsUmlnaHRNZW51OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIGltYWdlUm91dGVyTGluazogc3RyaW5nID0gXCIvXCI7XG4gICAgQElucHV0KCkgaW1hZ2VBbHQ6IHN0cmluZyA9IFwiTG9nb1wiO1xuICAgIEBJbnB1dCgpIGltYWdlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHJvZmlsZVJvdXRlckxpbms6IHN0cmluZyA9IFwiL3Byb2ZpbGVcIjtcbiAgICBASW5wdXQoKSBpbmNsdWRlVXNlcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgaW5jbHVkZUxhbmd1YWdlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBpbmNsdWRlTW9yZU1lbnU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluY2x1ZGVJbXBlcnNvbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhbGxDbG9zYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZm9sZGVySWNvbjogc3RyaW5nID0gXCJmb2xkZXJcIjtcbiAgICBASW5wdXQoKSBvcGVuZWRGb2xkZXJJY29uOiBzdHJpbmcgPSBcImZvbGRlcl9vcGVuXCI7XG4gICAgQElucHV0KCkgZmlsdGVySWNvbjogc3RyaW5nID0gXCJmaWx0ZXJfYWx0XCI7XG4gICAgQElucHV0KCkgZm9sZGVyc0NhdGVnb3J5TmFtZTogc3RyaW5nID0gJ3Rvb2xiYXIubWVudS5mb2xkZXJzJztcbiAgICBASW5wdXQoKSB2aWV3c0NhdGVnb3J5TmFtZTogc3RyaW5nID0gJ3Rvb2xiYXIubWVudS52aWV3cyc7XG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiBmb2xkZXIgbm9kZXMgb24gbGVmdCBzaWRlXG4gICAgICogKi9cbiAgICBsZWZ0Tm9kZXM6IEFycmF5PFVyaU5vZGVSZXNvdXJjZT47XG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiBmb2xkZXIgbm9kZXMgb24gcmlnaHQgc2lkZVxuICAgICAqICovXG4gICAgcmlnaHROb2RlczogQXJyYXk8VXJpTm9kZVJlc291cmNlPjtcblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgdW5kZXIgZm9sZGVycyBvbiByaWdodCBzaWRlIG1lbnVcbiAgICAgKiAqL1xuICAgIHZpZXdzOiBBcnJheTxWaWV3TmF2aWdhdGlvbkl0ZW0+O1xuXG4gICAgbW9yZU1lbnVJdGVtczogQXJyYXk8Vmlld05hdmlnYXRpb25JdGVtPjtcblxuICAgIHByb3RlY3RlZCBfbGVmdE5vZGVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9yaWdodE5vZGVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9maWx0ZXJzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9icmVha3BvaW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9yb290U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9jdXJyZW50Tm9kZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogQ3VycmVudGx5IGRpc3BsYXkgdXJpXG4gICAgICogU2libGluZ3Mgb2YgdGhlIG5vZGUgYXJlIG9uIHRoZSBsZWZ0LCBjaGlsZHJlbiBhcmUgb24gdGhlIHJpZ2h0XG4gICAgICovXG4gICAgY3VycmVudE5vZGU6IFVyaU5vZGVSZXNvdXJjZVxuXG4gICAgbGVmdExvYWRpbmckOiBMb2FkaW5nRW1pdHRlcjtcbiAgICByaWdodExvYWRpbmckOiBMb2FkaW5nRW1pdHRlcjtcblxuICAgIHByb3RlY3RlZCBfY29uZmlnTGVmdE1lbnU6IENvbmZpZ0RvdWJsZU1lbnUgPSB7XG4gICAgICAgIG1vZGU6ICdzaWRlJyxcbiAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICB3aWR0aDogTEVGVF9EUkFXRVJfREVGQVVMVF9XSURUSFxuICAgIH07XG4gICAgcHJvdGVjdGVkIF9jb25maWdSaWdodE1lbnU6IENvbmZpZ0RvdWJsZU1lbnUgPSB7XG4gICAgICAgIG1vZGU6ICdzaWRlJyxcbiAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICB3aWR0aDogUklHSFRfRFJBV0VSX0RFRkFVTFRfV0lEVEhcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIF9jaGlsZEN1c3RvbVZpZXdzOiB7IFt1cmk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogVmlld05hdmlnYXRpb25JdGVtIH0gfVxuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWNjZXNzU2VydmljZTogQWNjZXNzU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91cmlTZXJ2aWNlOiBVcmlTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ltcGVyc29uYXRpb25Vc2VyU2VsZWN0OiBJbXBlcnNvbmF0aW9uVXNlclNlbGVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfaW1wZXJzb25hdGlvbjogSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1JvdXRpbmdTZXJ2aWNlOiBEeW5hbWljTmF2aWdhdGlvblJvdXRlUHJvdmlkZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubGVmdE5vZGVzID0gbmV3IEFycmF5PFVyaU5vZGVSZXNvdXJjZT4oKTtcbiAgICAgICAgdGhpcy5yaWdodE5vZGVzID0gbmV3IEFycmF5PFVyaU5vZGVSZXNvdXJjZT4oKTtcbiAgICAgICAgdGhpcy52aWV3cyA9IG5ldyBBcnJheTxWaWV3TmF2aWdhdGlvbkl0ZW0+KCk7XG4gICAgICAgIHRoaXMubGVmdExvYWRpbmckID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMucmlnaHRMb2FkaW5nJCA9IG5ldyBMb2FkaW5nRW1pdHRlcigpO1xuICAgICAgICB0aGlzLl9jaGlsZEN1c3RvbVZpZXdzID0ge307XG4gICAgICAgIHRoaXMubW9yZU1lbnVJdGVtcyA9IG5ldyBBcnJheTxWaWV3TmF2aWdhdGlvbkl0ZW0+KCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLl9icmVha3BvaW50Lm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2JyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50Tm9kZSkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub24oKTtcbiAgICAgICAgICAgIHRoaXMucmlnaHRMb2FkaW5nJC5vbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2N1cnJlbnROb2RlU3Vic2NyaXB0aW9uID0gdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlJC5zdWJzY3JpYmUobm9kZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gbm9kZTtcbiAgICAgICAgICAgIGlmICghbm9kZSkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRoaXMubGVmdExvYWRpbmckLmlzQWN0aXZlIHx8IHRoaXMucmlnaHRMb2FkaW5nJC5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGVmdExvYWRpbmckLm9mZigpO1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRMb2FkaW5nJC5vZmYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl91cmlTZXJ2aWNlLmlzUm9vdChub2RlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGVmdE5vZGVzID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUmlnaHRTaWRlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmxlZnROb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gbm9kZS5pZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRMZWZ0U2lkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sb2FkUmlnaHRTaWRlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHZpZXdDb25maWd1cmF0aW9uUGF0aCA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFbTkFFX1JPVVRJTkdfQ09ORklHVVJBVElPTl9QQVRIXTtcbiAgICAgICAgaWYgKCEhdmlld0NvbmZpZ3VyYXRpb25QYXRoKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3Q29uZmlndXJhdGlvbiA9IHRoaXMuX2NvbmZpZy5nZXRWaWV3QnlQYXRoKHZpZXdDb25maWd1cmF0aW9uUGF0aCk7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyh2aWV3Q29uZmlndXJhdGlvbi5jaGlsZHJlbikuZm9yRWFjaCgoW2tleSwgY2hpbGRWaWV3XSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZVVyaUZvckNoaWxkVmlld3Modmlld0NvbmZpZ3VyYXRpb25QYXRoICsgJy8nICsga2V5LCBjaGlsZFZpZXcpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUhpZGRlbk1lbnVJdGVtRnJvbUNoaWxkVmlld3Modmlld0NvbmZpZ3VyYXRpb25QYXRoICsgJy8nICsga2V5LCBjaGlsZFZpZXcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZVVyaUZvckNoaWxkVmlld3MoY29uZmlnUGF0aDogc3RyaW5nLCBjaGlsZFZpZXc6IFZpZXcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjaGlsZFZpZXcucHJvY2Vzc1VyaSkgcmV0dXJuO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhjaGlsZFZpZXcsIGNvbmZpZ1BhdGgpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRDdXN0b21WaWV3c1tjaGlsZFZpZXcucHJvY2Vzc1VyaV0pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoaWxkQ3VzdG9tVmlld3NbY2hpbGRWaWV3LnByb2Nlc3NVcmldID0ge307XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hpbGRDdXN0b21WaWV3c1tjaGlsZFZpZXcucHJvY2Vzc1VyaV1bY29uZmlnUGF0aF0gPSB7XG4gICAgICAgICAgICBpZDogY29uZmlnUGF0aCxcbiAgICAgICAgICAgIC4uLmNoaWxkVmlld1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVIaWRkZW5NZW51SXRlbUZyb21DaGlsZFZpZXdzKGNvbmZpZ1BhdGg6IHN0cmluZywgY2hpbGRWaWV3OiBWaWV3KTogdm9pZCB7XG4gICAgICAgIGlmICghY2hpbGRWaWV3Lm5hdmlnYXRpb24pIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLl9hY2Nlc3NTZXJ2aWNlLmNhbkFjY2Vzc1ZpZXcoY2hpbGRWaWV3LCBjb25maWdQYXRoKSkgcmV0dXJuO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICghIShjaGlsZFZpZXc/Lm5hdmlnYXRpb24/LmhpZGRlbikpIHtcbiAgICAgICAgICAgIHRoaXMubW9yZU1lbnVJdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogY29uZmlnUGF0aCxcbiAgICAgICAgICAgICAgICAuLi5jaGlsZFZpZXdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2xlZnROb2Rlc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fcmlnaHROb2Rlc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZmlsdGVyc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fcm9vdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fY3VycmVudE5vZGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubGVmdExvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmlnaHRMb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBjb25maWdMZWZ0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0xlZnRNZW51O1xuICAgIH1cblxuICAgIGdldCBjb25maWdSaWdodE1lbnUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWdSaWdodE1lbnU7XG4gICAgfVxuXG4gICAgdG9nZ2xlTWVudSgpIHtcbiAgICAgICAgdGhpcy50b2dnbGVSaWdodE1lbnUoKTtcbiAgICAgICAgaWYgKHRoaXMuYWxsQ2xvc2FibGUpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlTGVmdE1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZUxlZnRNZW51KCkge1xuICAgICAgICB0aGlzLl9jb25maWdMZWZ0TWVudS5vcGVuZWQgPSAhdGhpcy5fY29uZmlnTGVmdE1lbnUub3BlbmVkO1xuICAgIH1cblxuICAgIHRvZ2dsZVJpZ2h0TWVudSgpIHtcbiAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51Lm9wZW5lZCA9ICF0aGlzLl9jb25maWdSaWdodE1lbnUub3BlbmVkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlTGF5b3V0KGlzTGFyZ2VTY3JlZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29uZmlnTGVmdE1lbnUgPSBpc0xhcmdlU2NyZWVuID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ0xlZnRNZW51LndpZHRoXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLl9jb25maWdMZWZ0TWVudS53aWR0aFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9jb25maWdSaWdodE1lbnUgPSBpc0xhcmdlU2NyZWVuID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aFxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0TGFuZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIGxvZ291dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXNlclNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnVXNlciBpcyBsb2dnZWQgb3V0Jyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzICYmIHRoaXMuX2NvbmZpZy5nZXQoKS5zZXJ2aWNlcy5hdXRoICYmIHRoaXMuX2NvbmZpZy5nZXQoKS5zZXJ2aWNlcy5hdXRoLmxvZ291dFJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RQYXRoID0gdGhpcy5fY29uZmlnLmdldCgpLnNlcnZpY2VzLmF1dGgubG9nb3V0UmVkaXJlY3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmluZm8oJ1JlZGlyZWN0aW5nIHRvICcgKyByZWRpcmVjdFBhdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RQYXRoXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGltcGVyc29uYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbXBlcnNvbmF0aW9uVXNlclNlbGVjdC5zZWxlY3RJbXBlcnNvbmF0ZSgpO1xuICAgIH1cblxuICAgIHN0b3BJbXBlcnNvbmF0aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbXBlcnNvbmF0aW9uLmNlYXNlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHVzZXIoKTogVXNlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VydmljZS51c2VyO1xuICAgIH1cblxuICAgIGdldCBjYW5Hb0JhY2tMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VyaVNlcnZpY2UucGFyZW50Tm9kZUxvYWRpbmckO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGhvbWUgY2xpY2ssIHRoZSBjdXJyZW50IGxldmVsIGlzIHNldCB0byAwLCBhbmQgY3VycmVudCBwYXJlbnQgaXNcbiAgICAgKiBzZXQgdG8gcm9vdCBub2RlLlxuICAgICAqICovXG4gICAgb25Ib21lQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UucmVzZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBiYWNrIGNsaWNrLCB0aGUgcGFyZW50IGlzIHNldCB0byBwYXJlbnQgb2YgbGVmdCBub2RlcywgdGhhdCB3aWxsIHNvbHZlXG4gICAgICogdGhlIHJpZ2h0IHNpZGUgbWVudSAoZWxlbWVudHMgdGhhdCB3ZXJlIGluIGxlZnQgc2lkZSwgYWZ0ZXIgYmFja3dhcmRcbiAgICAgKiBuYXZpZ2F0aW9uIHdpbGwgYmUgb24gdGhlIHJpZ2h0IHNpZGUpLlxuICAgICAqIEN1cnJlbnQgbGV2ZWwgaXMgc2V0IHRvIGEgbG93ZXIgbnVtYmVyIGluIG9yZGVyIHRvIHNldCB0aGUgbGVmdCBzaWRlIG1lbnUuXG4gICAgICogKi9cbiAgICBvbkJhY2tDbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3VyaVNlcnZpY2UuaXNSb290KHRoaXMuY3VycmVudE5vZGUpKSByZXR1cm47XG4gICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IHRoaXMuY3VycmVudE5vZGUucGFyZW50O1xuICAgIH1cblxuICAgIG9uTm9kZUNsaWNrKG5vZGU6IFVyaU5vZGVSZXNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGUgPSBub2RlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkTGVmdFNpZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl91cmlTZXJ2aWNlLmlzUm9vdCh0aGlzLmN1cnJlbnROb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxlZnRMb2FkaW5nJC5vbigpO1xuICAgICAgICB0aGlzLl9sZWZ0Tm9kZXNTdWJzY3JpcHRpb24gPSB0aGlzLl91cmlTZXJ2aWNlLmdldFNpYmxpbmdzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUpLnN1YnNjcmliZShub2RlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IG5vZGVzIGluc3RhbmNlb2YgQXJyYXkgPyBub2RlcyA6IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0Tm9kZXMuc29ydCgoYSwgYikgPT4gdGhpcy5jb21wYXJlU3RyaW5ncyhhLm5hbWUsIGIubmFtZSkpO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmxlZnROb2RlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sZWZ0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkUmlnaHRTaWRlKCkge1xuICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub24oKVxuICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICBmb2xkZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENoaWxkTm9kZXModGhpcy5jdXJyZW50Tm9kZSksXG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLl91cmlTZXJ2aWNlLmdldENhc2VzT2ZOb2RlKHRoaXMuY3VycmVudE5vZGUsIEZJTFRFUl9JREVOVElGSUVSUylcbiAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Tm9kZXMgPSByZXN1bHQuZm9sZGVycyBpbnN0YW5jZW9mIEFycmF5ID8gcmVzdWx0LmZvbGRlcnMgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmlnaHROb2Rlcy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGEubmFtZSwgYi5uYW1lKSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gKHJlc3VsdC5maWx0ZXJzIGluc3RhbmNlb2YgQXJyYXkgPyByZXN1bHQuZmlsdGVycyA6IFtdKS5tYXAoZiA9PiB0aGlzLnJlc29sdmVGaWx0ZXJDYXNlVG9WaWV3TmF2aWdhdGlvbkl0ZW0oZikpLmZpbHRlcihpID0+ICEhaSk7XG4gICAgICAgICAgICBpZiAoISF0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdzLnB1c2goLi4uT2JqZWN0LnZhbHVlcyh0aGlzLl9jaGlsZEN1c3RvbVZpZXdzW3RoaXMuY3VycmVudE5vZGUudXJpUGF0aF0pKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy52aWV3cy5zb3J0KChhLCBiKSA9PiB0aGlzLmNvbXBhcmVTdHJpbmdzKGE/Lm5hdmlnYXRpb24/LnRpdGxlLCBiPy5uYXZpZ2F0aW9uPy50aXRsZSkpO1xuICAgICAgICAgICAgdGhpcy5yaWdodExvYWRpbmckLm9mZigpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5yaWdodE5vZGVzID0gW107XG4gICAgICAgICAgICB0aGlzLnZpZXdzID0gW107XG4gICAgICAgICAgICB0aGlzLnJpZ2h0TG9hZGluZyQub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmlsdGVyQ2FzZVRvVmlld05hdmlnYXRpb25JdGVtKGZpbHRlcjogQ2FzZSk6IFZpZXdOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IFZpZXdOYXZpZ2F0aW9uSXRlbSA9IHtcbiAgICAgICAgICAgIGFjY2Vzczoge30sXG4gICAgICAgICAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgaWNvbjogZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09ICdpY29uX25hbWUnKT8udmFsdWUgfHwgdGhpcy5maWx0ZXJJY29uLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBmaWx0ZXIuaW1tZWRpYXRlRGF0YS5maW5kKGYgPT4gZi5zdHJpbmdJZCA9PT0gJ2VudHJ5X25hbWUnKT8udmFsdWU/LmRlZmF1bHRWYWx1ZSB8fCBmaWx0ZXIudGl0bGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByb3V0aW5nOiB7XG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5nZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaWQ6IGZpbHRlci5zdHJpbmdJZCxcbiAgICAgICAgICAgIHJlc291cmNlOiBmaWx0ZXJcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2FsbG93ZWRfcm9sZXMnKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRCYW5uZWRSb2xlcyA9IHRoaXMucmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlciwgJ2Jhbm5lZF9yb2xlcycpO1xuICAgICAgICBpZighIXJlc29sdmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydyb2xlJ10gPSByZXNvbHZlZFJvbGVzO1xuICAgICAgICBpZighIXJlc29sdmVkQmFubmVkUm9sZXMpIGl0ZW0uYWNjZXNzWydiYW5uZWRSb2xlJ10gPSByZXNvbHZlZEJhbm5lZFJvbGVzO1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc1NlcnZpY2UuY2FuQWNjZXNzVmlldyhpdGVtLCBpdGVtLnJvdXRpbmdQYXRoKSkgcmV0dXJuO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUFjY2Vzc1JvbGVzKGZpbHRlcjogQ2FzZSwgcm9sZVR5cGU6IHN0cmluZyk6IEFycmF5PFJvbGVBY2Nlc3M+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZFJvbGVzID0gZmlsdGVyLmltbWVkaWF0ZURhdGEuZmluZChmID0+IGYuc3RyaW5nSWQgPT09IHJvbGVUeXBlKT8ub3B0aW9ucztcbiAgICAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgT2JqZWN0LmtleXMoYWxsb3dlZFJvbGVzKS5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJvbGVzID0gW107XG4gICAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRSb2xlcykuZm9yRWFjaChjb21iaW5lZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGNvbWJpbmVkLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICByb2xlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHBhcnRzWzFdLFxuICAgICAgICAgICAgICAgIHJvbGVJZDogcGFydHNbMF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJvbGVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGaWx0ZXJSb3V0aW5nUGF0aChmaWx0ZXJDYXNlOiBDYXNlKSB7XG4gICAgICAgIGNvbnN0IHZpZXdUYXNrSWQgPSBmaWx0ZXJDYXNlLnRhc2tzLmZpbmQodGFza1BhaXIgPT4gdGFza1BhaXIudHJhbnNpdGlvbiA9PT0gRklMVEVSX1ZJRVdfVEFTS19UUkFOU0lUSU9OX0lEKS50YXNrO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLl9keW5hbWljUm91dGluZ1NlcnZpY2Uucm91dGU7XG4gICAgICAgIHJldHVybiBgLyR7dXJsfS8ke3ZpZXdUYXNrSWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGFyZVN0cmluZ3MoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBpZiAoIWEgJiYgIWIpIHJldHVybiAwO1xuICAgICAgICBpZiAoYSA8IGIpIHJldHVybiAtMTtcbiAgICAgICAgcmV0dXJuIGEgPiBiID8gMSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB0aGUgYmFjayBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgICAqIEByZXR1cm5zIGJvb2xlYW4gaWYgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBiZSBkaXNwbGF5ZWRcbiAgICAgKiAqL1xuICAgIGlzT25aZXJvTGV2ZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3VycmVudE5vZGU/LmxldmVsID8gdGhpcy5jdXJyZW50Tm9kZS5sZXZlbCA9PSAwIDogdHJ1ZTtcbiAgICB9XG5cbiAgICBpc0xlZnROb2Rlc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWZ0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmxlZnROb2Rlcy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNSaWdodE5vZGVzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0Tm9kZXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJpZ2h0Tm9kZXMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGlzVmlld3NFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3MgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZpZXdzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICB1cmlOb2RlVHJhY2tCeShpbmRleDogbnVtYmVyLCBub2RlOiBVcmlOb2RlUmVzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuaWQ7XG4gICAgfVxuXG4gICAgdmlld3NUcmFja0J5KGluZGV4OiBudW1iZXIsIHZpZXc6IFZpZXdOYXZpZ2F0aW9uSXRlbSkge1xuICAgICAgICByZXR1cm4gdmlldy5pZDtcbiAgICB9XG5cbiAgICBvblJlc2l6ZUV2ZW50KGV2ZW50OiBSZXNpemVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoID4gUklHSFRfRFJBV0VSX01BWF9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnUmlnaHRNZW51LndpZHRoID0gUklHSFRfRFJBV0VSX01BWF9XSURUSDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPCBSSUdIVF9EUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IFJJR0hUX0RSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1JpZ2h0TWVudS53aWR0aCA9IGV2ZW50LnJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGltcGxlbWVudCBzYXZpbmcgZHJhd2VyIHdpZHRoIHRvIHVzZXIgcHJlZmVyZW5jZXNcbiAgICAgICAgLy8gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgLy8gdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -21,7 +21,7 @@ export class AbstractNavigationDrawerComponent {
21
21
  this.openedChange = new EventEmitter();
22
22
  this._fixed = true;
23
23
  this.opened = true;
24
- this.quickPanelItems = ['language', 'settings', 'logout'];
24
+ this.quickPanelItems = ['language', 'settings', 'logout', 'impersonation'];
25
25
  if (this.userPreferenceService.drawerWidth !== undefined) {
26
26
  this.contentWidth = new BehaviorSubject(this.userPreferenceService.drawerWidth);
27
27
  }
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
153
153
  type: Input,
154
154
  args: ['fixed']
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZHJhd2VyL2Fic3RyYWN0LW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHcEUsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJbkQsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFNN0IsTUFBTSxPQUFnQixpQ0FBaUM7SUEwQm5ELFlBQXNCLFVBQThCLEVBQzlCLElBQW1CLEVBQ25CLHFCQUE0QztRQUY1QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSeEQsWUFBTyxHQUFHO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBS0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxVQUFVLEVBQUUs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Q3pELElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUM7U0FDekM7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7K0hBN0lpQixpQ0FBaUM7bUhBQWpDLGlDQUFpQyxnYkFGekMsRUFBRTs0RkFFTSxpQ0FBaUM7a0JBSnRELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7eUtBSXlCLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsTUFBTTtnQkFDZSxJQUFJO3NCQUEvQixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1MsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxZQUFZO2dCQUNTLGVBQWU7c0JBQTFDLEtBQUs7dUJBQUMsWUFBWTtnQkFDSCxVQUFVO3NCQUF6QixLQUFLO2dCQUVXLFlBQVk7c0JBQTVCLE1BQU07Z0JBRXlCLFFBQVE7c0JBQXZDLFNBQVM7dUJBQUMsU0FBUztnQkFtRWhCLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uLy4uL3VzZXIvbW9kZWxzL3VzZXInO1xuaW1wb3J0ICdoYW1tZXJqcyc7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtNYXREcmF3ZXJUb2dnbGVSZXN1bHQsIE1hdFNpZGVuYXZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tICdhbmd1bGFyLXJlc2l6YWJsZS1lbGVtZW50JztcbmltcG9ydCB7VXNlclByZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXItcHJlZmVyZW5jZS5zZXJ2aWNlJztcblxuY29uc3QgRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIID0gMjAwO1xuY29uc3QgRFJBV0VSX01BWF9XSURUSCA9IDQ1MDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXInLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25EcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cblxuICAgIEBJbnB1dCgndXNlcicpIHB1YmxpYyBzaG93VXNlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoJ3VzZXJPYmplY3QnKSBwdWJsaWMgdXNlcjogVXNlcjtcbiAgICBASW5wdXQoJ3F1aWNrUGFuZWwnKSBwdWJsaWMgc2hvd1F1aWNrUGFuZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCdwYW5lbEl0ZW1zJykgcHVibGljIHF1aWNrUGFuZWxJdGVtczogQXJyYXk8YW55PjsgLy8gUXVpY2tQYW5lbEl0ZW1cbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2aWdhdGlvbjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb3BlbmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG5cbiAgICBAVmlld0NoaWxkKCdzaWRlbmF2JykgcHJvdGVjdGVkIF9zaWRlTmF2OiBNYXRTaWRlbmF2O1xuXG4gICAgcHVibGljIG9wZW5lZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2ZpeGVkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBzdWJCcmVha3BvaW50OiBTdWJzY3JpcHRpb247XG5cbiAgICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcbiAgICBwdWJsaWMgY29udGVudFdpZHRoOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcblxuICAgIHByb3RlY3RlZCBfY29uZmlnID0ge1xuICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkge1xuICAgICAgICB0aGlzLm9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICAgICAgdGhpcy5fZml4ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMucXVpY2tQYW5lbEl0ZW1zID0gWydsYW5ndWFnZScsICdzZXR0aW5ncycsICdsb2dvdXQnXTtcbiAgICAgICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRoaXMuX2ZpeGVkKTtcbiAgICAgICAgdGhpcy5zdWJCcmVha3BvaW50ID0gdGhpcy5icmVha3BvaW50Lm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKS5zdWJzY3JpYmUoIHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnQnJlYWtwb2ludE9ic2VydmVyIG1hdGNoZXMgd2lkdGggb2Ygd2luZG93OiAnICsgdGhpcy5icmVha3BvaW50LmlzTWF0Y2hlZCgnKG1heC13aWR0aDogOTU5Ljk5cHgpJykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuX2NvbmZpZy5vcGVuZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0aGlzLl9maXhlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5wcmVmZXJlbmNlc0NoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuZHJhd2VyV2lkdGg7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhpcy53aWR0aCA9IHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmdldERyYXdlcldpZHRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZENoYW5nZSA9IHRoaXMuX3NpZGVOYXYub3BlbmVkQ2hhbmdlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YkJyZWFrcG9pbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXQgY29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICAgIH1cblxuICAgIGdldCBmaXhlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpeGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZml4ZWQnKVxuICAgIHNldCBmaXhlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9maXhlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlc29sdmVMYXlvdXQodGhpcy5fZml4ZWQpO1xuICAgIH1cblxuICAgIG9wZW4oKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaWRlTmF2Lm9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnb3BlbicpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgICAgIGlmICh0aGlzLl9maXhlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnY2xvc2UnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZU5hdi5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgICAgICBpZiAodGhpcy5fZml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ29wZW4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZU5hdi50b2dnbGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVMYXlvdXQoYm9vbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWcgPSBib29sID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICBpZiAoYm9vbCAmJiB0aGlzLl9zaWRlTmF2KSB7XG4gICAgICAgICAgICB0aGlzLl9zaWRlTmF2Lm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN3aXBlUmlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2lwZUxlZnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNpemVFdmVudChldmVudDogUmVzaXplRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA+IERSQVdFUl9NQVhfV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBEUkFXRVJfTUFYX1dJRFRIO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA8IERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IERSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBldmVudC5yZWN0YW5nbGUud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZHJhd2VyL2Fic3RyYWN0LW5hdmlnYXRpb24tZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBcUIsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHcEUsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJbkQsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFNN0IsTUFBTSxPQUFnQixpQ0FBaUM7SUEwQm5ELFlBQXNCLFVBQThCLEVBQzlCLElBQW1CLEVBQ25CLHFCQUE0QztRQUY1QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSeEQsWUFBTyxHQUFHO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBS0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxVQUFVLEVBQUUs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d0IsRUFBRTtZQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLHdCQUF3QixDQUFDO1NBQ3pDO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OytIQTdJaUIsaUNBQWlDO21IQUFqQyxpQ0FBaUMsZ2JBRnpDLEVBQUU7NEZBRU0saUNBQWlDO2tCQUp0RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRSxFQUFFO2lCQUNmO3lLQUl5QixRQUFRO3NCQUE3QixLQUFLO3VCQUFDLE1BQU07Z0JBQ2UsSUFBSTtzQkFBL0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNTLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsWUFBWTtnQkFDUyxlQUFlO3NCQUExQyxLQUFLO3VCQUFDLFlBQVk7Z0JBQ0gsVUFBVTtzQkFBekIsS0FBSztnQkFFVyxZQUFZO3NCQUE1QixNQUFNO2dCQUV5QixRQUFRO3NCQUF2QyxTQUFTO3VCQUFDLFNBQVM7Z0JBbUVoQixLQUFLO3NCQURSLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi8uLi91c2VyL21vZGVscy91c2VyJztcbmltcG9ydCAnaGFtbWVyanMnO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7TWF0RHJhd2VyVG9nZ2xlUmVzdWx0LCBNYXRTaWRlbmF2fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtSZXNpemVFdmVudH0gZnJvbSAnYW5ndWxhci1yZXNpemFibGUtZWxlbWVudCc7XG5pbXBvcnQge1VzZXJQcmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XG5cbmNvbnN0IERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCA9IDIwMDtcbmNvbnN0IERSQVdFUl9NQVhfV0lEVEggPSA0NTA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LW5hdmlnYXRpb24tZHJhd2VyJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROYXZpZ2F0aW9uRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG5cbiAgICBASW5wdXQoJ3VzZXInKSBwdWJsaWMgc2hvd1VzZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCd1c2VyT2JqZWN0JykgcHVibGljIHVzZXI6IFVzZXI7XG4gICAgQElucHV0KCdxdWlja1BhbmVsJykgcHVibGljIHNob3dRdWlja1BhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgncGFuZWxJdGVtcycpIHB1YmxpYyBxdWlja1BhbmVsSXRlbXM6IEFycmF5PGFueT47IC8vIFF1aWNrUGFuZWxJdGVtXG4gICAgQElucHV0KCkgcHVibGljIG5hdmlnYXRpb246IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgQFZpZXdDaGlsZCgnc2lkZW5hdicpIHByb3RlY3RlZCBfc2lkZU5hdjogTWF0U2lkZW5hdjtcblxuICAgIHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9maXhlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgc3ViQnJlYWtwb2ludDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGNvbnRlbnRXaWR0aDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZyA9IHtcbiAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2VcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGJyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdXNlclByZWZlcmVuY2VTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgICAgIHRoaXMuX2ZpeGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1aWNrUGFuZWxJdGVtcyA9IFsnbGFuZ3VhZ2UnLCAnc2V0dGluZ3MnLCAnbG9nb3V0JywgJ2ltcGVyc29uYXRpb24nXTtcbiAgICAgICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRoaXMuX2ZpeGVkKTtcbiAgICAgICAgdGhpcy5zdWJCcmVha3BvaW50ID0gdGhpcy5icmVha3BvaW50Lm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKS5zdWJzY3JpYmUoIHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnQnJlYWtwb2ludE9ic2VydmVyIG1hdGNoZXMgd2lkdGggb2Ygd2luZG93OiAnICsgdGhpcy5icmVha3BvaW50LmlzTWF0Y2hlZCgnKG1heC13aWR0aDogOTU5Ljk5cHgpJykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuX2NvbmZpZy5vcGVuZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0aGlzLl9maXhlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5wcmVmZXJlbmNlc0NoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuZHJhd2VyV2lkdGg7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhpcy53aWR0aCA9IHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmdldERyYXdlcldpZHRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZENoYW5nZSA9IHRoaXMuX3NpZGVOYXYub3BlbmVkQ2hhbmdlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YkJyZWFrcG9pbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXQgY29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICAgIH1cblxuICAgIGdldCBmaXhlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpeGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZml4ZWQnKVxuICAgIHNldCBmaXhlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9maXhlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlc29sdmVMYXlvdXQodGhpcy5fZml4ZWQpO1xuICAgIH1cblxuICAgIG9wZW4oKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9zaWRlTmF2Lm9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnb3BlbicpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgICAgIGlmICh0aGlzLl9maXhlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnY2xvc2UnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZU5hdi5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgICAgICBpZiAodGhpcy5fZml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ29wZW4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZU5hdi50b2dnbGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVMYXlvdXQoYm9vbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb25maWcgPSBib29sID8ge1xuICAgICAgICAgICAgbW9kZTogJ3NpZGUnLFxuICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBtb2RlOiAnb3ZlcicsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICBpZiAoYm9vbCAmJiB0aGlzLl9zaWRlTmF2KSB7XG4gICAgICAgICAgICB0aGlzLl9zaWRlTmF2Lm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN3aXBlUmlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2lwZUxlZnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNpemVFdmVudChldmVudDogUmVzaXplRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA+IERSQVdFUl9NQVhfV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBEUkFXRVJfTUFYX1dJRFRIO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnJlY3RhbmdsZS53aWR0aCA8IERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IERSQVdFUl9ERUZBVUxUX01JTl9XSURUSDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBldmVudC5yZWN0YW5nbGUud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuX2RyYXdlcldpZHRoQ2hhbmdlZCQubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICB9XG59XG4iXX0=
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
33
33
  }], ctorParameters: function () { return [{ type: i1.LanguageService }, { type: i2.PaperViewService }]; }, propDecorators: { items: [{
34
34
  type: Input
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcXVpY2stcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL3F1aWNrLXBhbmVsL2NvbXBvbmVudHMvYWJzdHJhY3QtcXVpY2stcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQywwQ0FBMEMsRUFBQyxNQUFNLHdFQUF3RSxDQUFDOzs7O0FBUWxJLE1BQU0sT0FBZ0IsMkJBQTRCLFNBQVEsMENBQTBDO0lBSWhHLFlBQXNCLE9BQXdCLEVBQVksVUFBNEI7UUFDbEYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBRXRGLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQzs7eUhBdEJpQiwyQkFBMkI7NkdBQTNCLDJCQUEyQixtSEFGbkMsRUFBRTs0RkFFTSwyQkFBMkI7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7cUlBR21CLEtBQUs7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRlL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtQYXBlclZpZXdTZXJ2aWNlfSBmcm9tICcuL3BhcGVyLXZpZXcuc2VydmljZSc7XG5pbXBvcnQge0Fic3RyYWN0TmF2aWdhdGlvblJlc2l6YWJsZURyYXdlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi1kcmF3ZXIvYWJzdHJhY3QtbmF2aWdhdGlvbi1yZXNpemFibGUtZHJhd2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFF1aWNrUGFuZWxJdGVtID0gJ2xhbmd1YWdlJyB8ICdzZXR0aW5ncycgfCAnbG9nb3V0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtcXVpY2stcGFuZWwnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFF1aWNrUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE5hdmlnYXRpb25SZXNpemFibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxRdWlja1BhbmVsSXRlbT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3NlbGVjdDogTGFuZ3VhZ2VTZXJ2aWNlLCBwcm90ZWN0ZWQgX3BhcGVyVmlldzogUGFwZXJWaWV3U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIGdldExhbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdC5nZXRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIHNldFBhcGVyVmlldygpIHtcbiAgICAgICAgdGhpcy5fcGFwZXJWaWV3LnBhcGVyVmlldyA9ICF0aGlzLl9wYXBlclZpZXcucGFwZXJWaWV3O1xuICAgIH1cblxuICAgIGlzUGFwZXJWaWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFwZXJWaWV3LnBhcGVyVmlldztcbiAgICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcXVpY2stcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL3F1aWNrLXBhbmVsL2NvbXBvbmVudHMvYWJzdHJhY3QtcXVpY2stcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQywwQ0FBMEMsRUFBQyxNQUFNLHdFQUF3RSxDQUFDOzs7O0FBUWxJLE1BQU0sT0FBZ0IsMkJBQTRCLFNBQVEsMENBQTBDO0lBSWhHLFlBQXNCLE9BQXdCLEVBQVksVUFBNEI7UUFDbEYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBRXRGLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQzs7eUhBdEJpQiwyQkFBMkI7NkdBQTNCLDJCQUEyQixtSEFGbkMsRUFBRTs0RkFFTSwyQkFBMkI7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7cUlBR21CLEtBQUs7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRlL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtQYXBlclZpZXdTZXJ2aWNlfSBmcm9tICcuL3BhcGVyLXZpZXcuc2VydmljZSc7XG5pbXBvcnQge0Fic3RyYWN0TmF2aWdhdGlvblJlc2l6YWJsZURyYXdlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi1kcmF3ZXIvYWJzdHJhY3QtbmF2aWdhdGlvbi1yZXNpemFibGUtZHJhd2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFF1aWNrUGFuZWxJdGVtID0gJ2xhbmd1YWdlJyB8ICdzZXR0aW5ncycgfCAnbG9nb3V0JyB8ICdpbXBlcnNvbmF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtcXVpY2stcGFuZWwnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFF1aWNrUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE5hdmlnYXRpb25SZXNpemFibGVEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxRdWlja1BhbmVsSXRlbT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3NlbGVjdDogTGFuZ3VhZ2VTZXJ2aWNlLCBwcm90ZWN0ZWQgX3BhcGVyVmlldzogUGFwZXJWaWV3U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIGdldExhbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdC5nZXRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIHNldFBhcGVyVmlldygpIHtcbiAgICAgICAgdGhpcy5fcGFwZXJWaWV3LnBhcGVyVmlldyA9ICF0aGlzLl9wYXBlclZpZXcucGFwZXJWaWV3O1xuICAgIH1cblxuICAgIGlzUGFwZXJWaWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFwZXJWaWV3LnBhcGVyVmlldztcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1VzZXJSZXNvdXJjZVNtYWxsfSBmcm9tICcuL3VzZXItcmVzb3VyY2Utc21hbGwnO1xuaW1wb3J0IHtHcm91cH0gZnJvbSAnLi9ncm91cCc7XG5pbXBvcnQge0F1dGhvcml0eX0gZnJvbSAnLi9hdXRob3JpdHknO1xuaW1wb3J0IHtQcm9jZXNzUm9sZX0gZnJvbSAnLi9wcm9jZXNzLXJvbGUnO1xuXG4vKipcbiAqIFRoZSB1c2VyIG9iamVjdCBhcyBzZW50IGJ5IGJhY2tlbmQuIFRoZSBmcm9udGVuZCB0cmFuc2Zvcm1zIHRoaXMgb2JqZWN0IHdpdGggdGhlIGhlbHAgb2Yge0BsaW5rIFVzZXJUcmFuc2Zvcm1lcn1cbiAqIGFuZCB1c2VzIHRoZSB0cmFuc2Zvcm1lZCBvYmplY3QgdG8gaGFuZGxlIGFsbCBmcm9udGVuZCBsb2dpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyUmVzb3VyY2UgZXh0ZW5kcyBVc2VyUmVzb3VyY2VTbWFsbCB7XG4gICAgdGVsTnVtYmVyPzogc3RyaW5nO1xuICAgIGdyb3VwczogQXJyYXk8R3JvdXA+O1xuICAgIGF1dGhvcml0aWVzOiBBcnJheTxBdXRob3JpdHk+O1xuICAgIG5leHRHcm91cHM6IEFycmF5PHN0cmluZz47XG4gICAgcHJvY2Vzc1JvbGVzOiBBcnJheTxQcm9jZXNzUm9sZT47XG4gICAgX2xpbmtzPzogYW55O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1VzZXJSZXNvdXJjZVNtYWxsfSBmcm9tICcuL3VzZXItcmVzb3VyY2Utc21hbGwnO1xuaW1wb3J0IHtHcm91cH0gZnJvbSAnLi9ncm91cCc7XG5pbXBvcnQge0F1dGhvcml0eX0gZnJvbSAnLi9hdXRob3JpdHknO1xuaW1wb3J0IHtQcm9jZXNzUm9sZX0gZnJvbSAnLi9wcm9jZXNzLXJvbGUnO1xuXG4vKipcbiAqIFRoZSB1c2VyIG9iamVjdCBhcyBzZW50IGJ5IGJhY2tlbmQuIFRoZSBmcm9udGVuZCB0cmFuc2Zvcm1zIHRoaXMgb2JqZWN0IHdpdGggdGhlIGhlbHAgb2Yge0BsaW5rIFVzZXJUcmFuc2Zvcm1lcn1cbiAqIGFuZCB1c2VzIHRoZSB0cmFuc2Zvcm1lZCBvYmplY3QgdG8gaGFuZGxlIGFsbCBmcm9udGVuZCBsb2dpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyUmVzb3VyY2UgZXh0ZW5kcyBVc2VyUmVzb3VyY2VTbWFsbCB7XG4gICAgdGVsTnVtYmVyPzogc3RyaW5nO1xuICAgIGdyb3VwczogQXJyYXk8R3JvdXA+O1xuICAgIGF1dGhvcml0aWVzOiBBcnJheTxBdXRob3JpdHk+O1xuICAgIG5leHRHcm91cHM6IEFycmF5PHN0cmluZz47XG4gICAgcHJvY2Vzc1JvbGVzOiBBcnJheTxQcm9jZXNzUm9sZT47XG4gICAgaW1wZXJzb25hdGVkPzogVXNlclJlc291cmNlO1xuICAgIF9saW5rcz86IGFueTtcbn1cbiJdfQ==
@@ -5,4 +5,6 @@ export const NAE_NEW_CASE_COMPONENT = new InjectionToken('NaeNewCaseComponent');
5
5
  export const NAE_OPTION_SELECTOR_COMPONENT = new InjectionToken('NaeOptionSelectorComponent');
6
6
  export const NAE_SAVE_FILTER_COMPONENT = new InjectionToken('NaeSaveFilterComponent');
7
7
  export const NAE_LOAD_FILTER_COMPONENT = new InjectionToken('NaeLoadFilterComponent');
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9pbmplY3Rpb24tdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHlCQUF5QixDQUFDLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHFCQUFxQixDQUFDLENBQUM7QUFDeEcsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQXlCLDRCQUE0QixDQUFDLENBQUM7QUFDdEgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBOQUVfVVNFUl9BU1NJR05fQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVVc2VyQXNzaWduQ29tcG9uZW50Jyk7XG5leHBvcnQgY29uc3QgTkFFX0ZJTEVTX1VQTE9BRF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTx1bmtub3duPj4oJ05hZUZpbGVzVXBsb2FkQ29tcG9uZW50Jyk7XG5leHBvcnQgY29uc3QgTkFFX05FV19DQVNFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnRUeXBlPHVua25vd24+PignTmFlTmV3Q2FzZUNvbXBvbmVudCcpO1xuZXhwb3J0IGNvbnN0IE5BRV9PUFRJT05fU0VMRUNUT1JfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVPcHRpb25TZWxlY3RvckNvbXBvbmVudCcpO1xuZXhwb3J0IGNvbnN0IE5BRV9TQVZFX0ZJTFRFUl9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTx1bmtub3duPj4oJ05hZVNhdmVGaWx0ZXJDb21wb25lbnQnKTtcbmV4cG9ydCBjb25zdCBOQUVfTE9BRF9GSUxURVJfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVMb2FkRmlsdGVyQ29tcG9uZW50Jyk7XG4iXX0=
8
+ export const NAE_USER_IMPERSONATE_COMPONENT = new InjectionToken('NaeUserImpersonateComponent');
9
+ export const NAE_ADMIN_IMPERSONATE_COMPONENT = new InjectionToken('NaeAdminImpersonateComponent');
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9pbmplY3Rpb24tdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHlCQUF5QixDQUFDLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHFCQUFxQixDQUFDLENBQUM7QUFDeEcsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQXlCLDRCQUE0QixDQUFDLENBQUM7QUFDdEgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQXlCLDZCQUE2QixDQUFDLENBQUM7QUFDeEgsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQXlCLDhCQUE4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBOQUVfVVNFUl9BU1NJR05fQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVVc2VyQXNzaWduQ29tcG9uZW50Jyk7XG5leHBvcnQgY29uc3QgTkFFX0ZJTEVTX1VQTE9BRF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTx1bmtub3duPj4oJ05hZUZpbGVzVXBsb2FkQ29tcG9uZW50Jyk7XG5leHBvcnQgY29uc3QgTkFFX05FV19DQVNFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnRUeXBlPHVua25vd24+PignTmFlTmV3Q2FzZUNvbXBvbmVudCcpO1xuZXhwb3J0IGNvbnN0IE5BRV9PUFRJT05fU0VMRUNUT1JfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVPcHRpb25TZWxlY3RvckNvbXBvbmVudCcpO1xuZXhwb3J0IGNvbnN0IE5BRV9TQVZFX0ZJTFRFUl9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTx1bmtub3duPj4oJ05hZVNhdmVGaWx0ZXJDb21wb25lbnQnKTtcbmV4cG9ydCBjb25zdCBOQUVfTE9BRF9GSUxURVJfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVMb2FkRmlsdGVyQ29tcG9uZW50Jyk7XG5leHBvcnQgY29uc3QgTkFFX1VTRVJfSU1QRVJTT05BVEVfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVVc2VySW1wZXJzb25hdGVDb21wb25lbnQnKTtcbmV4cG9ydCBjb25zdCBOQUVfQURNSU5fSU1QRVJTT05BVEVfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudFR5cGU8dW5rbm93bj4+KCdOYWVBZG1pbkltcGVyc29uYXRlQ29tcG9uZW50Jyk7XG4iXX0=
@@ -9,6 +9,7 @@ export * from './filter-selector/filter-selector-list-item/abstract-filter-selec
9
9
  export * from './option-selector/abstract-option-selector.component';
10
10
  export * from './save-filter/abstract-save-filter.component';
11
11
  export * from './load-filter/abstract-load-filter.component';
12
+ export * from './user-impersonate/abstract-user-impersonate.component';
12
13
  /* MODELS */
13
14
  export * from './filter-selector/model/filter-selector-injection-data';
14
15
  export * from './option-selector/model/option-selector-injection-data';
@@ -17,4 +18,5 @@ export * from './save-filter/model/save-filter-injection-data';
17
18
  export * from './load-filter/model/load-filter-injection-data';
18
19
  export * from './injection-tokens';
19
20
  export * from './new-case/model/new-case-injection-data';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBGQUEwRixDQUFDO0FBQ3pHLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELFlBQVk7QUFDWixjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ09NUE9ORU5UUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQtbmV0L2Fic3RyYWN0LWltcG9ydC1uZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbmV3LWNhc2UvYWJzdHJhY3QtbmV3LWNhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hc3NpZ24vYWJzdHJhY3QtdXNlci1hc3NpZ24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hc3NpZ24vdXNlci1hc3NpZ24tbGlzdC9hYnN0cmFjdC11c2VyLWFzc2lnbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYXNzaWduL3VzZXItYXNzaWduLWxpc3QvdXNlci1hc3NpZ24taXRlbS9hYnN0cmFjdC11c2VyLWFzc2lnbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1zZWxlY3Rvci9hYnN0cmFjdC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLXNlbGVjdG9yL2ZpbHRlci1zZWxlY3Rvci1saXN0LWl0ZW0vYWJzdHJhY3QtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tc2VsZWN0b3IvYWJzdHJhY3Qtb3B0aW9uLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NhdmUtZmlsdGVyL2Fic3RyYWN0LXNhdmUtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWQtZmlsdGVyL2Fic3RyYWN0LWxvYWQtZmlsdGVyLmNvbXBvbmVudCc7XG5cbi8qIE1PREVMUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItc2VsZWN0b3IvbW9kZWwvZmlsdGVyLXNlbGVjdG9yLWluamVjdGlvbi1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uLXNlbGVjdG9yL21vZGVsL29wdGlvbi1zZWxlY3Rvci1pbmplY3Rpb24tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYXNzaWduL21vZGVsL3VzZXItbGlzdC1pbmplY3RlZC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vc2F2ZS1maWx0ZXIvbW9kZWwvc2F2ZS1maWx0ZXItaW5qZWN0aW9uLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkLWZpbHRlci9tb2RlbC9sb2FkLWZpbHRlci1pbmplY3Rpb24tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXctY2FzZS9tb2RlbC9uZXctY2FzZS1pbmplY3Rpb24tZGF0YSc7XG4iXX0=
21
+ export * from './user-impersonate/model/user-impersonate-injection-data';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBGQUEwRixDQUFDO0FBQ3pHLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsd0RBQXdELENBQUM7QUFFdkUsWUFBWTtBQUNaLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIENPTVBPTkVOVFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LW5ldC9hYnN0cmFjdC1pbXBvcnQtbmV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25ldy1jYXNlL2Fic3RyYWN0LW5ldy1jYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYXNzaWduL2Fic3RyYWN0LXVzZXItYXNzaWduLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYXNzaWduL3VzZXItYXNzaWduLWxpc3QvYWJzdHJhY3QtdXNlci1hc3NpZ24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFzc2lnbi91c2VyLWFzc2lnbi1saXN0L3VzZXItYXNzaWduLWl0ZW0vYWJzdHJhY3QtdXNlci1hc3NpZ24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItc2VsZWN0b3IvYWJzdHJhY3QtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1zZWxlY3Rvci9maWx0ZXItc2VsZWN0b3ItbGlzdC1pdGVtL2Fic3RyYWN0LWZpbHRlci1zZWxlY3Rvci1saXN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uLXNlbGVjdG9yL2Fic3RyYWN0LW9wdGlvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYXZlLWZpbHRlci9hYnN0cmFjdC1zYXZlLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkLWZpbHRlci9hYnN0cmFjdC1sb2FkLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWltcGVyc29uYXRlL2Fic3RyYWN0LXVzZXItaW1wZXJzb25hdGUuY29tcG9uZW50JztcblxuLyogTU9ERUxTICovXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1zZWxlY3Rvci9tb2RlbC9maWx0ZXItc2VsZWN0b3ItaW5qZWN0aW9uLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tc2VsZWN0b3IvbW9kZWwvb3B0aW9uLXNlbGVjdG9yLWluamVjdGlvbi1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1hc3NpZ24vbW9kZWwvdXNlci1saXN0LWluamVjdGVkLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9zYXZlLWZpbHRlci9tb2RlbC9zYXZlLWZpbHRlci1pbmplY3Rpb24tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWQtZmlsdGVyL21vZGVsL2xvYWQtZmlsdGVyLWluamVjdGlvbi1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0aW9uLXRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL25ldy1jYXNlL21vZGVsL25ldy1jYXNlLWluamVjdGlvbi1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1pbXBlcnNvbmF0ZS9tb2RlbC91c2VyLWltcGVyc29uYXRlLWluamVjdGlvbi1kYXRhJztcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { NAE_SIDE_MENU_CONTROL } from '../../side-menu-injection-token';
3
+ import { AbstractCaseViewComponent } from '../../../view/case-view/abstract-case-view';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../view/case-view/service/case-view-service";
6
+ import * as i2 from "../../models/side-menu-control";
7
+ export class AbstractUserImpersonateComponent extends AbstractCaseViewComponent {
8
+ constructor(_sideMenuControl, caseViewService) {
9
+ super(caseViewService);
10
+ this._sideMenuControl = _sideMenuControl;
11
+ if (this._sideMenuControl.data) {
12
+ this._injectedData = this._sideMenuControl.data;
13
+ }
14
+ }
15
+ handleCaseClick(clickedCase) {
16
+ this._sideMenuControl.close({
17
+ opened: false,
18
+ message: 'User selected',
19
+ data: {
20
+ stringId: clickedCase.stringId
21
+ }
22
+ });
23
+ }
24
+ }
25
+ AbstractUserImpersonateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractUserImpersonateComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: i1.CaseViewService }], target: i0.ɵɵFactoryTarget.Component });
26
+ AbstractUserImpersonateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractUserImpersonateComponent, selector: "ncc-abstract-user-impersonate", usesInheritance: true, ngImport: i0, template: '', isInline: true });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractUserImpersonateComponent, decorators: [{
28
+ type: Component,
29
+ args: [{
30
+ selector: 'ncc-abstract-user-impersonate',
31
+ template: ''
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i2.SideMenuControl, decorators: [{
34
+ type: Inject,
35
+ args: [NAE_SIDE_MENU_CONTROL]
36
+ }] }, { type: i1.CaseViewService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1pbXBlcnNvbmF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1pbXBlcnNvbmF0ZS9hYnN0cmFjdC11c2VyLWltcGVyc29uYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUd0RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQVFyRixNQUFNLE9BQWdCLGdDQUFpQyxTQUFRLHlCQUF5QjtJQUlwRixZQUErRCxnQkFBaUMsRUFDMUUsZUFBZ0M7UUFDbEQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRm9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFHNUYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQW9DLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQWlCO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDeEIsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUU7Z0JBQ0YsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO2FBQ0E7U0FDckMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OEhBcEJpQixnQ0FBZ0Msa0JBSXBCLHFCQUFxQjtrSEFKakMsZ0NBQWdDLDRGQUZ4QyxFQUFFOzRGQUVNLGdDQUFnQztrQkFKckQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBSzBCLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTaWRlTWVudUNvbnRyb2x9IGZyb20gJy4uLy4uL21vZGVscy9zaWRlLW1lbnUtY29udHJvbCc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkFFX1NJREVfTUVOVV9DT05UUk9MfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7Q2FzZVZpZXdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi92aWV3L2Nhc2Utdmlldy9zZXJ2aWNlL2Nhc2Utdmlldy1zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9jYXNlJztcbmltcG9ydCB7QWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vdmlldy9jYXNlLXZpZXcvYWJzdHJhY3QtY2FzZS12aWV3JztcbmltcG9ydCB7VXNlckltcGVyc29uYXRlQ29uZmlnTWV0YWRhdGF9IGZyb20gJy4uLy4uLy4uL2ltcGVyc29uYXRpb24vbW9kZWxzL3VzZXItaW1wZXJzb25hdGUtY29uZmlnLW1ldGFkYXRhJztcbmltcG9ydCB7VXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YX0gZnJvbSAnLi9tb2RlbC91c2VyLWltcGVyc29uYXRlLWluamVjdGlvbi1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtdXNlci1pbXBlcnNvbmF0ZScsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VXNlckltcGVyc29uYXRlQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogVXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihASW5qZWN0KE5BRV9TSURFX01FTlVfQ09OVFJPTCkgcHJvdGVjdGVkIF9zaWRlTWVudUNvbnRyb2w6IFNpZGVNZW51Q29udHJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZVZpZXdTZXJ2aWNlOiBDYXNlVmlld1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoY2FzZVZpZXdTZXJ2aWNlKTtcbiAgICAgICAgaWYgKHRoaXMuX3NpZGVNZW51Q29udHJvbC5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9zaWRlTWVudUNvbnRyb2wuZGF0YSBhcyBVc2VySW1wZXJzb25hdGVJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ2FzZUNsaWNrKGNsaWNrZWRDYXNlOiBDYXNlKSB7XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ1VzZXIgc2VsZWN0ZWQnLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIHN0cmluZ0lkOiBjbGlja2VkQ2FzZS5zdHJpbmdJZFxuICAgICAgICAgICAgfSBhcyBVc2VySW1wZXJzb25hdGVDb25maWdNZXRhZGF0YVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbXBlcnNvbmF0ZS1pbmplY3Rpb24tZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy91c2VyLWltcGVyc29uYXRlL21vZGVsL3VzZXItaW1wZXJzb25hdGUtaW5qZWN0aW9uLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2lkZU1lbnVJbmplY3Rpb25EYXRhfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2lkZS1tZW51LWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YSBleHRlbmRzIFNpZGVNZW51SW5qZWN0aW9uRGF0YSB7XG4gICAgLyoqXG4gICAgICogQSBjYXNlIGZpbHRlciBvZiB0aGUgZmlsdGVyIGNhc2VzXG4gICAgICovXG4gICAgZmlsdGVyOiBGaWx0ZXI7XG59XG4iXX0=
@@ -3,5 +3,6 @@ export var SideMenuSize;
3
3
  SideMenuSize["SMALL"] = "side-menu-width-small";
4
4
  SideMenuSize["MEDIUM"] = "side-menu-width-medium";
5
5
  SideMenuSize["LARGE"] = "side-menu-width-large";
6
+ SideMenuSize["XL"] = "side-menu-width-xl";
6
7
  })(SideMenuSize || (SideMenuSize = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9tb2RlbHMvc2lkZS1tZW51LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUNwQiwrQ0FBK0IsQ0FBQTtJQUMvQixpREFBaUMsQ0FBQTtJQUNqQywrQ0FBK0IsQ0FBQTtBQUNuQyxDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTaWRlTWVudVNpemUge1xuICAgIFNNQUxMID0gJ3NpZGUtbWVudS13aWR0aC1zbWFsbCcsXG4gICAgTUVESVVNID0gJ3NpZGUtbWVudS13aWR0aC1tZWRpdW0nLFxuICAgIExBUkdFID0gJ3NpZGUtbWVudS13aWR0aC1sYXJnZSdcbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9tb2RlbHMvc2lkZS1tZW51LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUNwQiwrQ0FBK0IsQ0FBQTtJQUMvQixpREFBaUMsQ0FBQTtJQUNqQywrQ0FBK0IsQ0FBQTtJQUMvQix5Q0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTaWRlTWVudVNpemUge1xuICAgIFNNQUxMID0gJ3NpZGUtbWVudS13aWR0aC1zbWFsbCcsXG4gICAgTUVESVVNID0gJ3NpZGUtbWVudS13aWR0aC1tZWRpdW0nLFxuICAgIExBUkdFID0gJ3NpZGUtbWVudS13aWR0aC1sYXJnZScsXG4gICAgWEwgPSAnc2lkZS1tZW51LXdpZHRoLXhsJyxcbn1cbiJdfQ==
@@ -2,7 +2,7 @@
2
2
  * The user object that is used by the frontend in its logic.
3
3
  */
4
4
  export class User {
5
- constructor(id, email, firstName, lastName, authorities, roles, groups, nextGroups) {
5
+ constructor(id, email, firstName, lastName, authorities, roles, groups, nextGroups, impersonated) {
6
6
  this.id = id;
7
7
  this.email = email;
8
8
  this.firstName = firstName;
@@ -11,6 +11,7 @@ export class User {
11
11
  this.roles = roles;
12
12
  this.groups = groups;
13
13
  this.nextGroups = nextGroups;
14
+ this.impersonated = impersonated;
14
15
  }
15
16
  get fullName() {
16
17
  return this.firstName + ' ' + this.lastName;
@@ -33,5 +34,17 @@ export class User {
33
34
  isEmpty() {
34
35
  return this.id === '';
35
36
  }
37
+ /**
38
+ * @returns self if no impersonated user is present, or impersonated user otherwise
39
+ */
40
+ getSelfOrImpersonated() {
41
+ return this.isImpersonating() ? this.impersonated : this;
42
+ }
43
+ /**
44
+ * @returns true if user is impersonating another user
45
+ */
46
+ isImpersonating() {
47
+ return !!this.impersonated;
48
+ }
36
49
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXNlci9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxJQUFJO0lBRWIsWUFDVyxFQUFVLEVBQ1YsS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLFdBQTBCLEVBQzFCLEtBQXlCLEVBQ3pCLE1BQXNCLEVBQ3RCLFVBQTBCO1FBUDFCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBRXJDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb2Nlc3NSb2xlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Byb2Nlc3Mtcm9sZSc7XG5pbXBvcnQge0lVc2VyfSBmcm9tICcuL2l1c2VyJztcblxuLyoqXG4gKiBUaGUgdXNlciBvYmplY3QgdGhhdCBpcyB1c2VkIGJ5IHRoZSBmcm9udGVuZCBpbiBpdHMgbG9naWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIGltcGxlbWVudHMgSVVzZXIge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgZW1haWw6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGZpcnN0TmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgbGFzdE5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGF1dGhvcml0aWVzOiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBwdWJsaWMgcm9sZXM6IEFycmF5PFByb2Nlc3NSb2xlPixcbiAgICAgICAgcHVibGljIGdyb3Vwcz86IEFycmF5PHN0cmluZz4sXG4gICAgICAgIHB1YmxpYyBuZXh0R3JvdXBzPzogQXJyYXk8c3RyaW5nPlxuICAgICkge1xuICAgIH1cblxuICAgIGdldCBmdWxsTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlyc3ROYW1lICsgJyAnICsgdGhpcy5sYXN0TmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTeW5vbnltIGZvciBgZmlyc3ROYW1lYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlyc3ROYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN5bm9ueW0gZm9yIGBsYXN0TmFtZWAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBzdXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3ROYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgVXNlciBvYmplY3QgcmVwcmVzZW50cyBhbiBlbXB0eSB1c2VyLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgPT09ICcnO1xuICAgIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXNlci9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxJQUFJO0lBRWIsWUFDVyxFQUFVLEVBQ1YsS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLFdBQTBCLEVBQzFCLEtBQXlCLEVBQ3pCLE1BQXNCLEVBQ3RCLFVBQTBCLEVBQzFCLFlBQW1CO1FBUm5CLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFPO0lBRTlCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9jZXNzUm9sZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9wcm9jZXNzLXJvbGUnO1xuaW1wb3J0IHtJVXNlcn0gZnJvbSAnLi9pdXNlcic7XG5cbi8qKlxuICogVGhlIHVzZXIgb2JqZWN0IHRoYXQgaXMgdXNlZCBieSB0aGUgZnJvbnRlbmQgaW4gaXRzIGxvZ2ljLlxuICovXG5leHBvcnQgY2xhc3MgVXNlciBpbXBsZW1lbnRzIElVc2VyIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGVtYWlsOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBmaXJzdE5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxhc3ROYW1lOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBhdXRob3JpdGllczogQXJyYXk8c3RyaW5nPixcbiAgICAgICAgcHVibGljIHJvbGVzOiBBcnJheTxQcm9jZXNzUm9sZT4sXG4gICAgICAgIHB1YmxpYyBncm91cHM/OiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBwdWJsaWMgbmV4dEdyb3Vwcz86IEFycmF5PHN0cmluZz4sXG4gICAgICAgIHB1YmxpYyBpbXBlcnNvbmF0ZWQ/OiBVc2VyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgZ2V0IGZ1bGxOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWUgKyAnICcgKyB0aGlzLmxhc3ROYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN5bm9ueW0gZm9yIGBmaXJzdE5hbWVgLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3lub255bSBmb3IgYGxhc3ROYW1lYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHN1cm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdE5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBVc2VyIG9iamVjdCByZXByZXNlbnRzIGFuIGVtcHR5IHVzZXIsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCA9PT0gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgc2VsZiBpZiBubyBpbXBlcnNvbmF0ZWQgdXNlciBpcyBwcmVzZW50LCBvciBpbXBlcnNvbmF0ZWQgdXNlciBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZk9ySW1wZXJzb25hdGVkKCk6IFVzZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ltcGVyc29uYXRpbmcoKSA/IHRoaXMuaW1wZXJzb25hdGVkIDogdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHVzZXIgaXMgaW1wZXJzb25hdGluZyBhbm90aGVyIHVzZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmltcGVyc29uYXRlZDtcbiAgICB9XG59XG4iXX0=
@@ -5,8 +5,9 @@ export class UserComparatorService {
5
5
  constructor(_userService) {
6
6
  this._userService = _userService;
7
7
  }
8
- compareUsers(user) {
9
- return user.email === this._userService.user.email ||
8
+ compareUsers(user, acceptImpersonator = true) {
9
+ const loggedUser = acceptImpersonator ? this._userService.user.getSelfOrImpersonated() : this._userService.user;
10
+ return user.email === loggedUser.email ||
10
11
  user.email.includes('anonymous') && this._userService.user.email.includes('anonymous');
11
12
  }
12
13
  }
@@ -18,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
18
19
  providedIn: 'root'
19
20
  }]
20
21
  }], ctorParameters: function () { return [{ type: i1.UserService }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jb21wYXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pDLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsWUFBeUI7UUFBekIsaUJBQVksR0FBWixZQUFZLENBQWE7SUFBSSxDQUFDO0lBRTNDLFlBQVksQ0FBQyxJQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0YsQ0FBQzs7bUhBUFUscUJBQXFCO3VIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7SVVzZXJ9IGZyb20gJy4uL21vZGVscy9pdXNlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJDb21wYXJhdG9yU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgY29tcGFyZVVzZXJzKHVzZXI6IElVc2VyKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdXNlci5lbWFpbCA9PT0gdGhpcy5fdXNlclNlcnZpY2UudXNlci5lbWFpbCB8fFxuICAgICAgICAgIHVzZXIuZW1haWwuaW5jbHVkZXMoJ2Fub255bW91cycpICYmIHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXIuZW1haWwuaW5jbHVkZXMoJ2Fub255bW91cycpO1xuICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jb21wYXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pDLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsWUFBeUI7UUFBekIsaUJBQVksR0FBWixZQUFZLENBQWE7SUFBSSxDQUFDO0lBRTNDLFlBQVksQ0FBQyxJQUFXLEVBQUUscUJBQThCLElBQUk7UUFDL0QsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ2hILE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7O21IQVJVLHFCQUFxQjt1SEFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0lVc2VyfSBmcm9tICcuLi9tb2RlbHMvaXVzZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyQ29tcGFyYXRvclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkgeyB9XG5cbiAgcHVibGljIGNvbXBhcmVVc2Vycyh1c2VyOiBJVXNlciwgYWNjZXB0SW1wZXJzb25hdG9yOiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgY29uc3QgbG9nZ2VkVXNlciA9IGFjY2VwdEltcGVyc29uYXRvciA/IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXIuZ2V0U2VsZk9ySW1wZXJzb25hdGVkKCkgOiB0aGlzLl91c2VyU2VydmljZS51c2VyO1xuICAgICAgcmV0dXJuIHVzZXIuZW1haWwgPT09IGxvZ2dlZFVzZXIuZW1haWwgfHxcbiAgICAgICAgICB1c2VyLmVtYWlsLmluY2x1ZGVzKCdhbm9ueW1vdXMnKSAmJiB0aGlzLl91c2VyU2VydmljZS51c2VyLmVtYWlsLmluY2x1ZGVzKCdhbm9ueW1vdXMnKTtcbiAgfVxufVxuIl19