@tuki-io/tuki-widgets 0.0.172 → 0.0.174

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 (101) hide show
  1. package/contact-center/cc-readiness/cc-readiness.service.d.ts +1 -0
  2. package/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.d.ts +2 -1
  3. package/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.d.ts +2 -1
  4. package/contact-center/shared/api.service.d.ts +1 -1
  5. package/di2mt/shared/services/api.service.d.ts +1 -1
  6. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +2 -1
  7. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +2 -1
  8. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +2 -1
  9. package/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.d.ts +2 -1
  10. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +2 -1
  11. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +2 -1
  12. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +2 -1
  13. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +2 -1
  14. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +2 -1
  15. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +2 -1
  16. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  17. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +4 -1
  18. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +6 -3
  19. package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +5 -2
  20. package/esm2020/contact-center/shared/api.service.mjs +1 -6
  21. package/esm2020/di2mt/shared/services/api.service.mjs +1 -6
  22. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  23. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +7 -4
  24. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +6 -3
  25. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +6 -3
  26. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +21 -18
  27. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +8 -5
  28. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +6 -3
  29. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +6 -3
  30. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +8 -5
  31. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +6 -3
  32. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +6 -3
  33. package/esm2020/user-creation/src/app.constants.mjs +1 -1
  34. package/esm2020/user-creation/src/classes/site.mjs +1 -1
  35. package/esm2020/user-creation/src/shared/api/api.service.mjs +1 -6
  36. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
  37. package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
  38. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +9 -3
  39. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +3 -3
  40. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +6 -3
  41. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +41 -5
  42. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  43. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  44. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  45. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  46. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  47. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  48. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  49. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  50. package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
  51. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  52. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  53. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  54. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  55. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  56. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  57. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  58. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  59. package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
  60. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  61. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  62. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  63. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  64. package/esm2020/user-manage/src/services/user.service.mjs +1 -1
  65. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  66. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  67. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  68. package/esm2020/users-list/src/app.constants.mjs +1 -1
  69. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  70. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  71. package/esm2020/users-list/src/services/user.service.mjs +1 -1
  72. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  73. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +12 -8
  74. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  75. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +72 -47
  76. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  77. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +56 -15
  78. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  79. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +8 -8
  80. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  81. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  82. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  83. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +2 -2
  84. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  85. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +12 -8
  86. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  87. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +72 -47
  88. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  89. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +55 -15
  90. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  91. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +8 -8
  92. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  93. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  94. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  95. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +2 -2
  96. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  97. package/package.json +1 -1
  98. package/user-creation/src/shared/api/api.service.d.ts +1 -1
  99. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +3 -1
  100. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +2 -1
  101. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +4 -0
@@ -7,6 +7,7 @@ export declare class CcReadinessService {
7
7
  fetchUccxServerEntityStats(customerId: number): Observable<UccxServerEntityStats[]>;
8
8
  fetchWebexLicenseUsageSummary(customerId: number): Observable<WebexLicenseUsageSummary[]>;
9
9
  setToken(token: string): void;
10
+ setHost(host: string): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CcReadinessService, never>;
11
12
  static ɵprov: i0.ɵɵInjectableDeclaration<CcReadinessService>;
12
13
  }
@@ -29,6 +29,7 @@ interface LicenseRequirementViewModel {
29
29
  }
30
30
  export declare class LicencesRequirementComponent implements OnInit, OnDestroy, OnChanges {
31
31
  customerId: number;
32
+ host: string;
32
33
  token: string;
33
34
  private readonly ccReadinessService;
34
35
  private subscription?;
@@ -48,6 +49,6 @@ export declare class LicencesRequirementComponent implements OnInit, OnDestroy,
48
49
  private buildChartOptions;
49
50
  private normalizePercentage;
50
51
  static ɵfac: i0.ɵɵFactoryDeclaration<LicencesRequirementComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<LicencesRequirementComponent, "cc-licenses-requirement", never, { "customerId": "customerId"; "token": "token"; }, {}, never, never, false, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<LicencesRequirementComponent, "cc-licenses-requirement", never, { "customerId": "customerId"; "host": "host"; "token": "token"; }, {}, never, never, false, never>;
52
53
  }
53
54
  export {};
@@ -11,6 +11,7 @@ interface SummaryGridItem {
11
11
  }
12
12
  export declare class SummaryGridComponent implements OnInit {
13
13
  customerId: number;
14
+ host: string;
14
15
  token: string;
15
16
  private readonly ccReadinessService;
16
17
  readonly ENTITY_CONFIG: {
@@ -21,6 +22,6 @@ export declare class SummaryGridComponent implements OnInit {
21
22
  data$: Observable<SummaryGridItem[]>;
22
23
  ngOnInit(): void;
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<SummaryGridComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<SummaryGridComponent, "cc-summary-grid", never, { "customerId": "customerId"; "token": "token"; }, {}, never, never, false, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<SummaryGridComponent, "cc-summary-grid", never, { "customerId": "customerId"; "host": "host"; "token": "token"; }, {}, never, never, false, never>;
25
26
  }
26
27
  export {};
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class APIService {
5
5
  private httpClient;
6
- token: any;
6
+ token: string;
7
7
  apiUrl: string;
8
8
  constructor(httpClient: HttpClient);
9
9
  fetch(url: string, params?: any, cache?: boolean): Observable<any>;
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class APIService {
5
5
  private httpClient;
6
- token: any;
6
+ token: string;
7
7
  apiUrl: string;
8
8
  constructor(httpClient: HttpClient);
9
9
  fetch(url: string, params?: any, cache?: boolean): Observable<any>;
@@ -14,6 +14,7 @@ export declare class SiteUpgradeDataTableComponent implements OnInit, OnDestroy
14
14
  readonly STATUS_ENTRIES: {
15
15
  [key: string]: import("../../../shared/types/constants").Status;
16
16
  };
17
+ host: string;
17
18
  token: string;
18
19
  customerId: string;
19
20
  columns: TableColumn[];
@@ -65,5 +66,5 @@ export declare class SiteUpgradeDataTableComponent implements OnInit, OnDestroy
65
66
  private initCollectProgress;
66
67
  ngOnDestroy(): void;
67
68
  static ɵfac: i0.ɵɵFactoryDeclaration<SiteUpgradeDataTableComponent, never>;
68
- static ɵcmp: i0.ɵɵComponentDeclaration<SiteUpgradeDataTableComponent, "tk-site-upgrade-data-table", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiteUpgradeDataTableComponent, "tk-site-upgrade-data-table", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
69
70
  }
@@ -5,6 +5,7 @@ export declare class AlreadyUpgradedSitesCardComponent implements OnInit, OnDest
5
5
  private apiService;
6
6
  private upgradeOverviewService;
7
7
  private destroy$;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -15,5 +16,5 @@ export declare class AlreadyUpgradedSitesCardComponent implements OnInit, OnDest
15
16
  ngOnInit(): void;
16
17
  ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<AlreadyUpgradedSitesCardComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<AlreadyUpgradedSitesCardComponent, "tk-already-upgraded-sites-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlreadyUpgradedSitesCardComponent, "tk-already-upgraded-sites-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
20
  }
@@ -5,6 +5,7 @@ export declare class AlreadyUpgradedUsersCardComponent implements OnInit, OnDest
5
5
  private apiService;
6
6
  private upgradeOverviewService;
7
7
  private destroy$;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -15,5 +16,5 @@ export declare class AlreadyUpgradedUsersCardComponent implements OnInit, OnDest
15
16
  ngOnInit(): void;
16
17
  ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<AlreadyUpgradedUsersCardComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<AlreadyUpgradedUsersCardComponent, "tk-already-upgraded-users-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlreadyUpgradedUsersCardComponent, "tk-already-upgraded-users-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
20
  }
@@ -5,6 +5,7 @@ export declare class PendingActivationUsersCardComponent implements OnInit, OnDe
5
5
  private apiService;
6
6
  private upgradeOverviewService;
7
7
  private destroy$;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -15,5 +16,5 @@ export declare class PendingActivationUsersCardComponent implements OnInit, OnDe
15
16
  ngOnInit(): void;
16
17
  ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PendingActivationUsersCardComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<PendingActivationUsersCardComponent, "tk-pending-activation-users-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<PendingActivationUsersCardComponent, "tk-pending-activation-users-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
20
  }
@@ -5,6 +5,7 @@ export declare class PreconditionsStatusListCardComponent implements OnInit, OnD
5
5
  private apiService;
6
6
  private destroy$;
7
7
  private upgradeOverviewService;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -14,5 +15,5 @@ export declare class PreconditionsStatusListCardComponent implements OnInit, OnD
14
15
  ngOnDestroy(): void;
15
16
  private init;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<PreconditionsStatusListCardComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<PreconditionsStatusListCardComponent, "tk-preconditions-status-list-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<PreconditionsStatusListCardComponent, "tk-preconditions-status-list-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
18
19
  }
@@ -5,6 +5,7 @@ export declare class ReadyToUpgradeSitesCardComponent implements OnInit, OnDestr
5
5
  private apiService;
6
6
  private upgradeOverviewService;
7
7
  private destroy$;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -15,5 +16,5 @@ export declare class ReadyToUpgradeSitesCardComponent implements OnInit, OnDestr
15
16
  ngOnInit(): void;
16
17
  ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ReadyToUpgradeSitesCardComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<ReadyToUpgradeSitesCardComponent, "tk-ready-to-upgrade-sites-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ReadyToUpgradeSitesCardComponent, "tk-ready-to-upgrade-sites-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
20
  }
@@ -5,6 +5,7 @@ export declare class ReadyToUpgradeUsersCardComponent implements OnInit, OnDestr
5
5
  private apiService;
6
6
  private upgradeOverviewService;
7
7
  private destroy$;
8
+ host: string;
8
9
  token: string;
9
10
  customerId: string;
10
11
  title: string;
@@ -15,5 +16,5 @@ export declare class ReadyToUpgradeUsersCardComponent implements OnInit, OnDestr
15
16
  ngOnInit(): void;
16
17
  ngOnDestroy(): void;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ReadyToUpgradeUsersCardComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<ReadyToUpgradeUsersCardComponent, "tk-ready-to-upgrade-users-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ReadyToUpgradeUsersCardComponent, "tk-ready-to-upgrade-users-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
