@testgorilla/tgo-ui 2.23.43 → 2.23.45

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 (72) hide show
  1. package/components/alert-banner/alert-banner.component.d.ts +5 -3
  2. package/components/autocomplete/autocomplete.component.d.ts +5 -3
  3. package/components/button/button.component.d.ts +5 -3
  4. package/components/checkbox/checkbox.component.d.ts +5 -3
  5. package/components/datepicker/datepicker.component.d.ts +5 -3
  6. package/components/dialog/dialog.component.d.ts +5 -3
  7. package/components/dropdown/dropdown.component.d.ts +5 -3
  8. package/components/empty-state/empty-state.component.d.ts +5 -3
  9. package/components/field/field.component.d.ts +5 -3
  10. package/components/file-upload/file-upload.component.d.ts +5 -3
  11. package/components/icon/icon.component.d.ts +2 -1
  12. package/components/multi-input/multi-input.component.d.ts +5 -3
  13. package/components/navbar/navbar.component.d.ts +5 -3
  14. package/components/overflow-menu/overflow-menu.component.d.ts +5 -3
  15. package/components/page-header/page-header.component.d.ts +5 -3
  16. package/components/password-criteria/password.component.d.ts +5 -3
  17. package/components/password-strength/password-strength.component.d.ts +5 -3
  18. package/components/phone-input/phone-input.component.d.ts +5 -3
  19. package/components/progress-bar/progress-bar.component.d.ts +5 -3
  20. package/components/side-panel/side-panel.component.d.ts +5 -3
  21. package/components/side-sheet/side-sheet.component.d.ts +5 -3
  22. package/components/slider/slider.component.d.ts +5 -3
  23. package/components/snackbar/snackbar.component.d.ts +5 -3
  24. package/components/spinner/spinner.component.d.ts +5 -3
  25. package/components/stepper/stepper.component.d.ts +5 -3
  26. package/components/tag/tag.component.d.ts +5 -3
  27. package/components/toggle/toggle.component.d.ts +5 -3
  28. package/components/validation-error/validation-error.component.d.ts +5 -2
  29. package/esm2022/components/accordion/accordion.component.mjs +1 -1
  30. package/esm2022/components/alert-banner/alert-banner.component.mjs +16 -5
  31. package/esm2022/components/autocomplete/autocomplete.component.mjs +16 -5
  32. package/esm2022/components/avatar/avatar.component.mjs +1 -1
  33. package/esm2022/components/badge/badge.component.mjs +1 -1
  34. package/esm2022/components/button/button.component.mjs +16 -5
  35. package/esm2022/components/card/card.component.mjs +1 -1
  36. package/esm2022/components/checkbox/checkbox.component.mjs +15 -4
  37. package/esm2022/components/datepicker/datepicker.component.mjs +16 -5
  38. package/esm2022/components/dialog/dialog.component.mjs +14 -3
  39. package/esm2022/components/dropdown/dropdown.component.mjs +16 -5
  40. package/esm2022/components/empty-state/empty-state.component.mjs +15 -4
  41. package/esm2022/components/field/field.component.mjs +16 -5
  42. package/esm2022/components/file-upload/file-upload.component.mjs +15 -4
  43. package/esm2022/components/icon/icon.component.mjs +28 -16
  44. package/esm2022/components/icon-label/icon-label.component.mjs +1 -1
  45. package/esm2022/components/multi-input/multi-input.component.mjs +16 -5
  46. package/esm2022/components/navbar/navbar.component.mjs +16 -5
  47. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +16 -5
  48. package/esm2022/components/page-header/page-header.component.mjs +14 -3
  49. package/esm2022/components/password-criteria/password.component.mjs +17 -6
  50. package/esm2022/components/password-strength/password-strength.component.mjs +15 -4
  51. package/esm2022/components/phone-input/phone-input.component.mjs +15 -4
  52. package/esm2022/components/progress-bar/progress-bar.component.mjs +14 -3
  53. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +1 -1
  54. package/esm2022/components/side-panel/side-panel.component.mjs +16 -5
  55. package/esm2022/components/side-sheet/side-sheet.component.mjs +15 -4
  56. package/esm2022/components/slider/slider.component.mjs +15 -4
  57. package/esm2022/components/snackbar/snackbar.component.mjs +16 -5
  58. package/esm2022/components/spinner/spinner.component.mjs +14 -3
  59. package/esm2022/components/step/step.component.mjs +1 -1
  60. package/esm2022/components/stepper/stepper.component.mjs +15 -4
  61. package/esm2022/components/table/table.component.mjs +2 -2
  62. package/esm2022/components/tabs/tabs.component.mjs +1 -1
  63. package/esm2022/components/tag/tag.component.mjs +15 -4
  64. package/esm2022/components/toggle/toggle.component.mjs +15 -4
  65. package/esm2022/components/validation-error/validation-error.component.mjs +17 -6
  66. package/esm2022/public-api.mjs +3 -1
  67. package/esm2022/tokens/app-lang.token.mjs +3 -0
  68. package/fesm2022/testgorilla-tgo-ui.mjs +372 -115
  69. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  70. package/package.json +1 -1
  71. package/public-api.d.ts +1 -0
  72. package/tokens/app-lang.token.d.ts +2 -0
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, signal, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
2
2
  import { MatMenu, MatMenuTrigger } from "@angular/material/menu";
3
3
  import { LanguageService } from "../../utils/localization/language.service";
4
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/cdk/a11y";
6
7
  import * as i2 from "@angular/common";
@@ -10,11 +11,13 @@ import * as i5 from "@angular/material/button";
10
11
  import * as i6 from "@angular/material/tooltip";
11
12
  import * as i7 from "../../directives/ellipse-text.directive";
12
13
  import * as i8 from "../../pipes/ui-translate.pipe";
