@tuki-io/tuki-widgets 0.0.193 → 0.0.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
  2. package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +5 -7
  3. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +3 -2
  4. package/esm2020/user-creation/src/utils/device-name-validation.mjs +23 -0
  5. package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +26 -0
  6. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +102 -19
  7. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +3 -3
  8. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +13 -3
  9. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +105 -16
  10. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +288 -63
  11. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  12. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +277 -60
  13. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  14. package/package.json +1 -1
  15. package/user-creation/src/interfaces/user-creation-wizard.interfaces.d.ts +19 -0
  16. package/user-creation/src/shared/services/user-creation-api.service.d.ts +2 -2
  17. package/user-creation/src/utils/device-name-validation.d.ts +6 -0
  18. package/user-creation/src/utils/parse-device-name-rule.d.ts +8 -0
  19. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +8 -0
  20. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +2 -0
  21. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +14 -0
  22. package/esm2020/user-creation/src/utils/validation.mjs +0 -14
  23. package/user-creation/src/utils/validation.d.ts +0 -4
@@ -11,9 +11,9 @@ export class UserOverviewStepComponent {
11
11
  }
12
12
  }
13
13
  UserOverviewStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserOverviewStepComponent, deps: [{ token: i1.UserCreationWizardService }], target: i0.ɵɵFactoryTarget.Component });
