@tuki-io/tuki-widgets 0.0.219-dev.53 → 0.0.219-dev.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/contact-center/cc-import/cc-import.module.d.ts +13 -0
- package/contact-center/cc-import/cc-import.service.d.ts +85 -0
- package/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.d.ts +56 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.d.ts +77 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.d.ts +3 -0
- package/contact-center/cc-import/constants/cc-import.constants.d.ts +37 -0
- package/contact-center/cc-import/mock/cc-import.mock.d.ts +4 -0
- package/contact-center/cc-import/types/cc-import.d.ts +73 -0
- package/contact-center/cc-import/types/uccx.d.ts +109 -0
- package/contact-center/cc-readiness/cc-readiness.module.d.ts +3 -3
- package/contact-center/public-api.d.ts +8 -0
- package/contact-center/shared/api.endpoints.d.ts +25 -0
- package/contact-center/shared/api.service.d.ts +3 -1
- package/contact-center/shared/components/card/card.component.d.ts +13 -0
- package/contact-center/shared/dcp-api.service.d.ts +15 -0
- package/contact-center/shared/shared.module.d.ts +11 -5
- package/esm2020/contact-center/cc-import/cc-import.module.mjs +45 -0
- package/esm2020/contact-center/cc-import/cc-import.service.mjs +228 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.mjs +144 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.mjs +243 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.mjs +3 -0
- package/esm2020/contact-center/cc-import/constants/cc-import.constants.mjs +62 -0
- package/esm2020/contact-center/cc-import/mock/cc-import.mock.mjs +78 -0
- package/esm2020/contact-center/cc-import/types/cc-import.mjs +2 -0
- package/esm2020/contact-center/cc-import/types/uccx.mjs +24 -0
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +7 -6
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +7 -7
- package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +2 -2
- package/esm2020/contact-center/public-api.mjs +9 -1
- package/esm2020/contact-center/shared/api.endpoints.mjs +26 -1
- package/esm2020/contact-center/shared/api.service.mjs +8 -3
- package/esm2020/contact-center/shared/components/card/card.component.mjs +24 -0
- package/esm2020/contact-center/shared/dcp-api.service.mjs +26 -0
- package/esm2020/contact-center/shared/shared.module.mjs +15 -5
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/lib/widgets.component.mjs +9 -9
- package/esm2020/lib/widgets.module.mjs +1 -1
- package/esm2020/lib/widgets.service.mjs +1 -1
- package/esm2020/locations/public-api.mjs +1 -1
- package/esm2020/locations/src/app.constants.mjs +1 -1
- package/esm2020/locations/src/location-confirm-dialog/location-confirm-dialog.component.mjs +3 -3
- package/esm2020/locations/src/locations.component.mjs +47 -15
- package/esm2020/locations/src/locations.module.mjs +1 -1
- package/esm2020/locations/src/material.module.mjs +1 -1
- package/esm2020/locations/src/services/api.service.mjs +1 -1
- package/esm2020/locations/src/services/locations.service.mjs +1 -1
- package/esm2020/locations/src/types/location.mjs +1 -1
- package/esm2020/locations/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/meetings/src/app.constants.mjs +1 -1
- package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +3 -3
- package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +3 -3
- package/esm2020/meetings/src/meetings.component.mjs +3 -3
- package/esm2020/meetings/src/meetings.module.mjs +1 -1
- package/esm2020/meetings/src/services/live-meetings.service.mjs +1 -1
- package/esm2020/meetings/src/services/meeting-spaces.service.mjs +1 -1
- package/esm2020/meetings/src/types/live-meeting.mjs +1 -1
- package/esm2020/meetings/src/types/meeting-space.mjs +1 -1
- package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/user-creation/src/app.constants.mjs +1 -1
- package/esm2020/user-creation/src/classes/notification.mjs +1 -1
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/environments/environment.mjs +1 -1
- package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
- package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
- package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-default-prefix.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
- package/esm2020/user-creation/src/utils/model.mjs +1 -1
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +1 -1
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
- package/esm2020/user-device-manage/public-api.mjs +4 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +9 -3
- package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +311 -0
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
- package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +34 -17
- package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +207 -0
- package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +401 -0
- package/esm2020/user-device-manage/src/material.module.mjs +1 -1
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/device.service.mjs +32 -2
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/user.service.mjs +34 -6
- package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +19 -4
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/public-api.mjs +1 -1
- package/esm2020/user-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
- package/esm2020/user-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-manage/src/material.module.mjs +1 -1
- package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dcp-api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
- package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
- package/esm2020/users-list/public-api.mjs +1 -1
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/app-location.mjs +1 -1
- package/esm2020/users-list/src/classes/device.mjs +1 -1
- package/esm2020/users-list/src/classes/line.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/classes/notification.mjs +1 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/table-data.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +1 -1
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
- package/esm2020/users-list/src/services/api.service.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
- package/esm2020/users-list/src/services/notification.service.mjs +1 -1
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
- package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
- package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
- package/esm2020/workspaces/public-api.mjs +1 -1
- package/esm2020/workspaces/src/app.constants.mjs +1 -1
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +17 -4
- package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +66 -0
- package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspaces-table/workspaces-table.component.mjs +6 -3
- package/esm2020/workspaces/src/material.module.mjs +1 -1
- package/esm2020/workspaces/src/services/api.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspace-detail.service.mjs +43 -1
- package/esm2020/workspaces/src/services/workspaces-migration.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspaces.service.mjs +2 -1
- package/esm2020/workspaces/src/types/workspace.mjs +1 -1
- package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/workspaces/src/utils/device-icon.mjs +1 -1
- package/esm2020/workspaces/src/workspaces.component.mjs +8 -8
- package/esm2020/workspaces/src/workspaces.module.mjs +4 -1
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +999 -128
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +51 -18
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +1029 -51
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +151 -25
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +990 -128
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +50 -18
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +1012 -50
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +142 -25
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/locations/src/locations.component.d.ts +7 -4
- package/locations/src/services/locations.service.d.ts +1 -0
- package/locations/src/types/location.d.ts +1 -0
- package/package.json +1 -1
- package/user-device-manage/public-api.d.ts +3 -0
- package/user-device-manage/src/app.constants.d.ts +6 -0
- package/user-device-manage/src/associate-lines/associate-lines.component.d.ts +95 -0
- package/user-device-manage/src/classes/device.d.ts +15 -0
- package/user-device-manage/src/classes/deviceProfile.d.ts +5 -0
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +1 -0
- package/user-device-manage/src/device-manage-widget.component.d.ts +6 -1
- package/user-device-manage/src/device-settings/device-settings.component.d.ts +53 -0
- package/user-device-manage/src/line-key-config/line-key-config.component.d.ts +84 -0
- package/user-device-manage/src/services/device.service.d.ts +6 -1
- package/user-device-manage/src/services/user.service.d.ts +2 -1
- package/user-device-manage/src/user-device-manage.module.d.ts +10 -7
- package/workspaces/src/components/workspace-detail/workspace-detail.component.d.ts +6 -1
- package/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.d.ts +25 -0
- package/workspaces/src/components/workspaces-table/workspaces-table.component.d.ts +1 -0
- package/workspaces/src/services/workspace-detail.service.d.ts +2 -0
- package/workspaces/src/types/workspace.d.ts +19 -0
- package/workspaces/src/workspaces.module.d.ts +8 -7
- package/contact-center/cc-readiness/components/card/card.component.d.ts +0 -6
- package/esm2020/contact-center/cc-readiness/components/card/card.component.mjs +0 -13
|
@@ -5,7 +5,8 @@ import * as i1 from "../../services/workspace-detail.service";
|
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
6
|
import * as i3 from "@angular/material/icon";
|
|
7
7
|
import * as i4 from "@angular/material/menu";
|
|
8
|
-
import * as i5 from "
|
|
8
|
+
import * as i5 from "../workspace-device-detail/workspace-device-detail.component";
|
|
9
|
+
import * as i6 from "../../utils/app-loader/app-loader";
|
|
9
10
|
export class WorkspaceDetailComponent {
|
|
10
11
|
constructor(workspaceDetailService, location) {
|
|
11
12
|
this.workspaceDetailService = workspaceDetailService;
|
|
@@ -13,6 +14,8 @@ export class WorkspaceDetailComponent {
|
|
|
13
14
|
this.connectionType = 'di';
|
|
14
15
|
this.back = new EventEmitter();
|
|
15
16
|
this.activeTab = 'overview';
|
|
17
|
+
this.view = 'overview';
|
|
18
|
+
this.selectedDevice = null;
|
|
16
19
|
this.details = null;
|
|
17
20
|
this.isLoading = false;
|
|
18
21
|
this.expandedIssueId = null;
|
|
@@ -62,15 +65,25 @@ export class WorkspaceDetailComponent {
|
|
|
62
65
|
this.location.replaceState('/workspaces');
|
|
63
66
|
this.back.emit();
|
|
64
67
|
}
|
|
68
|
+
onOpenDevice(device) {
|
|
69
|
+
this.selectedDevice = device;
|
|
70
|
+
this.view = 'device';
|
|
71
|
+
this.location.replaceState(`/workspaces/${this.deviceName}/device`);
|
|
72
|
+
}
|
|
73
|
+
onDeviceBack() {
|
|
74
|
+
this.view = 'overview';
|
|
75
|
+
this.selectedDevice = null;
|
|
76
|
+
this.updateUrl();
|
|
77
|
+
}
|
|
65
78
|
updateUrl() {
|
|
66
79
|
this.location.replaceState(`/workspaces/${this.deviceName}/${this.activeTab}`);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
WorkspaceDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, deps: [{ token: i1.WorkspaceDetailService }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__meta-pill\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n Capacity: {{ workspace.capacity ?? 'Not set' }}\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n Size not set\n </span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<app-loader *ngIf=\"isLoading\"></app-loader>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-row\">\n <div class=\"tk-workspace-detail__issue-info\">\n <div class=\"tk-workspace-detail__issue-message-row\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-actions\">\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__issue-toggle\"\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\n (click)=\"'void 0'\">\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n </div>\n </div>\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\n <p>{{ issue.description }}</p>\n <p>\n Suggested action:<br />\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\n </p>\n </div>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\n </div>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__no-devices\">\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <div>Schedule</div>\n </div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <!-- <mat-icon>location_on</mat-icon> -->\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\n\n <div class=\"tk-workspace-detail__numbers-content\">\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Directory number\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <table class=\"tk-workspace-detail__numbers-table\">\n <thead>\n <tr>\n <th>Type</th>\n <th>Phone Number</th>\n <th>Extension</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\n <td>\n {{ details.calling.directoryNumber }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td>\n {{ details.calling.extension || 'Not set' }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Caller ID\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>{{ callerIdLabel }}</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Emergency Calling\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>Not set</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n </div>\n </section>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.AppLoaderComponent, selector: "app-loader" }] });
|
|
83
|
+
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.WorkspaceDeviceDetailComponent, selector: "tk-workspace-device-detail", inputs: ["workspace", "device", "details", "isLoading"], outputs: ["back"] }, { kind: "component", type: i6.AppLoaderComponent, selector: "app-loader" }] });
|
|
71
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, decorators: [{
|
|
72
85
|
type: Component,
|
|
73
|
-
args: [{ selector: 'tk-workspace-detail', template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__meta-pill\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n Capacity: {{ workspace.capacity ?? 'Not set' }}\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n Size not set\n </span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<app-loader *ngIf=\"isLoading\"></app-loader>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-row\">\n <div class=\"tk-workspace-detail__issue-info\">\n <div class=\"tk-workspace-detail__issue-message-row\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-actions\">\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__issue-toggle\"\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\n (click)=\"'void 0'\">\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n </div>\n </div>\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\n <p>{{ issue.description }}</p>\n <p>\n Suggested action:<br />\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\n </p>\n </div>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\n </div>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__no-devices\">\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <div>Schedule</div>\n </div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <!-- <mat-icon>location_on</mat-icon> -->\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\n\n <div class=\"tk-workspace-detail__numbers-content\">\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Directory number\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <table class=\"tk-workspace-detail__numbers-table\">\n <thead>\n <tr>\n <th>Type</th>\n <th>Phone Number</th>\n <th>Extension</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\n <td>\n {{ details.calling.directoryNumber }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td>\n {{ details.calling.extension || 'Not set' }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Caller ID\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>{{ callerIdLabel }}</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Emergency Calling\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>Not set</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n </div>\n </section>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"] }]
|
|
86
|
+
args: [{ selector: 'tk-workspace-detail', template: "<ng-container *ngIf=\"view === 'overview'; else deviceDetailView\">\r\n<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\r\n Workspaces\r\n</button>\r\n\r\n<div class=\"tk-workspace-detail__header\">\r\n <span class=\"tk-workspace-detail__icon\">\r\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n </span>\r\n <div class=\"tk-workspace-detail__title-block\">\r\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\r\n <div class=\"tk-workspace-detail__meta\">\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Live status unavailable\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\r\n Capacity: {{ workspace.capacity ?? 'Not set' }}\r\n </span>\r\n <span class=\"tk-workspace-detail__meta-sep\"></span>\r\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\r\n Size not set\r\n </span>\r\n </div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\r\n Actions\r\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n <mat-menu #actionsMenu=\"matMenu\">\r\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\r\n </mat-menu>\r\n</div>\r\n\r\n<nav class=\"tk-workspace-detail__tabs\">\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\r\n (click)=\"selectTab('overview')\">\r\n Overview\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__tab\"\r\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\r\n (click)=\"selectTab('calling')\">\r\n Calling\r\n </button>\r\n</nav>\r\n\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"details\">\r\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\r\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\r\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\r\n There are currently no issues detected in your workspace.\r\n </div>\r\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\r\n <div class=\"tk-workspace-detail__issue-row\">\r\n <div class=\"tk-workspace-detail__issue-info\">\r\n <div class=\"tk-workspace-detail__issue-message-row\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-actions\">\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\r\n <button\r\n type=\"button\"\r\n class=\"tk-workspace-detail__issue-toggle\"\r\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\r\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\r\n (click)=\"'void 0'\">\r\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\r\n <p>{{ issue.description }}</p>\r\n <p>\r\n Suggested action:<br />\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\r\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\r\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\r\n <div class=\"tk-workspace-detail__device-info\">\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\" (click)=\"onOpenDevice(device)\">{{ device.label }}</a>\r\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\r\n </div>\r\n <div class=\"tk-workspace-detail__device-status\">\r\n <span class=\"tk-workspace-detail__status-dot\"></span>\r\n Status unavailable\r\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #noDevices>\r\n <div class=\"tk-workspace-detail__no-devices\">\r\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\r\n </div>\r\n </ng-template>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__calling-license\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\r\n {{ details.calling.license }}\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\r\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\r\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card\">\r\n <h2 class=\"tk-workspace-detail__card-title\">\r\n Planned Maintenance\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </h2>\r\n <div class=\"tk-workspace-detail__row\">\r\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\r\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\r\n </div>\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\r\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\r\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\r\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\r\n <div>Schedule</div>\r\n </div>\r\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\r\n </div>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\r\n </div>\r\n </section>\r\n\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\r\n <div class=\"tk-workspace-detail__card-header\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\r\n </div>\r\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\r\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\r\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\r\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\r\n </section>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\">\r\n <section class=\"tk-workspace-detail__card\">\r\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\r\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\r\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div class=\"tk-workspace-detail__location\">\r\n <!-- <mat-icon>location_on</mat-icon> -->\r\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\r\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\r\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\r\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\r\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\r\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\r\n\r\n <div class=\"tk-workspace-detail__numbers-content\">\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Directory number\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <table class=\"tk-workspace-detail__numbers-table\">\r\n <thead>\r\n <tr>\r\n <th>Type</th>\r\n <th>Phone Number</th>\r\n <th>Extension</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\r\n <td>\r\n {{ details.calling.directoryNumber }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td>\r\n {{ details.calling.extension || 'Not set' }}\r\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\r\n </td>\r\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Caller ID\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>{{ callerIdLabel }}</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n\r\n <hr class=\"tk-workspace-detail__divider\" />\r\n\r\n <div class=\"tk-workspace-detail__numbers-row\">\r\n <div class=\"tk-workspace-detail__numbers-row-label\">\r\n Emergency Calling\r\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\r\n </div>\r\n <div class=\"tk-workspace-detail__numbers-row-value\">\r\n <span>Not set</span>\r\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</ng-container>\r\n</ng-container>\r\n\r\n<ng-template #deviceDetailView>\r\n <tk-workspace-device-detail\r\n [workspace]=\"workspace\"\r\n [device]=\"selectedDevice\"\r\n [details]=\"details?.device ?? null\"\r\n [isLoading]=\"isLoading\"\r\n (back)=\"onDeviceBack()\">\r\n </tk-workspace-device-detail>\r\n</ng-template>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"] }]
|
|
74
87
|
}], ctorParameters: function () { return [{ type: i1.WorkspaceDetailService }, { type: i2.Location }]; }, propDecorators: { workspace: [{
|
|
75
88
|
type: Input
|
|
76
89
|
}], connectionType: [{
|
|
@@ -80,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
80
93
|
}], back: [{
|
|
81
94
|
type: Output
|
|
82
95
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBU3hELE1BQU0sT0FBTyx3QkFBd0I7SUFZbkMsWUFDVSxzQkFBOEMsRUFDOUMsUUFBa0I7UUFEbEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWm5CLG1CQUFjLEdBQTRCLElBQUksQ0FBQztRQUc5QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQyxjQUFTLEdBQXVCLFVBQVUsQ0FBQztRQUMzQyxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQWtCLElBQUksQ0FBQztJQUtsQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO29CQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3BFO2dCQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUU7WUFDcEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxvQkFBb0I7WUFDakMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixLQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN0RSxDQUFDLENBQUMsb0JBQW9CLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssT0FBTyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUM3RjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN4QixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0UsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQXZFVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENickMsMHlkQWdTQTs0RkRuUmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV29ya3NwYWNlLCBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSwgV29ya3NwYWNlRGV0YWlscyB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldERldmljZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9kZXZpY2UtaWNvbic7XG5cbmV4cG9ydCB0eXBlIFdvcmtzcGFjZURldGFpbFRhYiA9ICdvdmVydmlldycgfCAnY2FsbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RrLXdvcmtzcGFjZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xuICBASW5wdXQoKSBjb25uZWN0aW9uVHlwZTogV29ya3NwYWNlQ29ubmVjdGlvblR5cGUgPSAnZGknO1xuICBASW5wdXQoKSBjdXN0b21lcklkITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgZXhwYW5kZWRJc3N1ZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdvcmtzcGFjZURldGFpbFNlcnZpY2U6IFdvcmtzcGFjZURldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMud29ya3NwYWNlRGV0YWlsU2VydmljZS5nZXRCeVdvcmtzcGFjZSh0aGlzLndvcmtzcGFjZSwgdGhpcy5jb25uZWN0aW9uVHlwZSwgdGhpcy5jdXN0b21lcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogZGV0YWlscyA9PiB7XG4gICAgICAgIHRoaXMuZGV0YWlscyA9IGRldGFpbHM7XG4gICAgICAgIGlmIChkZXRhaWxzLmNhcGFjaXR5ICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZSA9IHsgLi4udGhpcy53b3Jrc3BhY2UsIGNhcGFjaXR5OiBkZXRhaWxzLmNhcGFjaXR5IH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZVVybCgpO1xuICB9XG5cbiAgZ2V0IGNhbGxlcklkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjYWxsaW5nID0gdGhpcy5kZXRhaWxzPy5jYWxsaW5nO1xuICAgIGlmICghY2FsbGluZz8uZXh0ZXJuYWxDYWxsZXJJZE51bWJlcikge1xuICAgICAgcmV0dXJuICdOb3Qgc2V0JztcbiAgICB9XG4gICAgcmV0dXJuIGNhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE5hbWVcbiAgICAgID8gYCR7Y2FsbGluZy5leHRlcm5hbENhbGxlcklkTmFtZX06ICR7Y2FsbGluZy5leHRlcm5hbENhbGxlcklkTnVtYmVyfWBcbiAgICAgIDogYExvY2F0aW9uIG51bWJlcjogJHtjYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJ9YDtcbiAgfVxuXG4gIGdldCBkZXZpY2VOYW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvblR5cGUgPT09ICd3ZWJleCcpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtzcGFjZS5kZXZpY2U/LndlYmV4VVVJRCB8fCB0aGlzLndvcmtzcGFjZS5kZXZpY2U/Lm5hbWUgfHwgdGhpcy53b3Jrc3BhY2UuaWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLndvcmtzcGFjZS5kZXZpY2U/Lm5hbWUgfHwgdGhpcy53b3Jrc3BhY2UuaWQ7XG4gIH1cblxuICByZXNvbHZlSWNvbihtb2RlbD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldERldmljZUljb24obW9kZWwpO1xuICB9XG5cbiAgdG9nZ2xlSXNzdWUoaXNzdWVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZElzc3VlSWQgPSB0aGlzLmV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWVJZCA/IG51bGwgOiBpc3N1ZUlkO1xuICB9XG5cbiAgc2VsZWN0VGFiKHRhYjogV29ya3NwYWNlRGV0YWlsVGFiKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWI7XG4gICAgdGhpcy51cGRhdGVVcmwoKTtcbiAgfVxuXG4gIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSgnL3dvcmtzcGFjZXMnKTtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVcmwoKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC93b3Jrc3BhY2VzLyR7dGhpcy5kZXZpY2VOYW1lfS8ke3RoaXMuYWN0aXZlVGFifWApO1xuICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2JyZWFkY3J1bWJcIiAoY2xpY2spPVwib25CYWNrKClcIj5cbiAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWxlZnQtYm9sZC5zdmdcIiBhbHQ9XCJCYWNrXCIgLz5cbiAgV29ya3NwYWNlc1xuPC9idXR0b24+XG5cbjxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19oZWFkZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pY29uXCI+XG4gICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190aXRsZS1ibG9ja1wiPlxuICAgIDxoMSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25hbWVcIj57eyB3b3Jrc3BhY2UuZGlzcGxheU5hbWUgfX08L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtcGlsbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XG4gICAgICAgIExpdmUgc3RhdHVzIHVuYXZhaWxhYmxlXG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXR5cGVcIj5UeXBlOiB7eyB3b3Jrc3BhY2UudHlwZUxhYmVsID09PSAnTm8gdHlwZScgPyAnTm90IHNldCcgOiB3b3Jrc3BhY2UudHlwZUxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXNlcFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvcGVvcGxlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgQ2FwYWNpdHk6IHt7IHdvcmtzcGFjZS5jYXBhY2l0eSA/PyAnTm90IHNldCcgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtcGlsbCB0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGwtLW11dGVkXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICBTaXplIG5vdCBzZXRcbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYWN0aW9ucy1idXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uc01lbnVcIj5cbiAgICBBY3Rpb25zXG4gICAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWRvd24tcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNhY3Rpb25zTWVudT1cIm1hdE1lbnVcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPk1vcmUgYWN0aW9ucyBjb21pbmcgc29vbjwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG5cbjxuYXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJzXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYlwiXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYignb3ZlcnZpZXcnKVwiPlxuICAgIE92ZXJ2aWV3XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxuICAgIFtjbGFzcy50ay13b3Jrc3BhY2UtZGV0YWlsX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIgPT09ICdjYWxsaW5nJ1wiXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYignY2FsbGluZycpXCI+XG4gICAgQ2FsbGluZ1xuICA8L2J1dHRvbj5cbjwvbmF2PlxuXG48YXBwLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiPjwvYXBwLWxvYWRlcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNcIj5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2dyaWRcIiAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb2xcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+SXNzdWVzICZhbXA7IEluZm9ybWF0aW9uPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlc1wiICpuZ0lmPVwiIWRldGFpbHMuaXNzdWVzLmxlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlcy1pY29uXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICAgICAgICBUaGVyZSBhcmUgY3VycmVudGx5IG5vIGlzc3VlcyBkZXRlY3RlZCBpbiB5b3VyIHdvcmtzcGFjZS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZVwiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBkZXRhaWxzLmlzc3Vlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlXCI+e3sgaXNzdWUubWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRpbWVzdGFtcFwiPnt7IGlzc3VlLnRpbWVzdGFtcCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+e3sgaXNzdWUuYWN0aW9uTGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdG9nZ2xlLS1vcGVuXT1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRJc3N1ZUlkID09PSBpc3N1ZS5pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIid2b2lkIDAnXCI+XG4gICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogLjc1cmVtOyBoZWlnaHQ6IC43NXJlbTtcIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctZG93bi1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWRldGFpbHNcIiAqbmdJZj1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIj5cbiAgICAgICAgICAgIDxwPnt7IGlzc3VlLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIFN1Z2dlc3RlZCBhY3Rpb246PGJyIC8+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWxpbmtcIj57eyBpc3N1ZS5zdWdnZXN0ZWRBY3Rpb24gfX08L2E+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkRldmljZXM8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvc2V0dGluZ3MtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZXNcIiAqbmdJZj1cIndvcmtzcGFjZS5kZXZpY2VzLmxlbmd0aDsgZWxzZSBub0RldmljZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlXCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB3b3Jrc3BhY2UuZGV2aWNlc1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1pY29uXCIgW3NyY109XCJyZXNvbHZlSWNvbihkZXZpY2UubW9kZWwpXCIgW2FsdF09XCJkZXZpY2UubGFiZWxcIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtbGlua1wiPnt7IGRldmljZS5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1wcmltYXJ5XCI+UHJpbWFyeTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2Utc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19zdGF0dXMtZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIFN0YXR1cyB1bmF2YWlsYWJsZVxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzdHlsZT1cIndpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EZXZpY2VzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1kZXZpY2VzXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbm8tZGV2aWNlcy1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Rlc2stcGhvbmUtYm9sZC5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIGRldmljZTwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPkFkZCBhbiBJUCBQaG9uZSB0byBjb2xsYWJvcmF0ZSBpbiB0aGlzIHdvcmtzcGFjZS48L3A+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIGRldmljZTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvc2V0dGluZ3MtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhbGxpbmctbGljZW5zZVwiPlxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9oYW5kc2V0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcubGljZW5zZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3cgdGstd29ya3NwYWNlLWRldGFpbF9fcm93LS1rdlwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWxhYmVsXCI+Q2lzY28gV2ViZXggU0lQIEFkZHJlc3M8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctdmFsdWVcIj57eyBkZXRhaWxzLmNhbGxpbmcuc2lwQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMuc2NoZWR1bGluZ0NvbmZpZ3VyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlNjaGVkdWxpbmc8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkNob29zZSBzY2hlZHVsaW5nPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5DaG9vc2UgYSBjYWxlbmRhciBzZXJ2aWNlIG9yIHNldHVwIGhvdC1kZXNraW5nIGZvciB0aGlzIHdvcmtzcGFjZS48L3A+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5DaG9vc2Ugc2NoZWR1bGluZzwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC0tY2VudGVyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPk1lZXRpbmdzPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICA8aDMgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRpbmdcIj5EZXZpY2UgaG9zdGVkIG1lZXRpbmdzIHVuYXZhaWxhYmxlPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5TZXJ2aWNlIG5vdCBzdXBwb3J0ZWQgYnkgQ2lzY28gSVAgcGhvbmVzPC9wPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlxuICAgICAgICAgIFBsYW5uZWQgTWFpbnRlbmFuY2VcbiAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvd1wiPlxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy90b29scy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICAgIDxzcGFuPnt7IGRldGFpbHMucGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZCA/ICdPbicgOiAnT2ZmJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxociBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0td2l0aC1hY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDFyZW07XCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICAgIDxkaXY+U2NoZWR1bGU8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1oaW50XCI+Tm8gc2NoZWR1bGUgc2V0PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPkVkaXQgc2NoZWR1bGU8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMubm90ZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkFkZCBOb3RlczwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL25vdGVzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIG5vdGVzPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5Xcml0ZSBhIG5vdGUgYWJvdXQgdGhpcyB3b3Jrc3BhY2UuPC9wPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIG5vdGVzPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1wiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5Mb2NhdGlvbjwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9zZXR0aW5ncy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb25cIj5cbiAgICAgICAgICA8IS0tIDxtYXQtaWNvbj5sb2NhdGlvbl9vbjwvbWF0LWljb24+IC0tPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYXRpb24tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IC4yNXJlbTtcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2xvY2F0aW9uLWxpbmtcIj57eyBkZXRhaWxzLmxvY2F0aW9uLmNvdW50cnkgfX08L2E+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tYWRkcmVzc1wiPnt7IGRldGFpbHMubG9jYXRpb24uYWRkcmVzcyB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnY2FsbGluZydcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1jYXJkXCI+XG4gICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRpdGxlXCI+TnVtYmVyczwvaDI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XG4gICAgICAgICAgICBEaXJlY3RvcnkgbnVtYmVyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRhYmxlXCI+XG4gICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+VHlwZTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPlBob25lIE51bWJlcjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPkV4dGVuc2lvbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYmFkZ2VcIj5QcmltYXJ5PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAge3sgZGV0YWlscy5jYWxsaW5nLmRpcmVjdG9yeU51bWJlciB9fVxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcuZXh0ZW5zaW9uIHx8ICdOb3Qgc2V0JyB9fVxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNoZXZyb24tY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cbiAgICAgICAgICAgIENhbGxlciBJRFxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LXZhbHVlXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBjYWxsZXJJZExhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XG4gICAgICAgICAgICBFbWVyZ2VuY3kgQ2FsbGluZ1xuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LXZhbHVlXCI+XG4gICAgICAgICAgICA8c3Bhbj5Ob3Qgc2V0PC9zcGFuPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVV4RCxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQ1Usc0JBQThDLEVBQzlDLFFBQWtCO1FBRGxCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWRuQixtQkFBYyxHQUE0QixJQUFJLENBQUM7UUFHOUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUMsY0FBUyxHQUF1QixVQUFVLENBQUM7UUFDM0MsU0FBSSxHQUF3QixVQUFVLENBQUM7UUFDdkMsbUJBQWMsR0FBMkIsSUFBSSxDQUFDO1FBQzlDLFlBQU8sR0FBNEIsSUFBSSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO0lBS2xDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDcEU7Z0JBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRTtZQUNwQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sT0FBTyxDQUFDLG9CQUFvQjtZQUNqQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLEtBQUssT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3RFLENBQUMsQ0FBQyxvQkFBb0IsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1NBQzdGO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXVCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQXJGVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENkckMsc3hmQTRTQTs0RkQ5UmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZSwgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsIFdvcmtzcGFjZURldGFpbHMsIFdvcmtzcGFjZURldmljZSB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZURldGFpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3Jrc3BhY2UtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXREZXZpY2VJY29uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGV2aWNlLWljb24nO1xyXG5cclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JyB8ICdjYWxsaW5nJztcclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlRGV0YWlsVmlldyA9ICdvdmVydmlldycgfCAnZGV2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGstd29ya3NwYWNlLWRldGFpbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZURldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xyXG4gIEBJbnB1dCgpIGNvbm5lY3Rpb25UeXBlOiBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSA9ICdkaSc7XHJcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcclxuICB2aWV3OiBXb3Jrc3BhY2VEZXRhaWxWaWV3ID0gJ292ZXJ2aWV3JztcclxuICBzZWxlY3RlZERldmljZTogV29ya3NwYWNlRGV2aWNlIHwgbnVsbCA9IG51bGw7XHJcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGV4cGFuZGVkSXNzdWVJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB3b3Jrc3BhY2VEZXRhaWxTZXJ2aWNlOiBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtzcGFjZURldGFpbFNlcnZpY2UuZ2V0QnlXb3Jrc3BhY2UodGhpcy53b3Jrc3BhY2UsIHRoaXMuY29ubmVjdGlvblR5cGUsIHRoaXMuY3VzdG9tZXJJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZGV0YWlscyA9PiB7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcclxuICAgICAgICBpZiAoZGV0YWlscy5jYXBhY2l0eSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZSA9IHsgLi4udGhpcy53b3Jrc3BhY2UsIGNhcGFjaXR5OiBkZXRhaWxzLmNhcGFjaXR5IH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy51cGRhdGVVcmwoKTtcclxuICB9XHJcblxyXG4gIGdldCBjYWxsZXJJZExhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjYWxsaW5nID0gdGhpcy5kZXRhaWxzPy5jYWxsaW5nO1xyXG4gICAgaWYgKCFjYWxsaW5nPy5leHRlcm5hbENhbGxlcklkTnVtYmVyKSB7XHJcbiAgICAgIHJldHVybiAnTm90IHNldCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2FsbGluZy5leHRlcm5hbENhbGxlcklkTmFtZVxyXG4gICAgICA/IGAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE5hbWV9OiAke2NhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE51bWJlcn1gXHJcbiAgICAgIDogYExvY2F0aW9uIG51bWJlcjogJHtjYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJ9YDtcclxuICB9XHJcblxyXG4gIGdldCBkZXZpY2VOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uVHlwZSA9PT0gJ3dlYmV4Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy53ZWJleFVVSUQgfHwgdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy5uYW1lIHx8IHRoaXMud29ya3NwYWNlLmlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMud29ya3NwYWNlLmRldmljZT8ubmFtZSB8fCB0aGlzLndvcmtzcGFjZS5pZDtcclxuICB9XHJcblxyXG4gIHJlc29sdmVJY29uKG1vZGVsPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBnZXREZXZpY2VJY29uKG1vZGVsKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUlzc3VlKGlzc3VlSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRlZElzc3VlSWQgPSB0aGlzLmV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWVJZCA/IG51bGwgOiBpc3N1ZUlkO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGFiKHRhYjogV29ya3NwYWNlRGV0YWlsVGFiKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYjtcclxuICAgIHRoaXMudXBkYXRlVXJsKCk7XHJcbiAgfVxyXG5cclxuICBvbkJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSgnL3dvcmtzcGFjZXMnKTtcclxuICAgIHRoaXMuYmFjay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5EZXZpY2UoZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREZXZpY2UgPSBkZXZpY2U7XHJcbiAgICB0aGlzLnZpZXcgPSAnZGV2aWNlJztcclxuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvd29ya3NwYWNlcy8ke3RoaXMuZGV2aWNlTmFtZX0vZGV2aWNlYCk7XHJcbiAgfVxyXG5cclxuICBvbkRldmljZUJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXcgPSAnb3ZlcnZpZXcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZERldmljZSA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZVVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVVcmwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShgL3dvcmtzcGFjZXMvJHt0aGlzLmRldmljZU5hbWV9LyR7dGhpcy5hY3RpdmVUYWJ9YCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3ID09PSAnb3ZlcnZpZXcnOyBlbHNlIGRldmljZURldGFpbFZpZXdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19icmVhZGNydW1iXCIgKGNsaWNrKT1cIm9uQmFjaygpXCI+XHJcbiAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWxlZnQtYm9sZC5zdmdcIiBhbHQ9XCJCYWNrXCIgLz5cclxuICBXb3Jrc3BhY2VzXHJcbjwvYnV0dG9uPlxyXG5cclxuPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2hlYWRlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faWNvblwiPlxyXG4gICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gIDwvc3Bhbj5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGl0bGUtYmxvY2tcIj5cclxuICAgIDxoMSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25hbWVcIj57eyB3b3Jrc3BhY2UuZGlzcGxheU5hbWUgfX08L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGxcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XHJcbiAgICAgICAgTGl2ZSBzdGF0dXMgdW5hdmFpbGFibGVcclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtdHlwZVwiPlR5cGU6IHt7IHdvcmtzcGFjZS50eXBlTGFiZWwgPT09ICdObyB0eXBlJyA/ICdOb3Qgc2V0JyA6IHdvcmtzcGFjZS50eXBlTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9wZW9wbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIENhcGFjaXR5OiB7eyB3b3Jrc3BhY2UuY2FwYWNpdHkgPz8gJ05vdCBzZXQnIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXNlcFwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGwgdGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsLS1tdXRlZFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIFNpemUgbm90IHNldFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2FjdGlvbnMtYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnNNZW51XCI+XHJcbiAgICBBY3Rpb25zXHJcbiAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctZG93bi1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNhY3Rpb25zTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQ+TW9yZSBhY3Rpb25zIGNvbWluZyBzb29uPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcblxyXG48bmF2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGFic1wiPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0VGFiKCdvdmVydmlldycpXCI+XHJcbiAgICBPdmVydmlld1xyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxyXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ2NhbGxpbmcnXCJcclxuICAgIChjbGljayk9XCJzZWxlY3RUYWIoJ2NhbGxpbmcnKVwiPlxyXG4gICAgQ2FsbGluZ1xyXG4gIDwvYnV0dG9uPlxyXG48L25hdj5cclxuXHJcbjxhcHAtbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9hcHAtbG9hZGVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNcIj5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZ3JpZFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnb3ZlcnZpZXcnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5Jc3N1ZXMgJmFtcDsgSW5mb3JtYXRpb248L2gyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1pc3N1ZXNcIiAqbmdJZj1cIiFkZXRhaWxzLmlzc3Vlcy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlcy1pY29uXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIFRoZXJlIGFyZSBjdXJyZW50bHkgbm8gaXNzdWVzIGRldGVjdGVkIGluIHlvdXIgd29ya3NwYWNlLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZVwiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBkZXRhaWxzLmlzc3Vlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbWVzc2FnZVwiPnt7IGlzc3VlLm1lc3NhZ2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdGltZXN0YW1wXCI+e3sgaXNzdWUudGltZXN0YW1wIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj57eyBpc3N1ZS5hY3Rpb25MYWJlbCB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRvZ2dsZS0tb3Blbl09XCJleHBhbmRlZElzc3VlSWQgPT09IGlzc3VlLmlkXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRJc3N1ZUlkID09PSBpc3N1ZS5pZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJ3ZvaWQgMCdcIj5cclxuICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IC43NXJlbTsgaGVpZ2h0OiAuNzVyZW07XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWRvd24tcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWRldGFpbHNcIiAqbmdJZj1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIj5cclxuICAgICAgICAgICAgPHA+e3sgaXNzdWUuZGVzY3JpcHRpb24gfX08L3A+XHJcbiAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgIFN1Z2dlc3RlZCBhY3Rpb246PGJyIC8+XHJcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbGlua1wiPnt7IGlzc3VlLnN1Z2dlc3RlZEFjdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkRldmljZXM8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2VzXCIgKm5nSWY9XCJ3b3Jrc3BhY2UuZGV2aWNlcy5sZW5ndGg7IGVsc2Ugbm9EZXZpY2VzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlXCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB3b3Jrc3BhY2UuZGV2aWNlc1wiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWljb25cIiBbc3JjXT1cInJlc29sdmVJY29uKGRldmljZS5tb2RlbClcIiBbYWx0XT1cImRldmljZS5sYWJlbFwiIC8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtaW5mb1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1saW5rXCIgKGNsaWNrKT1cIm9uT3BlbkRldmljZShkZXZpY2UpXCI+e3sgZGV2aWNlLmxhYmVsIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtcHJpbWFyeVwiPlByaW1hcnk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fc3RhdHVzLWRvdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFN0YXR1cyB1bmF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHN0eWxlPVwid2lkdGg6IDEycHg7IGhlaWdodDogMTJweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EZXZpY2VzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWRldmljZXNcIj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWRldmljZXMtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9kZXNrLXBob25lLWJvbGQuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIGRldmljZTwvaDM+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10ZXh0XCI+QWRkIGFuIElQIFBob25lIHRvIGNvbGxhYm9yYXRlIGluIHRoaXMgd29ya3NwYWNlLjwvcD5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPkFkZCBkZXZpY2U8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYWxsaW5nLWxpY2Vuc2VcIj5cclxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9oYW5kc2V0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5saWNlbnNlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1sYWJlbFwiPkNpc2NvIFdlYmV4IFNJUCBBZGRyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctdmFsdWVcIj57eyBkZXRhaWxzLmNhbGxpbmcuc2lwQWRkcmVzcyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtLWNlbnRlcmVkXCIgKm5nSWY9XCIhZGV0YWlscy5zY2hlZHVsaW5nQ29uZmlndXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlNjaGVkdWxpbmc8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvY2FsZW5kYXItbW9udGgtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkNob29zZSBzY2hlZHVsaW5nPC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPkNob29zZSBhIGNhbGVuZGFyIHNlcnZpY2Ugb3Igc2V0dXAgaG90LWRlc2tpbmcgZm9yIHRoaXMgd29ya3NwYWNlLjwvcD5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+Q2hvb3NlIHNjaGVkdWxpbmc8L2J1dHRvbj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtLWNlbnRlcmVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+TWVldGluZ3M8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkRldmljZSBob3N0ZWQgbWVldGluZ3MgdW5hdmFpbGFibGU8L2gzPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10ZXh0XCI+U2VydmljZSBub3Qgc3VwcG9ydGVkIGJ5IENpc2NvIElQIHBob25lczwvcD5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkXCI+XHJcbiAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgUGxhbm5lZCBNYWludGVuYW5jZVxyXG4gICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPC9oMj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCI+XHJcbiAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcIiBzcmM9XCJhc3NldHMvaWNvbnMvdG9vbHMtcmVndWxhci5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IGRldGFpbHMucGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZCA/ICdPbicgOiAnT2ZmJyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0td2l0aC1hY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3dcIiBzdHlsZT1cImZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMXJlbTtcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgPGRpdj5TY2hlZHVsZTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1oaW50XCI+Tm8gc2NoZWR1bGUgc2V0PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5FZGl0IHNjaGVkdWxlPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMubm90ZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5BZGQgTm90ZXM8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbm90ZXMtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkFkZCBub3RlczwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5Xcml0ZSBhIG5vdGUgYWJvdXQgdGhpcyB3b3Jrc3BhY2UuPC9wPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5BZGQgbm90ZXM8L2J1dHRvbj5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiPlxyXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkZXJcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDEuMjVyZW07XCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+TG9jYXRpb248L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmdzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19sb2NhdGlvblwiPlxyXG4gICAgICAgICAgPCEtLSA8bWF0LWljb24+bG9jYXRpb25fb248L21hdC1pY29uPiAtLT5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYXRpb24tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogLjI1cmVtO1wiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19sb2NhdGlvbi1saW5rXCI+e3sgZGV0YWlscy5sb2NhdGlvbi5jb3VudHJ5IH19PC9hPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tYWRkcmVzc1wiPnt7IGRldGFpbHMubG9jYXRpb24uYWRkcmVzcyB9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCIgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICdjYWxsaW5nJ1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtY2FyZFwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRpdGxlXCI+TnVtYmVyczwvaDI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgRGlyZWN0b3J5IG51bWJlclxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy10YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlR5cGU8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPlBob25lIE51bWJlcjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+RXh0ZW5zaW9uPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19iYWRnZVwiPlByaW1hcnk8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAge3sgZGV0YWlscy5jYWxsaW5nLmRpcmVjdG9yeU51bWJlciB9fVxyXG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29weS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2NvcHktcmVndWxhci5zdmdcIiBhbHQ9XCJDb3B5XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5leHRlbnNpb24gfHwgJ05vdCBzZXQnIH19XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb3B5LWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvY29weS1yZWd1bGFyLnN2Z1wiIGFsdD1cIkNvcHlcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtY2hldnJvbi1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctY2hldnJvblwiIHNyYz1cImFzc2V0cy9pY29ucy9hcnJvdy1yaWdodC1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgQ2FsbGVyIElEXHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctdmFsdWVcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgY2FsbGVySWRMYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cclxuICAgICAgICAgICAgRW1lcmdlbmN5IENhbGxpbmdcclxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXJvdy12YWx1ZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5Ob3Qgc2V0PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWNoZXZyb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctcmlnaHQtcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2RldmljZURldGFpbFZpZXc+XHJcbiAgPHRrLXdvcmtzcGFjZS1kZXZpY2UtZGV0YWlsXHJcbiAgICBbd29ya3NwYWNlXT1cIndvcmtzcGFjZVwiXHJcbiAgICBbZGV2aWNlXT1cInNlbGVjdGVkRGV2aWNlXCJcclxuICAgIFtkZXRhaWxzXT1cImRldGFpbHM/LmRldmljZSA/PyBudWxsXCJcclxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgIChiYWNrKT1cIm9uRGV2aWNlQmFjaygpXCI+XHJcbiAgPC90ay13b3Jrc3BhY2UtZGV2aWNlLWRldGFpbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|