@tiba-spark/client-shared-lib 26.3.0-621 → 26.3.0-622

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 (84) hide show
  1. package/esm2022/libraries/components/cloud-confirm-dialog/cloud-confirm-dialog.component.mjs +3 -3
  2. package/esm2022/libraries/components/common-pages/error-page/error-page.component.mjs +7 -32
  3. package/esm2022/libraries/components/field-label/field-label.component.mjs +6 -39
  4. package/esm2022/libraries/components/field-validations/field-validations.component.mjs +5 -6
  5. package/esm2022/libraries/components/guest-open-ticket-dialog/guest-open-ticket-dialog.component.mjs +2 -2
  6. package/esm2022/libraries/components/intercom/intercom.component.mjs +2 -2
  7. package/esm2022/libraries/components/logo/logo.component.mjs +3 -3
  8. package/esm2022/libraries/components/message-bar/float-message-bar.service.mjs +6 -30
  9. package/esm2022/libraries/components/modal-buttons-wrapper/modal-buttons-wrapper.component.mjs +4 -9
  10. package/esm2022/libraries/components/notification/alert-notification/alert-notification.component.mjs +3 -3
  11. package/esm2022/libraries/components/notification/command-notification/command-notification.component.mjs +3 -3
  12. package/esm2022/libraries/components/notification/notification-type-label/notification-type-label.component.mjs +2 -2
  13. package/esm2022/libraries/components/notification/notification.service.mjs +3 -6
  14. package/esm2022/libraries/components/overlay-loading-container/empty-results/empty-results.component.mjs +3 -3
  15. package/esm2022/libraries/components/overlay-loading-container/error-results/error-results.component.mjs +2 -2
  16. package/esm2022/libraries/components/restart-link/restart-link.component.mjs +2 -2
  17. package/esm2022/libraries/directives/index.mjs +1 -4
  18. package/esm2022/libraries/directives/shared-directives.module.mjs +1 -16
  19. package/esm2022/libraries/enums/icon.enum.mjs +3 -1
  20. package/esm2022/libraries/enums/localization.enum.mjs +1 -38
  21. package/esm2022/libraries/enums/message-bar-duration.enum.mjs +2 -4
  22. package/esm2022/libraries/interfaces/table-column.interface.mjs +1 -1
  23. package/esm2022/libraries/modules/layout/layout.state.mjs +2 -2
  24. package/esm2022/libraries/services/can-deactivate.service.mjs +3 -4
  25. package/esm2022/libraries/services/modal.service.mjs +1 -14
  26. package/fesm2022/tiba-spark-client-shared-lib.mjs +50 -400
  27. package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
  28. package/libraries/components/common-pages/error-page/error-page.component.d.ts +2 -10
  29. package/libraries/components/common-pages/error-page/error-page.component.d.ts.map +1 -1
  30. package/libraries/components/field-label/field-label.component.d.ts +3 -8
  31. package/libraries/components/field-label/field-label.component.d.ts.map +1 -1
  32. package/libraries/components/field-validations/field-validations.component.d.ts +4 -0
  33. package/libraries/components/field-validations/field-validations.component.d.ts.map +1 -1
  34. package/libraries/components/message-bar/float-message-bar.service.d.ts +0 -2
  35. package/libraries/components/message-bar/float-message-bar.service.d.ts.map +1 -1
  36. package/libraries/components/modal-buttons-wrapper/modal-buttons-wrapper.component.d.ts.map +1 -1
  37. package/libraries/components/notification/alert-notification/alert-notification.component.d.ts.map +1 -1
  38. package/libraries/components/notification/command-notification/command-notification.component.d.ts.map +1 -1
  39. package/libraries/components/notification/notification.service.d.ts.map +1 -1
  40. package/libraries/directives/index.d.ts +0 -3
  41. package/libraries/directives/index.d.ts.map +1 -1
  42. package/libraries/directives/shared-directives.module.d.ts +4 -7
  43. package/libraries/directives/shared-directives.module.d.ts.map +1 -1
  44. package/libraries/enums/icon.enum.d.ts +4 -2
  45. package/libraries/enums/icon.enum.d.ts.map +1 -1
  46. package/libraries/enums/localization.enum.d.ts +0 -37
  47. package/libraries/enums/localization.enum.d.ts.map +1 -1
  48. package/libraries/enums/message-bar-duration.enum.d.ts +1 -3
  49. package/libraries/enums/message-bar-duration.enum.d.ts.map +1 -1
  50. package/libraries/interfaces/table-column.interface.d.ts +0 -1
  51. package/libraries/interfaces/table-column.interface.d.ts.map +1 -1
  52. package/libraries/services/can-deactivate.service.d.ts.map +1 -1
  53. package/libraries/services/modal.service.d.ts +0 -1
  54. package/libraries/services/modal.service.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/src/libraries/theme/_calendar.scss +1 -2
  57. package/src/libraries/theme/_card.scss +5 -6
  58. package/src/libraries/theme/_forms.scss +1 -1
  59. package/src/libraries/theme/_mixins.scss +1 -0
  60. package/src/libraries/theme/_modals.scss +2 -3
  61. package/src/libraries/theme/_ngx.scss +1 -0
  62. package/src/libraries/theme/_tables.scss +2 -3
  63. package/src/libraries/theme/_tabs.scss +4 -6
  64. package/src/libraries/theme/_utils.scss +4 -123
  65. package/src/libraries/theme/_variables.scss +8 -35
  66. package/src/libraries/theme/assets/icons/tech-tools-module-404.svg +11 -0
  67. package/src/libraries/theme/components/_carousel.scss +2 -2
  68. package/src/libraries/theme/components/_tb-search.scss +4 -10
  69. package/src/libraries/theme/mat-components/_mat-date-picker.scss +0 -4
  70. package/src/libraries/theme/mat-components/_mat-input.scss +0 -5
  71. package/src/libraries/theme/mat-components/_mat-menu.scss +14 -40
  72. package/src/libraries/theme/mat-components/_mat-select.scss +1 -23
  73. package/src/libraries/theme/mat-components/_mat-selection-list.scss +3 -2
  74. package/src/libraries/theme/mat-components/_mat-step.scss +0 -19
  75. package/src/libraries/theme/theme.scss +0 -119
  76. package/esm2022/libraries/directives/clear-all-button.directive.mjs +0 -49
  77. package/esm2022/libraries/directives/disabled.directive.mjs +0 -121
  78. package/esm2022/libraries/directives/icon-button.directive.mjs +0 -36
  79. package/libraries/directives/clear-all-button.directive.d.ts +0 -19
  80. package/libraries/directives/clear-all-button.directive.d.ts.map +0 -1
  81. package/libraries/directives/disabled.directive.d.ts +0 -30
  82. package/libraries/directives/disabled.directive.d.ts.map +0 -1
  83. package/libraries/directives/icon-button.directive.d.ts +0 -14
  84. package/libraries/directives/icon-button.directive.d.ts.map +0 -1
