@tuki-io/tuki-widgets 0.0.175 → 0.0.177

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 (109) hide show
  1. package/README.md +24 -24
  2. package/contact-center/shared/material.module.d.ts +2 -1
  3. package/esm2020/contact-center/shared/material.module.mjs +8 -4
  4. package/esm2020/lib/widgets.component.mjs +9 -9
  5. package/esm2020/lib/widgets.module.mjs +1 -1
  6. package/esm2020/lib/widgets.service.mjs +1 -1
  7. package/esm2020/public-api.mjs +1 -1
  8. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +2 -2
  9. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +4 -4
  10. package/esm2020/user-device-manage/public-api.mjs +1 -1
  11. package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
  12. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
  13. package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
  14. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
  15. package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
  16. package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
  17. package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
  18. package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
  19. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
  20. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
  21. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
  22. package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
  23. package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
  24. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
  25. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
  26. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
  27. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
  28. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  29. package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
  30. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
  31. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +1 -1
  32. package/esm2020/user-device-manage/src/material.module.mjs +1 -1
  33. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
  34. package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
  35. package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
  36. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  37. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
  38. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
  39. package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
  40. package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
  41. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +1 -1
  42. package/esm2020/user-manage/public-api.mjs +1 -1
  43. package/esm2020/user-manage/src/classes/device.mjs +1 -1
  44. package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
  45. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
  46. package/esm2020/user-manage/src/classes/notification.mjs +1 -1
  47. package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
  48. package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
  49. package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
  50. package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
  51. package/esm2020/user-manage/src/common-functions.mjs +1 -1
  52. package/esm2020/user-manage/src/environments/environment.mjs +1 -1
  53. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
  54. package/esm2020/user-manage/src/material.module.mjs +1 -1
  55. package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
  56. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
  57. package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
  58. package/esm2020/user-manage/src/services/line.service.mjs +1 -1
  59. package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
  60. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  61. package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
  62. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
  63. package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
  64. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
  65. package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
  66. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +1 -1
  67. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
  68. package/esm2020/users-list/public-api.mjs +1 -1
  69. package/esm2020/users-list/src/classes/app-location.mjs +1 -1
  70. package/esm2020/users-list/src/classes/device.mjs +1 -1
  71. package/esm2020/users-list/src/classes/line.mjs +1 -1
  72. package/esm2020/users-list/src/classes/notification.mjs +1 -1
  73. package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
  74. package/esm2020/users-list/src/classes/table-data.mjs +1 -1
  75. package/esm2020/users-list/src/classes/user-list.mjs +1 -1
  76. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
  77. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
  78. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
  79. package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
  80. package/esm2020/users-list/src/services/api.service.mjs +1 -1
  81. package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
  82. package/esm2020/users-list/src/services/notification.service.mjs +1 -1
  83. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
  84. package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
  85. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
  86. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +1 -1
  87. package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
  88. package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
  89. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +5 -5
  90. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  91. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  92. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  93. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +8 -8
  94. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  95. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +8 -8
  96. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  97. package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
  98. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
  99. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +5 -5
  100. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  101. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  102. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  103. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +8 -8
  104. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  105. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +8 -8
  106. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  107. package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
  108. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
  109. package/package.json +1 -1
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
176
176
  }], onChange: [{
177
177
  type: Output
178
178
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWFzc29jaWF0ZWQtbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9kZXZpY2UtYXNzb2NpYXRlZC1saW5lL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU8xRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLDZCQUE2QjtJQWV4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RKLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMs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LFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XHJcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbic7XHJcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSZWNvcmRpbmdPcHRpb25zIH0gZnJvbSAnLi4vY2xhc3Nlcy9kZXZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUkVDT1JESU5HX01FRElBX1NPVVJDRSwgU1RBVElDX09QVElPTlMgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaXRlU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2l0ZS1zZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZGV2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGV2aWNlLWFzc29jaWF0ZWQtbGluZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERldmljZUFzc29jaWF0ZWRMaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGxpbmVJbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBkZXZpY2VJbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBkZXZpY2VOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpdGVJZCE6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgdXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuICByZWNvcmRpbmdPcHRpb25zID0gUmVjb3JkaW5nT3B0aW9ucztcclxuICByZWNvcmRpbmdNZWRpYVNvdXJjZXM6IHN0cmluZ1tdID0gUkVDT1JESU5HX01FRElBX1NPVVJDRTtcclxuICBzdGF0aWNPcHRpb25zID0gU1RBVElDX09QVElPTlM7XHJcbiAgbW9uaXRvckNzc0xpc3Q6IGFueTtcclxuICBmaWx0ZXJlZE1vbml0b3JDc3NMaXN0OiBhbnk7XHJcbiAgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPlxyXG5cclxuICBnZXQgZm9ybSgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0gJiYgdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XS5mb3JtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxpbmVBc3NvY2lhdGlvbigpOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0ubGluZUFzc29jaWF0aW9uc1t0aGlzLmxpbmVJbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXQgb3JpZ2luTGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZT8ub3JpZ2luVXNlcj8uZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XTtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyKCk6IFNpbXBsaWZpZWRVc2VyIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLnVzZXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzaXRlU2V0dGluZ3NTZXJ2aWNlOiBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsaW5lU2VydmljZTogTGluZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIHRoaXMubGluZVNlcnZpY2Uub25TYXZlTGluZUFzc29jaWF0aW9uRXZlbnRcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVMaW5lKHRoaXMubGluZUFzc29jaWF0aW9uKTtcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VGaWVsZCh0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XSBhcyBhbnkpW3Rva2VuXSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XHJcbiAgICB0aGlzLnNldEhhc0NoYW5nZXNUb0xpbmUoKTtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG5cclxuICB9XHJcblxyXG4gIG9uQXV0b2NvbXBsZXRlKHRva2VuOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtPy5nZXQodG9rZW4pPy52YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVyZWRNb25pdG9yQ3NzTGlzdCA9IFV0aWxzU2VydmljZS5maWx0ZXJPcHRpb25zKHRoaXMubW9uaXRvckNzc0xpc3QsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlY29yZGluZ09wdGlvbkNoYW5nZWQodG9rZW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHRva2VuKT8udmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlRmllbGQodG9rZW4pO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gUmVjb3JkaW5nT3B0aW9ucy5hdXRvX2VuYWJsZWQgfHwgdmFsdWUgPT09IFJlY29yZGluZ09wdGlvbnMuc2VsZWN0aXZlX2VuYWJsZWQpIHtcclxuICAgICAgaWYgKCF0aGlzLmZvcm0/LmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy50b3VjaGVkKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy5lbmFibGUoKTtcclxuICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nTWVkaWFTb3VyY2UnKT8uZW5hYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdQcm9maWxlJyk/LmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VGaWVsZCgncmVjb3JkaW5nUHJvZmlsZScpO1xyXG5cclxuICAgICAgLyogaWYgKCF0aGlzLmF1dGhTZXJ2aWNlLmhhc1JvbGUoJ1NVUEVSX1VTRVInKSkge1xyXG4gICAgICAgICByZWNvcmRpbmdNZWRpYVNvdXJjZS5kaXNhYmxlKCk7XHJcbiAgICAgICAgIHJlY29yZGluZ01lZGlhU291cmNlLnNldFZhbHVlKHRoaXMucmVjb3JkaW5nTWVkaWFTb3VyY2VzWzBdKTtcclxuICAgICAgICAgdGhpcy5jaGFuZ2VGaWVsZCgncmVjb3JkaW5nTWVkaWFTb3VyY2UnKTtcclxuICAgICAgIH0qL1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UnVsZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgaWYgKHRoaXMuZm9ybS5nZXQoJ2UxNjRNYXNrJyk/LmVycm9ycyAmJiB0aGlzLmZvcm0uZ2V0KCdlMTY0TWFzaycpPy5lcnJvcnNbJ2UxNjRNYXNrUnVsZSddKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2UxNjRNYXNrJyk/LmVycm9yc1snZTE2NE1hc2tSdWxlJ11bJ3J1bGUnXVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG5cclxuICB9XHJcblxyXG4gIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnRvZ2dsZUVkaXRNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBpc1NhdmluZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLnVzZXJTZXJ2aWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKCkgfHwgdGhpcy51c2VyU2VydmljZS5oYXNFeGlzdGVkVXNlcklkO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VFeHRlbnNpb24odmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGluZUFzc29jaWF0aW9uICYmIHRoaXMubGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlcikge1xyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGluZVJlbW92ZSgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuc2l0ZVNldHRpbmdzU2VydmljZS5nZXRNb25pdG9yQ3NzKHRoaXMuc2l0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9uaXRvckNzc0xpc3QgPSByZXM/Lmxlbmd0aCA/IHJlcy5zbGljZSgpIDogW107XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE1vbml0b3JDc3NMaXN0ID0gcmVzPy5sZW5ndGggPyByZXMuc2xpY2UoKSA6IFtdO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMaW5lKGxpbmU6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSk6IHZvaWQge1xyXG4gICAgY29uc3QgYm9keSA9IHRoaXMubGluZVNlcnZpY2UuZ2V0TGluZUFzc29jaWF0aW9uQm9keSh0aGlzLm9yaWdpbkxpbmVBc3NvY2lhdGlvbiwgdGhpcy5saW5lQXNzb2NpYXRpb24pO1xyXG4gICAgY29uc29sZS5sb2coJ3VwZGF0ZSBsaW5lJywgYm9keSk7XHJcbiAgICB0aGlzLmRldmljZVNlcnZpY2UuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kZXZpY2VTZXJ2aWNlLnB1dERldmljZUZpZWxkcyh0aGlzLnNpdGVJZCwgdGhpcy5kZXZpY2VOYW1lLCB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudG9rZW4sIGJvZHkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UucGVyc2lzdFVzZXJDYWNoZSgpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5mZXRjaFVzZXJUb2tlbih0aGlzLnNpdGVJZCwgdGhpcy51c2VyU2VydmljZS51c2VyLnVzZXJpZCwgdGhpcy52YWxpZGF0aW9uU2VydmljZSlcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50LmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0sICgpID0+IHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlKTtcclxuICAgICAgICAgIH0sICgpID0+IHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IHRydWUpXHJcbiAgICAgIH0sICgpID0+IHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IHRydWUpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUxpbmUobGluZTogTGluZUFzc29jaWF0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpbmVTZXJ2aWNlLmRlbGV0ZUxpbmUodGhpcy5zaXRlSWQsIGxpbmUubGluZVBraWQsIHRoaXMudXNlclNlcnZpY2UudXNlci50b2tlbilcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS5wZXJzaXN0VXNlckNhY2hlKClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmZldGNoVXNlclRva2VuKHRoaXMuc2l0ZUlkLCB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudXNlcmlkLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVkTGluZUFzc29jaWF0aW9uRXZlbnQuZW1pdCgpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SGFzQ2hhbmdlc1RvTGluZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxpbmVBc3NvY2lhdGlvbikge1xyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XS5oYXNDaGFuZ2VzID0gIXRoaXMubGluZUFzc29jaWF0aW9uLmZ1bGxFcXVhbCh0aGlzLm9yaWdpbkxpbmVBc3NvY2lhdGlvbik7XHJcbiAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlci5kZXZpY2VzW3RoaXMuZGV2aWNlSW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNIYXNDaGFuZ2VzID0gIXRoaXMubGluZUFzc29jaWF0aW9uLmZ1bGxFcXVhbCh0aGlzLm9yaWdpbkxpbmVBc3NvY2lhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJkZXZpY2UtYXNzb2NpYXRlZC1saW5lXCIgKm5nSWY9XCJsaW5lQXNzb2NpYXRpb24gJiYgZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gIDxuZy1jb250YWluZXIgY2xhc3M9XCJsaW5lLWRldGFpbHNfX2NvbnRhaW5lclwiPlxyXG4gICAgICA8YXBwLWxpbmUtZGV0YWlscy1ibG9jayBbdGl0bGVdPVwiJ0xpbmUgc2V0dGluZyBvbiB0aGUgZGV2aWNlJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+RGlzcGxheSBDYWxsZXIgSUQ8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJkaXNwbGF5TGFiZWxcIiBmb3JtQ29udHJvbE5hbWU9XCJkaXNwbGF5TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2Rpc3BsYXlMYWJlbCcpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZGlzcGxheUxhYmVsJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgVGhpcyBmaWVsZCBjYW7igJl0IGhhdmUgbW9yZSB0aGFuIDMwIGNoYXJhY3RlcnNcclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZGlzcGxheUxhYmVsJyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIEludmFsaWQgc3ltYm9scyBhcmUgdXNlZFxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+VGV4dCBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInRleHRMYWJlbFwiIG5hbWU9XCJ0ZXh0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgbWF0SW5wdXQgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ3RleHRMYWJlbCcpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgndGV4dExhYmVsJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgVGhpcyBmaWVsZCBjYW7igJl0IGhhdmUgbW9yZSB0aGFuIDMwIGNoYXJhY3RlcnNcclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgndGV4dExhYmVsJyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIEludmFsaWQgc3ltYm9scyBhcmUgdXNlZFxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+RXh0ZXJuYWwgUGhvbmUgTnVtYmVyIE1hc2s8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJlMTY0TWFza1wiIGZvcm1Db250cm9sTmFtZT1cImUxNjRNYXNrXCJcclxuICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdlMTY0TWFzaycpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZTE2NE1hc2snKT8uaGFzRXJyb3IoJ2UxNjRNYXNrUnVsZScpXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cclxuICAgICAgICAgICAgICBlMTY0TWFzayBkb2VzIG5vdCBtYXRjaCB0aGUgcnVsZSB7e2dldFJ1bGUoKX19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXzJweFwiPjwvZGl2PlxyXG4gICAgICA8YXBwLWxpbmUtZGV0YWlscy1ibG9jayBbdGl0bGVdPVwiJ011bHRpcGxlIENhbGwvQ2FsbCBXYWl0aW5nIFNldHRpbmdzJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+TWF4IENhbGxzPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG5hbWU9XCJtYXhOdW1iZXJPZkNhbGxzXCIgZm9ybUNvbnRyb2xOYW1lPVwibWF4TnVtYmVyT2ZDYWxsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnbWF4TnVtYmVyT2ZDYWxscycpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnbWF4TnVtYmVyT2ZDYWxscycpPy5oYXNFcnJvcignbWF4JylcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIFZhbHVlIGlzIHRvbyBiaWdcclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkJ1c3kgVHJpZ2dlcjwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBuYW1lPVwiYnVzeVRyaWdnZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJidXN5VHJpZ2dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnYnVzeVRyaWdnZXInKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ2J1c3lUcmlnZ2VyJyk/Lmhhc0Vycm9yKCdtYXgnKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgVmFsdWUgY2FuJ3QgYmUgYmlnZ2VyIHRoYW4gTWF4IENhbGxzXHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXzJweFwiPjwvZGl2PlxyXG4gICAgICA8YXBwLWxpbmUtZGV0YWlscy1ibG9jayBbdGl0bGVdPVwiJ0NhbGwgUmVjb3JkaW5nJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+UmVjb3JkaW5nIE9wdGlvbjwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInJlY29yZGluZ09wdGlvbkNoYW5nZWQoJ3JlY29yZGluZ09wdGlvbicpXCJcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyZWNvcmRpbmdPcHRpb25cIlxyXG4gICAgICAgICAgICAgIFtpZF09XCInYXNzb2NpYXRlZExpbmVSZWNvcmRpbmdPcHRpb25GaWVsZCdcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPXJlY29yZGluZ09wdGlvbnMuZGlzYWJsZWQ+Q2FsbCBSZWNvcmRpbmcgRGlzYWJsZWQ8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1yZWNvcmRpbmdPcHRpb25zLmF1dG9fZW5hYmxlZD5BdXRvbWF0aWMgQ2FsbCBSZWNvcmRpbmcgRW5hYmxlZDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPXJlY29yZGluZ09wdGlvbnMuc2VsZWN0aXZlX2VuYWJsZWQ+U2VsZWN0aXZlIENhbGwgUmVjb3JkaW5nIEVuYWJsZWQ8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+UmVjb3JkaW5nIE1lZGlhIFNvdXJjZTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3JlY29yZGluZ01lZGlhU291cmNlJylcIiBmb3JtQ29udHJvbE5hbWU9XCJyZWNvcmRpbmdNZWRpYVNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIidhc3NvY2lhdGVkTGluZVJlY29yZGluZ01lZGlhU291cmNlRmllbGQnXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHNvdXJjZSBvZiByZWNvcmRpbmdNZWRpYVNvdXJjZXNcIiBbdmFsdWVdPVwic291cmNlXCI+e3tzb3VyY2V9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5SZWNvcmRpbmcgUHJvZmlsZTwvbGFiZWw+XHJcbiAgICAgICAgICA8YXBwLWxhenktbG9hZGluZy1zZWxlY3RcclxuICAgICAgICAgICAgW3NpdGVJZF09XCJzaXRlSWRcIlxyXG4gICAgICAgICAgICBbY29udHJvbE5hbWVdPVwiJ3JlY29yZGluZ1Byb2ZpbGUnXCJcclxuICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2VGaWVsZCk9XCJvbkNoYW5nZUZpZWxkKCdyZWNvcmRpbmdQcm9maWxlJylcIlxyXG4gICAgICAgICAgICBbb3B0aW9uc1Rva2VuXT1cIidyZWNvcmRpbmdQcm9maWxlJ1wiPjwvYXBwLWxhenktbG9hZGluZy1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYXBwLWxpbmUtZGV0YWlscy1ibG9jaz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvcl8ycHhcIj48L2Rpdj5cclxuICAgICAgPGFwcC1saW5lLWRldGFpbHMtYmxvY2sgW3RpdGxlXT1cIidBZGRpdGlvbmFsIGxpbmUgc2V0dGluZ3Mgb24gdGhlIGRldmljZSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPlZpc3VhbCBNZXNzYWdlIFdhaXRpbmcgSW5kaWNhdG9yIFBvbGljeTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2aXN1YWxNV0lcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgndmlzdWFsTVdJJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzdGF0aWNPcHRpb25zLlZJU1VBTF9NV0lcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPlJpbmcgU2V0dGluZyAoUGhvbmUgSWRsZSk8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmluZ1NldHRpbmdfaWRsZVwiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdyaW5nU2V0dGluZ19pZGxlJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuUklOR19TRVRUSU5HX0lETEVcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkNhbGwgUGlja3VwIEF1ZGlvIEFsZXJ0IFNldHRpbmcgKFBob25lIElkbGUpPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBuYW1lPVwicGlja3VwQUFTX2lkbGVcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBpY2t1cEFBU19pZGxlXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3BpY2t1cEFBU19pZGxlJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuQ0FMTF9QSUNLVVBfR1JPVVBfQVVESU9fU0VUVElOR19QSE9ORV9JRExFXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3tvcHRpb259fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5Nb25pdG9yaW5nIENhbGxpbmcgU2VhcmNoIFNwYWNlPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQXV0b2NvbXBsZXRlKCdtb25pdG9yQ1NTJylcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1vbml0b3JDU1NcIj5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcclxuICAgICAgICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uQ2hhbmdlRmllbGQoJ21vbml0b3JDU1MnKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkTW9uaXRvckNzc0xpc3RcIiBbdmFsdWVdPVwib3B0aW9uXCIgPlxyXG4gICAgICAgICAgICAgICAge3tvcHRpb259fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5BdWRpYmxlIE1lc3NhZ2UgV2FpdGluZyBJbmRpY2F0b3IgUG9saWN5PC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImF1ZGlibGVNV0lcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnYXVkaWJsZU1XSScpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzdGF0aWNPcHRpb25zLkRFRkFVTFRfT05fT0ZGXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3tvcHRpb259fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5SaW5nIFNldHRpbmcgKFBob25lIEFjdGl2ZSk8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmluZ1NldHRpbmdfYWN0aXZlXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3JpbmdTZXR0aW5nX2FjdGl2ZScpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzdGF0aWNPcHRpb25zLlJJTkdfU0VUVElOR19BQ1RJVkVcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkNhbGwgUGlja3VwIEF1ZGlvIEFsZXJ0IFNldHRpbmcgKFBob25lIEFjdGl2ZSk8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGlja3VwQUFTX2FjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdwaWNrdXBBQVNfYWN0aXZlJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzdGF0aWNPcHRpb25zLkNBTExfUElDS1VQX0dST1VQX0FVRElPX1NFVFRJTkdfUEhPTkVfQUNUSVZFXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+TG9nIE1pc3NlZCBDYWxsczwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cImN1c3RvbS10b2dnbGVcIiBuYW1lPVwibG9nTWlzc2VkQ2FsbHNcIiBmb3JtQ29udHJvbE5hbWU9XCJsb2dNaXNzZWRDYWxsXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2FwcC1saW5lLWRldGFpbHMtYmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JfMnB4XCI+PC9kaXY+XHJcbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInRm9yd2FyZHJlZCBjYWxsIGluZm9ybWF0aW9uIGRpc3BsYXknXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5DYWxsZXIgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cImN1c3RvbS10b2dnbGVcIiBuYW1lPVwiY2FsbGVyTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cImNhbGxlck5hbWVcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ2NhbGxlck5hbWUnKVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5SZWRpcmVjdGVkIE51bWJlcjwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cImN1c3RvbS10b2dnbGVcIiBuYW1lPVwicmVkaXJlY3RlZE51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInJlZGlyZWN0ZWROdW1iZXJcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3JlZGlyZWN0ZWROdW1iZXInKVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5DYWxsZXIgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwiY3VzdG9tLXRvZ2dsZVwiIG5hbWU9XCJjYWxsZXJOdW1iZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJjYWxsZXJOdW1iZXJcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ2NhbGxlck51bWJlcicpXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkRpYWxlZCBOdW1iZXI8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJjdXN0b20tdG9nZ2xlXCIgbmFtZT1cImRpYWxlZE51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImRpYWxlZE51bWJlclwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnZGlhbGVkTnVtYmVyJylcIj48L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYXBwLWxpbmUtZGV0YWlscy1ibG9jaz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWFzc29jaWF0ZWQtbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9kZXZpY2UtYXNzb2NpYXRlZC1saW5lL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU8xRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLDZCQUE2QjtJQWV4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RKLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMs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LFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaW1wbGlmaWVkVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvc2ltcGxpZmllZC11c2VyJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSZWNvcmRpbmdPcHRpb25zIH0gZnJvbSAnLi4vY2xhc3Nlcy9kZXZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSRUNPUkRJTkdfTUVESUFfU09VUkNFLCBTVEFUSUNfT1BUSU9OUyB9IGZyb20gJy4uL2FwcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNpdGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaXRlLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9saW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV2aWNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RldmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGV2aWNlLWFzc29jaWF0ZWQtbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGV2aWNlLWFzc29jaWF0ZWQtbGluZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VBc3NvY2lhdGVkTGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGluZUluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoKSBkZXZpY2VJbmRleCE6IG51bWJlcjtcbiAgQElucHV0KCkgZGV2aWNlTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2l0ZUlkITogbnVtYmVyO1xuICBAT3V0cHV0KCkgdXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgZGF0YVBlbmRpbmchOiBib29sZWFuO1xuICByZWNvcmRpbmdPcHRpb25zID0gUmVjb3JkaW5nT3B0aW9ucztcbiAgcmVjb3JkaW5nTWVkaWFTb3VyY2VzOiBzdHJpbmdbXSA9IFJFQ09SRElOR19NRURJQV9TT1VSQ0U7XG4gIHN0YXRpY09wdGlvbnMgPSBTVEFUSUNfT1BUSU9OUztcbiAgbW9uaXRvckNzc0xpc3Q6IGFueTtcbiAgZmlsdGVyZWRNb25pdG9yQ3NzTGlzdDogYW55O1xuICBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+XG5cbiAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XSAmJiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzW3RoaXMuZGV2aWNlSW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNbdGhpcy5saW5lSW5kZXhdLmZvcm07XG4gIH1cblxuICBnZXQgbGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0ubGluZUFzc29jaWF0aW9uc1t0aGlzLmxpbmVJbmRleF07XG4gIH1cblxuICBnZXQgb3JpZ2luTGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/Lm9yaWdpblVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0ubGluZUFzc29jaWF0aW9uc1t0aGlzLmxpbmVJbmRleF07XG4gIH1cblxuICBnZXQgdXNlcigpOiBTaW1wbGlmaWVkVXNlciB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaXRlU2V0dGluZ3NTZXJ2aWNlOiBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGluZVNlcnZpY2U6IExpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXREYXRhKCk7XG4gICAgdGhpcy5saW5lU2VydmljZS5vblNhdmVMaW5lQXNzb2NpYXRpb25FdmVudFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTGluZSh0aGlzLmxpbmVBc3NvY2lhdGlvbik7XG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZUZpZWxkKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XSBhcyBhbnkpW3Rva2VuXSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5zZXRIYXNDaGFuZ2VzVG9MaW5lKCk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KCk7XG5cbiAgfVxuXG4gIG9uQXV0b2NvbXBsZXRlKHRva2VuOiBzdHJpbmcpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJlZE1vbml0b3JDc3NMaXN0ID0gVXRpbHNTZXJ2aWNlLmZpbHRlck9wdGlvbnModGhpcy5tb25pdG9yQ3NzTGlzdCwgdmFsdWUpO1xuICB9XG5cbiAgcmVjb3JkaW5nT3B0aW9uQ2hhbmdlZCh0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUZpZWxkKHRva2VuKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gUmVjb3JkaW5nT3B0aW9ucy5hdXRvX2VuYWJsZWQgfHwgdmFsdWUgPT09IFJlY29yZGluZ09wdGlvbnMuc2VsZWN0aXZlX2VuYWJsZWQpIHtcbiAgICAgIGlmICghdGhpcy5mb3JtPy5nZXQoJ3JlY29yZGluZ1Byb2ZpbGUnKT8udG91Y2hlZCkge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdQcm9maWxlJyk/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5nZXQoJ3JlY29yZGluZ1Byb2ZpbGUnKT8uZW5hYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdNZWRpYVNvdXJjZScpPy5lbmFibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdQcm9maWxlJyk/LnNldFZhbHVlKCcnKTtcbiAgICAgIHRoaXMub25DaGFuZ2VGaWVsZCgncmVjb3JkaW5nUHJvZmlsZScpO1xuXG4gICAgICAvKiBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaGFzUm9sZSgnU1VQRVJfVVNFUicpKSB7XG4gICAgICAgICByZWNvcmRpbmdNZWRpYVNvdXJjZS5kaXNhYmxlKCk7XG4gICAgICAgICByZWNvcmRpbmdNZWRpYVNvdXJjZS5zZXRWYWx1ZSh0aGlzLnJlY29yZGluZ01lZGlhU291cmNlc1swXSk7XG4gICAgICAgICB0aGlzLmNoYW5nZUZpZWxkKCdyZWNvcmRpbmdNZWRpYVNvdXJjZScpO1xuICAgICAgIH0qL1xuICAgIH1cbiAgfVxuXG4gIGdldFJ1bGUoKTogc3RyaW5nIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHRoaXMuZm9ybS5nZXQoJ2UxNjRNYXNrJyk/LmVycm9ycyAmJiB0aGlzLmZvcm0uZ2V0KCdlMTY0TWFzaycpPy5lcnJvcnNbJ2UxNjRNYXNrUnVsZSddKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnZTE2NE1hc2snKT8uZXJyb3JzWydlMTY0TWFza1J1bGUnXVsncnVsZSddXG4gICAgfVxuICAgIHJldHVybiAnJztcblxuICB9XG5cbiAgdG9nZ2xlRWRpdE1vZGUoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnRvZ2dsZUVkaXRNb2RlKCk7XG4gIH1cblxuICBpc1NhdmluZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy51c2VyU2VydmljZS5oYXNVbnNhdmVkQ2hhbmdlcygpIHx8IHRoaXMudXNlclNlcnZpY2UuaGFzRXhpc3RlZFVzZXJJZDtcbiAgfVxuXG4gIG9uQ2hhbmdlRXh0ZW5zaW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saW5lQXNzb2NpYXRpb24gJiYgdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbkxpbmVSZW1vdmUoKTogdm9pZCB7XG5cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0YSgpIHtcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuZ2V0TW9uaXRvckNzcyh0aGlzLnNpdGVJZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9uaXRvckNzc0xpc3QgPSByZXM/Lmxlbmd0aCA/IHJlcy5zbGljZSgpIDogW107XG4gICAgICAgIHRoaXMuZmlsdGVyZWRNb25pdG9yQ3NzTGlzdCA9IHJlcz8ubGVuZ3RoID8gcmVzLnNsaWNlKCkgOiBbXTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGluZShsaW5lOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UpOiB2b2lkIHtcbiAgICBjb25zdCBib2R5ID0gdGhpcy5saW5lU2VydmljZS5nZXRMaW5lQXNzb2NpYXRpb25Cb2R5KHRoaXMub3JpZ2luTGluZUFzc29jaWF0aW9uLCB0aGlzLmxpbmVBc3NvY2lhdGlvbik7XG4gICAgY29uc29sZS5sb2coJ3VwZGF0ZSBsaW5lJywgYm9keSk7XG4gICAgdGhpcy5kZXZpY2VTZXJ2aWNlLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRldmljZVNlcnZpY2UucHV0RGV2aWNlRmllbGRzKHRoaXMuc2l0ZUlkLCB0aGlzLmRldmljZU5hbWUsIHRoaXMudXNlclNlcnZpY2UudXNlci50b2tlbiwgYm9keSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnBlcnNpc3RVc2VyQ2FjaGUoKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5mZXRjaFVzZXJUb2tlbih0aGlzLnNpdGVJZCwgdGhpcy51c2VyU2VydmljZS51c2VyLnVzZXJpZCwgdGhpcy52YWxpZGF0aW9uU2VydmljZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVkTGluZUFzc29jaWF0aW9uRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB9LCAoKSA9PiB0aGlzLmRldmljZVNlcnZpY2UuZGF0YVBlbmRpbmcgPSBmYWxzZSk7XG4gICAgICAgICAgfSwgKCkgPT4gdGhpcy5kZXZpY2VTZXJ2aWNlLmRhdGFQZW5kaW5nID0gdHJ1ZSlcbiAgICAgIH0sICgpID0+IHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IHRydWUpXG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUxpbmUobGluZTogTGluZUFzc29jaWF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5saW5lU2VydmljZS5kZWxldGVMaW5lKHRoaXMuc2l0ZUlkLCBsaW5lLmxpbmVQa2lkLCB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudG9rZW4pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS5wZXJzaXN0VXNlckNhY2hlKClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZmV0Y2hVc2VyVG9rZW4odGhpcy5zaXRlSWQsIHRoaXMudXNlclNlcnZpY2UudXNlci51c2VyaWQsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHNldEhhc0NoYW5nZXNUb0xpbmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGluZUFzc29jaWF0aW9uKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XS5oYXNDaGFuZ2VzID0gIXRoaXMubGluZUFzc29jaWF0aW9uLmZ1bGxFcXVhbCh0aGlzLm9yaWdpbkxpbmVBc3NvY2lhdGlvbik7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zSGFzQ2hhbmdlcyA9ICF0aGlzLmxpbmVBc3NvY2lhdGlvbi5mdWxsRXF1YWwodGhpcy5vcmlnaW5MaW5lQXNzb2NpYXRpb24pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cImRldmljZS1hc3NvY2lhdGVkLWxpbmVcIiAqbmdJZj1cImxpbmVBc3NvY2lhdGlvbiAmJiBmb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBjbGFzcz1cImxpbmUtZGV0YWlsc19fY29udGFpbmVyXCI+XHJcbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInTGluZSBzZXR0aW5nIG9uIHRoZSBkZXZpY2UnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5EaXNwbGF5IENhbGxlciBJRDwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImRpc3BsYXlMYWJlbFwiIGZvcm1Db250cm9sTmFtZT1cImRpc3BsYXlMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgnZGlzcGxheUxhYmVsJylcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkaXNwbGF5TGFiZWwnKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cclxuICAgICAgICAgICAgICBUaGlzIGZpZWxkIGNhbuKAmXQgaGF2ZSBtb3JlIHRoYW4gMzAgY2hhcmFjdGVyc1xyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkaXNwbGF5TGFiZWwnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgSW52YWxpZCBzeW1ib2xzIGFyZSB1c2VkXHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5UZXh0IExhYmVsPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGV4dExhYmVsXCIgbmFtZT1cInRleHRMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBtYXRJbnB1dCAoaW5wdXQpPVwib25DaGFuZ2VGaWVsZCgndGV4dExhYmVsJylcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd0ZXh0TGFiZWwnKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cclxuICAgICAgICAgICAgICBUaGlzIGZpZWxkIGNhbuKAmXQgaGF2ZSBtb3JlIHRoYW4gMzAgY2hhcmFjdGVyc1xyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd0ZXh0TGFiZWwnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgSW52YWxpZCBzeW1ib2xzIGFyZSB1c2VkXHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5FeHRlcm5hbCBQaG9uZSBOdW1iZXIgTWFzazwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImUxNjRNYXNrXCIgZm9ybUNvbnRyb2xOYW1lPVwiZTE2NE1hc2tcIlxyXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2UxNjRNYXNrJylcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdlMTY0TWFzaycpPy5oYXNFcnJvcignZTE2NE1hc2tSdWxlJylcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgIGUxNjRNYXNrIGRvZXMgbm90IG1hdGNoIHRoZSBydWxlIHt7Z2V0UnVsZSgpfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2FwcC1saW5lLWRldGFpbHMtYmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JfMnB4XCI+PC9kaXY+XHJcbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInTXVsdGlwbGUgQ2FsbC9DYWxsIFdhaXRpbmcgU2V0dGluZ3MnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5NYXggQ2FsbHM8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgbmFtZT1cIm1heE51bWJlck9mQ2FsbHNcIiBmb3JtQ29udHJvbE5hbWU9XCJtYXhOdW1iZXJPZkNhbGxzXCJcclxuICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdtYXhOdW1iZXJPZkNhbGxzJylcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdtYXhOdW1iZXJPZkNhbGxzJyk/Lmhhc0Vycm9yKCdtYXgnKVwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgVmFsdWUgaXMgdG9vIGJpZ1xyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+QnVzeSBUcmlnZ2VyPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG5hbWU9XCJidXN5VHJpZ2dlclwiIGZvcm1Db250cm9sTmFtZT1cImJ1c3lUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCdidXN5VHJpZ2dlcicpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnYnVzeVRyaWdnZXInKT8uaGFzRXJyb3IoJ21heCcpXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cclxuICAgICAgICAgICAgICBWYWx1ZSBjYW4ndCBiZSBiaWdnZXIgdGhhbiBNYXggQ2FsbHNcclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2FwcC1saW5lLWRldGFpbHMtYmxvY2s+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JfMnB4XCI+PC9kaXY+XHJcbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInQ2FsbCBSZWNvcmRpbmcnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5SZWNvcmRpbmcgT3B0aW9uPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwicmVjb3JkaW5nT3B0aW9uQ2hhbmdlZCgncmVjb3JkaW5nT3B0aW9uJylcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJlY29yZGluZ09wdGlvblwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIidhc3NvY2lhdGVkTGluZVJlY29yZGluZ09wdGlvbkZpZWxkJ1wiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09cmVjb3JkaW5nT3B0aW9ucy5kaXNhYmxlZD5DYWxsIFJlY29yZGluZyBEaXNhYmxlZDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPXJlY29yZGluZ09wdGlvbnMuYXV0b19lbmFibGVkPkF1dG9tYXRpYyBDYWxsIFJlY29yZGluZyBFbmFibGVkPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09cmVjb3JkaW5nT3B0aW9ucy5zZWxlY3RpdmVfZW5hYmxlZD5TZWxlY3RpdmUgQ2FsbCBSZWNvcmRpbmcgRW5hYmxlZDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5SZWNvcmRpbmcgTWVkaWEgU291cmNlPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmVjb3JkaW5nTWVkaWFTb3VyY2UnKVwiIGZvcm1Db250cm9sTmFtZT1cInJlY29yZGluZ01lZGlhU291cmNlXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiJ2Fzc29jaWF0ZWRMaW5lUmVjb3JkaW5nTWVkaWFTb3VyY2VGaWVsZCdcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc291cmNlIG9mIHJlY29yZGluZ01lZGlhU291cmNlc1wiIFt2YWx1ZV09XCJzb3VyY2VcIj57e3NvdXJjZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPlJlY29yZGluZyBQcm9maWxlPC9sYWJlbD5cclxuICAgICAgICAgIDxhcHAtbGF6eS1sb2FkaW5nLXNlbGVjdFxyXG4gICAgICAgICAgICBbc2l0ZUlkXT1cInNpdGVJZFwiXHJcbiAgICAgICAgICAgIFtjb250cm9sTmFtZV09XCIncmVjb3JkaW5nUHJvZmlsZSdcIlxyXG4gICAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgKGNoYW5nZUZpZWxkKT1cIm9uQ2hhbmdlRmllbGQoJ3JlY29yZGluZ1Byb2ZpbGUnKVwiXHJcbiAgICAgICAgICAgIFtvcHRpb25zVG9rZW5dPVwiJ3JlY29yZGluZ1Byb2ZpbGUnXCI+PC9hcHAtbGF6eS1sb2FkaW5nLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXzJweFwiPjwvZGl2PlxyXG4gICAgICA8YXBwLWxpbmUtZGV0YWlscy1ibG9jayBbdGl0bGVdPVwiJ0FkZGl0aW9uYWwgbGluZSBzZXR0aW5ncyBvbiB0aGUgZGV2aWNlJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+VmlzdWFsIE1lc3NhZ2UgV2FpdGluZyBJbmRpY2F0b3IgUG9saWN5PC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZpc3VhbE1XSVwiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCd2aXN1YWxNV0knKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuVklTVUFMX01XSVwiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+UmluZyBTZXR0aW5nIChQaG9uZSBJZGxlKTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyaW5nU2V0dGluZ19pZGxlXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3JpbmdTZXR0aW5nX2lkbGUnKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5SSU5HX1NFVFRJTkdfSURMRVwiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+Q2FsbCBQaWNrdXAgQXVkaW8gQWxlcnQgU2V0dGluZyAoUGhvbmUgSWRsZSk8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJwaWNrdXBBQVNfaWRsZVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGlja3VwQUFTX2lkbGVcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncGlja3VwQUFTX2lkbGUnKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5DQUxMX1BJQ0tVUF9HUk9VUF9BVURJT19TRVRUSU5HX1BIT05FX0lETEVcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPk1vbml0b3JpbmcgQ2FsbGluZyBTZWFyY2ggU3BhY2U8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAoaW5wdXQpPVwib25BdXRvY29tcGxldGUoJ21vbml0b3JDU1MnKVwiXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibW9uaXRvckNTU1wiPlxyXG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAgICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25DaGFuZ2VGaWVsZCgnbW9uaXRvckNTUycpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRNb25pdG9yQ3NzTGlzdFwiIFt2YWx1ZV09XCJvcHRpb25cIiA+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkF1ZGlibGUgTWVzc2FnZSBXYWl0aW5nIEluZGljYXRvciBQb2xpY3k8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXVkaWJsZU1XSVwiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdhdWRpYmxlTVdJJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuREVGQVVMVF9PTl9PRkZcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPlJpbmcgU2V0dGluZyAoUGhvbmUgQWN0aXZlKTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyaW5nU2V0dGluZ19hY3RpdmVcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmluZ1NldHRpbmdfYWN0aXZlJylcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuUklOR19TRVRUSU5HX0FDVElWRVwiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+Q2FsbCBQaWNrdXAgQXVkaW8gQWxlcnQgU2V0dGluZyAoUGhvbmUgQWN0aXZlKTwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwaWNrdXBBQVNfYWN0aXZlXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3BpY2t1cEFBU19hY3RpdmUnKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuQ0FMTF9QSUNLVVBfR1JPVVBfQVVESU9fU0VUVElOR19QSE9ORV9BQ1RJVkVcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3tvcHRpb259fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbD5Mb2cgTWlzc2VkIENhbGxzPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwiY3VzdG9tLXRvZ2dsZVwiIG5hbWU9XCJsb2dNaXNzZWRDYWxsc1wiIGZvcm1Db250cm9sTmFtZT1cImxvZ01pc3NlZENhbGxcIj48L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYXBwLWxpbmUtZGV0YWlscy1ibG9jaz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvcl8ycHhcIj48L2Rpdj5cclxuICAgICAgPGFwcC1saW5lLWRldGFpbHMtYmxvY2sgW3RpdGxlXT1cIidGb3J3YXJkcmVkIGNhbGwgaW5mb3JtYXRpb24gZGlzcGxheSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkNhbGxlciBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwiY3VzdG9tLXRvZ2dsZVwiIG5hbWU9XCJjYWxsZXJOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FsbGVyTmFtZVwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnY2FsbGVyTmFtZScpXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPlJlZGlyZWN0ZWQgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwiY3VzdG9tLXRvZ2dsZVwiIG5hbWU9XCJyZWRpcmVjdGVkTnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVkaXJlY3RlZE51bWJlclwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmVkaXJlY3RlZE51bWJlcicpXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsPkNhbGxlciBOdW1iZXI8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJjdXN0b20tdG9nZ2xlXCIgbmFtZT1cImNhbGxlck51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImNhbGxlck51bWJlclwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnY2FsbGVyTnVtYmVyJylcIj48L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWw+RGlhbGVkIE51bWJlcjwvbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cImN1c3RvbS10b2dnbGVcIiBuYW1lPVwiZGlhbGVkTnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGlhbGVkTnVtYmVyXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdkaWFsZWROdW1iZXInKVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -147,10 +147,10 @@ export class DeviceManageWidgetComponent {
147
147
  }
148
148
  }
149
149
  DeviceManageWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceManageWidgetComponent, deps: [{ token: i1.UserService }, { token: i2.DeviceService }, { token: i3.APIService }, { token: i4.LineService }, { token: i5.SiteSettingsService }, { token: i6.ValidationService }, { token: i7.MatDialog }, { token: i8.DnsService }], target: i0.ɵɵFactoryTarget.Component });
