@tuki-io/tuki-widgets 0.0.219-dev.60 → 0.0.219-dev.63

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 (107) hide show
  1. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +9 -8
  2. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +11 -10
  3. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +12 -11
  4. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +7 -3
  5. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +12 -11
  6. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +7 -3
  7. package/esm2020/locations/src/locations.component.mjs +11 -11
  8. package/esm2020/locations/src/locations.module.mjs +7 -6
  9. package/esm2020/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.mjs +9 -9
  10. package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +17 -9
  11. package/esm2020/meetings/src/meetings.module.mjs +7 -6
  12. package/esm2020/shared/public-api.mjs +2 -1
  13. package/esm2020/shared/src/ui/tk-loader/tk-loader.component.mjs +34 -0
  14. package/esm2020/user-creation/src/user-creation.module.mjs +7 -6
  15. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +16 -16
  16. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +27 -10
  17. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +11 -11
  18. package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +10 -10
  19. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +11 -11
  20. package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +9 -9
  21. package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +9 -9
  22. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +8 -7
  23. package/esm2020/user-manage/src/user-manage-widget.component.mjs +12 -12
  24. package/esm2020/user-manage/src/user-manage.module.mjs +8 -7
  25. package/esm2020/users-list/src/classes/site-option.mjs +2 -0
  26. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +18 -4
  27. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +15 -15
  28. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +5 -5
  29. package/esm2020/users-list/src/users-list.component.mjs +104 -46
  30. package/esm2020/users-list/src/users-list.module.mjs +7 -6
  31. package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +7 -7
  32. package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +9 -9
  33. package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +13 -3
  34. package/esm2020/workspaces/src/components/workspaces-table/workspaces-table.component.mjs +6 -6
  35. package/esm2020/workspaces/src/services/workspaces.service.mjs +3 -1
  36. package/esm2020/workspaces/src/types/workspace.mjs +6 -2
  37. package/esm2020/workspaces/src/workspaces.component.mjs +43 -9
  38. package/esm2020/workspaces/src/workspaces.module.mjs +7 -6
  39. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +26 -18
  40. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  41. package/fesm2015/tuki-io-tuki-widgets-locations.mjs +16 -24
  42. package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
  43. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +31 -33
  44. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
  45. package/fesm2015/tuki-io-tuki-widgets-shared.mjs +31 -1
  46. package/fesm2015/tuki-io-tuki-widgets-shared.mjs.map +1 -1
  47. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +52 -43
  48. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  49. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +43 -51
  50. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  51. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +20 -29
  52. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  53. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +136 -73
  54. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  55. package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +87 -43
  56. package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
  57. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +26 -18
  58. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  59. package/fesm2020/tuki-io-tuki-widgets-locations.mjs +16 -24
  60. package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
  61. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +31 -33
  62. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
  63. package/fesm2020/tuki-io-tuki-widgets-shared.mjs +31 -1
  64. package/fesm2020/tuki-io-tuki-widgets-shared.mjs.map +1 -1
  65. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +51 -43
  66. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  67. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +43 -51
  68. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  69. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +20 -29
  70. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  71. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +134 -71
  72. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  73. package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +87 -42
  74. package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
  75. package/locations/src/locations.module.d.ts +2 -2
  76. package/meetings/src/meetings.module.d.ts +2 -2
  77. package/package.json +1 -1
  78. package/shared/public-api.d.ts +1 -0
  79. package/shared/src/ui/tk-loader/tk-loader.component.d.ts +15 -0
  80. package/user-creation/src/user-creation.module.d.ts +3 -3
  81. package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +2 -0
  82. package/user-device-manage/src/user-device-manage.module.d.ts +16 -16
  83. package/user-manage/src/user-manage.module.d.ts +12 -13
  84. package/users-list/src/classes/site-option.d.ts +4 -0
  85. package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +6 -1
  86. package/users-list/src/users-list.component.d.ts +11 -1
  87. package/users-list/src/users-list.module.d.ts +9 -9
  88. package/workspaces/src/components/workspace-detail/workspace-detail.component.d.ts +1 -1
  89. package/workspaces/src/components/workspaces-filters/workspaces-filters.component.d.ts +9 -1
  90. package/workspaces/src/components/workspaces-table/workspaces-table.component.d.ts +2 -2
  91. package/workspaces/src/types/workspace.d.ts +5 -0
  92. package/workspaces/src/workspaces.component.d.ts +6 -2
  93. package/workspaces/src/workspaces.module.d.ts +2 -2
  94. package/esm2020/locations/src/utils/app-loader/app-loader.mjs +0 -14
  95. package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +0 -14
  96. package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +0 -14
  97. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
  98. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
  99. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
  100. package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +0 -14
  101. package/locations/src/utils/app-loader/app-loader.d.ts +0 -6
  102. package/meetings/src/utils/app-loader/app-loader.d.ts +0 -6
  103. package/user-creation/src/utils/app-loader/app-loader.d.ts +0 -6
  104. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  105. package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
  106. package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
  107. package/workspaces/src/utils/app-loader/app-loader.d.ts +0 -6
@@ -16,8 +16,8 @@ export class WorkspacesTableComponent {
16
16
  this.pageSize = 10;
17
17
  this.pageSizeOptions = [10, 25, 50, 100];
18
18
  this.pendingWorkspaceIds = new Set();
19
+ this.isLoading = false;
19
20
  this.openWorkspace = new EventEmitter();
20
- this.licenseWithHybrid = new EventEmitter();
21
21
  this.migrateToMT = new EventEmitter();
22
22
  this.enableWebexCalling = new EventEmitter();
23
23
  this.migrateToUCM = new EventEmitter();
@@ -96,10 +96,10 @@ export class WorkspacesTableComponent {
96
96
  }
97
97
  }
98
98
  WorkspacesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
- WorkspacesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspacesTableComponent, selector: "tk-workspaces-table", inputs: { workspaces: "workspaces", total: "total", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", pendingWorkspaceIds: "pendingWorkspaceIds" }, outputs: { openWorkspace: "openWorkspace", licenseWithHybrid: "licenseWithHybrid", migrateToMT: "migrateToMT", enableWebexCalling: "enableWebexCalling", migrateToUCM: "migrateToUCM", addDevice: "addDevice", pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"tk-workspaces-table__bulk-bar\">Select one or more workspaces for bulk actions</div>\r\n\r\n<div class=\"tk-workspaces-table__wrapper\">\r\n <table class=\"tk-workspaces-table__table\">\r\n <thead>\r\n <tr>\r\n <th class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" [indeterminate]=\"someSelected\" (change)=\"toggleAll()\" />\r\n </th>\r\n <th>Name</th>\r\n <th>Devices</th>\r\n <th>Scheduling</th>\r\n <th>Calling</th>\r\n <th>Provisioning Type</th>\r\n <th>Status</th>\r\n <th class=\"tk-workspaces-table__settings-cell\">\r\n <mat-icon class=\"tk-workspaces-table__settings-icon\">settings</mat-icon>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let workspace of workspaces\"\r\n [class.tk-workspaces-table__row--selected]=\"isSelected(workspace.id)\"\r\n [class.tk-workspaces-table__row--disabled]=\"!canOpenWorkspace(workspace)\">\r\n <td class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(workspace.id)\" (change)=\"toggleRow(workspace.id)\" />\r\n </td>\r\n <td class=\"tk-workspaces-table__name-cell\" (click)=\"onOpenWorkspace(workspace)\">\r\n <div class=\"tk-workspaces-table__name-wrapper\">\r\n <span class=\"tk-workspaces-table__name-icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspaces-table__name-info\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspaces-table__name-link\">{{ getDisplayName(workspace) }}</a>\r\n <div class=\"tk-workspaces-table__name-meta\">\r\n <span class=\"tk-workspaces-table__name-type\">{{ workspace.typeLabel }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__name-capacity\">{{ workspace.capacity ?? 'No capacity' }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <!-- <mat-icon class=\"tk-workspaces-table__meta-icon\">location_on</mat-icon> -->\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <a\r\n *ngIf=\"workspace.location; else noLocation\"\r\n href=\"javascript:void(0)\"\r\n class=\"tk-workspaces-table__location-link\">{{ workspace.location }}</a>\r\n <ng-template #noLocation>\r\n <span class=\"tk-workspaces-table__location-empty\">No location</span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"tk-workspaces-table__devices\">\r\n <ng-container *ngIf=\"workspace.devices.length; else noDevices\">\r\n <span *ngFor=\"let device of workspace.devices\" class=\"tk-workspaces-table__device-card\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n <div class=\"tk-workspaces-table__device-tooltip\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"tk-workspaces-table__device-tooltip-title\">{{ device.label }}</div>\r\n <div class=\"tk-workspaces-table__device-tooltip-status\">\r\n <span\r\n class=\"tk-workspaces-table__device-tooltip-status-dot\"\r\n [class.tk-workspaces-table__device-tooltip-status-dot--active]=\"workspace.status === 'active'\"></span>\r\n {{ workspace.statusLabel }}\r\n </div>\r\n <div class=\"tk-workspaces-table__device-tooltip-divider\"></div>\r\n <div class=\"tk-workspaces-table__device-tooltip-mac\">\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-label\">MAC address</span>\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-value\">{{ device.mac }}</span>\r\n <button\r\n *ngIf=\"device.mac\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-tooltip-copy\"\r\n (click)=\"onCopyMac(device.mac)\">\r\n <img class=\"tk-workspaces-table__device-tooltip-copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </button>\r\n </div>\r\n </div>\r\n </span>\r\n </ng-container>\r\n <!-- <ng-container *ngFor=\"let device of workspace.devices\">\r\n <span *ngIf=\"device && device.model else noDevice\" class=\"tk-workspaces-table__device-card\" [title]=\"device.label\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n </span>\r\n </ng-container> -->\r\n <ng-template #noDevices>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-add\"\r\n (click)=\"onAddDevice(workspace, $event)\">\r\n <span class=\"tk-workspaces-table__device-add-label\">\r\n <img\r\n class=\"tk-workspaces-table__device-add-icon\"\r\n src=\"assets/icons/multipled-devices-regular.svg\"\r\n alt=\"\" />\r\n Add device\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td>{{ workspace.scheduling }}</td>\r\n <td class=\"tk-workspaces-table__calling-cell\">\r\n <span class=\"tk-workspaces-table__calling-content\">\r\n <img class=\"tk-workspaces-table__calling-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__calling-text\" title=\"Cisco Webex Calling Professional Workspace\">Cisco Webex Calling Professional Workspace</span>\r\n </span>\r\n </td>\r\n <td>\r\n <div *ngIf=\"workspace.isHybrid\" class=\"tk-workspaces-table__provisioning-icons\">\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </div>\r\n <ng-container *ngIf=\"!workspace.isHybrid\">\r\n <span *ngIf=\"workspace.device.cucmId != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span *ngIf=\"workspace.device.webexUUID != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n <td>\r\n <span class=\"tk-workspaces-table__status\">\r\n <span\r\n class=\"tk-workspaces-table__status-dot\"\r\n [class.tk-workspaces-table__status-dot--hybrid]=\"workspace.isHybrid\"\r\n [class.tk-workspaces-table__status-dot--active]=\"!workspace.isHybrid\"></span>\r\n {{ workspace.isHybrid ? 'Hybrid' : 'Active' }}\r\n </span>\r\n </td>\r\n <td class=\"tk-workspaces-table__actions-cell\">\r\n <mat-progress-spinner\r\n *ngIf=\"isPending(workspace.id)\"\r\n class=\"tk-workspaces-table__actions-spinner\"\r\n [diameter]=\"20\"\r\n strokeWidth=\"2\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n <button\r\n *ngIf=\"!isPending(workspace.id)\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__actions-button\"\r\n [matMenuTriggerFor]=\"rowMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #rowMenu=\"matMenu\">\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"licenseWithHybrid.emit(workspace)\">\r\n License with Cloud Intelligence\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"migrateToMT.emit(workspace)\">\r\n Migrate Workspace To Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isEnableWebexCallingDisabled(workspace)\"\r\n (click)=\"enableWebexCalling.emit(workspace)\">\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMigrateToUCMDisabled(workspace)\"\r\n (click)=\"migrateToUCM.emit(workspace)\">\r\n Migrate User to UCM\r\n </button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!workspaces.length\">\r\n <td [attr.colspan]=\"8\" class=\"tk-workspaces-table__empty\">No workspaces to display.</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n\r\n<mat-paginator\r\n class=\"tk-workspaces-table__paginator\"\r\n [length]=\"total\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onPage($event)\">\r\n</mat-paginator>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-workspaces-table__bulk-bar{margin-bottom:1rem;font-size:.875rem;color:#000000f2}.tk-workspaces-table__wrapper{overflow-x:auto}.tk-workspaces-table__paginator{border:1px solid rgba(0,0,0,.12);border-top:none;background:#fff;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspaces-table__table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif}.tk-workspaces-table__table th{height:39px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;word-break:break-all;max-inline-size:100%;cursor:pointer}.tk-workspaces-table__table th:hover{background-color:#dedede}.tk-workspaces-table__table td{height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px #0003;background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;word-break:break-all;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-workspaces-table__table tbody tr:hover td{background:#ededed}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--selected td{background:#f0f6ff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled td{cursor:default}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled:hover td{background:#ffffff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled.tk-workspaces-table__row--selected:hover td{background:#f0f6ff}.tk-workspaces-table__checkbox-cell{width:2.5rem;cursor:default}.tk-workspaces-table__settings-cell{width:2.5rem;text-align:center}.tk-workspaces-table__settings-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#00000080}.tk-workspaces-table__name-cell{min-width:14rem}.tk-workspaces-table__name-wrapper{display:flex;align-items:center;gap:.625rem}.tk-workspaces-table__name-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:#2b2b2b;color:#fff}.tk-workspaces-table__name-icon img{height:1.125rem;width:1.125rem;filter:brightness(0) invert(1)}.tk-workspaces-table__name-info{display:flex;flex-direction:column;gap:.5rem;min-width:0}.tk-workspaces-table__name-link{color:#000000de;font-weight:500;text-decoration:none}.tk-workspaces-table__name-meta{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#0009;white-space:nowrap}.tk-workspaces-table__name-meta .tk-workspaces-table__name-type,.tk-workspaces-table__name-meta .tk-workspaces-table__name-capacity{color:#0006}.tk-workspaces-table__meta-icon{font-size:.875rem;height:.875rem;width:.875rem;color:#0006}.tk-workspaces-table__meta-sep{color:#0000004d}.tk-workspaces-table__location-link{color:#0353a8;text-decoration:none}.tk-workspaces-table__location-empty{color:#0009}.tk-workspaces-table__devices{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem 0}.tk-workspaces-table__device-card{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#fff;box-sizing:border-box;padding:12px;block-size:60px}.tk-workspaces-table__device-card:hover .tk-workspaces-table__device-tooltip{visibility:visible;opacity:1}.tk-workspaces-table__device-tooltip{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);z-index:20;visibility:hidden;opacity:0;transition:opacity .15s ease;border:1px solid #d6d6d6;min-width:16rem;padding:.75rem;border-radius:.215rem;background:#ededed;box-shadow:0 2px 12px #0000002e;font-size:.8125rem;white-space:normal;cursor:default}.tk-workspaces-table__device-tooltip:before,.tk-workspaces-table__device-tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-style:solid;border-color:transparent}.tk-workspaces-table__device-tooltip:before{border-width:9px 8px 0;border-top-color:#d6d6d6}.tk-workspaces-table__device-tooltip:after{margin-top:-1px;border-width:8px 7px 0;border-top-color:#ededed}.tk-workspaces-table__device-tooltip-title{font-weight:600;color:#2e2e2e;font-size:1rem}.tk-workspaces-table__device-tooltip-status{display:flex;align-items:center;gap:.75rem;margin-top:.375rem;color:#1c1c1c;font-size:.875rem}.tk-workspaces-table__device-tooltip-status-dot{width:.438rem;height:.438rem;border-radius:50%;background:#707070;flex-shrink:0}.tk-workspaces-table__device-tooltip-status-dot--active{background:#1d805f}.tk-workspaces-table__device-tooltip-divider{margin:.825rem 0 1rem;border-top:1px solid #a8a8a8}.tk-workspaces-table__device-tooltip-mac{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tk-workspaces-table__device-tooltip-mac-label{color:#0009}.tk-workspaces-table__device-tooltip-mac-value{font-weight:500;color:#000000f2}.tk-workspaces-table__device-tooltip-copy{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer}.tk-workspaces-table__device-tooltip-copy-icon{width:.875rem;height:.875rem;opacity:.6}.tk-workspaces-table__device-icon{inline-size:40px;display:inline-block;vertical-align:middle;max-inline-size:100%;block-size:auto}.tk-workspaces-table__device-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#757575;color:#fff;font-size:.6875rem;font-weight:600}.tk-workspaces-table__device-add{display:inline-flex;block-size:62px;align-items:center;justify-content:center;gap:.5rem;min-height:3.5rem;padding:.5rem 1.25rem;border:none;border-radius:.5rem;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22186%22 height%3D%2274%22 viewBox%3D%220 0 186 74%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22url(%23paint0_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22url(%23paint1_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22url(%23paint2_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22url(%23paint3_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22url(%23paint4_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cdefs%3E%0D%3CradialGradient id%3D%22paint0_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint1_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint2_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint3_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint4_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain;font-family:inherit;white-space:nowrap;cursor:pointer;box-sizing:border-box}.tk-workspaces-table__device-add-label{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;color:#000000f2;font-size:.875rem;transition:background-color .15s}.tk-workspaces-table__device-add:hover .tk-workspaces-table__device-add-label{background-color:#ededed}.tk-workspaces-table__device-add-icon{height:1.125rem;width:1.125rem}.tk-workspaces-table__devices-empty{color:#0000004d}.tk-workspaces-table__calling-cell{max-width:14rem}.tk-workspaces-table__calling-content{display:flex;align-items:center;gap:.375rem}.tk-workspaces-table__calling-icon{flex:none;width:1rem;height:1rem;opacity:.4}.tk-workspaces-table__calling-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-workspaces-table__provisioning-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0009}.tk-workspaces-table__provisioning-icons{display:flex;align-items:center;gap:.5rem}.tk-workspaces-table__status{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.tk-workspaces-table__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(0,0,0,.3);flex-shrink:0}.tk-workspaces-table__status-dot--active{background:#1d805f}.tk-workspaces-table__status-dot--inactive{background:#c73636}.tk-workspaces-table__status-dot--hybrid{background:#639fff}.tk-workspaces-table__actions-cell{width:2.5rem;text-align:center}.tk-workspaces-table__actions-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:#00000080;cursor:pointer;border-radius:4px}.tk-workspaces-table__actions-button:hover{background:rgba(0,0,0,.06)}.tk-workspaces-table__actions-spinner{display:inline-flex;margin:0 auto}.tk-workspaces-table__empty{padding:1.5rem;text-align:center;color:#0009;cursor:default}\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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
99
+ WorkspacesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspacesTableComponent, selector: "tk-workspaces-table", inputs: { workspaces: "workspaces", total: "total", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", pendingWorkspaceIds: "pendingWorkspaceIds", isLoading: "isLoading" }, outputs: { openWorkspace: "openWorkspace", migrateToMT: "migrateToMT", enableWebexCalling: "enableWebexCalling", migrateToUCM: "migrateToUCM", addDevice: "addDevice", pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"tk-workspaces-table__bulk-bar\">Select one or more workspaces for bulk actions</div>\r\n\r\n<div class=\"tk-workspaces-table__wrapper\">\r\n <table class=\"tk-workspaces-table__table\">\r\n <thead>\r\n <tr>\r\n <th class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" [indeterminate]=\"someSelected\" (change)=\"toggleAll()\" />\r\n </th>\r\n <th>Name</th>\r\n <th>Devices</th>\r\n <th>Scheduling</th>\r\n <th>Calling</th>\r\n <th>Provisioning Type</th>\r\n <th>Status</th>\r\n <th class=\"tk-workspaces-table__settings-cell\">\r\n <mat-icon class=\"tk-workspaces-table__settings-icon\">settings</mat-icon>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let workspace of workspaces\"\r\n [class.tk-workspaces-table__row--selected]=\"isSelected(workspace.id)\"\r\n [class.tk-workspaces-table__row--disabled]=\"!canOpenWorkspace(workspace)\">\r\n <td class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(workspace.id)\" (change)=\"toggleRow(workspace.id)\" />\r\n </td>\r\n <td class=\"tk-workspaces-table__name-cell\" (click)=\"onOpenWorkspace(workspace)\">\r\n <div class=\"tk-workspaces-table__name-wrapper\">\r\n <span class=\"tk-workspaces-table__name-icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspaces-table__name-info\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspaces-table__name-link\">{{ getDisplayName(workspace) }}</a>\r\n <div class=\"tk-workspaces-table__name-meta\">\r\n <span class=\"tk-workspaces-table__name-type\">{{ workspace.typeLabel }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__name-capacity\">{{ workspace.capacity ?? 'No capacity' }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <!-- <mat-icon class=\"tk-workspaces-table__meta-icon\">location_on</mat-icon> -->\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <a\r\n *ngIf=\"workspace.location; else noLocation\"\r\n href=\"javascript:void(0)\"\r\n class=\"tk-workspaces-table__location-link\">{{ workspace.location }}</a>\r\n <ng-template #noLocation>\r\n <span class=\"tk-workspaces-table__location-empty\">No location</span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"tk-workspaces-table__devices\">\r\n <ng-container *ngIf=\"workspace.devices.length; else noDevices\">\r\n <span *ngFor=\"let device of workspace.devices\" class=\"tk-workspaces-table__device-card\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n <div class=\"tk-workspaces-table__device-tooltip\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"tk-workspaces-table__device-tooltip-title\">{{ device.label }}</div>\r\n <div class=\"tk-workspaces-table__device-tooltip-status\">\r\n <span\r\n class=\"tk-workspaces-table__device-tooltip-status-dot\"\r\n [class.tk-workspaces-table__device-tooltip-status-dot--active]=\"workspace.status === 'active'\"></span>\r\n {{ workspace.statusLabel }}\r\n </div>\r\n <div class=\"tk-workspaces-table__device-tooltip-divider\"></div>\r\n <div class=\"tk-workspaces-table__device-tooltip-mac\">\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-label\">MAC address</span>\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-value\">{{ device.mac }}</span>\r\n <button\r\n *ngIf=\"device.mac\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-tooltip-copy\"\r\n (click)=\"onCopyMac(device.mac)\">\r\n <img class=\"tk-workspaces-table__device-tooltip-copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </button>\r\n </div>\r\n </div>\r\n </span>\r\n </ng-container>\r\n <!-- <ng-container *ngFor=\"let device of workspace.devices\">\r\n <span *ngIf=\"device && device.model else noDevice\" class=\"tk-workspaces-table__device-card\" [title]=\"device.label\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n </span>\r\n </ng-container> -->\r\n <ng-template #noDevices>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-add\"\r\n (click)=\"onAddDevice(workspace, $event)\">\r\n <span class=\"tk-workspaces-table__device-add-label\">\r\n <img\r\n class=\"tk-workspaces-table__device-add-icon\"\r\n src=\"assets/icons/multipled-devices-regular.svg\"\r\n alt=\"\" />\r\n Add device\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td>{{ workspace.scheduling }}</td>\r\n <td class=\"tk-workspaces-table__calling-cell\">\r\n <span class=\"tk-workspaces-table__calling-content\">\r\n <img class=\"tk-workspaces-table__calling-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__calling-text\" title=\"Cisco Webex Calling Professional Workspace\">Cisco Webex Calling Professional Workspace</span>\r\n </span>\r\n </td>\r\n <td>\r\n <div *ngIf=\"workspace.isHybrid\" class=\"tk-workspaces-table__provisioning-icons\">\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </div>\r\n <ng-container *ngIf=\"!workspace.isHybrid\">\r\n <span *ngIf=\"workspace.device.cucmId != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span *ngIf=\"workspace.device.webexUUID != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n <td>\r\n <span class=\"tk-workspaces-table__status\">\r\n <span\r\n class=\"tk-workspaces-table__status-dot\"\r\n [class.tk-workspaces-table__status-dot--hybrid]=\"workspace.isHybrid\"\r\n [class.tk-workspaces-table__status-dot--active]=\"!workspace.isHybrid\"></span>\r\n {{ workspace.isHybrid ? 'Hybrid' : 'Active' }}\r\n </span>\r\n </td>\r\n <td class=\"tk-workspaces-table__actions-cell\">\r\n <div class=\"spinner-wrapper\">\r\n <mat-progress-spinner\r\n *ngIf=\"isPending(workspace.id)\"\r\n class=\"tk-workspaces-table__actions-spinner\"\r\n [diameter]=\"20\"\r\n strokeWidth=\"2\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </div>\r\n <button\r\n *ngIf=\"!isPending(workspace.id)\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__actions-button\"\r\n [matMenuTriggerFor]=\"rowMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #rowMenu=\"matMenu\">\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"migrateToMT.emit(workspace)\">\r\n Migrate Workspace To Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isEnableWebexCallingDisabled(workspace)\"\r\n (click)=\"enableWebexCalling.emit(workspace)\">\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMigrateToUCMDisabled(workspace)\"\r\n (click)=\"migrateToUCM.emit(workspace)\">\r\n Migrate User to UCM\r\n </button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isLoading && !workspaces.length\">\r\n <td [attr.colspan]=\"8\" class=\"tk-workspaces-table__empty\">No workspaces to display.</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n\r\n<mat-paginator\r\n class=\"tk-workspaces-table__paginator\"\r\n [length]=\"total\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onPage($event)\">\r\n</mat-paginator>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-workspaces-table__bulk-bar{margin-bottom:1rem;font-size:.875rem;color:#000000f2}.tk-workspaces-table__wrapper{overflow-x:auto}.tk-workspaces-table__paginator{border:1px solid rgba(0,0,0,.12);border-top:none;background:#fff;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspaces-table__table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif}.tk-workspaces-table__table th{height:39px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;word-break:break-all;max-inline-size:100%;cursor:pointer}.tk-workspaces-table__table th:hover{background-color:#dedede}.tk-workspaces-table__table td{height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px #0003;background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;word-break:break-all;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-workspaces-table__table tbody tr:hover td{background:#ededed}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--selected td{background:#f0f6ff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled td{cursor:default}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled:hover td{background:#ffffff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled.tk-workspaces-table__row--selected:hover td{background:#f0f6ff}.tk-workspaces-table__checkbox-cell{width:2.5rem;cursor:default}.tk-workspaces-table__settings-cell{width:2.5rem;text-align:center}.tk-workspaces-table__settings-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#00000080}.tk-workspaces-table__name-cell{min-width:14rem}.tk-workspaces-table__name-wrapper{display:flex;align-items:center;gap:.625rem}.tk-workspaces-table__name-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:#2b2b2b;color:#fff}.tk-workspaces-table__name-icon img{height:1.125rem;width:1.125rem;filter:brightness(0) invert(1)}.tk-workspaces-table__name-info{display:flex;flex-direction:column;gap:.5rem;min-width:0}.tk-workspaces-table__name-link{color:#000000de;font-weight:500;text-decoration:none}.tk-workspaces-table__name-meta{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#0009;white-space:nowrap}.tk-workspaces-table__name-meta .tk-workspaces-table__name-type,.tk-workspaces-table__name-meta .tk-workspaces-table__name-capacity{color:#0006}.tk-workspaces-table__meta-icon{font-size:.875rem;height:.875rem;width:.875rem;color:#0006}.tk-workspaces-table__meta-sep{color:#0000004d}.tk-workspaces-table__location-link{color:#0353a8;text-decoration:none}.tk-workspaces-table__location-empty{color:#0009}.tk-workspaces-table__devices{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem 0}.tk-workspaces-table__device-card{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#fff;box-sizing:border-box;padding:12px;block-size:60px}.tk-workspaces-table__device-card:hover .tk-workspaces-table__device-tooltip{visibility:visible;opacity:1}.tk-workspaces-table__device-tooltip{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);z-index:20;visibility:hidden;opacity:0;transition:opacity .15s ease;border:1px solid #d6d6d6;min-width:16rem;padding:.75rem;border-radius:.215rem;background:#ededed;box-shadow:0 2px 12px #0000002e;font-size:.8125rem;white-space:normal;cursor:default}.tk-workspaces-table__device-tooltip:before,.tk-workspaces-table__device-tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-style:solid;border-color:transparent}.tk-workspaces-table__device-tooltip:before{border-width:9px 8px 0;border-top-color:#d6d6d6}.tk-workspaces-table__device-tooltip:after{margin-top:-1px;border-width:8px 7px 0;border-top-color:#ededed}.tk-workspaces-table__device-tooltip-title{font-weight:600;color:#2e2e2e;font-size:1rem}.tk-workspaces-table__device-tooltip-status{display:flex;align-items:center;gap:.75rem;margin-top:.375rem;color:#1c1c1c;font-size:.875rem}.tk-workspaces-table__device-tooltip-status-dot{width:.438rem;height:.438rem;border-radius:50%;background:#707070;flex-shrink:0}.tk-workspaces-table__device-tooltip-status-dot--active{background:#1d805f}.tk-workspaces-table__device-tooltip-divider{margin:.825rem 0 1rem;border-top:1px solid #a8a8a8}.tk-workspaces-table__device-tooltip-mac{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tk-workspaces-table__device-tooltip-mac-label{color:#0009}.tk-workspaces-table__device-tooltip-mac-value{font-weight:500;color:#000000f2}.tk-workspaces-table__device-tooltip-copy{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer}.tk-workspaces-table__device-tooltip-copy-icon{width:.875rem;height:.875rem;opacity:.6}.tk-workspaces-table__device-icon{inline-size:40px;display:inline-block;vertical-align:middle;max-inline-size:100%;block-size:auto}.tk-workspaces-table__device-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#757575;color:#fff;font-size:.6875rem;font-weight:600}.tk-workspaces-table__device-add{display:inline-flex;block-size:62px;align-items:center;justify-content:center;gap:.5rem;min-height:3.5rem;padding:.5rem 1.25rem;border:none;border-radius:.5rem;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22186%22 height%3D%2274%22 viewBox%3D%220 0 186 74%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22url(%23paint0_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22url(%23paint1_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22url(%23paint2_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22url(%23paint3_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22url(%23paint4_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cdefs%3E%0D%3CradialGradient id%3D%22paint0_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint1_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint2_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint3_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint4_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain;font-family:inherit;white-space:nowrap;cursor:pointer;box-sizing:border-box}.tk-workspaces-table__device-add-label{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;color:#000000f2;font-size:.875rem;transition:background-color .15s}.tk-workspaces-table__device-add:hover .tk-workspaces-table__device-add-label{background-color:#ededed}.tk-workspaces-table__device-add-icon{height:1.125rem;width:1.125rem}.tk-workspaces-table__devices-empty{color:#0000004d}.tk-workspaces-table__calling-cell{max-width:14rem}.tk-workspaces-table__calling-content{display:flex;align-items:center;gap:.375rem}.tk-workspaces-table__calling-icon{flex:none;width:1rem;height:1rem;opacity:.4}.tk-workspaces-table__calling-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-workspaces-table__provisioning-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0009}.tk-workspaces-table__provisioning-icons{display:flex;align-items:center;gap:.5rem}.tk-workspaces-table__status{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.tk-workspaces-table__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(0,0,0,.3);flex-shrink:0}.tk-workspaces-table__status-dot--active{background:#1d805f}.tk-workspaces-table__status-dot--inactive{background:#c73636}.tk-workspaces-table__status-dot--hybrid{background:#639fff}.tk-workspaces-table__actions-cell{width:2.5rem;text-align:center}.tk-workspaces-table__actions-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:#00000080;cursor:pointer;border-radius:4px}.tk-workspaces-table__actions-button:hover{background:rgba(0,0,0,.06)}.tk-workspaces-table__actions-spinner{display:inline-flex;margin:0 auto}.tk-workspaces-table__empty{padding:1.5rem;text-align:center;color:#0009;cursor:default}\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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesTableComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'tk-workspaces-table', template: "<div class=\"tk-workspaces-table__bulk-bar\">Select one or more workspaces for bulk actions</div>\r\n\r\n<div class=\"tk-workspaces-table__wrapper\">\r\n <table class=\"tk-workspaces-table__table\">\r\n <thead>\r\n <tr>\r\n <th class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" [indeterminate]=\"someSelected\" (change)=\"toggleAll()\" />\r\n </th>\r\n <th>Name</th>\r\n <th>Devices</th>\r\n <th>Scheduling</th>\r\n <th>Calling</th>\r\n <th>Provisioning Type</th>\r\n <th>Status</th>\r\n <th class=\"tk-workspaces-table__settings-cell\">\r\n <mat-icon class=\"tk-workspaces-table__settings-icon\">settings</mat-icon>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let workspace of workspaces\"\r\n [class.tk-workspaces-table__row--selected]=\"isSelected(workspace.id)\"\r\n [class.tk-workspaces-table__row--disabled]=\"!canOpenWorkspace(workspace)\">\r\n <td class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(workspace.id)\" (change)=\"toggleRow(workspace.id)\" />\r\n </td>\r\n <td class=\"tk-workspaces-table__name-cell\" (click)=\"onOpenWorkspace(workspace)\">\r\n <div class=\"tk-workspaces-table__name-wrapper\">\r\n <span class=\"tk-workspaces-table__name-icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspaces-table__name-info\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspaces-table__name-link\">{{ getDisplayName(workspace) }}</a>\r\n <div class=\"tk-workspaces-table__name-meta\">\r\n <span class=\"tk-workspaces-table__name-type\">{{ workspace.typeLabel }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__name-capacity\">{{ workspace.capacity ?? 'No capacity' }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <!-- <mat-icon class=\"tk-workspaces-table__meta-icon\">location_on</mat-icon> -->\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <a\r\n *ngIf=\"workspace.location; else noLocation\"\r\n href=\"javascript:void(0)\"\r\n class=\"tk-workspaces-table__location-link\">{{ workspace.location }}</a>\r\n <ng-template #noLocation>\r\n <span class=\"tk-workspaces-table__location-empty\">No location</span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"tk-workspaces-table__devices\">\r\n <ng-container *ngIf=\"workspace.devices.length; else noDevices\">\r\n <span *ngFor=\"let device of workspace.devices\" class=\"tk-workspaces-table__device-card\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n <div class=\"tk-workspaces-table__device-tooltip\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"tk-workspaces-table__device-tooltip-title\">{{ device.label }}</div>\r\n <div class=\"tk-workspaces-table__device-tooltip-status\">\r\n <span\r\n class=\"tk-workspaces-table__device-tooltip-status-dot\"\r\n [class.tk-workspaces-table__device-tooltip-status-dot--active]=\"workspace.status === 'active'\"></span>\r\n {{ workspace.statusLabel }}\r\n </div>\r\n <div class=\"tk-workspaces-table__device-tooltip-divider\"></div>\r\n <div class=\"tk-workspaces-table__device-tooltip-mac\">\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-label\">MAC address</span>\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-value\">{{ device.mac }}</span>\r\n <button\r\n *ngIf=\"device.mac\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-tooltip-copy\"\r\n (click)=\"onCopyMac(device.mac)\">\r\n <img class=\"tk-workspaces-table__device-tooltip-copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </button>\r\n </div>\r\n </div>\r\n </span>\r\n </ng-container>\r\n <!-- <ng-container *ngFor=\"let device of workspace.devices\">\r\n <span *ngIf=\"device && device.model else noDevice\" class=\"tk-workspaces-table__device-card\" [title]=\"device.label\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n </span>\r\n </ng-container> -->\r\n <ng-template #noDevices>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-add\"\r\n (click)=\"onAddDevice(workspace, $event)\">\r\n <span class=\"tk-workspaces-table__device-add-label\">\r\n <img\r\n class=\"tk-workspaces-table__device-add-icon\"\r\n src=\"assets/icons/multipled-devices-regular.svg\"\r\n alt=\"\" />\r\n Add device\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td>{{ workspace.scheduling }}</td>\r\n <td class=\"tk-workspaces-table__calling-cell\">\r\n <span class=\"tk-workspaces-table__calling-content\">\r\n <img class=\"tk-workspaces-table__calling-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__calling-text\" title=\"Cisco Webex Calling Professional Workspace\">Cisco Webex Calling Professional Workspace</span>\r\n </span>\r\n </td>\r\n <td>\r\n <div *ngIf=\"workspace.isHybrid\" class=\"tk-workspaces-table__provisioning-icons\">\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </div>\r\n <ng-container *ngIf=\"!workspace.isHybrid\">\r\n <span *ngIf=\"workspace.device.cucmId != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span *ngIf=\"workspace.device.webexUUID != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n <td>\r\n <span class=\"tk-workspaces-table__status\">\r\n <span\r\n class=\"tk-workspaces-table__status-dot\"\r\n [class.tk-workspaces-table__status-dot--hybrid]=\"workspace.isHybrid\"\r\n [class.tk-workspaces-table__status-dot--active]=\"!workspace.isHybrid\"></span>\r\n {{ workspace.isHybrid ? 'Hybrid' : 'Active' }}\r\n </span>\r\n </td>\r\n <td class=\"tk-workspaces-table__actions-cell\">\r\n <mat-progress-spinner\r\n *ngIf=\"isPending(workspace.id)\"\r\n class=\"tk-workspaces-table__actions-spinner\"\r\n [diameter]=\"20\"\r\n strokeWidth=\"2\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n <button\r\n *ngIf=\"!isPending(workspace.id)\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__actions-button\"\r\n [matMenuTriggerFor]=\"rowMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #rowMenu=\"matMenu\">\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"licenseWithHybrid.emit(workspace)\">\r\n License with Cloud Intelligence\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"migrateToMT.emit(workspace)\">\r\n Migrate Workspace To Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isEnableWebexCallingDisabled(workspace)\"\r\n (click)=\"enableWebexCalling.emit(workspace)\">\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMigrateToUCMDisabled(workspace)\"\r\n (click)=\"migrateToUCM.emit(workspace)\">\r\n Migrate User to UCM\r\n </button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!workspaces.length\">\r\n <td [attr.colspan]=\"8\" class=\"tk-workspaces-table__empty\">No workspaces to display.</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n\r\n<mat-paginator\r\n class=\"tk-workspaces-table__paginator\"\r\n [length]=\"total\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onPage($event)\">\r\n</mat-paginator>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-workspaces-table__bulk-bar{margin-bottom:1rem;font-size:.875rem;color:#000000f2}.tk-workspaces-table__wrapper{overflow-x:auto}.tk-workspaces-table__paginator{border:1px solid rgba(0,0,0,.12);border-top:none;background:#fff;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspaces-table__table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif}.tk-workspaces-table__table th{height:39px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;word-break:break-all;max-inline-size:100%;cursor:pointer}.tk-workspaces-table__table th:hover{background-color:#dedede}.tk-workspaces-table__table td{height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px #0003;background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;word-break:break-all;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-workspaces-table__table tbody tr:hover td{background:#ededed}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--selected td{background:#f0f6ff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled td{cursor:default}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled:hover td{background:#ffffff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled.tk-workspaces-table__row--selected:hover td{background:#f0f6ff}.tk-workspaces-table__checkbox-cell{width:2.5rem;cursor:default}.tk-workspaces-table__settings-cell{width:2.5rem;text-align:center}.tk-workspaces-table__settings-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#00000080}.tk-workspaces-table__name-cell{min-width:14rem}.tk-workspaces-table__name-wrapper{display:flex;align-items:center;gap:.625rem}.tk-workspaces-table__name-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:#2b2b2b;color:#fff}.tk-workspaces-table__name-icon img{height:1.125rem;width:1.125rem;filter:brightness(0) invert(1)}.tk-workspaces-table__name-info{display:flex;flex-direction:column;gap:.5rem;min-width:0}.tk-workspaces-table__name-link{color:#000000de;font-weight:500;text-decoration:none}.tk-workspaces-table__name-meta{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#0009;white-space:nowrap}.tk-workspaces-table__name-meta .tk-workspaces-table__name-type,.tk-workspaces-table__name-meta .tk-workspaces-table__name-capacity{color:#0006}.tk-workspaces-table__meta-icon{font-size:.875rem;height:.875rem;width:.875rem;color:#0006}.tk-workspaces-table__meta-sep{color:#0000004d}.tk-workspaces-table__location-link{color:#0353a8;text-decoration:none}.tk-workspaces-table__location-empty{color:#0009}.tk-workspaces-table__devices{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem 0}.tk-workspaces-table__device-card{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#fff;box-sizing:border-box;padding:12px;block-size:60px}.tk-workspaces-table__device-card:hover .tk-workspaces-table__device-tooltip{visibility:visible;opacity:1}.tk-workspaces-table__device-tooltip{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);z-index:20;visibility:hidden;opacity:0;transition:opacity .15s ease;border:1px solid #d6d6d6;min-width:16rem;padding:.75rem;border-radius:.215rem;background:#ededed;box-shadow:0 2px 12px #0000002e;font-size:.8125rem;white-space:normal;cursor:default}.tk-workspaces-table__device-tooltip:before,.tk-workspaces-table__device-tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-style:solid;border-color:transparent}.tk-workspaces-table__device-tooltip:before{border-width:9px 8px 0;border-top-color:#d6d6d6}.tk-workspaces-table__device-tooltip:after{margin-top:-1px;border-width:8px 7px 0;border-top-color:#ededed}.tk-workspaces-table__device-tooltip-title{font-weight:600;color:#2e2e2e;font-size:1rem}.tk-workspaces-table__device-tooltip-status{display:flex;align-items:center;gap:.75rem;margin-top:.375rem;color:#1c1c1c;font-size:.875rem}.tk-workspaces-table__device-tooltip-status-dot{width:.438rem;height:.438rem;border-radius:50%;background:#707070;flex-shrink:0}.tk-workspaces-table__device-tooltip-status-dot--active{background:#1d805f}.tk-workspaces-table__device-tooltip-divider{margin:.825rem 0 1rem;border-top:1px solid #a8a8a8}.tk-workspaces-table__device-tooltip-mac{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tk-workspaces-table__device-tooltip-mac-label{color:#0009}.tk-workspaces-table__device-tooltip-mac-value{font-weight:500;color:#000000f2}.tk-workspaces-table__device-tooltip-copy{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer}.tk-workspaces-table__device-tooltip-copy-icon{width:.875rem;height:.875rem;opacity:.6}.tk-workspaces-table__device-icon{inline-size:40px;display:inline-block;vertical-align:middle;max-inline-size:100%;block-size:auto}.tk-workspaces-table__device-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#757575;color:#fff;font-size:.6875rem;font-weight:600}.tk-workspaces-table__device-add{display:inline-flex;block-size:62px;align-items:center;justify-content:center;gap:.5rem;min-height:3.5rem;padding:.5rem 1.25rem;border:none;border-radius:.5rem;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22186%22 height%3D%2274%22 viewBox%3D%220 0 186 74%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22url(%23paint0_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22url(%23paint1_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22url(%23paint2_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22url(%23paint3_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22url(%23paint4_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cdefs%3E%0D%3CradialGradient id%3D%22paint0_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint1_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint2_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint3_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint4_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain;font-family:inherit;white-space:nowrap;cursor:pointer;box-sizing:border-box}.tk-workspaces-table__device-add-label{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;color:#000000f2;font-size:.875rem;transition:background-color .15s}.tk-workspaces-table__device-add:hover .tk-workspaces-table__device-add-label{background-color:#ededed}.tk-workspaces-table__device-add-icon{height:1.125rem;width:1.125rem}.tk-workspaces-table__devices-empty{color:#0000004d}.tk-workspaces-table__calling-cell{max-width:14rem}.tk-workspaces-table__calling-content{display:flex;align-items:center;gap:.375rem}.tk-workspaces-table__calling-icon{flex:none;width:1rem;height:1rem;opacity:.4}.tk-workspaces-table__calling-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-workspaces-table__provisioning-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0009}.tk-workspaces-table__provisioning-icons{display:flex;align-items:center;gap:.5rem}.tk-workspaces-table__status{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.tk-workspaces-table__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(0,0,0,.3);flex-shrink:0}.tk-workspaces-table__status-dot--active{background:#1d805f}.tk-workspaces-table__status-dot--inactive{background:#c73636}.tk-workspaces-table__status-dot--hybrid{background:#639fff}.tk-workspaces-table__actions-cell{width:2.5rem;text-align:center}.tk-workspaces-table__actions-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:#00000080;cursor:pointer;border-radius:4px}.tk-workspaces-table__actions-button:hover{background:rgba(0,0,0,.06)}.tk-workspaces-table__actions-spinner{display:inline-flex;margin:0 auto}.tk-workspaces-table__empty{padding:1.5rem;text-align:center;color:#0009;cursor:default}\n"] }]
102
+ args: [{ selector: 'tk-workspaces-table', template: "<div class=\"tk-workspaces-table__bulk-bar\">Select one or more workspaces for bulk actions</div>\r\n\r\n<div class=\"tk-workspaces-table__wrapper\">\r\n <table class=\"tk-workspaces-table__table\">\r\n <thead>\r\n <tr>\r\n <th class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" [indeterminate]=\"someSelected\" (change)=\"toggleAll()\" />\r\n </th>\r\n <th>Name</th>\r\n <th>Devices</th>\r\n <th>Scheduling</th>\r\n <th>Calling</th>\r\n <th>Provisioning Type</th>\r\n <th>Status</th>\r\n <th class=\"tk-workspaces-table__settings-cell\">\r\n <mat-icon class=\"tk-workspaces-table__settings-icon\">settings</mat-icon>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let workspace of workspaces\"\r\n [class.tk-workspaces-table__row--selected]=\"isSelected(workspace.id)\"\r\n [class.tk-workspaces-table__row--disabled]=\"!canOpenWorkspace(workspace)\">\r\n <td class=\"tk-workspaces-table__checkbox-cell\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(workspace.id)\" (change)=\"toggleRow(workspace.id)\" />\r\n </td>\r\n <td class=\"tk-workspaces-table__name-cell\" (click)=\"onOpenWorkspace(workspace)\">\r\n <div class=\"tk-workspaces-table__name-wrapper\">\r\n <span class=\"tk-workspaces-table__name-icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspaces-table__name-info\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspaces-table__name-link\">{{ getDisplayName(workspace) }}</a>\r\n <div class=\"tk-workspaces-table__name-meta\">\r\n <span class=\"tk-workspaces-table__name-type\">{{ workspace.typeLabel }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__name-capacity\">{{ workspace.capacity ?? 'No capacity' }}</span>\r\n <span class=\"tk-workspaces-table__meta-sep\">&middot;</span>\r\n <!-- <mat-icon class=\"tk-workspaces-table__meta-icon\">location_on</mat-icon> -->\r\n <img class=\"tk-workspaces-table__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <a\r\n *ngIf=\"workspace.location; else noLocation\"\r\n href=\"javascript:void(0)\"\r\n class=\"tk-workspaces-table__location-link\">{{ workspace.location }}</a>\r\n <ng-template #noLocation>\r\n <span class=\"tk-workspaces-table__location-empty\">No location</span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"tk-workspaces-table__devices\">\r\n <ng-container *ngIf=\"workspace.devices.length; else noDevices\">\r\n <span *ngFor=\"let device of workspace.devices\" class=\"tk-workspaces-table__device-card\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n <div class=\"tk-workspaces-table__device-tooltip\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"tk-workspaces-table__device-tooltip-title\">{{ device.label }}</div>\r\n <div class=\"tk-workspaces-table__device-tooltip-status\">\r\n <span\r\n class=\"tk-workspaces-table__device-tooltip-status-dot\"\r\n [class.tk-workspaces-table__device-tooltip-status-dot--active]=\"workspace.status === 'active'\"></span>\r\n {{ workspace.statusLabel }}\r\n </div>\r\n <div class=\"tk-workspaces-table__device-tooltip-divider\"></div>\r\n <div class=\"tk-workspaces-table__device-tooltip-mac\">\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-label\">MAC address</span>\r\n <span class=\"tk-workspaces-table__device-tooltip-mac-value\">{{ device.mac }}</span>\r\n <button\r\n *ngIf=\"device.mac\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-tooltip-copy\"\r\n (click)=\"onCopyMac(device.mac)\">\r\n <img class=\"tk-workspaces-table__device-tooltip-copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </button>\r\n </div>\r\n </div>\r\n </span>\r\n </ng-container>\r\n <!-- <ng-container *ngFor=\"let device of workspace.devices\">\r\n <span *ngIf=\"device && device.model else noDevice\" class=\"tk-workspaces-table__device-card\" [title]=\"device.label\">\r\n <img\r\n class=\"tk-workspaces-table__device-icon\"\r\n [src]=\"getDeviceIcon(device.model)\"\r\n [alt]=\"device.label\" />\r\n </span>\r\n </ng-container> -->\r\n <ng-template #noDevices>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspaces-table__device-add\"\r\n (click)=\"onAddDevice(workspace, $event)\">\r\n <span class=\"tk-workspaces-table__device-add-label\">\r\n <img\r\n class=\"tk-workspaces-table__device-add-icon\"\r\n src=\"assets/icons/multipled-devices-regular.svg\"\r\n alt=\"\" />\r\n Add device\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td>{{ workspace.scheduling }}</td>\r\n <td class=\"tk-workspaces-table__calling-cell\">\r\n <span class=\"tk-workspaces-table__calling-content\">\r\n <img class=\"tk-workspaces-table__calling-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <span class=\"tk-workspaces-table__calling-text\" title=\"Cisco Webex Calling Professional Workspace\">Cisco Webex Calling Professional Workspace</span>\r\n </span>\r\n </td>\r\n <td>\r\n <div *ngIf=\"workspace.isHybrid\" class=\"tk-workspaces-table__provisioning-icons\">\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </div>\r\n <ng-container *ngIf=\"!workspace.isHybrid\">\r\n <span *ngIf=\"workspace.device.cucmId != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'di'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/di_cloud_24.svg\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n <span *ngIf=\"workspace.device.webexUUID != null\" class=\"icon-wrapper\" (click)=\"onOpenWorkspace(workspace, 'webex'); $event.stopPropagation()\"\r\n ><img\r\n src=\"assets/icons/webex.svg\"\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n width=\"20\"\r\n alt=\"\"\r\n /></span>\r\n </ng-container>\r\n </td>\r\n <td>\r\n <span class=\"tk-workspaces-table__status\">\r\n <span\r\n class=\"tk-workspaces-table__status-dot\"\r\n [class.tk-workspaces-table__status-dot--hybrid]=\"workspace.isHybrid\"\r\n [class.tk-workspaces-table__status-dot--active]=\"!workspace.isHybrid\"></span>\r\n {{ workspace.isHybrid ? 'Hybrid' : 'Active' }}\r\n </span>\r\n </td>\r\n <td class=\"tk-workspaces-table__actions-cell\">\r\n <div class=\"spinner-wrapper\">\r\n <mat-progress-spinner\r\n *ngIf=\"isPending(workspace.id)\"\r\n class=\"tk-workspaces-table__actions-spinner\"\r\n [diameter]=\"20\"\r\n strokeWidth=\"2\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </div>\r\n <button\r\n *ngIf=\"!isPending(workspace.id)\"\r\n type=\"button\"\r\n class=\"tk-workspaces-table__actions-button\"\r\n [matMenuTriggerFor]=\"rowMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #rowMenu=\"matMenu\">\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMoveToMTDisabled(workspace)\"\r\n (click)=\"migrateToMT.emit(workspace)\">\r\n Migrate Workspace To Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isEnableWebexCallingDisabled(workspace)\"\r\n (click)=\"enableWebexCalling.emit(workspace)\">\r\n Enable Webex Calling\r\n </button>\r\n <button\r\n type=\"button\"\r\n mat-menu-item\r\n [disabled]=\"isMigrateToUCMDisabled(workspace)\"\r\n (click)=\"migrateToUCM.emit(workspace)\">\r\n Migrate User to UCM\r\n </button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"!isLoading && !workspaces.length\">\r\n <td [attr.colspan]=\"8\" class=\"tk-workspaces-table__empty\">No workspaces to display.</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n\r\n<mat-paginator\r\n class=\"tk-workspaces-table__paginator\"\r\n [length]=\"total\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onPage($event)\">\r\n</mat-paginator>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-workspaces-table__bulk-bar{margin-bottom:1rem;font-size:.875rem;color:#000000f2}.tk-workspaces-table__wrapper{overflow-x:auto}.tk-workspaces-table__paginator{border:1px solid rgba(0,0,0,.12);border-top:none;background:#fff;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspaces-table__table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif}.tk-workspaces-table__table th{height:39px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;word-break:break-all;max-inline-size:100%;cursor:pointer}.tk-workspaces-table__table th:hover{background-color:#dedede}.tk-workspaces-table__table td{height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px #0003;background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;word-break:break-all;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-workspaces-table__table tbody tr:hover td{background:#ededed}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--selected td{background:#f0f6ff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled td{cursor:default}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled:hover td{background:#ffffff}.tk-workspaces-table__table tbody tr.tk-workspaces-table__row--disabled.tk-workspaces-table__row--selected:hover td{background:#f0f6ff}.tk-workspaces-table__checkbox-cell{width:2.5rem;cursor:default}.tk-workspaces-table__settings-cell{width:2.5rem;text-align:center}.tk-workspaces-table__settings-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#00000080}.tk-workspaces-table__name-cell{min-width:14rem}.tk-workspaces-table__name-wrapper{display:flex;align-items:center;gap:.625rem}.tk-workspaces-table__name-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:#2b2b2b;color:#fff}.tk-workspaces-table__name-icon img{height:1.125rem;width:1.125rem;filter:brightness(0) invert(1)}.tk-workspaces-table__name-info{display:flex;flex-direction:column;gap:.5rem;min-width:0}.tk-workspaces-table__name-link{color:#000000de;font-weight:500;text-decoration:none}.tk-workspaces-table__name-meta{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#0009;white-space:nowrap}.tk-workspaces-table__name-meta .tk-workspaces-table__name-type,.tk-workspaces-table__name-meta .tk-workspaces-table__name-capacity{color:#0006}.tk-workspaces-table__meta-icon{font-size:.875rem;height:.875rem;width:.875rem;color:#0006}.tk-workspaces-table__meta-sep{color:#0000004d}.tk-workspaces-table__location-link{color:#0353a8;text-decoration:none}.tk-workspaces-table__location-empty{color:#0009}.tk-workspaces-table__devices{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem 0}.tk-workspaces-table__device-card{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#fff;box-sizing:border-box;padding:12px;block-size:60px}.tk-workspaces-table__device-card:hover .tk-workspaces-table__device-tooltip{visibility:visible;opacity:1}.tk-workspaces-table__device-tooltip{position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);z-index:20;visibility:hidden;opacity:0;transition:opacity .15s ease;border:1px solid #d6d6d6;min-width:16rem;padding:.75rem;border-radius:.215rem;background:#ededed;box-shadow:0 2px 12px #0000002e;font-size:.8125rem;white-space:normal;cursor:default}.tk-workspaces-table__device-tooltip:before,.tk-workspaces-table__device-tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-style:solid;border-color:transparent}.tk-workspaces-table__device-tooltip:before{border-width:9px 8px 0;border-top-color:#d6d6d6}.tk-workspaces-table__device-tooltip:after{margin-top:-1px;border-width:8px 7px 0;border-top-color:#ededed}.tk-workspaces-table__device-tooltip-title{font-weight:600;color:#2e2e2e;font-size:1rem}.tk-workspaces-table__device-tooltip-status{display:flex;align-items:center;gap:.75rem;margin-top:.375rem;color:#1c1c1c;font-size:.875rem}.tk-workspaces-table__device-tooltip-status-dot{width:.438rem;height:.438rem;border-radius:50%;background:#707070;flex-shrink:0}.tk-workspaces-table__device-tooltip-status-dot--active{background:#1d805f}.tk-workspaces-table__device-tooltip-divider{margin:.825rem 0 1rem;border-top:1px solid #a8a8a8}.tk-workspaces-table__device-tooltip-mac{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tk-workspaces-table__device-tooltip-mac-label{color:#0009}.tk-workspaces-table__device-tooltip-mac-value{font-weight:500;color:#000000f2}.tk-workspaces-table__device-tooltip-copy{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer}.tk-workspaces-table__device-tooltip-copy-icon{width:.875rem;height:.875rem;opacity:.6}.tk-workspaces-table__device-icon{inline-size:40px;display:inline-block;vertical-align:middle;max-inline-size:100%;block-size:auto}.tk-workspaces-table__device-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#757575;color:#fff;font-size:.6875rem;font-weight:600}.tk-workspaces-table__device-add{display:inline-flex;block-size:62px;align-items:center;justify-content:center;gap:.5rem;min-height:3.5rem;padding:.5rem 1.25rem;border:none;border-radius:.5rem;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%22186%22 height%3D%2274%22 viewBox%3D%220 0 186 74%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M1 8.51269C1 4.09442 4.58172 0.512695 9 0.512695H65C69.4183 0.512695 73 4.09442 73 8.5127V64.5127C73 68.931 69.4183 72.5127 65 72.5127H9C4.58172 72.5127 1 68.931 1 64.5127V8.51269Z%22 stroke%3D%22url(%23paint0_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 8.51269C77 4.09442 80.5817 0.512695 85 0.512695H111C115.418 0.512695 119 4.09442 119 8.5127V26.5127C119 30.931 115.418 34.5127 111 34.5127H85C80.5817 34.5127 77 30.931 77 26.5127V8.51269Z%22 stroke%3D%22url(%23paint1_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M123 8.51269C123 4.09442 126.582 0.512695 131 0.512695H177C181.418 0.512695 185 4.09442 185 8.5127V26.5127C185 30.931 181.418 34.5127 177 34.5127H131C126.582 34.5127 123 30.931 123 26.5127V8.51269Z%22 stroke%3D%22url(%23paint2_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M77 46.5127C77 42.0944 80.5817 38.5127 85 38.5127H131C135.418 38.5127 139 42.0944 139 46.5127V64.5127C139 68.931 135.418 72.5127 131 72.5127H85C80.5817 72.5127 77 68.931 77 64.5127V46.5127Z%22 stroke%3D%22url(%23paint3_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22%23DEDEDE%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cpath d%3D%22M143 46.5127C143 42.0944 146.582 38.5127 151 38.5127H177C181.418 38.5127 185 42.0944 185 46.5127V64.5127C185 68.931 181.418 72.5127 177 72.5127H151C146.582 72.5127 143 68.931 143 64.5127V46.5127Z%22 stroke%3D%22url(%23paint4_radial_6222_238881)%22 stroke-dasharray%3D%224 4%22%2F%3E%0D%3Cdefs%3E%0D%3CradialGradient id%3D%22paint0_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint1_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint2_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint3_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3CradialGradient id%3D%22paint4_radial_6222_238881%22 cx%3D%220%22 cy%3D%220%22 r%3D%221%22 gradientUnits%3D%22userSpaceOnUse%22 gradientTransform%3D%22translate(93 36.5127) rotate(90) scale(36 92)%22%3E%0D%3Cstop stop-color%3D%22white%22%2F%3E%0D%3Cstop offset%3D%221%22 stop-color%3D%22white%22 stop-opacity%3D%220%22%2F%3E%0D%3C%2FradialGradient%3E%0D%3C%2Fdefs%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain;font-family:inherit;white-space:nowrap;cursor:pointer;box-sizing:border-box}.tk-workspaces-table__device-add-label{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;color:#000000f2;font-size:.875rem;transition:background-color .15s}.tk-workspaces-table__device-add:hover .tk-workspaces-table__device-add-label{background-color:#ededed}.tk-workspaces-table__device-add-icon{height:1.125rem;width:1.125rem}.tk-workspaces-table__devices-empty{color:#0000004d}.tk-workspaces-table__calling-cell{max-width:14rem}.tk-workspaces-table__calling-content{display:flex;align-items:center;gap:.375rem}.tk-workspaces-table__calling-icon{flex:none;width:1rem;height:1rem;opacity:.4}.tk-workspaces-table__calling-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-workspaces-table__provisioning-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0009}.tk-workspaces-table__provisioning-icons{display:flex;align-items:center;gap:.5rem}.tk-workspaces-table__status{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.tk-workspaces-table__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(0,0,0,.3);flex-shrink:0}.tk-workspaces-table__status-dot--active{background:#1d805f}.tk-workspaces-table__status-dot--inactive{background:#c73636}.tk-workspaces-table__status-dot--hybrid{background:#639fff}.tk-workspaces-table__actions-cell{width:2.5rem;text-align:center}.tk-workspaces-table__actions-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:#00000080;cursor:pointer;border-radius:4px}.tk-workspaces-table__actions-button:hover{background:rgba(0,0,0,.06)}.tk-workspaces-table__actions-spinner{display:inline-flex;margin:0 auto}.tk-workspaces-table__empty{padding:1.5rem;text-align:center;color:#0009;cursor:default}\n"] }]
103
103
  }], propDecorators: { workspaces: [{
104
104
  type: Input
105
105
  }], total: [{
@@ -112,10 +112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
112
112
  type: Input
113
113
  }], pendingWorkspaceIds: [{
114
114
  type: Input
115
+ }], isLoading: [{
116
+ type: Input
115
117
  }], openWorkspace: [{
116
118
  type: Output
117
- }], licenseWithHybrid: [{
118
- type: Output
119
119
  }], migrateToMT: [{
120
120
  type: Output
121
121
  }], enableWebexCalling: [{
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
127
127
  }], pageChange: [{
128
128
  type: Output
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2VzLXRhYmxlL3dvcmtzcGFjZXMtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlcy10YWJsZS93b3Jrc3BhY2VzLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1XLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBQzdCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ3ZELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLElBQUksWUFBWSxF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QkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFdvcmtzcGFjZSwgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsIFdvcmtzcGFjZU9wZW5FdmVudCB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IGdldERldmljZUljb24gYXMgcmVzb2x2ZURldmljZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9kZXZpY2UtaWNvbic7XHJcbmltcG9ydCB7IHdpdGhvdXRTZXAgfSBmcm9tICcuLi8uLi91dGlscy93b3Jrc3BhY2UtbmFtZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZXNQYWdlQ2hhbmdlIHtcclxuICBwYWdlSW5kZXg6IG51bWJlcjtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLXdvcmtzcGFjZXMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93b3Jrc3BhY2VzLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3Jrc3BhY2VzLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VzVGFibGVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdID0gW107XHJcbiAgQElucHV0KCkgdG90YWwgPSAwO1xyXG4gIEBJbnB1dCgpIHBhZ2VJbmRleCA9IDA7XHJcbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMDtcclxuICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyNSwgNTAsIDEwMF07XHJcbiAgQElucHV0KCkgcGVuZGluZ1dvcmtzcGFjZUlkczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBvcGVuV29ya3NwYWNlID0gbmV3IEV2ZW50RW1pdHRlcjxXb3Jrc3BhY2VPcGVuRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGxpY2Vuc2VXaXRoSHlicmlkID0gbmV3IEV2ZW50RW1pdHRlcjxXb3Jrc3BhY2U+KCk7XHJcbiAgQE91dHB1dCgpIG1pZ3JhdGVUb01UID0gbmV3IEV2ZW50RW1pdHRlcjxXb3Jrc3BhY2U+KCk7XHJcbiAgQE91dHB1dCgpIGVuYWJsZVdlYmV4Q2FsbGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8V29ya3NwYWNlPigpO1xyXG4gIEBPdXRwdXQoKSBtaWdyYXRlVG9VQ00gPSBuZXcgRXZlbnRFbWl0dGVyPFdvcmtzcGFjZT4oKTtcclxuICBAT3V0cHV0KCkgYWRkRGV2aWNlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFdvcmtzcGFjZXNQYWdlQ2hhbmdlPigpO1xyXG5cclxuICBzZWxlY3RlZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG5cclxuICBnZXQgYWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2VzLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZElkcy5zaXplID09PSB0aGlzLndvcmtzcGFjZXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNvbWVTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSWRzLnNpemUgPiAwICYmICF0aGlzLmFsbFNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQWxsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IHRoaXMuYWxsU2VsZWN0ZWQgPyBuZXcgU2V0KCkgOiBuZXcgU2V0KHRoaXMud29ya3NwYWNlcy5tYXAod29ya3NwYWNlID0+IHdvcmtzcGFjZS5pZCkpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUm93KHdvcmtzcGFjZUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5leHRTZWxlY3Rpb24gPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgaWYgKG5leHRTZWxlY3Rpb24uaGFzKHdvcmtzcGFjZUlkKSkge1xyXG4gICAgICBuZXh0U2VsZWN0aW9uLmRlbGV0ZSh3b3Jrc3BhY2VJZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXh0U2VsZWN0aW9uLmFkZCh3b3Jrc3BhY2VJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gbmV4dFNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWQod29ya3NwYWNlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJZHMuaGFzKHdvcmtzcGFjZUlkKTtcclxuICB9XHJcblxyXG4gIG9uT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2U6IFdvcmtzcGFjZSwgY29ubmVjdGlvblR5cGU/OiBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNhbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZW5Xb3Jrc3BhY2UuZW1pdCh7IGlkOiB3b3Jrc3BhY2UuaWQsIGNvbm5lY3Rpb25UeXBlOiBjb25uZWN0aW9uVHlwZSA/PyB0aGlzLnJlc29sdmVDb25uZWN0aW9uVHlwZSh3b3Jrc3BhY2UpIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhd29ya3NwYWNlLmxvY2F0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNvbHZlQ29ubmVjdGlvblR5cGUod29ya3NwYWNlOiBXb3Jrc3BhY2UpOiBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSB7XHJcbiAgICByZXR1cm4gIXdvcmtzcGFjZS5pc0h5YnJpZCAmJiB3b3Jrc3BhY2UuZGV2aWNlLndlYmV4VVVJRCAhPSBudWxsID8gJ3dlYmV4JyA6ICdkaSc7XHJcbiAgfVxyXG5cclxuICBvbkFkZERldmljZSh3b3Jrc3BhY2U6IFdvcmtzcGFjZSwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYWRkRGV2aWNlLmVtaXQod29ya3NwYWNlLmlkKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZShldmVudDogUGFnZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gbmV3IFNldCgpO1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlSW5kZXg6IGV2ZW50LnBhZ2VJbmRleCwgcGFnZVNpemU6IGV2ZW50LnBhZ2VTaXplIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGV2aWNlSWNvbihtb2RlbD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gcmVzb2x2ZURldmljZUljb24obW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgb25Db3B5TWFjKG1hYzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkPy53cml0ZVRleHQobWFjKTtcclxuICB9XHJcblxyXG4gIGdldERpc3BsYXlOYW1lKHdvcmtzcGFjZTogV29ya3NwYWNlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB3aXRob3V0U2VwKHdvcmtzcGFjZS5kaXNwbGF5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBpc1BlbmRpbmcod29ya3NwYWNlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGVuZGluZ1dvcmtzcGFjZUlkcy5oYXMod29ya3NwYWNlSWQpO1xyXG4gIH1cclxuXHJcbiAgaXNNb3ZlVG9NVERpc2FibGVkKHdvcmtzcGFjZTogV29ya3NwYWNlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAod29ya3NwYWNlLnN0YXR1cyAhPT0gJ2FjdGl2ZScpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIXdvcmtzcGFjZS5pc0h5YnJpZCAmJiAhIXdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVXZWJleENhbGxpbmdEaXNhYmxlZCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHdvcmtzcGFjZS5zdGF0dXMgIT09ICdpbmFjdGl2ZScpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIXdvcmtzcGFjZS5pc0h5YnJpZCAmJiAhd29ya3NwYWNlLmRldmljZS53ZWJleFVVSUQ7XHJcbiAgfVxyXG5cclxuICBpc01pZ3JhdGVUb1VDTURpc2FibGVkKHdvcmtzcGFjZTogV29ya3NwYWNlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEIHx8IHdvcmtzcGFjZS5zdGF0dXMgIT09ICdhY3RpdmUnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fYnVsay1iYXJcIj5TZWxlY3Qgb25lIG9yIG1vcmUgd29ya3NwYWNlcyBmb3IgYnVsayBhY3Rpb25zPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fd3JhcHBlclwiPlxyXG4gIDx0YWJsZSBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3RhYmxlXCI+XHJcbiAgICA8dGhlYWQ+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGggY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19jaGVja2JveC1jZWxsXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiYWxsU2VsZWN0ZWRcIiBbaW5kZXRlcm1pbmF0ZV09XCJzb21lU2VsZWN0ZWRcIiAoY2hhbmdlKT1cInRvZ2dsZUFsbCgpXCIgLz5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICAgIDx0aD5OYW1lPC90aD5cclxuICAgICAgICA8dGg+RGV2aWNlczwvdGg+XHJcbiAgICAgICAgPHRoPlNjaGVkdWxpbmc8L3RoPlxyXG4gICAgICAgIDx0aD5DYWxsaW5nPC90aD5cclxuICAgICAgICA8dGg+UHJvdmlzaW9uaW5nIFR5cGU8L3RoPlxyXG4gICAgICAgIDx0aD5TdGF0dXM8L3RoPlxyXG4gICAgICAgIDx0aCBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3NldHRpbmdzLWNlbGxcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3NldHRpbmdzLWljb25cIj5zZXR0aW5nczwvbWF0LWljb24+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGhlYWQ+XHJcbiAgICA8dGJvZHk+XHJcbiAgICAgIDx0clxyXG4gICAgICAgICpuZ0Zvcj1cImxldCB3b3Jrc3BhY2Ugb2Ygd29ya3NwYWNlc1wiXHJcbiAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZXMtdGFibGVfX3Jvdy0tc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCh3b3Jrc3BhY2UuaWQpXCJcclxuICAgICAgICBbY2xhc3MudGstd29ya3NwYWNlcy10YWJsZV9fcm93LS1kaXNhYmxlZF09XCIhY2FuT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2UpXCI+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fY2hlY2tib3gtY2VsbFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQod29ya3NwYWNlLmlkKVwiIChjaGFuZ2UpPVwidG9nZ2xlUm93KHdvcmtzcGFjZS5pZClcIiAvPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1jZWxsXCIgKGNsaWNrKT1cIm9uT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2UpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19uYW1lLWluZm9cIj5cclxuICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19uYW1lLWxpbmtcIj57eyBnZXREaXNwbGF5TmFtZSh3b3Jrc3BhY2UpIH19PC9hPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19uYW1lLW1ldGFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS10eXBlXCI+e3sgd29ya3NwYWNlLnR5cGVMYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbWV0YS1zZXBcIj4mbWlkZG90Ozwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvcGVvcGxlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1jYXBhY2l0eVwiPnt7IHdvcmtzcGFjZS5jYXBhY2l0eSA/PyAnTm8gY2FwYWNpdHknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19tZXRhLXNlcFwiPiZtaWRkb3Q7PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19tZXRhLWljb25cIj5sb2NhdGlvbl9vbjwvbWF0LWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9sb2NhdGlvbi1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIndvcmtzcGFjZS5sb2NhdGlvbjsgZWxzZSBub0xvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbG9jYXRpb24tbGlua1wiPnt7IHdvcmtzcGFjZS5sb2NhdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Mb2NhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19sb2NhdGlvbi1lbXB0eVwiPk5vIGxvY2F0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2VzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3b3Jrc3BhY2UuZGV2aWNlcy5sZW5ndGg7IGVsc2Ugbm9EZXZpY2VzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGRldmljZSBvZiB3b3Jrc3BhY2UuZGV2aWNlc1wiIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0RGV2aWNlSWNvbihkZXZpY2UubW9kZWwpXCJcclxuICAgICAgICAgICAgICAgICAgW2FsdF09XCJkZXZpY2UubGFiZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLXRvb2x0aXAtdGl0bGVcIj57eyBkZXZpY2UubGFiZWwgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLXN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLXN0YXR1cy1kb3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLXN0YXR1cy1kb3QtLWFjdGl2ZV09XCJ3b3Jrc3BhY2Uuc3RhdHVzID09PSAnYWN0aXZlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7eyB3b3Jrc3BhY2Uuc3RhdHVzTGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1tYWNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLW1hYy1sYWJlbFwiPk1BQyBhZGRyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLXRvb2x0aXAtbWFjLXZhbHVlXCI+e3sgZGV2aWNlLm1hYyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldmljZS5tYWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLWNvcHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29weU1hYyhkZXZpY2UubWFjKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLWNvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkZXZpY2Ugb2Ygd29ya3NwYWNlLmRldmljZXNcIj5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRldmljZSAmJiBkZXZpY2UubW9kZWwgZWxzZSBub0RldmljZVwiIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLWNhcmRcIiBbdGl0bGVdPVwiZGV2aWNlLmxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cImdldERldmljZUljb24oZGV2aWNlLm1vZGVsKVwiXHJcbiAgICAgICAgICAgICAgICAgIFthbHRdPVwiZGV2aWNlLmxhYmVsXCIgLz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0RldmljZXM+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS1hZGRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWRkRGV2aWNlKHdvcmtzcGFjZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtYWRkLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS1hZGQtaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb25zL211bHRpcGxlZC1kZXZpY2VzLXJlZ3VsYXIuc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICBBZGQgZGV2aWNlXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD57eyB3b3Jrc3BhY2Uuc2NoZWR1bGluZyB9fTwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fY2FsbGluZy1jZWxsXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2NhbGxpbmctY29udGVudFwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fY2FsbGluZy1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2xvY2F0aW9uLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19jYWxsaW5nLXRleHRcIiB0aXRsZT1cIkNpc2NvIFdlYmV4IENhbGxpbmcgUHJvZmVzc2lvbmFsIFdvcmtzcGFjZVwiPkNpc2NvIFdlYmV4IENhbGxpbmcgUHJvZmVzc2lvbmFsIFdvcmtzcGFjZTwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ3b3Jrc3BhY2UuaXNIeWJyaWRcIiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3Byb3Zpc2lvbmluZy1pY29uc1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24td3JhcHBlclwiIChjbGljayk9XCJvbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlLCAnd2ViZXgnKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICA+PGltZ1xyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb25zL3dlYmV4LnN2Z1wiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInV2ViZXggQ2FsbGluZydcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAvPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIiAoY2xpY2spPVwib25PcGVuV29ya3NwYWNlKHdvcmtzcGFjZSwgJ2RpJyk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgPjxpbWdcclxuICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pY29ucy9kaV9jbG91ZF8yNC5zdmdcIlxyXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1dlYmV4IENhbGxpbmcgREknXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgLz48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhd29ya3NwYWNlLmlzSHlicmlkXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwid29ya3NwYWNlLmRldmljZS5jdWNtSWQgIT0gbnVsbFwiIGNsYXNzPVwiaWNvbi13cmFwcGVyXCIgKGNsaWNrKT1cIm9uT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2UsICdkaScpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgID48aW1nXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvaWNvbnMvZGlfY2xvdWRfMjQuc3ZnXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidXZWJleCBDYWxsaW5nIERJJ1wiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgIC8+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIndvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEICE9IG51bGxcIiBjbGFzcz1cImljb24td3JhcHBlclwiIChjbGljayk9XCJvbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlLCAnd2ViZXgnKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICA+PGltZ1xyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb25zL3dlYmV4LnN2Z1wiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInV2ViZXggQ2FsbGluZydcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAvPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19zdGF0dXNcIj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3N0YXR1cy1kb3RcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy50ay13b3Jrc3BhY2VzLXRhYmxlX19zdGF0dXMtZG90LS1oeWJyaWRdPVwid29ya3NwYWNlLmlzSHlicmlkXCJcclxuICAgICAgICAgICAgICBbY2xhc3MudGstd29ya3NwYWNlcy10YWJsZV9fc3RhdHVzLWRvdC0tYWN0aXZlXT1cIiF3b3Jrc3BhY2UuaXNIeWJyaWRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIHt7IHdvcmtzcGFjZS5pc0h5YnJpZCA/ICdIeWJyaWQnIDogJ0FjdGl2ZScgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2FjdGlvbnMtY2VsbFwiPlxyXG4gICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNQZW5kaW5nKHdvcmtzcGFjZS5pZClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2FjdGlvbnMtc3Bpbm5lclwiXHJcbiAgICAgICAgICAgIFtkaWFtZXRlcl09XCIyMFwiXHJcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCI+XHJcbiAgICAgICAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cIiFpc1BlbmRpbmcod29ya3NwYWNlLmlkKVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2FjdGlvbnMtYnV0dG9uXCJcclxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInJvd01lbnVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxtYXQtbWVudSAjcm93TWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNNb3ZlVG9NVERpc2FibGVkKHdvcmtzcGFjZSlcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJsaWNlbnNlV2l0aEh5YnJpZC5lbWl0KHdvcmtzcGFjZSlcIj5cclxuICAgICAgICAgICAgICBMaWNlbnNlIHdpdGggQ2xvdWQgSW50ZWxsaWdlbmNlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc01vdmVUb01URGlzYWJsZWQod29ya3NwYWNlKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pZ3JhdGVUb01ULmVtaXQod29ya3NwYWNlKVwiPlxyXG4gICAgICAgICAgICAgIE1pZ3JhdGUgV29ya3NwYWNlIFRvIFdlYmV4IENhbGxpbmdcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRW5hYmxlV2ViZXhDYWxsaW5nRGlzYWJsZWQod29ya3NwYWNlKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImVuYWJsZVdlYmV4Q2FsbGluZy5lbWl0KHdvcmtzcGFjZSlcIj5cclxuICAgICAgICAgICAgICBFbmFibGUgV2ViZXggQ2FsbGluZ1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNNaWdyYXRlVG9VQ01EaXNhYmxlZCh3b3Jrc3BhY2UpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibWlncmF0ZVRvVUNNLmVtaXQod29ya3NwYWNlKVwiPlxyXG4gICAgICAgICAgICAgIE1pZ3JhdGUgVXNlciB0byBVQ01cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDx0ciAqbmdJZj1cIiF3b3Jrc3BhY2VzLmxlbmd0aFwiPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjhcIiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2VtcHR5XCI+Tm8gd29ya3NwYWNlcyB0byBkaXNwbGF5LjwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3Rib2R5PlxyXG4gIDwvdGFibGU+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1wYWdpbmF0b3JcclxuICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3BhZ2luYXRvclwiXHJcbiAgW2xlbmd0aF09XCJ0b3RhbFwiXHJcbiAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhcIlxyXG4gIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxyXG4gIChwYWdlKT1cIm9uUGFnZSgkZXZlbnQpXCI+XHJcbjwvbWF0LXBhZ2luYXRvcj5cclxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2VzLXRhYmxlL3dvcmtzcGFjZXMtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlcy10YWJsZS93b3Jrc3BhY2VzLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1XLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBQzdCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFD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QkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UsIFdvcmtzcGFjZUNvbm5lY3Rpb25UeXBlLCBXb3Jrc3BhY2VPcGVuRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy93b3Jrc3BhY2UnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJY29uIGFzIHJlc29sdmVEZXZpY2VJY29uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGV2aWNlLWljb24nO1xyXG5pbXBvcnQgeyB3aXRob3V0U2VwIH0gZnJvbSAnLi4vLi4vdXRpbHMvd29ya3NwYWNlLW5hbWUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VzUGFnZUNoYW5nZSB7XHJcbiAgcGFnZUluZGV4OiBudW1iZXI7XHJcbiAgcGFnZVNpemU6IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0ay13b3Jrc3BhY2VzLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlcy10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya3NwYWNlcy10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlc1RhYmxlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB3b3Jrc3BhY2VzOiBXb3Jrc3BhY2VbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRvdGFsID0gMDtcclxuICBASW5wdXQoKSBwYWdlSW5kZXggPSAwO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gMTA7XHJcbiAgQElucHV0KCkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFsxMCwgMjUsIDUwLCAxMDBdO1xyXG4gIEBJbnB1dCgpIHBlbmRpbmdXb3Jrc3BhY2VJZHM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlbldvcmtzcGFjZSA9IG5ldyBFdmVudEVtaXR0ZXI8V29ya3NwYWNlT3BlbkV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBtaWdyYXRlVG9NVCA9IG5ldyBFdmVudEVtaXR0ZXI8V29ya3NwYWNlPigpO1xyXG4gIEBPdXRwdXQoKSBlbmFibGVXZWJleENhbGxpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPFdvcmtzcGFjZT4oKTtcclxuICBAT3V0cHV0KCkgbWlncmF0ZVRvVUNNID0gbmV3IEV2ZW50RW1pdHRlcjxXb3Jrc3BhY2U+KCk7XHJcbiAgQE91dHB1dCgpIGFkZERldmljZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxXb3Jrc3BhY2VzUGFnZUNoYW5nZT4oKTtcclxuXHJcbiAgc2VsZWN0ZWRJZHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgZ2V0IGFsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMud29ya3NwYWNlcy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRJZHMuc2l6ZSA9PT0gdGhpcy53b3Jrc3BhY2VzLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBzb21lU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZElkcy5zaXplID4gMCAmJiAhdGhpcy5hbGxTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLmFsbFNlbGVjdGVkID8gbmV3IFNldCgpIDogbmV3IFNldCh0aGlzLndvcmtzcGFjZXMubWFwKHdvcmtzcGFjZSA9PiB3b3Jrc3BhY2UuaWQpKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVJvdyh3b3Jrc3BhY2VJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXh0U2VsZWN0aW9uID0gbmV3IFNldCh0aGlzLnNlbGVjdGVkSWRzKTtcclxuICAgIGlmIChuZXh0U2VsZWN0aW9uLmhhcyh3b3Jrc3BhY2VJZCkpIHtcclxuICAgICAgbmV4dFNlbGVjdGlvbi5kZWxldGUod29ya3NwYWNlSWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV4dFNlbGVjdGlvbi5hZGQod29ya3NwYWNlSWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IG5leHRTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkKHdvcmtzcGFjZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSWRzLmhhcyh3b3Jrc3BhY2VJZCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlOiBXb3Jrc3BhY2UsIGNvbm5lY3Rpb25UeXBlPzogV29ya3NwYWNlQ29ubmVjdGlvblR5cGUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jYW5PcGVuV29ya3NwYWNlKHdvcmtzcGFjZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcGVuV29ya3NwYWNlLmVtaXQoeyBpZDogd29ya3NwYWNlLmlkLCBjb25uZWN0aW9uVHlwZTogY29ubmVjdGlvblR5cGUgPz8gdGhpcy5yZXNvbHZlQ29ubmVjdGlvblR5cGUod29ya3NwYWNlKSB9KTtcclxuICB9XHJcblxyXG4gIGNhbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlOiBXb3Jrc3BhY2UpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXdvcmtzcGFjZS5sb2NhdGlvbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZUNvbm5lY3Rpb25UeXBlKHdvcmtzcGFjZTogV29ya3NwYWNlKTogV29ya3NwYWNlQ29ubmVjdGlvblR5cGUge1xyXG4gICAgcmV0dXJuICF3b3Jrc3BhY2UuaXNIeWJyaWQgJiYgd29ya3NwYWNlLmRldmljZS53ZWJleFVVSUQgIT0gbnVsbCA/ICd3ZWJleCcgOiAnZGknO1xyXG4gIH1cclxuXHJcbiAgb25BZGREZXZpY2Uod29ya3NwYWNlOiBXb3Jrc3BhY2UsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmFkZERldmljZS5lbWl0KHdvcmtzcGFjZS5pZCk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2UoZXZlbnQ6IFBhZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IG5ldyBTZXQoKTtcclxuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZUluZGV4OiBldmVudC5wYWdlSW5kZXgsIHBhZ2VTaXplOiBldmVudC5wYWdlU2l6ZSB9KTtcclxuICB9XHJcblxyXG4gIGdldERldmljZUljb24obW9kZWw/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHJlc29sdmVEZXZpY2VJY29uKG1vZGVsKTtcclxuICB9XHJcblxyXG4gIG9uQ29weU1hYyhtYWM6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZD8ud3JpdGVUZXh0KG1hYyk7XHJcbiAgfVxyXG5cclxuICBnZXREaXNwbGF5TmFtZSh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2l0aG91dFNlcCh3b3Jrc3BhY2UuZGlzcGxheU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaXNQZW5kaW5nKHdvcmtzcGFjZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBlbmRpbmdXb3Jrc3BhY2VJZHMuaGFzKHdvcmtzcGFjZUlkKTtcclxuICB9XHJcblxyXG4gIGlzTW92ZVRvTVREaXNhYmxlZCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHdvcmtzcGFjZS5zdGF0dXMgIT09ICdhY3RpdmUnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICF3b3Jrc3BhY2UuaXNIeWJyaWQgJiYgISF3b3Jrc3BhY2UuZGV2aWNlLndlYmV4VVVJRDtcclxuICB9XHJcblxyXG4gIGlzRW5hYmxlV2ViZXhDYWxsaW5nRGlzYWJsZWQod29ya3NwYWNlOiBXb3Jrc3BhY2UpOiBib29sZWFuIHtcclxuICAgIGlmICh3b3Jrc3BhY2Uuc3RhdHVzICE9PSAnaW5hY3RpdmUnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICF3b3Jrc3BhY2UuaXNIeWJyaWQgJiYgIXdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEO1xyXG4gIH1cclxuXHJcbiAgaXNNaWdyYXRlVG9VQ01EaXNhYmxlZCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF3b3Jrc3BhY2UuZGV2aWNlLndlYmV4VVVJRCB8fCB3b3Jrc3BhY2Uuc3RhdHVzICE9PSAnYWN0aXZlJztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2J1bGstYmFyXCI+U2VsZWN0IG9uZSBvciBtb3JlIHdvcmtzcGFjZXMgZm9yIGJ1bGsgYWN0aW9uczwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX3dyYXBwZXJcIj5cclxuICA8dGFibGUgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX190YWJsZVwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fY2hlY2tib3gtY2VsbFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFsbFNlbGVjdGVkXCIgW2luZGV0ZXJtaW5hdGVdPVwic29tZVNlbGVjdGVkXCIgKGNoYW5nZSk9XCJ0b2dnbGVBbGwoKVwiIC8+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGg+TmFtZTwvdGg+XHJcbiAgICAgICAgPHRoPkRldmljZXM8L3RoPlxyXG4gICAgICAgIDx0aD5TY2hlZHVsaW5nPC90aD5cclxuICAgICAgICA8dGg+Q2FsbGluZzwvdGg+XHJcbiAgICAgICAgPHRoPlByb3Zpc2lvbmluZyBUeXBlPC90aD5cclxuICAgICAgICA8dGg+U3RhdHVzPC90aD5cclxuICAgICAgICA8dGggY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19zZXR0aW5ncy1jZWxsXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19zZXR0aW5ncy1pY29uXCI+c2V0dGluZ3M8L21hdC1pY29uPlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG4gICAgPHRib2R5PlxyXG4gICAgICA8dHJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgd29ya3NwYWNlIG9mIHdvcmtzcGFjZXNcIlxyXG4gICAgICAgIFtjbGFzcy50ay13b3Jrc3BhY2VzLXRhYmxlX19yb3ctLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQod29ya3NwYWNlLmlkKVwiXHJcbiAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZXMtdGFibGVfX3Jvdy0tZGlzYWJsZWRdPVwiIWNhbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlKVwiPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2NoZWNrYm94LWNlbGxcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHdvcmtzcGFjZS5pZClcIiAoY2hhbmdlKT1cInRvZ2dsZVJvdyh3b3Jrc3BhY2UuaWQpXCIgLz5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX25hbWUtY2VsbFwiIChjbGljayk9XCJvbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX25hbWUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX25hbWUtaWNvblwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2RldmljZS1pbi1yb29tLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1saW5rXCI+e3sgZ2V0RGlzcGxheU5hbWUod29ya3NwYWNlKSB9fTwvYT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbmFtZS1tZXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX25hbWUtdHlwZVwiPnt7IHdvcmtzcGFjZS50eXBlTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX21ldGEtc2VwXCI+Jm1pZGRvdDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3Blb3BsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX25hbWUtY2FwYWNpdHlcIj57eyB3b3Jrc3BhY2UuY2FwYWNpdHkgPz8gJ05vIGNhcGFjaXR5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbWV0YS1zZXBcIj4mbWlkZG90Ozwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbWV0YS1pY29uXCI+bG9jYXRpb25fb248L21hdC1pY29uPiAtLT5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYXRpb24tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ3b3Jrc3BhY2UubG9jYXRpb247IGVsc2Ugbm9Mb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2xvY2F0aW9uLWxpbmtcIj57eyB3b3Jrc3BhY2UubG9jYXRpb24gfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vTG9jYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fbG9jYXRpb24tZW1wdHlcIj5ObyBsb2NhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQ+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid29ya3NwYWNlLmRldmljZXMubGVuZ3RoOyBlbHNlIG5vRGV2aWNlc1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkZXZpY2Ugb2Ygd29ya3NwYWNlLmRldmljZXNcIiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cImdldERldmljZUljb24oZGV2aWNlLm1vZGVsKVwiXHJcbiAgICAgICAgICAgICAgICAgIFthbHRdPVwiZGV2aWNlLmxhYmVsXCIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLXRpdGxlXCI+e3sgZGV2aWNlLmxhYmVsIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1zdGF0dXMtZG90XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1zdGF0dXMtZG90LS1hY3RpdmVdPVwid29ya3NwYWNlLnN0YXR1cyA9PT0gJ2FjdGl2ZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgd29ya3NwYWNlLnN0YXR1c0xhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLXRvb2x0aXAtZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLXRvb2x0aXAtbWFjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1tYWMtbGFiZWxcIj5NQUMgYWRkcmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS10b29sdGlwLW1hYy12YWx1ZVwiPnt7IGRldmljZS5tYWMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkZXZpY2UubWFjXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1jb3B5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvcHlNYWMoZGV2aWNlLm1hYylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtdG9vbHRpcC1jb3B5LWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvY29weS1yZWd1bGFyLnN2Z1wiIGFsdD1cIkNvcHlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHdvcmtzcGFjZS5kZXZpY2VzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkZXZpY2UgJiYgZGV2aWNlLm1vZGVsIGVsc2Ugbm9EZXZpY2VcIiBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS1jYXJkXCIgW3RpdGxlXT1cImRldmljZS5sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2RldmljZS1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXREZXZpY2VJY29uKGRldmljZS5tb2RlbClcIlxyXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cImRldmljZS5sYWJlbFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EZXZpY2VzPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtYWRkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFkZERldmljZSh3b3Jrc3BhY2UsICRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZGV2aWNlLWFkZC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19kZXZpY2UtYWRkLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pY29ucy9tdWx0aXBsZWQtZGV2aWNlcy1yZWd1bGFyLnN2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgICAgICAgQWRkIGRldmljZVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQ+e3sgd29ya3NwYWNlLnNjaGVkdWxpbmcgfX08L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2NhbGxpbmctY2VsbFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19jYWxsaW5nLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZXMtdGFibGVfX2NhbGxpbmctaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9sb2NhdGlvbi1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fY2FsbGluZy10ZXh0XCIgdGl0bGU9XCJDaXNjbyBXZWJleCBDYWxsaW5nIFByb2Zlc3Npb25hbCBXb3Jrc3BhY2VcIj5DaXNjbyBXZWJleCBDYWxsaW5nIFByb2Zlc3Npb25hbCBXb3Jrc3BhY2U8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQ+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwid29ya3NwYWNlLmlzSHlicmlkXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19wcm92aXNpb25pbmctaWNvbnNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXdyYXBwZXJcIiAoY2xpY2spPVwib25PcGVuV29ya3NwYWNlKHdvcmtzcGFjZSwgJ3dlYmV4Jyk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgPjxpbWdcclxuICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pY29ucy93ZWJleC5zdmdcIlxyXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1dlYmV4IENhbGxpbmcnXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgLz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyXCIgKGNsaWNrKT1cIm9uT3BlbldvcmtzcGFjZSh3b3Jrc3BhY2UsICdkaScpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgID48aW1nXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvaWNvbnMvZGlfY2xvdWRfMjQuc3ZnXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidXZWJleCBDYWxsaW5nIERJJ1wiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgIC8+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdvcmtzcGFjZS5pc0h5YnJpZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIndvcmtzcGFjZS5kZXZpY2UuY3VjbUlkICE9IG51bGxcIiBjbGFzcz1cImljb24td3JhcHBlclwiIChjbGljayk9XCJvbk9wZW5Xb3Jrc3BhY2Uod29ya3NwYWNlLCAnZGknKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICA+PGltZ1xyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ljb25zL2RpX2Nsb3VkXzI0LnN2Z1wiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInV2ViZXggQ2FsbGluZyBESSdcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAvPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ3b3Jrc3BhY2UuZGV2aWNlLndlYmV4VVVJRCAhPSBudWxsXCIgY2xhc3M9XCJpY29uLXdyYXBwZXJcIiAoY2xpY2spPVwib25PcGVuV29ya3NwYWNlKHdvcmtzcGFjZSwgJ3dlYmV4Jyk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgPjxpbWdcclxuICAgICAgICAgICAgICAgIHNyYz1cImFzc2V0cy9pY29ucy93ZWJleC5zdmdcIlxyXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1dlYmV4IENhbGxpbmcnXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgLz48L3NwYW4+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fc3RhdHVzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19zdGF0dXMtZG90XCJcclxuICAgICAgICAgICAgICBbY2xhc3MudGstd29ya3NwYWNlcy10YWJsZV9fc3RhdHVzLWRvdC0taHlicmlkXT1cIndvcmtzcGFjZS5pc0h5YnJpZFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZXMtdGFibGVfX3N0YXR1cy1kb3QtLWFjdGl2ZV09XCIhd29ya3NwYWNlLmlzSHlicmlkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICB7eyB3b3Jrc3BhY2UuaXNIeWJyaWQgPyAnSHlicmlkJyA6ICdBY3RpdmUnIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19hY3Rpb25zLWNlbGxcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1BlbmRpbmcod29ya3NwYWNlLmlkKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2VzLXRhYmxlX19hY3Rpb25zLXNwaW5uZXJcIlxyXG4gICAgICAgICAgICAgIFtkaWFtZXRlcl09XCIyMFwiXHJcbiAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPlxyXG4gICAgICAgICAgICA8L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzUGVuZGluZyh3b3Jrc3BhY2UuaWQpXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fYWN0aW9ucy1idXR0b25cIlxyXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwicm93TWVudVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1tZW51ICNyb3dNZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc01vdmVUb01URGlzYWJsZWQod29ya3NwYWNlKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm1pZ3JhdGVUb01ULmVtaXQod29ya3NwYWNlKVwiPlxyXG4gICAgICAgICAgICAgIE1pZ3JhdGUgV29ya3NwYWNlIFRvIFdlYmV4IENhbGxpbmdcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRW5hYmxlV2ViZXhDYWxsaW5nRGlzYWJsZWQod29ya3NwYWNlKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImVuYWJsZVdlYmV4Q2FsbGluZy5lbWl0KHdvcmtzcGFjZSlcIj5cclxuICAgICAgICAgICAgICBFbmFibGUgV2ViZXggQ2FsbGluZ1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNNaWdyYXRlVG9VQ01EaXNhYmxlZCh3b3Jrc3BhY2UpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibWlncmF0ZVRvVUNNLmVtaXQod29ya3NwYWNlKVwiPlxyXG4gICAgICAgICAgICAgIE1pZ3JhdGUgVXNlciB0byBVQ01cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDx0ciAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIXdvcmtzcGFjZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiOFwiIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fZW1wdHlcIj5ObyB3b3Jrc3BhY2VzIHRvIGRpc3BsYXkuPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGJvZHk+XHJcbiAgPC90YWJsZT5cclxuPC9kaXY+XHJcblxyXG48bWF0LXBhZ2luYXRvclxyXG4gIGNsYXNzPVwidGstd29ya3NwYWNlcy10YWJsZV9fcGFnaW5hdG9yXCJcclxuICBbbGVuZ3RoXT1cInRvdGFsXCJcclxuICBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiXHJcbiAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiXHJcbiAgKHBhZ2UpPVwib25QYWdlKCRldmVudClcIj5cclxuPC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
@@ -93,6 +93,8 @@ function mergeCucmAndWebexWorkspaces(cucmWorkspaces, webexItems, webexWorkspaces
93
93
  ...cucmWorkspace,
94
94
  ...webexWorkspace,
95
95
  displayName: cucmWorkspace.displayName,
96
+ location: webexWorkspace.location || cucmWorkspace.location,
97
+ siteId: webexWorkspace.siteId ?? cucmWorkspace.siteId,
96
98
  device: {
97
99
  ...mergeDevices(cucmWorkspace.device, webexWorkspace.device),
98
100
  name: cucmWorkspace.device.name,
@@ -147,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
147
149
  providedIn: 'root'
148
150
  }]
149
151
  }], ctorParameters: function () { return [{ type: i1.APIService }]; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUVyRCxTQUFTLGFBQWEsQ0FBQyxRQUFhO0lBQ2xDLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLGtCQUFpQztJQUNqRCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDdkIsT0FBTyxhQUFhLENBQUM7S0FDdEI7SUFDRCxPQUFPLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDL0UsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBdUIsRUFBRSxLQUFhO0lBQ2hFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM1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LGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UsIFdvcmtzcGFjZURldmljZSwgV29ya3NwYWNlTGlzdEl0ZW0sIFdvcmtzcGFjZXNQYWdlLCBXb3Jrc3BhY2VzUmVzcG9uc2UsIFdvcmtzcGFjZVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IHdpdGhvdXRTZXAgfSBmcm9tICcuLi91dGlscy93b3Jrc3BhY2UtbmFtZSc7XHJcblxyXG5mdW5jdGlvbiBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpOiBhbnkge1xyXG4gIHJldHVybiB0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShyZXNwb25zZSkgOiByZXNwb25zZTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9TdGF0dXMocHJvdmlzaW9uaW5nU3RhdHVzOiBzdHJpbmcgfCBudWxsKTogV29ya3NwYWNlU3RhdHVzIHtcclxuICBpZiAoIXByb3Zpc2lvbmluZ1N0YXR1cykge1xyXG4gICAgcmV0dXJuICd1bmF2YWlsYWJsZSc7XHJcbiAgfVxyXG4gIHJldHVybiBwcm92aXNpb25pbmdTdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2FjdGl2ZScgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvV29ya3NwYWNlRGV2aWNlcyhpdGVtOiBXb3Jrc3BhY2VMaXN0SXRlbSwgaW5kZXg6IG51bWJlcik6IFdvcmtzcGFjZURldmljZVtdIHtcclxuICBpZiAoaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBpdGVtLndvcmtzcGFjZURldmljZXMubWFwKHdvcmtzcGFjZURldmljZSA9PiAoe1xyXG4gICAgICBpZDogd29ya3NwYWNlRGV2aWNlLmRldmljZUlkLFxyXG4gICAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgICAgbGFiZWw6IHdvcmtzcGFjZURldmljZS5tb2RlbCB8fCB3b3Jrc3BhY2VEZXZpY2UubWFjLFxyXG4gICAgICBtb2RlbDogd29ya3NwYWNlRGV2aWNlLm1vZGVsLFxyXG4gICAgICBtYWM6IHdvcmtzcGFjZURldmljZS5tYWMsXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBkZXZpY2UgPSBpdGVtLmRldmljZTtcclxuICBpZiAoIWRldmljZSkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbW9kZWwgPSBkZXZpY2UuZGV2aWNlVHlwZSB8fCBkZXZpY2UudXNlckRldmljZVR5cGUgfHwgdW5kZWZpbmVkO1xyXG4gIHJldHVybiBbe1xyXG4gICAgaWQ6IGRldmljZS5wa2lkIHx8IGRldmljZS53ZWJleFVVSUQgfHwgZGV2aWNlLm5hbWUgfHwgYGRldmljZS0ke2luZGV4fWAsXHJcbiAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgIGxhYmVsOiBtb2RlbCB8fCBkZXZpY2UubmFtZSB8fCAnVW5uYW1lZCBkZXZpY2UnLFxyXG4gICAgbW9kZWwsXHJcbiAgICBtYWM6IC9eU0VQL2kudGVzdChkZXZpY2UubmFtZSB8fCAnJykgPyBkZXZpY2UubmFtZS5zbGljZSgzKSA6IHVuZGVmaW5lZCxcclxuICB9XTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9Xb3Jrc3BhY2UoaXRlbTogV29ya3NwYWNlTGlzdEl0ZW0sIGluZGV4OiBudW1iZXIsIGlzQ3VjbTogYm9vbGVhbik6IFdvcmtzcGFjZSB7XHJcbiAgY29uc3QgZGV2aWNlID0gaXRlbS5kZXZpY2U7XHJcbiAgY29uc3QgZmlyc3REaXJlY3RvcnlOdW1iZXIgPSBkZXZpY2UuYXNzb2NpYXRlZEROcz8uWzBdPy5kaXJlY3RvcnlOdW1iZXIgPz8gJyc7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBpZDogZGV2aWNlLnBraWQgfHwgaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5bMF0/LmRldmljZUlkIHx8IGRldmljZS5uYW1lIHx8IGB3b3Jrc3BhY2UtJHtpbmRleH1gLFxyXG4gICAgZGlzcGxheU5hbWU6IGRldmljZS5uZXdOYW1lIHx8IGRldmljZS5uYW1lIHx8ICdVbm5hbWVkIGRldmljZScsXHJcbiAgICB0eXBlTGFiZWw6IGRldmljZS51c2VyRGV2aWNlVHlwZSB8fCAnTm8gdHlwZScsXHJcbiAgICBjYXBhY2l0eTogbnVsbCxcclxuICAgIGxvY2F0aW9uOiBpdGVtLnNpdGU/Lm5hbWUgfHwgZGV2aWNlLnNpdGVOYW1lIHx8IGRldmljZS5sb2NhdGlvbiB8fCAnJyxcclxuICAgIHNpdGVJZDogaXRlbS5zaXRlPy5pZCA/PyBudWxsLFxyXG4gICAgZGV2aWNlczogdG9Xb3Jrc3BhY2VEZXZpY2VzKGl0ZW0sIGluZGV4KSxcclxuICAgIHNjaGVkdWxpbmc6ICdOb3Qgc2V0JyxcclxuICAgIGNhbGxpbmdMaWNlbnNlOiBmaXJzdERpcmVjdG9yeU51bWJlcixcclxuICAgIHByb3Zpc2lvbmluZ1R5cGU6ICdPbi1wcmVtaXNlcycsXHJcbiAgICBzdGF0dXM6IHRvU3RhdHVzKGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMpLFxyXG4gICAgc3RhdHVzTGFiZWw6IGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMgfHwgJ1N0YXR1cyB1bmF2YWlsYWJsZScsXHJcbiAgICBkZXZpY2UsXHJcbiAgICBpc0h5YnJpZDogZmFsc2UsXHJcbiAgICBjdWNtRGV2aWNlTmFtZTogaXNDdWNtID8gKGRldmljZS5uYW1lIHx8IG51bGwpIDogbnVsbCxcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZURldmljZXMoYTogV29ya3NwYWNlWydkZXZpY2UnXSwgYjogV29ya3NwYWNlWydkZXZpY2UnXSk6IFdvcmtzcGFjZVsnZGV2aWNlJ10ge1xyXG4gIHJldHVybiB7XHJcbiAgICAuLi5hLFxyXG4gICAgLi4uYixcclxuICAgIGN1Y21JZDogYi5jdWNtSWQgPz8gYS5jdWNtSWQsXHJcbiAgICB3ZWJleFVVSUQ6IGIud2ViZXhVVUlEID8/IGEud2ViZXhVVUlELFxyXG4gIH07XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiB0b01hY0tleSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbHVlID8gd2l0aG91dFNlcCh2YWx1ZSkucmVwbGFjZSgvW14wLTlBLUZdL2csICcnKSA6ICcnO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZUN1Y21BbmRXZWJleFdvcmtzcGFjZXMoY3VjbVdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdLCB3ZWJleEl0ZW1zOiBXb3Jrc3BhY2VMaXN0SXRlbVtdLCB3ZWJleFdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKTogV29ya3NwYWNlW10ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IFsuLi5jdWNtV29ya3NwYWNlc107XHJcbiAgY29uc3QgY3VjbUluZGV4QnlNYWMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gIGN1Y21Xb3Jrc3BhY2VzLmZvckVhY2goKHdvcmtzcGFjZSwgaW5kZXgpID0+IHtcclxuICAgIGNvbnN0IGtleSA9IHRvTWFjS2V5KHdvcmtzcGFjZS5kZXZpY2UubmFtZSk7XHJcbiAgICBpZiAoa2V5ICYmICFjdWNtSW5kZXhCeU1hYy5oYXMoa2V5KSkge1xyXG4gICAgICBjdWNtSW5kZXhCeU1hYy5zZXQoa2V5LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHdlYmV4V29ya3NwYWNlcy5mb3JFYWNoKCh3ZWJleFdvcmtzcGFjZSwgd2ViZXhJbmRleCkgPT4ge1xyXG4gICAgY29uc3QgbWF0Y2hlZE1hYyA9ICh3ZWJleEl0ZW1zW3dlYmV4SW5kZXhdLndvcmtzcGFjZURldmljZXMgfHwgW10pXHJcbiAgICAgIC5tYXAod29ya3NwYWNlRGV2aWNlID0+IHRvTWFjS2V5KHdvcmtzcGFjZURldmljZS5tYWMpKVxyXG4gICAgICAuZmluZChrZXkgPT4ga2V5ICYmIGN1Y21JbmRleEJ5TWFjLmhhcyhrZXkpKTtcclxuXHJcbiAgICBpZiAoIW1hdGNoZWRNYWMpIHtcclxuICAgICAgcmVzdWx0LnB1c2god2ViZXhXb3Jrc3BhY2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VjbUluZGV4ID0gY3VjbUluZGV4QnlNYWMuZ2V0KG1hdGNoZWRNYWMpITtcclxuICAgIGN1Y21JbmRleEJ5TWFjLmRlbGV0ZShtYXRjaGVkTWFjKTtcclxuICAgIGNvbnN0IGN1Y21Xb3Jrc3BhY2UgPSByZXN1bHRbY3VjbUluZGV4XTtcclxuICAgIHJlc3VsdFtjdWNtSW5kZXhdID0ge1xyXG4gICAgICAuLi5jdWNtV29ya3NwYWNlLFxyXG4gICAgICAuLi53ZWJleFdvcmtzcGFjZSxcclxuICAgICAgZGlzcGxheU5hbWU6IGN1Y21Xb3Jrc3BhY2UuZGlzcGxheU5hbWUsXHJcbiAgICAgIGRldmljZToge1xyXG4gICAgICAgIC4uLm1lcmdlRGV2aWNlcyhjdWNtV29ya3NwYWNlLmRldmljZSwgd2ViZXhXb3Jrc3BhY2UuZGV2aWNlKSxcclxuICAgICAgICBuYW1lOiBjdWNtV29ya3NwYWNlLmRldmljZS5uYW1lLFxyXG4gICAgICAgIG5ld05hbWU6IGN1Y21Xb3Jrc3BhY2UuZGV2aWNlLm5ld05hbWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGlzSHlicmlkOiB0cnVlLFxyXG4gICAgICBjdWNtRGV2aWNlTmFtZTogY3VjbVdvcmtzcGFjZS5jdWNtRGV2aWNlTmFtZSxcclxuICAgIH07XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmNvbnN0IEZFVENIX0FMTF9TSVpFID0gOTk5OTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UpIHsgfVxyXG5cclxuICBmZXRjaFdvcmtzcGFjZXMoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VzUGFnZT4ge1xyXG4gICAgY29uc3QgYmFzZVBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcclxuICAgICAgdHlwZTogJ09SUEhBTl9ERVZJQ0UnLFxyXG4gICAgICBjdXN0b21lcmlkOiBjdXN0b21lcklkLnRvU3RyaW5nKCksXHJcbiAgICAgIHNpemU6IEZFVENIX0FMTF9TSVpFLnRvU3RyaW5nKCksXHJcbiAgICAgIHBhZ2U6ICcwJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY3VjbSQgPSB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldPUktTUEFDRVMuR0VUX0FMTCwge1xyXG4gICAgICAuLi5iYXNlUGFyYW1zLFxyXG4gICAgICAnZGV2aWNlLW5hbWUnOiAnU0VQJyxcclxuICAgICAgcHJvdmlzaW9uVHlwZTogJ0NVQ00nLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgd2ViZXgkID0gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XT1JLU1BBQ0VTLkdFVF9BTEwsIHtcclxuICAgICAgLi4uYmFzZVBhcmFtcyxcclxuICAgICAgcHJvdmlzaW9uVHlwZTogJ1dFQkVYJyxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihbY3VjbSQsIHdlYmV4JF0pLnBpcGUoXHJcbiAgICAgIG1hcCgoW2N1Y21SZXNwb25zZSwgd2ViZXhSZXNwb25zZV0pID0+IHtcclxuICAgICAgICBjb25zdCBjdWNtUGFyc2VkID0gcGFyc2VSZXNwb25zZShjdWNtUmVzcG9uc2UpIGFzIFdvcmtzcGFjZXNSZXNwb25zZTtcclxuICAgICAgICBjb25zdCB3ZWJleFBhcnNlZCA9IHBhcnNlUmVzcG9uc2Uod2ViZXhSZXNwb25zZSkgYXMgV29ya3NwYWNlc1Jlc3BvbnNlO1xyXG4gICAgICAgIGNvbnN0IHdlYmV4SXRlbXMgPSB3ZWJleFBhcnNlZD8ucGFnZURhdGEgfHwgW107XHJcbiAgICAgICAgY29uc3QgY3VjbVdvcmtzcGFjZXMgPSAoY3VjbVBhcnNlZD8ucGFnZURhdGEgfHwgW10pLm1hcCgoaXRlbSwgaW5kZXgpID0+IHRvV29ya3NwYWNlKGl0ZW0sIGluZGV4LCB0cnVlKSk7XHJcbiAgICAgICAgY29uc3Qgd2ViZXhXb3Jrc3BhY2VzID0gd2ViZXhJdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB0b1dvcmtzcGFjZShpdGVtLCBpbmRleCwgZmFsc2UpKTtcclxuICAgICAgICBjb25zdCB3b3Jrc3BhY2VzID0gbWVyZ2VDdWNtQW5kV2ViZXhXb3Jrc3BhY2VzKGN1Y21Xb3Jrc3BhY2VzLCB3ZWJleEl0ZW1zLCB3ZWJleFdvcmtzcGFjZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgd29ya3NwYWNlcyxcclxuICAgICAgICAgIHRvdGFsOiB3b3Jrc3BhY2VzLmxlbmd0aCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUVyRCxTQUFTLGFBQWEsQ0FBQyxRQUFhO0lBQ2xDLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLGtCQUFpQztJQUNqRCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDdkIsT0FBTyxhQUFhLENBQUM7S0FDdEI7SUFDRCxPQUFPLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDL0UsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBdUIsRUFBRSxLQUFhO0lBQ2hFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM1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RixPQUFPO2dCQUNMLFVBQVU7Z0JBQ1YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0dBckNVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UsIFdvcmtzcGFjZURldmljZSwgV29ya3NwYWNlTGlzdEl0ZW0sIFdvcmtzcGFjZXNQYWdlLCBXb3Jrc3BhY2VzUmVzcG9uc2UsIFdvcmtzcGFjZVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IHdpdGhvdXRTZXAgfSBmcm9tICcuLi91dGlscy93b3Jrc3BhY2UtbmFtZSc7XHJcblxyXG5mdW5jdGlvbiBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpOiBhbnkge1xyXG4gIHJldHVybiB0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShyZXNwb25zZSkgOiByZXNwb25zZTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9TdGF0dXMocHJvdmlzaW9uaW5nU3RhdHVzOiBzdHJpbmcgfCBudWxsKTogV29ya3NwYWNlU3RhdHVzIHtcclxuICBpZiAoIXByb3Zpc2lvbmluZ1N0YXR1cykge1xyXG4gICAgcmV0dXJuICd1bmF2YWlsYWJsZSc7XHJcbiAgfVxyXG4gIHJldHVybiBwcm92aXNpb25pbmdTdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2FjdGl2ZScgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvV29ya3NwYWNlRGV2aWNlcyhpdGVtOiBXb3Jrc3BhY2VMaXN0SXRlbSwgaW5kZXg6IG51bWJlcik6IFdvcmtzcGFjZURldmljZVtdIHtcclxuICBpZiAoaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBpdGVtLndvcmtzcGFjZURldmljZXMubWFwKHdvcmtzcGFjZURldmljZSA9PiAoe1xyXG4gICAgICBpZDogd29ya3NwYWNlRGV2aWNlLmRldmljZUlkLFxyXG4gICAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgICAgbGFiZWw6IHdvcmtzcGFjZURldmljZS5tb2RlbCB8fCB3b3Jrc3BhY2VEZXZpY2UubWFjLFxyXG4gICAgICBtb2RlbDogd29ya3NwYWNlRGV2aWNlLm1vZGVsLFxyXG4gICAgICBtYWM6IHdvcmtzcGFjZURldmljZS5tYWMsXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBkZXZpY2UgPSBpdGVtLmRldmljZTtcclxuICBpZiAoIWRldmljZSkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbW9kZWwgPSBkZXZpY2UuZGV2aWNlVHlwZSB8fCBkZXZpY2UudXNlckRldmljZVR5cGUgfHwgdW5kZWZpbmVkO1xyXG4gIHJldHVybiBbe1xyXG4gICAgaWQ6IGRldmljZS5wa2lkIHx8IGRldmljZS53ZWJleFVVSUQgfHwgZGV2aWNlLm5hbWUgfHwgYGRldmljZS0ke2luZGV4fWAsXHJcbiAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgIGxhYmVsOiBtb2RlbCB8fCBkZXZpY2UubmFtZSB8fCAnVW5uYW1lZCBkZXZpY2UnLFxyXG4gICAgbW9kZWwsXHJcbiAgICBtYWM6IC9eU0VQL2kudGVzdChkZXZpY2UubmFtZSB8fCAnJykgPyBkZXZpY2UubmFtZS5zbGljZSgzKSA6IHVuZGVmaW5lZCxcclxuICB9XTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9Xb3Jrc3BhY2UoaXRlbTogV29ya3NwYWNlTGlzdEl0ZW0sIGluZGV4OiBudW1iZXIsIGlzQ3VjbTogYm9vbGVhbik6IFdvcmtzcGFjZSB7XHJcbiAgY29uc3QgZGV2aWNlID0gaXRlbS5kZXZpY2U7XHJcbiAgY29uc3QgZmlyc3REaXJlY3RvcnlOdW1iZXIgPSBkZXZpY2UuYXNzb2NpYXRlZEROcz8uWzBdPy5kaXJlY3RvcnlOdW1iZXIgPz8gJyc7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBpZDogZGV2aWNlLnBraWQgfHwgaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5bMF0/LmRldmljZUlkIHx8IGRldmljZS5uYW1lIHx8IGB3b3Jrc3BhY2UtJHtpbmRleH1gLFxyXG4gICAgZGlzcGxheU5hbWU6IGRldmljZS5uZXdOYW1lIHx8IGRldmljZS5uYW1lIHx8ICdVbm5hbWVkIGRldmljZScsXHJcbiAgICB0eXBlTGFiZWw6IGRldmljZS51c2VyRGV2aWNlVHlwZSB8fCAnTm8gdHlwZScsXHJcbiAgICBjYXBhY2l0eTogbnVsbCxcclxuICAgIGxvY2F0aW9uOiBpdGVtLnNpdGU/Lm5hbWUgfHwgZGV2aWNlLnNpdGVOYW1lIHx8IGRldmljZS5sb2NhdGlvbiB8fCAnJyxcclxuICAgIHNpdGVJZDogaXRlbS5zaXRlPy5pZCA/PyBudWxsLFxyXG4gICAgZGV2aWNlczogdG9Xb3Jrc3BhY2VEZXZpY2VzKGl0ZW0sIGluZGV4KSxcclxuICAgIHNjaGVkdWxpbmc6ICdOb3Qgc2V0JyxcclxuICAgIGNhbGxpbmdMaWNlbnNlOiBmaXJzdERpcmVjdG9yeU51bWJlcixcclxuICAgIHByb3Zpc2lvbmluZ1R5cGU6ICdPbi1wcmVtaXNlcycsXHJcbiAgICBzdGF0dXM6IHRvU3RhdHVzKGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMpLFxyXG4gICAgc3RhdHVzTGFiZWw6IGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMgfHwgJ1N0YXR1cyB1bmF2YWlsYWJsZScsXHJcbiAgICBkZXZpY2UsXHJcbiAgICBpc0h5YnJpZDogZmFsc2UsXHJcbiAgICBjdWNtRGV2aWNlTmFtZTogaXNDdWNtID8gKGRldmljZS5uYW1lIHx8IG51bGwpIDogbnVsbCxcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZURldmljZXMoYTogV29ya3NwYWNlWydkZXZpY2UnXSwgYjogV29ya3NwYWNlWydkZXZpY2UnXSk6IFdvcmtzcGFjZVsnZGV2aWNlJ10ge1xyXG4gIHJldHVybiB7XHJcbiAgICAuLi5hLFxyXG4gICAgLi4uYixcclxuICAgIGN1Y21JZDogYi5jdWNtSWQgPz8gYS5jdWNtSWQsXHJcbiAgICB3ZWJleFVVSUQ6IGIud2ViZXhVVUlEID8/IGEud2ViZXhVVUlELFxyXG4gIH07XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiB0b01hY0tleSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbHVlID8gd2l0aG91dFNlcCh2YWx1ZSkucmVwbGFjZSgvW14wLTlBLUZdL2csICcnKSA6ICcnO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZUN1Y21BbmRXZWJleFdvcmtzcGFjZXMoY3VjbVdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdLCB3ZWJleEl0ZW1zOiBXb3Jrc3BhY2VMaXN0SXRlbVtdLCB3ZWJleFdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKTogV29ya3NwYWNlW10ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IFsuLi5jdWNtV29ya3NwYWNlc107XHJcbiAgY29uc3QgY3VjbUluZGV4QnlNYWMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gIGN1Y21Xb3Jrc3BhY2VzLmZvckVhY2goKHdvcmtzcGFjZSwgaW5kZXgpID0+IHtcclxuICAgIGNvbnN0IGtleSA9IHRvTWFjS2V5KHdvcmtzcGFjZS5kZXZpY2UubmFtZSk7XHJcbiAgICBpZiAoa2V5ICYmICFjdWNtSW5kZXhCeU1hYy5oYXMoa2V5KSkge1xyXG4gICAgICBjdWNtSW5kZXhCeU1hYy5zZXQoa2V5LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHdlYmV4V29ya3NwYWNlcy5mb3JFYWNoKCh3ZWJleFdvcmtzcGFjZSwgd2ViZXhJbmRleCkgPT4ge1xyXG4gICAgY29uc3QgbWF0Y2hlZE1hYyA9ICh3ZWJleEl0ZW1zW3dlYmV4SW5kZXhdLndvcmtzcGFjZURldmljZXMgfHwgW10pXHJcbiAgICAgIC5tYXAod29ya3NwYWNlRGV2aWNlID0+IHRvTWFjS2V5KHdvcmtzcGFjZURldmljZS5tYWMpKVxyXG4gICAgICAuZmluZChrZXkgPT4ga2V5ICYmIGN1Y21JbmRleEJ5TWFjLmhhcyhrZXkpKTtcclxuXHJcbiAgICBpZiAoIW1hdGNoZWRNYWMpIHtcclxuICAgICAgcmVzdWx0LnB1c2god2ViZXhXb3Jrc3BhY2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VjbUluZGV4ID0gY3VjbUluZGV4QnlNYWMuZ2V0KG1hdGNoZWRNYWMpITtcclxuICAgIGN1Y21JbmRleEJ5TWFjLmRlbGV0ZShtYXRjaGVkTWFjKTtcclxuICAgIGNvbnN0IGN1Y21Xb3Jrc3BhY2UgPSByZXN1bHRbY3VjbUluZGV4XTtcclxuICAgIHJlc3VsdFtjdWNtSW5kZXhdID0ge1xyXG4gICAgICAuLi5jdWNtV29ya3NwYWNlLFxyXG4gICAgICAuLi53ZWJleFdvcmtzcGFjZSxcclxuICAgICAgZGlzcGxheU5hbWU6IGN1Y21Xb3Jrc3BhY2UuZGlzcGxheU5hbWUsXHJcbiAgICAgIGxvY2F0aW9uOiB3ZWJleFdvcmtzcGFjZS5sb2NhdGlvbiB8fCBjdWNtV29ya3NwYWNlLmxvY2F0aW9uLFxyXG4gICAgICBzaXRlSWQ6IHdlYmV4V29ya3NwYWNlLnNpdGVJZCA/PyBjdWNtV29ya3NwYWNlLnNpdGVJZCxcclxuICAgICAgZGV2aWNlOiB7XHJcbiAgICAgICAgLi4ubWVyZ2VEZXZpY2VzKGN1Y21Xb3Jrc3BhY2UuZGV2aWNlLCB3ZWJleFdvcmtzcGFjZS5kZXZpY2UpLFxyXG4gICAgICAgIG5hbWU6IGN1Y21Xb3Jrc3BhY2UuZGV2aWNlLm5hbWUsXHJcbiAgICAgICAgbmV3TmFtZTogY3VjbVdvcmtzcGFjZS5kZXZpY2UubmV3TmFtZSxcclxuICAgICAgfSxcclxuICAgICAgaXNIeWJyaWQ6IHRydWUsXHJcbiAgICAgIGN1Y21EZXZpY2VOYW1lOiBjdWNtV29ya3NwYWNlLmN1Y21EZXZpY2VOYW1lLFxyXG4gICAgfTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuY29uc3QgRkVUQ0hfQUxMX1NJWkUgPSA5OTk5O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSkgeyB9XHJcblxyXG4gIGZldGNoV29ya3NwYWNlcyhjdXN0b21lcklkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPFdvcmtzcGFjZXNQYWdlPiB7XHJcbiAgICBjb25zdCBiYXNlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gICAgICB0eXBlOiAnT1JQSEFOX0RFVklDRScsXHJcbiAgICAgIGN1c3RvbWVyaWQ6IGN1c3RvbWVySWQudG9TdHJpbmcoKSxcclxuICAgICAgc2l6ZTogRkVUQ0hfQUxMX1NJWkUudG9TdHJpbmcoKSxcclxuICAgICAgcGFnZTogJzAnLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjdWNtJCA9IHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV09SS1NQQUNFUy5HRVRfQUxMLCB7XHJcbiAgICAgIC4uLmJhc2VQYXJhbXMsXHJcbiAgICAgICdkZXZpY2UtbmFtZSc6ICdTRVAnLFxyXG4gICAgICBwcm92aXNpb25UeXBlOiAnQ1VDTScsXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB3ZWJleCQgPSB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldPUktTUEFDRVMuR0VUX0FMTCwge1xyXG4gICAgICAuLi5iYXNlUGFyYW1zLFxyXG4gICAgICBwcm92aXNpb25UeXBlOiAnV0VCRVgnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZvcmtKb2luKFtjdWNtJCwgd2ViZXgkXSkucGlwZShcclxuICAgICAgbWFwKChbY3VjbVJlc3BvbnNlLCB3ZWJleFJlc3BvbnNlXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1Y21QYXJzZWQgPSBwYXJzZVJlc3BvbnNlKGN1Y21SZXNwb25zZSkgYXMgV29ya3NwYWNlc1Jlc3BvbnNlO1xyXG4gICAgICAgIGNvbnN0IHdlYmV4UGFyc2VkID0gcGFyc2VSZXNwb25zZSh3ZWJleFJlc3BvbnNlKSBhcyBXb3Jrc3BhY2VzUmVzcG9uc2U7XHJcbiAgICAgICAgY29uc3Qgd2ViZXhJdGVtcyA9IHdlYmV4UGFyc2VkPy5wYWdlRGF0YSB8fCBbXTtcclxuICAgICAgICBjb25zdCBjdWNtV29ya3NwYWNlcyA9IChjdWNtUGFyc2VkPy5wYWdlRGF0YSB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4gdG9Xb3Jrc3BhY2UoaXRlbSwgaW5kZXgsIHRydWUpKTtcclxuICAgICAgICBjb25zdCB3ZWJleFdvcmtzcGFjZXMgPSB3ZWJleEl0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHRvV29ya3NwYWNlKGl0ZW0sIGluZGV4LCBmYWxzZSkpO1xyXG4gICAgICAgIGNvbnN0IHdvcmtzcGFjZXMgPSBtZXJnZUN1Y21BbmRXZWJleFdvcmtzcGFjZXMoY3VjbVdvcmtzcGFjZXMsIHdlYmV4SXRlbXMsIHdlYmV4V29ya3NwYWNlcyk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB3b3Jrc3BhY2VzLFxyXG4gICAgICAgICAgdG90YWw6IHdvcmtzcGFjZXMubGVuZ3RoLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19