@@ -30,7 +30,7 @@ export class CloudConfirmDialogComponent extends BaseComponent {
30
30
  this.dialogRef.close(ok);
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CloudConfirmDialogComponent, deps: [{ token: i1.TranslateService }, { token: MAT_DIALOG_DATA }, { token: i2.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CloudConfirmDialogComponent, isStandalone: true, selector: "tb-cloud-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId\n }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString\n }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\"\n [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <!-- Confirmations change data: the safe choice takes focus, so Enter cannot confirm by accident. -->\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button'\n (click)=\"close(false)\" cdkFocusInitial [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\"\n matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\" [attr.cdkFocusInitial]=\"data.hideCancel ? '' : null\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n\n </mat-dialog-actions>\n</div>\n", styles: [".modal-text span{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: NotificationTypeLabelComponent, selector: "tb-notification-type-label", inputs: ["notificationSeverity", "notificationSeverityInvert", "notificationSeverityText"] }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MessageBarModule }, { kind: "component", type: i5.MessageBarComponent, selector: "tb-message-bar", inputs: ["id", "stack", "fade", "dialog", "class"] }, { kind: "pipe", type: CurlyToBoldPipe, name: "curlyToBold" }, { kind: "directive", type: SanitizedInnerHtmlDirective, selector: "[innerHTML]", inputs: ["innerHTML"] }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CloudConfirmDialogComponent, isStandalone: true, selector: "tb-cloud-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId\n }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString\n }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\"\n [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\"\n (click)=\"close(false)\" [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\"\n matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n\n </mat-dialog-actions>\n</div>\n", styles: [".modal-text span{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: NotificationTypeLabelComponent, selector: "tb-notification-type-label", inputs: ["notificationSeverity", "notificationSeverityInvert", "notificationSeverityText"] }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MessageBarModule }, { kind: "component", type: i5.MessageBarComponent, selector: "tb-message-bar", inputs: ["id", "stack", "fade", "dialog", "class"] }, { kind: "pipe", type: CurlyToBoldPipe, name: "curlyToBold" }, { kind: "directive", type: SanitizedInnerHtmlDirective, selector: "[innerHTML]", inputs: ["innerHTML"] }] }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CloudConfirmDialogComponent, decorators: [{
36
36
  type: Component,
@@ -45,9 +45,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
45
45
  MessageBarModule,
46
46
  CurlyToBoldPipe,
47
47
  SanitizedInnerHtmlDirective,
48
- ], template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId\n }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString\n }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\"\n [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <!-- Confirmations change data: the safe choice takes focus, so Enter cannot confirm by accident. -->\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button'\n (click)=\"close(false)\" cdkFocusInitial [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\"\n matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\" [attr.cdkFocusInitial]=\"data.hideCancel ? '' : null\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n\n </mat-dialog-actions>\n</div>\n", styles: [".modal-text span{white-space:pre-line}\n"] }]
48
+ ], template: "<div class=\"tb-modal\">\n <div class=\"modal-title-container\">\n <div class=\"ellipsis modal-title-content\" mat-dialog-title>\n <div class=\"modal-title-primary ellipsis\">{{data.confirmTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data.confirmSubTitle\">{{data.confirmSubTitle}}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.ticket\">\n <span class=\"entity-identifier-type\">{{ data.ticket.type }}</span>\n <span>#{{ data.ticket.number }}</span>\n </div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.device\">{{ data.device.name }} | #{{ data.device.commId\n }}</div>\n <div class=\"modal-title-secondary ellipsis\" *ngIf=\"data?.lpr\">{{ L.car_plate | translate }}: {{ data.lpr.lprString\n }}</div>\n <div class=\"modal-title-sub-secondary ellipsis\" *ngIf=\"data?.parkName\">\n <span>{{ data.parkName }}</span>\n <span *ngIf=\"data?.zoneName\"> | {{ data.zoneName }}</span>\n </div>\n </div>\n <div class=\"modal-button-wrapper\">\n <tb-notification-type-label *ngIf=\"data?.notificationSeverity\" class=\"tb-mr-5\"\n [notificationSeverity]=\"data?.notificationSeverity\"\n [notificationSeverityInvert]=\"data?.notificationSeverityInvert\">\n </tb-notification-type-label>\n </div>\n </div>\n <mat-dialog-content>\n <tb-message-bar *ngIf=\"data.showMessageBar\" [dialog]=\"true\"></tb-message-bar>\n <div class=\"modal-text\" *ngFor=\"let confirmMessage of data.confirmMessages\">\n <span [innerHTML]=\"confirmMessage | curlyToBold\"></span>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"buttons-wrapper\">\n <div class=\"buttons-wrapper-left\">\n <!-- No Left Action -->\n </div>\n <div class=\"buttons-wrapper-right\">\n <button *ngIf=\"!data.hideCancel\" class='tb-button tb-tertiary-button basic-button' tabindex=\"-1\"\n (click)=\"close(false)\" [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.cancel_btn\"\n matRipple>\n <span class=\"button-text\">{{ data.cancelText | translate }}</span>\n </button>\n <button *ngIf=\"!data.hideOk\" class='tb-button tb-primary-button basic-button' (click)=\"close(true)\"\n [attr.data-qa]=\"DataQaAttribute.cloud_confirm_diaglog+'_'+DataQaAttribute.confirm_btn\" matRipple>\n <span class=\"button-text\">{{ data.okText | translate }}</span>\n </button>\n </div>\n </div>\n\n </mat-dialog-actions>\n</div>\n", styles: [".modal-text span{white-space:pre-line}\n"] }]
49
49
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: undefined, decorators: [{
50
50
  type: Inject,
51
51
  args: [MAT_DIALOG_DATA]
52
52
  }] }, { type: i2.MatDialogRef }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2Nsb3VkLWNvbmZpcm0tZGlhbG9nL2Nsb3VkLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvY29tcG9uZW50cy9jbG91ZC1jb25maXJtLWRpYWxvZy9jbG91ZC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7QUFvQjNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFhO0lBRTVELFlBQ1UsZ0JBQWtDLEVBQ1YsSUFBNEIsRUFDckQsU0FBb0Q7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDckQsY0FBUyxHQUFULFNBQVMsQ0FBMkM7SUFFN0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsRUFBVztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBaEJVLDJCQUEyQixrREFJNUIsZUFBZTttR0FKZCwyQkFBMkIsMEdDaEN4Qyw4dEZBb0RBLGlHRGhDSSxZQUFZLCtQQUNaLGtCQUFrQiw0RkFDbEIsOEJBQThCLGtLQUM5QixpQkFBaUIsOEJBQ2pCLGVBQWUseWJBRWYsZUFBZSxrU0FDZixnQkFBZ0IsK0pBQ2hCLGVBQWUsb0RBQ2YsMkJBQTJCOzs0RkFHbEIsMkJBQTJCO2tCQWxCdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQiw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLDJCQUEyQjtxQkFDNUI7OzBCQU1FLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2xvdWRDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2xvdWQtY29uZmlybS1kaWFsb2ctZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2FuaXRpemVkSW5uZXJIdG1sRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zYW5pdGl6ZWQtaW5uZXItaHRtbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ3VybHlUb0JvbGRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvY3VybHktdG8tYm9sZC5waXBlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VCYXJNb2R1bGUgfSBmcm9tICcuLi9tZXNzYWdlLWJhcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25UeXBlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwvbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGItY2xvdWQtY29uZmlybS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jbG91ZC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcbiAgICBOb3RpZmljYXRpb25UeXBlTGFiZWxDb21wb25lbnQsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNZXNzYWdlQmFyTW9kdWxlLFxuICAgIEN1cmx5VG9Cb2xkUGlwZSxcbiAgICBTYW5pdGl6ZWRJbm5lckh0bWxEaXJlY3RpdmUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ2xvdWRDb25maXJtRGlhbG9nRGF0YSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50Pikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGEub2tUZXh0ID0gdGhpcy5kYXRhLm9rVGV4dCB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLkwub2spO1xuICAgIHRoaXMuZGF0YS5jYW5jZWxUZXh0ID0gdGhpcy5kYXRhLmNhbmNlbFRleHQgfHwgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5MLmNhbmNlbCk7XG4gIH1cblxuICBjbG9zZShvazogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG9rKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRiLW1vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgbW9kYWwtdGl0bGUtY29udGVudFwiIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtcHJpbWFyeSBlbGxpcHNpc1wiPnt7ZGF0YS5jb25maXJtVGl0bGV9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YS5jb25maXJtU3ViVGl0bGVcIj57e2RhdGEuY29uZmlybVN1YlRpdGxlfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnRpY2tldFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVudGl0eS1pZGVudGlmaWVyLXR5cGVcIj57eyBkYXRhLnRpY2tldC50eXBlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4je3sgZGF0YS50aWNrZXQubnVtYmVyIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtc2Vjb25kYXJ5IGVsbGlwc2lzXCIgKm5nSWY9XCJkYXRhPy5kZXZpY2VcIj57eyBkYXRhLmRldmljZS5uYW1lIH19IHwgI3t7IGRhdGEuZGV2aWNlLmNvbW1JZFxuICAgICAgICB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YT8ubHByXCI+e3sgTC5jYXJfcGxhdGUgfCB0cmFuc2xhdGUgfX06IHt7IGRhdGEubHByLmxwclN0cmluZ1xuICAgICAgICB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXN1Yi1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnBhcmtOYW1lXCI+XG4gICAgICAgIDxzcGFuPnt7IGRhdGEucGFya05hbWUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uem9uZU5hbWVcIj4gfCB7eyBkYXRhLnpvbmVOYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICA8dGItbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwgKm5nSWY9XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiIGNsYXNzPVwidGItbXItNVwiXG4gICAgICAgIFtub3RpZmljYXRpb25TZXZlcml0eV09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiXG4gICAgICAgIFtub3RpZmljYXRpb25TZXZlcml0eUludmVydF09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eUludmVydFwiPlxuICAgICAgPC90Yi1ub3RpZmljYXRpb24tdHlwZS1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHRiLW1lc3NhZ2UtYmFyICpuZ0lmPVwiZGF0YS5zaG93TWVzc2FnZUJhclwiIFtkaWFsb2ddPVwidHJ1ZVwiPjwvdGItbWVzc2FnZS1iYXI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRleHRcIiAqbmdGb3I9XCJsZXQgY29uZmlybU1lc3NhZ2Ugb2YgZGF0YS5jb25maXJtTWVzc2FnZXNcIj5cbiAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlybU1lc3NhZ2UgfCBjdXJseVRvQm9sZFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci1sZWZ0XCI+XG4gICAgICAgIDwhLS0gTm8gTGVmdCBBY3Rpb24gLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLXdyYXBwZXItcmlnaHRcIj5cbiAgICAgICAgPCEtLSBDb25maXJtYXRpb25zIGNoYW5nZSBkYXRhOiB0aGUgc2FmZSBjaG9pY2UgdGFrZXMgZm9jdXMsIHNvIEVudGVyIGNhbm5vdCBjb25maXJtIGJ5IGFjY2lkZW50LiAtLT5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFkYXRhLmhpZGVDYW5jZWxcIiBjbGFzcz0ndGItYnV0dG9uIHRiLXRlcnRpYXJ5LWJ1dHRvbiBiYXNpYy1idXR0b24nXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlKGZhbHNlKVwiIGNka0ZvY3VzSW5pdGlhbCBbYXR0ci5kYXRhLXFhXT1cIkRhdGFRYUF0dHJpYnV0ZS5jbG91ZF9jb25maXJtX2RpYWdsb2crJ18nK0RhdGFRYUF0dHJpYnV0ZS5jYW5jZWxfYnRuXCJcbiAgICAgICAgICBtYXRSaXBwbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiPnt7IGRhdGEuY2FuY2VsVGV4dCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCIhZGF0YS5oaWRlT2tcIiBjbGFzcz0ndGItYnV0dG9uIHRiLXByaW1hcnktYnV0dG9uIGJhc2ljLWJ1dHRvbicgKGNsaWNrKT1cImNsb3NlKHRydWUpXCIgW2F0dHIuY2RrRm9jdXNJbml0aWFsXT1cImRhdGEuaGlkZUNhbmNlbCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1xYV09XCJEYXRhUWFBdHRyaWJ1dGUuY2xvdWRfY29uZmlybV9kaWFnbG9nKydfJytEYXRhUWFBdHRyaWJ1dGUuY29uZmlybV9idG5cIiBtYXRSaXBwbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiPnt7IGRhdGEub2tUZXh0IHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9kaXY+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2Nsb3VkLWNvbmZpcm0tZGlhbG9nL2Nsb3VkLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvY29tcG9uZW50cy9jbG91ZC1jb25maXJtLWRpYWxvZy9jbG91ZC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7QUFvQjNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFhO0lBRTVELFlBQ1UsZ0JBQWtDLEVBQ1YsSUFBNEIsRUFDckQsU0FBb0Q7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDckQsY0FBUyxHQUFULFNBQVMsQ0FBMkM7SUFFN0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsRUFBVztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBaEJVLDJCQUEyQixrREFJNUIsZUFBZTttR0FKZCwyQkFBMkIsMEdDaEN4Qyx3akZBbURBLGlHRC9CSSxZQUFZLCtQQUNaLGtCQUFrQiw0RkFDbEIsOEJBQThCLGtLQUM5QixpQkFBaUIsOEJBQ2pCLGVBQWUseWJBRWYsZUFBZSxrU0FDZixnQkFBZ0IsK0pBQ2hCLGVBQWUsb0RBQ2YsMkJBQTJCOzs0RkFHbEIsMkJBQTJCO2tCQWxCdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQiw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLDJCQUEyQjtxQkFDNUI7OzBCQU1FLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2xvdWRDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2xvdWQtY29uZmlybS1kaWFsb2ctZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2FuaXRpemVkSW5uZXJIdG1sRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zYW5pdGl6ZWQtaW5uZXItaHRtbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ3VybHlUb0JvbGRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvY3VybHktdG8tYm9sZC5waXBlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VCYXJNb2R1bGUgfSBmcm9tICcuLi9tZXNzYWdlLWJhcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25UeXBlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwvbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGItY2xvdWQtY29uZmlybS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2xvdWQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jbG91ZC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcbiAgICBOb3RpZmljYXRpb25UeXBlTGFiZWxDb21wb25lbnQsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNZXNzYWdlQmFyTW9kdWxlLFxuICAgIEN1cmx5VG9Cb2xkUGlwZSxcbiAgICBTYW5pdGl6ZWRJbm5lckh0bWxEaXJlY3RpdmUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ2xvdWRDb25maXJtRGlhbG9nRGF0YSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2xvdWRDb25maXJtRGlhbG9nQ29tcG9uZW50Pikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGEub2tUZXh0ID0gdGhpcy5kYXRhLm9rVGV4dCB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLkwub2spO1xuICAgIHRoaXMuZGF0YS5jYW5jZWxUZXh0ID0gdGhpcy5kYXRhLmNhbmNlbFRleHQgfHwgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5MLmNhbmNlbCk7XG4gIH1cblxuICBjbG9zZShvazogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG9rKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRiLW1vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgbW9kYWwtdGl0bGUtY29udGVudFwiIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtcHJpbWFyeSBlbGxpcHNpc1wiPnt7ZGF0YS5jb25maXJtVGl0bGV9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YS5jb25maXJtU3ViVGl0bGVcIj57e2RhdGEuY29uZmlybVN1YlRpdGxlfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZS1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnRpY2tldFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVudGl0eS1pZGVudGlmaWVyLXR5cGVcIj57eyBkYXRhLnRpY2tldC50eXBlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4je3sgZGF0YS50aWNrZXQubnVtYmVyIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtc2Vjb25kYXJ5IGVsbGlwc2lzXCIgKm5nSWY9XCJkYXRhPy5kZXZpY2VcIj57eyBkYXRhLmRldmljZS5uYW1lIH19IHwgI3t7IGRhdGEuZGV2aWNlLmNvbW1JZFxuICAgICAgICB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXNlY29uZGFyeSBlbGxpcHNpc1wiICpuZ0lmPVwiZGF0YT8ubHByXCI+e3sgTC5jYXJfcGxhdGUgfCB0cmFuc2xhdGUgfX06IHt7IGRhdGEubHByLmxwclN0cmluZ1xuICAgICAgICB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlLXN1Yi1zZWNvbmRhcnkgZWxsaXBzaXNcIiAqbmdJZj1cImRhdGE/LnBhcmtOYW1lXCI+XG4gICAgICAgIDxzcGFuPnt7IGRhdGEucGFya05hbWUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uem9uZU5hbWVcIj4gfCB7eyBkYXRhLnpvbmVOYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICA8dGItbm90aWZpY2F0aW9uLXR5cGUtbGFiZWwgKm5nSWY9XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiIGNsYXNzPVwidGItbXItNVwiXG4gICAgICAgIFtub3RpZmljYXRpb25TZXZlcml0eV09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eVwiXG4gICAgICAgIFtub3RpZmljYXRpb25TZXZlcml0eUludmVydF09XCJkYXRhPy5ub3RpZmljYXRpb25TZXZlcml0eUludmVydFwiPlxuICAgICAgPC90Yi1ub3RpZmljYXRpb24tdHlwZS1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHRiLW1lc3NhZ2UtYmFyICpuZ0lmPVwiZGF0YS5zaG93TWVzc2FnZUJhclwiIFtkaWFsb2ddPVwidHJ1ZVwiPjwvdGItbWVzc2FnZS1iYXI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRleHRcIiAqbmdGb3I9XCJsZXQgY29uZmlybU1lc3NhZ2Ugb2YgZGF0YS5jb25maXJtTWVzc2FnZXNcIj5cbiAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlybU1lc3NhZ2UgfCBjdXJseVRvQm9sZFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci1sZWZ0XCI+XG4gICAgICAgIDwhLS0gTm8gTGVmdCBBY3Rpb24gLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLXdyYXBwZXItcmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFkYXRhLmhpZGVDYW5jZWxcIiBjbGFzcz0ndGItYnV0dG9uIHRiLXRlcnRpYXJ5LWJ1dHRvbiBiYXNpYy1idXR0b24nIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZShmYWxzZSlcIiBbYXR0ci5kYXRhLXFhXT1cIkRhdGFRYUF0dHJpYnV0ZS5jbG91ZF9jb25maXJtX2RpYWdsb2crJ18nK0RhdGFRYUF0dHJpYnV0ZS5jYW5jZWxfYnRuXCJcbiAgICAgICAgICBtYXRSaXBwbGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiPnt7IGRhdGEuY2FuY2VsVGV4dCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCIhZGF0YS5oaWRlT2tcIiBjbGFzcz0ndGItYnV0dG9uIHRiLXByaW1hcnktYnV0dG9uIGJhc2ljLWJ1dHRvbicgKGNsaWNrKT1cImNsb3NlKHRydWUpXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXFhXT1cIkRhdGFRYUF0dHJpYnV0ZS5jbG91ZF9jb25maXJtX2RpYWdsb2crJ18nK0RhdGFRYUF0dHJpYnV0ZS5jb25maXJtX2J0blwiIG1hdFJpcHBsZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi10ZXh0XCI+e3sgZGF0YS5va1RleHQgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
2
2
  import { Navigate } from '@ngxs/router-plugin';
3
3
  import { appModuleAnimation } from '../../../animations/router-transition.animation';
4
4
  import { TENANT_KEY } from '../../../constants/keys-constants';
@@ -18,16 +18,14 @@ import * as i6 from "@angular/common";
18
18
  import * as i7 from "../../icon/icon.component";