150
- DeviceManageWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceManageWidgetComponent, selector: "app-device-manage-widget", inputs: { token: "token", host: "host", siteId: "siteId", userId: "userId", isLdap: "isLdap", deviceName: "deviceName" }, outputs: { onSave: "onSave", onChange: "onChange", discardChanges: "discardChanges", goBack: "goBack" }, viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "\r\n\r\n<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!dataPending\">\r\n <!-- <div class=\"go-back-box\" (click)=\"onGoBack()\"> -->\r\n <div class=\"go-back-box\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Devices</span>\r\n </div>\r\n </div>\r\n\r\n <app-device-info \r\n [device]=\"device\" \r\n [firstName]=\"firstName\" \r\n [lastName]=\"lastName\"\r\n (onclickBack)=\"onGoBack()\"\r\n >\r\n \r\n </app-device-info>\r\n <div class=\"device-info\">\r\n\r\n <div class=\"device-info-part\">\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Details</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('maxLineCount')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Lines</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ (form?.get('macAddress')?.value | macAddress) || 'N/A' }}</span>\r\n <span class=\"extra-info\">MAC address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('ipAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Host IP address</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('remoteIpAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Remote IP address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">Cisco</span>\r\n <span class=\"extra-info\">Managed By</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Software</span>\r\n <div class=\"icon-bordered-wrapper\">\r\n <i class=\"icon configure-icon rem1\"></i>\r\n </div>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareVersion')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software Channel</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareChannel')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software version</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Tags</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div class=\"tags-list-container\">\r\n <div *ngFor=\"let tag of tags; let i = index\" class=\"tag-label\">\r\n <span class=\"tag-desccription\">{{ tag }}</span>\r\n <i class=\"icon close-icon\" (click)=\"removeTag(i)\" style=\"width: 0.75rem; height: 0.75rem; flex: 0 0 auto;\"></i>\r\n </div>\r\n </div>\r\n <div class=\"tags-list-container\">\r\n <button class=\"tag-label add-tag\" (click)=\"showInput()\">\r\n <span class=\"icon plus-icon\" style=\"width: 0.75rem; height: 0.75rem;\"></span>\r\n <span>Add tag</span>\r\n </button>\r\n <input \r\n #tagInput\r\n id=\"enter-tag-input\" \r\n *ngIf=\"isAdding\"\r\n [(ngModel)]=\"newTag\"\r\n (blur)=\"onBlur()\"\r\n type=\"text\"\r\n class=\"add-tag-input\" \r\n placeholder=\"Enter tag...\"\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n </div>\r\n\r\n <div class=\"device-info-part\">\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Issues & Information</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"description\">\r\n <i class=\"icon check-icon rem1\" style=\"filter: invert(26%) sepia(27%) saturate(1093%) hue-rotate(114deg) brightness(93%) contrast(90%);\"></i>\r\n <span class=\"text-description\">No reported issues at this time</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Hoteling</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <span class=\"text-description\">Allow this device to be used as a Hoteling Host by visiting guests.</span>\r\n <div class=\"toggle-wrapper\">\r\n <mat-slide-toggle class=\"custom-toggle\" name=\"logMissedCalls\" [formControl]=\"hotelingEnabled\"></mat-slide-toggle>\r\n <i class=\"icon info-icon rem1\" \r\n style=\"filter: invert(20%) sepia(99%) saturate(2065%) hue-rotate(197deg) brightness(92%) contrast(101%);\"\r\n [matTooltip]=\"'Enabling this device for Hoteling means that a guest (end user) can log into this host (workspace phone) and use this phone as if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and to access features normally available to them on their own office phone.'\"\r\n ></i>\r\n </div>\r\n <span class=\"text-description\">Limit the time a guest can use this phone to</span>\r\n <mat-select [formControl]=\"guestHoursLimit\">\r\n <mat-option *ngFor=\"let type of HOTELING_TIME_HOURS\" [value]=\"type\">\r\n {{type}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Device Management</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <p class=\"text-description\">The users and workspaces that appear on this device are displayed below in the order of appearance.</p>\r\n <div class=\"flex-column\">\r\n <span class=\"text-description\">To add and remove users and workspaces, select <b>Configure Lines.</b></span>\r\n <span class=\"text-description\">To customize the programmable Line Keys, select <b>Configure Layout.</b></span>\r\n <span class=\"text-description\">To set up the display settings and dialing options, select <b>Device Settings</b>.</span>\r\n </div>\r\n <table style=\"border-collapse:collapse;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Index #</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Name</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Number/Extension</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Appearances</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Registered</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"device?.lines && device?.lines.length\">\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\"\r\n \r\n *ngFor=\"let line of device.lines; let i = index\">\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\"></span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">{{line?.name}}</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <div style=\"width: 120px;\"\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onNumberChange($event, i)\">\r\n {{ line?.number || 'NA' }}\r\n </div> \r\n <span> &nbsp;/&nbsp; </span>\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionChange($event, i)\">\r\n {{ line?.extension }}\r\n </span> -->\r\n <app-device-associated-line-extension\r\n [control]=\"linesControls.at(i)\"\r\n [routePartition]=\"line.routePartitionName\"\r\n [directoryNumber]=\"line.directoryNumber\"\r\n [siteId]=\"siteId\"\r\n (onChange)=\"onExtensionChange($event, i)\">\r\n </app-device-associated-line-extension>\r\n </div>\r\n \r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">1</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <i class=\"icon warning-icon rem1\" [matTooltip]=\"'Unregistered'\"></i>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </tbody>\r\n </table>\r\n <div class=\"totals\">\r\n <span class=\"text-description\">15 of 16 total lines available</span>\r\n </div>\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Lines</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Layout</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Device Settings</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Support</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Meetings & Calls</span>\r\n <span class=\"label new\">New</span>\r\n <i class=\"icon info-icon rem1\"\r\n [matTooltip]=\"'Troubleshooting provides details about the device related to status, network activity, and call information.'\"\r\n ></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Go to troubleshooting</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Device Logs</span>\r\n <i class=\"icon info-icon rem1\" [matTooltip]=\"'Generate device logs and download them to your computer.'\"></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n \r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host :ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px;max-width:175px;margin-left:2.75rem;border:2px solid gray;padding:.25rem .75rem;border-radius:8px}:host ::ng-deep .mat-option{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;line-height:48px!important;height:48px!important;padding:0 10px!important;text-align:left!important;text-decoration:none!important;position:relative!important;cursor:pointer!important;outline:none!important;display:flex!important;flex-direction:row!important;max-width:100%!important;box-sizing:border-box!important;align-items:center!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}:host ::ng-deep .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#bfe3ff;color:#000}:host ::ng-deep .mat-select-panel .mat-option:not(.search-input):hover{background:#daedfc}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-tab-group{font-family:Inter,sans-serif}:host ::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}:host ::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}:host ::ng-deep .mat-tab-labels{gap:30px}:host ::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-right%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-left%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;margin-left:.5rem;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}.device-info{display:flex;gap:1rem;padding:1.5rem}.device-info .device-info-part{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.device-info .device-info-part .card{display:flex;flex-direction:column;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#ffffff;min-width:0}.device-info .device-info-part .card .header{display:flex;align-items:center;justify-content:space-between}.device-info .device-info-part .card .header .title{font-weight:500;font-size:1rem;font-family:Poppins,Poppins,sans-serif}.device-info .device-info-part .card .main-content{display:flex;flex-direction:column;min-width:0}.device-info .device-info-part .card .main-content .detail-row{display:flex;flex:1;padding:1rem 0;min-width:0}.device-info .device-info-part .card .main-content .detail-row .side{display:flex;flex-direction:column;flex:1}.device-info .device-info-part .card .main-content .detail-row .side .main-value{font-weight:500;font-size:.875rem}.device-info .device-info-part .card .main-content .detail-row .side .extra-info{font-weight:350;font-size:.75rem}.device-info .device-info-part .card .main-content .detail-row .description{display:flex;gap:.5rem;align-items:center}.device-info .device-info-part .card .main-content .detail-row .toggle-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.device-info .device-info-part .card .main-content .detail-row .configure-lines{display:flex;flex-direction:column}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line{display:flex;align-items:center;justify-content:space-between;flex:1;padding:.5rem 0}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div{gap:.5rem;display:flex;align-items:center}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label{display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid transparent;border-radius:.25rem;line-height:1;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label.new{font-size:.75rem;border-color:#30c9b0;background-color:#e9f7f3;color:#12615a}.device-info .device-info-part .card .main-content .tags-list-container{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}.device-info .device-info-part .card .main-content .tags-list-container .tag-label{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;gap:.5rem;height:40px;font-size:smaller;max-width:100%;min-width:0;overflow:hidden}.device-info .device-info-part .card .main-content .tags-list-container .tag-label .tag-desccription{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;height:40px;font-size:smaller;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important;margin-left:-99px}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input:focus-visible{outline:none}.device-info .device-info-part .card .main-content .add-tag{background-color:#fff!important}.device-info .device-info-part .card .main-content .add-tag:hover{color:#0353a8!important}.flex-column{display:flex;flex-direction:column}.gap-0_75{gap:.75rem}.text-description{font-size:.875rem;font-weight:400}.icon{background-repeat:no-repeat;background-position:center;display:inline-block;background-size:contain}.icon-bordered-wrapper{display:flex;inline-size:1.5rem;border-radius:50rem;border:1px solid rgba(0,0,0,.5019607843);width:1.5rem;height:1.5rem;align-items:center;justify-content:center;cursor:pointer}.configure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 10.25A5.75 5.75 0 1 0 21.75 16 5.756 5.756 0 0 0 16 10.25m0 10a4.25 4.25 0 1 1 0-8.5 4.25 4.25 0 0 1 0 8.5M28 13.25H25.67a.25.25 0 0 1-.231-.155l-.667-1.633a.25.25 0 0 1 .057-.273l1.66-1.631a1.75 1.75 0 0 0 .024-2.475l-1.4-1.427a1.753 1.753 0 0 0-2.476-.024l-1.665 1.635a.25.25 0 0 1-.273.053l-1.796-.754a.25.25 0 0 1-.154-.23V4A1.75 1.75 0 0 0 17 2.25h-2A1.75 1.75 0 0 0 13.25 4v2.331a.25.25 0 0 1-.155.232l-1.714.71a.25.25 0 0 1-.273-.054L9.459 5.571a1.75 1.75 0 0 0-2.475 0L5.57 6.985a1.75 1.75 0 0 0 0 2.474l1.65 1.649a.25.25 0 0 1 .054.272l-.712 1.716a.25.25 0 0 1-.23.154H4A1.75 1.75 0 0 0 2.25 15v2A1.75 1.75 0 0 0 4 18.75h2.332a.25.25 0 0 1 .23.155l.71 1.713a.25.25 0 0 1-.053.274L5.57 22.54a1.75 1.75 0 0 0 0 2.476l1.415 1.414a1.75 1.75 0 0 0 2.476 0l1.648-1.65a.25.25 0 0 1 .272-.054l1.716.712a.25.25 0 0 1 .153.23V28A1.75 1.75 0 0 0 15 29.75h2A1.75 1.75 0 0 0 18.75 28v-2.332a.25.25 0 0 1 .156-.231l1.715-.71a.25.25 0 0 1 .272.054l1.649 1.649a1.753 1.753 0 0 0 2.474 0l1.416-1.415a1.753 1.753 0 0 0-.002-2.475l-1.648-1.648a.25.25 0 0 1-.055-.273l.712-1.715a.25.25 0 0 1 .23-.154H28A1.75 1.75 0 0 0 29.75 17v-2A1.75 1.75 0 0 0 28 13.25m.25 3.75a.25.25 0 0 1-.25.25h-2.331a1.74 1.74 0 0 0-1.617 1.08l-.712 1.716a1.75 1.75 0 0 0 .38 1.907L25.37 23.6a.25.25 0 0 1 0 .355l-1.414 1.414a.25.25 0 0 1-.273.054.3.3 0 0 1-.08-.054l-1.65-1.65a1.74 1.74 0 0 0-1.907-.379l-1.713.71a1.74 1.74 0 0 0-1.082 1.617V28a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-2.332a1.74 1.74 0 0 0-1.08-1.616l-1.716-.712a1.74 1.74 0 0 0-1.907.38L8.4 25.37a.25.25 0 0 1-.355 0L6.63 23.955a.25.25 0 0 1 0-.354l1.65-1.648a1.745 1.745 0 0 0 .379-1.908l-.71-1.714a1.74 1.74 0 0 0-1.617-1.08H4a.25.25 0 0 1-.25-.25v-2a.25.25 0 0 1 .25-.25h2.332a1.74 1.74 0 0 0 1.616-1.082l.712-1.715a1.75 1.75 0 0 0-.38-1.907L6.63 8.4a.25.25 0 0 1 0-.354l1.414-1.414a.25.25 0 0 1 .355 0l1.648 1.649a1.74 1.74 0 0 0 1.908.379l1.713-.71A1.74 1.74 0 0 0 14.75 6.33v-2.33a.25.25 0 0 1 .25-.25h2a.25.25 0 0 1 .25.25v2.334a1.75 1.75 0 0 0 1.073 1.614l1.796.754a1.75 1.75 0 0 0 1.903-.364h.001l1.666-1.636a.255.255 0 0 1 .355.003l1.4 1.428a.25.25 0 0 1-.004.354l-1.66 1.63a1.745 1.745 0 0 0-.396 1.91l.668 1.636a1.74 1.74 0 0 0 1.62 1.086H28a.25.25 0 0 1 .25.25z%22%2F%3E%3C%2Fsvg%3E\")}.arrow-right-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m22.53 15.47-12-12a.75.75 0 1 0-1.06 1.06L20.94 16 9.47 27.47a.75.75 0 1 0 1.06 1.06l12-12a.75.75 0 0 0 0-1.06%22%2F%3E%3C%2Fsvg%3E\")}.check-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 2.25A13.75 13.75 0 1 0 29.75 16 13.765 13.765 0 0 0 16 2.25m0 26A12.25 12.25 0 1 1 28.25 16 12.264 12.264 0 0 1 16 28.25M20.512 12.43l-6.472 5.547-2.509-2.521a.75.75 0 0 0-1.062 1.058l3 3.015a.75.75 0 0 0 1.02.04l7-6a.75.75 0 1 0-.977-1.139%22%2F%3E%3C%2Fsvg%3E\")}.info-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M15.75 10.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16.75 14.5a.75.75 0 0 0-.75-.75h-2a.75.75 0 0 0 0 1.5h1.25v7H13a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-2.25zM2.25 16C2.25 8.406 8.406 2.25 16 2.25S29.75 8.406 29.75 16 23.594 29.75 16 29.75 2.25 23.594 2.25 16M16 3.75C9.235 3.75 3.75 9.235 3.75 16S9.235 28.25 16 28.25 28.25 22.765 28.25 16 22.765 3.75 16 3.75%22%2F%3E%3C%2Fsvg%3E\")}.warning-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M29.379 23.624 18.382 4.625a2.75 2.75 0 0 0-4.764 0l-11 19A2.75 2.75 0 0 0 5 27.75h21.997a2.75 2.75 0 0 0 2.382-4.126m-1.3 2.001a1.24 1.24 0 0 1-1.082.625H5a1.25 1.25 0 0 1-1.082-1.874l10.999-19A1.25 1.25 0 0 1 16 4.75a1.25 1.25 0 0 1 1.083.626l10.997 19a1.24 1.24 0 0 1 0 1.25M16 23.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16 19.75a.75.75 0 0 0 .75-.75v-7a.75.75 0 1 0-1.5 0v7a.75.75 0 0 0 .75.75%22%2F%3E%3C%2Fsvg%3E\")}.plus-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M26 15.25h-9.25V6a.75.75 0 1 0-1.5 0v9.25H6a.75.75 0 1 0 0 1.5h9.25V26a.75.75 0 1 0 1.5 0v-9.25H26a.75.75 0 1 0 0-1.5%22%2F%3E%3C%2Fsvg%3E\")}.close-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m17.06 16 8.47-8.47a.75.75 0 0 0-.242-1.224.75.75 0 0 0-.819.163L16 14.94 7.53 6.47A.75.75 0 1 0 6.47 7.53L14.94 16l-8.47 8.47a.75.75 0 0 0 1.06 1.06L16 17.06l8.47 8.47a.75.75 0 1 0 1.06-1.06z%22%2F%3E%3C%2Fsvg%3E\")}.rem1{height:1rem;width:1rem}.rem1-25{height:1.25rem;width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i14.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i15.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i16.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i17.DeviceAssociatedLineExtensionComponent, selector: "app-device-associated-line-extension", inputs: ["control", "routePartition", "directoryNumber", "siteId"], outputs: ["onChange"] }, { kind: "component", type: i18.DeviceInfoComponent, selector: "app-device-info", inputs: ["device", "firstName", "lastName", "active", "email", "position"], outputs: ["onclickBack"] }, { kind: "pipe", type: i19.MacAddressPipe, name: "macAddress" }] });
150
+ DeviceManageWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceManageWidgetComponent, selector: "app-device-manage-widget", inputs: { token: "token", host: "host", siteId: "siteId", userId: "userId", isLdap: "isLdap", deviceName: "deviceName" }, outputs: { onSave: "onSave", onChange: "onChange", discardChanges: "discardChanges", goBack: "goBack" }, viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "\r\n\r\n<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!dataPending\">\r\n <!-- <div class=\"go-back-box\" (click)=\"onGoBack()\"> -->\r\n <div class=\"go-back-box\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Devices</span>\r\n </div>\r\n </div>\r\n\r\n <app-device-info \r\n [device]=\"device\" \r\n [firstName]=\"firstName\" \r\n [lastName]=\"lastName\"\r\n (onclickBack)=\"onGoBack()\"\r\n >\r\n \r\n </app-device-info>\r\n <div class=\"device-info\">\r\n\r\n <div class=\"device-info-part\">\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Details</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('maxLineCount')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Lines</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ (form?.get('macAddress')?.value | macAddress) || 'N/A' }}</span>\r\n <span class=\"extra-info\">MAC address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('ipAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Host IP address</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('remoteIpAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Remote IP address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">Cisco</span>\r\n <span class=\"extra-info\">Managed By</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Software</span>\r\n <div class=\"icon-bordered-wrapper\">\r\n <i class=\"icon configure-icon rem1\"></i>\r\n </div>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareVersion')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software Channel</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareChannel')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software version</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Tags</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div class=\"tags-list-container\">\r\n <div *ngFor=\"let tag of tags; let i = index\" class=\"tag-label\">\r\n <span class=\"tag-desccription\">{{ tag }}</span>\r\n <i class=\"icon close-icon\" (click)=\"removeTag(i)\" style=\"width: 0.75rem; height: 0.75rem; flex: 0 0 auto;\"></i>\r\n </div>\r\n </div>\r\n <div class=\"tags-list-container\">\r\n <button class=\"tag-label add-tag\" (click)=\"showInput()\">\r\n <span class=\"icon plus-icon\" style=\"width: 0.75rem; height: 0.75rem;\"></span>\r\n <span>Add tag</span>\r\n </button>\r\n <input \r\n #tagInput\r\n id=\"enter-tag-input\" \r\n *ngIf=\"isAdding\"\r\n [(ngModel)]=\"newTag\"\r\n (blur)=\"onBlur()\"\r\n type=\"text\"\r\n class=\"add-tag-input\" \r\n placeholder=\"Enter tag...\"\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n </div>\r\n\r\n <div class=\"device-info-part\">\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Issues & Information</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"description\">\r\n <i class=\"icon check-icon rem1\" style=\"filter: invert(26%) sepia(27%) saturate(1093%) hue-rotate(114deg) brightness(93%) contrast(90%);\"></i>\r\n <span class=\"text-description\">No reported issues at this time</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Hoteling</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <span class=\"text-description\">Allow this device to be used as a Hoteling Host by visiting guests.</span>\r\n <div class=\"toggle-wrapper\">\r\n <mat-slide-toggle class=\"custom-toggle\" name=\"logMissedCalls\" [formControl]=\"hotelingEnabled\"></mat-slide-toggle>\r\n <i class=\"icon info-icon rem1\" \r\n style=\"filter: invert(20%) sepia(99%) saturate(2065%) hue-rotate(197deg) brightness(92%) contrast(101%);\"\r\n [matTooltip]=\"'Enabling this device for Hoteling means that a guest (end user) can log into this host (workspace phone) and use this phone as if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and to access features normally available to them on their own office phone.'\"\r\n ></i>\r\n </div>\r\n <span class=\"text-description\">Limit the time a guest can use this phone to</span>\r\n <mat-select [formControl]=\"guestHoursLimit\">\r\n <mat-option *ngFor=\"let type of HOTELING_TIME_HOURS\" [value]=\"type\">\r\n {{type}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Device Management</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <p class=\"text-description\">The users and workspaces that appear on this device are displayed below in the order of appearance.</p>\r\n <div class=\"flex-column\">\r\n <span class=\"text-description\">To add and remove users and workspaces, select <b>Configure Lines.</b></span>\r\n <span class=\"text-description\">To customize the programmable Line Keys, select <b>Configure Layout.</b></span>\r\n <span class=\"text-description\">To set up the display settings and dialing options, select <b>Device Settings</b>.</span>\r\n </div>\r\n <table style=\"border-collapse:collapse;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Index #</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Name</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Number/Extension</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Appearances</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Registered</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"device?.lines && device?.lines.length\">\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\"\r\n \r\n *ngFor=\"let line of device.lines; let i = index\">\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\"></span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">{{line?.name}}</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <div style=\"width: 120px;\"\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onNumberChange($event, i)\">\r\n {{ line?.number || 'NA' }}\r\n </div> \r\n <span> &nbsp;/&nbsp; </span>\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionChange($event, i)\">\r\n {{ line?.extension }}\r\n </span> -->\r\n <app-device-associated-line-extension\r\n [control]=\"linesControls.at(i)\"\r\n [routePartition]=\"line.routePartitionName\"\r\n [directoryNumber]=\"line.directoryNumber\"\r\n [siteId]=\"siteId\"\r\n (onChange)=\"onExtensionChange($event, i)\">\r\n </app-device-associated-line-extension>\r\n </div>\r\n \r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">1</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <i class=\"icon warning-icon rem1\" [matTooltip]=\"'Unregistered'\"></i>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </tbody>\r\n </table>\r\n <div class=\"totals\">\r\n <span class=\"text-description\">15 of 16 total lines available</span>\r\n </div>\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Lines</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Layout</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Device Settings</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Support</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Meetings & Calls</span>\r\n <span class=\"label new\">New</span>\r\n <i class=\"icon info-icon rem1\"\r\n [matTooltip]=\"'Troubleshooting provides details about the device related to status, network activity, and call information.'\"\r\n ></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Go to troubleshooting</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Device Logs</span>\r\n <i class=\"icon info-icon rem1\" [matTooltip]=\"'Generate device logs and download them to your computer.'\"></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n \r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host :ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px;max-width:175px;margin-left:2.75rem;border:2px solid gray;padding:.25rem .75rem;border-radius:8px}:host ::ng-deep .mat-option{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;line-height:48px!important;height:48px!important;padding:0 10px!important;text-align:left!important;text-decoration:none!important;position:relative!important;cursor:pointer!important;outline:none!important;display:flex!important;flex-direction:row!important;max-width:100%!important;box-sizing:border-box!important;align-items:center!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}:host ::ng-deep .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#bfe3ff;color:#000}:host ::ng-deep .mat-select-panel .mat-option:not(.search-input):hover{background:#daedfc}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-tab-group{font-family:Inter,sans-serif}:host ::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}:host ::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}:host ::ng-deep .mat-tab-labels{gap:30px}:host ::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg id%3D%22arrow-right%22%3E%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg id%3D%22arrow-left%22%3E%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;margin-left:.5rem;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}.device-info{display:flex;gap:1rem;padding:1.5rem}.device-info .device-info-part{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.device-info .device-info-part .card{display:flex;flex-direction:column;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#ffffff;min-width:0}.device-info .device-info-part .card .header{display:flex;align-items:center;justify-content:space-between}.device-info .device-info-part .card .header .title{font-weight:500;font-size:1rem;font-family:Poppins,Poppins,sans-serif}.device-info .device-info-part .card .main-content{display:flex;flex-direction:column;min-width:0}.device-info .device-info-part .card .main-content .detail-row{display:flex;flex:1;padding:1rem 0;min-width:0}.device-info .device-info-part .card .main-content .detail-row .side{display:flex;flex-direction:column;flex:1}.device-info .device-info-part .card .main-content .detail-row .side .main-value{font-weight:500;font-size:.875rem}.device-info .device-info-part .card .main-content .detail-row .side .extra-info{font-weight:350;font-size:.75rem}.device-info .device-info-part .card .main-content .detail-row .description{display:flex;gap:.5rem;align-items:center}.device-info .device-info-part .card .main-content .detail-row .toggle-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.device-info .device-info-part .card .main-content .detail-row .configure-lines{display:flex;flex-direction:column}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line{display:flex;align-items:center;justify-content:space-between;flex:1;padding:.5rem 0}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div{gap:.5rem;display:flex;align-items:center}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label{display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid transparent;border-radius:.25rem;line-height:1;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label.new{font-size:.75rem;border-color:#30c9b0;background-color:#e9f7f3;color:#12615a}.device-info .device-info-part .card .main-content .tags-list-container{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}.device-info .device-info-part .card .main-content .tags-list-container .tag-label{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;gap:.5rem;height:40px;font-size:smaller;max-width:100%;min-width:0;overflow:hidden}.device-info .device-info-part .card .main-content .tags-list-container .tag-label .tag-desccription{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;height:40px;font-size:smaller;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important;margin-left:-99px}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input:focus-visible{outline:none}.device-info .device-info-part .card .main-content .add-tag{background-color:#fff!important}.device-info .device-info-part .card .main-content .add-tag:hover{color:#0353a8!important}.flex-column{display:flex;flex-direction:column}.gap-0_75{gap:.75rem}.text-description{font-size:.875rem;font-weight:400}.icon{background-repeat:no-repeat;background-position:center;display:inline-block;background-size:contain}.icon-bordered-wrapper{display:flex;inline-size:1.5rem;border-radius:50rem;border:1px solid rgba(0,0,0,.5019607843);width:1.5rem;height:1.5rem;align-items:center;justify-content:center;cursor:pointer}.configure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 10.25A5.75 5.75 0 1 0 21.75 16 5.756 5.756 0 0 0 16 10.25m0 10a4.25 4.25 0 1 1 0-8.5 4.25 4.25 0 0 1 0 8.5M28 13.25H25.67a.25.25 0 0 1-.231-.155l-.667-1.633a.25.25 0 0 1 .057-.273l1.66-1.631a1.75 1.75 0 0 0 .024-2.475l-1.4-1.427a1.753 1.753 0 0 0-2.476-.024l-1.665 1.635a.25.25 0 0 1-.273.053l-1.796-.754a.25.25 0 0 1-.154-.23V4A1.75 1.75 0 0 0 17 2.25h-2A1.75 1.75 0 0 0 13.25 4v2.331a.25.25 0 0 1-.155.232l-1.714.71a.25.25 0 0 1-.273-.054L9.459 5.571a1.75 1.75 0 0 0-2.475 0L5.57 6.985a1.75 1.75 0 0 0 0 2.474l1.65 1.649a.25.25 0 0 1 .054.272l-.712 1.716a.25.25 0 0 1-.23.154H4A1.75 1.75 0 0 0 2.25 15v2A1.75 1.75 0 0 0 4 18.75h2.332a.25.25 0 0 1 .23.155l.71 1.713a.25.25 0 0 1-.053.274L5.57 22.54a1.75 1.75 0 0 0 0 2.476l1.415 1.414a1.75 1.75 0 0 0 2.476 0l1.648-1.65a.25.25 0 0 1 .272-.054l1.716.712a.25.25 0 0 1 .153.23V28A1.75 1.75 0 0 0 15 29.75h2A1.75 1.75 0 0 0 18.75 28v-2.332a.25.25 0 0 1 .156-.231l1.715-.71a.25.25 0 0 1 .272.054l1.649 1.649a1.753 1.753 0 0 0 2.474 0l1.416-1.415a1.753 1.753 0 0 0-.002-2.475l-1.648-1.648a.25.25 0 0 1-.055-.273l.712-1.715a.25.25 0 0 1 .23-.154H28A1.75 1.75 0 0 0 29.75 17v-2A1.75 1.75 0 0 0 28 13.25m.25 3.75a.25.25 0 0 1-.25.25h-2.331a1.74 1.74 0 0 0-1.617 1.08l-.712 1.716a1.75 1.75 0 0 0 .38 1.907L25.37 23.6a.25.25 0 0 1 0 .355l-1.414 1.414a.25.25 0 0 1-.273.054.3.3 0 0 1-.08-.054l-1.65-1.65a1.74 1.74 0 0 0-1.907-.379l-1.713.71a1.74 1.74 0 0 0-1.082 1.617V28a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-2.332a1.74 1.74 0 0 0-1.08-1.616l-1.716-.712a1.74 1.74 0 0 0-1.907.38L8.4 25.37a.25.25 0 0 1-.355 0L6.63 23.955a.25.25 0 0 1 0-.354l1.65-1.648a1.745 1.745 0 0 0 .379-1.908l-.71-1.714a1.74 1.74 0 0 0-1.617-1.08H4a.25.25 0 0 1-.25-.25v-2a.25.25 0 0 1 .25-.25h2.332a1.74 1.74 0 0 0 1.616-1.082l.712-1.715a1.75 1.75 0 0 0-.38-1.907L6.63 8.4a.25.25 0 0 1 0-.354l1.414-1.414a.25.25 0 0 1 .355 0l1.648 1.649a1.74 1.74 0 0 0 1.908.379l1.713-.71A1.74 1.74 0 0 0 14.75 6.33v-2.33a.25.25 0 0 1 .25-.25h2a.25.25 0 0 1 .25.25v2.334a1.75 1.75 0 0 0 1.073 1.614l1.796.754a1.75 1.75 0 0 0 1.903-.364h.001l1.666-1.636a.255.255 0 0 1 .355.003l1.4 1.428a.25.25 0 0 1-.004.354l-1.66 1.63a1.745 1.745 0 0 0-.396 1.91l.668 1.636a1.74 1.74 0 0 0 1.62 1.086H28a.25.25 0 0 1 .25.25z%22%2F%3E%3C%2Fsvg%3E\")}.arrow-right-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m22.53 15.47-12-12a.75.75 0 1 0-1.06 1.06L20.94 16 9.47 27.47a.75.75 0 1 0 1.06 1.06l12-12a.75.75 0 0 0 0-1.06%22%2F%3E%3C%2Fsvg%3E\")}.check-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 2.25A13.75 13.75 0 1 0 29.75 16 13.765 13.765 0 0 0 16 2.25m0 26A12.25 12.25 0 1 1 28.25 16 12.264 12.264 0 0 1 16 28.25M20.512 12.43l-6.472 5.547-2.509-2.521a.75.75 0 0 0-1.062 1.058l3 3.015a.75.75 0 0 0 1.02.04l7-6a.75.75 0 1 0-.977-1.139%22%2F%3E%3C%2Fsvg%3E\")}.info-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M15.75 10.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16.75 14.5a.75.75 0 0 0-.75-.75h-2a.75.75 0 0 0 0 1.5h1.25v7H13a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-2.25zM2.25 16C2.25 8.406 8.406 2.25 16 2.25S29.75 8.406 29.75 16 23.594 29.75 16 29.75 2.25 23.594 2.25 16M16 3.75C9.235 3.75 3.75 9.235 3.75 16S9.235 28.25 16 28.25 28.25 22.765 28.25 16 22.765 3.75 16 3.75%22%2F%3E%3C%2Fsvg%3E\")}.warning-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M29.379 23.624 18.382 4.625a2.75 2.75 0 0 0-4.764 0l-11 19A2.75 2.75 0 0 0 5 27.75h21.997a2.75 2.75 0 0 0 2.382-4.126m-1.3 2.001a1.24 1.24 0 0 1-1.082.625H5a1.25 1.25 0 0 1-1.082-1.874l10.999-19A1.25 1.25 0 0 1 16 4.75a1.25 1.25 0 0 1 1.083.626l10.997 19a1.24 1.24 0 0 1 0 1.25M16 23.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16 19.75a.75.75 0 0 0 .75-.75v-7a.75.75 0 1 0-1.5 0v7a.75.75 0 0 0 .75.75%22%2F%3E%3C%2Fsvg%3E\")}.plus-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M26 15.25h-9.25V6a.75.75 0 1 0-1.5 0v9.25H6a.75.75 0 1 0 0 1.5h9.25V26a.75.75 0 1 0 1.5 0v-9.25H26a.75.75 0 1 0 0-1.5%22%2F%3E%3C%2Fsvg%3E\")}.close-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m17.06 16 8.47-8.47a.75.75 0 0 0-.242-1.224.75.75 0 0 0-.819.163L16 14.94 7.53 6.47A.75.75 0 1 0 6.47 7.53L14.94 16l-8.47 8.47a.75.75 0 0 0 1.06 1.06L16 17.06l8.47 8.47a.75.75 0 1 0 1.06-1.06z%22%2F%3E%3C%2Fsvg%3E\")}.rem1{height:1rem;width:1rem}.rem1-25{height:1.25rem;width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i13.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i14.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i15.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i16.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i17.DeviceAssociatedLineExtensionComponent, selector: "app-device-associated-line-extension", inputs: ["control", "routePartition", "directoryNumber", "siteId"], outputs: ["onChange"] }, { kind: "component", type: i18.DeviceInfoComponent, selector: "app-device-info", inputs: ["device", "firstName", "lastName", "active", "email", "position"], outputs: ["onclickBack"] }, { kind: "pipe", type: i19.MacAddressPipe, name: "macAddress" }] });
151
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceManageWidgetComponent, decorators: [{
152
152
  type: Component,
153
- args: [{ selector: 'app-device-manage-widget', template: "\r\n\r\n<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!dataPending\">\r\n <!-- <div class=\"go-back-box\" (click)=\"onGoBack()\"> -->\r\n <div class=\"go-back-box\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Devices</span>\r\n </div>\r\n </div>\r\n\r\n <app-device-info \r\n [device]=\"device\" \r\n [firstName]=\"firstName\" \r\n [lastName]=\"lastName\"\r\n (onclickBack)=\"onGoBack()\"\r\n >\r\n \r\n </app-device-info>\r\n <div class=\"device-info\">\r\n\r\n <div class=\"device-info-part\">\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Details</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('maxLineCount')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Lines</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ (form?.get('macAddress')?.value | macAddress) || 'N/A' }}</span>\r\n <span class=\"extra-info\">MAC address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('ipAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Host IP address</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('remoteIpAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Remote IP address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">Cisco</span>\r\n <span class=\"extra-info\">Managed By</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Software</span>\r\n <div class=\"icon-bordered-wrapper\">\r\n <i class=\"icon configure-icon rem1\"></i>\r\n </div>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareVersion')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software Channel</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareChannel')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software version</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Tags</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div class=\"tags-list-container\">\r\n <div *ngFor=\"let tag of tags; let i = index\" class=\"tag-label\">\r\n <span class=\"tag-desccription\">{{ tag }}</span>\r\n <i class=\"icon close-icon\" (click)=\"removeTag(i)\" style=\"width: 0.75rem; height: 0.75rem; flex: 0 0 auto;\"></i>\r\n </div>\r\n </div>\r\n <div class=\"tags-list-container\">\r\n <button class=\"tag-label add-tag\" (click)=\"showInput()\">\r\n <span class=\"icon plus-icon\" style=\"width: 0.75rem; height: 0.75rem;\"></span>\r\n <span>Add tag</span>\r\n </button>\r\n <input \r\n #tagInput\r\n id=\"enter-tag-input\" \r\n *ngIf=\"isAdding\"\r\n [(ngModel)]=\"newTag\"\r\n (blur)=\"onBlur()\"\r\n type=\"text\"\r\n class=\"add-tag-input\" \r\n placeholder=\"Enter tag...\"\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n </div>\r\n\r\n <div class=\"device-info-part\">\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Issues & Information</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"description\">\r\n <i class=\"icon check-icon rem1\" style=\"filter: invert(26%) sepia(27%) saturate(1093%) hue-rotate(114deg) brightness(93%) contrast(90%);\"></i>\r\n <span class=\"text-description\">No reported issues at this time</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Hoteling</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <span class=\"text-description\">Allow this device to be used as a Hoteling Host by visiting guests.</span>\r\n <div class=\"toggle-wrapper\">\r\n <mat-slide-toggle class=\"custom-toggle\" name=\"logMissedCalls\" [formControl]=\"hotelingEnabled\"></mat-slide-toggle>\r\n <i class=\"icon info-icon rem1\" \r\n style=\"filter: invert(20%) sepia(99%) saturate(2065%) hue-rotate(197deg) brightness(92%) contrast(101%);\"\r\n [matTooltip]=\"'Enabling this device for Hoteling means that a guest (end user) can log into this host (workspace phone) and use this phone as if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and to access features normally available to them on their own office phone.'\"\r\n ></i>\r\n </div>\r\n <span class=\"text-description\">Limit the time a guest can use this phone to</span>\r\n <mat-select [formControl]=\"guestHoursLimit\">\r\n <mat-option *ngFor=\"let type of HOTELING_TIME_HOURS\" [value]=\"type\">\r\n {{type}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Device Management</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <p class=\"text-description\">The users and workspaces that appear on this device are displayed below in the order of appearance.</p>\r\n <div class=\"flex-column\">\r\n <span class=\"text-description\">To add and remove users and workspaces, select <b>Configure Lines.</b></span>\r\n <span class=\"text-description\">To customize the programmable Line Keys, select <b>Configure Layout.</b></span>\r\n <span class=\"text-description\">To set up the display settings and dialing options, select <b>Device Settings</b>.</span>\r\n </div>\r\n <table style=\"border-collapse:collapse;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Index #</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Name</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Number/Extension</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Appearances</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Registered</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"device?.lines && device?.lines.length\">\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\"\r\n \r\n *ngFor=\"let line of device.lines; let i = index\">\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\"></span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">{{line?.name}}</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <div style=\"width: 120px;\"\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onNumberChange($event, i)\">\r\n {{ line?.number || 'NA' }}\r\n </div> \r\n <span> &nbsp;/&nbsp; </span>\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionChange($event, i)\">\r\n {{ line?.extension }}\r\n </span> -->\r\n <app-device-associated-line-extension\r\n [control]=\"linesControls.at(i)\"\r\n [routePartition]=\"line.routePartitionName\"\r\n [directoryNumber]=\"line.directoryNumber\"\r\n [siteId]=\"siteId\"\r\n (onChange)=\"onExtensionChange($event, i)\">\r\n </app-device-associated-line-extension>\r\n </div>\r\n \r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">1</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <i class=\"icon warning-icon rem1\" [matTooltip]=\"'Unregistered'\"></i>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </tbody>\r\n </table>\r\n <div class=\"totals\">\r\n <span class=\"text-description\">15 of 16 total lines available</span>\r\n </div>\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Lines</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Layout</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Device Settings</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Support</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Meetings & Calls</span>\r\n <span class=\"label new\">New</span>\r\n <i class=\"icon info-icon rem1\"\r\n [matTooltip]=\"'Troubleshooting provides details about the device related to status, network activity, and call information.'\"\r\n ></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Go to troubleshooting</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Device Logs</span>\r\n <i class=\"icon info-icon rem1\" [matTooltip]=\"'Generate device logs and download them to your computer.'\"></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n \r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host :ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px;max-width:175px;margin-left:2.75rem;border:2px solid gray;padding:.25rem .75rem;border-radius:8px}:host ::ng-deep .mat-option{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;line-height:48px!important;height:48px!important;padding:0 10px!important;text-align:left!important;text-decoration:none!important;position:relative!important;cursor:pointer!important;outline:none!important;display:flex!important;flex-direction:row!important;max-width:100%!important;box-sizing:border-box!important;align-items:center!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}:host ::ng-deep .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#bfe3ff;color:#000}:host ::ng-deep .mat-select-panel .mat-option:not(.search-input):hover{background:#daedfc}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-tab-group{font-family:Inter,sans-serif}:host ::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}:host ::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}:host ::ng-deep .mat-tab-labels{gap:30px}:host ::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-right%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22arrow-left%22%3E%0D%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;margin-left:.5rem;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}.device-info{display:flex;gap:1rem;padding:1.5rem}.device-info .device-info-part{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.device-info .device-info-part .card{display:flex;flex-direction:column;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#ffffff;min-width:0}.device-info .device-info-part .card .header{display:flex;align-items:center;justify-content:space-between}.device-info .device-info-part .card .header .title{font-weight:500;font-size:1rem;font-family:Poppins,Poppins,sans-serif}.device-info .device-info-part .card .main-content{display:flex;flex-direction:column;min-width:0}.device-info .device-info-part .card .main-content .detail-row{display:flex;flex:1;padding:1rem 0;min-width:0}.device-info .device-info-part .card .main-content .detail-row .side{display:flex;flex-direction:column;flex:1}.device-info .device-info-part .card .main-content .detail-row .side .main-value{font-weight:500;font-size:.875rem}.device-info .device-info-part .card .main-content .detail-row .side .extra-info{font-weight:350;font-size:.75rem}.device-info .device-info-part .card .main-content .detail-row .description{display:flex;gap:.5rem;align-items:center}.device-info .device-info-part .card .main-content .detail-row .toggle-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.device-info .device-info-part .card .main-content .detail-row .configure-lines{display:flex;flex-direction:column}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line{display:flex;align-items:center;justify-content:space-between;flex:1;padding:.5rem 0}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div{gap:.5rem;display:flex;align-items:center}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label{display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid transparent;border-radius:.25rem;line-height:1;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label.new{font-size:.75rem;border-color:#30c9b0;background-color:#e9f7f3;color:#12615a}.device-info .device-info-part .card .main-content .tags-list-container{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}.device-info .device-info-part .card .main-content .tags-list-container .tag-label{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;gap:.5rem;height:40px;font-size:smaller;max-width:100%;min-width:0;overflow:hidden}.device-info .device-info-part .card .main-content .tags-list-container .tag-label .tag-desccription{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;height:40px;font-size:smaller;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important;margin-left:-99px}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input:focus-visible{outline:none}.device-info .device-info-part .card .main-content .add-tag{background-color:#fff!important}.device-info .device-info-part .card .main-content .add-tag:hover{color:#0353a8!important}.flex-column{display:flex;flex-direction:column}.gap-0_75{gap:.75rem}.text-description{font-size:.875rem;font-weight:400}.icon{background-repeat:no-repeat;background-position:center;display:inline-block;background-size:contain}.icon-bordered-wrapper{display:flex;inline-size:1.5rem;border-radius:50rem;border:1px solid rgba(0,0,0,.5019607843);width:1.5rem;height:1.5rem;align-items:center;justify-content:center;cursor:pointer}.configure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 10.25A5.75 5.75 0 1 0 21.75 16 5.756 5.756 0 0 0 16 10.25m0 10a4.25 4.25 0 1 1 0-8.5 4.25 4.25 0 0 1 0 8.5M28 13.25H25.67a.25.25 0 0 1-.231-.155l-.667-1.633a.25.25 0 0 1 .057-.273l1.66-1.631a1.75 1.75 0 0 0 .024-2.475l-1.4-1.427a1.753 1.753 0 0 0-2.476-.024l-1.665 1.635a.25.25 0 0 1-.273.053l-1.796-.754a.25.25 0 0 1-.154-.23V4A1.75 1.75 0 0 0 17 2.25h-2A1.75 1.75 0 0 0 13.25 4v2.331a.25.25 0 0 1-.155.232l-1.714.71a.25.25 0 0 1-.273-.054L9.459 5.571a1.75 1.75 0 0 0-2.475 0L5.57 6.985a1.75 1.75 0 0 0 0 2.474l1.65 1.649a.25.25 0 0 1 .054.272l-.712 1.716a.25.25 0 0 1-.23.154H4A1.75 1.75 0 0 0 2.25 15v2A1.75 1.75 0 0 0 4 18.75h2.332a.25.25 0 0 1 .23.155l.71 1.713a.25.25 0 0 1-.053.274L5.57 22.54a1.75 1.75 0 0 0 0 2.476l1.415 1.414a1.75 1.75 0 0 0 2.476 0l1.648-1.65a.25.25 0 0 1 .272-.054l1.716.712a.25.25 0 0 1 .153.23V28A1.75 1.75 0 0 0 15 29.75h2A1.75 1.75 0 0 0 18.75 28v-2.332a.25.25 0 0 1 .156-.231l1.715-.71a.25.25 0 0 1 .272.054l1.649 1.649a1.753 1.753 0 0 0 2.474 0l1.416-1.415a1.753 1.753 0 0 0-.002-2.475l-1.648-1.648a.25.25 0 0 1-.055-.273l.712-1.715a.25.25 0 0 1 .23-.154H28A1.75 1.75 0 0 0 29.75 17v-2A1.75 1.75 0 0 0 28 13.25m.25 3.75a.25.25 0 0 1-.25.25h-2.331a1.74 1.74 0 0 0-1.617 1.08l-.712 1.716a1.75 1.75 0 0 0 .38 1.907L25.37 23.6a.25.25 0 0 1 0 .355l-1.414 1.414a.25.25 0 0 1-.273.054.3.3 0 0 1-.08-.054l-1.65-1.65a1.74 1.74 0 0 0-1.907-.379l-1.713.71a1.74 1.74 0 0 0-1.082 1.617V28a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-2.332a1.74 1.74 0 0 0-1.08-1.616l-1.716-.712a1.74 1.74 0 0 0-1.907.38L8.4 25.37a.25.25 0 0 1-.355 0L6.63 23.955a.25.25 0 0 1 0-.354l1.65-1.648a1.745 1.745 0 0 0 .379-1.908l-.71-1.714a1.74 1.74 0 0 0-1.617-1.08H4a.25.25 0 0 1-.25-.25v-2a.25.25 0 0 1 .25-.25h2.332a1.74 1.74 0 0 0 1.616-1.082l.712-1.715a1.75 1.75 0 0 0-.38-1.907L6.63 8.4a.25.25 0 0 1 0-.354l1.414-1.414a.25.25 0 0 1 .355 0l1.648 1.649a1.74 1.74 0 0 0 1.908.379l1.713-.71A1.74 1.74 0 0 0 14.75 6.33v-2.33a.25.25 0 0 1 .25-.25h2a.25.25 0 0 1 .25.25v2.334a1.75 1.75 0 0 0 1.073 1.614l1.796.754a1.75 1.75 0 0 0 1.903-.364h.001l1.666-1.636a.255.255 0 0 1 .355.003l1.4 1.428a.25.25 0 0 1-.004.354l-1.66 1.63a1.745 1.745 0 0 0-.396 1.91l.668 1.636a1.74 1.74 0 0 0 1.62 1.086H28a.25.25 0 0 1 .25.25z%22%2F%3E%3C%2Fsvg%3E\")}.arrow-right-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m22.53 15.47-12-12a.75.75 0 1 0-1.06 1.06L20.94 16 9.47 27.47a.75.75 0 1 0 1.06 1.06l12-12a.75.75 0 0 0 0-1.06%22%2F%3E%3C%2Fsvg%3E\")}.check-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 2.25A13.75 13.75 0 1 0 29.75 16 13.765 13.765 0 0 0 16 2.25m0 26A12.25 12.25 0 1 1 28.25 16 12.264 12.264 0 0 1 16 28.25M20.512 12.43l-6.472 5.547-2.509-2.521a.75.75 0 0 0-1.062 1.058l3 3.015a.75.75 0 0 0 1.02.04l7-6a.75.75 0 1 0-.977-1.139%22%2F%3E%3C%2Fsvg%3E\")}.info-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M15.75 10.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16.75 14.5a.75.75 0 0 0-.75-.75h-2a.75.75 0 0 0 0 1.5h1.25v7H13a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-2.25zM2.25 16C2.25 8.406 8.406 2.25 16 2.25S29.75 8.406 29.75 16 23.594 29.75 16 29.75 2.25 23.594 2.25 16M16 3.75C9.235 3.75 3.75 9.235 3.75 16S9.235 28.25 16 28.25 28.25 22.765 28.25 16 22.765 3.75 16 3.75%22%2F%3E%3C%2Fsvg%3E\")}.warning-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M29.379 23.624 18.382 4.625a2.75 2.75 0 0 0-4.764 0l-11 19A2.75 2.75 0 0 0 5 27.75h21.997a2.75 2.75 0 0 0 2.382-4.126m-1.3 2.001a1.24 1.24 0 0 1-1.082.625H5a1.25 1.25 0 0 1-1.082-1.874l10.999-19A1.25 1.25 0 0 1 16 4.75a1.25 1.25 0 0 1 1.083.626l10.997 19a1.24 1.24 0 0 1 0 1.25M16 23.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16 19.75a.75.75 0 0 0 .75-.75v-7a.75.75 0 1 0-1.5 0v7a.75.75 0 0 0 .75.75%22%2F%3E%3C%2Fsvg%3E\")}.plus-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M26 15.25h-9.25V6a.75.75 0 1 0-1.5 0v9.25H6a.75.75 0 1 0 0 1.5h9.25V26a.75.75 0 1 0 1.5 0v-9.25H26a.75.75 0 1 0 0-1.5%22%2F%3E%3C%2Fsvg%3E\")}.close-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m17.06 16 8.47-8.47a.75.75 0 0 0-.242-1.224.75.75 0 0 0-.819.163L16 14.94 7.53 6.47A.75.75 0 1 0 6.47 7.53L14.94 16l-8.47 8.47a.75.75 0 0 0 1.06 1.06L16 17.06l8.47 8.47a.75.75 0 1 0 1.06-1.06z%22%2F%3E%3C%2Fsvg%3E\")}.rem1{height:1rem;width:1rem}.rem1-25{height:1.25rem;width:1.25rem}\n"] }]
153
+ args: [{ selector: 'app-device-manage-widget', template: "\r\n\r\n<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!dataPending\">\r\n <!-- <div class=\"go-back-box\" (click)=\"onGoBack()\"> -->\r\n <div class=\"go-back-box\">\r\n <div class=\"go-back-box-container\">\r\n <span class=\"app-icon icon-webex-left-arrow\"></span>\r\n <span class=\"go-back-title\">Devices</span>\r\n </div>\r\n </div>\r\n\r\n <app-device-info \r\n [device]=\"device\" \r\n [firstName]=\"firstName\" \r\n [lastName]=\"lastName\"\r\n (onclickBack)=\"onGoBack()\"\r\n >\r\n \r\n </app-device-info>\r\n <div class=\"device-info\">\r\n\r\n <div class=\"device-info-part\">\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Details</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('maxLineCount')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Lines</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ (form?.get('macAddress')?.value | macAddress) || 'N/A' }}</span>\r\n <span class=\"extra-info\">MAC address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('ipAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Host IP address</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('remoteIpAddress')?.value || 'N/A' }}</span>\r\n <span class=\"extra-info\">Remote IP address</span>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">Cisco</span>\r\n <span class=\"extra-info\">Managed By</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Software</span>\r\n <div class=\"icon-bordered-wrapper\">\r\n <i class=\"icon configure-icon rem1\"></i>\r\n </div>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"side left-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareVersion')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software Channel</span>\r\n </div>\r\n <div class=\"side right-part\">\r\n <span class=\"main-value\">{{ form?.get('softwareChannel')?.value || 'N/A'}}</span>\r\n <span class=\"extra-info\">Software version</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Tags</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div class=\"tags-list-container\">\r\n <div *ngFor=\"let tag of tags; let i = index\" class=\"tag-label\">\r\n <span class=\"tag-desccription\">{{ tag }}</span>\r\n <i class=\"icon close-icon\" (click)=\"removeTag(i)\" style=\"width: 0.75rem; height: 0.75rem; flex: 0 0 auto;\"></i>\r\n </div>\r\n </div>\r\n <div class=\"tags-list-container\">\r\n <button class=\"tag-label add-tag\" (click)=\"showInput()\">\r\n <span class=\"icon plus-icon\" style=\"width: 0.75rem; height: 0.75rem;\"></span>\r\n <span>Add tag</span>\r\n </button>\r\n <input \r\n #tagInput\r\n id=\"enter-tag-input\" \r\n *ngIf=\"isAdding\"\r\n [(ngModel)]=\"newTag\"\r\n (blur)=\"onBlur()\"\r\n type=\"text\"\r\n class=\"add-tag-input\" \r\n placeholder=\"Enter tag...\"\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n </div>\r\n\r\n <div class=\"device-info-part\">\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Issues & Information</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row\">\r\n <div class=\"description\">\r\n <i class=\"icon check-icon rem1\" style=\"filter: invert(26%) sepia(27%) saturate(1093%) hue-rotate(114deg) brightness(93%) contrast(90%);\"></i>\r\n <span class=\"text-description\">No reported issues at this time</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Hoteling</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <span class=\"text-description\">Allow this device to be used as a Hoteling Host by visiting guests.</span>\r\n <div class=\"toggle-wrapper\">\r\n <mat-slide-toggle class=\"custom-toggle\" name=\"logMissedCalls\" [formControl]=\"hotelingEnabled\"></mat-slide-toggle>\r\n <i class=\"icon info-icon rem1\" \r\n style=\"filter: invert(20%) sepia(99%) saturate(2065%) hue-rotate(197deg) brightness(92%) contrast(101%);\"\r\n [matTooltip]=\"'Enabling this device for Hoteling means that a guest (end user) can log into this host (workspace phone) and use this phone as if it were their own. This is useful when traveling to a remote office but still needing to place/receive calls with their telephone number and to access features normally available to them on their own office phone.'\"\r\n ></i>\r\n </div>\r\n <span class=\"text-description\">Limit the time a guest can use this phone to</span>\r\n <mat-select [formControl]=\"guestHoursLimit\">\r\n <mat-option *ngFor=\"let type of HOTELING_TIME_HOURS\" [value]=\"type\">\r\n {{type}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Device Management</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <p class=\"text-description\">The users and workspaces that appear on this device are displayed below in the order of appearance.</p>\r\n <div class=\"flex-column\">\r\n <span class=\"text-description\">To add and remove users and workspaces, select <b>Configure Lines.</b></span>\r\n <span class=\"text-description\">To customize the programmable Line Keys, select <b>Configure Layout.</b></span>\r\n <span class=\"text-description\">To set up the display settings and dialing options, select <b>Device Settings</b>.</span>\r\n </div>\r\n <table style=\"border-collapse:collapse;\">\r\n <thead>\r\n <tr style=\"background:#ededed;\">\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Index #</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Name</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Number/Extension</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Appearances</th>\r\n <th style=\"padding:10px 16px; font-size:.75rem; font-weight:400; color:#545454; text-align:left; border-bottom:1px solid #e8e8e8;\">Registered</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"device?.lines && device?.lines.length\">\r\n <tr style=\"background:#fff; cursor:pointer;\" onmouseover=\"this.style.background='#fafafa'\" onmouseout=\"this.style.background='#fff'\"\r\n \r\n *ngFor=\"let line of device.lines; let i = index\">\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\"></span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">{{line?.name}}</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <div style=\"width: 120px;\"\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onNumberChange($event, i)\">\r\n {{ line?.number || 'NA' }}\r\n </div> \r\n <span> &nbsp;/&nbsp; </span>\r\n <!-- <span\r\n [attr.contenteditable]=\"!isWebex\"\r\n (blur)=\"onExtensionChange($event, i)\">\r\n {{ line?.extension }}\r\n </span> -->\r\n <app-device-associated-line-extension\r\n [control]=\"linesControls.at(i)\"\r\n [routePartition]=\"line.routePartitionName\"\r\n [directoryNumber]=\"line.directoryNumber\"\r\n [siteId]=\"siteId\"\r\n (onChange)=\"onExtensionChange($event, i)\">\r\n </app-device-associated-line-extension>\r\n </div>\r\n \r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <span style=\"display:inline-block; color:#000000f2; padding:4px 14px; font-size:.875rem; font-weight:400;\">1</span>\r\n </td>\r\n <td style=\"padding: .25rem 1.25rem .25rem .75rem;; border-bottom:1px solid #e8e8e8;\">\r\n <i class=\"icon warning-icon rem1\" [matTooltip]=\"'Unregistered'\"></i>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </tbody>\r\n </table>\r\n <div class=\"totals\">\r\n <span class=\"text-description\">15 of 16 total lines available</span>\r\n </div>\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Lines</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Configure Layout</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <i class=\"icon configure-icon rem1-25\"></i>\r\n <span class=\"text-description\">Device Settings</span>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"card\">\r\n <div class=\"header\">\r\n <span class=\"title\">Support</span>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"detail-row flex-column gap-0_75\">\r\n <div class=\"configure-lines\">\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Meetings & Calls</span>\r\n <span class=\"label new\">New</span>\r\n <i class=\"icon info-icon rem1\"\r\n [matTooltip]=\"'Troubleshooting provides details about the device related to status, network activity, and call information.'\"\r\n ></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Go to troubleshooting</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div class=\"line\">\r\n <div>\r\n <span class=\"text-description\">Device Logs</span>\r\n <i class=\"icon info-icon rem1\" [matTooltip]=\"'Generate device logs and download them to your computer.'\"></i>\r\n </div>\r\n <div style=\"cursor: pointer\">\r\n <span class=\"text-description\" style=\"font-weight: 500;\">Manage</span>\r\n <i class=\"icon arrow-right-icon rem1-25\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n \r\n</div>", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}:host ::ng-deep .mat-form-field-wrapper{height:30px}:host ::ng-deep .mat-form-field-flex{height:30px}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:host :ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}:host ::ng-deep .mat-select{line-height:20px;max-width:175px;margin-left:2.75rem;border:2px solid gray;padding:.25rem .75rem;border-radius:8px}:host ::ng-deep .mat-option{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;line-height:48px!important;height:48px!important;padding:0 10px!important;text-align:left!important;text-decoration:none!important;position:relative!important;cursor:pointer!important;outline:none!important;display:flex!important;flex-direction:row!important;max-width:100%!important;box-sizing:border-box!important;align-items:center!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}:host ::ng-deep .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#bfe3ff;color:#000}:host ::ng-deep .mat-select-panel .mat-option:not(.search-input):hover{background:#daedfc}:host ::ng-deep .mat-form-field-infix{border-top:0px!important}:host ::ng-deep .mat-tab-group{font-family:Inter,sans-serif}:host ::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}:host ::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}:host ::ng-deep .mat-tab-labels{gap:30px}:host ::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.app-icon{transition:all .15s ease-out}.icon-webex-right-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2220%22 height%3D%2220%22 viewBox%3D%220 0 20 20%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg id%3D%22arrow-right%22%3E%3Cpath id%3D%22Vector%22 d%3D%22M14.0812 9.66902L6.58119 2.16902C6.53813 2.12351 6.48638 2.0871 6.429 2.06193C6.37162 2.03677 6.30978 2.02336 6.24713 2.0225C6.18448 2.02165 6.1223 2.03336 6.06425 2.05695C6.00621 2.08053 5.95348 2.11552 5.90919 2.15983C5.8649 2.20415 5.82994 2.25689 5.80638 2.31495C5.78282 2.373 5.77113 2.43519 5.77202 2.49784C5.77291 2.56049 5.78634 2.62232 5.81153 2.67969C5.83673 2.73705 5.87316 2.78879 5.91869 2.83183L13.0874 10.0003L5.91869 17.169C5.87316 17.2121 5.83673 17.2638 5.81153 17.3212C5.78634 17.3785 5.77291 17.4404 5.77202 17.503C5.77113 17.5657 5.78282 17.6279 5.80638 17.6859C5.82994 17.744 5.8649 17.7967 5.90919 17.841C5.95348 17.8853 6.00621 17.9203 6.06425 17.9439C6.1223 17.9675 6.18448 17.9792 6.24713 17.9783C6.30978 17.9775 6.37162 17.9641 6.429 17.9389C6.48638 17.9138 6.53813 17.8773 6.58119 17.8318L14.0812 10.3318C14.1691 10.2439 14.2184 10.1247 14.2184 10.0004C14.2184 9.87613 14.1691 9.75692 14.0812 9.66902Z%22 fill%3D%22%230F0F0F%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.icon-webex-left-arrow{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg id%3D%22arrow-left%22%3E%3Cpath id%3D%22Vector%22 d%3D%22M5.70746 7.99987L11.3539 2.35352C11.4453 2.25928 11.496 2.13287 11.495 2.00159C11.494 1.8703 11.4414 1.74467 11.3486 1.65183C11.2558 1.55899 11.1301 1.50639 10.9988 1.50539C10.8676 1.50438 10.7411 1.55506 10.6469 1.64647L4.64691 7.64647C4.55316 7.74023 4.50049 7.8674 4.50049 7.99999C4.50049 8.13259 4.55316 8.25975 4.64691 8.35352L10.6469 14.3535C10.6931 14.4011 10.7482 14.439 10.8092 14.4651C10.8702 14.4912 10.9357 14.5049 11.002 14.5054C11.0683 14.5059 11.134 14.4932 11.1954 14.468C11.2567 14.4429 11.3125 14.4058 11.3593 14.3589C11.4062 14.312 11.4433 14.2563 11.4685 14.1949C11.4936 14.1336 11.5063 14.0679 11.5058 14.0016C11.5053 13.9353 11.4916 13.8697 11.4655 13.8088C11.4394 13.7478 11.4015 13.6926 11.3539 13.6465L5.70746 7.99987Z%22 fill%3D%22black%22 fill-opacity%3D%220.95%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.go-back-box{background:white;border-bottom:rgba(0,0,0,.2) 1px solid;height:60px;width:100%;line-height:60px;cursor:pointer}.go-back-box-container{width:95%;margin:auto;margin-left:.5rem;display:flex;justify-content:flex-start}.go-back-box-container .icon-webex-left-arrow,.go-back-box-container .go-back-title{display:block;height:60px}.go-back-box-container .go-back-title{line-height:61px}.go-back-title{display:inline-block;margin:0 10px}.device-info{display:flex;gap:1rem;padding:1.5rem}.device-info .device-info-part{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.device-info .device-info-part .card{display:flex;flex-direction:column;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;background:#ffffff;min-width:0}.device-info .device-info-part .card .header{display:flex;align-items:center;justify-content:space-between}.device-info .device-info-part .card .header .title{font-weight:500;font-size:1rem;font-family:Poppins,Poppins,sans-serif}.device-info .device-info-part .card .main-content{display:flex;flex-direction:column;min-width:0}.device-info .device-info-part .card .main-content .detail-row{display:flex;flex:1;padding:1rem 0;min-width:0}.device-info .device-info-part .card .main-content .detail-row .side{display:flex;flex-direction:column;flex:1}.device-info .device-info-part .card .main-content .detail-row .side .main-value{font-weight:500;font-size:.875rem}.device-info .device-info-part .card .main-content .detail-row .side .extra-info{font-weight:350;font-size:.75rem}.device-info .device-info-part .card .main-content .detail-row .description{display:flex;gap:.5rem;align-items:center}.device-info .device-info-part .card .main-content .detail-row .toggle-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.device-info .device-info-part .card .main-content .detail-row .configure-lines{display:flex;flex-direction:column}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line{display:flex;align-items:center;justify-content:space-between;flex:1;padding:.5rem 0}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div{gap:.5rem;display:flex;align-items:center}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label{display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid transparent;border-radius:.25rem;line-height:1;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .detail-row .configure-lines .line>div .label.new{font-size:.75rem;border-color:#30c9b0;background-color:#e9f7f3;color:#12615a}.device-info .device-info-part .card .main-content .tags-list-container{display:flex;gap:.5rem;flex-wrap:wrap;min-width:0}.device-info .device-info-part .card .main-content .tags-list-container .tag-label{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;gap:.5rem;height:40px;font-size:smaller;max-width:100%;min-width:0;overflow:hidden}.device-info .device-info-part .card .main-content .tags-list-container .tag-label .tag-desccription{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input{border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;padding:8px 12px;border-radius:25px;color:#000000b3;background-color:#ededed;font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;height:40px;font-size:smaller;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important;margin-left:-99px}.device-info .device-info-part .card .main-content .tags-list-container .add-tag-input:focus-visible{outline:none}.device-info .device-info-part .card .main-content .add-tag{background-color:#fff!important}.device-info .device-info-part .card .main-content .add-tag:hover{color:#0353a8!important}.flex-column{display:flex;flex-direction:column}.gap-0_75{gap:.75rem}.text-description{font-size:.875rem;font-weight:400}.icon{background-repeat:no-repeat;background-position:center;display:inline-block;background-size:contain}.icon-bordered-wrapper{display:flex;inline-size:1.5rem;border-radius:50rem;border:1px solid rgba(0,0,0,.5019607843);width:1.5rem;height:1.5rem;align-items:center;justify-content:center;cursor:pointer}.configure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 10.25A5.75 5.75 0 1 0 21.75 16 5.756 5.756 0 0 0 16 10.25m0 10a4.25 4.25 0 1 1 0-8.5 4.25 4.25 0 0 1 0 8.5M28 13.25H25.67a.25.25 0 0 1-.231-.155l-.667-1.633a.25.25 0 0 1 .057-.273l1.66-1.631a1.75 1.75 0 0 0 .024-2.475l-1.4-1.427a1.753 1.753 0 0 0-2.476-.024l-1.665 1.635a.25.25 0 0 1-.273.053l-1.796-.754a.25.25 0 0 1-.154-.23V4A1.75 1.75 0 0 0 17 2.25h-2A1.75 1.75 0 0 0 13.25 4v2.331a.25.25 0 0 1-.155.232l-1.714.71a.25.25 0 0 1-.273-.054L9.459 5.571a1.75 1.75 0 0 0-2.475 0L5.57 6.985a1.75 1.75 0 0 0 0 2.474l1.65 1.649a.25.25 0 0 1 .054.272l-.712 1.716a.25.25 0 0 1-.23.154H4A1.75 1.75 0 0 0 2.25 15v2A1.75 1.75 0 0 0 4 18.75h2.332a.25.25 0 0 1 .23.155l.71 1.713a.25.25 0 0 1-.053.274L5.57 22.54a1.75 1.75 0 0 0 0 2.476l1.415 1.414a1.75 1.75 0 0 0 2.476 0l1.648-1.65a.25.25 0 0 1 .272-.054l1.716.712a.25.25 0 0 1 .153.23V28A1.75 1.75 0 0 0 15 29.75h2A1.75 1.75 0 0 0 18.75 28v-2.332a.25.25 0 0 1 .156-.231l1.715-.71a.25.25 0 0 1 .272.054l1.649 1.649a1.753 1.753 0 0 0 2.474 0l1.416-1.415a1.753 1.753 0 0 0-.002-2.475l-1.648-1.648a.25.25 0 0 1-.055-.273l.712-1.715a.25.25 0 0 1 .23-.154H28A1.75 1.75 0 0 0 29.75 17v-2A1.75 1.75 0 0 0 28 13.25m.25 3.75a.25.25 0 0 1-.25.25h-2.331a1.74 1.74 0 0 0-1.617 1.08l-.712 1.716a1.75 1.75 0 0 0 .38 1.907L25.37 23.6a.25.25 0 0 1 0 .355l-1.414 1.414a.25.25 0 0 1-.273.054.3.3 0 0 1-.08-.054l-1.65-1.65a1.74 1.74 0 0 0-1.907-.379l-1.713.71a1.74 1.74 0 0 0-1.082 1.617V28a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-2.332a1.74 1.74 0 0 0-1.08-1.616l-1.716-.712a1.74 1.74 0 0 0-1.907.38L8.4 25.37a.25.25 0 0 1-.355 0L6.63 23.955a.25.25 0 0 1 0-.354l1.65-1.648a1.745 1.745 0 0 0 .379-1.908l-.71-1.714a1.74 1.74 0 0 0-1.617-1.08H4a.25.25 0 0 1-.25-.25v-2a.25.25 0 0 1 .25-.25h2.332a1.74 1.74 0 0 0 1.616-1.082l.712-1.715a1.75 1.75 0 0 0-.38-1.907L6.63 8.4a.25.25 0 0 1 0-.354l1.414-1.414a.25.25 0 0 1 .355 0l1.648 1.649a1.74 1.74 0 0 0 1.908.379l1.713-.71A1.74 1.74 0 0 0 14.75 6.33v-2.33a.25.25 0 0 1 .25-.25h2a.25.25 0 0 1 .25.25v2.334a1.75 1.75 0 0 0 1.073 1.614l1.796.754a1.75 1.75 0 0 0 1.903-.364h.001l1.666-1.636a.255.255 0 0 1 .355.003l1.4 1.428a.25.25 0 0 1-.004.354l-1.66 1.63a1.745 1.745 0 0 0-.396 1.91l.668 1.636a1.74 1.74 0 0 0 1.62 1.086H28a.25.25 0 0 1 .25.25z%22%2F%3E%3C%2Fsvg%3E\")}.arrow-right-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m22.53 15.47-12-12a.75.75 0 1 0-1.06 1.06L20.94 16 9.47 27.47a.75.75 0 1 0 1.06 1.06l12-12a.75.75 0 0 0 0-1.06%22%2F%3E%3C%2Fsvg%3E\")}.check-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M16 2.25A13.75 13.75 0 1 0 29.75 16 13.765 13.765 0 0 0 16 2.25m0 26A12.25 12.25 0 1 1 28.25 16 12.264 12.264 0 0 1 16 28.25M20.512 12.43l-6.472 5.547-2.509-2.521a.75.75 0 0 0-1.062 1.058l3 3.015a.75.75 0 0 0 1.02.04l7-6a.75.75 0 1 0-.977-1.139%22%2F%3E%3C%2Fsvg%3E\")}.info-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M15.75 10.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16.75 14.5a.75.75 0 0 0-.75-.75h-2a.75.75 0 0 0 0 1.5h1.25v7H13a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-2.25zM2.25 16C2.25 8.406 8.406 2.25 16 2.25S29.75 8.406 29.75 16 23.594 29.75 16 29.75 2.25 23.594 2.25 16M16 3.75C9.235 3.75 3.75 9.235 3.75 16S9.235 28.25 16 28.25 28.25 22.765 28.25 16 22.765 3.75 16 3.75%22%2F%3E%3C%2Fsvg%3E\")}.warning-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M29.379 23.624 18.382 4.625a2.75 2.75 0 0 0-4.764 0l-11 19A2.75 2.75 0 0 0 5 27.75h21.997a2.75 2.75 0 0 0 2.382-4.126m-1.3 2.001a1.24 1.24 0 0 1-1.082.625H5a1.25 1.25 0 0 1-1.082-1.874l10.999-19A1.25 1.25 0 0 1 16 4.75a1.25 1.25 0 0 1 1.083.626l10.997 19a1.24 1.24 0 0 1 0 1.25M16 23.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2M16 19.75a.75.75 0 0 0 .75-.75v-7a.75.75 0 1 0-1.5 0v7a.75.75 0 0 0 .75.75%22%2F%3E%3C%2Fsvg%3E\")}.plus-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M26 15.25h-9.25V6a.75.75 0 1 0-1.5 0v9.25H6a.75.75 0 1 0 0 1.5h9.25V26a.75.75 0 1 0 1.5 0v-9.25H26a.75.75 0 1 0 0-1.5%22%2F%3E%3C%2Fsvg%3E\")}.close-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22m17.06 16 8.47-8.47a.75.75 0 0 0-.242-1.224.75.75 0 0 0-.819.163L16 14.94 7.53 6.47A.75.75 0 1 0 6.47 7.53L14.94 16l-8.47 8.47a.75.75 0 0 0 1.06 1.06L16 17.06l8.47 8.47a.75.75 0 1 0 1.06-1.06z%22%2F%3E%3C%2Fsvg%3E\")}.rem1{height:1rem;width:1rem}.rem1-25{height:1.25rem;width:1.25rem}\n"] }]
154
154
  }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.DeviceService }, { type: i3.APIService }, { type: i4.LineService }, { type: i5.SiteSettingsService }, { type: i6.ValidationService }, { type: i7.MatDialog }, { type: i8.DnsService }]; }, propDecorators: { onSave: [{
155
155
  type: Output
156
156
  }], onChange: [{
@@ -8,4 +8,4 @@ export const environment = {
8
8
  cashArrayLength: 10000,
9
9
  matomoUrl: 'http://192.168.0.136/matomo/',
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLG1DQUFtQztJQUNuQyxNQUFNLEVBQUUsMkJBQTJCO0lBQ25DLHFCQUFxQixFQUFFLEtBQUs7SUFDNUIseUJBQXlCLEVBQUUsS0FBSztJQUNoQyxjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsS0FBSztJQUN0QixTQUFTLEVBQUUsOEJBQThCO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XHJcbiAgcHJvZHVjdGlvbjogZmFsc2UsXHJcbiAgLy8gYXBpVXJsOiAnaHR0cDovL2xvY2FsaG9zdDo0MjAwJyxcclxuICBhcGlVcmw6ICdodHRwOi8vMTkyLjE2OC4wLjE5MTo4MDgwJyxcclxuICBub3RpZmljYXRpb25zTGlmZXRpbWU6IDMwMDAwLFxyXG4gIGxvbmdOb3RpZmljYXRpb25zTGlmZXRpbWU6IDQ1MDAwLFxyXG4gIGNhc2hDbGVhblRpbWVyOiA5MDAwMDAsXHJcbiAgY2FzaEFycmF5TGVuZ3RoOiAxMDAwMCxcclxuICBtYXRvbW9Vcmw6ICdodHRwOi8vMTkyLjE2OC4wLjEzNi9tYXRvbW8vJyxcclxufTtcclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLG1DQUFtQztJQUNuQyxNQUFNLEVBQUUsMkJBQTJCO0lBQ25DLHFCQUFxQixFQUFFLEtBQUs7SUFDNUIseUJBQXlCLEVBQUUsS0FBSztJQUNoQyxjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsS0FBSztJQUN0QixTQUFTLEVBQUUsOEJBQThCO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XG4gIHByb2R1Y3Rpb246IGZhbHNlLFxuICAvLyBhcGlVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnLFxuICBhcGlVcmw6ICdodHRwOi8vMTkyLjE2OC4wLjE5MTo4MDgwJyxcbiAgbm90aWZpY2F0aW9uc0xpZmV0aW1lOiAzMDAwMCxcbiAgbG9uZ05vdGlmaWNhdGlvbnNMaWZldGltZTogNDUwMDAsXG4gIGNhc2hDbGVhblRpbWVyOiA5MDAwMDAsXG4gIGNhc2hBcnJheUxlbmd0aDogMTAwMDAsXG4gIG1hdG9tb1VybDogJ2h0dHA6Ly8xOTIuMTY4LjAuMTM2L21hdG9tby8nLFxufTtcbiJdfQ==