19
20
  }
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export declare class SiteInfrastructureStatusListCardComponent implements OnInit {
4
4
  title: string;
5
5
  items: any;
6
+ host: string;
6
7
  token: string;
7
8
  customerId: string;
8
9
  private apiService;
@@ -11,5 +12,5 @@ export declare class SiteInfrastructureStatusListCardComponent implements OnInit
11
12
  ngOnInit(): void;
12
13
  ngOnDestroy(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<SiteInfrastructureStatusListCardComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<SiteInfrastructureStatusListCardComponent, "tk-site-infrastructure-status-list-card", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiteInfrastructureStatusListCardComponent, "tk-site-infrastructure-status-list-card", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
15
16
  }
@@ -4,6 +4,7 @@ export declare class UpgradeStateComparisonChartCardComponent implements OnInit,
4
4
  private apiService;
5
5
  private upgradeOverviewService;
6
6
  private destroy$;
7
+ host: string;
7
8
  type: 'Users' | 'Sites';
8
9
  token: string;
9
10
  customerId: string;
@@ -14,5 +15,5 @@ export declare class UpgradeStateComparisonChartCardComponent implements OnInit,
14
15
  ngOnInit(): void;
15
16
  ngOnDestroy(): void;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<UpgradeStateComparisonChartCardComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<UpgradeStateComparisonChartCardComponent, "tk-upgrade-state-comparison-chart-card", never, { "type": "type"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<UpgradeStateComparisonChartCardComponent, "tk-upgrade-state-comparison-chart-card", never, { "host": "host"; "type": "type"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
18
19
  }
@@ -18,6 +18,7 @@ export declare class UserUpgradeDataTableComponent implements OnInit, OnDestroy
18
18
  readonly DEPENDENCIES_STATUS: {
19
19
  [key: string]: string;
20
20
  };
21
+ host: string;
21
22
  token: string;
22
23
  customerId: string;
23
24
  columns: TableColumn[];
@@ -61,7 +62,7 @@ export declare class UserUpgradeDataTableComponent implements OnInit, OnDestroy
61
62
  getStatusClass(status: string): string;
62
63
  protected readonly pageSizeOptions: number[];
63
64
  static ɵfac: i0.ɵɵFactoryDeclaration<UserUpgradeDataTableComponent, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<UserUpgradeDataTableComponent, "tk-user-upgrade-data-table", never, { "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserUpgradeDataTableComponent, "tk-user-upgrade-data-table", never, { "host": "host"; "token": "token"; "customerId": "customerId"; }, {}, never, never, false, never>;
65
66
  }
66
67
  interface PaginationDataDtoInterface {
67
68
  total: number;
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
68
68
  ]
69
69
  }]
70
70
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3MvY2MtcmVhZGluZXNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUE0QnpELE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkF0QjFCLDRCQUE0QjtRQUM1QixvQkFBb0I7UUFDcEIsYUFBYSxhQUdiLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlLGFBR2YsNEJBQTRCO1FBQzVCLG9CQUFvQjtnSEFHWCxpQkFBaUIsWUFqQjFCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlOzRGQU9OLGlCQUFpQjtrQkF4QjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1bW1hcnlHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL3N1bW1hcnktZ3JpZC9zdW1tYXJ5LWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdBcGV4Y2hhcnRzTW9kdWxlIH0gZnJvbSAnbmctYXBleGNoYXJ0cyc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50LFxyXG4gICAgU3VtbWFyeUdyaWRDb21wb25lbnQsXHJcbiAgICBDYXJkQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTmdBcGV4Y2hhcnRzTW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGljZW5jZXNSZXF1aXJlbWVudENvbXBvbmVudCxcclxuICAgIFN1bW1hcnlHcmlkQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2NSZWFkaW5lc3NNb2R1bGUgeyB9XHJcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3MvY2MtcmVhZGluZXNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUE0QnpELE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkF0QjFCLDRCQUE0QjtRQUM1QixvQkFBb0I7UUFDcEIsYUFBYSxhQUdiLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlLGFBR2YsNEJBQTRCO1FBQzVCLG9CQUFvQjtnSEFHWCxpQkFBaUIsWUFqQjFCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlOzRGQU9OLGlCQUFpQjtrQkF4QjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdW1tYXJ5R3JpZENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdBcGV4Y2hhcnRzTW9kdWxlIH0gZnJvbSAnbmctYXBleGNoYXJ0cyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBMaWNlbmNlc1JlcXVpcmVtZW50Q29tcG9uZW50LFxuICAgIFN1bW1hcnlHcmlkQ29tcG9uZW50LFxuICAgIENhcmRDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIE5nQXBleGNoYXJ0c01vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGljZW5jZXNSZXF1aXJlbWVudENvbXBvbmVudCxcbiAgICBTdW1tYXJ5R3JpZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENjUmVhZGluZXNzTW9kdWxlIHsgfVxuIl19
@@ -23,6 +23,9 @@ export class CcReadinessService {
23
23
  setToken(token) {
24
24
  this.api.token = token;
25
25
  }
26
+ setHost(host) {
27
+ this.api.apiUrl = host;
28
+ }
26
29
  }
27
30
  CcReadinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
31
  CcReadinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CcReadinessService, providedIn: 'root' });
@@ -32,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
32
35
  providedIn: 'root'
33
36
  }]