19
19
  import * as i8 from "../../../pipes/translate-local.pipe";
20
20
  export class ErrorPageComponent extends BaseComponent {
21
- constructor(store, sessionStorageService, httpCancelService, appConfig, activatedRoute, elementRef) {
21
+ constructor(store, sessionStorageService, httpCancelService, appConfig, activatedRoute) {
22
22
  super();
23
23
  this.store = store;
24
24
  this.sessionStorageService = sessionStorageService;
25
25
  this.httpCancelService = httpCancelService;
26
26
  this.appConfig = appConfig;
27
27
  this.activatedRoute = activatedRoute;
28
- this.elementRef = elementRef;
29
28
  this.drawerCollapsed = true;
30
- this.animationPaused = false;
31
29
  this.appSectionLabel = AppSectionLabel;
32
30
  this.iconsHelper = IconsHelper;
33
31
  }
@@ -37,10 +35,6 @@ export class ErrorPageComponent extends BaseComponent {
37
35
  this.httpCancelService.cancelPendingRequests();
38
36
  this.isCloud = this.appConfig.getConfig().appType === AppType.Cloud;
39
37
  }
40
- /** Moving content beside text needs a way to stop it (WCAG 2.2.2). */
41
- toggleAnimation() {
42
- this.animationPaused = this.elementRef.nativeElement.classList.toggle('tb-still');
43
- }
44
38
  extractedErrorClass(activatedRoute) {
45
39
  this.statusCodeError = activatedRoute.routeConfig.path === '**' ? '404' : activatedRoute.routeConfig.path;
46
40
  this.statusCodeErrorMessage = this.statusCodeError === '404' ? this.L.error_page_message_404 : this.L.error_page_message_403;
@@ -94,38 +88,19 @@ export class ErrorPageComponent extends BaseComponent {
94
88
  }
95
89
  this.store.dispatch(new Navigate(route));
96
90
  }
97
- /** Opening the narrow-screen menu moves focus to its first module. */
98
- toggleDrawer() {
99
- this.drawerCollapsed = !this.drawerCollapsed;
100
- if (!this.drawerCollapsed) {
101
- setTimeout(() => this.elementRef.nativeElement.querySelector('.tb-module')?.focus());
102
- }
103
- }
104
- closeDrawerFromKeyboard() {
105
- if (!this.drawerCollapsed) {
106
- this.drawerCollapsed = true;
107
- this.menuButton?.nativeElement.focus();
108
- }
109
- }
110
91
  click() {
111
92
  if (!this.drawerCollapsed) {
112
93
  this.drawerCollapsed = true;
113
94
  }
114
95
  }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorPageComponent, deps: [{ token: i1.Store }, { token: i2.SessionStorageService }, { token: i3.HttpCancelService }, { token: i4.AppConfigService }, { token: i5.ActivatedRoute }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ErrorPageComponent, selector: "tb-error-page", host: { listeners: { "document:keydown.escape": "closeDrawerFromKeyboard()", "document:click": "click($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tb-container\" [@routerTransition]>\n <header>\n <div class=\"tb-flex tb-align-items-center tb-full-height tb-space-between tb-flex-grow\">\n <div class=\"wrapper-logo tb-flex-center\">\n <div class=\"tb-logo\" (click)=\"navigateToDefaultRoute()\"></div>\n </div>\n <button type=\"button\" #menuButton class=\"tb-button tb-mr-28\" [attr.aria-expanded]=\"!drawerCollapsed\" aria-controls=\"tb-error-page-modules\"\n [attr.aria-label]=\"L.modules | translateLocal | async\" (click)=\"toggleDrawer(); $event.stopPropagation();\">\n <tb-icon [settings]=\"iconsHelper.three_bars_mobile\" class=\"tb-icon tb-icon-30\" aria-hidden=\"true\"></tb-icon>\n </button>\n </div>\n <nav id=\"tb-error-page-modules\" class=\"tb-modules\" [class.drawer-collapsed]=\"drawerCollapsed\" [attr.aria-label]=\"L.modules | translateLocal | async\">\n <button type=\"button\" class=\"tb-module\" *ngFor=\"let appSectionKey of appSectionModuleMenu\"\n (click)=\"navigateToModule(appSectionKey)\">\n <tb-icon [settings]=\"iconsHelper[appSectionLabel.get(appSectionKey) + '_blue']\" aria-hidden=\"true\"></tb-icon>\n <span class=\"tb-menu-header-text\"> {{appSectionLabel.get(appSectionKey) | translateLocal | async}}</span>\n </button>\n </nav>\n </header>\n\n <main>\n <div class=\"container\">\n <div class=\"left-section\">\n <div class=\"inner-content\">\n <h1 class=\"heading\">{{ statusCodeError }}</h1>\n <p class=\"subheading\">{{ statusCodeErrorMessage | translateLocal | async }}</p>\n <button type=\"button\" class=\"tb-animation-toggle\" (click)=\"toggleAnimation()\">\n {{ (animationPaused ? L.play_animation : L.pause_animation) | translateLocal | async }}\n </button>\n </div>\n </div>\n <div class=\"right-section\">\n <div>\n <img class=\"mountains-image\" src=\"assets/mountains-{{statusCodeError}}.svg\">\n <img *ngIf=\"statusCodeError=='404'\" class=\"blue-gate\" src=\"assets/blue-gate.svg\">\n </div>\n </div>\n </div>\n <div id=\"clouds\">\n <div class=\"cloud background light-blue-cloud\"></div>\n <div class=\"cloud foreground light-blue-cloud\"></div>\n <div class=\"cloud background grey-cloud\"></div>\n <div class=\"cloud background light-blue-cloud\"></div>\n </div>\n </main>\n</div>", styles: ["@keyframes gate-up-animation-default{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(14px,-47px)}70%{transform:rotate(-40deg) translate(14px,-47px)}to{transform:none}}@keyframes gate-up-animation-mobile{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(11px,-22px)}70%{transform:rotate(-40deg) translate(11px,-22px)}to{transform:none}}div.tb-container{position:absolute;inset:0;background-size:cover;background-color:#fff;overflow:hidden}div.tb-container header{display:flex;flex-direction:row;align-items:flex-end;height:100px;background:#263544 0% 0% no-repeat padding-box}div.tb-container header div:first-child{z-index:4;background:inherit}div.tb-container header .tb-button{display:none;padding:0;border:none;background:none;cursor:pointer}div.tb-container header .tb-button:focus-visible,div.tb-container header .tb-module:focus-visible{outline:1px solid #ffffff;outline-offset:-3px;border-radius:4px}div.tb-container header .wrapper-logo{width:166px;height:64px;padding:18px 56px}div.tb-container header .wrapper-logo .tb-logo{height:100%;width:100%;background:url(/assets/tiba-logo.svg) no-repeat;background-size:contain;cursor:pointer}div.tb-container header .tb-modules{display:flex;align-items:center;width:680px;min-width:340px;margin-left:80px;flex:100%}div.tb-container header .tb-modules .tb-module{flex:1;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;max-width:180px;min-width:120px;padding:0;border:none;background:none;font:inherit}div.tb-container header .tb-modules .tb-module span{text-align:center;font-size:13px;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#fff}div.tb-container header .tb-modules .tb-module:hover{background:#ffffff1a}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-insights-module-blue{background-image:url(/assets/icons/insights-blue-404.svg)}div.tb-container main{height:calc(100% - 100px)}div.tb-container main .left-section .inner-content{position:absolute;top:100px}div.tb-container main .container{position:relative;margin:0 auto;width:85%;height:100%;padding-bottom:25vh;display:flex;flex-direction:row;justify-content:space-around}div.tb-container main .left-section,div.tb-container main .right-section{position:relative}div.tb-container main .left-section{width:40%}div.tb-container main .heading{text-align:center;font-size:300px;line-height:1.3em;margin:2rem 0 .5rem;padding:0;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;font-weight:900;color:#2c3e50}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;text-align:center;max-width:606px;font-size:34px;line-height:1.15em;padding:0 1rem;margin:0 auto}div.tb-container main .right-section{width:50%;display:flex;justify-content:center}div.tb-container main .right-section div{height:100%;width:100%;position:relative}div.tb-container main .mountains-image{position:absolute;bottom:0;padding-top:10vh;padding-left:1vh;max-height:100%;min-width:500px;z-index:1}div.tb-container main .blue-gate{position:absolute;bottom:165px;left:493px;animation:gate-up-animation-default linear 10s infinite;animation-delay:2s}div.tb-container #clouds{height:100%;width:100%}div.tb-container #clouds .light-blue-cloud{width:187px;height:131px;background-image:url(/assets/light-blue-cloud.svg)}div.tb-container #clouds .grey-cloud{width:154px;height:108px;background-image:url(/assets/grey-cloud.svg)}div.tb-container #clouds .cloud{position:absolute;animation-fill-mode:both}div.tb-container #clouds .cloud.foreground{z-index:2}div.tb-container #clouds .cloud.background{z-index:-1}@keyframes cloud-animation{0%{left:-10%}to{left:100%}}@keyframes cloud1-animation{0%{left:-10%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(1){left:-10%;top:147px;animation:cloud1-animation linear,cloud-animation linear infinite;animation-duration:24s,27s;animation-delay:0s,24s}@keyframes cloud2-animation{0%{left:50%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(2){left:50%;top:283px;animation:cloud2-animation linear,cloud-animation linear infinite;animation-duration:18s,26s;animation-delay:0s,18s}@keyframes cloud3-animation{0%{left:53%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(3){left:53%;top:278px;animation:cloud3-animation linear,cloud-animation linear infinite;animation-duration:12s,25s;animation-delay:0s,12s}@keyframes cloud4-animation{0%{left:85%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(4){left:85%;top:488px;animation:cloud4-animation linear,cloud-animation linear infinite;animation-duration:6s,24s;animation-delay:0s,6s}@media (max-width: 1300px){div.tb-container header{height:80px}div.tb-container header .wrapper-logo{height:100%;width:121px;padding:0 0 0 20px}div.tb-container header .wrapper-logo .tb-logo{width:121px;max-width:121px;max-height:45px}div.tb-container header .tb-button{display:block}div.tb-container header .tb-modules{position:absolute;top:80px;background:#263544 0% 0% no-repeat padding-box;max-height:440px;overflow:auto;width:100%!important;margin:-1px 0 0!important;padding-bottom:20px;z-index:3;display:grid!important;grid-template-columns:repeat(4,180px);align-content:space-around;justify-content:center;transition:transform 1s}div.tb-container header .tb-modules.drawer-collapsed{transform:translateY(-100%);visibility:hidden;transition:transform 1s,visibility 0s 1s}div.tb-container main{height:calc(100% - 80px)}div.tb-container main .container{flex-direction:column;padding-bottom:0vh}div.tb-container main .left-section{width:100%;height:40%;position:absolute;top:0}div.tb-container main .left-section .inner-content{position:relative;padding:1rem 0}div.tb-container main .heading{font-size:143px;line-height:1.15;margin:0}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;font-size:16px;line-height:1.15;max-width:100%}div.tb-container main .right-section{width:100%;height:60%;position:absolute;bottom:0}div.tb-container main .right-section>div{display:flex;justify-content:center}div.tb-container main .right-section>div img.mountains-image{width:375px}div.tb-container main .right-section>div img.blue-gate{width:75px;left:47px;top:105px;animation:gate-up-animation-mobile linear 10s infinite;position:relative}div.tb-container main .mountains-image{padding:0}div.tb-container #clouds .light-blue-cloud{width:88px;height:62px;background-size:contain}div.tb-container #clouds .grey-cloud{width:73px;height:51px;background-size:contain}div.tb-container #clouds .cloud:nth-child(1){top:120px}div.tb-container #clouds .cloud:nth-child(2){top:185px}div.tb-container #clouds .cloud:nth-child(3){top:182px}div.tb-container #clouds .cloud:nth-child(4){top:325px}}@media (max-width: 800px){div.tb-container header .tb-modules{grid-template-columns:repeat(3,180px)}}@media (max-width: 640px){div.tb-container header .tb-modules{grid-template-columns:repeat(2,180px)}}:host.tb-still *{animation-play-state:paused!important}@media (prefers-reduced-motion: reduce){:host *{animation:none!important}.tb-animation-toggle{display:none}}.tb-animation-toggle{margin-top:16px;padding:6px 12px;border:1px solid #0670c7;border-radius:4px;background:#fff;color:#0670c7;font:inherit;font-size:13px;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "tb-icon", inputs: ["setCursorPointer", "facilityCommandIcon", "remoteCommandIcon", "settings"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslateLocalPipe, name: "translateLocal" }], animations: [appModuleAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorPageComponent, deps: [{ token: i1.Store }, { token: i2.SessionStorageService }, { token: i3.HttpCancelService }, { token: i4.AppConfigService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ErrorPageComponent, selector: "tb-error-page", host: { listeners: { "document:click": "click($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"tb-container\" [@routerTransition]>\n <header>\n <div class=\"tb-flex tb-align-items-center tb-full-height tb-space-between tb-flex-grow\">\n <div class=\"wrapper-logo tb-flex-center\">\n <div class=\"tb-logo\" (click)=\"navigateToDefaultRoute()\"></div>\n </div>\n <div class=\"tb-button tb-mr-28\" (click)=\"drawerCollapsed = !drawerCollapsed; $event.stopPropagation();\">\n <tb-icon [settings]=\"iconsHelper.three_bars_mobile\" class=\"tb-icon tb-icon-30\"></tb-icon>\n </div>\n </div>\n <div class=\"tb-modules\" [class.drawer-collapsed]=\"drawerCollapsed\">\n <div class=\"tb-module\" *ngFor=\"let appSectionKey of appSectionModuleMenu\"\n (click)=\"navigateToModule(appSectionKey)\">\n <tb-icon [settings]=\"iconsHelper[appSectionLabel.get(appSectionKey) + '_blue']\"></tb-icon>\n <span class=\"tb-menu-header-text\"> {{appSectionLabel.get(appSectionKey) | translateLocal | async}}</span>\n </div>\n </div>\n </header>\n\n <main>\n <div class=\"container\">\n <div class=\"left-section\">\n <div class=\"inner-content\">\n <h1 class=\"heading\">{{ statusCodeError }}</h1>\n <p class=\"subheading\">{{ statusCodeErrorMessage | translateLocal | async }}</p>\n </div>\n </div>\n <div class=\"right-section\">\n <div>\n <img class=\"mountains-image\" src=\"assets/mountains-{{statusCodeError}}.svg\">\n <img *ngIf=\"statusCodeError=='404'\" class=\"blue-gate\" src=\"assets/blue-gate.svg\">\n </div>\n </div>\n </div>\n <div id=\"clouds\">\n <div class=\"cloud background light-blue-cloud\"></div>\n <div class=\"cloud foreground light-blue-cloud\"></div>\n <div class=\"cloud background grey-cloud\"></div>\n <div class=\"cloud background light-blue-cloud\"></div>\n </div>\n </main>\n</div>", styles: ["@keyframes gate-up-animation-default{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(14px,-47px)}70%{transform:rotate(-40deg) translate(14px,-47px)}to{transform:none}}@keyframes gate-up-animation-mobile{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(11px,-22px)}70%{transform:rotate(-40deg) translate(11px,-22px)}to{transform:none}}div.tb-container{position:absolute;inset:0;background-size:cover;overflow:hidden}div.tb-container header{display:flex;flex-direction:row;align-items:flex-end;height:100px;background:#263544 0% 0% no-repeat padding-box}div.tb-container header div:first-child{z-index:4;background:inherit}div.tb-container header .tb-button{display:none}div.tb-container header .wrapper-logo{width:166px;height:64px;padding:18px 56px}div.tb-container header .wrapper-logo .tb-logo{height:100%;width:100%;background:url(/assets/tiba-logo.svg) no-repeat;background-size:contain;cursor:pointer}div.tb-container header .tb-modules{display:flex;align-items:center;width:680px;min-width:340px;margin-left:80px;flex:100%}div.tb-container header .tb-modules .tb-module{flex:1;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;max-width:180px;min-width:120px}div.tb-container header .tb-modules .tb-module span{text-align:center;font-size:13px;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#fff}div.tb-container header .tb-modules .tb-module:hover{background:#ffffff1a}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-insights-module-blue{background-image:url(/assets/icons/insights-blue-404.svg)}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-tech-tools-module-blue{background-image:url(/assets/icons/tech-tools-module-404.svg)}div.tb-container main{height:calc(100% - 100px)}div.tb-container main .left-section .inner-content{position:absolute;top:100px}div.tb-container main .container{position:relative;margin:0 auto;width:85%;height:100%;padding-bottom:25vh;display:flex;flex-direction:row;justify-content:space-around}div.tb-container main .left-section,div.tb-container main .right-section{position:relative}div.tb-container main .left-section{width:40%}div.tb-container main .heading{text-align:center;font-size:300px;line-height:1.3em;margin:2rem 0 .5rem;padding:0;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;font-weight:900;color:#2c3e50}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;text-align:center;max-width:606px;font-size:34px;line-height:1.15em;padding:0 1rem;margin:0 auto}div.tb-container main .right-section{width:50%;display:flex;justify-content:center}div.tb-container main .right-section div{height:100%;width:100%;position:relative}div.tb-container main .mountains-image{position:absolute;bottom:0;padding-top:10vh;padding-left:1vh;max-height:100%;min-width:500px;z-index:1}div.tb-container main .blue-gate{position:absolute;bottom:165px;left:493px;animation:gate-up-animation-default linear 10s infinite;animation-delay:2s}div.tb-container #clouds{height:100%;width:100%}div.tb-container #clouds .light-blue-cloud{width:187px;height:131px;background-image:url(/assets/light-blue-cloud.svg)}div.tb-container #clouds .grey-cloud{width:154px;height:108px;background-image:url(/assets/grey-cloud.svg)}div.tb-container #clouds .cloud{position:absolute;animation-fill-mode:both}div.tb-container #clouds .cloud.foreground{z-index:2}div.tb-container #clouds .cloud.background{z-index:-1}@keyframes cloud-animation{0%{left:-10%}to{left:100%}}@keyframes cloud1-animation{0%{left:-10%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(1){left:-10%;top:147px;animation:cloud1-animation linear,cloud-animation linear infinite;animation-duration:24s,27s;animation-delay:0s,24s}@keyframes cloud2-animation{0%{left:50%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(2){left:50%;top:283px;animation:cloud2-animation linear,cloud-animation linear infinite;animation-duration:18s,26s;animation-delay:0s,18s}@keyframes cloud3-animation{0%{left:53%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(3){left:53%;top:278px;animation:cloud3-animation linear,cloud-animation linear infinite;animation-duration:12s,25s;animation-delay:0s,12s}@keyframes cloud4-animation{0%{left:85%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(4){left:85%;top:488px;animation:cloud4-animation linear,cloud-animation linear infinite;animation-duration:6s,24s;animation-delay:0s,6s}@media (max-width: 1300px){div.tb-container header{height:80px}div.tb-container header .wrapper-logo{height:100%;width:121px;padding:0 0 0 20px}div.tb-container header .wrapper-logo .tb-logo{width:121px;max-width:121px;max-height:45px}div.tb-container header .tb-button{display:block}div.tb-container header .tb-modules{position:absolute;top:80px;background:#263544 0% 0% no-repeat padding-box;max-height:440px;overflow:auto;width:100%!important;margin:-1px 0 0!important;padding-bottom:20px;z-index:3;display:grid!important;grid-template-columns:repeat(4,180px);align-content:space-around;justify-content:center;transition:transform 1s}div.tb-container header .tb-modules.drawer-collapsed{transform:translateY(-100%)}div.tb-container main{height:calc(100% - 80px)}div.tb-container main .container{flex-direction:column;padding-bottom:0vh}div.tb-container main .left-section{width:100%;height:40%;position:absolute;top:0}div.tb-container main .left-section .inner-content{position:relative;padding:1rem 0}div.tb-container main .heading{font-size:143px;line-height:1.15;margin:0}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;font-size:16px;line-height:1.15;max-width:100%}div.tb-container main .right-section{width:100%;height:60%;position:absolute;bottom:0}div.tb-container main .right-section>div{display:flex;justify-content:center}div.tb-container main .right-section>div img.mountains-image{width:375px}div.tb-container main .right-section>div img.blue-gate{width:75px;left:47px;top:105px;animation:gate-up-animation-mobile linear 10s infinite;position:relative}div.tb-container main .mountains-image{padding:0}div.tb-container #clouds .light-blue-cloud{width:88px;height:62px;background-size:contain}div.tb-container #clouds .grey-cloud{width:73px;height:51px;background-size:contain}div.tb-container #clouds .cloud:nth-child(1){top:120px}div.tb-container #clouds .cloud:nth-child(2){top:185px}div.tb-container #clouds .cloud:nth-child(3){top:182px}div.tb-container #clouds .cloud:nth-child(4){top:325px}}@media (max-width: 800px){div.tb-container header .tb-modules{grid-template-columns:repeat(3,180px)}}@media (max-width: 600px){div.tb-container header .tb-modules{grid-template-columns:repeat(2,180px)}}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "tb-icon", inputs: ["setCursorPointer", "facilityCommandIcon", "remoteCommandIcon", "settings"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslateLocalPipe, name: "translateLocal" }], animations: [appModuleAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
98
  }
118
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ErrorPageComponent, decorators: [{
119
100
  type: Component,
120
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'tb-error-page', animations: [appModuleAnimation()], standalone: false, template: "<div class=\"tb-container\" [@routerTransition]>\n <header>\n <div class=\"tb-flex tb-align-items-center tb-full-height tb-space-between tb-flex-grow\">\n <div class=\"wrapper-logo tb-flex-center\">\n <div class=\"tb-logo\" (click)=\"navigateToDefaultRoute()\"></div>\n </div>\n <button type=\"button\" #menuButton class=\"tb-button tb-mr-28\" [attr.aria-expanded]=\"!drawerCollapsed\" aria-controls=\"tb-error-page-modules\"\n [attr.aria-label]=\"L.modules | translateLocal | async\" (click)=\"toggleDrawer(); $event.stopPropagation();\">\n <tb-icon [settings]=\"iconsHelper.three_bars_mobile\" class=\"tb-icon tb-icon-30\" aria-hidden=\"true\"></tb-icon>\n </button>\n </div>\n <nav id=\"tb-error-page-modules\" class=\"tb-modules\" [class.drawer-collapsed]=\"drawerCollapsed\" [attr.aria-label]=\"L.modules | translateLocal | async\">\n <button type=\"button\" class=\"tb-module\" *ngFor=\"let appSectionKey of appSectionModuleMenu\"\n (click)=\"navigateToModule(appSectionKey)\">\n <tb-icon [settings]=\"iconsHelper[appSectionLabel.get(appSectionKey) + '_blue']\" aria-hidden=\"true\"></tb-icon>\n <span class=\"tb-menu-header-text\"> {{appSectionLabel.get(appSectionKey) | translateLocal | async}}</span>\n </button>\n </nav>\n </header>\n\n <main>\n <div class=\"container\">\n <div class=\"left-section\">\n <div class=\"inner-content\">\n <h1 class=\"heading\">{{ statusCodeError }}</h1>\n <p class=\"subheading\">{{ statusCodeErrorMessage | translateLocal | async }}</p>\n <button type=\"button\" class=\"tb-animation-toggle\" (click)=\"toggleAnimation()\">\n {{ (animationPaused ? L.play_animation : L.pause_animation) | translateLocal | async }}\n </button>\n </div>\n </div>\n <div class=\"right-section\">\n <div>\n <img class=\"mountains-image\" src=\"assets/mountains-{{statusCodeError}}.svg\">\n <img *ngIf=\"statusCodeError=='404'\" class=\"blue-gate\" src=\"assets/blue-gate.svg\">\n </div>\n </div>\n </div>\n <div id=\"clouds\">\n <div class=\"cloud background light-blue-cloud\"></div>\n <div class=\"cloud foreground light-blue-cloud\"></div>\n <div class=\"cloud background grey-cloud\"></div>\n <div class=\"cloud background light-blue-cloud\"></div>\n </div>\n </main>\n</div>", styles: ["@keyframes gate-up-animation-default{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(14px,-47px)}70%{transform:rotate(-40deg) translate(14px,-47px)}to{transform:none}}@keyframes gate-up-animation-mobile{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(11px,-22px)}70%{transform:rotate(-40deg) translate(11px,-22px)}to{transform:none}}div.tb-container{position:absolute;inset:0;background-size:cover;background-color:#fff;overflow:hidden}div.tb-container header{display:flex;flex-direction:row;align-items:flex-end;height:100px;background:#263544 0% 0% no-repeat padding-box}div.tb-container header div:first-child{z-index:4;background:inherit}div.tb-container header .tb-button{display:none;padding:0;border:none;background:none;cursor:pointer}div.tb-container header .tb-button:focus-visible,div.tb-container header .tb-module:focus-visible{outline:1px solid #ffffff;outline-offset:-3px;border-radius:4px}div.tb-container header .wrapper-logo{width:166px;height:64px;padding:18px 56px}div.tb-container header .wrapper-logo .tb-logo{height:100%;width:100%;background:url(/assets/tiba-logo.svg) no-repeat;background-size:contain;cursor:pointer}div.tb-container header .tb-modules{display:flex;align-items:center;width:680px;min-width:340px;margin-left:80px;flex:100%}div.tb-container header .tb-modules .tb-module{flex:1;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;max-width:180px;min-width:120px;padding:0;border:none;background:none;font:inherit}div.tb-container header .tb-modules .tb-module span{text-align:center;font-size:13px;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#fff}div.tb-container header .tb-modules .tb-module:hover{background:#ffffff1a}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-insights-module-blue{background-image:url(/assets/icons/insights-blue-404.svg)}div.tb-container main{height:calc(100% - 100px)}div.tb-container main .left-section .inner-content{position:absolute;top:100px}div.tb-container main .container{position:relative;margin:0 auto;width:85%;height:100%;padding-bottom:25vh;display:flex;flex-direction:row;justify-content:space-around}div.tb-container main .left-section,div.tb-container main .right-section{position:relative}div.tb-container main .left-section{width:40%}div.tb-container main .heading{text-align:center;font-size:300px;line-height:1.3em;margin:2rem 0 .5rem;padding:0;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;font-weight:900;color:#2c3e50}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;text-align:center;max-width:606px;font-size:34px;line-height:1.15em;padding:0 1rem;margin:0 auto}div.tb-container main .right-section{width:50%;display:flex;justify-content:center}div.tb-container main .right-section div{height:100%;width:100%;position:relative}div.tb-container main .mountains-image{position:absolute;bottom:0;padding-top:10vh;padding-left:1vh;max-height:100%;min-width:500px;z-index:1}div.tb-container main .blue-gate{position:absolute;bottom:165px;left:493px;animation:gate-up-animation-default linear 10s infinite;animation-delay:2s}div.tb-container #clouds{height:100%;width:100%}div.tb-container #clouds .light-blue-cloud{width:187px;height:131px;background-image:url(/assets/light-blue-cloud.svg)}div.tb-container #clouds .grey-cloud{width:154px;height:108px;background-image:url(/assets/grey-cloud.svg)}div.tb-container #clouds .cloud{position:absolute;animation-fill-mode:both}div.tb-container #clouds .cloud.foreground{z-index:2}div.tb-container #clouds .cloud.background{z-index:-1}@keyframes cloud-animation{0%{left:-10%}to{left:100%}}@keyframes cloud1-animation{0%{left:-10%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(1){left:-10%;top:147px;animation:cloud1-animation linear,cloud-animation linear infinite;animation-duration:24s,27s;animation-delay:0s,24s}@keyframes cloud2-animation{0%{left:50%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(2){left:50%;top:283px;animation:cloud2-animation linear,cloud-animation linear infinite;animation-duration:18s,26s;animation-delay:0s,18s}@keyframes cloud3-animation{0%{left:53%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(3){left:53%;top:278px;animation:cloud3-animation linear,cloud-animation linear infinite;animation-duration:12s,25s;animation-delay:0s,12s}@keyframes cloud4-animation{0%{left:85%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(4){left:85%;top:488px;animation:cloud4-animation linear,cloud-animation linear infinite;animation-duration:6s,24s;animation-delay:0s,6s}@media (max-width: 1300px){div.tb-container header{height:80px}div.tb-container header .wrapper-logo{height:100%;width:121px;padding:0 0 0 20px}div.tb-container header .wrapper-logo .tb-logo{width:121px;max-width:121px;max-height:45px}div.tb-container header .tb-button{display:block}div.tb-container header .tb-modules{position:absolute;top:80px;background:#263544 0% 0% no-repeat padding-box;max-height:440px;overflow:auto;width:100%!important;margin:-1px 0 0!important;padding-bottom:20px;z-index:3;display:grid!important;grid-template-columns:repeat(4,180px);align-content:space-around;justify-content:center;transition:transform 1s}div.tb-container header .tb-modules.drawer-collapsed{transform:translateY(-100%);visibility:hidden;transition:transform 1s,visibility 0s 1s}div.tb-container main{height:calc(100% - 80px)}div.tb-container main .container{flex-direction:column;padding-bottom:0vh}div.tb-container main .left-section{width:100%;height:40%;position:absolute;top:0}div.tb-container main .left-section .inner-content{position:relative;padding:1rem 0}div.tb-container main .heading{font-size:143px;line-height:1.15;margin:0}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;font-size:16px;line-height:1.15;max-width:100%}div.tb-container main .right-section{width:100%;height:60%;position:absolute;bottom:0}div.tb-container main .right-section>div{display:flex;justify-content:center}div.tb-container main .right-section>div img.mountains-image{width:375px}div.tb-container main .right-section>div img.blue-gate{width:75px;left:47px;top:105px;animation:gate-up-animation-mobile linear 10s infinite;position:relative}div.tb-container main .mountains-image{padding:0}div.tb-container #clouds .light-blue-cloud{width:88px;height:62px;background-size:contain}div.tb-container #clouds .grey-cloud{width:73px;height:51px;background-size:contain}div.tb-container #clouds .cloud:nth-child(1){top:120px}div.tb-container #clouds .cloud:nth-child(2){top:185px}div.tb-container #clouds .cloud:nth-child(3){top:182px}div.tb-container #clouds .cloud:nth-child(4){top:325px}}@media (max-width: 800px){div.tb-container header .tb-modules{grid-template-columns:repeat(3,180px)}}@media (max-width: 640px){div.tb-container header .tb-modules{grid-template-columns:repeat(2,180px)}}:host.tb-still *{animation-play-state:paused!important}@media (prefers-reduced-motion: reduce){:host *{animation:none!important}.tb-animation-toggle{display:none}}.tb-animation-toggle{margin-top:16px;padding:6px 12px;border:1px solid #0670c7;border-radius:4px;background:#fff;color:#0670c7;font:inherit;font-size:13px;cursor:pointer}\n"] }]
121
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.SessionStorageService }, { type: i3.HttpCancelService }, { type: i4.AppConfigService }, { type: i5.ActivatedRoute }, { type: i0.ElementRef }], propDecorators: { menuButton: [{
122
- type: ViewChild,
123
- args: ['menuButton']
124
- }], closeDrawerFromKeyboard: [{
125
- type: HostListener,
126
- args: ['document:keydown.escape']
127
- }], click: [{
101
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'tb-error-page', animations: [appModuleAnimation()], standalone: false, template: "<div class=\"tb-container\" [@routerTransition]>\n <header>\n <div class=\"tb-flex tb-align-items-center tb-full-height tb-space-between tb-flex-grow\">\n <div class=\"wrapper-logo tb-flex-center\">\n <div class=\"tb-logo\" (click)=\"navigateToDefaultRoute()\"></div>\n </div>\n <div class=\"tb-button tb-mr-28\" (click)=\"drawerCollapsed = !drawerCollapsed; $event.stopPropagation();\">\n <tb-icon [settings]=\"iconsHelper.three_bars_mobile\" class=\"tb-icon tb-icon-30\"></tb-icon>\n </div>\n </div>\n <div class=\"tb-modules\" [class.drawer-collapsed]=\"drawerCollapsed\">\n <div class=\"tb-module\" *ngFor=\"let appSectionKey of appSectionModuleMenu\"\n (click)=\"navigateToModule(appSectionKey)\">\n <tb-icon [settings]=\"iconsHelper[appSectionLabel.get(appSectionKey) + '_blue']\"></tb-icon>\n <span class=\"tb-menu-header-text\"> {{appSectionLabel.get(appSectionKey) | translateLocal | async}}</span>\n </div>\n </div>\n </header>\n\n <main>\n <div class=\"container\">\n <div class=\"left-section\">\n <div class=\"inner-content\">\n <h1 class=\"heading\">{{ statusCodeError }}</h1>\n <p class=\"subheading\">{{ statusCodeErrorMessage | translateLocal | async }}</p>\n </div>\n </div>\n <div class=\"right-section\">\n <div>\n <img class=\"mountains-image\" src=\"assets/mountains-{{statusCodeError}}.svg\">\n <img *ngIf=\"statusCodeError=='404'\" class=\"blue-gate\" src=\"assets/blue-gate.svg\">\n </div>\n </div>\n </div>\n <div id=\"clouds\">\n <div class=\"cloud background light-blue-cloud\"></div>\n <div class=\"cloud foreground light-blue-cloud\"></div>\n <div class=\"cloud background grey-cloud\"></div>\n <div class=\"cloud background light-blue-cloud\"></div>\n </div>\n </main>\n</div>", styles: ["@keyframes gate-up-animation-default{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(14px,-47px)}70%{transform:rotate(-40deg) translate(14px,-47px)}to{transform:none}}@keyframes gate-up-animation-mobile{0%{transform:none}20%{transform:none}50%{transform:rotate(-40deg) translate(11px,-22px)}70%{transform:rotate(-40deg) translate(11px,-22px)}to{transform:none}}div.tb-container{position:absolute;inset:0;background-size:cover;overflow:hidden}div.tb-container header{display:flex;flex-direction:row;align-items:flex-end;height:100px;background:#263544 0% 0% no-repeat padding-box}div.tb-container header div:first-child{z-index:4;background:inherit}div.tb-container header .tb-button{display:none}div.tb-container header .wrapper-logo{width:166px;height:64px;padding:18px 56px}div.tb-container header .wrapper-logo .tb-logo{height:100%;width:100%;background:url(/assets/tiba-logo.svg) no-repeat;background-size:contain;cursor:pointer}div.tb-container header .tb-modules{display:flex;align-items:center;width:680px;min-width:340px;margin-left:80px;flex:100%}div.tb-container header .tb-modules .tb-module{flex:1;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;max-width:180px;min-width:120px}div.tb-container header .tb-modules .tb-module span{text-align:center;font-size:13px;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#fff}div.tb-container header .tb-modules .tb-module:hover{background:#ffffff1a}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-insights-module-blue{background-image:url(/assets/icons/insights-blue-404.svg)}div.tb-container header .tb-modules .tb-module ::ng-deep .tb-icon-tech-tools-module-blue{background-image:url(/assets/icons/tech-tools-module-404.svg)}div.tb-container main{height:calc(100% - 100px)}div.tb-container main .left-section .inner-content{position:absolute;top:100px}div.tb-container main .container{position:relative;margin:0 auto;width:85%;height:100%;padding-bottom:25vh;display:flex;flex-direction:row;justify-content:space-around}div.tb-container main .left-section,div.tb-container main .right-section{position:relative}div.tb-container main .left-section{width:40%}div.tb-container main .heading{text-align:center;font-size:300px;line-height:1.3em;margin:2rem 0 .5rem;padding:0;font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;font-weight:900;color:#2c3e50}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;text-align:center;max-width:606px;font-size:34px;line-height:1.15em;padding:0 1rem;margin:0 auto}div.tb-container main .right-section{width:50%;display:flex;justify-content:center}div.tb-container main .right-section div{height:100%;width:100%;position:relative}div.tb-container main .mountains-image{position:absolute;bottom:0;padding-top:10vh;padding-left:1vh;max-height:100%;min-width:500px;z-index:1}div.tb-container main .blue-gate{position:absolute;bottom:165px;left:493px;animation:gate-up-animation-default linear 10s infinite;animation-delay:2s}div.tb-container #clouds{height:100%;width:100%}div.tb-container #clouds .light-blue-cloud{width:187px;height:131px;background-image:url(/assets/light-blue-cloud.svg)}div.tb-container #clouds .grey-cloud{width:154px;height:108px;background-image:url(/assets/grey-cloud.svg)}div.tb-container #clouds .cloud{position:absolute;animation-fill-mode:both}div.tb-container #clouds .cloud.foreground{z-index:2}div.tb-container #clouds .cloud.background{z-index:-1}@keyframes cloud-animation{0%{left:-10%}to{left:100%}}@keyframes cloud1-animation{0%{left:-10%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(1){left:-10%;top:147px;animation:cloud1-animation linear,cloud-animation linear infinite;animation-duration:24s,27s;animation-delay:0s,24s}@keyframes cloud2-animation{0%{left:50%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(2){left:50%;top:283px;animation:cloud2-animation linear,cloud-animation linear infinite;animation-duration:18s,26s;animation-delay:0s,18s}@keyframes cloud3-animation{0%{left:53%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(3){left:53%;top:278px;animation:cloud3-animation linear,cloud-animation linear infinite;animation-duration:12s,25s;animation-delay:0s,12s}@keyframes cloud4-animation{0%{left:85%}to{left:100%}}div.tb-container #clouds .cloud:nth-child(4){left:85%;top:488px;animation:cloud4-animation linear,cloud-animation linear infinite;animation-duration:6s,24s;animation-delay:0s,6s}@media (max-width: 1300px){div.tb-container header{height:80px}div.tb-container header .wrapper-logo{height:100%;width:121px;padding:0 0 0 20px}div.tb-container header .wrapper-logo .tb-logo{width:121px;max-width:121px;max-height:45px}div.tb-container header .tb-button{display:block}div.tb-container header .tb-modules{position:absolute;top:80px;background:#263544 0% 0% no-repeat padding-box;max-height:440px;overflow:auto;width:100%!important;margin:-1px 0 0!important;padding-bottom:20px;z-index:3;display:grid!important;grid-template-columns:repeat(4,180px);align-content:space-around;justify-content:center;transition:transform 1s}div.tb-container header .tb-modules.drawer-collapsed{transform:translateY(-100%)}div.tb-container main{height:calc(100% - 80px)}div.tb-container main .container{flex-direction:column;padding-bottom:0vh}div.tb-container main .left-section{width:100%;height:40%;position:absolute;top:0}div.tb-container main .left-section .inner-content{position:relative;padding:1rem 0}div.tb-container main .heading{font-size:143px;line-height:1.15;margin:0}div.tb-container main .subheading{font-family:Open Sans,Open Sans Local,Roboto,Roboto Local,sans-serif;color:#2c3e50;font-size:16px;line-height:1.15;max-width:100%}div.tb-container main .right-section{width:100%;height:60%;position:absolute;bottom:0}div.tb-container main .right-section>div{display:flex;justify-content:center}div.tb-container main .right-section>div img.mountains-image{width:375px}div.tb-container main .right-section>div img.blue-gate{width:75px;left:47px;top:105px;animation:gate-up-animation-mobile linear 10s infinite;position:relative}div.tb-container main .mountains-image{padding:0}div.tb-container #clouds .light-blue-cloud{width:88px;height:62px;background-size:contain}div.tb-container #clouds .grey-cloud{width:73px;height:51px;background-size:contain}div.tb-container #clouds .cloud:nth-child(1){top:120px}div.tb-container #clouds .cloud:nth-child(2){top:185px}div.tb-container #clouds .cloud:nth-child(3){top:182px}div.tb-container #clouds .cloud:nth-child(4){top:325px}}@media (max-width: 800px){div.tb-container header .tb-modules{grid-template-columns:repeat(3,180px)}}@media (max-width: 600px){div.tb-container header .tb-modules{grid-template-columns:repeat(2,180px)}}\n"] }]
102
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.SessionStorageService }, { type: i3.HttpCancelService }, { type: i4.AppConfigService }, { type: i5.ActivatedRoute }], propDecorators: { click: [{
128
103
  type: HostListener,
129
104
  args: ['document:click', ['$event']]
130
105
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL2NvbXBvbmVudHMvY29tbW9uLXBhZ2VzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL2NvbXBvbmVudHMvY29tbW9uLXBhZ2VzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUl6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7QUFVMUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFlbkQsWUFBb0IsS0FBWSxFQUFVLHFCQUE0QyxF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bnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGFwcE1vZHVsZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvcm91dGVyLXRyYW5zaXRpb24uYW5pbWF0aW9uJztcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMva2V5cy1jb25zdGFudHMnO1xuaW1wb3J0IHsgQXBwU2VjdGlvbkxhYmVsLCBBcHBTZWN0aW9uTW9kdWxlTWVudU9yZGVyLCBBcHBTZWN0aW9uUm91dGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hcHAtc2VjdGlvbi5lbnVtJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IEljb25zSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vbW9kdWxlcy9hdXRoL21vZGVsL3VzZXItaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2FuY2VsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h0dHAtY2FuY2VsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAndGItZXJyb3ItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXJyb3ItcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbYXBwTW9kdWxlQW5pbWF0aW9uKCldLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JQYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRyYXdlckNvbGxhcHNlZCA9IHRydWU7XG4gIHB1YmxpYyBpc0Nsb3VkOiBib29sZWFuO1xuICBwdWJsaWMgc3RhdHVzQ29kZUVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXNDb2RlRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBhbmltYXRpb25QYXVzZWQgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnbWVudUJ1dHRvbicpIG1lbnVCdXR0b246IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIGFwcFNlY3Rpb25MYWJlbCA9IEFwcFNlY3Rpb25MYWJlbDtcbiAgaWNvbnNIZWxwZXIgPSBJY29uc0hlbHBlcjtcblxuICBhcHBTZWN0aW9uTW9kdWxlTWVudTogQXBwTW9kdWxlW107XG4gIGRlZmF1bHRNb2R1bGU6IEFwcE1vZHVsZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDYW5jZWxTZXJ2aWNlOiBIdHRwQ2FuY2VsU2VydmljZSwgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJVc2VyTW9kdWxlcygpO1xuICAgIHRoaXMuZXh0cmFjdGVkRXJyb3JDbGFzcyh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLmh0dHBDYW5jZWxTZXJ2aWNlLmNhbmNlbFBlbmRpbmdSZXF1ZXN0cygpO1xuICAgIHRoaXMuaXNDbG91ZCA9IHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUgPT09IEFwcFR5cGUuQ2xvdWQ7XG4gIH1cblxuICAvKiogTW92aW5nIGNvbnRlbnQgYmVzaWRlIHRleHQgbmVlZHMgYSB3YXkgdG8gc3RvcCBpdCAoV0NBRyAyLjIuMikuICovXG4gIHRvZ2dsZUFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvblBhdXNlZCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3RiLXN0aWxsJyk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RlZEVycm9yQ2xhc3MoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgdGhpcy5zdGF0dXNDb2RlRXJyb3IgPSBhY3RpdmF0ZWRSb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoID09PSAnKionID8gJzQwNCcgOiBhY3RpdmF0ZWRSb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoO1xuICAgIHRoaXMuc3RhdHVzQ29kZUVycm9yTWVzc2FnZSA9IHRoaXMuc3RhdHVzQ29kZUVycm9yID09PSAnNDA0JyA/IHRoaXMuTC5lcnJvcl9wYWdlX21lc3NhZ2VfNDA0IDogdGhpcy5MLmVycm9yX3BhZ2VfbWVzc2FnZV80MDM7XG4gIH1cblxuICBmaWx0ZXJVc2VyTW9kdWxlcygpIHtcbiAgICBjb25zdCB1c2VySW5mbzogVXNlckluZm8gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5sb2dnZWRVc2VySW5mbyk7XG4gICAgaWYgKHVzZXJJbmZvPy5wZXJtaXNzaW9uSW5mbykge1xuICAgICAgY29uc3QgY3VycmVudEFwcFR5cGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgICAgc3dpdGNoIChjdXJyZW50QXBwVHlwZSkge1xuICAgICAgICBjYXNlIEFwcFR5cGUuRWRnZTpcbiAgICAgICAgICB0aGlzLmFwcFNlY3Rpb25Nb2R1bGVNZW51ID0gW0FwcE1vZHVsZS5NYW5hZ2VtZW50XTtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRNb2R1bGUgPSBBcHBNb2R1bGUuTWFuYWdlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBcHBUeXBlLk1vYmlsZTpcbiAgICAgICAgY2FzZSBBcHBUeXBlLkNsb3VkOlxuICAgICAgICAgIC8vIFNQUkszLTE0NDIzOiBsb2dnZWRVc2VySW5mbyBpcyBrZXllZCBieSB0aGUgdGVuYW50IGxhc3QgbG9nZ2VkIGludG8sIG5vdCBieSB0aGVcbiAgICAgICAgICAvLyB0ZW5hbnQgaW4gdGhlIFVSTCwgc28gaXQgc3RheXMgcG9wdWxhdGVkIGZvciBhIHRlbmFudCB0aGUgdXNlciBoYXMgbm8gc2Vzc2lvblxuICAgICAgICAgIC8vIGZvci4gT2ZmZXJpbmcgbW9kdWxlIGxpbmtzIHRoZXJlIHdvdWxkIGxldCBhbiB1bmtub3duIHRlbmFudCdzIGVycm9yIHBhZ2Ugc2hvd1xuICAgICAgICAgIC8vIHRlbmFudC1zY29wZWQgbmF2aWdhdGlvbi4gQSB0ZW5hbnQgd2l0aCBubyByZXNvbHZlZCBzZXNzaW9uIGhhcyBubyB0ZW5hbnRJbmZvLlxuICAgICAgICAgIC8vIEFwcGxpZXMgdG8gTW9iaWxlIGFzIHdlbGwgYXMgQ2xvdWQ6IGJvdGggdGFrZSB0aGUgdGVuYW50IGZyb20gYSA6dGVuYW50IHJvdXRlXG4gICAgICAgICAgLy8gcGFyYW0gYW5kIGJvdGggbGVhdmUgdGVuYW50SW5mbyB1bnNldCB3aGVuIHRoYXQgdGVuYW50IGZhaWxzIHRvIHJlc29sdmUuXG4gICAgICAgICAgaWYgKCF0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYXBwU2VjdGlvbk1vZHVsZU1lbnUgPSBBcHBTZWN0aW9uTW9kdWxlTWVudU9yZGVyLmZpbHRlcihhcHAgPT4gdXNlckluZm8ucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG0gPT4gbS5tb2R1bGUgPT09IGFwcCkpO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdE1vZHVsZSA9IHVzZXJJbmZvLnBlcm1pc3Npb25JbmZvLmRlZmF1bHRNb2R1bGU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZVRvTW9kdWxlKGFwcE1vZHVsZTogQXBwTW9kdWxlKSB7XG4gICAgdGhpcy5uYXZpZ2F0ZVRvUm91dGUoYXBwTW9kdWxlKTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9EZWZhdWx0Um91dGUoKSB7XG4gICAgY29uc3QgaXNUZW5hbnRMZXNzTW9kZSA9ICF0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS50ZW5hbnRJbmZvKTtcbiAgICBpZiAoaXNUZW5hbnRMZXNzTW9kZSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUoWycnXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9Sb3V0ZSh0aGlzLmRlZmF1bHRNb2R1bGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb1JvdXRlKGFwcE1vZHVsZTogQXBwTW9kdWxlKSB7XG4gICAgbGV0IHJvdXRlID0gWycnXTtcbiAgICBpZiAodGhpcy5pc0Nsb3VkKSB7XG4gICAgICBjb25zdCB0ZW5hbnRJbmZvID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUubG9nZ2VkVGVuYW50SW5mbyk7XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKFRFTkFOVF9LRVksIHRlbmFudEluZm8/LnRlbmFudE5hbWUpO1xuICAgICAgcm91dGUgPSBbYC8ke3RlbmFudEluZm8/LnRlbmFudE5hbWV9YF0uY29uY2F0KEFwcFNlY3Rpb25Sb3V0ZS5nZXQoYXBwTW9kdWxlKSk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlKHJvdXRlKSk7XG4gIH1cblxuICAvKiogT3BlbmluZyB0aGUgbmFycm93LXNjcmVlbiBtZW51IG1vdmVzIGZvY3VzIHRvIGl0cyBmaXJzdCBtb2R1bGUuICovXG4gIHRvZ2dsZURyYXdlcigpIHtcbiAgICB0aGlzLmRyYXdlckNvbGxhcHNlZCA9ICF0aGlzLmRyYXdlckNvbGxhcHNlZDtcbiAgICBpZiAoIXRoaXMuZHJhd2VyQ29sbGFwc2VkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcudGItbW9kdWxlJyk/LmZvY3VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJylcbiAgY2xvc2VEcmF3ZXJGcm9tS2V5Ym9hcmQoKSB7XG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbGxhcHNlZCkge1xuICAgICAgdGhpcy5kcmF3ZXJDb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5tZW51QnV0dG9uPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBjbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZHJhd2VyQ29sbGFwc2VkKSB7XG4gICAgICB0aGlzLmRyYXdlckNvbGxhcHNlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGItY29udGFpbmVyXCIgW0Byb3V0ZXJUcmFuc2l0aW9uXT5cbiAgPGhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwidGItZmxleCB0Yi1hbGlnbi1pdGVtcy1jZW50ZXIgdGItZnVsbC1oZWlnaHQgdGItc3BhY2UtYmV0d2VlbiB0Yi1mbGV4LWdyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLWxvZ28gdGItZmxleC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRiLWxvZ29cIiAoY2xpY2spPVwibmF2aWdhdGVUb0RlZmF1bHRSb3V0ZSgpXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNtZW51QnV0dG9uIGNsYXNzPVwidGItYnV0dG9uIHRiLW1yLTI4XCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhZHJhd2VyQ29sbGFwc2VkXCIgYXJpYS1jb250cm9scz1cInRiLWVycm9yLXBhZ2UtbW9kdWxlc1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiTC5tb2R1bGVzIHwgdHJhbnNsYXRlTG9jYWwgfCBhc3luY1wiIChjbGljayk9XCJ0b2dnbGVEcmF3ZXIoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiPlxuICAgICAgICA8dGItaWNvbiBbc2V0dGluZ3NdPVwiaWNvbnNIZWxwZXIudGhyZWVfYmFyc19tb2JpbGVcIiBjbGFzcz1cInRiLWljb24gdGItaWNvbi0zMFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvdGItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxuYXYgaWQ9XCJ0Yi1lcnJvci1wYWdlLW1vZHVsZXNcIiBjbGFzcz1cInRiLW1vZHVsZXNcIiBbY2xhc3MuZHJhd2VyLWNvbGxhcHNlZF09XCJkcmF3ZXJDb2xsYXBzZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIkwubW9kdWxlcyB8IHRyYW5zbGF0ZUxvY2FsIHwgYXN5bmNcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGItbW9kdWxlXCIgKm5nRm9yPVwibGV0IGFwcFNlY3Rpb25LZXkgb2YgYXBwU2VjdGlvbk1vZHVsZU1lbnVcIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb01vZHVsZShhcHBTZWN0aW9uS2V5KVwiPlxuICAgICAgICA8dGItaWNvbiBbc2V0dGluZ3NdPVwiaWNvbnNIZWxwZXJbYXBwU2VjdGlvbkxhYmVsLmdldChhcHBTZWN0aW9uS2V5KSArICdfYmx1ZSddXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC90Yi1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRiLW1lbnUtaGVhZGVyLXRleHRcIj4ge3thcHBTZWN0aW9uTGFiZWwuZ2V0KGFwcFNlY3Rpb25LZXkpIHwgdHJhbnNsYXRlTG9jYWwgfCBhc3luY319PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uYXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxtYWluPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNlY3Rpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICA8aDEgY2xhc3M9XCJoZWFkaW5nXCI+e3sgc3RhdHVzQ29kZUVycm9yIH19PC9oMT5cbiAgICAgICAgICA8cCBjbGFzcz1cInN1YmhlYWRpbmdcIj57eyBzdGF0dXNDb2RlRXJyb3JNZXNzYWdlIHwgdHJhbnNsYXRlTG9jYWwgfCBhc3luYyB9fTwvcD5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRiLWFuaW1hdGlvbi10b2dnbGVcIiAoY2xpY2spPVwidG9nZ2xlQW5pbWF0aW9uKClcIj5cbiAgICAgICAgICAgIHt7IChhbmltYXRpb25QYXVzZWQgPyBMLnBsYXlfYW5pbWF0aW9uIDogTC5wYXVzZV9hbmltYXRpb24pIHwgdHJhbnNsYXRlTG9jYWwgfCBhc3luYyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNlY3Rpb25cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwibW91bnRhaW5zLWltYWdlXCIgc3JjPVwiYXNzZXRzL21vdW50YWlucy17e3N0YXR1c0NvZGVFcnJvcn19LnN2Z1wiPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJzdGF0dXNDb2RlRXJyb3I9PSc0MDQnXCIgY2xhc3M9XCJibHVlLWdhdGVcIiBzcmM9XCJhc3NldHMvYmx1ZS1nYXRlLnN2Z1wiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjbG91ZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbG91ZCBiYWNrZ3JvdW5kIGxpZ2h0LWJsdWUtY2xvdWRcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbG91ZCBmb3JlZ3JvdW5kIGxpZ2h0LWJsdWUtY2xvdWRcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbG91ZCBiYWNrZ3JvdW5kIGdyZXktY2xvdWRcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbG91ZCBiYWNrZ3JvdW5kIGxpZ2h0LWJsdWUtY2xvdWRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYWluPlxuPC9kaXY+Il19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL2NvbXBvbmVudHMvY29tbW9uLXBhZ2VzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL2NvbXBvbmVudHMvY29tbW9uLXBhZ2VzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztBQVUxRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtJQWFuRCxZQUFvQixLQUFZLEVBQVUscUJBQTRDLEVBQzVFLGlCQUFv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RUFBRSxDQUFDOzs0RkFHdkIsa0JBQWtCO2tCQVI5QixTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsZUFBZSxjQUdiLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxjQUN0QixLQUFLOzBNQXVGakIsS0FBSztzQkFESixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGFwcE1vZHVsZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvcm91dGVyLXRyYW5zaXRpb24uYW5pbWF0aW9uJztcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMva2V5cy1jb25zdGFudHMnO1xuaW1wb3J0IHsgQXBwU2VjdGlvbkxhYmVsLCBBcHBTZWN0aW9uTW9kdWxlTWVudU9yZGVyLCBBcHBTZWN0aW9uUm91dGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hcHAtc2VjdGlvbi5lbnVtJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IEljb25zSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vbW9kdWxlcy9hdXRoL21vZGVsL3VzZXItaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2FuY2VsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h0dHAtY2FuY2VsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAndGItZXJyb3ItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXJyb3ItcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbYXBwTW9kdWxlQW5pbWF0aW9uKCldLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JQYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRyYXdlckNvbGxhcHNlZCA9IHRydWU7XG4gIHB1YmxpYyBpc0Nsb3VkOiBib29sZWFuO1xuICBwdWJsaWMgc3RhdHVzQ29kZUVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXNDb2RlRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgYXBwU2VjdGlvbkxhYmVsID0gQXBwU2VjdGlvbkxhYmVsO1xuICBpY29uc0hlbHBlciA9IEljb25zSGVscGVyO1xuXG4gIGFwcFNlY3Rpb25Nb2R1bGVNZW51OiBBcHBNb2R1bGVbXTtcbiAgZGVmYXVsdE1vZHVsZTogQXBwTW9kdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cENhbmNlbFNlcnZpY2U6IEh0dHBDYW5jZWxTZXJ2aWNlLCBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlclVzZXJNb2R1bGVzKCk7XG4gICAgdGhpcy5leHRyYWN0ZWRFcnJvckNsYXNzKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xuICAgIHRoaXMuaHR0cENhbmNlbFNlcnZpY2UuY2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7XG4gICAgdGhpcy5pc0Nsb3VkID0gdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkuYXBwVHlwZSA9PT0gQXBwVHlwZS5DbG91ZDtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdGVkRXJyb3JDbGFzcyhhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLnN0YXR1c0NvZGVFcnJvciA9IGFjdGl2YXRlZFJvdXRlLnJvdXRlQ29uZmlnLnBhdGggPT09ICcqKicgPyAnNDA0JyA6IGFjdGl2YXRlZFJvdXRlLnJvdXRlQ29uZmlnLnBhdGg7XG4gICAgdGhpcy5zdGF0dXNDb2RlRXJyb3JNZXNzYWdlID0gdGhpcy5zdGF0dXNDb2RlRXJyb3IgPT09ICc0MDQnID8gdGhpcy5MLmVycm9yX3BhZ2VfbWVzc2FnZV80MDQgOiB0aGlzLkwuZXJyb3JfcGFnZV9tZXNzYWdlXzQwMztcbiAgfVxuXG4gIGZpbHRlclVzZXJNb2R1bGVzKCkge1xuICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLmxvZ2dlZFVzZXJJbmZvKTtcbiAgICBpZiAodXNlckluZm8/LnBlcm1pc3Npb25JbmZvKSB7XG4gICAgICBjb25zdCBjdXJyZW50QXBwVHlwZSA9IHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGU7XG4gICAgICBzd2l0Y2ggKGN1cnJlbnRBcHBUeXBlKSB7XG4gICAgICAgIGNhc2UgQXBwVHlwZS5FZGdlOlxuICAgICAgICAgIHRoaXMuYXBwU2VjdGlvbk1vZHVsZU1lbnUgPSBbQXBwTW9kdWxlLk1hbmFnZW1lbnRdO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdE1vZHVsZSA9IEFwcE1vZHVsZS5NYW5hZ2VtZW50O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFwcFR5cGUuTW9iaWxlOlxuICAgICAgICBjYXNlIEFwcFR5cGUuQ2xvdWQ6XG4gICAgICAgICAgLy8gU1BSSzMtMTQ0MjM6IGxvZ2dlZFVzZXJJbmZvIGlzIGtleWVkIGJ5IHRoZSB0ZW5hbnQgbGFzdCBsb2dnZWQgaW50bywgbm90IGJ5IHRoZVxuICAgICAgICAgIC8vIHRlbmFudCBpbiB0aGUgVVJMLCBzbyBpdCBzdGF5cyBwb3B1bGF0ZWQgZm9yIGEgdGVuYW50IHRoZSB1c2VyIGhhcyBubyBzZXNzaW9uXG4gICAgICAgICAgLy8gZm9yLiBPZmZlcmluZyBtb2R1bGUgbGlua3MgdGhlcmUgd291bGQgbGV0IGFuIHVua25vd24gdGVuYW50J3MgZXJyb3IgcGFnZSBzaG93XG4gICAgICAgICAgLy8gdGVuYW50LXNjb3BlZCBuYXZpZ2F0aW9uLiBBIHRlbmFudCB3aXRoIG5vIHJlc29sdmVkIHNlc3Npb24gaGFzIG5vIHRlbmFudEluZm8uXG4gICAgICAgICAgLy8gQXBwbGllcyB0byBNb2JpbGUgYXMgd2VsbCBhcyBDbG91ZDogYm90aCB0YWtlIHRoZSB0ZW5hbnQgZnJvbSBhIDp0ZW5hbnQgcm91dGVcbiAgICAgICAgICAvLyBwYXJhbSBhbmQgYm90aCBsZWF2ZSB0ZW5hbnRJbmZvIHVuc2V0IHdoZW4gdGhhdCB0ZW5hbnQgZmFpbHMgdG8gcmVzb2x2ZS5cbiAgICAgICAgICBpZiAoIXRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnRlbmFudEluZm8pKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hcHBTZWN0aW9uTW9kdWxlTWVudSA9IEFwcFNlY3Rpb25Nb2R1bGVNZW51T3JkZXIuZmlsdGVyKGFwcCA9PiB1c2VySW5mby5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobSA9PiBtLm1vZHVsZSA9PT0gYXBwKSk7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0TW9kdWxlID0gdXNlckluZm8ucGVybWlzc2lvbkluZm8uZGVmYXVsdE1vZHVsZTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlVG9Nb2R1bGUoYXBwTW9kdWxlOiBBcHBNb2R1bGUpIHtcbiAgICB0aGlzLm5hdmlnYXRlVG9Sb3V0ZShhcHBNb2R1bGUpO1xuICB9XG5cbiAgbmF2aWdhdGVUb0RlZmF1bHRSb3V0ZSgpIHtcbiAgICBjb25zdCBpc1RlbmFudExlc3NNb2RlID0gIXRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnRlbmFudEluZm8pO1xuICAgIGlmIChpc1RlbmFudExlc3NNb2RlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZShbJyddKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmF2aWdhdGVUb1JvdXRlKHRoaXMuZGVmYXVsdE1vZHVsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvUm91dGUoYXBwTW9kdWxlOiBBcHBNb2R1bGUpIHtcbiAgICBsZXQgcm91dGUgPSBbJyddO1xuICAgIGlmICh0aGlzLmlzQ2xvdWQpIHtcbiAgICAgIGNvbnN0IHRlbmFudEluZm8gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5sb2dnZWRUZW5hbnRJbmZvKTtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oVEVOQU5UX0tFWSwgdGVuYW50SW5mbz8udGVuYW50TmFtZSk7XG4gICAgICByb3V0ZSA9IFtgLyR7dGVuYW50SW5mbz8udGVuYW50TmFtZX1gXS5jb25jYXQoQXBwU2VjdGlvblJvdXRlLmdldChhcHBNb2R1bGUpKTtcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGUocm91dGUpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgY2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbGxhcHNlZCkge1xuICAgICAgdGhpcy5kcmF3ZXJDb2xsYXBzZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRiLWNvbnRhaW5lclwiIFtAcm91dGVyVHJhbnNpdGlvbl0+XG4gIDxoZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInRiLWZsZXggdGItYWxpZ24taXRlbXMtY2VudGVyIHRiLWZ1bGwtaGVpZ2h0IHRiLXNwYWNlLWJldHdlZW4gdGItZmxleC1ncm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlci1sb2dvIHRiLWZsZXgtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0Yi1sb2dvXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9EZWZhdWx0Um91dGUoKVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGItYnV0dG9uIHRiLW1yLTI4XCIgKGNsaWNrKT1cImRyYXdlckNvbGxhcHNlZCA9ICFkcmF3ZXJDb2xsYXBzZWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cbiAgICAgICAgPHRiLWljb24gW3NldHRpbmdzXT1cImljb25zSGVscGVyLnRocmVlX2JhcnNfbW9iaWxlXCIgY2xhc3M9XCJ0Yi1pY29uIHRiLWljb24tMzBcIj48L3RiLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGItbW9kdWxlc1wiIFtjbGFzcy5kcmF3ZXItY29sbGFwc2VkXT1cImRyYXdlckNvbGxhcHNlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRiLW1vZHVsZVwiICpuZ0Zvcj1cImxldCBhcHBTZWN0aW9uS2V5IG9mIGFwcFNlY3Rpb25Nb2R1bGVNZW51XCJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Nb2R1bGUoYXBwU2VjdGlvbktleSlcIj5cbiAgICAgICAgPHRiLWljb24gW3NldHRpbmdzXT1cImljb25zSGVscGVyW2FwcFNlY3Rpb25MYWJlbC5nZXQoYXBwU2VjdGlvbktleSkgKyAnX2JsdWUnXVwiPjwvdGItaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0Yi1tZW51LWhlYWRlci10ZXh0XCI+IHt7YXBwU2VjdGlvbkxhYmVsLmdldChhcHBTZWN0aW9uS2V5KSB8IHRyYW5zbGF0ZUxvY2FsIHwgYXN5bmN9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cblxuICA8bWFpbj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jb250ZW50XCI+XG4gICAgICAgICAgPGgxIGNsYXNzPVwiaGVhZGluZ1wiPnt7IHN0YXR1c0NvZGVFcnJvciB9fTwvaDE+XG4gICAgICAgICAgPHAgY2xhc3M9XCJzdWJoZWFkaW5nXCI+e3sgc3RhdHVzQ29kZUVycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZUxvY2FsIHwgYXN5bmMgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtc2VjdGlvblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJtb3VudGFpbnMtaW1hZ2VcIiBzcmM9XCJhc3NldHMvbW91bnRhaW5zLXt7c3RhdHVzQ29kZUVycm9yfX0uc3ZnXCI+XG4gICAgICAgICAgPGltZyAqbmdJZj1cInN0YXR1c0NvZGVFcnJvcj09JzQwNCdcIiBjbGFzcz1cImJsdWUtZ2F0ZVwiIHNyYz1cImFzc2V0cy9ibHVlLWdhdGUuc3ZnXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cImNsb3Vkc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsb3VkIGJhY2tncm91bmQgbGlnaHQtYmx1ZS1jbG91ZFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNsb3VkIGZvcmVncm91bmQgbGlnaHQtYmx1ZS1jbG91ZFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNsb3VkIGJhY2tncm91bmQgZ3JleS1jbG91ZFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNsb3VkIGJhY2tncm91bmQgbGlnaHQtYmx1ZS1jbG91ZFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21haW4+XG48L2Rpdj4iXX0=
@@ -9,22 +9,12 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  import * as i2 from "@angular/common";
11
11
  import * as i3 from "@ngx-translate/core";
12
- let nextLabelId = 0;
13
- /** How far up from the label to look for its field. */
14
- const FIELD_SEARCH_DEPTH = 4;
15
- const FIELD_SELECTOR = 'input:not([type=hidden]):not([type=checkbox]):not([type=radio]), textarea';
16
12
  export class FieldLabelComponent {
17
- constructor(controlContainer, elementRef) {
13
+ constructor(controlContainer) {
18
14
  this.controlContainer = controlContainer;
19
- this.elementRef = elementRef;
20
- this.labelId = `tb-field-label-${nextLabelId++}`;
21
15
  this.isRequired$ = new BehaviorSubject(false);
22
16
  this.isInvalid$ = new BehaviorSubject(false);
23
17
  }
24
- ngAfterViewInit() {
25
- // ponytail: links once; a field rendered later (behind *ngIf) stays unlinked.
26
- setTimeout(() => this.linkField());
27
- }
28
18
  ngOnInit() {
29
19
  this.control = this.controlContainer.control?.get(this.controlName);
30
20
  if (!this.control) {
@@ -43,29 +33,6 @@ export class FieldLabelComponent {
43
33
  });
44
34
  });
45
35
  }
46
- /** Names the first text field after this label (before the next label) with the label text. */
47
- linkField() {
48
- if (!this.control) {
49
- return;
50
- }
51
- const host = this.elementRef.nativeElement;
52
- const follows = (a, b) => !!(a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING);
53
- let scope = host.parentElement;
54
- for (let depth = 0; scope && depth < FIELD_SEARCH_DEPTH; depth++, scope = scope.parentElement) {
55
- const nextLabel = Array.from(scope.querySelectorAll('[tb-field-label]')).find(label => follows(host, label));
56
- const field = Array.from(scope.querySelectorAll(FIELD_SELECTOR))
57
- .find(candidate => follows(host, candidate) && (!nextLabel || follows(candidate, nextLabel)));
58
- if (field) {
59
- if (!field.hasAttribute('aria-labelledby') && !field.hasAttribute('aria-label') && !field.labels?.length) {
60
- field.setAttribute('aria-labelledby', this.labelId);
61
- }
62
- return;
63
- }
64
- if (nextLabel) {
65
- return;
66
- }
67
- }
68
- }
69
36
  get isControlRequired() {
70
37
  return this.control.hasValidator(Validators.required);
71
38
  }
@@ -78,11 +45,11 @@ export class FieldLabelComponent {
78
45
  this.touchedChangesSubscription?.unsubscribe();
79
46
  });
80
47
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FieldLabelComponent, deps: [{ token: i1.ControlContainer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FieldLabelComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
82
49
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FieldLabelComponent, isStandalone: true, selector: "[tb-field-label]", inputs: { controlName: "controlName", label: "label", ngLabelClass: "ngLabelClass" }, ngImport: i0, template: `
83
50
  <div class="tb-field-label" *ngIf="control">
84
51
  <span class="required-asterisk" *ngIf="isRequired$ | async" [class.required]="isInvalid$ | async">*</span>
85
- <span [id]="labelId" [ngClass]="ngLabelClass">{{ label | translate }}</span>
52
+ <span [ngClass]="ngLabelClass">{{ label | translate }}</span>
86
53
  <ng-content select="[tooltip]"></ng-content>
87
54
  </div>
88
55
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -94,7 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
94
61
  template: `
95
62
  <div class="tb-field-label" *ngIf="control">
96
63
  <span class="required-asterisk" *ngIf="isRequired$ | async" [class.required]="isInvalid$ | async">*</span>
97
- <span [id]="labelId" [ngClass]="ngLabelClass">{{ label | translate }}</span>
64
+ <span [ngClass]="ngLabelClass">{{ label | translate }}</span>
98
65
  <ng-content select="[tooltip]"></ng-content>
99
66
  </div>
100
67
  `,
@@ -105,11 +72,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
105
72
  LocalizationModule
106
73
  ]
107
74
  }]
108
- }], ctorParameters: () => [{ type: i1.ControlContainer }, { type: i0.ElementRef }], propDecorators: { controlName: [{
75
+ }], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { controlName: [{
109
76
  type: Input
110
77
  }], label: [{
111
78
  type: Input
112
79
  }], ngLabelClass: [{
113
80
  type: Input
114
81
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFpQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFFMUUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBRXBCLHVEQUF1RDtBQUN2RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUM3QixNQUFNLGNBQWMsR0FBRywyRUFBMkUsQ0FBQztBQWtCbkcsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixZQUFzQixnQkFBa0MsRUFBVSxVQUFtQztRQUEvRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFONUYsWUFBTyxHQUFHLGtCQUFrQixXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3JELGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLGVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7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QUNQLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtpQkFDRjs4R0FHVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlJztcbmltcG9ydCB7IGV4dHJhY3RUb3VjaGVkQ2hhbmdlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2Fic3RyYWN0LWNvbnRyb2wudXRpbCc7XG5cbmxldCBuZXh0TGFiZWxJZCA9IDA7XG5cbi8qKiBIb3cgZmFyIHVwIGZyb20gdGhlIGxhYmVsIHRvIGxvb2sgZm9yIGl0cyBmaWVsZC4gKi9cbmNvbnN0IEZJRUxEX1NFQVJDSF9ERVBUSCA9IDQ7XG5jb25zdCBGSUVMRF9TRUxFQ1RPUiA9ICdpbnB1dDpub3QoW3R5cGU9aGlkZGVuXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksIHRleHRhcmVhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RiLWZpZWxkLWxhYmVsXScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInRiLWZpZWxkLWxhYmVsXCIgKm5nSWY9XCJjb250cm9sXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWFzdGVyaXNrXCIgKm5nSWY9XCJpc1JlcXVpcmVkJCB8IGFzeW5jXCIgW2NsYXNzLnJlcXVpcmVkXT1cImlzSW52YWxpZCQgfCBhc3luY1wiPio8L3NwYW4+XG4gICAgICA8c3BhbiBbaWRdPVwibGFiZWxJZFwiIFtuZ0NsYXNzXT1cIm5nTGFiZWxDbGFzc1wiPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2x0aXBdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZExhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5nTGFiZWxDbGFzczogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHtcbiAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgfTtcblxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHJlYWRvbmx5IGxhYmVsSWQgPSBgdGItZmllbGQtbGFiZWwtJHtuZXh0TGFiZWxJZCsrfWA7XG4gIGlzUmVxdWlyZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgaXNJbnZhbGlkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRvdWNoZWRDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBwb255dGFpbDogbGlua3Mgb25jZTsgYSBmaWVsZCByZW5kZXJlZCBsYXRlciAoYmVoaW5kICpuZ0lmKSBzdGF5cyB1bmxpbmtlZC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubGlua0ZpZWxkKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250cm9sID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2w/LmdldCh0aGlzLmNvbnRyb2xOYW1lKTtcblxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzUmVxdWlyZWQkLm5leHQodGhpcy5pc0NvbnRyb2xSZXF1aXJlZCk7XG4gICAgICB0aGlzLmlzSW52YWxpZCQubmV4dCh0aGlzLmlzQ29udHJvbEludmFsaWQpO1xuICAgICAgdGhpcy5zdGF0dXNDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1JlcXVpcmVkJC5uZXh0KHRoaXMuaXNDb250cm9sUmVxdWlyZWQpO1xuICAgICAgICB0aGlzLmlzSW52YWxpZCQubmV4dCh0aGlzLmlzQ29udHJvbEludmFsaWQpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRvdWNoZWRDaGFuZ2VzU3Vic2NyaXB0aW9uID0gZXh0cmFjdFRvdWNoZWRDaGFuZ2VzKHRoaXMuY29udHJvbCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGlzVG91Y2hlZCkgPT4ge1xuICAgICAgICB0aGlzLmlzUmVxdWlyZWQkLm5leHQodGhpcy5pc0NvbnRyb2xSZXF1aXJlZCk7XG4gICAgICAgIHRoaXMuaXNJbnZhbGlkJC5uZXh0KCEhdGhpcy5jb250cm9sLmVycm9ycz8ucmVxdWlyZWQgJiYgaXNUb3VjaGVkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIE5hbWVzIHRoZSBmaXJzdCB0ZXh0IGZpZWxkIGFmdGVyIHRoaXMgbGFiZWwgKGJlZm9yZSB0aGUgbmV4dCBsYWJlbCkgd2l0aCB0aGUgbGFiZWwgdGV4dC4gKi9cbiAgcHJpdmF0ZSBsaW5rRmllbGQoKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGZvbGxvd3MgPSAoYTogTm9kZSwgYjogTm9kZSkgPT4gISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKTtcbiAgICBsZXQgc2NvcGUgPSBob3N0LnBhcmVudEVsZW1lbnQ7XG4gICAgZm9yIChsZXQgZGVwdGggPSAwOyBzY29wZSAmJiBkZXB0aCA8IEZJRUxEX1NFQVJDSF9ERVBUSDsgZGVwdGgrKywgc2NvcGUgPSBzY29wZS5wYXJlbnRFbGVtZW50KSB7XG4gICAgICBjb25zdCBuZXh0TGFiZWwgPSBBcnJheS5mcm9tKHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0Yi1maWVsZC1sYWJlbF0nKSkuZmluZChsYWJlbCA9PiBmb2xsb3dzKGhvc3QsIGxhYmVsKSk7XG4gICAgICBjb25zdCBmaWVsZCA9IEFycmF5LmZyb20oc2NvcGUucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oRklFTERfU0VMRUNUT1IpKVxuICAgICAgICAuZmluZChjYW5kaWRhdGUgPT4gZm9sbG93cyhob3N0LCBjYW5kaWRhdGUpICYmICghbmV4dExhYmVsIHx8IGZvbGxvd3MoY2FuZGlkYXRlLCBuZXh0TGFiZWwpKSk7XG4gICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgaWYgKCFmaWVsZC5oYXNBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpICYmICFmaWVsZC5oYXNBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSAmJiAhKGZpZWxkIGFzIEhUTUxJbnB1dEVsZW1lbnQpLmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgZmllbGQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCB0aGlzLmxhYmVsSWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0TGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBpc0NvbnRyb2xSZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgfVxuXG4gIGdldCBpc0NvbnRyb2xJbnZhbGlkKCkge1xuICAgIHJldHVybiAhIXRoaXMuY29udHJvbC5lcnJvcnM/LnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC50b3VjaGVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnRvdWNoZWRDaGFuZ2VzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQXFDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQWtCMUUsTUFBTSxPQUFPLG1CQUFtQjtJQWM5QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUx4RCxnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxlQUFVLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBS2xFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLDBCQUEwQixHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN6SCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVc7UUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbkRVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtLQWRwQjs7Ozs7O0dBTVQsMkRBSUMsWUFBWSxxUkFDWixrQkFBa0I7OzRGQUdULG1CQUFtQjtrQkFoQi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjtxQkFDbkI7aUJBQ0Y7cUZBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xDb250YWluZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBleHRyYWN0VG91Y2hlZENoYW5nZXMgfSBmcm9tICcuLi8uLi91dGlscy9hYnN0cmFjdC1jb250cm9sLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbdGItZmllbGQtbGFiZWxdJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidGItZmllbGQtbGFiZWxcIiAqbmdJZj1cImNvbnRyb2xcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtYXN0ZXJpc2tcIiAqbmdJZj1cImlzUmVxdWlyZWQkIHwgYXN5bmNcIiBbY2xhc3MucmVxdWlyZWRdPVwiaXNJbnZhbGlkJCB8IGFzeW5jXCI+Kjwvc3Bhbj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm5nTGFiZWxDbGFzc1wiPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2x0aXBdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZExhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5nTGFiZWxDbGFzczogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHtcbiAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgfTtcblxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGlzUmVxdWlyZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgaXNJbnZhbGlkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRvdWNoZWRDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sPy5nZXQodGhpcy5jb250cm9sTmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc1JlcXVpcmVkJC5uZXh0KHRoaXMuaXNDb250cm9sUmVxdWlyZWQpO1xuICAgICAgdGhpcy5pc0ludmFsaWQkLm5leHQodGhpcy5pc0NvbnRyb2xJbnZhbGlkKTtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNSZXF1aXJlZCQubmV4dCh0aGlzLmlzQ29udHJvbFJlcXVpcmVkKTtcbiAgICAgICAgdGhpcy5pc0ludmFsaWQkLm5leHQodGhpcy5pc0NvbnRyb2xJbnZhbGlkKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy50b3VjaGVkQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IGV4dHJhY3RUb3VjaGVkQ2hhbmdlcyh0aGlzLmNvbnRyb2wpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKChpc1RvdWNoZWQpID0+IHtcbiAgICAgICAgdGhpcy5pc1JlcXVpcmVkJC5uZXh0KHRoaXMuaXNDb250cm9sUmVxdWlyZWQpO1xuICAgICAgICB0aGlzLmlzSW52YWxpZCQubmV4dCghIXRoaXMuY29udHJvbC5lcnJvcnM/LnJlcXVpcmVkICYmIGlzVG91Y2hlZCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0NvbnRyb2xSZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgfVxuXG4gIGdldCBpc0NvbnRyb2xJbnZhbGlkKCkge1xuICAgIHJldHVybiAhIXRoaXMuY29udHJvbC5lcnJvcnM/LnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC50b3VjaGVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnRvdWNoZWRDaGFuZ2VzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=