14
- UserOverviewStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserOverviewStepComponent, selector: "tk-user-overview-step", ngImport: i0, template: "<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <ng-container *ngIf=\"userCreationWizardService.overviewDeviceProfiles.length\">\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Device profiles</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDeviceProfiles\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\">\r\n <span style=\"margin-right: 1rem;\">Voicemail</span> 557046\r\n </div>\r\n </section>\r\n </div>\r\n</section>\r\n", styles: [".details-step-content{display:flex;flex-direction:column;gap:24px}.details-step-divider{border-top:1px solid #d9d9d9}.details-step-sections{display:flex;flex-direction:column}.details-step-section{display:flex;flex-direction:column;gap:16px}.details-step-section+.details-step-section{border-top:1px solid #d9d9d9}.details-step-section__title{margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:100%;letter-spacing:0;color:#333}.preview-list{display:flex;flex-direction:column;gap:4px}.preview-list__header,.preview-list__row{display:grid;grid-template-columns:repeat(var(--preview-cols, 1),minmax(0,1fr));column-gap:24px}.preview-list__header>span,.preview-list__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--Gray-700, #737480);font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.preview-list__row>span{min-width:0;color:var(--Gray-700, #333);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}\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"] }] });
14
+ UserOverviewStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserOverviewStepComponent, selector: "tk-user-overview-step", ngImport: i0, template: "<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <ng-container *ngIf=\"userCreationWizardService.overviewDeviceProfiles.length\">\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Device profiles</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDeviceProfiles\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <!-- <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div> -->\r\n\r\n <!-- <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\">\r\n <span style=\"margin-right: 1rem;\">Voicemail</span> 557046\r\n </div>\r\n </section>\r\n </div> -->\r\n</section>\r\n", styles: [".details-step-content{display:flex;flex-direction:column;gap:24px}.details-step-divider{border-top:1px solid #d9d9d9}.details-step-sections{display:flex;flex-direction:column}.details-step-section{display:flex;flex-direction:column;gap:16px}.details-step-section+.details-step-section{border-top:1px solid #d9d9d9}.details-step-section__title{margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:100%;letter-spacing:0;color:#333}.preview-list{display:flex;flex-direction:column;gap:4px}.preview-list__header,.preview-list__row{display:grid;grid-template-columns:repeat(var(--preview-cols, 1),minmax(0,1fr));column-gap:24px}.preview-list__header>span,.preview-list__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--Gray-700, #737480);font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.preview-list__row>span{min-width:0;color:var(--Gray-700, #333);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}\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"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserOverviewStepComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'tk-user-overview-step', template: "<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <ng-container *ngIf=\"userCreationWizardService.overviewDeviceProfiles.length\">\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Device profiles</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDeviceProfiles\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\">\r\n <span style=\"margin-right: 1rem;\">Voicemail</span> 557046\r\n </div>\r\n </section>\r\n </div>\r\n</section>\r\n", styles: [".details-step-content{display:flex;flex-direction:column;gap:24px}.details-step-divider{border-top:1px solid #d9d9d9}.details-step-sections{display:flex;flex-direction:column}.details-step-section{display:flex;flex-direction:column;gap:16px}.details-step-section+.details-step-section{border-top:1px solid #d9d9d9}.details-step-section__title{margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:100%;letter-spacing:0;color:#333}.preview-list{display:flex;flex-direction:column;gap:4px}.preview-list__header,.preview-list__row{display:grid;grid-template-columns:repeat(var(--preview-cols, 1),minmax(0,1fr));column-gap:24px}.preview-list__header>span,.preview-list__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--Gray-700, #737480);font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.preview-list__row>span{min-width:0;color:var(--Gray-700, #333);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}\n"] }]
17
+ args: [{ selector: 'tk-user-overview-step', template: "<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <ng-container *ngIf=\"userCreationWizardService.overviewDeviceProfiles.length\">\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Device profiles</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDeviceProfiles\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <!-- <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div> -->\r\n\r\n <!-- <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\">\r\n <span style=\"margin-right: 1rem;\">Voicemail</span> 557046\r\n </div>\r\n </section>\r\n </div> -->\r\n</section>\r\n", styles: [".details-step-content{display:flex;flex-direction:column;gap:24px}.details-step-divider{border-top:1px solid #d9d9d9}.details-step-sections{display:flex;flex-direction:column}.details-step-section{display:flex;flex-direction:column;gap:16px}.details-step-section+.details-step-section{border-top:1px solid #d9d9d9}.details-step-section__title{margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:100%;letter-spacing:0;color:#333}.preview-list{display:flex;flex-direction:column;gap:4px}.preview-list__header,.preview-list__row{display:grid;grid-template-columns:repeat(var(--preview-cols, 1),minmax(0,1fr));column-gap:24px}.preview-list__header>span,.preview-list__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--Gray-700, #737480);font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.preview-list__row>span{min-width:0;color:var(--Gray-700, #333);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}\n"] }]
18
18
  }], ctorParameters: function () { return [{ type: i1.UserCreationWizardService }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1vdmVydmlldy1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy93aWRnZXRzL3VzZXItY3JlYXRpb24td2l6YXJkL2NvbXBvbmVudHMvdXNlci1vdmVydmlldy1zdGVwL3VzZXItb3ZlcnZpZXctc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvd2lkZ2V0cy91c2VyLWNyZWF0aW9uLXdpemFyZC9jb21wb25lbnRzL3VzZXItb3ZlcnZpZXctc3RlcC91c2VyLW92ZXJ2aWV3LXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVExQyxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQ1cseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFMdEQsc0JBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RixlQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RSxpQkFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFJckUsQ0FBQzs7dUhBUEsseUJBQXlCOzJHQUF6Qix5QkFBeUIsNkRDUnRDLG82SUEyR0E7NEZEbkdhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3VzZXItY3JlYXRpb24td2l6YXJkLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd0ay11c2VyLW92ZXJ2aWV3LXN0ZXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItb3ZlcnZpZXctc3RlcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLW92ZXJ2aWV3LXN0ZXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlck92ZXJ2aWV3U3RlcENvbXBvbmVudCB7XHJcbiAgICByZWFkb25seSBVU0VSX0RFVEFJTFNfQ09MUyA9IFsnVXNlciBJRCcsICdGaXJzdCBuYW1lJywgJ0xhc3QgbmFtZScsICdFbWFpbCcsICdVc2VyIHRlbXBsYXRlcyddO1xyXG4gICAgcmVhZG9ubHkgTElORVNfQ09MUyA9IFsnTnVtYmVyJywgJ0RJRCcsICdSb3V0ZSBwYXJ0aXRpb24gbmFtZScsICdDU1MnLCAnRGVzY3JpcHRpb24nXTtcclxuICAgIHJlYWRvbmx5IERFVklDRVNfQ09MUyA9IFsnTmFtZScsICdEZXZpY2UgdHlwZScsICdMaW5lcycsICdEZXNjcmlwdGlvbiddO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlOiBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlXHJcbiAgICApIHt9XHJcbn0iLCI8c2VjdGlvbiBjbGFzcz1cImRldGFpbHMtc3RlcC1jb250ZW50XCI+XHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5Vc2VyIGRldGFpbHM8L2gzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25fX2NvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1saXN0XCIgW3N0eWxlLi0tcHJldmlldy1jb2xzXT1cIlVTRVJfREVUQUlMU19DT0xTLmxlbmd0aFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9faGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgVVNFUl9ERVRBSUxTX0NPTFNcIj57eyBjb2wgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdVc2Vyc1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB1c2VyLnVzZXJJZCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgdXNlci5maXJzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIubGFzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIuZW1haWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIudXNlclRlbXBsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5MaW5lczwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RcIiBbc3R5bGUuLS1wcmV2aWV3LWNvbHNdPVwiTElORVNfQ09MUy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX2hlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgY29sIG9mIExJTkVTX0NPTFNcIj57eyBjb2wgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX3Jvd1wiICpuZ0Zvcj1cImxldCBsaW5lIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdMaW5lc1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBsaW5lLm51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbGluZS5kaWQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGxpbmUucm91dGVQYXJ0aXRpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBsaW5lLmNzcyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbGluZS5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1kaXZpZGVyXCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbnNcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25cIj5cclxuICAgICAgPGgzIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25fX3RpdGxlXCI+RGV2aWNlczwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RcIiBbc3R5bGUuLS1wcmV2aWV3LWNvbHNdPVwiREVWSUNFU19DT0xTLmxlbmd0aFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9faGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgREVWSUNFU19DT0xTXCI+e3sgY29sIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1saXN0X19yb3dcIiAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdEZXZpY2VzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGRldmljZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGV2aWNlVHlwZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgZGV2aWNlLmxpbmVzIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGVzY3JpcHRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlLm92ZXJ2aWV3RGV2aWNlUHJvZmlsZXMubGVuZ3RoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25zXCI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25cIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5EZXZpY2UgcHJvZmlsZXM8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdFwiIFtzdHlsZS4tLXByZXZpZXctY29sc109XCJERVZJQ0VTX0NPTFMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX2hlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgREVWSUNFU19DT0xTXCI+e3sgY29sIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9fcm93XCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlLm92ZXJ2aWV3RGV2aWNlUHJvZmlsZXNcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGV2aWNlVHlwZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UubGluZXMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3sgZGV2aWNlLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NlY3Rpb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1kaXZpZGVyXCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbnNcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25cIj5cclxuICAgICAgPGgzIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25fX3RpdGxlXCI+U2luZ2xlIE51bWJlciBSZWFjaDwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPjwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5GZWF0dXJlczwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxcmVtO1wiPlZvaWNlbWFpbDwvc3Bhbj4gNTU3MDQ2XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1vdmVydmlldy1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy93aWRnZXRzL3VzZXItY3JlYXRpb24td2l6YXJkL2NvbXBvbmVudHMvdXNlci1vdmVydmlldy1zdGVwL3VzZXItb3ZlcnZpZXctc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvd2lkZ2V0cy91c2VyLWNyZWF0aW9uLXdpemFyZC9jb21wb25lbnRzL3VzZXItb3ZlcnZpZXctc3RlcC91c2VyLW92ZXJ2aWV3LXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVExQyxNQUFNLE9BQU8seUJBQXlCO0lBS2xDLFlBQ1cseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFMdEQsc0JBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RixlQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RSxpQkFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFJckUsQ0FBQzs7dUhBUEsseUJBQXlCOzJHQUF6Qix5QkFBeUIsNkRDUnRDLHM3SUEyR0E7NEZEbkdhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3VzZXItY3JlYXRpb24td2l6YXJkLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd0ay11c2VyLW92ZXJ2aWV3LXN0ZXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItb3ZlcnZpZXctc3RlcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLW92ZXJ2aWV3LXN0ZXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlck92ZXJ2aWV3U3RlcENvbXBvbmVudCB7XHJcbiAgICByZWFkb25seSBVU0VSX0RFVEFJTFNfQ09MUyA9IFsnVXNlciBJRCcsICdGaXJzdCBuYW1lJywgJ0xhc3QgbmFtZScsICdFbWFpbCcsICdVc2VyIHRlbXBsYXRlcyddO1xyXG4gICAgcmVhZG9ubHkgTElORVNfQ09MUyA9IFsnTnVtYmVyJywgJ0RJRCcsICdSb3V0ZSBwYXJ0aXRpb24gbmFtZScsICdDU1MnLCAnRGVzY3JpcHRpb24nXTtcclxuICAgIHJlYWRvbmx5IERFVklDRVNfQ09MUyA9IFsnTmFtZScsICdEZXZpY2UgdHlwZScsICdMaW5lcycsICdEZXNjcmlwdGlvbiddO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlOiBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlXHJcbiAgICApIHt9XHJcbn0iLCI8c2VjdGlvbiBjbGFzcz1cImRldGFpbHMtc3RlcC1jb250ZW50XCI+XHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5Vc2VyIGRldGFpbHM8L2gzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25fX2NvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1saXN0XCIgW3N0eWxlLi0tcHJldmlldy1jb2xzXT1cIlVTRVJfREVUQUlMU19DT0xTLmxlbmd0aFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9faGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgVVNFUl9ERVRBSUxTX0NPTFNcIj57eyBjb2wgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdVc2Vyc1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB1c2VyLnVzZXJJZCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgdXNlci5maXJzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIubGFzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIuZW1haWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIudXNlclRlbXBsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5MaW5lczwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RcIiBbc3R5bGUuLS1wcmV2aWV3LWNvbHNdPVwiTElORVNfQ09MUy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX2hlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgY29sIG9mIExJTkVTX0NPTFNcIj57eyBjb2wgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX3Jvd1wiICpuZ0Zvcj1cImxldCBsaW5lIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdMaW5lc1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBsaW5lLm51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbGluZS5kaWQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGxpbmUucm91dGVQYXJ0aXRpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBsaW5lLmNzcyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgbGluZS5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1kaXZpZGVyXCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbnNcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25cIj5cclxuICAgICAgPGgzIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25fX3RpdGxlXCI+RGV2aWNlczwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RcIiBbc3R5bGUuLS1wcmV2aWV3LWNvbHNdPVwiREVWSUNFU19DT0xTLmxlbmd0aFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9faGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgREVWSUNFU19DT0xTXCI+e3sgY29sIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1saXN0X19yb3dcIiAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uub3ZlcnZpZXdEZXZpY2VzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGRldmljZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGV2aWNlVHlwZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgZGV2aWNlLmxpbmVzIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGVzY3JpcHRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlLm92ZXJ2aWV3RGV2aWNlUHJvZmlsZXMubGVuZ3RoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLWRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25zXCI+XHJcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25cIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5EZXZpY2UgcHJvZmlsZXM8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdFwiIFtzdHlsZS4tLXByZXZpZXctY29sc109XCJERVZJQ0VTX0NPTFMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWxpc3RfX2hlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBjb2wgb2YgREVWSUNFU19DT0xTXCI+e3sgY29sIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGlzdF9fcm93XCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB1c2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlLm92ZXJ2aWV3RGV2aWNlUHJvZmlsZXNcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UuZGV2aWNlVHlwZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBkZXZpY2UubGluZXMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3sgZGV2aWNlLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3NlY3Rpb24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1kaXZpZGVyXCI+PC9kaXY+XHJcblxyXG4gIDwhLS0gPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uc1wiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtc2VjdGlvbl9fdGl0bGVcIj5TaW5nbGUgTnVtYmVyIFJlYWNoPC9oMz5cclxuICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uX19jb250ZW50XCI+PC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9kaXY+IC0tPlxyXG5cclxuICA8IS0tIDxkaXYgY2xhc3M9XCJkZXRhaWxzLXN0ZXAtZGl2aWRlclwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1zdGVwLXNlY3Rpb25zXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uXCI+XHJcbiAgICAgIDxoMyBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uX190aXRsZVwiPkZlYXR1cmVzPC9oMz5cclxuICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtc3RlcC1zZWN0aW9uX19jb250ZW50XCI+XHJcbiAgICAgICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDFyZW07XCI+Vm9pY2VtYWlsPC9zcGFuPiA1NTcwNDZcclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9kaXY+IC0tPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -36,6 +36,13 @@ export class UserCreationWizardComponent {
36
36
  onCancel() {
37
37
  this.cancel.emit();
38
38
  }
39
+ onStepSelectionChange(event) {
40
+ this.selectedIndex = event.selectedIndex;
41
+ if (event.selectedIndex === 1 && event.previouslySelectedIndex === 0) {
42
+ this.userCreationWizardService.resetUserDetailsStepState();
43
+ this.detailsStepValid = false;
44
+ }
45
+ }
39
46
  onStepperNext(stepper) {
40
47
  if (stepper.selectedIndex === 0) {
41
48
  if (!this.templateStep?.isStepValid()) {
@@ -87,14 +94,17 @@ export class UserCreationWizardComponent {
87
94
  this.notificationService.success('User created successfully!');
88
95
  this.submit.emit();
89
96
  }
97
+ else {
98
+ this.notificationService.error(error?.error?.message || 'An error occurred while creating the user. Please try again.');
99
+ }
90
100
  });
91
101
  }
92
102
  }
93
103
  UserCreationWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationWizardComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
94
- UserCreationWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCreationWizardComponent, selector: "tk-user-creation-wizard", inputs: { title: "title", host: "host", token: "token", customerId: "customerId" }, outputs: { cancel: "cancel", submit: "submit" }, viewQueries: [{ propertyName: "templateStep", first: true, predicate: UserTemplateStepComponent, descendants: true }, { propertyName: "detailsStep", first: true, predicate: UserDetailsStepComponent, descendants: true }], ngImport: i0, template: "<app-notification></app-notification>\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n<div class=\"move-user-stepper-container\" [attr.aria-busy]=\"isSubmitting\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">{{ title }}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\r\n </div>\r\n </header>\r\n\r\n <div id=\"user-creation-stepper\">\r\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper\r\n [selectedIndex]=\"selectedIndex\"\r\n (selectionChange)=\"selectedIndex = $event.selectedIndex\">\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: User creation with template</div>\r\n <ng-template matStepLabel>User creation</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 0\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-template-step\r\n [customerId]=\"customerId\"\r\n (validityChange)=\"templateStepValid = $event\"\r\n ></tk-user-template-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 2 : User details</div>\r\n <ng-template matStepLabel>User details</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 1\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-details-step (validityChange)=\"detailsStepValid = $event\"></tk-user-details-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 3: Review</div>\r\n <ng-template matStepLabel>Review</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 2\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-overview-step></tk-user-overview-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n </mat-stepper>\r\n\r\n <div class=\"wizard-actions\">\r\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\r\n <ng-container *ngSwitchCase=\"0\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!templateStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"1\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!detailsStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"2\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"onSubmit()\"\r\n >\r\n <span class=\"uc-btn__inline-content\">\r\n <span class=\"uc-btn__spinner\" *ngIf=\"isSubmitting\" aria-hidden=\"true\"></span>\r\n <span>{{ isSubmitting ? 'Creating...' : 'Create' }}</span>\r\n </span>\r\n </button>\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-secondary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"stepper.previous()\"\r\n >\r\n Previous\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"wizard-loading-overlay\" [class.wizard-loading-overlay--visible]=\"isSubmitting\" aria-hidden=\"true\"></div>\r\n</div>", styles: [".move-user-stepper-container{background-color:#f3f3f3;padding:0 0 16px;position:relative;overflow:hidden}.move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:block;cursor:pointer;background-repeat:no-repeat;background-position:center}.user-creation-close-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:20px 20px}#user-creation-stepper{display:flex;flex-direction:column;width:100%}#user-creation-stepper .mat-stepper-horizontal{margin:0 auto;width:100%;background-color:transparent}#user-creation-stepper .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}#user-creation-stepper .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}#user-creation-stepper .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}#user-creation-stepper .mat-step-icon-state-number{background-color:#fff}#user-creation-stepper .mat-step-icon-state-edit,#user-creation-stepper .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}#user-creation-stepper .mat-step-icon-content{display:none}#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}#user-creation-stepper .mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header:after,#user-creation-stepper .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}#user-creation-stepper .mat-horizontal-content-container{padding:0!important;margin-top:3rem}#user-creation-stepper .mat-horizontal-stepper-content[aria-expanded=true]{padding-bottom:0}.step-title{font-size:26px;font-weight:500;width:70%;margin:0 auto 1rem;min-height:32px;display:flex;align-items:center}.wizard-actions{display:flex;flex-flow:row-reverse;justify-content:flex-start;align-items:center;margin:16px 16px 0 0;align-self:flex-end;gap:1rem;position:relative;z-index:30}.uc-btn{border-radius:50px!important;padding:8px 16px!important;min-width:80px!important;line-height:normal!important;cursor:pointer}.uc-btn__inline-content{display:inline-flex;align-items:center;gap:8px}.uc-btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:uc-btn-spin .7s linear infinite}@keyframes uc-btn-spin{to{transform:rotate(360deg)}}.uc-btn-primary{background-color:#000!important;color:#fff!important;border:1px solid black!important}.uc-btn-secondary{background-color:#fff!important;color:#000!important;border:1px solid black!important}.move-user-tab-content-box{width:70%;margin:0 auto;background-color:#fff;min-height:350px;border:1px solid #C3C1C1;border-radius:8px;box-sizing:border-box;padding:25px}.wizard-loading-overlay{position:absolute;inset:0;background:rgba(243,243,243,.72);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:20}.wizard-loading-overlay--visible{opacity:1;pointer-events:auto}.wizard-actions .uc-btn-primary.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important;opacity:.3}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i4.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i4.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "component", type: i5.UserTemplateStepComponent, selector: "tk-user-template-step", inputs: ["customerId"], outputs: ["validityChange"] }, { kind: "component", type: i6.NotificationsComponent, selector: "app-notification" }, { kind: "component", type: i7.UserDetailsStepComponent, selector: "tk-user-details-step", outputs: ["validityChange"] }, { kind: "component", type: i8.UserOverviewStepComponent, selector: "tk-user-overview-step" }, { kind: "component", type: i9.AppLoaderComponent, selector: "app-loader" }], encapsulation: i0.ViewEncapsulation.None });
104
+ UserCreationWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCreationWizardComponent, selector: "tk-user-creation-wizard", inputs: { title: "title", host: "host", token: "token", customerId: "customerId" }, outputs: { cancel: "cancel", submit: "submit" }, viewQueries: [{ propertyName: "templateStep", first: true, predicate: UserTemplateStepComponent, descendants: true }, { propertyName: "detailsStep", first: true, predicate: UserDetailsStepComponent, descendants: true }], ngImport: i0, template: "<app-notification></app-notification>\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n<div class=\"move-user-stepper-container\" [attr.aria-busy]=\"isSubmitting\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">{{ title }}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\r\n </div>\r\n </header>\r\n\r\n <div id=\"user-creation-stepper\">\r\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper\r\n [selectedIndex]=\"selectedIndex\"\r\n (selectionChange)=\"onStepSelectionChange($event)\">\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: User creation with template</div>\r\n <ng-template matStepLabel>User creation</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 0\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-template-step\r\n [customerId]=\"customerId\"\r\n (validityChange)=\"templateStepValid = $event\"\r\n ></tk-user-template-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 2 : User details</div>\r\n <ng-template matStepLabel>User details</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 1\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-details-step (validityChange)=\"detailsStepValid = $event\"></tk-user-details-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 3: Review</div>\r\n <ng-template matStepLabel>Review</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 2\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-overview-step></tk-user-overview-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n </mat-stepper>\r\n\r\n <div class=\"wizard-actions\">\r\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\r\n <ng-container *ngSwitchCase=\"0\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!templateStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"1\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!detailsStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"2\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"onSubmit()\"\r\n >\r\n <span class=\"uc-btn__inline-content\">\r\n <span class=\"uc-btn__spinner\" *ngIf=\"isSubmitting\" aria-hidden=\"true\"></span>\r\n <span>{{ isSubmitting ? 'Creating...' : 'Create' }}</span>\r\n </span>\r\n </button>\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-secondary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"stepper.previous()\"\r\n >\r\n Previous\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"wizard-loading-overlay\" [class.wizard-loading-overlay--visible]=\"isSubmitting\" aria-hidden=\"true\"></div>\r\n</div>", styles: [".move-user-stepper-container{background-color:#f3f3f3;padding:0 0 16px;position:relative;overflow:hidden}.move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:block;cursor:pointer;background-repeat:no-repeat;background-position:center}.user-creation-close-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:20px 20px}#user-creation-stepper{display:flex;flex-direction:column;width:100%}#user-creation-stepper .mat-stepper-horizontal{margin:0 auto;width:100%;background-color:transparent}#user-creation-stepper .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}#user-creation-stepper .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}#user-creation-stepper .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}#user-creation-stepper .mat-step-icon-state-number{background-color:#fff}#user-creation-stepper .mat-step-icon-state-edit,#user-creation-stepper .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}#user-creation-stepper .mat-step-icon-content{display:none}#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}#user-creation-stepper .mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header:after,#user-creation-stepper .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}#user-creation-stepper .mat-horizontal-content-container{padding:0!important;margin-top:3rem}#user-creation-stepper .mat-horizontal-stepper-content[aria-expanded=true]{padding-bottom:0}.step-title{font-size:26px;font-weight:500;width:70%;margin:0 auto 1rem;min-height:32px;display:flex;align-items:center}.wizard-actions{display:flex;flex-flow:row-reverse;justify-content:flex-start;align-items:center;margin:16px 16px 0 0;align-self:flex-end;gap:1rem;position:relative;z-index:30}.uc-btn{border-radius:50px!important;padding:8px 16px!important;min-width:80px!important;line-height:normal!important;cursor:pointer}.uc-btn__inline-content{display:inline-flex;align-items:center;gap:8px}.uc-btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:uc-btn-spin .7s linear infinite}@keyframes uc-btn-spin{to{transform:rotate(360deg)}}.uc-btn-primary{background-color:#000!important;color:#fff!important;border:1px solid black!important}.uc-btn-secondary{background-color:#fff!important;color:#000!important;border:1px solid black!important}.move-user-tab-content-box{width:70%;margin:0 auto;background-color:#fff;min-height:350px;border:1px solid #C3C1C1;border-radius:8px;box-sizing:border-box;padding:25px}.wizard-loading-overlay{position:absolute;inset:0;background:rgba(243,243,243,.72);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:20}.wizard-loading-overlay--visible{opacity:1;pointer-events:auto}.wizard-actions .uc-btn-primary.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important;opacity:.3}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i4.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i4.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "component", type: i5.UserTemplateStepComponent, selector: "tk-user-template-step", inputs: ["customerId"], outputs: ["validityChange"] }, { kind: "component", type: i6.NotificationsComponent, selector: "app-notification" }, { kind: "component", type: i7.UserDetailsStepComponent, selector: "tk-user-details-step", outputs: ["validityChange"] }, { kind: "component", type: i8.UserOverviewStepComponent, selector: "tk-user-overview-step" }, { kind: "component", type: i9.AppLoaderComponent, selector: "app-loader" }], encapsulation: i0.ViewEncapsulation.None });
95
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationWizardComponent, decorators: [{
96
106
  type: Component,
97
- args: [{ selector: 'tk-user-creation-wizard', encapsulation: ViewEncapsulation.None, template: "<app-notification></app-notification>\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n<div class=\"move-user-stepper-container\" [attr.aria-busy]=\"isSubmitting\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">{{ title }}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\r\n </div>\r\n </header>\r\n\r\n <div id=\"user-creation-stepper\">\r\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper\r\n [selectedIndex]=\"selectedIndex\"\r\n (selectionChange)=\"selectedIndex = $event.selectedIndex\">\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: User creation with template</div>\r\n <ng-template matStepLabel>User creation</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 0\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-template-step\r\n [customerId]=\"customerId\"\r\n (validityChange)=\"templateStepValid = $event\"\r\n ></tk-user-template-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 2 : User details</div>\r\n <ng-template matStepLabel>User details</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 1\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-details-step (validityChange)=\"detailsStepValid = $event\"></tk-user-details-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 3: Review</div>\r\n <ng-template matStepLabel>Review</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 2\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-overview-step></tk-user-overview-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n </mat-stepper>\r\n\r\n <div class=\"wizard-actions\">\r\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\r\n <ng-container *ngSwitchCase=\"0\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!templateStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"1\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!detailsStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"2\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"onSubmit()\"\r\n >\r\n <span class=\"uc-btn__inline-content\">\r\n <span class=\"uc-btn__spinner\" *ngIf=\"isSubmitting\" aria-hidden=\"true\"></span>\r\n <span>{{ isSubmitting ? 'Creating...' : 'Create' }}</span>\r\n </span>\r\n </button>\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-secondary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"stepper.previous()\"\r\n >\r\n Previous\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"wizard-loading-overlay\" [class.wizard-loading-overlay--visible]=\"isSubmitting\" aria-hidden=\"true\"></div>\r\n</div>", styles: [".move-user-stepper-container{background-color:#f3f3f3;padding:0 0 16px;position:relative;overflow:hidden}.move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:block;cursor:pointer;background-repeat:no-repeat;background-position:center}.user-creation-close-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:20px 20px}#user-creation-stepper{display:flex;flex-direction:column;width:100%}#user-creation-stepper .mat-stepper-horizontal{margin:0 auto;width:100%;background-color:transparent}#user-creation-stepper .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}#user-creation-stepper .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}#user-creation-stepper .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}#user-creation-stepper .mat-step-icon-state-number{background-color:#fff}#user-creation-stepper .mat-step-icon-state-edit,#user-creation-stepper .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}#user-creation-stepper .mat-step-icon-content{display:none}#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}#user-creation-stepper .mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header:after,#user-creation-stepper .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}#user-creation-stepper .mat-horizontal-content-container{padding:0!important;margin-top:3rem}#user-creation-stepper .mat-horizontal-stepper-content[aria-expanded=true]{padding-bottom:0}.step-title{font-size:26px;font-weight:500;width:70%;margin:0 auto 1rem;min-height:32px;display:flex;align-items:center}.wizard-actions{display:flex;flex-flow:row-reverse;justify-content:flex-start;align-items:center;margin:16px 16px 0 0;align-self:flex-end;gap:1rem;position:relative;z-index:30}.uc-btn{border-radius:50px!important;padding:8px 16px!important;min-width:80px!important;line-height:normal!important;cursor:pointer}.uc-btn__inline-content{display:inline-flex;align-items:center;gap:8px}.uc-btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:uc-btn-spin .7s linear infinite}@keyframes uc-btn-spin{to{transform:rotate(360deg)}}.uc-btn-primary{background-color:#000!important;color:#fff!important;border:1px solid black!important}.uc-btn-secondary{background-color:#fff!important;color:#000!important;border:1px solid black!important}.move-user-tab-content-box{width:70%;margin:0 auto;background-color:#fff;min-height:350px;border:1px solid #C3C1C1;border-radius:8px;box-sizing:border-box;padding:25px}.wizard-loading-overlay{position:absolute;inset:0;background:rgba(243,243,243,.72);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:20}.wizard-loading-overlay--visible{opacity:1;pointer-events:auto}.wizard-actions .uc-btn-primary.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important;opacity:.3}\n"] }]
107
+ args: [{ selector: 'tk-user-creation-wizard', encapsulation: ViewEncapsulation.None, template: "<app-notification></app-notification>\r\n<app-loader *ngIf=\"isLoading\"></app-loader>\r\n<div class=\"move-user-stepper-container\" [attr.aria-busy]=\"isSubmitting\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">{{ title }}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\r\n </div>\r\n </header>\r\n\r\n <div id=\"user-creation-stepper\">\r\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper\r\n [selectedIndex]=\"selectedIndex\"\r\n (selectionChange)=\"onStepSelectionChange($event)\">\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: User creation with template</div>\r\n <ng-template matStepLabel>User creation</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 0\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-template-step\r\n [customerId]=\"customerId\"\r\n (validityChange)=\"templateStepValid = $event\"\r\n ></tk-user-template-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 2 : User details</div>\r\n <ng-template matStepLabel>User details</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 1\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-details-step (validityChange)=\"detailsStepValid = $event\"></tk-user-details-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n\r\n <mat-step>\r\n <div class=\"step-title\">Step 3: Review</div>\r\n <ng-template matStepLabel>Review</ng-template>\r\n\r\n <ng-container *ngIf=\"selectedIndex === 2\">\r\n <div class=\"move-user-tab-content-box\">\r\n <tk-user-overview-step></tk-user-overview-step>\r\n </div>\r\n </ng-container>\r\n </mat-step>\r\n </mat-stepper>\r\n\r\n <div class=\"wizard-actions\">\r\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\r\n <ng-container *ngSwitchCase=\"0\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!templateStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"1\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!detailsStepValid\"\r\n (click)=\"onStepperNext(stepper)\"\r\n >\r\n Next\r\n </button>\r\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\r\n Previous\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"2\">\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"onSubmit()\"\r\n >\r\n <span class=\"uc-btn__inline-content\">\r\n <span class=\"uc-btn__spinner\" *ngIf=\"isSubmitting\" aria-hidden=\"true\"></span>\r\n <span>{{ isSubmitting ? 'Creating...' : 'Create' }}</span>\r\n </span>\r\n </button>\r\n <button\r\n mat-button\r\n class=\"uc-btn uc-btn-secondary\"\r\n type=\"button\"\r\n [disabled]=\"isSubmitting\"\r\n (click)=\"stepper.previous()\"\r\n >\r\n Previous\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"wizard-loading-overlay\" [class.wizard-loading-overlay--visible]=\"isSubmitting\" aria-hidden=\"true\"></div>\r\n</div>", styles: [".move-user-stepper-container{background-color:#f3f3f3;padding:0 0 16px;position:relative;overflow:hidden}.move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:block;cursor:pointer;background-repeat:no-repeat;background-position:center}.user-creation-close-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:20px 20px}#user-creation-stepper{display:flex;flex-direction:column;width:100%}#user-creation-stepper .mat-stepper-horizontal{margin:0 auto;width:100%;background-color:transparent}#user-creation-stepper .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}#user-creation-stepper .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}#user-creation-stepper .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}#user-creation-stepper .mat-step-icon-state-number{background-color:#fff}#user-creation-stepper .mat-step-icon-state-edit,#user-creation-stepper .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}#user-creation-stepper .mat-step-icon-content{display:none}#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,#user-creation-stepper .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,#user-creation-stepper [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}#user-creation-stepper .mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header:after,#user-creation-stepper .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,#user-creation-stepper .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}#user-creation-stepper .mat-horizontal-content-container{padding:0!important;margin-top:3rem}#user-creation-stepper .mat-horizontal-stepper-content[aria-expanded=true]{padding-bottom:0}.step-title{font-size:26px;font-weight:500;width:70%;margin:0 auto 1rem;min-height:32px;display:flex;align-items:center}.wizard-actions{display:flex;flex-flow:row-reverse;justify-content:flex-start;align-items:center;margin:16px 16px 0 0;align-self:flex-end;gap:1rem;position:relative;z-index:30}.uc-btn{border-radius:50px!important;padding:8px 16px!important;min-width:80px!important;line-height:normal!important;cursor:pointer}.uc-btn__inline-content{display:inline-flex;align-items:center;gap:8px}.uc-btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:uc-btn-spin .7s linear infinite}@keyframes uc-btn-spin{to{transform:rotate(360deg)}}.uc-btn-primary{background-color:#000!important;color:#fff!important;border:1px solid black!important}.uc-btn-secondary{background-color:#fff!important;color:#000!important;border:1px solid black!important}.move-user-tab-content-box{width:70%;margin:0 auto;background-color:#fff;min-height:350px;border:1px solid #C3C1C1;border-radius:8px;box-sizing:border-box;padding:25px}.wizard-loading-overlay{position:absolute;inset:0;background:rgba(243,243,243,.72);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:20}.wizard-loading-overlay--visible{opacity:1;pointer-events:auto}.wizard-actions .uc-btn-primary.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important;opacity:.3}\n"] }]
98
108
  }], ctorParameters: function () { return [{ type: i1.NotificationService }]; }, propDecorators: { title: [{
99
109
  type: Input
100
110
  }], host: [{
@@ -114,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
114
124
  type: ViewChild,
115
125
  args: [UserDetailsStepComponent]
116
126
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3dpZGdldHMvdXNlci1jcmVhdGlvbi13aXphcmQvdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3dpZGdldHMvdXNlci1jcmVhdGlvbi13aXphcmQvdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDJCQUEyQixDQUFDO0FBUXBFLE1BQU0sT0FBTywyQkFBMkI7SUF1QnRDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEIzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXRFLFVBQUssR0FBRyxhQUFhLENBQUM7UUFNckIsV0FB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UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3lIQTdGVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixrUEFrQjNCLHlCQUF5Qiw4RUFDekIsd0JBQXdCLGdEQ25DckMsNG9JQWdITTs0RkRoR08sMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLHlCQUF5QixpQkFHcEIsaUJBQWlCLENBQUMsSUFBSTswR0FNNUIsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQU8rQixZQUFZO3NCQUFqRCxTQUFTO3VCQUFDLHlCQUF5QjtnQkFDQyxXQUFXO3NCQUEvQyxTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9hcGkvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlckRldGFpbHNTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItZGV0YWlscy1zdGVwL3VzZXItZGV0YWlscy1zdGVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci10ZW1wbGF0ZS1zdGVwL3VzZXItdGVtcGxhdGUtc3RlcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLWNyZWF0aW9uLXdpemFyZC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBVU0VSX0NSRUFURURfU1VDQ0VTU0ZMTFkgPSAnVXNlciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLXVzZXItY3JlYXRpb24td2l6YXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItY3JlYXRpb24td2l6YXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckNyZWF0aW9uV2l6YXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2UgPSBpbmplY3QoVXNlckNyZWF0aW9uV2l6YXJkU2VydmljZSk7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ0NyZWF0ZSBVc2VyJztcclxuICBcclxuICBASW5wdXQoKSBob3N0ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbWVySWQhOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBpc1N1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIHN1Ym1pdFRpbWVySWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSW5kZXggPSAwO1xyXG4gIHRlbXBsYXRlU3RlcFZhbGlkID0gZmFsc2U7XHJcbiAgZGV0YWlsc1N0ZXBWYWxpZCA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQpIHRlbXBsYXRlU3RlcD86IFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChVc2VyRGV0YWlsc1N0ZXBDb21wb25lbnQpIGRldGFpbHNTdGVwPzogVXNlckRldGFpbHNTdGVwQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcclxuICAgIHRoaXMuYXBpU2VydmljZS5hcGlVcmwgPSB0aGlzLmhvc3Q7XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3RlcHBlck5leHQoc3RlcHBlcjogTWF0U3RlcHBlcik6IHZvaWQge1xyXG4gICAgaWYgKHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMCkge1xyXG4gICAgICBpZiAoIXRoaXMudGVtcGxhdGVTdGVwPy5pc1N0ZXBWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVN0ZXA/Lm1hcmtTdGVwVG91Y2hlZCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdGVwcGVyLnNlbGVjdGVkSW5kZXggPT09IDEpIHtcclxuICAgICAgaWYgKCF0aGlzLmRldGFpbHNTdGVwPy5pc1N0ZXBWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxzU3RlcD8ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRldGFpbHNTdGVwPy5zeW5jVG9TZXJ2aWNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RlcHBlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU3VibWl0dGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSB0cnVlO1xyXG5cclxuICAgIC8vIGNvbnN0IGRlbGF5TXMgPSAzMDAwICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMSk7XHJcbiAgICAvLyB0aGlzLnN1Ym1pdFRpbWVySWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAvLyAgIHRoaXMuc3VibWl0VGltZXJJZCA9IG51bGw7XHJcbiAgICAvLyAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKCdVc2VyIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xyXG4gICAgLy8gICB0aGlzLnN1Ym1pdC5lbWl0KCk7XHJcbiAgICAvLyB9LCBkZWxheU1zKTtcclxuICAgIHRoaXMuX3NhdmVDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1Ym1pdFRpbWVySWQpIHtcclxuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnN1Ym1pdFRpbWVySWQpO1xyXG4gICAgICB0aGlzLnN1Ym1pdFRpbWVySWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2F2ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2Uuc2F2ZU5ld1VzZXIoKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoJ1VzZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XHJcbiAgICAgICAgdGhpcy5zdWJtaXQuZW1pdCgpO1xyXG4gICAgICB9LCAoZXJyb3I6IHN0cmluZyB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycgJiYgZXJyb3IuaW5kZXhPZihVU0VSX0NSRUFURURfU1VDQ0VTU0ZMTFkpID4gLTEpIHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKCdVc2VyIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xyXG4gICAgICAgICAgdGhpcy5zdWJtaXQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtbm90aWZpY2F0aW9uPjwvYXBwLW5vdGlmaWNhdGlvbj5cclxuPGFwcC1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L2FwcC1sb2FkZXI+XHJcbjxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItc3RlcHBlci1jb250YWluZXJcIiBbYXR0ci5hcmlhLWJ1c3ldPVwiaXNTdWJtaXR0aW5nXCI+XHJcbiAgPGhlYWRlciBjbGFzcz1cIm1vdmUtdXNlci1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItaGVhZGVyX190aXRsZVwiPnt7IHRpdGxlIH19PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW92ZS11c2VyLWhlYWRlcl9fY2xvc2VcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtaWNvbiB1c2VyLWNyZWF0aW9uLWNsb3NlLWljb25cIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvaGVhZGVyPlxyXG5cclxuICA8ZGl2IGlkPVwidXNlci1jcmVhdGlvbi1zdGVwcGVyXCI+XHJcbiAgICA8bWF0LXN0ZXBwZXIgW2xpbmVhcl09XCJmYWxzZVwiIGxhYmVsUG9zaXRpb249XCJib3R0b21cIiAjc3RlcHBlclxyXG4gICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcclxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50LnNlbGVjdGVkSW5kZXhcIj5cclxuXHJcbiAgICAgIDxtYXQtc3RlcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlN0ZXAgMTogVXNlciBjcmVhdGlvbiB3aXRoIHRlbXBsYXRlPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5Vc2VyIGNyZWF0aW9uPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSW5kZXggPT09IDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItdGFiLWNvbnRlbnQtYm94XCI+XHJcbiAgICAgICAgICAgIDx0ay11c2VyLXRlbXBsYXRlLXN0ZXBcclxuICAgICAgICAgICAgICBbY3VzdG9tZXJJZF09XCJjdXN0b21lcklkXCJcclxuICAgICAgICAgICAgICAodmFsaWRpdHlDaGFuZ2UpPVwidGVtcGxhdGVTdGVwVmFsaWQgPSAkZXZlbnRcIlxyXG4gICAgICAgICAgICA+PC90ay11c2VyLXRlbXBsYXRlLXN0ZXA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc3RlcD5cclxuXHJcbiAgICAgIDxtYXQtc3RlcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlN0ZXAgMiA6IFVzZXIgZGV0YWlsczwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+VXNlciBkZXRhaWxzPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSW5kZXggPT09IDFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItdGFiLWNvbnRlbnQtYm94XCI+XHJcbiAgICAgICAgICAgIDx0ay11c2VyLWRldGFpbHMtc3RlcCAodmFsaWRpdHlDaGFuZ2UpPVwiZGV0YWlsc1N0ZXBWYWxpZCA9ICRldmVudFwiPjwvdGstdXNlci1kZXRhaWxzLXN0ZXA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc3RlcD5cclxuXHJcbiAgICAgIDxtYXQtc3RlcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlN0ZXAgMzogUmV2aWV3PC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5SZXZpZXc8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRJbmRleCA9PT0gMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vdmUtdXNlci10YWItY29udGVudC1ib3hcIj5cclxuICAgICAgICAgICAgPHRrLXVzZXItb3ZlcnZpZXctc3RlcD48L3RrLXVzZXItb3ZlcnZpZXctc3RlcD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zdGVwPlxyXG4gICAgPC9tYXQtc3RlcHBlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwid2l6YXJkLWFjdGlvbnNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic3RlcHBlci5zZWxlY3RlZEluZGV4XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwidWMtYnRuIHVjLWJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhdGVtcGxhdGVTdGVwVmFsaWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGVwcGVyTmV4dChzdGVwcGVyKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIE5leHRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwidWMtYnRuIHVjLWJ0bi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cclxuICAgICAgICAgICAgQ2FuY2VsXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwidWMtYnRuIHVjLWJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZGV0YWlsc1N0ZXBWYWxpZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblN0ZXBwZXJOZXh0KHN0ZXBwZXIpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgTmV4dFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJ1Yy1idG4gdWMtYnRuLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3RlcHBlci5wcmV2aW91cygpXCI+XHJcbiAgICAgICAgICAgIFByZXZpb3VzXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMlwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwidWMtYnRuIHVjLWJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdHRpbmdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWMtYnRuX19pbmxpbmUtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWMtYnRuX19zcGlubmVyXCIgKm5nSWY9XCJpc1N1Ym1pdHRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3sgaXNTdWJtaXR0aW5nID8gJ0NyZWF0aW5nLi4uJyA6ICdDcmVhdGUnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVjLWJ0biB1Yy1idG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdHRpbmdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic3RlcHBlci5wcmV2aW91cygpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgUHJldmlvdXNcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwid2l6YXJkLWxvYWRpbmctb3ZlcmxheVwiIFtjbGFzcy53aXphcmQtbG9hZGluZy1vdmVybGF5LS12aXNpYmxlXT1cImlzU3VibWl0dGluZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxyXG48L2Rpdj4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3dpZGdldHMvdXNlci1jcmVhdGlvbi13aXphcmQvdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3dpZGdldHMvdXNlci1jcmVhdGlvbi13aXphcmQvdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoSSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDJCQUEyQixDQUFDO0FBUXBFLE1BQU0sT0FBTywyQkFBMkI7SUF1QnRDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEIzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXRFLFVBQUssR0FBRyxhQUFhLENBQUM7UUFNckIsV0FB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RyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUM3RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDcEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSw4REFBOEQsQ0FBQyxDQUFDO2FBQ3pIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt5SEF4R1UsMkJBQTJCOzZHQUEzQiwyQkFBMkIsa1BBa0IzQix5QkFBeUIsOEVBQ3pCLHdCQUF3QixnRENwQ3JDLHFvSUFnSE07NEZEL0ZPLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUk7MEdBTTVCLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFPK0IsWUFBWTtzQkFBakQsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBQ0MsV0FBVztzQkFBL0MsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdGVwcGVyU2VsZWN0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IE1hdFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9hcGkvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlckRldGFpbHNTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItZGV0YWlscy1zdGVwL3VzZXItZGV0YWlscy1zdGVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci10ZW1wbGF0ZS1zdGVwL3VzZXItdGVtcGxhdGUtc3RlcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyQ3JlYXRpb25XaXphcmRTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLWNyZWF0aW9uLXdpemFyZC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBVU0VSX0NSRUFURURfU1VDQ0VTU0ZMTFkgPSAnVXNlciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLXVzZXItY3JlYXRpb24td2l6YXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1jcmVhdGlvbi13aXphcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItY3JlYXRpb24td2l6YXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckNyZWF0aW9uV2l6YXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBUElTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJDcmVhdGlvbldpemFyZFNlcnZpY2UgPSBpbmplY3QoVXNlckNyZWF0aW9uV2l6YXJkU2VydmljZSk7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ0NyZWF0ZSBVc2VyJztcclxuICBcclxuICBASW5wdXQoKSBob3N0ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRva2VuITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbWVySWQhOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBpc1N1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIHN1Ym1pdFRpbWVySWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSW5kZXggPSAwO1xyXG4gIHRlbXBsYXRlU3RlcFZhbGlkID0gZmFsc2U7XHJcbiAgZGV0YWlsc1N0ZXBWYWxpZCA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQpIHRlbXBsYXRlU3RlcD86IFVzZXJUZW1wbGF0ZVN0ZXBDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChVc2VyRGV0YWlsc1N0ZXBDb21wb25lbnQpIGRldGFpbHNTdGVwPzogVXNlckRldGFpbHNTdGVwQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLnRva2VuID0gdGhpcy50b2tlbjtcclxuICAgIHRoaXMuYXBpU2VydmljZS5hcGlVcmwgPSB0aGlzLmhvc3Q7XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3RlcFNlbGVjdGlvbkNoYW5nZShldmVudDogU3RlcHBlclNlbGVjdGlvbkV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBldmVudC5zZWxlY3RlZEluZGV4O1xyXG5cclxuICAgIGlmIChldmVudC5zZWxlY3RlZEluZGV4ID09PSAxICYmIGV2ZW50LnByZXZpb3VzbHlTZWxlY3RlZEluZGV4ID09PSAwKSB7XHJcbiAgICAgIHRoaXMudXNlckNyZWF0aW9uV2l6YXJkU2VydmljZS5yZXNldFVzZXJEZXRhaWxzU3RlcFN0YXRlKCk7XHJcbiAgICAgIHRoaXMuZGV0YWlsc1N0ZXBWYWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGVwcGVyTmV4dChzdGVwcGVyOiBNYXRTdGVwcGVyKTogdm9pZCB7XHJcbiAgICBpZiAoc3RlcHBlci5zZWxlY3RlZEluZGV4ID09PSAwKSB7XHJcbiAgICAgIGlmICghdGhpcy50ZW1wbGF0ZVN0ZXA/LmlzU3RlcFZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlU3RlcD8ubWFya1N0ZXBUb3VjaGVkKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9PT0gMSkge1xyXG4gICAgICBpZiAoIXRoaXMuZGV0YWlsc1N0ZXA/LmlzU3RlcFZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmRldGFpbHNTdGVwPy5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGV0YWlsc1N0ZXA/LnN5bmNUb1NlcnZpY2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGVwcGVyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNTdWJtaXR0aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzU3VibWl0dGluZyA9IHRydWU7XHJcblxyXG4gICAgLy8gY29uc3QgZGVsYXlNcyA9IDMwMDAgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAxKTtcclxuICAgIC8vIHRoaXMuc3VibWl0VGltZXJJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICAgIC8vICAgdGhpcy5zdWJtaXRUaW1lcklkID0gbnVsbDtcclxuICAgIC8vICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoJ1VzZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XHJcbiAgICAvLyAgIHRoaXMuc3VibWl0LmVtaXQoKTtcclxuICAgIC8vIH0sIGRlbGF5TXMpO1xyXG4gICAgdGhpcy5fc2F2ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3VibWl0VGltZXJJZCkge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuc3VibWl0VGltZXJJZCk7XHJcbiAgICAgIHRoaXMuc3VibWl0VGltZXJJZCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zYXZlQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMudXNlckNyZWF0aW9uV2l6YXJkU2VydmljZS5zYXZlTmV3VXNlcigpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnVXNlciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICB0aGlzLnN1Ym1pdC5lbWl0KCk7XHJcbiAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnICYmIGVycm9yLmluZGV4T2YoVVNFUl9DUkVBVEVEX1NVQ0NFU1NGTExZKSA+IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnVXNlciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgIHRoaXMuc3VibWl0LmVtaXQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKGVycm9yPy5lcnJvcj8ubWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgY3JlYXRpbmcgdGhlIHVzZXIuIFBsZWFzZSB0cnkgYWdhaW4uJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1ub3RpZmljYXRpb24+PC9hcHAtbm90aWZpY2F0aW9uPlxyXG48YXBwLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiPjwvYXBwLWxvYWRlcj5cclxuPGRpdiBjbGFzcz1cIm1vdmUtdXNlci1zdGVwcGVyLWNvbnRhaW5lclwiIFthdHRyLmFyaWEtYnVzeV09XCJpc1N1Ym1pdHRpbmdcIj5cclxuICA8aGVhZGVyIGNsYXNzPVwibW92ZS11c2VyLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vdmUtdXNlci1oZWFkZXJfX3RpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItaGVhZGVyX19jbG9zZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImFwcC1pY29uIHVzZXItY3JlYXRpb24tY2xvc2UtaWNvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9oZWFkZXI+XHJcblxyXG4gIDxkaXYgaWQ9XCJ1c2VyLWNyZWF0aW9uLXN0ZXBwZXJcIj5cclxuICAgIDxtYXQtc3RlcHBlciBbbGluZWFyXT1cImZhbHNlXCIgbGFiZWxQb3NpdGlvbj1cImJvdHRvbVwiICNzdGVwcGVyXHJcbiAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RlcFNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XHJcblxyXG4gICAgICA8bWF0LXN0ZXA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGVcIj5TdGVwIDE6IFVzZXIgY3JlYXRpb24gd2l0aCB0ZW1wbGF0ZTwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+VXNlciBjcmVhdGlvbjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEluZGV4ID09PSAwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS11c2VyLXRhYi1jb250ZW50LWJveFwiPlxyXG4gICAgICAgICAgICA8dGstdXNlci10ZW1wbGF0ZS1zdGVwXHJcbiAgICAgICAgICAgICAgW2N1c3RvbWVySWRdPVwiY3VzdG9tZXJJZFwiXHJcbiAgICAgICAgICAgICAgKHZhbGlkaXR5Q2hhbmdlKT1cInRlbXBsYXRlU3RlcFZhbGlkID0gJGV2ZW50XCJcclxuICAgICAgICAgICAgPjwvdGstdXNlci10ZW1wbGF0ZS1zdGVwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LXN0ZXA+XHJcblxyXG4gICAgICA8bWF0LXN0ZXA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGVcIj5TdGVwIDIgOiBVc2VyIGRldGFpbHM8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPlVzZXIgZGV0YWlsczwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEluZGV4ID09PSAxXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS11c2VyLXRhYi1jb250ZW50LWJveFwiPlxyXG4gICAgICAgICAgICA8dGstdXNlci1kZXRhaWxzLXN0ZXAgKHZhbGlkaXR5Q2hhbmdlKT1cImRldGFpbHNTdGVwVmFsaWQgPSAkZXZlbnRcIj48L3RrLXVzZXItZGV0YWlscy1zdGVwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LXN0ZXA+XHJcblxyXG4gICAgICA8bWF0LXN0ZXA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGVcIj5TdGVwIDM6IFJldmlldzwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+UmV2aWV3PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSW5kZXggPT09IDJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItdGFiLWNvbnRlbnQtYm94XCI+XHJcbiAgICAgICAgICAgIDx0ay11c2VyLW92ZXJ2aWV3LXN0ZXA+PC90ay11c2VyLW92ZXJ2aWV3LXN0ZXA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc3RlcD5cclxuICAgIDwvbWF0LXN0ZXBwZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIndpemFyZC1hY3Rpb25zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN0ZXBwZXIuc2VsZWN0ZWRJbmRleFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjBcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVjLWJ0biB1Yy1idG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXRlbXBsYXRlU3RlcFZhbGlkXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3RlcHBlck5leHQoc3RlcHBlcilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBOZXh0XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInVjLWJ0biB1Yy1idG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XHJcbiAgICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjFcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVjLWJ0biB1Yy1idG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWRldGFpbHNTdGVwVmFsaWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGVwcGVyTmV4dChzdGVwcGVyKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIE5leHRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwidWMtYnRuIHVjLWJ0bi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInN0ZXBwZXIucHJldmlvdXMoKVwiPlxyXG4gICAgICAgICAgICBQcmV2aW91c1xyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjJcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVjLWJ0biB1Yy1idG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVjLWJ0bl9faW5saW5lLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVjLWJ0bl9fc3Bpbm5lclwiICpuZ0lmPVwiaXNTdWJtaXR0aW5nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGlzU3VibWl0dGluZyA/ICdDcmVhdGluZy4uLicgOiAnQ3JlYXRlJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJ1Yy1idG4gdWMtYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInN0ZXBwZXIucHJldmlvdXMoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIFByZXZpb3VzXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIndpemFyZC1sb2FkaW5nLW92ZXJsYXlcIiBbY2xhc3Mud2l6YXJkLWxvYWRpbmctb3ZlcmxheS0tdmlzaWJsZV09XCJpc1N1Ym1pdHRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cclxuPC9kaXY+Il19