34
37
  }], ctorParameters: function () { return []; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2MtcmVhZGluZXNzL2NjLXJlYWRpbmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFjLEdBQUcsRUFBMEIsTUFBTSxNQUFNLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0I7UUFGaUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQixDQUFDO0lBRWpCLDBCQUEwQixDQUFDLFVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLGFBQWE7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxVQUFrQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7O2dIQXRCVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWNjeFNlcnZlckVudGl0eVN0YXRzLCBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnkgfSBmcm9tICcuL3R5cGVzL2NjLXJlYWRpbmVzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL3NoYXJlZC9hcGkuZW5kcG9pbnRzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDY1JlYWRpbmVzc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBmZXRjaFVjY3hTZXJ2ZXJFbnRpdHlTdGF0cyhjdXN0b21lcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFVjY3hTZXJ2ZXJFbnRpdHlTdGF0c1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGkuZmV0Y2goQVBJLlJFQURJTkVTUy5VQ0NYX1NFUlZFUl9FTlRJVFlfU1RBVFMoY3VzdG9tZXJJZCkpXHJcbiAgICAgIC5waXBlKG1hcCgoc3RhdHM6IFVjY3hTZXJ2ZXJFbnRpdHlTdGF0c1tdKSA9PiB7XHJcbiAgICAgICAgc3RhdHMuZm9yRWFjaChzdGF0ID0+IHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGRlbGV0ZSBzdGF0LmNvdW50cy5yZWFzb25Db2RlcztcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3RhdHM7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGZldGNoV2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5KGN1c3RvbWVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5W10+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaS5mZXRjaChBUEkuUkVBRElORVNTLkxJQ0VOU0VfVVNBR0VfU1VNTUFSWShjdXN0b21lcklkKSk7XHJcbiAgfVxyXG5cclxuICBzZXRUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwaS50b2tlbiA9IHRva2VuO1xyXG4gIH1cclxufSJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtcmVhZGluZXNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvY29udGFjdC1jZW50ZXIvY2MtcmVhZGluZXNzL2NjLXJlYWRpbmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFjLEdBQUcsRUFBMEIsTUFBTSxNQUFNLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0I7UUFGaUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQixDQUFDO0lBRWpCLDBCQUEwQixDQUFDLFVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLGFBQWE7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxVQUFrQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7Z0hBMUJVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFVjY3hTZXJ2ZXJFbnRpdHlTdGF0cywgV2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5IH0gZnJvbSAnLi90eXBlcy9jYy1yZWFkaW5lc3MnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vc2hhcmVkL2FwaS5lbmRwb2ludHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENjUmVhZGluZXNzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgZmV0Y2hVY2N4U2VydmVyRW50aXR5U3RhdHMoY3VzdG9tZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVY2N4U2VydmVyRW50aXR5U3RhdHNbXT4ge1xuICAgIHJldHVybiB0aGlzLmFwaS5mZXRjaChBUEkuUkVBRElORVNTLlVDQ1hfU0VSVkVSX0VOVElUWV9TVEFUUyhjdXN0b21lcklkKSlcbiAgICAgIC5waXBlKG1hcCgoc3RhdHM6IFVjY3hTZXJ2ZXJFbnRpdHlTdGF0c1tdKSA9PiB7XG4gICAgICAgIHN0YXRzLmZvckVhY2goc3RhdCA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGRlbGV0ZSBzdGF0LmNvdW50cy5yZWFzb25Db2RlcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzdGF0cztcbiAgICAgIH0pKTtcbiAgfVxuXG4gIGZldGNoV2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5KGN1c3RvbWVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5hcGkuZmV0Y2goQVBJLlJFQURJTkVTUy5MSUNFTlNFX1VTQUdFX1NVTU1BUlkoY3VzdG9tZXJJZCkpO1xuICB9XG5cbiAgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXBpLnRva2VuID0gdG9rZW47XG4gIH1cblxuICBzZXRIb3N0KGhvc3Q6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXBpLmFwaVVybCA9IGhvc3Q7XG4gIH1cbn0iXX0=
@@ -49,6 +49,7 @@ export class LicencesRequirementComponent {
49
49
  this.error = false;
50
50
  this.viewModel = null;
51
51
  this.selectedSummaryIndex = 0;
52
+ this.ccReadinessService.setHost(this.host);
52
53
  this.ccReadinessService.setToken(this.token);
53
54
  this.subscription = this.ccReadinessService.fetchWebexLicenseUsageSummary(numericCustomerId)
54
55
  .pipe(catchError(error => {
@@ -179,13 +180,15 @@ export class LicencesRequirementComponent {
179
180
  }
180
181
  }
181
182
  LicencesRequirementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LicencesRequirementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
- LicencesRequirementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LicencesRequirementComponent, selector: "cc-licenses-requirement", inputs: { customerId: "customerId", token: "token" }, usesOnChanges: true, ngImport: i0, template: "<tk-card title=\"Licenses requirement\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div\r\n class=\"widget-body\"\r\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\r\n >\r\n <div class=\"left-section\">\r\n <mat-select\r\n [(value)]=\"selectedSummaryIndex\"\r\n (selectionChange)=\"onFilterChange($event.value)\"\r\n class=\"filter-select\"\r\n >\r\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n\r\n <div class=\"chart-section\">\r\n <div class=\"chart-wrapper\">\r\n <apx-chart\r\n [series]=\"viewModel.chartOptions.series\"\r\n [chart]=\"viewModel.chartOptions.chart\"\r\n [labels]=\"viewModel.chartOptions.labels\"\r\n [colors]=\"viewModel.chartOptions.colors\"\r\n [legend]=\"viewModel.chartOptions.legend\"\r\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\r\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\r\n [tooltip]=\"viewModel.chartOptions.tooltip\"\r\n >\r\n </apx-chart>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\r\n <span\r\n class=\"legend-marker\"\r\n [style.backgroundColor]=\"item.color\"\r\n ></span>\r\n <span class=\"legend-label\">{{ item.label }}</span>\r\n <span class=\"legend-value\">{{ item.count | number }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\" aria-hidden=\"true\"></div>\r\n\r\n <div class=\"table-section\">\r\n <div class=\"lic-table-header\">\r\n <span>License</span>\r\n <span>Required</span>\r\n </div>\r\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\r\n <span>{{ row.label }}</span>\r\n <span>{{ row.value | number }}</span>\r\n </div>\r\n <div class=\"table-row total-row\">\r\n <span>Total</span>\r\n <span>{{ viewModel.totalRequired | number }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #widgetState>\r\n <div class=\"state-message\" *ngIf=\"loading\">\r\n Loading license requirements\u2026\r\n </div>\r\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\r\n Unable to load license requirements.\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\r\n No license data available.\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</tk-card>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
183
+ LicencesRequirementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LicencesRequirementComponent, selector: "cc-licenses-requirement", inputs: { customerId: "customerId", host: "host", token: "token" }, usesOnChanges: true, ngImport: i0, template: "<tk-card title=\"Licenses requirement\">\n <ng-container ngProjectAs=\"card-content\">\n <div\n class=\"widget-body\"\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\n >\n <div class=\"left-section\">\n <mat-select\n [(value)]=\"selectedSummaryIndex\"\n (selectionChange)=\"onFilterChange($event.value)\"\n class=\"filter-select\"\n >\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\n {{ option }}\n </mat-option>\n </mat-select>\n\n <div class=\"chart-section\">\n <div class=\"chart-wrapper\">\n <apx-chart\n [series]=\"viewModel.chartOptions.series\"\n [chart]=\"viewModel.chartOptions.chart\"\n [labels]=\"viewModel.chartOptions.labels\"\n [colors]=\"viewModel.chartOptions.colors\"\n [legend]=\"viewModel.chartOptions.legend\"\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\n [tooltip]=\"viewModel.chartOptions.tooltip\"\n >\n </apx-chart>\n </div>\n <div class=\"legend\">\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\n <span\n class=\"legend-marker\"\n [style.backgroundColor]=\"item.color\"\n ></span>\n <span class=\"legend-label\">{{ item.label }}</span>\n <span class=\"legend-value\">{{ item.count | number }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"divider\" aria-hidden=\"true\"></div>\n\n <div class=\"table-section\">\n <div class=\"lic-table-header\">\n <span>License</span>\n <span>Required</span>\n </div>\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\n <span>{{ row.label }}</span>\n <span>{{ row.value | number }}</span>\n </div>\n <div class=\"table-row total-row\">\n <span>Total</span>\n <span>{{ viewModel.totalRequired | number }}</span>\n </div>\n </div>\n </div>\n\n <ng-template #widgetState>\n <div class=\"state-message\" *ngIf=\"loading\">\n Loading license requirements\u2026\n </div>\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\n Unable to load license requirements.\n </div>\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\n No license data available.\n </div>\n </ng-template>\n </ng-container>\n</tk-card>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ChartComponent, selector: "apx-chart", inputs: ["chart", "annotations", "colors", "dataLabels", "series", "stroke", "labels", "legend", "markers", "noData", "fill", "tooltip", "plotOptions", "responsive", "xaxis", "yaxis", "forecastDataPoints", "grid", "states", "title", "subtitle", "theme", "autoUpdateSeries"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
183
184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LicencesRequirementComponent, decorators: [{
184
185
  type: Component,
185
- args: [{ selector: 'cc-licenses-requirement', template: "<tk-card title=\"Licenses requirement\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div\r\n class=\"widget-body\"\r\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\r\n >\r\n <div class=\"left-section\">\r\n <mat-select\r\n [(value)]=\"selectedSummaryIndex\"\r\n (selectionChange)=\"onFilterChange($event.value)\"\r\n class=\"filter-select\"\r\n >\r\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n\r\n <div class=\"chart-section\">\r\n <div class=\"chart-wrapper\">\r\n <apx-chart\r\n [series]=\"viewModel.chartOptions.series\"\r\n [chart]=\"viewModel.chartOptions.chart\"\r\n [labels]=\"viewModel.chartOptions.labels\"\r\n [colors]=\"viewModel.chartOptions.colors\"\r\n [legend]=\"viewModel.chartOptions.legend\"\r\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\r\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\r\n [tooltip]=\"viewModel.chartOptions.tooltip\"\r\n >\r\n </apx-chart>\r\n </div>\r\n <div class=\"legend\">\r\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\r\n <span\r\n class=\"legend-marker\"\r\n [style.backgroundColor]=\"item.color\"\r\n ></span>\r\n <span class=\"legend-label\">{{ item.label }}</span>\r\n <span class=\"legend-value\">{{ item.count | number }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\" aria-hidden=\"true\"></div>\r\n\r\n <div class=\"table-section\">\r\n <div class=\"lic-table-header\">\r\n <span>License</span>\r\n <span>Required</span>\r\n </div>\r\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\r\n <span>{{ row.label }}</span>\r\n <span>{{ row.value | number }}</span>\r\n </div>\r\n <div class=\"table-row total-row\">\r\n <span>Total</span>\r\n <span>{{ viewModel.totalRequired | number }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #widgetState>\r\n <div class=\"state-message\" *ngIf=\"loading\">\r\n Loading license requirements\u2026\r\n </div>\r\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\r\n Unable to load license requirements.\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\r\n No license data available.\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</tk-card>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"] }]
186
+ args: [{ selector: 'cc-licenses-requirement', template: "<tk-card title=\"Licenses requirement\">\n <ng-container ngProjectAs=\"card-content\">\n <div\n class=\"widget-body\"\n *ngIf=\"!loading && !error && viewModel; else widgetState\"\n >\n <div class=\"left-section\">\n <mat-select\n [(value)]=\"selectedSummaryIndex\"\n (selectionChange)=\"onFilterChange($event.value)\"\n class=\"filter-select\"\n >\n <mat-option *ngFor=\"let option of filters; index as i\" [value]=\"i\">\n {{ option }}\n </mat-option>\n </mat-select>\n\n <div class=\"chart-section\">\n <div class=\"chart-wrapper\">\n <apx-chart\n [series]=\"viewModel.chartOptions.series\"\n [chart]=\"viewModel.chartOptions.chart\"\n [labels]=\"viewModel.chartOptions.labels\"\n [colors]=\"viewModel.chartOptions.colors\"\n [legend]=\"viewModel.chartOptions.legend\"\n [plotOptions]=\"viewModel.chartOptions.plotOptions\"\n [dataLabels]=\"viewModel.chartOptions.dataLabels\"\n [tooltip]=\"viewModel.chartOptions.tooltip\"\n >\n </apx-chart>\n </div>\n <div class=\"legend\">\n <div class=\"legend-item\" *ngFor=\"let item of viewModel.legendItems\">\n <span\n class=\"legend-marker\"\n [style.backgroundColor]=\"item.color\"\n ></span>\n <span class=\"legend-label\">{{ item.label }}</span>\n <span class=\"legend-value\">{{ item.count | number }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"divider\" aria-hidden=\"true\"></div>\n\n <div class=\"table-section\">\n <div class=\"lic-table-header\">\n <span>License</span>\n <span>Required</span>\n </div>\n <div class=\"table-row\" *ngFor=\"let row of viewModel.rows\">\n <span>{{ row.label }}</span>\n <span>{{ row.value | number }}</span>\n </div>\n <div class=\"table-row total-row\">\n <span>Total</span>\n <span>{{ viewModel.totalRequired | number }}</span>\n </div>\n </div>\n </div>\n\n <ng-template #widgetState>\n <div class=\"state-message\" *ngIf=\"loading\">\n Loading license requirements\u2026\n </div>\n <div class=\"state-message error\" *ngIf=\"!loading && error\">\n Unable to load license requirements.\n </div>\n <div class=\"state-message\" *ngIf=\"!loading && !error && !viewModel\">\n No license data available.\n </div>\n </ng-template>\n </ng-container>\n</tk-card>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;width:100%;box-sizing:border-box}.filter-select{font-family:Inter,Inter,sans-serif;font-size:14px;min-width:140px;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem;background-color:#fff}.filter-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff}:host ::ng-deep .filter-select.mat-mdc-select:hover{border-color:#d1d5db}:host ::ng-deep .filter-select.mat-mdc-select.mat-focused{border-color:#16a693}:host ::ng-deep .filter-select .mat-mdc-select-trigger{font-size:14px;padding:.5rem .75rem}:host ::ng-deep .filter-select .mat-mdc-select-value{color:#111827}:host ::ng-deep .filter-select .mat-mdc-select-arrow-wrapper{padding-left:.5rem}.widget-body{display:flex;gap:2.5rem;align-items:flex-start}.left-section{flex:2;display:flex;flex-direction:column;gap:1rem}.chart-section{display:flex;gap:1.5rem;align-items:center}.chart-wrapper{width:220px;min-height:220px;flex-shrink:0}.chart-wrapper apx-chart{width:220px!important;height:220px!important}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:Inter,Inter,sans-serif;font-size:14px}.legend-marker{width:14px;height:14px;border-radius:50%;display:inline-flex}.legend-label{color:#4b5563}.legend-value{margin-left:auto;font-weight:600;color:#111827}.divider{width:1px;min-height:200px;align-self:stretch;background:#e5e7eb}.table-section{flex:3;display:flex;flex-direction:column;gap:.75rem;font-family:Inter,Inter,sans-serif}.lic-table-header,.table-row{display:flex;justify-content:space-between;font-size:14px}.lic-table-header{font-weight:600;color:#6b7280;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.table-row{color:#111827}.total-row{font-weight:700;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.state-message{font-family:Inter,Inter,sans-serif;font-size:14px;color:#6b7280}.state-message.error{color:#b91c1c}@media (max-width: 960px){.widget-body{flex-direction:column}.divider{display:none}.chart-section{justify-content:space-between}}:host ::ng-deep .apexcharts-legend{display:none!important}\n"] }]
186
187
  }], propDecorators: { customerId: [{
187
188
  type: Input
189
+ }], host: [{
190
+ type: Input
188
191
  }], token: [{
189
192
  type: Input
190
193
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXJlYWRpbmVzcy93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9saWNlbmNlcy1yZXF1aXJlbWVudC9saWNlbmNlcy1yZXF1aXJlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFpQ2hFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFPRixNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBU21CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBR2pFLGNBQVMsR0FBdUMsSUFBSSxDQUFDO1FBQ3JELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUVqQixZQUFPLEdBQW9DLElBQUksQ0FBQztL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V0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRixPQUFPO1lBQ0wsTUFBTTtZQUNOLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUsR0FBRzthQUNaO1lBQ0QsTUFBTTtZQUNOLE1BQU07WUFDTixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELFdBQVcsRUFBRTtnQkFDWCxHQUFHLEVBQUU7b0JBQ0gsS0FBSyxFQUFFO3dCQUNMLElBQUksRUFBRSxLQUFLO3FCQUNaO2lCQUNGO2FBQ0Y7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsQ0FBQyxPQUFPO2FBQ2xCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELGdEQUFnRDtRQUNoRCxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFDLENBQUM7OzBIQS9MVSw0QkFBNEI7OEdBQTVCLDRCQUE0QiwwSUMvQ3pDLGswRkEyRUE7NEZENUJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwZXhDaGFydCwgQXBleERhdGFMYWJlbHMsIEFwZXhMZWdlbmQsIEFwZXhOb25BeGlzQ2hhcnRTZXJpZXMsIEFwZXhQbG90T3B0aW9ucywgQXBleFRvb2x0aXAgfSBmcm9tICduZy1hcGV4Y2hhcnRzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2NSZWFkaW5lc3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2MtcmVhZGluZXNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnkgfSBmcm9tICcuLi8uLi90eXBlcy9jYy1yZWFkaW5lc3MnO1xyXG5cclxuaW50ZXJmYWNlIExpY2Vuc2VMZWdlbmRJdGVtIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbiAgcGVyY2VudGFnZTogbnVtYmVyO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBMaWNlbnNlVGFibGVSb3cge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIExpY2Vuc2VDaGFydE9wdGlvbnMge1xyXG4gIHNlcmllczogQXBleE5vbkF4aXNDaGFydFNlcmllcztcclxuICBjaGFydDogQXBleENoYXJ0O1xyXG4gIGxhYmVsczogc3RyaW5nW107XHJcbiAgY29sb3JzOiBzdHJpbmdbXTtcclxuICBsZWdlbmQ6IEFwZXhMZWdlbmQ7XHJcbiAgcGxvdE9wdGlvbnM6IEFwZXhQbG90T3B0aW9ucztcclxuICBkYXRhTGFiZWxzOiBBcGV4RGF0YUxhYmVscztcclxuICB0b29sdGlwOiBBcGV4VG9vbHRpcDtcclxufVxyXG5cclxuaW50ZXJmYWNlIExpY2Vuc2VSZXF1aXJlbWVudFZpZXdNb2RlbCB7XHJcbiAgY2hhcnRPcHRpb25zOiBMaWNlbnNlQ2hhcnRPcHRpb25zO1xyXG4gIGxlZ2VuZEl0ZW1zOiBMaWNlbnNlTGVnZW5kSXRlbVtdO1xyXG4gIHJvd3M6IExpY2Vuc2VUYWJsZVJvd1tdO1xyXG4gIHRvdGFsUmVxdWlyZWQ6IG51bWJlcjtcclxufVxyXG5cclxuY29uc3QgTEVHRU5EX0NPTE9SUyA9IHtcclxuICBleGlzdGluZzogJyMxNkE2OTMnLFxyXG4gIG1pc3Npbmc6ICcjODA4MDgwJyxcclxuICBlbXB0eTogJyNFMEUwRTAnXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NjLWxpY2Vuc2VzLXJlcXVpcmVtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpY2VuY2VzUmVxdWlyZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjdXN0b21lcklkITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGNjUmVhZGluZXNzU2VydmljZSA9IGluamVjdChDY1JlYWRpbmVzc1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICB2aWV3TW9kZWw6IExpY2Vuc2VSZXF1aXJlbWVudFZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBlcnJvciA9IGZhbHNlO1xyXG5cclxuICBmaWx0ZXJzOiBzdHJpbmdbXSA9IFsnQWxsJ107XHJcbiAgc2VsZWN0ZWRTdW1tYXJ5SW5kZXggPSAwO1xyXG5cclxuICBwcml2YXRlIHN1bW1hcnk6IFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZFN1bW1hcmllcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICgoY2hhbmdlc1snY3VzdG9tZXJJZCddICYmICFjaGFuZ2VzWydjdXN0b21lcklkJ10uZmlyc3RDaGFuZ2UpIHx8XHJcbiAgICAgIChjaGFuZ2VzWyd0b2tlbiddICYmICFjaGFuZ2VzWyd0b2tlbiddLmZpcnN0Q2hhbmdlKSkge1xyXG4gICAgICB0aGlzLmxvYWRTdW1tYXJpZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRmlsdGVyQ2hhbmdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghaXNOYU4oaW5kZXgpICYmIGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmZpbHRlcnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFN1bW1hcmllcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IG51bWVyaWNDdXN0b21lcklkID0gTnVtYmVyKHRoaXMuY3VzdG9tZXJJZCk7XHJcbiAgICBpZiAoIW51bWVyaWNDdXN0b21lcklkIHx8ICF0aGlzLnRva2VuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB0aGlzLnZpZXdNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3VtbWFyeUluZGV4ID0gMDtcclxuXHJcbiAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRUb2tlbih0aGlzLnRva2VuKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jY1JlYWRpbmVzc1NlcnZpY2UuZmV0Y2hXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnkobnVtZXJpY0N1c3RvbWVySWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignVW5hYmxlIHRvIGxvYWQgV2ViZXggbGljZW5zZSB1c2FnZSBzdW1tYXJ5JywgZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5lcnJvciA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gb2Y8V2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5W10+KFtdKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGl0ZW1zID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnUmF3IEFQSSByZXNwb25zZTonLCBpdGVtcyk7XHJcbiAgICAgICAgLy8gSGFuZGxlIGJvdGggYXJyYXkgYW5kIHNpbmdsZSBvYmplY3QgcmVzcG9uc2VzXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbXMpICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc3VtbWFyeSA9IGl0ZW1zWzBdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbXMgJiYgdHlwZW9mIGl0ZW1zID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtcykpIHtcclxuICAgICAgICAgIC8vIElmIHNpbmdsZSBvYmplY3QgcmV0dXJuZWQsIHVzZSBpdCBkaXJlY3RseVxyXG4gICAgICAgICAgdGhpcy5zdW1tYXJ5ID0gaXRlbXMgYXMgdW5rbm93biBhcyBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VtbWFyeSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCdWlsZCBmaWx0ZXJzIGR5bmFtaWNhbGx5IGZyb20gbGljZW5zZSBuYW1lc1xyXG4gICAgICAgIGlmICh0aGlzLnN1bW1hcnk/LmxpY2Vuc2VzPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVycyA9IFsnQWxsJywgLi4udGhpcy5zdW1tYXJ5LmxpY2Vuc2VzLm1hcChsID0+IGwubmFtZSldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcnMgPSBbJ0FsbCddO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBzdW1tYXJ5OicsIHRoaXMuc3VtbWFyeSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoMCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RGaWx0ZXIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFN1bW1hcnlJbmRleCA9IGluZGV4O1xyXG4gICAgaWYgKCF0aGlzLnN1bW1hcnkpIHtcclxuICAgICAgdGhpcy52aWV3TW9kZWwgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdNb2RlbCA9IHRoaXMubWFwU3VtbWFyeVRvVmlld01vZGVsKHRoaXMuc3VtbWFyeSwgaW5kZXgpO1xyXG4gICAgY29uc29sZS5sb2coJ0NyZWF0ZWQgdmlld01vZGVsIGZvciBmaWx0ZXIgaW5kZXgnLCBpbmRleCwgJzonLCB0aGlzLnZpZXdNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcFN1bW1hcnlUb1ZpZXdNb2RlbChzdW1tYXJ5OiBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnksIGZpbHRlckluZGV4OiBudW1iZXIpOiBMaWNlbnNlUmVxdWlyZW1lbnRWaWV3TW9kZWwge1xyXG4gICAgY29uc29sZS5sb2coJ01hcHBpbmcgc3VtbWFyeSB0byB2aWV3TW9kZWw6Jywgc3VtbWFyeSwgJ2ZpbHRlckluZGV4OicsIGZpbHRlckluZGV4KTtcclxuXHJcbiAgICBjb25zdCBsaWNlbnNlcyA9IHN1bW1hcnkubGljZW5zZXMgfHwgW107XHJcblxyXG4gICAgbGV0IGV4aXN0aW5nQ291bnQ6IG51bWJlcjtcclxuICAgIGxldCBtaXNzaW5nQ291bnQ6IG51bWJlcjtcclxuICAgIGxldCByb3dzOiBMaWNlbnNlVGFibGVSb3dbXTtcclxuXHJcbiAgICBpZiAoZmlsdGVySW5kZXggPT09IDApIHtcclxuICAgICAgLy8gXCJBbGxcIiBmaWx0ZXI6IHNob3cgdG90YWxFeGlzdGluZ0xpY2Vuc2VzIHZzIHRvdGFsIGNvbnN1bWVkVW5pdHNcclxuICAgICAgZXhpc3RpbmdDb3VudCA9IHN1bW1hcnkudG90YWxFeGlzdGluZ0xpY2Vuc2VzID8/IDA7XHJcbiAgICAgIG1pc3NpbmdDb3VudCA9IGxpY2Vuc2VzLnJlZHVjZSgoYWNjLCBsKSA9PiBhY2MgKyBsLmNvbnN1bWVkVW5pdHMsIDApO1xyXG4gICAgICByb3dzID0gbGljZW5zZXMubWFwKGwgPT4gKHtcclxuICAgICAgICBsYWJlbDogbC5uYW1lLFxyXG4gICAgICAgIHZhbHVlOiBsLmNvbnN1bWVkVW5pdHNcclxuICAgICAgfSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU3BlY2lmaWMgbGljZW5zZSBmaWx0ZXI6IHNob3cgMCBleGlzdGluZyB2cyBjb25zdW1lZFVuaXRzIGZvciB0aGF0IGxpY2Vuc2VcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRMaWNlbnNlID0gbGljZW5zZXNbZmlsdGVySW5kZXggLSAxXTtcclxuICAgICAgZXhpc3RpbmdDb3VudCA9IDA7XHJcbiAgICAgIG1pc3NpbmdDb3VudCA9IHNlbGVjdGVkTGljZW5zZT8uY29uc3VtZWRVbml0cyA/PyAwO1xyXG4gICAgICByb3dzID0gc2VsZWN0ZWRMaWNlbnNlID8gW3sgbGFiZWw6IHNlbGVjdGVkTGljZW5zZS5uYW1lLCB2YWx1ZTogc2VsZWN0ZWRMaWNlbnNlLmNvbnN1bWVkVW5pdHMgfV0gOiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0b3RhbExpY2Vuc2VzID0gZXhpc3RpbmdDb3VudCArIG1pc3NpbmdDb3VudDtcclxuXHJcbiAgICBjb25zdCBsZWdlbmRJdGVtczogTGljZW5zZUxlZ2VuZEl0ZW1bXSA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnRXhpc3RpbmcgbGljZW5zZXMnLFxyXG4gICAgICAgIGNvdW50OiBleGlzdGluZ0NvdW50LFxyXG4gICAgICAgIHBlcmNlbnRhZ2U6IHRvdGFsTGljZW5zZXMgPiAwID8gKGV4aXN0aW5nQ291bnQgLyB0b3RhbExpY2Vuc2VzKSAqIDEwMCA6IDAsXHJcbiAgICAgICAgY29sb3I6IExFR0VORF9DT0xPUlMuZXhpc3RpbmdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnTWlzc2luZyBsaWNlbnNlcycsXHJcbiAgICAgICAgY291bnQ6IG1pc3NpbmdDb3VudCxcclxuICAgICAgICBwZXJjZW50YWdlOiB0b3RhbExpY2Vuc2VzID4gMCA/IChtaXNzaW5nQ291bnQgLyB0b3RhbExpY2Vuc2VzKSAqIDEwMCA6IDAsXHJcbiAgICAgICAgY29sb3I6IExFR0VORF9DT0xPUlMubWlzc2luZ1xyXG4gICAgICB9XHJcbiAgICBdO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdMZWdlbmQgaXRlbXM6JywgbGVnZW5kSXRlbXMpO1xyXG4gICAgY29uc29sZS5sb2coJ1RhYmxlIHJvd3M6Jywgcm93cyk7XHJcblxyXG4gICAgY29uc3QgdG90YWxSZXF1aXJlZCA9IGV4aXN0aW5nQ291bnQgKyBtaXNzaW5nQ291bnQ7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2hhcnRPcHRpb25zOiB0aGlzLmJ1aWxkQ2hhcnRPcHRpb25zKGxlZ2VuZEl0ZW1zKSxcclxuICAgICAgbGVnZW5kSXRlbXMsXHJcbiAgICAgIHJvd3MsXHJcbiAgICAgIHRvdGFsUmVxdWlyZWRcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQ2hhcnRPcHRpb25zKGxlZ2VuZEl0ZW1zOiBMaWNlbnNlTGVnZW5kSXRlbVtdKTogTGljZW5zZUNoYXJ0T3B0aW9ucyB7XHJcbiAgICBjb25zdCB0b3RhbENvdW50ID0gbGVnZW5kSXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IGFjYyArIGl0ZW0uY291bnQsIDApO1xyXG4gICAgY29uc3QgaXNFbXB0eSA9IHRvdGFsQ291bnQgPT09IDA7XHJcblxyXG4gICAgLy8gRm9yIGVtcHR5IGNoYXJ0LCBzaG93IGEgZnVsbCBsaWdodCBncmF5IGRvbnV0XHJcbiAgICBjb25zdCBzZXJpZXMgPSBpc0VtcHR5ID8gWzFdIDogbGVnZW5kSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5jb3VudCk7XHJcbiAgICBjb25zdCBsYWJlbHMgPSBpc0VtcHR5ID8gWydObyBkYXRhJ10gOiBsZWdlbmRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmxhYmVsKTtcclxuICAgIGNvbnN0IGNvbG9ycyA9IGlzRW1wdHkgPyBbTEVHRU5EX0NPTE9SUy5lbXB0eV0gOiBsZWdlbmRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmNvbG9yKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzZXJpZXMsXHJcbiAgICAgIGNoYXJ0OiB7XHJcbiAgICAgICAgdHlwZTogJ2RvbnV0JyxcclxuICAgICAgICBoZWlnaHQ6IDIyMFxyXG4gICAgICB9LFxyXG4gICAgICBsYWJlbHMsXHJcbiAgICAgIGNvbG9ycyxcclxuICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgc2hvdzogZmFsc2VcclxuICAgICAgfSxcclxuICAgICAgcGxvdE9wdGlvbnM6IHtcclxuICAgICAgICBwaWU6IHtcclxuICAgICAgICAgIGRvbnV0OiB7XHJcbiAgICAgICAgICAgIHNpemU6ICc3NSUnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBkYXRhTGFiZWxzOiB7XHJcbiAgICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgICAgfSxcclxuICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgIGVuYWJsZWQ6ICFpc0VtcHR5XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5vcm1hbGl6ZVBlcmNlbnRhZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIC8vIENvbnZlcnQgZGVjaW1hbCB0byBwZXJjZW50YWdlICgwLjk0ODcg4oaSIDk0LjkpXHJcbiAgICBjb25zdCBwZXJjZW50YWdlID0gdmFsdWUgKiAxMDA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwZXJjZW50YWdlICogMTApIC8gMTA7XHJcbiAgfVxyXG59XHJcbiIsIjx0ay1jYXJkIHRpdGxlPVwiTGljZW5zZXMgcmVxdWlyZW1lbnRcIj5cclxuICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiY2FyZC1jb250ZW50XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwid2lkZ2V0LWJvZHlcIlxyXG4gICAgICAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiB2aWV3TW9kZWw7IGVsc2Ugd2lkZ2V0U3RhdGVcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zZWN0aW9uXCI+XHJcbiAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgIFsodmFsdWUpXT1cInNlbGVjdGVkU3VtbWFyeUluZGV4XCJcclxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1zZWxlY3RcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyczsgaW5kZXggYXMgaVwiIFt2YWx1ZV09XCJpXCI+XHJcbiAgICAgICAgICAgIHt7IG9wdGlvbiB9fVxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxhcHgtY2hhcnRcclxuICAgICAgICAgICAgICBbc2VyaWVzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuc2VyaWVzXCJcclxuICAgICAgICAgICAgICBbY2hhcnRdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5jaGFydFwiXHJcbiAgICAgICAgICAgICAgW2xhYmVsc109XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLmxhYmVsc1wiXHJcbiAgICAgICAgICAgICAgW2NvbG9yc109XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLmNvbG9yc1wiXHJcbiAgICAgICAgICAgICAgW2xlZ2VuZF09XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLmxlZ2VuZFwiXHJcbiAgICAgICAgICAgICAgW3Bsb3RPcHRpb25zXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMucGxvdE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgIFtkYXRhTGFiZWxzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuZGF0YUxhYmVsc1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy50b29sdGlwXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2FweC1jaGFydD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2aWV3TW9kZWwubGVnZW5kSXRlbXNcIj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsZWdlbmQtbWFya2VyXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5jb2xvclwiXHJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtdmFsdWVcIj57eyBpdGVtLmNvdW50IHwgbnVtYmVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc2VjdGlvblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWMtdGFibGUtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8c3Bhbj5MaWNlbnNlPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+UmVxdWlyZWQ8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCByb3cgb2Ygdmlld01vZGVsLnJvd3NcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IHJvdy5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPnt7IHJvdy52YWx1ZSB8IG51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IHRvdGFsLXJvd1wiPlxyXG4gICAgICAgICAgPHNwYW4+VG90YWw8L3NwYW4+XHJcbiAgICAgICAgICA8c3Bhbj57eyB2aWV3TW9kZWwudG90YWxSZXF1aXJlZCB8IG51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3dpZGdldFN0YXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdGUtbWVzc2FnZVwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIExvYWRpbmcgbGljZW5zZSByZXF1aXJlbWVudHPigKZcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0ZS1tZXNzYWdlIGVycm9yXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBlcnJvclwiPlxyXG4gICAgICAgIFVuYWJsZSB0byBsb2FkIGxpY2Vuc2UgcmVxdWlyZW1lbnRzLlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0YXRlLW1lc3NhZ2VcIiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiAhdmlld01vZGVsXCI+XHJcbiAgICAgICAgTm8gbGljZW5zZSBkYXRhIGF2YWlsYWJsZS5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3RrLWNhcmQ+XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL2NvbnRhY3QtY2VudGVyL2NjLXJlYWRpbmVzcy93aWRnZXRzL2xpY2VuY2VzLXJlcXVpcmVtZW50L2xpY2VuY2VzLXJlcXVpcmVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9saWNlbmNlcy1yZXF1aXJlbWVudC9saWNlbmNlcy1yZXF1aXJlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFpQ2hFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFPRixNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBVW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBR2pFLGNBQVMsR0FBdUMsSUFBSSxDQUFDO1FBQ3JELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUVqQixZQUFPLEdBQW9DLElBQUksQ0FBQztL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cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBleENoYXJ0LCBBcGV4RGF0YUxhYmVscywgQXBleExlZ2VuZCwgQXBleE5vbkF4aXNDaGFydFNlcmllcywgQXBleFBsb3RPcHRpb25zLCBBcGV4VG9vbHRpcCB9IGZyb20gJ25nLWFwZXhjaGFydHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENjUmVhZGluZXNzU2VydmljZSB9IGZyb20gJy4uLy4uL2NjLXJlYWRpbmVzcy5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2NjLXJlYWRpbmVzcyc7XG5cbmludGVyZmFjZSBMaWNlbnNlTGVnZW5kSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNvdW50OiBudW1iZXI7XG4gIHBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgY29sb3I6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIExpY2Vuc2VUYWJsZVJvdyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBMaWNlbnNlQ2hhcnRPcHRpb25zIHtcbiAgc2VyaWVzOiBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzO1xuICBjaGFydDogQXBleENoYXJ0O1xuICBsYWJlbHM6IHN0cmluZ1tdO1xuICBjb2xvcnM6IHN0cmluZ1tdO1xuICBsZWdlbmQ6IEFwZXhMZWdlbmQ7XG4gIHBsb3RPcHRpb25zOiBBcGV4UGxvdE9wdGlvbnM7XG4gIGRhdGFMYWJlbHM6IEFwZXhEYXRhTGFiZWxzO1xuICB0b29sdGlwOiBBcGV4VG9vbHRpcDtcbn1cblxuaW50ZXJmYWNlIExpY2Vuc2VSZXF1aXJlbWVudFZpZXdNb2RlbCB7XG4gIGNoYXJ0T3B0aW9uczogTGljZW5zZUNoYXJ0T3B0aW9ucztcbiAgbGVnZW5kSXRlbXM6IExpY2Vuc2VMZWdlbmRJdGVtW107XG4gIHJvd3M6IExpY2Vuc2VUYWJsZVJvd1tdO1xuICB0b3RhbFJlcXVpcmVkOiBudW1iZXI7XG59XG5cbmNvbnN0IExFR0VORF9DT0xPUlMgPSB7XG4gIGV4aXN0aW5nOiAnIzE2QTY5MycsXG4gIG1pc3Npbmc6ICcjODA4MDgwJyxcbiAgZW1wdHk6ICcjRTBFMEUwJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2MtbGljZW5zZXMtcmVxdWlyZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGljZW5jZXMtcmVxdWlyZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWNlbmNlcy1yZXF1aXJlbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpY2VuY2VzUmVxdWlyZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcbiAgQElucHV0KCkgaG9zdCE6IHN0cmluZztcbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjY1JlYWRpbmVzc1NlcnZpY2UgPSBpbmplY3QoQ2NSZWFkaW5lc3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgdmlld01vZGVsOiBMaWNlbnNlUmVxdWlyZW1lbnRWaWV3TW9kZWwgfCBudWxsID0gbnVsbDtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuXG4gIGZpbHRlcnM6IHN0cmluZ1tdID0gWydBbGwnXTtcbiAgc2VsZWN0ZWRTdW1tYXJ5SW5kZXggPSAwO1xuXG4gIHByaXZhdGUgc3VtbWFyeTogV2ViZXhMaWNlbnNlVXNhZ2VTdW1tYXJ5IHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkU3VtbWFyaWVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ2N1c3RvbWVySWQnXSAmJiAhY2hhbmdlc1snY3VzdG9tZXJJZCddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3Rva2VuJ10gJiYgIWNoYW5nZXNbJ3Rva2VuJ10uZmlyc3RDaGFuZ2UpKSB7XG4gICAgICB0aGlzLmxvYWRTdW1tYXJpZXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkZpbHRlckNoYW5nZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCFpc05hTihpbmRleCkgJiYgaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKGluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRTdW1tYXJpZXMoKTogdm9pZCB7XG4gICAgY29uc3QgbnVtZXJpY0N1c3RvbWVySWQgPSBOdW1iZXIodGhpcy5jdXN0b21lcklkKTtcbiAgICBpZiAoIW51bWVyaWNDdXN0b21lcklkIHx8ICF0aGlzLnRva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XG4gICAgdGhpcy52aWV3TW9kZWwgPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWRTdW1tYXJ5SW5kZXggPSAwO1xuXG4gICAgdGhpcy5jY1JlYWRpbmVzc1NlcnZpY2Uuc2V0SG9zdCh0aGlzLmhvc3QpO1xuICAgIHRoaXMuY2NSZWFkaW5lc3NTZXJ2aWNlLnNldFRva2VuKHRoaXMudG9rZW4pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5mZXRjaFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeShudW1lcmljQ3VzdG9tZXJJZClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdVbmFibGUgdG8gbG9hZCBXZWJleCBsaWNlbnNlIHVzYWdlIHN1bW1hcnknLCBlcnJvcik7XG4gICAgICAgICAgdGhpcy5lcnJvciA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIG9mPFdlYmV4TGljZW5zZVVzYWdlU3VtbWFyeVtdPihbXSk7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnUmF3IEFQSSByZXNwb25zZTonLCBpdGVtcyk7XG4gICAgICAgIC8vIEhhbmRsZSBib3RoIGFycmF5IGFuZCBzaW5nbGUgb2JqZWN0IHJlc3BvbnNlc1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtcykgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc3VtbWFyeSA9IGl0ZW1zWzBdO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1zICYmIHR5cGVvZiBpdGVtcyA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbXMpKSB7XG4gICAgICAgICAgLy8gSWYgc2luZ2xlIG9iamVjdCByZXR1cm5lZCwgdXNlIGl0IGRpcmVjdGx5XG4gICAgICAgICAgdGhpcy5zdW1tYXJ5ID0gaXRlbXMgYXMgdW5rbm93biBhcyBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdW1tYXJ5ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1aWxkIGZpbHRlcnMgZHluYW1pY2FsbHkgZnJvbSBsaWNlbnNlIG5hbWVzXG4gICAgICAgIGlmICh0aGlzLnN1bW1hcnk/LmxpY2Vuc2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmZpbHRlcnMgPSBbJ0FsbCcsIC4uLnRoaXMuc3VtbWFyeS5saWNlbnNlcy5tYXAobCA9PiBsLm5hbWUpXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZpbHRlcnMgPSBbJ0FsbCddO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBzdW1tYXJ5OicsIHRoaXMuc3VtbWFyeSk7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKDApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEZpbHRlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFN1bW1hcnlJbmRleCA9IGluZGV4O1xuICAgIGlmICghdGhpcy5zdW1tYXJ5KSB7XG4gICAgICB0aGlzLnZpZXdNb2RlbCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmlld01vZGVsID0gdGhpcy5tYXBTdW1tYXJ5VG9WaWV3TW9kZWwodGhpcy5zdW1tYXJ5LCBpbmRleCk7XG4gICAgY29uc29sZS5sb2coJ0NyZWF0ZWQgdmlld01vZGVsIGZvciBmaWx0ZXIgaW5kZXgnLCBpbmRleCwgJzonLCB0aGlzLnZpZXdNb2RlbCk7XG4gIH1cblxuICBwcml2YXRlIG1hcFN1bW1hcnlUb1ZpZXdNb2RlbChzdW1tYXJ5OiBXZWJleExpY2Vuc2VVc2FnZVN1bW1hcnksIGZpbHRlckluZGV4OiBudW1iZXIpOiBMaWNlbnNlUmVxdWlyZW1lbnRWaWV3TW9kZWwge1xuICAgIGNvbnNvbGUubG9nKCdNYXBwaW5nIHN1bW1hcnkgdG8gdmlld01vZGVsOicsIHN1bW1hcnksICdmaWx0ZXJJbmRleDonLCBmaWx0ZXJJbmRleCk7XG5cbiAgICBjb25zdCBsaWNlbnNlcyA9IHN1bW1hcnkubGljZW5zZXMgfHwgW107XG5cbiAgICBsZXQgZXhpc3RpbmdDb3VudDogbnVtYmVyO1xuICAgIGxldCBtaXNzaW5nQ291bnQ6IG51bWJlcjtcbiAgICBsZXQgcm93czogTGljZW5zZVRhYmxlUm93W107XG5cbiAgICBpZiAoZmlsdGVySW5kZXggPT09IDApIHtcbiAgICAgIC8vIFwiQWxsXCIgZmlsdGVyOiBzaG93IHRvdGFsRXhpc3RpbmdMaWNlbnNlcyB2cyB0b3RhbCBjb25zdW1lZFVuaXRzXG4gICAgICBleGlzdGluZ0NvdW50ID0gc3VtbWFyeS50b3RhbEV4aXN0aW5nTGljZW5zZXMgPz8gMDtcbiAgICAgIG1pc3NpbmdDb3VudCA9IGxpY2Vuc2VzLnJlZHVjZSgoYWNjLCBsKSA9PiBhY2MgKyBsLmNvbnN1bWVkVW5pdHMsIDApO1xuICAgICAgcm93cyA9IGxpY2Vuc2VzLm1hcChsID0+ICh7XG4gICAgICAgIGxhYmVsOiBsLm5hbWUsXG4gICAgICAgIHZhbHVlOiBsLmNvbnN1bWVkVW5pdHNcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3BlY2lmaWMgbGljZW5zZSBmaWx0ZXI6IHNob3cgMCBleGlzdGluZyB2cyBjb25zdW1lZFVuaXRzIGZvciB0aGF0IGxpY2Vuc2VcbiAgICAgIGNvbnN0IHNlbGVjdGVkTGljZW5zZSA9IGxpY2Vuc2VzW2ZpbHRlckluZGV4IC0gMV07XG4gICAgICBleGlzdGluZ0NvdW50ID0gMDtcbiAgICAgIG1pc3NpbmdDb3VudCA9IHNlbGVjdGVkTGljZW5zZT8uY29uc3VtZWRVbml0cyA/PyAwO1xuICAgICAgcm93cyA9IHNlbGVjdGVkTGljZW5zZSA/IFt7IGxhYmVsOiBzZWxlY3RlZExpY2Vuc2UubmFtZSwgdmFsdWU6IHNlbGVjdGVkTGljZW5zZS5jb25zdW1lZFVuaXRzIH1dIDogW107XG4gICAgfVxuXG4gICAgY29uc3QgdG90YWxMaWNlbnNlcyA9IGV4aXN0aW5nQ291bnQgKyBtaXNzaW5nQ291bnQ7XG5cbiAgICBjb25zdCBsZWdlbmRJdGVtczogTGljZW5zZUxlZ2VuZEl0ZW1bXSA9IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdFeGlzdGluZyBsaWNlbnNlcycsXG4gICAgICAgIGNvdW50OiBleGlzdGluZ0NvdW50LFxuICAgICAgICBwZXJjZW50YWdlOiB0b3RhbExpY2Vuc2VzID4gMCA/IChleGlzdGluZ0NvdW50IC8gdG90YWxMaWNlbnNlcykgKiAxMDAgOiAwLFxuICAgICAgICBjb2xvcjogTEVHRU5EX0NPTE9SUy5leGlzdGluZ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdNaXNzaW5nIGxpY2Vuc2VzJyxcbiAgICAgICAgY291bnQ6IG1pc3NpbmdDb3VudCxcbiAgICAgICAgcGVyY2VudGFnZTogdG90YWxMaWNlbnNlcyA+IDAgPyAobWlzc2luZ0NvdW50IC8gdG90YWxMaWNlbnNlcykgKiAxMDAgOiAwLFxuICAgICAgICBjb2xvcjogTEVHRU5EX0NPTE9SUy5taXNzaW5nXG4gICAgICB9XG4gICAgXTtcblxuICAgIGNvbnNvbGUubG9nKCdMZWdlbmQgaXRlbXM6JywgbGVnZW5kSXRlbXMpO1xuICAgIGNvbnNvbGUubG9nKCdUYWJsZSByb3dzOicsIHJvd3MpO1xuXG4gICAgY29uc3QgdG90YWxSZXF1aXJlZCA9IGV4aXN0aW5nQ291bnQgKyBtaXNzaW5nQ291bnQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2hhcnRPcHRpb25zOiB0aGlzLmJ1aWxkQ2hhcnRPcHRpb25zKGxlZ2VuZEl0ZW1zKSxcbiAgICAgIGxlZ2VuZEl0ZW1zLFxuICAgICAgcm93cyxcbiAgICAgIHRvdGFsUmVxdWlyZWRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoYXJ0T3B0aW9ucyhsZWdlbmRJdGVtczogTGljZW5zZUxlZ2VuZEl0ZW1bXSk6IExpY2Vuc2VDaGFydE9wdGlvbnMge1xuICAgIGNvbnN0IHRvdGFsQ291bnQgPSBsZWdlbmRJdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gYWNjICsgaXRlbS5jb3VudCwgMCk7XG4gICAgY29uc3QgaXNFbXB0eSA9IHRvdGFsQ291bnQgPT09IDA7XG5cbiAgICAvLyBGb3IgZW1wdHkgY2hhcnQsIHNob3cgYSBmdWxsIGxpZ2h0IGdyYXkgZG9udXRcbiAgICBjb25zdCBzZXJpZXMgPSBpc0VtcHR5ID8gWzFdIDogbGVnZW5kSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5jb3VudCk7XG4gICAgY29uc3QgbGFiZWxzID0gaXNFbXB0eSA/IFsnTm8gZGF0YSddIDogbGVnZW5kSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5sYWJlbCk7XG4gICAgY29uc3QgY29sb3JzID0gaXNFbXB0eSA/IFtMRUdFTkRfQ09MT1JTLmVtcHR5XSA6IGxlZ2VuZEl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uY29sb3IpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNlcmllcyxcbiAgICAgIGNoYXJ0OiB7XG4gICAgICAgIHR5cGU6ICdkb251dCcsXG4gICAgICAgIGhlaWdodDogMjIwXG4gICAgICB9LFxuICAgICAgbGFiZWxzLFxuICAgICAgY29sb3JzLFxuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIHNob3c6IGZhbHNlXG4gICAgICB9LFxuICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgcGllOiB7XG4gICAgICAgICAgZG9udXQ6IHtcbiAgICAgICAgICAgIHNpemU6ICc3NSUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGF0YUxhYmVsczoge1xuICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgZW5hYmxlZDogIWlzRW1wdHlcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVQZXJjZW50YWdlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICghaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgLy8gQ29udmVydCBkZWNpbWFsIHRvIHBlcmNlbnRhZ2UgKDAuOTQ4NyDihpIgOTQuOSlcbiAgICBjb25zdCBwZXJjZW50YWdlID0gdmFsdWUgKiAxMDA7XG4gICAgcmV0dXJuIE1hdGgucm91bmQocGVyY2VudGFnZSAqIDEwKSAvIDEwO1xuICB9XG59XG4iLCI8dGstY2FyZCB0aXRsZT1cIkxpY2Vuc2VzIHJlcXVpcmVtZW50XCI+XG4gIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJjYXJkLWNvbnRlbnRcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIndpZGdldC1ib2R5XCJcbiAgICAgICpuZ0lmPVwiIWxvYWRpbmcgJiYgIWVycm9yICYmIHZpZXdNb2RlbDsgZWxzZSB3aWRnZXRTdGF0ZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc2VjdGlvblwiPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgIFsodmFsdWUpXT1cInNlbGVjdGVkU3VtbWFyeUluZGV4XCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLXNlbGVjdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcnM7IGluZGV4IGFzIGlcIiBbdmFsdWVdPVwiaVwiPlxuICAgICAgICAgICAge3sgb3B0aW9uIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXNlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGFweC1jaGFydFxuICAgICAgICAgICAgICBbc2VyaWVzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuc2VyaWVzXCJcbiAgICAgICAgICAgICAgW2NoYXJ0XT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuY2hhcnRcIlxuICAgICAgICAgICAgICBbbGFiZWxzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMubGFiZWxzXCJcbiAgICAgICAgICAgICAgW2NvbG9yc109XCJ2aWV3TW9kZWwuY2hhcnRPcHRpb25zLmNvbG9yc1wiXG4gICAgICAgICAgICAgIFtsZWdlbmRdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5sZWdlbmRcIlxuICAgICAgICAgICAgICBbcGxvdE9wdGlvbnNdPVwidmlld01vZGVsLmNoYXJ0T3B0aW9ucy5wbG90T3B0aW9uc1wiXG4gICAgICAgICAgICAgIFtkYXRhTGFiZWxzXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMuZGF0YUxhYmVsc1wiXG4gICAgICAgICAgICAgIFt0b29sdGlwXT1cInZpZXdNb2RlbC5jaGFydE9wdGlvbnMudG9vbHRpcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2FweC1jaGFydD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2aWV3TW9kZWwubGVnZW5kSXRlbXNcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImxlZ2VuZC1tYXJrZXJcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5jb2xvclwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVnZW5kLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtdmFsdWVcIj57eyBpdGVtLmNvdW50IHwgbnVtYmVyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWMtdGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgPHNwYW4+TGljZW5zZTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj5SZXF1aXJlZDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIiAqbmdGb3I9XCJsZXQgcm93IG9mIHZpZXdNb2RlbC5yb3dzXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcm93LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IHJvdy52YWx1ZSB8IG51bWJlciB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgdG90YWwtcm93XCI+XG4gICAgICAgICAgPHNwYW4+VG90YWw8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgdmlld01vZGVsLnRvdGFsUmVxdWlyZWQgfCBudW1iZXIgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI3dpZGdldFN0YXRlPlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXRlLW1lc3NhZ2VcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgTG9hZGluZyBsaWNlbnNlIHJlcXVpcmVtZW50c+KAplxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdGUtbWVzc2FnZSBlcnJvclwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgZXJyb3JcIj5cbiAgICAgICAgVW5hYmxlIHRvIGxvYWQgbGljZW5zZSByZXF1aXJlbWVudHMuXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0ZS1tZXNzYWdlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiAhZXJyb3IgJiYgIXZpZXdNb2RlbFwiPlxuICAgICAgICBObyBsaWNlbnNlIGRhdGEgYXZhaWxhYmxlLlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L3RrLWNhcmQ+XG4iXX0=
@@ -25,6 +25,7 @@ export class SummaryGridComponent {
25
25
  }
26
26
  ngOnInit() {
27
27
  this.ccReadinessService.setToken(this.token);
28
+ this.ccReadinessService.setHost(this.host);
28
29
  this.data$ = this.ccReadinessService.fetchUccxServerEntityStats(this.customerId)
29
30
  .pipe(map(items => {
30
31
  return items.map(item => ({
@@ -35,13 +36,15 @@ export class SummaryGridComponent {
35
36
  }
36
37
  }
37
38
  SummaryGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SummaryGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- SummaryGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SummaryGridComponent, selector: "cc-summary-grid", inputs: { customerId: "customerId", token: "token" }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div *ngFor=\"let stats of data\">\r\n <tk-card [title]=\"stats.uccxIp\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"grid-wrapper\">\r\n <div class=\"grid-item\" *ngFor=\"let item of stats.counts\">\r\n <div class=\"item-top\">\r\n <span class=\"item-icon\">\r\n <img width=\"24\" height=\"24\" src=\"assets/icons/{{ item.name }}.svg\" alt=\"{{ item.name }} Icon\">\r\n </span>\r\n <span class=\"item-count\">{{ item.value }}</span>\r\n </div>\r\n <span class=\"item-label\">{{ ENTITY_CONFIG[item.name].label }}</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </tk-card>\r\n </div>\r\n</ng-container>", styles: [".grid-wrapper{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;row-gap:2rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.item-top{display:flex;align-items:center;gap:inherit}.item-icon{display:flex;align-items:center;background-color:#f2f2f2;padding:.75rem;border-radius:.5rem}.item-count{font-size:30px}.item-label{font-size:14px;margin-left:.15rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
39
+ SummaryGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SummaryGridComponent, selector: "cc-summary-grid", inputs: { customerId: "customerId", host: "host", token: "token" }, ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div *ngFor=\"let stats of data\">\r\n <tk-card [title]=\"stats.uccxIp\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"grid-wrapper\">\r\n <div class=\"grid-item\" *ngFor=\"let item of stats.counts\">\r\n <div class=\"item-top\">\r\n <span class=\"item-icon\">\r\n <img width=\"24\" height=\"24\" src=\"assets/icons/{{ item.name }}.svg\" alt=\"{{ item.name }} Icon\">\r\n </span>\r\n <span class=\"item-count\">{{ item.value }}</span>\r\n </div>\r\n <span class=\"item-label\">{{ ENTITY_CONFIG[item.name].label }}</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </tk-card>\r\n </div>\r\n</ng-container>", styles: [".grid-wrapper{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;row-gap:2rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.item-top{display:flex;align-items:center;gap:inherit}.item-icon{display:flex;align-items:center;background-color:#f2f2f2;padding:.75rem;border-radius:.5rem}.item-count{font-size:30px}.item-label{font-size:14px;margin-left:.15rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CardComponent, selector: "tk-card", inputs: ["title"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SummaryGridComponent, decorators: [{
40
41
  type: Component,
41
42
  args: [{ selector: 'cc-summary-grid', template: "<ng-container *ngIf=\"data$ | async as data\">\r\n <div *ngFor=\"let stats of data\">\r\n <tk-card [title]=\"stats.uccxIp\">\r\n <ng-container ngProjectAs=\"card-content\">\r\n <div class=\"grid-wrapper\">\r\n <div class=\"grid-item\" *ngFor=\"let item of stats.counts\">\r\n <div class=\"item-top\">\r\n <span class=\"item-icon\">\r\n <img width=\"24\" height=\"24\" src=\"assets/icons/{{ item.name }}.svg\" alt=\"{{ item.name }} Icon\">\r\n </span>\r\n <span class=\"item-count\">{{ item.value }}</span>\r\n </div>\r\n <span class=\"item-label\">{{ ENTITY_CONFIG[item.name].label }}</span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </tk-card>\r\n </div>\r\n</ng-container>", styles: [".grid-wrapper{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;row-gap:2rem}.grid-item{display:flex;flex-direction:column;gap:.5rem}.item-top{display:flex;align-items:center;gap:inherit}.item-icon{display:flex;align-items:center;background-color:#f2f2f2;padding:.75rem;border-radius:.5rem}.item-count{font-size:30px}.item-label{font-size:14px;margin-left:.15rem}\n"] }]
42
43
  }], propDecorators: { customerId: [{
43
44
  type: Input
45
+ }], host: [{
46
+ type: Input
44
47
  }], token: [{
45
48
  type: Input
46
49
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBYXZDLE1BQU0sYUFBYSxHQUF5QztJQUN4RCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO0lBQ3ZDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDL0Isb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3ZDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7SUFDakMsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQzVDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFDM0IsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUNyQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0lBQzdCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7SUFDeEMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUN6QixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQ3ZDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Q0FDdEMsQ0FBQztBQU9GLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFTcUIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FlMUM7SUFYRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNoRixDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDOztrSEFwQlEsb0JBQW9CO3NHQUFwQixvQkFBb0IsNkdDbkNqQywyOEJBa0JlOzRGRGlCRixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksaUJBQWlCOzhCQUtsQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2NSZWFkaW5lc3NTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NjLXJlYWRpbmVzcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEVudGl0eVR5cGUsIFVjY3hTZXJ2ZXJFbnRpdHlTdGF0cyB9IGZyb20gXCIuLi8uLi90eXBlcy9jYy1yZWFkaW5lc3NcIjtcclxuXHJcbmludGVyZmFjZSBTdW1tYXJ5R3JpZENvdW50IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBTdW1tYXJ5R3JpZEl0ZW0ge1xyXG4gICAgdWNjeElwOiBzdHJpbmc7XHJcbiAgICBjb3VudHM6IFN1bW1hcnlHcmlkQ291bnRbXTtcclxufVxyXG5cclxuY29uc3QgRU5USVRZX0NPTkZJRzogeyBba2V5OiBzdHJpbmddOiB7IGxhYmVsOiBzdHJpbmcgfSB9ID0ge1xyXG4gICAgYXBwbGljYXRpb25zOiB7IGxhYmVsOiAnQXBwbGljYXRpb25zJyB9LFxyXG4gICAgdHJpZ2dlcnM6IHsgbGFiZWw6ICdUcmlnZ2VycycgfSxcclxuICAgIGNvbnRhY3RTZXJ2aWNlUXVldWVzOiB7IGxhYmVsOiAnQ1NRcycgfSxcclxuICAgIHJlc291cmNlczogeyBsYWJlbDogJ1Jlc291cmNlcycgfSxcclxuICAgIHJlc291cmNlR3JvdXBzOiB7IGxhYmVsOiAnUmVzb3VyY2UgR3JvdXBzJyB9LFxyXG4gICAgc2tpbGxzOiB7IGxhYmVsOiAnU2tpbGxzJyB9LFxyXG4gICAgeG1sOiB7IGxhYmVsOiAnWE1MJyB9LFxyXG4gICAgc2NyaXB0czogeyBsYWJlbDogJ1NjcmlwdHMnIH0sXHJcbiAgICBhdWRpb1Byb21wdHM6IHsgbGFiZWw6ICdBdWRpbyBQcm9tcHRzJyB9LFxyXG4gICAgdGVhbXM6IHsgbGFiZWw6ICdUZWFtcycgfSxcclxuICAgIHdyYXBVcENvZGVzOiB7IGxhYmVsOiAnV3JhcC1VcCBDb2RlcycgfSxcclxuICAgIHBob25lYm9va3M6IHsgbGFiZWw6ICdQaG9uZWJvb2tzJyB9XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2Mtc3VtbWFyeS1ncmlkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnc3VtbWFyeS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydzdW1tYXJ5LWdyaWQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VtbWFyeUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2NSZWFkaW5lc3NTZXJ2aWNlID0gaW5qZWN0KENjUmVhZGluZXNzU2VydmljZSk7XHJcblxyXG4gICAgcmVhZG9ubHkgRU5USVRZX0NPTkZJRyA9IEVOVElUWV9DT05GSUc7XHJcblxyXG4gICAgZGF0YSQhOiBPYnNlcnZhYmxlPFN1bW1hcnlHcmlkSXRlbVtdPjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRUb2tlbih0aGlzLnRva2VuKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuY2NSZWFkaW5lc3NTZXJ2aWNlLmZldGNoVWNjeFNlcnZlckVudGl0eVN0YXRzKHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgICAgICAgLnBpcGUobWFwKGl0ZW1zID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtcy5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVjY3hJcDogaXRlbS51Y2N4SXAsXHJcbiAgICAgICAgICAgICAgICAgICAgY291bnRzOiBPYmplY3QuZW50cmllcyhpdGVtLmNvdW50cykubWFwKChbbmFtZSwgdmFsdWVdKSA9PiAoeyBuYW1lLCB2YWx1ZSB9KSlcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEkIHwgYXN5bmMgYXMgZGF0YVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc3RhdHMgb2YgZGF0YVwiPlxyXG4gICAgICAgIDx0ay1jYXJkIFt0aXRsZV09XCJzdGF0cy51Y2N4SXBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cImNhcmQtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGF0cy5jb3VudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tdG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgc3JjPVwiYXNzZXRzL2ljb25zL3t7IGl0ZW0ubmFtZSB9fS5zdmdcIiBhbHQ9XCJ7eyBpdGVtLm5hbWUgfX0gSWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWNvdW50XCI+e3sgaXRlbS52YWx1ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1sYWJlbFwiPnt7IEVOVElUWV9DT05GSUdbaXRlbS5uYW1lXS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RrLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+Il19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9jb250YWN0LWNlbnRlci9jYy1yZWFkaW5lc3Mvd2lkZ2V0cy9zdW1tYXJ5LWdyaWQvc3VtbWFyeS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBYXZDLE1BQU0sYUFBYSxHQUF5QztJQUN4RCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO0lBQ3ZDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDL0Isb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3ZDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7SUFDakMsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQzVDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFDM0IsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtJQUNyQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0lBQzdCLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7SUFDeEMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUN6QixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQ3ZDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Q0FDdEMsQ0FBQztBQU9GLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFVcUIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FnQjFDO0lBWkcsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQzs7a0hBdEJRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDJIQ25DakMsMjhCQWtCZTs0RkRpQkYsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGlCQUFpQjs4QkFLbEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDY1JlYWRpbmVzc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY2MtcmVhZGluZXNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgVWNjeFNlcnZlckVudGl0eVN0YXRzIH0gZnJvbSBcIi4uLy4uL3R5cGVzL2NjLXJlYWRpbmVzc1wiO1xyXG5cclxuaW50ZXJmYWNlIFN1bW1hcnlHcmlkQ291bnQge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIFN1bW1hcnlHcmlkSXRlbSB7XHJcbiAgICB1Y2N4SXA6IHN0cmluZztcclxuICAgIGNvdW50czogU3VtbWFyeUdyaWRDb3VudFtdO1xyXG59XHJcblxyXG5jb25zdCBFTlRJVFlfQ09ORklHOiB7IFtrZXk6IHN0cmluZ106IHsgbGFiZWw6IHN0cmluZyB9IH0gPSB7XHJcbiAgICBhcHBsaWNhdGlvbnM6IHsgbGFiZWw6ICdBcHBsaWNhdGlvbnMnIH0sXHJcbiAgICB0cmlnZ2VyczogeyBsYWJlbDogJ1RyaWdnZXJzJyB9LFxyXG4gICAgY29udGFjdFNlcnZpY2VRdWV1ZXM6IHsgbGFiZWw6ICdDU1FzJyB9LFxyXG4gICAgcmVzb3VyY2VzOiB7IGxhYmVsOiAnUmVzb3VyY2VzJyB9LFxyXG4gICAgcmVzb3VyY2VHcm91cHM6IHsgbGFiZWw6ICdSZXNvdXJjZSBHcm91cHMnIH0sXHJcbiAgICBza2lsbHM6IHsgbGFiZWw6ICdTa2lsbHMnIH0sXHJcbiAgICB4bWw6IHsgbGFiZWw6ICdYTUwnIH0sXHJcbiAgICBzY3JpcHRzOiB7IGxhYmVsOiAnU2NyaXB0cycgfSxcclxuICAgIGF1ZGlvUHJvbXB0czogeyBsYWJlbDogJ0F1ZGlvIFByb21wdHMnIH0sXHJcbiAgICB0ZWFtczogeyBsYWJlbDogJ1RlYW1zJyB9LFxyXG4gICAgd3JhcFVwQ29kZXM6IHsgbGFiZWw6ICdXcmFwLVVwIENvZGVzJyB9LFxyXG4gICAgcGhvbmVib29rczogeyBsYWJlbDogJ1Bob25lYm9va3MnIH1cclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjYy1zdW1tYXJ5LWdyaWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdzdW1tYXJ5LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ3N1bW1hcnktZ3JpZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdW1tYXJ5R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBjdXN0b21lcklkITogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgaG9zdCE6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2NSZWFkaW5lc3NTZXJ2aWNlID0gaW5qZWN0KENjUmVhZGluZXNzU2VydmljZSk7XHJcblxyXG4gICAgcmVhZG9ubHkgRU5USVRZX0NPTkZJRyA9IEVOVElUWV9DT05GSUc7XHJcblxyXG4gICAgZGF0YSQhOiBPYnNlcnZhYmxlPFN1bW1hcnlHcmlkSXRlbVtdPjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRUb2tlbih0aGlzLnRva2VuKTtcclxuICAgICAgICB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5zZXRIb3N0KHRoaXMuaG9zdCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmNjUmVhZGluZXNzU2VydmljZS5mZXRjaFVjY3hTZXJ2ZXJFbnRpdHlTdGF0cyh0aGlzLmN1c3RvbWVySWQpXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICB1Y2N4SXA6IGl0ZW0udWNjeElwLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50czogT2JqZWN0LmVudHJpZXMoaXRlbS5jb3VudHMpLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gKHsgbmFtZSwgdmFsdWUgfSkpXHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhJCB8IGFzeW5jIGFzIGRhdGFcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0YXRzIG9mIGRhdGFcIj5cclxuICAgICAgICA8dGstY2FyZCBbdGl0bGVdPVwic3RhdHMudWNjeElwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJjYXJkLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3RhdHMuY291bnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXRvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHNyYz1cImFzc2V0cy9pY29ucy97eyBpdGVtLm5hbWUgfX0uc3ZnXCIgYWx0PVwie3sgaXRlbS5uYW1lIH19IEljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1jb3VudFwiPnt7IGl0ZW0udmFsdWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tbGFiZWxcIj57eyBFTlRJVFlfQ09ORklHW2l0ZW0ubmFtZV0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC90ay1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==