14
+ import * as i9 from "../../utils/localization/language.model";
13
15
  export class OverflowMenuComponent {
14
- constructor(defaultAppTheme, focusMonitor, ngZone) {
16
+ constructor(defaultAppTheme, focusMonitor, ngZone, appLang) {
15
17
  this.defaultAppTheme = defaultAppTheme;
16
18
  this.focusMonitor = focusMonitor;
17
19
  this.ngZone = ngZone;
20
+ this.appLang = appLang;
18
21
  /**
19
22
  * Menu icon trigger
20
23
  *
@@ -67,6 +70,9 @@ export class OverflowMenuComponent {
67
70
  if (defaultAppTheme) {
68
71
  this.applicationTheme = defaultAppTheme;
69
72
  }
73
+ if (appLang) {
74
+ this.language = appLang;
75
+ }
70
76
  }
71
77
  ngOnInit() {
72
78
  this.createSubmenus(this.buttons, "s0", 1);
@@ -159,8 +165,8 @@ export class OverflowMenuComponent {
159
165
  }, 300);
160
166
  }
161
167
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OverflowMenuComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: { buttons: "buttons", iconTrigger: "iconTrigger", menuLabel: "menuLabel", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", describedby: "describedby", language: "language" }, outputs: { selectItem: "selectItem", menuOpened: "menuOpened", menuClosed: "menuClosed" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }, { propertyName: "matmenus", predicate: MatMenu, descendants: true }, { propertyName: "matTrigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n\n <button\n #buttonElement\n mat-icon-button\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu #matMenu class=\"overflow-menu\" [overlapTrigger]=\"false\" backdropClass=\"overflow-menu-backdrop\">\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button);\"\n (blur)=\"onButtonBlur(button)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n [disableRipple]=\"true\"\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.isTextEllipsed ? button.label : ''\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span\n [id]=\"'describedby-' + button.label + id\"\n [style.display]=\"'none'\"\n >\n {{ button.disabled ? ('MENU.MENUITEM_DISABLED' | uiTranslate : language) + ' ' + (button.describedby || '') : button.describedby }}\n </span>\n <ui-icon\n [name]=\"button.icon\"\n [filled]=\"button.disabled ? false : !!button.isFocused\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span>\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;height:40px;width:40px;border-radius:50px;border:unset;display:flex;align-items:center;justify-content:center;cursor:pointer}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i8.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OverflowMenuComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: OverflowMenuComponent, selector: "ui-overflow-menu", inputs: { buttons: "buttons", iconTrigger: "iconTrigger", menuLabel: "menuLabel", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", describedby: "describedby", language: "language" }, outputs: { selectItem: "selectItem", menuOpened: "menuOpened", menuClosed: "menuClosed" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }, { propertyName: "matmenus", predicate: MatMenu, descendants: true }, { propertyName: "matTrigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"overflow-menu-container\" [attr.theme]=\"applicationTheme\">\n\n <button\n #buttonElement\n mat-icon-button\n *ngIf=\"isMenuRendered()\"\n [matMenuTriggerFor]=\"matmenus.first\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isMenuOpened()\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"onMenuClosed()\"\n class=\"overflow-menu-opener\"\n [matTooltip]=\"menuLabel\"\n >\n <span [id]=\"'describedby'\" [style.display]=\"'none'\">{{ describedby }}</span>\n <ui-icon\n [name]=\"iconTrigger\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n ></ui-icon>\n </button>\n\n @for (menu of submenus; track menu) {\n <mat-menu #matMenu class=\"overflow-menu\" [overlapTrigger]=\"false\" backdropClass=\"overflow-menu-backdrop\">\n <ng-container *ngFor=\"let button of menu; index as id\">\n <ng-container\n *ngIf=\"button.btnTemplate; else uiButton\"\n [ngTemplateOutlet]=\"button.btnTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: button }\"\n ></ng-container>\n\n <ng-template #uiButton>\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"getMenu(button.subMenu)\"\n (menuOpened)=\"onSubmenuOpened()\"\n (focus)=\"onButtonFocus(button);\"\n (blur)=\"onButtonBlur(button)\"\n [ngClass]=\"{ 'is-destructive': button.isDestructive, disabled: button.disabled }\"\n [disableRipple]=\"true\"\n (click)=\"onButtonClick(button, $event)\"\n [matTooltip]=\"button.isTextEllipsed ? button.label : ''\"\n [attr.aria-labelledby]=\"'labelledby-' + button.label + id\"\n [attr.aria-describedby]=\"'describedby-' + button.label + id\"\n [attr.aria-label]=\"button.ariaLabel || null\"\n role=\"menuitem\"\n matTooltipPosition=\"right\"\n >\n <span\n [id]=\"'describedby-' + button.label + id\"\n [style.display]=\"'none'\"\n >\n {{ button.disabled ? ('MENU.MENUITEM_DISABLED' | uiTranslate : language) + ' ' + (button.describedby || '') : button.describedby }}\n </span>\n <ui-icon\n [name]=\"button.icon\"\n [filled]=\"button.disabled ? false : !!button.isFocused\"\n [applicationTheme]=\"applicationTheme\"\n [size]=\"'24'\"\n [color]=\"button.isDestructive ? 'red' : button.disabled ? 'dark' : 'rebrand-black'\"\n ></ui-icon>\n <span\n [id]=\"'labelledby-' + button.label + id\"\n class=\"label\"\n uiEllipseText\n [refresh]=\"isMenuOpened()\"\n [maxDiffPixels]=\"1\"\n [isMultiline]=\"true\"\n (onChangeTextState)=\"button.isTextEllipsed = $event\"\n >{{ button.label }}</span>\n </button>\n </ng-template>\n </ng-container>\n\n <ng-content select=\"[menu-content]\"></ng-content>\n\n </mat-menu>\n }\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep .overflow-menu .mat-mdc-menu-content:not(:empty){padding:0}:host ::ng-deep .overflow-menu button{padding:0!important;width:fit-content!important}.overflow-menu-opener{background:transparent;height:40px;width:40px;border-radius:50px;border:unset;display:flex;align-items:center;justify-content:center;cursor:pointer}.overflow-menu-opener:focus-visible{outline-color:#242424;outline-style:solid;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}@keyframes focus-ring-animation{0%{outline-width:4px!important}to{outline-width:2px!important}}.overflow-menu-opener:hover{background:#e9e9e9}.overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:8px;box-shadow:2px 24px 48px 8px #00000014}.overflow-menu-backdrop+* .mat-mdc-menu-content:not(:empty){padding:0}.overflow-menu-backdrop+* ui-button:first-child button.mat-mdc-unelevated-button.menuCell{border-radius:8px 8px 0 0}.overflow-menu-backdrop+* ui-button:last-child button.mat-mdc-unelevated-button.menuCell{border-radius:0 0 8px 8px}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#cb7b7a}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#f0dad9}.overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#f0dad9}[theme=dark] .overflow-menu-backdrop+* .mat-mdc-menu-panel,[theme=light] .overflow-menu-backdrop+* .mat-mdc-menu-panel{min-height:0;border-radius:10px;box-shadow:0 4px 16px #24242414}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell mat-icon.black svg{color:#e02800!important}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}[theme=dark] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,[theme=light] .overflow-menu-backdrop+* ui-button.destructive button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#ffe6fa}button.is-destructive{background-color:#fff;color:#e02800}button.is-destructive:hover{background-color:#e02800}button.is-destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive:disabled,button.is-destructive:disabled:hover{color:#919191;background:transparent}button.is-destructive ::ng-deep mat-icon.black svg{color:#e02800}button.is-destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.is-destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.is-destructive.classic-theme:hover{background-color:#8e5655}button.is-destructive.classic-theme:disabled,button.is-destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.is-destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.is-destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal}button.disabled{background:transparent;color:#888;cursor:not-allowed}button.disabled:hover{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i8.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
164
170
  }
165
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OverflowMenuComponent, decorators: [{
166
172
  type: Component,
@@ -170,7 +176,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
170
176
  }, {
171
177
  type: Inject,
172
178
  args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
173
- }] }, { type: i1.FocusMonitor }, { type: i0.NgZone }], propDecorators: { buttons: [{
179
+ }] }, { type: i1.FocusMonitor }, { type: i0.NgZone }, { type: i9.Language, decorators: [{
180
+ type: Optional
181
+ }, {
182
+ type: Inject,
183
+ args: [CANOPY_UI_LANG]
184
+ }] }], propDecorators: { buttons: [{
174
185
  type: Input
175
186
  }], iconTrigger: [{
176
187
  type: Input
@@ -202,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
202
213
  type: ViewChild,
203
214
  args: ['buttonElement']
204
215
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7Ozs7QUFXNUUsTUFBTSxPQUFPLHFCQUFxQjtJQWlGaEMsWUFDNkUsZUFBaUMsRUFDcEcsWUFBMEIsRUFDMUIsTUFBYztRQUZxRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDcEcsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNFeEI7Ozs7V0FJRztRQUNNLGdCQUFXLEdBQWEsZUFBZSxDQUFDO1FBRWpEOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFVdEQ7Ozs7O1dBS0c7UUFDTSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU5Qjs7Ozs7V0FLRztRQUNNLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRTFCOzs7OztX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bEYvQyxxQkFBcUIsbWZBc0VsQixPQUFPLGdFQUNQLGNBQWMsZ0RDdEc5Qix1dEdBbUZBOzsyRkRwRGEscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFxRjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DO3lGQTNFakQsT0FBTztzQkFBZixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsWUFBWTt1QkFBQyxPQUFPO2dCQUNTLFVBQVU7c0JBQXZDLFlBQVk7dUJBQUMsY0FBYztnQkFDQSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5LCBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSB9IGZyb20gJy4vb3ZlcmZsb3ctbWVudS5tb2RlbCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbFwiO1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktb3ZlcmZsb3ctbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmZsb3ctbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd01lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogTWVudSBidXR0b25zXG4gICAqXG4gICAqIEB0eXBlIHtPdmVyZmxvd01lbnVCdXR0b25zVHlwZVtdfVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBidXR0b25zOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZVtdO1xuXG4gIC8qKlxuICAgKiBNZW51IGljb24gdHJpZ2dlclxuICAgKlxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uVHJpZ2dlcjogSWNvbk5hbWUgPSAnTWVudS1lbGxpcHNpcyc7XG5cbiAgLyoqXG4gICAqIExhYmVsIG1lbnVcbiAgICpcbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbWVudUxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIGxhYmVsIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGxhYmVsIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFSZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmb3IgZGVzY3JpcHRpb24uXG4gICAqIEB0eXBlIHt0ZXh0fVxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkZXNjcmliZWRieSA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAdHlwZSB7TGFuZ3VhZ2V9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgbWVudU9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgbWVudUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnUpIG1hdG1lbnVzOiBRdWVyeUxpc3Q8TWF0TWVudT5cbiAgQFZpZXdDaGlsZHJlbihNYXRNZW51VHJpZ2dlcikgbWF0VHJpZ2dlcjogUXVlcnlMaXN0PE1hdE1lbnVUcmlnZ2VyPlxuICBAVmlld0NoaWxkKCdidXR0b25FbGVtZW50JykgYnV0dG9uRWxlbWVudDogYW55O1xuXG4gIG1lbnVJdGVtczogc3RyaW5nW10gPSBbXVxuICBzdWJtZW51czogQXJyYXk8T3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5W10+ID0gW11cblxuICBpc01lbnVSZW5kZXJlZCA9IHNpZ25hbChmYWxzZSk7XG4gIGlzTWVudU9wZW5lZCA9IHNpZ25hbChmYWxzZSk7XG4gIGlzRm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVTdWJtZW51cyh0aGlzLmJ1dHRvbnMsIFwiczBcIiwgMSlcbiAgICB0aGlzLnJlaW5kZXgoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNNZW51UmVuZGVyZWQuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuYnV0dG9uRWxlbWVudCkuc3Vic2NyaWJlKG9yaWdpbiA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghdGhpcy5pc01lbnVPcGVuZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGV2ZW50OiBFdmVudCwgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMubWVudU9wZW5lZC5lbWl0KCk7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmZpcnN0Ll9hbGxJdGVtcy5maXJzdC5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH0sIDMwMClcbiAgICB9XG4gIH1cblxuICBvbk1lbnVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLm1lbnVDbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgb25CdXR0b25Gb2N1cyhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSkge1xuICAgIGJ1dHRvbi5pc0ZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgb25CdXR0b25CbHVyKGJ1dHRvbjogT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5KSB7XG4gICAgYnV0dG9uLmlzRm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgJGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChidXR0b24uZGlzYWJsZWQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uU2VsZWN0SXRlbSgkZXZlbnQsIGJ1dHRvbi52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TWVudShpbmRleDogYW55KSB7XG4gICAgcmV0dXJuIGluZGV4ID49IDAgJiYgdGhpcy5tYXRtZW51cyA/IHRoaXMubWF0bWVudXMuZmluZCgoeCwgaSkgPT4gaSA9PSBpbmRleCkhIDogbnVsbFxuICB9XG5cbiAgcHJpdmF0ZSByZWluZGV4KCkge1xuICAgIHRoaXMuc3VibWVudXMuZm9yRWFjaCgobWVudTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXSkgPT4ge1xuICAgICAgbWVudS5mb3JFYWNoKChpdGVtOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaXRlbS5zdWJNZW51ICE9PSAtMSlcbiAgICAgICAgICBpdGVtLnN1Yk1lbnUgPSB0aGlzLm1lbnVJdGVtcy5pbmRleE9mKGl0ZW0uYWN0aW9uICsgJycpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVN1Ym1lbnVzKG1lbnU6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10sIHByZWZpeDogc3RyaW5nLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZW51SXRlbXMucHVzaChwcmVmaXgpO1xuICAgIHRoaXMuc3VibWVudXMucHVzaChcbiAgICAgIG1lbnUubWFwKChpdGVtOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgaWNvbjogaXRlbS5pY29uLFxuICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZTogaXRlbS5pc0Rlc3RydWN0aXZlLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgICAgIGJ0blRlbXBsYXRlOiBpdGVtLmJ0blRlbXBsYXRlLFxuICAgICAgICAgICAgc3ViTWVudTogaXRlbS5zdWJNZW51ID8gMCA6IC0xLFxuICAgICAgICAgICAgYWN0aW9uOiBpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogcHJlZml4K2luZGV4XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBtZW51LmZvckVhY2goKGl0ZW06IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXRlbS5zdWJNZW51KSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3VibWVudXMoKGl0ZW0gYXMgeyBzdWJNZW51OiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZVtdIH0pLnN1Yk1lbnUsIHByZWZpeCArIGluZGV4LCBjb3VudCArIDEpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBvblN1Ym1lbnVPcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KCF0aGlzLmlzTWVudU9wZW5lZCk7XG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmxhc3QuX2FsbEl0ZW1zLmZpcnN0LmZvY3VzKCdrZXlib2FyZCcpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1tZW51LWNvbnRhaW5lclwiIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj5cblxuICA8YnV0dG9uXG4gICAgI2J1dHRvbkVsZW1lbnRcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAqbmdJZj1cImlzTWVudVJlbmRlcmVkKClcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYXRtZW51cy5maXJzdFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc01lbnVPcGVuZWQoKVwiXG4gICAgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbmVkKClcIlxuICAgIChtZW51Q2xvc2VkKT1cIm9uTWVudUNsb3NlZCgpXCJcbiAgICBjbGFzcz1cIm92ZXJmbG93LW1lbnUtb3BlbmVyXCJcbiAgICBbbWF0VG9vbHRpcF09XCJtZW51TGFiZWxcIlxuICA+XG4gICAgPHNwYW4gW2lkXT1cIidkZXNjcmliZWRieSdcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj57eyBkZXNjcmliZWRieSB9fTwvc3Bhbj5cbiAgICA8dWktaWNvblxuICAgICAgW25hbWVdPVwiaWNvblRyaWdnZXJcIlxuICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICBbc2l6ZV09XCInMjQnXCJcbiAgICAgIFtjb2xvcl09XCIncmVicmFuZC1ibGFjaydcIlxuICAgID48L3VpLWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIEBmb3IgKG1lbnUgb2Ygc3VibWVudXM7IHRyYWNrIG1lbnUpIHtcbiAgICA8bWF0LW1lbnUgI21hdE1lbnUgY2xhc3M9XCJvdmVyZmxvdy1tZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCIgYmFja2Ryb3BDbGFzcz1cIm92ZXJmbG93LW1lbnUtYmFja2Ryb3BcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBtZW51OyBpbmRleCBhcyBpZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJidXR0b24uYnRuVGVtcGxhdGU7IGVsc2UgdWlCdXR0b25cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbi5idG5UZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBidXR0b24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3VpQnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJnZXRNZW51KGJ1dHRvbi5zdWJNZW51KVwiXG4gICAgICAgICAgICAobWVudU9wZW5lZCk9XCJvblN1Ym1lbnVPcGVuZWQoKVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25CdXR0b25Gb2N1cyhidXR0b24pO1wiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJ1dHRvbkJsdXIoYnV0dG9uKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1kZXN0cnVjdGl2ZSc6IGJ1dHRvbi5pc0Rlc3RydWN0aXZlLCBkaXNhYmxlZDogYnV0dG9uLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID8gYnV0dG9uLmxhYmVsIDogJydcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS0nICsgYnV0dG9uLmxhYmVsICsgaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24uYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaWRdPVwiJ2Rlc2NyaWJlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGJ1dHRvbi5kaXNhYmxlZCA/ICgnTUVOVS5NRU5VSVRFTV9ESVNBQkxFRCcgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlKSArICcgJyArIChidXR0b24uZGVzY3JpYmVkYnkgfHwgJycpIDogYnV0dG9uLmRlc2NyaWJlZGJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgICBbbmFtZV09XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgICAgIFtmaWxsZWRdPVwiYnV0dG9uLmRpc2FibGVkID8gZmFsc2UgOiAhIWJ1dHRvbi5pc0ZvY3VzZWRcIlxuICAgICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJidXR0b24uaXNEZXN0cnVjdGl2ZSA/ICdyZWQnIDogYnV0dG9uLmRpc2FibGVkID8gJ2RhcmsnIDogJ3JlYnJhbmQtYmxhY2snXCJcbiAgICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaWRdPVwiJ2xhYmVsbGVkYnktJyArIGJ1dHRvbi5sYWJlbCArIGlkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICAgICAgW3JlZnJlc2hdPVwiaXNNZW51T3BlbmVkKClcIlxuICAgICAgICAgICAgICBbbWF4RGlmZlBpeGVsc109XCIxXCJcbiAgICAgICAgICAgICAgW2lzTXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID0gJGV2ZW50XCJcbiAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21lbnUtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8L21hdC1tZW51PlxuICB9XG48L2Rpdj5cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztBQVc3RCxNQUFNLE9BQU8scUJBQXFCO0lBaUZoQyxZQUM2RSxlQUFpQyxFQUNwRyxZQUEwQixFQUMxQixNQUFjLEVBQ2lDLE9BQWlCO1FBSEcsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ3BHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaUMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQTVFMUU7Ozs7V0FJRztRQUNNLGdCQUFXLEdBQWEsZUFBZSxDQUFDO1FBRWpEOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFVdEQ7Ozs7O1dB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Q0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDOzhHQXpNVSxxQkFBcUIsa0JBa0ZWLG9DQUFvQywrRUFHcEMsY0FBYztrR0FyRnpCLHFCQUFxQixtZkFzRWxCLE9BQU8sZ0VBQ1AsY0FBYyxnREN4RzlCLHV0R0FtRkE7OzJGRGxEYSxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQXFGNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUd2RCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7eUNBOUUzQixPQUFPO3NCQUFmLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVnQixRQUFRO3NCQUE5QixZQUFZO3VCQUFDLE9BQU87Z0JBQ1MsVUFBVTtzQkFBdkMsWUFBWTt1QkFBQyxjQUFjO2dCQUNBLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBPdmVyZmxvd01lbnVCdXR0b25Nb2RpZnksIE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlIH0gZnJvbSAnLi9vdmVyZmxvdy1tZW51Lm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsXCI7XG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuaW1wb3J0IHsgQ0FOT1BZX1VJX0xBTkcgfSBmcm9tICcuLi8uLi90b2tlbnMvYXBwLWxhbmcudG9rZW4nO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1vdmVyZmxvdy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJmbG93LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVyZmxvdy1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBNZW51IGJ1dHRvbnNcbiAgICpcbiAgICogQHR5cGUge092ZXJmbG93TWVudUJ1dHRvbnNUeXBlW119XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvbnM6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW107XG5cbiAgLyoqXG4gICAqIE1lbnUgaWNvbiB0cmlnZ2VyXG4gICAqXG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25UcmlnZ2VyOiBJY29uTmFtZSA9ICdNZW51LWVsbGlwc2lzJztcblxuICAvKipcbiAgICogTGFiZWwgbWVudVxuICAgKlxuICAgKiBAbWVtYmVyb2YgT3ZlcmZsb3dNZW51Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZW51TGFiZWwgPSAnJztcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYVJlcXVpcmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZvciBkZXNjcmlwdGlvbi5cbiAgICogQHR5cGUge3RleHR9XG4gICAqIEBtZW1iZXJvZiBPdmVyZmxvd01lbnVDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRlc2NyaWJlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIE92ZXJmbG93TWVudUNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RJdGVtOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKSBtZW51T3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKSBtZW51Q2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oTWF0TWVudSkgbWF0bWVudXM6IFF1ZXJ5TGlzdDxNYXRNZW51PlxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnVUcmlnZ2VyKSBtYXRUcmlnZ2VyOiBRdWVyeUxpc3Q8TWF0TWVudVRyaWdnZXI+XG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkVsZW1lbnQnKSBidXR0b25FbGVtZW50OiBhbnk7XG5cbiAgbWVudUl0ZW1zOiBzdHJpbmdbXSA9IFtdXG4gIHN1Ym1lbnVzOiBBcnJheTxPdmVyZmxvd01lbnVCdXR0b25Nb2RpZnlbXT4gPSBbXVxuXG4gIGlzTWVudVJlbmRlcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNNZW51T3BlbmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNGb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ0FOT1BZX1VJX0xBTkcpIHByb3RlY3RlZCByZWFkb25seSBhcHBMYW5nOiBMYW5ndWFnZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgICBpZiAoYXBwTGFuZykge1xuICAgICAgdGhpcy5sYW5ndWFnZSA9IGFwcExhbmc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVTdWJtZW51cyh0aGlzLmJ1dHRvbnMsIFwiczBcIiwgMSlcbiAgICB0aGlzLnJlaW5kZXgoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaXNNZW51UmVuZGVyZWQuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuYnV0dG9uRWxlbWVudCkuc3Vic2NyaWJlKG9yaWdpbiA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghdGhpcy5pc01lbnVPcGVuZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGV2ZW50OiBFdmVudCwgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMubWVudU9wZW5lZC5lbWl0KCk7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmZpcnN0Ll9hbGxJdGVtcy5maXJzdC5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH0sIDMwMClcbiAgICB9XG4gIH1cblxuICBvbk1lbnVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLm1lbnVDbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgb25CdXR0b25Gb2N1cyhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSkge1xuICAgIGJ1dHRvbi5pc0ZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgb25CdXR0b25CbHVyKGJ1dHRvbjogT3ZlcmZsb3dNZW51QnV0dG9uTW9kaWZ5KSB7XG4gICAgYnV0dG9uLmlzRm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhidXR0b246IE92ZXJmbG93TWVudUJ1dHRvbk1vZGlmeSwgJGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChidXR0b24uZGlzYWJsZWQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uU2VsZWN0SXRlbSgkZXZlbnQsIGJ1dHRvbi52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TWVudShpbmRleDogYW55KSB7XG4gICAgcmV0dXJuIGluZGV4ID49IDAgJiYgdGhpcy5tYXRtZW51cyA/IHRoaXMubWF0bWVudXMuZmluZCgoeCwgaSkgPT4gaSA9PSBpbmRleCkhIDogbnVsbFxuICB9XG5cbiAgcHJpdmF0ZSByZWluZGV4KCkge1xuICAgIHRoaXMuc3VibWVudXMuZm9yRWFjaCgobWVudTogT3ZlcmZsb3dNZW51QnV0dG9uc1R5cGVbXSkgPT4ge1xuICAgICAgbWVudS5mb3JFYWNoKChpdGVtOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaXRlbS5zdWJNZW51ICE9PSAtMSlcbiAgICAgICAgICBpdGVtLnN1Yk1lbnUgPSB0aGlzLm1lbnVJdGVtcy5pbmRleE9mKGl0ZW0uYWN0aW9uICsgJycpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVN1Ym1lbnVzKG1lbnU6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10sIHByZWZpeDogc3RyaW5nLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZW51SXRlbXMucHVzaChwcmVmaXgpO1xuICAgIHRoaXMuc3VibWVudXMucHVzaChcbiAgICAgIG1lbnUubWFwKChpdGVtOiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgaWNvbjogaXRlbS5pY29uLFxuICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZTogaXRlbS5pc0Rlc3RydWN0aXZlLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgICAgIGJ0blRlbXBsYXRlOiBpdGVtLmJ0blRlbXBsYXRlLFxuICAgICAgICAgICAgc3ViTWVudTogaXRlbS5zdWJNZW51ID8gMCA6IC0xLFxuICAgICAgICAgICAgYWN0aW9uOiBpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogcHJlZml4K2luZGV4XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBtZW51LmZvckVhY2goKGl0ZW06IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaXRlbS5zdWJNZW51KSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3VibWVudXMoKGl0ZW0gYXMgeyBzdWJNZW51OiBPdmVyZmxvd01lbnVCdXR0b25zVHlwZVtdIH0pLnN1Yk1lbnUsIHByZWZpeCArIGluZGV4LCBjb3VudCArIDEpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBvblN1Ym1lbnVPcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc01lbnVPcGVuZWQuc2V0KCF0aGlzLmlzTWVudU9wZW5lZCk7XG4gICAgaWYgKHRoaXMuaXNGb2N1c2VkKCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdG1lbnVzLmxhc3QuX2FsbEl0ZW1zLmZpcnN0LmZvY3VzKCdrZXlib2FyZCcpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1tZW51LWNvbnRhaW5lclwiIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj5cblxuICA8YnV0dG9uXG4gICAgI2J1dHRvbkVsZW1lbnRcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICAqbmdJZj1cImlzTWVudVJlbmRlcmVkKClcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYXRtZW51cy5maXJzdFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc01lbnVPcGVuZWQoKVwiXG4gICAgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbmVkKClcIlxuICAgIChtZW51Q2xvc2VkKT1cIm9uTWVudUNsb3NlZCgpXCJcbiAgICBjbGFzcz1cIm92ZXJmbG93LW1lbnUtb3BlbmVyXCJcbiAgICBbbWF0VG9vbHRpcF09XCJtZW51TGFiZWxcIlxuICA+XG4gICAgPHNwYW4gW2lkXT1cIidkZXNjcmliZWRieSdcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj57eyBkZXNjcmliZWRieSB9fTwvc3Bhbj5cbiAgICA8dWktaWNvblxuICAgICAgW25hbWVdPVwiaWNvblRyaWdnZXJcIlxuICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICBbc2l6ZV09XCInMjQnXCJcbiAgICAgIFtjb2xvcl09XCIncmVicmFuZC1ibGFjaydcIlxuICAgID48L3VpLWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIEBmb3IgKG1lbnUgb2Ygc3VibWVudXM7IHRyYWNrIG1lbnUpIHtcbiAgICA8bWF0LW1lbnUgI21hdE1lbnUgY2xhc3M9XCJvdmVyZmxvdy1tZW51XCIgW292ZXJsYXBUcmlnZ2VyXT1cImZhbHNlXCIgYmFja2Ryb3BDbGFzcz1cIm92ZXJmbG93LW1lbnUtYmFja2Ryb3BcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBtZW51OyBpbmRleCBhcyBpZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJidXR0b24uYnRuVGVtcGxhdGU7IGVsc2UgdWlCdXR0b25cIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbi5idG5UZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBidXR0b24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3VpQnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJnZXRNZW51KGJ1dHRvbi5zdWJNZW51KVwiXG4gICAgICAgICAgICAobWVudU9wZW5lZCk9XCJvblN1Ym1lbnVPcGVuZWQoKVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25CdXR0b25Gb2N1cyhidXR0b24pO1wiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJ1dHRvbkJsdXIoYnV0dG9uKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1kZXN0cnVjdGl2ZSc6IGJ1dHRvbi5pc0Rlc3RydWN0aXZlLCBkaXNhYmxlZDogYnV0dG9uLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGljayhidXR0b24sICRldmVudClcIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID8gYnV0dG9uLmxhYmVsIDogJydcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS0nICsgYnV0dG9uLmxhYmVsICsgaWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24uYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaWRdPVwiJ2Rlc2NyaWJlZGJ5LScgKyBidXR0b24ubGFiZWwgKyBpZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGJ1dHRvbi5kaXNhYmxlZCA/ICgnTUVOVS5NRU5VSVRFTV9ESVNBQkxFRCcgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlKSArICcgJyArIChidXR0b24uZGVzY3JpYmVkYnkgfHwgJycpIDogYnV0dG9uLmRlc2NyaWJlZGJ5IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgICBbbmFtZV09XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgICAgIFtmaWxsZWRdPVwiYnV0dG9uLmRpc2FibGVkID8gZmFsc2UgOiAhIWJ1dHRvbi5pc0ZvY3VzZWRcIlxuICAgICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJzI0J1wiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJidXR0b24uaXNEZXN0cnVjdGl2ZSA/ICdyZWQnIDogYnV0dG9uLmRpc2FibGVkID8gJ2RhcmsnIDogJ3JlYnJhbmQtYmxhY2snXCJcbiAgICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaWRdPVwiJ2xhYmVsbGVkYnktJyArIGJ1dHRvbi5sYWJlbCArIGlkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICAgICAgW3JlZnJlc2hdPVwiaXNNZW51T3BlbmVkKClcIlxuICAgICAgICAgICAgICBbbWF4RGlmZlBpeGVsc109XCIxXCJcbiAgICAgICAgICAgICAgW2lzTXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwiYnV0dG9uLmlzVGV4dEVsbGlwc2VkID0gJGV2ZW50XCJcbiAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21lbnUtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8L21hdC1tZW51PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -1,15 +1,18 @@
1
1
  import { booleanAttribute, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output } from '@angular/core';
2
2
  import { IS_MOBILE_TOKEN } from '../../providers/is-mobile';
3
3
  import { LanguageService } from '../../utils/localization/language.service';
4
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "../button/button.component";
7
8
  import * as i3 from "../../pipes/ui-translate.pipe";
8
9
  import * as i4 from "rxjs";
10
+ import * as i5 from "../../utils/localization/language.model";
9
11
  export class PageHeaderComponent {
10
- constructor(defaultAppTheme, isMobile$) {
12
+ constructor(defaultAppTheme, isMobile$, appLang) {
11
13
  this.defaultAppTheme = defaultAppTheme;
12
14
  this.isMobile$ = isMobile$;
15
+ this.appLang = appLang;
13
16
  /**
14
17
  * Flag to determine whether the "Back" button should be displayed.
15
18
  * @default true
@@ -45,11 +48,14 @@ export class PageHeaderComponent {
45
48
  if (defaultAppTheme) {
46
49
  this.applicationTheme = defaultAppTheme;
47
50
  }
51
+ if (appLang) {
52
+ this.language = appLang;
53
+ }
48
54
  }
49
55
  onBack() {
50
56
  this.back.emit();
51
57
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PageHeaderComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PageHeaderComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
53
59
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: PageHeaderComponent, selector: "ui-page-header", inputs: { showBackButton: ["showBackButton", "showBackButton", booleanAttribute], language: "language", tooltip: "tooltip", applicationTheme: "applicationTheme" }, outputs: { back: "back" }, host: { properties: { "attr.theme": "this.applicationTheme" } }, ngImport: i0, template: "<ng-container>\n <div class=\"page-header-container\">\n <div class=\"page-header-content\">\n <ng-container *ngIf=\"!(isMobile$ | async) else mobile\">\n <ui-button\n [applicationTheme]=\"applicationTheme\"\n *ngIf=\"showBackButton\"\n (click)=\"onBack()\"\n [variant]=\"'ghost'\"\n [justIcon]=\"true\"\n [iconName]=\"applicationTheme === 'classic' ? 'Arrow_left' : 'Arrow-chevron-left-in-line'\"\n ></ui-button>\n </ng-container>\n\n <ng-template #mobile>\n <ui-button\n [applicationTheme]=\"applicationTheme\" class=\"mobile-back-btn\" [tooltip]=\"('COMMON.BACK') | uiTranslate : language\"\n [variant]=\"'icon-button'\"\n (click)=\"onBack()\"\n [justIcon]=\"true\"\n [iconName]=\"applicationTheme === 'classic' ? 'Arrow_left' : 'Arrow-chevron-left-in-line'\"\n ></ui-button>\n </ng-template>\n\n <div class=\"main-content\" [ngClass]=\"{ 'remove-margin': !showBackButton }\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n\n <div class=\"right-side\">\n <ng-content select=\"[right-side]\"></ng-content>\n </div>\n </div>\n </div>\n\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.page-header-container{border-bottom:1px solid #E0E0E0}.page-header-container .page-header-content{display:flex;flex-direction:row;padding:16px 64px;max-width:1312px;min-height:48px}.page-header-container .page-header-content .main-content{margin:0 16px 0 24px}.page-header-container .page-header-content .main-content.remove-margin{margin-left:0}.page-header-container .page-header-content .desktop-back-btn{margin-right:24px}@media (max-width: 600px){.page-header-container .page-header-content{padding:8px 16px;max-width:unset}.page-header-container .page-header-content .main-content{width:100%;margin:0 0 0 16px}.page-header-container .page-header-content .main-content .content{width:100%}.page-header-container .page-header-content .right-side{display:none}}.page-header-container .page-header-content .mobile-back-btn{top:-10px;position:relative}.page-header-container .page-header-content .right-side{margin-left:auto}:host[theme=dark] .page-header-container,:host[theme=light] .page-header-container{border-color:#d3d3d3}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "language", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.UiTranslatePipe, name: "uiTranslate" }] }); }
54
60
  }
55
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PageHeaderComponent, decorators: [{
@@ -63,6 +69,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
63
69
  }] }, { type: i4.Observable, decorators: [{
64
70
  type: Inject,
65
71
  args: [IS_MOBILE_TOKEN]
72
+ }] }, { type: i5.Language, decorators: [{
73
+ type: Optional
74
+ }, {
75
+ type: Inject,
76
+ args: [CANOPY_UI_LANG]
66
77
  }] }], propDecorators: { showBackButton: [{
67
78
  type: Input,
68
79
  args: [{ transform: booleanAttribute }]
@@ -78,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
78
89
  }], back: [{
79
90
  type: Output
80
91
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7OztBQVE1RSxNQUFNLE9BQU8sbUJBQW1CO0lBd0M5QixZQUM2RSxlQUFpQyxFQUNoRSxTQUE4QjtRQURDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNoRSxjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQXpDNUU7Ozs7V0FJRztRQUNxQyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUU5RDs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBRXBEOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsYUFBYSxDQUFDO1FBRWpDOzs7Ozs7V0FNRztRQUdILHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFFN0M7OztXQUdHO1FBQ08sU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFNeEMsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0FuRFUsbUJBQW1CLGtCQXlDUixvQ0FBb0MsNkJBQ2hELGVBQWU7a0dBMUNkLG1CQUFtQiw2RkFNVixnQkFBZ0IseU1DakJ0QywydUNBbUNBOzsyRkR4QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjs7MEJBNkN2QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzs7MEJBQ3ZELE1BQU07MkJBQUMsZUFBZTt5Q0FwQ2UsY0FBYztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBV04sZ0JBQWdCO3NCQUZmLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBT0ksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU19NT0JJTEVfVE9LRU4gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaXMtbW9iaWxlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXBhZ2UtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUhlYWRlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBcIkJhY2tcIiBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyb2YgUGFnZUhlYWRlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dCYWNrQnV0dG9uID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIFBhZ2VIZWFkZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICAvKipcbiAgICogQmFjayBidXR0b24gdG9vbHRpcCBmb3IgbW9iaWxlIHZhcmlhdGlvblxuICAgKiBAcHJvcGVydHkgdG9vbHRpcFxuICAgKiBAbWVtYmVyb2YgUGFnZUhlYWRlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcCA9ICdDT01NT04uQkFDSyc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgUGFnZUhlYWRlckNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRoZW1lJylcbiAgQElucHV0KClcbiAgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCB3aGVuIHRoZSBcIkJhY2tcIiBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogQG1lbWJlcm9mIFBhZ2VIZWFkZXJDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBASW5qZWN0KElTX01PQklMRV9UT0tFTikgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyLWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGlzTW9iaWxlJCB8IGFzeW5jKSBlbHNlIG1vYmlsZVwiPlxuICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgKm5nSWY9XCJzaG93QmFja0J1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQmFjaygpXCJcbiAgICAgICAgICBbdmFyaWFudF09XCInZ2hvc3QnXCJcbiAgICAgICAgICBbanVzdEljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgW2ljb25OYW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdBcnJvd19sZWZ0JyA6ICdBcnJvdy1jaGV2cm9uLWxlZnQtaW4tbGluZSdcIlxuICAgICAgICA+PC91aS1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtb2JpbGU+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgY2xhc3M9XCJtb2JpbGUtYmFjay1idG5cIiBbdG9vbHRpcF09XCIoJ0NPTU1PTi5CQUNLJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlXCJcbiAgICAgICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgICAgICAoY2xpY2spPVwib25CYWNrKClcIlxuICAgICAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Fycm93X2xlZnQnIDogJ0Fycm93LWNoZXZyb24tbGVmdC1pbi1saW5lJ1wiXG4gICAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIiBbbmdDbGFzc109XCJ7ICdyZW1vdmUtbWFyZ2luJzogIXNob3dCYWNrQnV0dG9uIH1cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1zaWRlXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodC1zaWRlXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBUTdELE1BQU0sT0FBTyxtQkFBbUI7SUF3QzlCLFlBQzZFLGVBQWlDLEVBQ2hFLFNBQThCLEVBQ25CLE9BQWlCO1FBRkcsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ2hFLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVU7UUExQzFFOzs7O1dBSUc7UUFDcUMsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFOUQ7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUVwRDs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLGFBQWEsQ0FBQztRQUVqQzs7Ozs7O1dBTUc7UUFHSCxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRTdDOzs7V0FHRztRQUNPLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBT3hDLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0F4RFUsbUJBQW1CLGtCQXlDUixvQ0FBb0MsNkJBQ2hELGVBQWUsYUFDSCxjQUFjO2tHQTNDekIsbUJBQW1CLDZGQU1WLGdCQUFnQix5TUNuQnRDLDJ1Q0FtQ0E7OzJGRHRCYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzswQkE2Q3ZCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFDdkQsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjO3lDQXJDSSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVE3QixRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFPSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTX01PQklMRV9UT0tFTiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9pcy1tb2JpbGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWxcIjtcbmltcG9ydCB7IENBTk9QWV9VSV9MQU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2FwcC1sYW5nLnRva2VuJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcGFnZS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlSGVhZGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIFwiQmFja1wiIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBtZW1iZXJvZiBQYWdlSGVhZGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0JhY2tCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAbWVtYmVyb2YgUGFnZUhlYWRlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBCYWNrIGJ1dHRvbiB0b29sdGlwIGZvciBtb2JpbGUgdmFyaWF0aW9uXG4gICAqIEBwcm9wZXJ0eSB0b29sdGlwXG4gICAqIEBtZW1iZXJvZiBQYWdlSGVhZGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwID0gJ0NPTU1PTi5CQUNLJztcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBQYWdlSGVhZGVyQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIHdoZW4gdGhlIFwiQmFja1wiIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBAbWVtYmVyb2YgUGFnZUhlYWRlckNvbXBvbmVudFxuICAgKi9cbiAgQE91dHB1dCgpIGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIEBJbmplY3QoSVNfTU9CSUxFX1RPS0VOKSBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ0FOT1BZX1VJX0xBTkcpIHByb3RlY3RlZCByZWFkb25seSBhcHBMYW5nOiBMYW5ndWFnZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIGlmIChhcHBMYW5nKSB7XG4gICAgICB0aGlzLmxhbmd1YWdlID0gYXBwTGFuZztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYmFjay5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoaXNNb2JpbGUkIHwgYXN5bmMpIGVsc2UgbW9iaWxlXCI+XG4gICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAqbmdJZj1cInNob3dCYWNrQnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25CYWNrKClcIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ0Fycm93X2xlZnQnIDogJ0Fycm93LWNoZXZyb24tbGVmdC1pbi1saW5lJ1wiXG4gICAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI21vYmlsZT5cbiAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBjbGFzcz1cIm1vYmlsZS1iYWNrLWJ0blwiIFt0b29sdGlwXT1cIignQ09NTU9OLkJBQ0snKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2VcIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidpY29uLWJ1dHRvbidcIlxuICAgICAgICAgIChjbGljayk9XCJvbkJhY2soKVwiXG4gICAgICAgICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgICAgICAgIFtpY29uTmFtZV09XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnQXJyb3dfbGVmdCcgOiAnQXJyb3ctY2hldnJvbi1sZWZ0LWluLWxpbmUnXCJcbiAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiIFtuZ0NsYXNzXT1cInsgJ3JlbW92ZS1tYXJnaW4nOiAhc2hvd0JhY2tCdXR0b24gfVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNpZGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JpZ2h0LXNpZGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,7 +1,8 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Inject, Input, Optional, Output, } from '@angular/core';
2
2
  import { FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
3
  import { LanguageService } from '../../utils/localization/language.service';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
7
8
  import * as i2 from "../field/field.component";
@@ -9,9 +10,11 @@ import * as i3 from "@angular/forms";
9
10
  import * as i4 from "../icon/icon.component";
10
11
  import * as i5 from "../progress-bar/progress-bar.component";
11
12
  import * as i6 from "../../pipes/ui-translate.pipe";
13
+ import * as i7 from "../../utils/localization/language.model";
12
14
  export class PasswordComponent {
13
- constructor(destroyRef) {
15
+ constructor(destroyRef, appLang) {
14
16
  this.destroyRef = destroyRef;
17
+ this.appLang = appLang;
15
18
  /**
16
19
  * The language to be used
17
20
  *
@@ -46,6 +49,9 @@ export class PasswordComponent {
46
49
  ];
47
50
  this.onChange = (v) => { };
48
51
  this.onTouch = () => { };
52
+ if (appLang) {
53
+ this.language = appLang;
54
+ }
49
55
  this.formControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
50
56
  this.checkCriteria();
51
57
  });
@@ -83,14 +89,14 @@ export class PasswordComponent {
83
89
  registerOnTouched(fn) {
84
90
  this.onTouch = fn;
85
91
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordComponent, deps: [{ token: i0.DestroyRef }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
87
93
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PasswordComponent, selector: "ui-password-criteria", inputs: { language: "language", showCriteria: "showCriteria", required: "required" }, outputs: { passwordChange: "passwordChange", allCriteriaPassed: "allCriteriaPassed" }, providers: [
88
94
  {
89
95
  provide: NG_VALUE_ACCESSOR,
90
96
  useExisting: forwardRef(() => PasswordComponent),
91
97
  multi: true,
92
98
  },
93
- ], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate : language) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate : language }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "language", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "language"] }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ ], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate : language) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate : language }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "language", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "language"] }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
100
  }
95
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordComponent, decorators: [{
96
102
  type: Component,
@@ -101,7 +107,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
101
107
  multi: true,
102
108
  },
103
109
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate : language) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate : language }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"] }]
104
- }], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { language: [{
110
+ }], ctorParameters: () => [{ type: i0.DestroyRef }, { type: i7.Language, decorators: [{
111
+ type: Optional
112
+ }, {
113
+ type: Inject,
114
+ args: [CANOPY_UI_LANG]
115
+ }] }], propDecorators: { language: [{
105
116
  type: Input
106
117
  }], showCriteria: [{
107
118
  type: Input
@@ -112,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
112
123
  }], allCriteriaPassed: [{
113
124
  type: Output
114
125
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLWNyaXRlcmlhL3Bhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1jcml0ZXJpYS9wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBZWhFLE1BQU0sT0FBTyxpQkFBaUI7SUF5QzVCLFlBQTZCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUF4Q25EOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFcEQ7Ozs7O1dBS0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFaEQsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELG1CQUFjLEdBQStCLEVBQUUsQ0FB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Q3BCLENBQUM7OEdBdEZVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDROQVRqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNmSCx5cUNBK0JBOzsyRkRiYSxpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0Usc0JBQXNCLGFBR3JCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTsrRUFTdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXBhc3N3b3JkLWNyaXRlcmlhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAdHlwZSB7TGFuZ3VhZ2V9XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBTaG93IGNyaXRlcmlhIGZvciBwYXNzd29yZC4gRGVmYXVsdHMgdHJ1ZVxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaG93Q3JpdGVyaWEgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBQYXNzd29yZCBpcyByZXF1aXJlZCBvciBub3RcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcGFzc3dvcmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgYWxsQ3JpdGVyaWFQYXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJvdGVjdGVkIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgcHJvdGVjdGVkIGNyaXRlcmlhUGFzc2VkOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBwcm90ZWN0ZWQgc2hvd0Vycm9yOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcHJvZ3Jlc3NWYWx1ZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgY3JpdGVyaWE6IHsgdHJhbnNsYXRlS2V5OiBzdHJpbmc7IGtleTogc3RyaW5nIH1bXSA9IFtcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELkxPV0VSQ0FTRScsIGtleTogJ2hhc0xvd2VyY2FzZScgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELlVQUEVSQ0FTRScsIGtleTogJ2hhc1VwcGVyY2FzZScgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELk5VTUJFUicsIGtleTogJ2hhc051bWJlcicgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELlNQRUNJQUxfQ0hBUkFDVEVSJywga2V5OiAnaGFzU3BlY2lhbENoYXInIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5DSEFSQUNURVJTJywga2V5OiAnaGFzTWluTGVuZ3RoJyB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZikge1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrQ3JpdGVyaWEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrQ3JpdGVyaWEoKTogdm9pZCB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlID8/ICcnO1xuICAgIHRoaXMuY3JpdGVyaWFQYXNzZWQgPSB7XG4gICAgICBoYXNMb3dlcmNhc2U6IC9eKD89Lio/W2Etel0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc1VwcGVyY2FzZTogL14oPz0uKj9bQS1aXSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzTnVtYmVyOiAvXig/PS4qP1swLTldKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNTcGVjaWFsQ2hhcjogL14oPz0uKj9bXCIgISMkJSYnKCkqKywtLi86Ozw9Pj9AW1xcXV5fYHt8fX5dKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNNaW5MZW5ndGg6IHBhc3N3b3JkLmxlbmd0aCA+PSAxMixcbiAgICB9O1xuXG4gICAgY29uc3QgcGFzc2VkQ291bnQgPSB0aGlzLmNvdW50UGFzc2VkKCk7XG4gICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgocGFzc2VkQ291bnQgKiAoMTAwIC8gT2JqZWN0LmtleXModGhpcy5jcml0ZXJpYVBhc3NlZCkubGVuZ3RoKSwgMSksIDEwMCk7XG4gICAgdGhpcy5wYXNzd29yZENoYW5nZS5lbWl0KHBhc3N3b3JkKTtcbiAgICB0aGlzLmFsbENyaXRlcmlhUGFzc2VkLmVtaXQocGFzc2VkQ291bnQgPT09IE9iamVjdC5rZXlzKHRoaXMuY3JpdGVyaWFQYXNzZWQpLmxlbmd0aCk7XG4gICAgdGhpcy5vbkNoYW5nZShwYXNzd29yZCk7XG4gIH1cblxuICBjb3VudFBhc3NlZCgpOiBudW1iZXIge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jcml0ZXJpYVBhc3NlZCkge1xuICAgICAgaWYgKHRoaXMuY3JpdGVyaWFQYXNzZWQuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0aGlzLmNyaXRlcmlhUGFzc2VkW2tleV0pIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG4gIG9uQ2hhbmdlID0gKHY6IGFueSkgPT4ge307XG4gIG9uVG91Y2ggPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShvYmopO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFzc3dvcmQtY3JpdGVyaWEtY29udGFpbmVyXCI+XG5cbiAgPHVpLWZpZWxkIFthcHBsaWNhdGlvblRoZW1lXT1cIidkYXJrJ1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdQQVNTV09SRC5QQVNTV09SRF9QTEFDRUhPTERFUicgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlKSArIChyZXF1aXJlZCA/ICcgKicgOiAnJylcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gID48L3VpLWZpZWxkPlxuXG4gIDxkaXYgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIiAqbmdJZj1cInNob3dDcml0ZXJpYVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICA8dWktcHJvZ3Jlc3MtYmFyIFtwcm9ncmVzc109XCJwcm9ncmVzc1ZhbHVlID09PSAxID8gMCA6IHByb2dyZXNzVmFsdWVcIiBbYXBwbGljYXRpb25UaGVtZV09XCInZGFyaydcIj48L3VpLXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBjcml0ZXJpb24gb2YgY3JpdGVyaWFcIlxuICAgICAgY2xhc3M9XCJjcml0ZXJpb25cIlxuICAgICAgW25nQ2xhc3NdPVwieyAncGFzc2VkJzogY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0sIGVycm9yOiAhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yIH1cIlxuICAgID5cbiAgICAgIDx1aS1pY29uIFtzaXplXT1cIicyNCdcIlxuICAgICAgICAgICAgICAgW2NvbG9yXT1cIidyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICAgICAgICAgICBbbmFtZV09XCIhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yID8gJ0luZm8taW4tbGluZScgOiAnQ2hlY2stcm91bmQtaW4tbGluZSdcIlxuICAgICAgICAgICAgICAgYXBwbGljYXRpb25UaGVtZT1cImRhcmtcIlxuICAgICAgPjwvdWktaWNvbj5cbiAgICAgIDxzcGFuPnt7IGNyaXRlcmlvbi50cmFuc2xhdGVLZXkgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLWNyaXRlcmlhL3Bhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1jcml0ZXJpYS9wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUFFLE1BQU0sRUFDbEIsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBZ0I3RCxNQUFNLE9BQU8saUJBQWlCO0lBeUM1QixZQUNtQixVQUFzQixFQUNnQixPQUFpQjtRQUR2RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2dCLFlBQU8sR0FBUCxPQUFPLENBQVU7UUExQzFFOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFcEQ7Ozs7O1dBS0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVDLHNCQUFpQixHQUFHLElBQUksWUFB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LFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQzs4R0E3RlUsaUJBQWlCLDRDQTJDTixjQUFjO2tHQTNDekIsaUJBQWlCLDROQVRqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkMxQkgseXFDQStCQTs7MkZERmEsaUJBQWlCO2tCQWI3QixTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZDNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjO3lDQXBDM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENBTk9QWV9VSV9MQU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2FwcC1sYW5nLnRva2VuJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcGFzc3dvcmQtY3JpdGVyaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIFNob3cgY3JpdGVyaWEgZm9yIHBhc3N3b3JkLiBEZWZhdWx0cyB0cnVlXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNob3dDcml0ZXJpYSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFBhc3N3b3JkIGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwYXNzd29yZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKSBhbGxDcml0ZXJpYVBhc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICBwcm90ZWN0ZWQgY3JpdGVyaWFQYXNzZWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIHByb3RlY3RlZCBzaG93RXJyb3I6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBwcm9ncmVzc1ZhbHVlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBjcml0ZXJpYTogeyB0cmFuc2xhdGVLZXk6IHN0cmluZzsga2V5OiBzdHJpbmcgfVtdID0gW1xuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuTE9XRVJDQVNFJywga2V5OiAnaGFzTG93ZXJjYXNlJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuVVBQRVJDQVNFJywga2V5OiAnaGFzVXBwZXJjYXNlJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuTlVNQkVSJywga2V5OiAnaGFzTnVtYmVyJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuU1BFQ0lBTF9DSEFSQUNURVInLCBrZXk6ICdoYXNTcGVjaWFsQ2hhcicgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELkNIQVJBQ1RFUlMnLCBrZXk6ICdoYXNNaW5MZW5ndGgnIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ0FOT1BZX1VJX0xBTkcpIHByb3RlY3RlZCByZWFkb25seSBhcHBMYW5nOiBMYW5ndWFnZSxcbiAgKSB7XG4gICAgaWYgKGFwcExhbmcpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2UgPSBhcHBMYW5nO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrQ3JpdGVyaWEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrQ3JpdGVyaWEoKTogdm9pZCB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlID8/ICcnO1xuICAgIHRoaXMuY3JpdGVyaWFQYXNzZWQgPSB7XG4gICAgICBoYXNMb3dlcmNhc2U6IC9eKD89Lio/W2Etel0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc1VwcGVyY2FzZTogL14oPz0uKj9bQS1aXSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzTnVtYmVyOiAvXig/PS4qP1swLTldKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNTcGVjaWFsQ2hhcjogL14oPz0uKj9bXCIgISMkJSYnKCkqKywtLi86Ozw9Pj9AW1xcXV5fYHt8fX5dKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNNaW5MZW5ndGg6IHBhc3N3b3JkLmxlbmd0aCA+PSAxMixcbiAgICB9O1xuXG4gICAgY29uc3QgcGFzc2VkQ291bnQgPSB0aGlzLmNvdW50UGFzc2VkKCk7XG4gICAgdGhpcy5wcm9ncmVzc1ZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgocGFzc2VkQ291bnQgKiAoMTAwIC8gT2JqZWN0LmtleXModGhpcy5jcml0ZXJpYVBhc3NlZCkubGVuZ3RoKSwgMSksIDEwMCk7XG4gICAgdGhpcy5wYXNzd29yZENoYW5nZS5lbWl0KHBhc3N3b3JkKTtcbiAgICB0aGlzLmFsbENyaXRlcmlhUGFzc2VkLmVtaXQocGFzc2VkQ291bnQgPT09IE9iamVjdC5rZXlzKHRoaXMuY3JpdGVyaWFQYXNzZWQpLmxlbmd0aCk7XG4gICAgdGhpcy5vbkNoYW5nZShwYXNzd29yZCk7XG4gIH1cblxuICBjb3VudFBhc3NlZCgpOiBudW1iZXIge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jcml0ZXJpYVBhc3NlZCkge1xuICAgICAgaWYgKHRoaXMuY3JpdGVyaWFQYXNzZWQuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0aGlzLmNyaXRlcmlhUGFzc2VkW2tleV0pIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG4gIG9uQ2hhbmdlID0gKHY6IGFueSkgPT4ge307XG4gIG9uVG91Y2ggPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShvYmopO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFzc3dvcmQtY3JpdGVyaWEtY29udGFpbmVyXCI+XG5cbiAgPHVpLWZpZWxkIFthcHBsaWNhdGlvblRoZW1lXT1cIidkYXJrJ1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdQQVNTV09SRC5QQVNTV09SRF9QTEFDRUhPTERFUicgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlKSArIChyZXF1aXJlZCA/ICcgKicgOiAnJylcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gICAgICAgICAgICAoZm9jdXNvdXQpPVwic2hvd0Vycm9yID0gdHJ1ZVwiXG4gID48L3VpLWZpZWxkPlxuXG4gIDxkaXYgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIiAqbmdJZj1cInNob3dDcml0ZXJpYVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICA8dWktcHJvZ3Jlc3MtYmFyIFtwcm9ncmVzc109XCJwcm9ncmVzc1ZhbHVlID09PSAxID8gMCA6IHByb2dyZXNzVmFsdWVcIiBbYXBwbGljYXRpb25UaGVtZV09XCInZGFyaydcIj48L3VpLXByb2dyZXNzLWJhcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBjcml0ZXJpb24gb2YgY3JpdGVyaWFcIlxuICAgICAgY2xhc3M9XCJjcml0ZXJpb25cIlxuICAgICAgW25nQ2xhc3NdPVwieyAncGFzc2VkJzogY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0sIGVycm9yOiAhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yIH1cIlxuICAgID5cbiAgICAgIDx1aS1pY29uIFtzaXplXT1cIicyNCdcIlxuICAgICAgICAgICAgICAgW2NvbG9yXT1cIidyZWJyYW5kLWJsYWNrJ1wiXG4gICAgICAgICAgICAgICBbbmFtZV09XCIhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gJiYgc2hvd0Vycm9yID8gJ0luZm8taW4tbGluZScgOiAnQ2hlY2stcm91bmQtaW4tbGluZSdcIlxuICAgICAgICAgICAgICAgYXBwbGljYXRpb25UaGVtZT1cImRhcmtcIlxuICAgICAgPjwvdWktaWNvbj5cbiAgICAgIDxzcGFuPnt7IGNyaXRlcmlvbi50cmFuc2xhdGVLZXkgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -1,10 +1,12 @@
1
1
  import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
2
  import { LanguageService } from '../../utils/localization/language.service';
3
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "../icon/icon.component";
6
7
  import * as i3 from "../progress-bar/progress-bar.component";
7
8
  import * as i4 from "../../pipes/ui-translate.pipe";
9
+ import * as i5 from "../../utils/localization/language.model";
8
10
  export class PasswordStrengthComponent {
9
11
  /**
10
12
  * The password that needs to be checked
@@ -16,8 +18,9 @@ export class PasswordStrengthComponent {
16
18
  this._password = value;
17
19
  this.checkCriteria(this._password);
18
20
  }
19
- constructor(defaultAppTheme) {
21
+ constructor(defaultAppTheme, appLang) {
20
22
  this.defaultAppTheme = defaultAppTheme;
23
+ this.appLang = appLang;
21
24
  /**
22
25
  *
23
26
  * Defines the application theme
@@ -52,6 +55,9 @@ export class PasswordStrengthComponent {
52
55
  if (this.defaultAppTheme) {
53
56
  this.applicationTheme = defaultAppTheme;
54
57
  }
58
+ if (appLang) {
59
+ this.language = appLang;
60
+ }
55
61
  }
56
62
  checkCriteria(password) {
57
63
  this.criteriaPassed = {
@@ -80,8 +86,8 @@ export class PasswordStrengthComponent {
80
86
  get checkIcon() {
81
87
  return this.applicationTheme === 'classic' ? 'Round-check' : 'Check-round-in-line';
82
88
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordStrengthComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PasswordStrengthComponent, selector: "ui-password-strength", inputs: { applicationTheme: "applicationTheme", language: "language", password: "password" }, outputs: { validationCheck: "validationCheck" }, ngImport: i0, template: "<div class=\"criteria-container\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"applicationTheme\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] ? infoIcon : checkIcon\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate : language }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.criteria-container{margin-top:14px}.criteria-container .progress{margin-bottom:16px}.criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "language"] }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordStrengthComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PasswordStrengthComponent, selector: "ui-password-strength", inputs: { applicationTheme: "applicationTheme", language: "language", password: "password" }, outputs: { validationCheck: "validationCheck" }, ngImport: i0, template: "<div class=\"criteria-container\">\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"applicationTheme\"></ui-progress-bar>\n </div>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] ? infoIcon : checkIcon\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate : language }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.criteria-container{margin-top:14px}.criteria-container .progress{margin-bottom:16px}.criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "language"] }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
85
91
  }
86
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PasswordStrengthComponent, decorators: [{
87
93
  type: Component,
@@ -91,6 +97,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
91
97
  }, {
92
98
  type: Inject,
93
99
  args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
100
+ }] }, { type: i5.Language, decorators: [{
101
+ type: Optional
102
+ }, {
103
+ type: Inject,
104
+ args: [CANOPY_UI_LANG]
94
105
  }] }], propDecorators: { applicationTheme: [{
95
106
  type: Input
96
107
  }], language: [{
@@ -100,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
100
111
  }], validationCheck: [{
101
112
  type: Output
102
113
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFRNUUsTUFBTSxPQUFPLHlCQUF5QjtJQWtCcEM7Ozs7O09BS0c7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFxQkQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBaEQ5Rzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRXREOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFhcEQ7Ozs7O1dBS0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHOUMsbUJBQWMsR0FBK0IsRUFBRSxDQUFDO1FBQ2xELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDYixhQUFRLEdBQTRDO1lBQzVELEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7WUFDM0QsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtZQUMzRCxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO1lBQ3JELEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRTtZQUNyRSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO1NBQzdELENBQUM7UUFLQSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVDLFlBQVksRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxTQUFTLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekMsY0FBYyxFQUFFLDZDQUE2QyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDNUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRTtTQUNwQyxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDckYsQ0FBQzs4R0F0RlUseUJBQXlCLGtCQWlEZCxvQ0FBb0M7a0dBakQvQyx5QkFBeUIsMk1DVnRDLHNzQkFtQkE7OzJGRFRhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxzQkFBc0I7OzBCQXFEN0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7eUNBekNqRCxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLO2dCQVdJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXBhc3N3b3JkLXN0cmVuZ3RoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCB7XG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgdGhhdCBuZWVkcyB0byBiZSBjaGVja2VkXG4gICAqIEBwcm9wZXJ0eSBwYXNzd29yZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBhc3N3b3JkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYXNzd29yZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hlY2tDcml0ZXJpYSh0aGlzLl9wYXNzd29yZCk7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgdGhhdCBvdXRwdXRzIHZhbGlkYXRpb24gY2hlY2sgcmVzdWx0XG4gICAqIEBwcm9wZXJ0eSB2YWxpZGF0aW9uQ2hlY2tcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XG4gICAqL1xuICBAT3V0cHV0KCkgdmFsaWRhdGlvbkNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByb3RlY3RlZCBwcm9ncmVzc1ZhbHVlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBjcml0ZXJpYVBhc3NlZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgcHJpdmF0ZSBfcGFzc3dvcmQgPSAnJztcbiAgcHJvdGVjdGVkIGNyaXRlcmlhOiB7IHRyYW5zbGF0ZUtleTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W10gPSBbXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5MT1dFUkNBU0UnLCBrZXk6ICdoYXNMb3dlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5VUFBFUkNBU0UnLCBrZXk6ICdoYXNVcHBlcmNhc2UnIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5OVU1CRVInLCBrZXk6ICdoYXNOdW1iZXInIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5TUEVDSUFMX0NIQVJBQ1RFUicsIGtleTogJ2hhc1NwZWNpYWxDaGFyJyB9LFxuICAgIHsgdHJhbnNsYXRlS2V5OiAnUEFTU1dPUkQuQ0hBUkFDVEVSUycsIGtleTogJ2hhc01pbkxlbmd0aCcgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWVcbiAgKSB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tDcml0ZXJpYShwYXNzd29yZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jcml0ZXJpYVBhc3NlZCA9IHtcbiAgICAgIGhhc0xvd2VyY2FzZTogL14oPz0uKj9bYS16XSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzVXBwZXJjYXNlOiAvXig/PS4qP1tBLVpdKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNOdW1iZXI6IC9eKD89Lio/WzAtOV0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc1NwZWNpYWxDaGFyOiAvXig/PS4qP1tcIiAhIyQlJicoKSorLC0uLzo7PD0+P0BbXFxdXl9ge3x9fl0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc01pbkxlbmd0aDogcGFzc3dvcmQubGVuZ3RoID49IDEyLFxuICAgIH07XG5cbiAgICBjb25zdCBwYXNzZWRDb3VudCA9IHRoaXMuY291bnRQYXNzZWQoKTtcbiAgICB0aGlzLnByb2dyZXNzVmFsdWUgPSBNYXRoLm1pbihNYXRoLm1heChwYXNzZWRDb3VudCAqICgxMDAgLyBPYmplY3Qua2V5cyh0aGlzLmNyaXRlcmlhUGFzc2VkKS5sZW5ndGgpLCAxKSwgMTAwKTtcbiAgICB0aGlzLnZhbGlkYXRpb25DaGVjay5lbWl0KHBhc3NlZENvdW50ID09PSBPYmplY3Qua2V5cyh0aGlzLmNyaXRlcmlhUGFzc2VkKS5sZW5ndGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3VudFBhc3NlZCgpOiBudW1iZXIge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jcml0ZXJpYVBhc3NlZCkge1xuICAgICAgaWYgKHRoaXMuY3JpdGVyaWFQYXNzZWQuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0aGlzLmNyaXRlcmlhUGFzc2VkW2tleV0pIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgZ2V0IGluZm9JY29uKCk6IEljb25OYW1lIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnSW5mbycgOiAnSW5mby1pbi1saW5lJztcbiAgfVxuXG4gIGdldCBjaGVja0ljb24oKTogSWNvbk5hbWUge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdSb3VuZC1jaGVjaycgOiAnQ2hlY2stcm91bmQtaW4tbGluZSc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcml0ZXJpYS1jb250YWluZXJcIj5cblxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cbiAgICA8dWktcHJvZ3Jlc3MtYmFyIFtwcm9ncmVzc109XCJwcm9ncmVzc1ZhbHVlID09PSAxID8gMCA6IHByb2dyZXNzVmFsdWVcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+PC91aS1wcm9ncmVzcy1iYXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAqbmdGb3I9XCJsZXQgY3JpdGVyaW9uIG9mIGNyaXRlcmlhXCJcbiAgICBjbGFzcz1cImNyaXRlcmlvblwiXG4gICAgW25nQ2xhc3NdPVwieyAncGFzc2VkJzogY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0sIGVycm9yOiAhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gfVwiXG4gID5cbiAgICA8dWktaWNvbiBbc2l6ZV09XCInMjQnXCJcbiAgICAgICAgICAgICBbY29sb3JdPVwiJ3JlYnJhbmQtYmxhY2snXCJcbiAgICAgICAgICAgICBbbmFtZV09XCIhY3JpdGVyaWFQYXNzZWRbY3JpdGVyaW9uLmtleV0gPyBpbmZvSWNvbiA6IGNoZWNrSWNvblwiXG4gICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgPjwvdWktaWNvbj5cbiAgICA8c3Bhbj57eyBjcml0ZXJpb24udHJhbnNsYXRlS2V5IHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8seUJBQXlCO0lBa0JwQzs7Ozs7T0FLRztJQUNILElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQXFCRCxZQUM2RSxlQUFpQyxFQUNyRCxPQUFpQjtRQURHLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNyRCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBakQxRTs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRXREOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFhcEQ7Ozs7O1dBS0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHOUMsbUJBQWMsR0FBK0IsRUFB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eEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBV0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IENBTk9QWV9VSV9MQU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2FwcC1sYW5nLnRva2VuJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktcGFzc3dvcmQtc3RyZW5ndGgnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqIEBwcm9wZXJ0eSBsYW5ndWFnZVxuICAgKiBAdHlwZSB7TGFuZ3VhZ2V9XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzd29yZCB0aGF0IG5lZWRzIHRvIGJlIGNoZWNrZWRcbiAgICogQHByb3BlcnR5IHBhc3N3b3JkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgcGFzc3dvcmQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Bhc3N3b3JkID0gdmFsdWU7XG4gICAgdGhpcy5jaGVja0NyaXRlcmlhKHRoaXMuX3Bhc3N3b3JkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IG91dHB1dHMgdmFsaWRhdGlvbiBjaGVjayByZXN1bHRcbiAgICogQHByb3BlcnR5IHZhbGlkYXRpb25DaGVja1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSB2YWxpZGF0aW9uQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJvdGVjdGVkIHByb2dyZXNzVmFsdWU6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGNyaXRlcmlhUGFzc2VkOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBwcml2YXRlIF9wYXNzd29yZCA9ICcnO1xuICBwcm90ZWN0ZWQgY3JpdGVyaWE6IHsgdHJhbnNsYXRlS2V5OiBzdHJpbmc7IGtleTogc3RyaW5nIH1bXSA9IFtcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELkxPV0VSQ0FTRScsIGtleTogJ2hhc0xvd2VyY2FzZScgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELlVQUEVSQ0FTRScsIGtleTogJ2hhc1VwcGVyY2FzZScgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELk5VTUJFUicsIGtleTogJ2hhc051bWJlcicgfSxcbiAgICB7IHRyYW5zbGF0ZUtleTogJ1BBU1NXT1JELlNQRUNJQUxfQ0hBUkFDVEVSJywga2V5OiAnaGFzU3BlY2lhbENoYXInIH0sXG4gICAgeyB0cmFuc2xhdGVLZXk6ICdQQVNTV09SRC5DSEFSQUNURVJTJywga2V5OiAnaGFzTWluTGVuZ3RoJyB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENBTk9QWV9VSV9MQU5HKSBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwTGFuZzogTGFuZ3VhZ2UsXG4gICkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIGlmIChhcHBMYW5nKSB7XG4gICAgICB0aGlzLmxhbmd1YWdlID0gYXBwTGFuZztcbiAgICB9XG4gIH1cblxuICBjaGVja0NyaXRlcmlhKHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNyaXRlcmlhUGFzc2VkID0ge1xuICAgICAgaGFzTG93ZXJjYXNlOiAvXig/PS4qP1thLXpdKS8udGVzdChwYXNzd29yZCksXG4gICAgICBoYXNVcHBlcmNhc2U6IC9eKD89Lio/W0EtWl0pLy50ZXN0KHBhc3N3b3JkKSxcbiAgICAgIGhhc051bWJlcjogL14oPz0uKj9bMC05XSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzU3BlY2lhbENoYXI6IC9eKD89Lio/W1wiICEjJCUmJygpKissLS4vOjs8PT4/QFtcXF1eX2B7fH1+XSkvLnRlc3QocGFzc3dvcmQpLFxuICAgICAgaGFzTWluTGVuZ3RoOiBwYXNzd29yZC5sZW5ndGggPj0gMTIsXG4gICAgfTtcblxuICAgIGNvbnN0IHBhc3NlZENvdW50ID0gdGhpcy5jb3VudFBhc3NlZCgpO1xuICAgIHRoaXMucHJvZ3Jlc3NWYWx1ZSA9IE1hdGgubWluKE1hdGgubWF4KHBhc3NlZENvdW50ICogKDEwMCAvIE9iamVjdC5rZXlzKHRoaXMuY3JpdGVyaWFQYXNzZWQpLmxlbmd0aCksIDEpLCAxMDApO1xuICAgIHRoaXMudmFsaWRhdGlvbkNoZWNrLmVtaXQocGFzc2VkQ291bnQgPT09IE9iamVjdC5rZXlzKHRoaXMuY3JpdGVyaWFQYXNzZWQpLmxlbmd0aCk7XG4gIH1cblxuICBwcml2YXRlIGNvdW50UGFzc2VkKCk6IG51bWJlciB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNyaXRlcmlhUGFzc2VkKSB7XG4gICAgICBpZiAodGhpcy5jcml0ZXJpYVBhc3NlZC5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHRoaXMuY3JpdGVyaWFQYXNzZWRba2V5XSkge1xuICAgICAgICBjb3VudCsrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBnZXQgaW5mb0ljb24oKTogSWNvbk5hbWUge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdJbmZvJyA6ICdJbmZvLWluLWxpbmUnO1xuICB9XG5cbiAgZ2V0IGNoZWNrSWNvbigpOiBJY29uTmFtZSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJ1JvdW5kLWNoZWNrJyA6ICdDaGVjay1yb3VuZC1pbi1saW5lJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNyaXRlcmlhLWNvbnRhaW5lclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiPlxuICAgIDx1aS1wcm9ncmVzcy1iYXIgW3Byb2dyZXNzXT1cInByb2dyZXNzVmFsdWUgPT09IDEgPyAwIDogcHJvZ3Jlc3NWYWx1ZVwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj48L3VpLXByb2dyZXNzLWJhcj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0Zvcj1cImxldCBjcml0ZXJpb24gb2YgY3JpdGVyaWFcIlxuICAgIGNsYXNzPVwiY3JpdGVyaW9uXCJcbiAgICBbbmdDbGFzc109XCJ7ICdwYXNzZWQnOiBjcml0ZXJpYVBhc3NlZFtjcml0ZXJpb24ua2V5XSwgZXJyb3I6ICFjcml0ZXJpYVBhc3NlZFtjcml0ZXJpb24ua2V5XSB9XCJcbiAgPlxuICAgIDx1aS1pY29uIFtzaXplXT1cIicyNCdcIlxuICAgICAgICAgICAgIFtjb2xvcl09XCIncmVicmFuZC1ibGFjaydcIlxuICAgICAgICAgICAgIFtuYW1lXT1cIiFjcml0ZXJpYVBhc3NlZFtjcml0ZXJpb24ua2V5XSA/IGluZm9JY29uIDogY2hlY2tJY29uXCJcbiAgICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICA+PC91aS1pY29uPlxuICAgIDxzcGFuPnt7IGNyaXRlcmlvbi50cmFuc2xhdGVLZXkgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19