@seniorsistemas/angular-components 19.0.9 → 19.1.0

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 (123) hide show
  1. package/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +2 -0
  2. package/button/lib/button/button.component.d.ts +8 -2
  3. package/checkbox/lib/checkbox/checkbox.component.d.ts +5 -1
  4. package/dialog/lib/src/dialog/dialog.component.d.ts +7 -1
  5. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +2 -2
  6. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +1 -1
  7. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +3 -3
  8. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +8 -6
  9. package/esm2022/button/lib/button/button.component.mjs +20 -8
  10. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +8 -5
  11. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +2 -2
  12. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +1 -1
  13. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +9 -3
  14. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +1 -1
  15. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
  16. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +1 -1
  17. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
  18. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +2 -2
  19. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
  20. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +1 -1
  21. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +1 -1
  22. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +1 -1
  23. package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +2 -2
  24. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +1 -1
  25. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +1 -1
  26. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +1 -1
  27. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
  28. package/esm2022/global-search/lib/global-search/global-search.component.mjs +1 -1
  29. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
  30. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +1 -1
  31. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  32. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
  33. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
  34. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
  35. package/esm2022/lib/locale/fallback.mjs +13 -2
  36. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +1 -1
  37. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
  38. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
  39. package/esm2022/paginator/lib/paginator/paginator.component.mjs +2 -2
  40. package/esm2022/picklist/lib/picklist/picklist.component.mjs +1 -1
  41. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +1 -1
  42. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -3
  43. package/esm2022/select/lib/select/select.component.mjs +132 -20
  44. package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +182 -0
  45. package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +174 -0
  46. package/esm2022/shared/public-api.mjs +6 -4
  47. package/esm2022/switch/lib/switch/switch.component.mjs +19 -8
  48. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
  49. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +18 -8
  50. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +1 -1
  51. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.service.mjs +1 -1
  52. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +11 -3
  53. package/esm2022/tooltip/lib/tooltip/tooltip.component.mjs +17 -11
  54. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +108 -241
  55. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +4 -6
  56. package/esm2022/topbar/lib/topbar/topbar.component.mjs +2 -2
  57. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +1 -1
  58. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  59. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +9 -7
  60. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  61. package/fesm2022/seniorsistemas-angular-components-button.mjs +19 -7
  62. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  63. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +7 -4
  64. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  65. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +1 -1
  66. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
  67. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +1 -1
  68. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  69. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +8 -2
  70. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  71. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +11 -11
  72. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  73. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +1 -1
  74. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  75. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +1 -1
  76. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  77. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +2 -2
  78. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  79. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +1 -1
  80. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  81. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +1 -1
  82. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  83. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +2 -2
  84. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  85. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +2 -2
  86. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  87. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +1 -1
  88. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  89. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
  90. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  91. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +1 -1
  92. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  93. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +1 -1
  94. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  95. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +1 -1
  96. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  97. package/fesm2022/seniorsistemas-angular-components-select.mjs +133 -21
  98. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  99. package/fesm2022/seniorsistemas-angular-components-shared.mjs +354 -2
  100. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  101. package/fesm2022/seniorsistemas-angular-components-switch.mjs +18 -7
  102. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  103. package/fesm2022/seniorsistemas-angular-components-table.mjs +1 -1
  104. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  105. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +26 -8
  106. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  107. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +125 -254
  108. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  109. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +2 -2
  110. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  111. package/fesm2022/seniorsistemas-angular-components.mjs +12 -1
  112. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  113. package/package.json +1 -1
  114. package/select/lib/select/select.component.d.ts +23 -2
  115. package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +30 -0
  116. package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +46 -0
  117. package/shared/public-api.d.ts +7 -5
  118. package/switch/lib/switch/switch.component.d.ts +9 -5
  119. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -0
  120. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +4 -2
  121. package/tooltip/lib/tooltip/tooltip.component.d.ts +13 -7
  122. package/tooltip/lib/tooltip/tooltip.directive.d.ts +27 -40
  123. package/tooltip/lib/tooltip/tooltip.module.d.ts +3 -4
@@ -3,6 +3,8 @@ export type BreadcrumbItem = {
3
3
  routerLink?: string | string[];
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
+ disabledIcon?: boolean;
7
+ hideLabel?: boolean;
6
8
  queryParams?: Params;
7
9
  url?: string;
8
10
  icon?: string;
@@ -104,7 +104,6 @@ export declare class ButtonComponent implements OnChanges {
104
104
  *
105
105
  * @default 'default'
106
106
  */
107
- menuAriaLabel?: string;
108
107
  size?: 'default' | 'small';
109
108
  /**
110
109
  * @description Habilita o modo slide, que exibe uma animação de deslize ao passar o mouse.
@@ -125,13 +124,20 @@ export declare class ButtonComponent implements OnChanges {
125
124
  * @description Cor aplicada ao ícone do botão, sobrescrevendo a cor padrão do tema.
126
125
  */
127
126
  iconColor?: string;
127
+ /**
128
+ * @description Texto alternativo para o menu associado ao botão, utilizado para acessibilidade.
129
+ */
130
+ menuAriaLabel?: string;
128
131
  /**
129
132
  * @description Emitido ao clicar no botão, desde que não esteja desabilitado.
130
133
  */
131
134
  clicked: EventEmitter<any>;
135
+ isMenuOpen: boolean;
132
136
  validateSlideButton(): boolean;
133
137
  ngOnChanges(_: SimpleChanges): void;
134
138
  isRotateAnimation(): boolean;
139
+ onTieredMenuOpened(): void;
140
+ onTieredMenuClosed(): void;
135
141
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
136
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "s-button", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "rightIconClass": { "alias": "rightIconClass"; "required": false; }; "caret": { "alias": "caret"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "auxiliary": { "alias": "auxiliary"; "required": false; }; "type": { "alias": "type"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "menuOptions": { "alias": "menuOptions"; "required": false; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
142
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "s-button", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "rightIconClass": { "alias": "rightIconClass"; "required": false; }; "caret": { "alias": "caret"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "auxiliary": { "alias": "auxiliary"; "required": false; }; "type": { "alias": "type"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "menuOptions": { "alias": "menuOptions"; "required": false; }; "size": { "alias": "size"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
137
143
  }
@@ -24,6 +24,10 @@ export declare class CheckboxComponent implements ControlValueAccessor {
24
24
  indeterminate: import("@angular/core").InputSignal<boolean>;
25
25
  /** @description Texto do label exibido ao lado do checkbox. @default '' */
26
26
  label: import("@angular/core").InputSignal<string>;
27
+ /** @description Rótulo acessível para leitores de tela. Opcional, por padrão usa o valor de `label`. */
28
+ ariaLabel: import("@angular/core").InputSignal<string | undefined>;
29
+ /** @description ID do elemento que descreve o checkbox (para usar `<label for="...">`). Opcional. */
30
+ ariaLabelledBy: import("@angular/core").InputSignal<string | undefined>;
27
31
  /**
28
32
  * @description Emitido quando o valor do checkbox é alterado pelo usuário.
29
33
  * Emite o novo valor booleano (`true` para marcado, `false` para desmarcado).
@@ -45,5 +49,5 @@ export declare class CheckboxComponent implements ControlValueAccessor {
45
49
  setDisabledState(disabled: boolean): void;
46
50
  onBlur(): void;
47
51
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "s-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "s-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
49
53
  }
@@ -61,6 +61,12 @@ export declare class DialogComponent implements AfterViewInit, OnDestroy {
61
61
  * @default true
62
62
  */
63
63
  destroyClickOutside: import("@angular/core").InputSignal<boolean>;
64
+ /**
65
+ * @description Valor do aria-label do botão de fechar a dialog.
66
+ *
67
+ * @default 'Fechar'
68
+ */
69
+ closeAriaLabel: import("@angular/core").InputSignal<string>;
64
70
  private readonly viewContainerRef;
65
71
  private readonly dialogService;
66
72
  private readonly template;
@@ -76,5 +82,5 @@ export declare class DialogComponent implements AfterViewInit, OnDestroy {
76
82
  private getTemplate;
77
83
  private openDialog;
78
84
  static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "s-dialog", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "contentClassName": { "alias": "contentClassName"; "required": false; "isSignal": true; }; "escapeOnEsc": { "alias": "escapeOnEsc"; "required": false; "isSignal": true; }; "destroyClickOutside": { "alias": "destroyClickOutside"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; }, ["templateDiretives"], ["*"], true, never>;
85
+ static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "s-dialog", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "contentClassName": { "alias": "contentClassName"; "required": false; "isSignal": true; }; "escapeOnEsc": { "alias": "escapeOnEsc"; "required": false; "isSignal": true; }; "destroyClickOutside": { "alias": "destroyClickOutside"; "required": false; "isSignal": true; }; "closeAriaLabel": { "alias": "closeAriaLabel"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; }, ["templateDiretives"], ["*"], true, never>;
80
86
  }
@@ -134,7 +134,7 @@ export class AccordionPanelComponent {
134
134
  }
135
135
  }
136
136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AccordionPanelComponent, selector: "s-accordion-panel", inputs: { header: "header", buttons: "buttons", disabled: "disabled", switchControl: "switchControl", validationMessage: "validationMessage", cache: "cache", validationMessageIcon: "validationMessageIcon", validationMessageIconColor: "validationMessageIconColor" }, outputs: { panelOpened: "panelOpened", panelClosed: "panelClosed" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"accordion-panel\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header\"\n (click)=\"onTabClick()\"\n >\n <div class=\"header__title\">\n <span\n class=\"icon fas\"\n [class.fa-minus]=\"isOpen\"\n [class.fa-plus]=\"!isOpen\"\n >\n </span>\n @if (validationMessage) {\n <span\n class=\"exclamation-icon\"\n [class]=\"validationMessageIcon\"\n [sTooltip]=\"validationMessage\"\n [class.exclamation-icon-red]=\"validationMessageIconColor === 'Red'\"\n [class.exclamation-icon-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.exclamation-icon-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.exclamation-icon-green]=\"validationMessageIconColor === 'Green'\"\n [class.exclamation-icon-blue]=\"validationMessageIconColor === 'Blue'\"\n >\n </span>\n }\n <span class=\"title\">{{ header }}</span>\n </div>\n <div class=\"header__controls\">\n @for (button of buttons; track button.icon) {\n <button\n class=\"icon-button\"\n [ngClass]=\"button.icon\"\n (click)=\"onIconButtonsClick($event, button.onClick)\"\n ></button>\n }\n\n @if (switchControl) {\n <s-switch\n class=\"switch\"\n [formControl]=\"switchControl\"\n (click)=\"$event.stopPropagation()\"\n >\n </s-switch>\n }\n </div>\n </div>\n\n @if (cache) {\n <div\n class=\"content\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n }\n }\n</div>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".accordion-panel{border-bottom:1px solid #c1c1cc}.accordion-panel .header{align-items:center;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:16px;-webkit-user-select:none;user-select:none}.accordion-panel .header .header__title{align-items:center;display:flex;flex-wrap:nowrap}.accordion-panel .header .header__title .icon{color:#212533;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon{font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon-red{color:#c13018}.accordion-panel .header .header__title .exclamation-icon-orange{color:#f8931f}.accordion-panel .header .header__title .exclamation-icon-yellow{color:#fcbf10}.accordion-panel .header .header__title .exclamation-icon-green{color:#0c9348}.accordion-panel .header .header__title .exclamation-icon-blue{color:#428bca}.accordion-panel .header .header__title .title{font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:700;line-height:150%;text-transform:uppercase}.accordion-panel .header .header__controls{align-items:center;display:flex;margin-left:16px}.accordion-panel .header .header__controls .icon-button{color:#212533;cursor:pointer;font-size:1rem;margin-left:12px;padding:4px;border:none;background:none}.accordion-panel .header .header__controls .switch{padding-left:16px}.accordion-panel .content{background-color:#fff;overflow:hidden}.accordion-panel .content .content-container{margin:20px}.accordion-panel--open .header{background-color:#eeebf2;border-bottom:1px solid #c1c1cc}.accordion-panel--disabled .header{cursor:auto}.accordion-panel--disabled .header .header__title .icon,.accordion-panel--disabled .header .header__title .title{color:#c1c1cc}.accordion-panel--disabled .header .header__controls .icon-button{color:#c1c1cc;cursor:auto}.accordion-panel--disabled .exclamation-icon{opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i4.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "inputName", "disabled", "value"], outputs: ["valueChanged"] }], animations: [
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AccordionPanelComponent, selector: "s-accordion-panel", inputs: { header: "header", buttons: "buttons", disabled: "disabled", switchControl: "switchControl", validationMessage: "validationMessage", cache: "cache", validationMessageIcon: "validationMessageIcon", validationMessageIconColor: "validationMessageIconColor" }, outputs: { panelOpened: "panelOpened", panelClosed: "panelClosed" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"accordion-panel\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header\"\n (click)=\"onTabClick()\"\n >\n <div class=\"header__title\">\n <span\n class=\"icon fas\"\n [class.fa-minus]=\"isOpen\"\n [class.fa-plus]=\"!isOpen\"\n >\n </span>\n @if (validationMessage) {\n <span\n class=\"exclamation-icon\"\n [class]=\"validationMessageIcon\"\n [sTooltip]=\"validationMessage\"\n [class.exclamation-icon-red]=\"validationMessageIconColor === 'Red'\"\n [class.exclamation-icon-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.exclamation-icon-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.exclamation-icon-green]=\"validationMessageIconColor === 'Green'\"\n [class.exclamation-icon-blue]=\"validationMessageIconColor === 'Blue'\"\n >\n </span>\n }\n <span class=\"title\">{{ header }}</span>\n </div>\n <div class=\"header__controls\">\n @for (button of buttons; track button.icon) {\n <button\n class=\"icon-button\"\n [ngClass]=\"button.icon\"\n (click)=\"onIconButtonsClick($event, button.onClick)\"\n ></button>\n }\n\n @if (switchControl) {\n <s-switch\n class=\"switch\"\n [formControl]=\"switchControl\"\n (click)=\"$event.stopPropagation()\"\n >\n </s-switch>\n }\n </div>\n </div>\n\n @if (cache) {\n <div\n class=\"content\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n }\n }\n</div>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".accordion-panel{border-bottom:1px solid #c1c1cc}.accordion-panel .header{align-items:center;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:16px;-webkit-user-select:none;user-select:none}.accordion-panel .header .header__title{align-items:center;display:flex;flex-wrap:nowrap}.accordion-panel .header .header__title .icon{color:#212533;font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon{font-size:1rem;margin-right:12px}.accordion-panel .header .header__title .exclamation-icon-red{color:#c13018}.accordion-panel .header .header__title .exclamation-icon-orange{color:#f8931f}.accordion-panel .header .header__title .exclamation-icon-yellow{color:#fcbf10}.accordion-panel .header .header__title .exclamation-icon-green{color:#0c9348}.accordion-panel .header .header__title .exclamation-icon-blue{color:#428bca}.accordion-panel .header .header__title .title{font-family:\"Open Sans\" sans-serif;font-size:.875rem;font-weight:700;line-height:150%;text-transform:uppercase}.accordion-panel .header .header__controls{align-items:center;display:flex;margin-left:16px}.accordion-panel .header .header__controls .icon-button{color:#212533;cursor:pointer;font-size:1rem;margin-left:12px;padding:4px;border:none;background:none}.accordion-panel .header .header__controls .switch{padding-left:16px}.accordion-panel .content{background-color:#fff;overflow:hidden}.accordion-panel .content .content-container{margin:20px}.accordion-panel--open .header{background-color:#eeebf2;border-bottom:1px solid #c1c1cc}.accordion-panel--disabled .header{cursor:auto}.accordion-panel--disabled .header .header__title .icon,.accordion-panel--disabled .header .header__title .title{color:#c1c1cc}.accordion-panel--disabled .header .header__controls .icon-button{color:#c1c1cc;cursor:auto}.accordion-panel--disabled .exclamation-icon{opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i4.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }], animations: [
138
138
  trigger('cachelessAnimation', [
139
139
  transition(':enter', [style({ height: '0' }), animate('200ms linear', style({ height: '*' }))]),
140
140
  transition(':leave', [style({ height: '*' }), animate('200ms linear', style({ height: '0' }))]),
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
181
181
  }], panelClosed: [{
182
182
  type: Output
183
183
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFLakY7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBaUJILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEM7O09BRUc7SUFFSSxNQUFNLENBQVU7SUFFdkI7OztPQUdHO0lBRUksT0FBTyxDQUE2QjtJQUUzQzs7OztPQUlHO0lBRUksUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4Qjs7O09BR0c7SUFFSSxhQUFhLENBQXNCO0lBRTFDOzs7T0FHRztJQUVJLGlCQUFpQixDQUFVO0lBRWxDOzs7OztPQUtHO0lBRUksS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVyQjs7OztPQUlHO0lBQ00scUJBQXFCLEdBQUcsMkJBQTJCLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNNLDBCQUEwQixHQUErQixLQUFLLENBQUM7SUFFeEU7O09BRUc7SUFFSSxXQUFXLEdBQUcsSUFBSSxZQUFZ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TyxDQUFDLENBQUM7eUJBQ3pDLENBQUM7cUJBQ0w7OEJBT00sTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRbEIsT0FBTztzQkFEYixLQUFLO2dCQVNDLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxhQUFhO3NCQURuQixLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFVQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQU9HLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFNQyxXQUFXO3NCQURqQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiwgc3RhdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWNjb3JkaW9uQnV0dG9uU2V0dGluZ3MsIFZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY29yZGlvbi1idXR0b24tc2V0dGluZ3MnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQYWluZWwgaW5kaXZpZHVhbCBkbyB7QGxpbmsgQWNjb3JkaW9uQ29tcG9uZW50fS4gR2VyZW5jaWEgbyBlc3RhZG8gZGVcbiAqIGFiZXJ0dXJhL2ZlY2hhbWVudG8gY29tIGFuaW1hw6fDo28sIHBvZGVuZG8gY29udGVyIHVtIHN3aXRjaCBkZSBjb250cm9sZSB2aWEgYHN3aXRjaENvbnRyb2xgLFxuICogYm90w7VlcyBkZSBhw6fDo28gY29uZmlndXLDoXZlaXMgZSB1bWEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28gY29tIMOtY29uZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtYWNjb3JkaW9uLXBhbmVsXG4gKiAgIGhlYWRlcj1cIkNvbmZpZ3VyYcOnw7Vlc1wiXG4gKiAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gKiAgIChwYW5lbE9wZW5lZCk9XCJvbk9wZW4oKVwiXG4gKiAgIChwYW5lbENsb3NlZCk9XCJvbkNsb3NlKClcIj5cbiAqICAgPHA+Q29udGXDumRvIGRvIHBhaW5lbDwvcD5cbiAqIDwvcy1hY2NvcmRpb24tcGFuZWw+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1hY2NvcmRpb24tcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignY2FjaGVsZXNzQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgaGVpZ2h0OiAnMCcgfSksIGFuaW1hdGUoJzIwMG1zIGxpbmVhcicsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSwgYW5pbWF0ZSgnMjAwbXMgbGluZWFyJywgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSldKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcyMDBtcycpKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBoZWFkZXIhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgYm90w7VlcyBkZSBhw6fDo28gZXhpYmlkb3Mgbm8gY2FiZcOnYWxobyBkbyBwYWluZWwsXG4gICAgICogw6AgZGlyZWl0YSBkbyB0w610dWxvLiBDYWRhIGl0ZW0gZGVmaW5lIMOtY29uZSwgdG9vbHRpcCBlIGNhbGxiYWNrIGRlIGNsaXF1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b25zPzogQWNjb3JkaW9uQnV0dG9uU2V0dGluZ3NbXTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIGEgaW50ZXJhw6fDo28gZG8gdXN1w6FyaW8gY29tIG8gcGFpbmVsLCBpbXBlZGluZG8gYWJlcnR1cmEgZSBmZWNoYW1lbnRvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGBGb3JtQ29udHJvbGAgdmluY3VsYWRvIGEgdW0gc3dpdGNoIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXG4gICAgICogUGVybWl0ZSBoYWJpbGl0YXIvZGVzYWJpbGl0YXIgbyBjb250ZcO6ZG8gZG8gcGFpbmVsIHZpYSB0b2dnbGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3dpdGNoQ29udHJvbD86IFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBNZW5zYWdlbSBkZSB2YWxpZGHDp8OjbyBleGliaWRhIGFiYWl4byBkbyBjYWJlw6dhbGhvLCBhY29tcGFuaGFkYSBkZSB1bSDDrWNvbmUuXG4gICAgICogw5p0aWwgcGFyYSBpbmRpY2FyIGVycm9zIG91IGFsZXJ0YXMgcmVsYWNpb25hZG9zIGFvIGNvbnRlw7pkbyBkbyBwYWluZWwuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsaWRhdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTWFudMOpbSBvIGNvbnRlw7pkbyBkbyBwYWluZWwgbm8gRE9NIG1lc21vIHF1YW5kbyBmZWNoYWRvIChtb2RvIGNhY2hlKS5cbiAgICAgKiDDmnRpbCBwYXJhIHByZXNlcnZhciBvIGVzdGFkbyBkZSBjb21wb25lbnRlcyBpbnRlcm5vcyBhbyByZWFicmlyIG8gcGFpbmVsLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYWNoZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBhbyBsYWRvIGRhIG1lbnNhZ2VtIGRlIHZhbGlkYcOnw6NvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uID0gJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENvciBkbyDDrWNvbmUgZGEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnUmVkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yOiBWYWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9ICdSZWQnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gcGFpbmVsIMOpIGFiZXJ0byBwZWxvIHVzdcOhcmlvLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwYW5lbE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHBhaW5lbCDDqSBmZWNoYWRvIHBlbG8gdXN1w6FyaW8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHBhbmVsQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29udGVudEFuaW1hdGlvbkRpc2FibGVkID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBpc09wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBpc09wZW4oaXNPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IGlzT3BlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzICYmIHRoaXMuc3dpdGNoQ29udHJvbCkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zd2l0Y2hDb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnc3dpdGNoJyBpbiBjaGFuZ2VzICYmICdzd2l0Y2hDb250cm9sJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2FuJ3Qgc2V0IHN3aXRjaCBhbmQgc3dpdGNoQ29udHJvbCB0b2dldGhlci5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyB0byBleGVjdXRlZCBhdCBhIHNhZmUgdGltZSBwcmlvciB0byBjb250cm9sIHJldHVybmluZyB0byB0aGUgYnJvd3NlcidzIGV2ZW50IGxvb3BcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JY29uQnV0dG9uc0NsaWNrKGV2ZW50OiBFdmVudCwgY2FsbGJhY2s6IFZvaWRGdW5jdGlvbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFiQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNBbmltYXRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Db250ZW50QW5pbWF0aW9uU3RhcnQoKSB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbnRlbnRBbmltYXRpb25Eb25lKCkge1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0UGFuZWxFdmVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnBhbmVsT3BlbmVkLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxDbG9zZWQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhY2NvcmRpb24tcGFuZWxcIlxuICAgIFtjbGFzcy5hY2NvcmRpb24tcGFuZWwtLW9wZW5dPVwiaXNPcGVuXCJcbiAgICBbY2xhc3MuYWNjb3JkaW9uLXBhbmVsLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImhlYWRlclwiXG4gICAgICAgIChjbGljayk9XCJvblRhYkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uIGZhc1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLW1pbnVzXT1cImlzT3BlblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLXBsdXNdPVwiIWlzT3BlblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICBAaWYgKHZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleGNsYW1hdGlvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJ2YWxpZGF0aW9uTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLXJlZF09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ1JlZCdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhjbGFtYXRpb24taWNvbi1vcmFuZ2VdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdPcmFuZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24teWVsbG93XT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnWWVsbG93J1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLWdyZWVuXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnR3JlZW4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24tYmx1ZV09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0JsdWUnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGhlYWRlciB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2NvbnRyb2xzXCI+XG4gICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uLmljb24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkljb25CdXR0b25zQ2xpY2soJGV2ZW50LCBidXR0b24ub25DbGljaylcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChzd2l0Y2hDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgPHMtc3dpdGNoXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN3aXRjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zLXN3aXRjaD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGNhY2hlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudFwiXG4gICAgICAgICAgICBbQGNhY2hlQW5pbWF0aW9uXT1cImlzT3BlblwiXG4gICAgICAgICAgICBbQC5kaXNhYmxlZF09XCJpc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAoQGNhY2hlQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQ29udGVudEFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgKEBjYWNoZUFuaW1hdGlvbi5kb25lKT1cIm9uQ29udGVudEFuaW1hdGlvbkRvbmUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFuZWxDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICBAY2FjaGVsZXNzQW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgW0AuZGlzYWJsZWRdPVwiaXNDb250ZW50QW5pbWF0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChAY2FjaGVsZXNzQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQ29udGVudEFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgICAgIChAY2FjaGVsZXNzQW5pbWF0aW9uLmRvbmUpPVwib25Db250ZW50QW5pbWF0aW9uRG9uZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwYW5lbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZWxDb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFLakY7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBaUJILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEM7O09BRUc7SUFFSSxNQUFNLENBQVU7SUFFdkI7OztPQUdHO0lBRUksT0FBTyxDQUE2QjtJQUUzQzs7OztPQUlHO0lBRUksUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4Qjs7O09BR0c7SUFFSSxhQUFhLENBQXNCO0lBRTFDOzs7T0FHRztJQUVJLGlCQUFpQixDQUFVO0lBRWxDOzs7OztPQUtHO0lBRUksS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVyQjs7OztPQUlHO0lBQ00scUJBQXFCLEdBQUcsMkJBQTJCLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNNLDBCQUEwQixHQUErQixLQUFLLENBQUM7SUFFeEU7O09BRUc7SUFFSSxXQUFXLEdBQUcsSUFBSSxZQUFZ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TyxDQUFDLENBQUM7eUJBQ3pDLENBQUM7cUJBQ0w7OEJBT00sTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRbEIsT0FBTztzQkFEYixLQUFLO2dCQVNDLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxhQUFhO3NCQURuQixLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFVQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQU9HLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFNQyxXQUFXO3NCQURqQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiwgc3RhdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWNjb3JkaW9uQnV0dG9uU2V0dGluZ3MsIFZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY29yZGlvbi1idXR0b24tc2V0dGluZ3MnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQYWluZWwgaW5kaXZpZHVhbCBkbyB7QGxpbmsgQWNjb3JkaW9uQ29tcG9uZW50fS4gR2VyZW5jaWEgbyBlc3RhZG8gZGVcbiAqIGFiZXJ0dXJhL2ZlY2hhbWVudG8gY29tIGFuaW1hw6fDo28sIHBvZGVuZG8gY29udGVyIHVtIHN3aXRjaCBkZSBjb250cm9sZSB2aWEgYHN3aXRjaENvbnRyb2xgLFxuICogYm90w7VlcyBkZSBhw6fDo28gY29uZmlndXLDoXZlaXMgZSB1bWEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28gY29tIMOtY29uZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtYWNjb3JkaW9uLXBhbmVsXG4gKiAgIGhlYWRlcj1cIkNvbmZpZ3VyYcOnw7Vlc1wiXG4gKiAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gKiAgIChwYW5lbE9wZW5lZCk9XCJvbk9wZW4oKVwiXG4gKiAgIChwYW5lbENsb3NlZCk9XCJvbkNsb3NlKClcIj5cbiAqICAgPHA+Q29udGXDumRvIGRvIHBhaW5lbDwvcD5cbiAqIDwvcy1hY2NvcmRpb24tcGFuZWw+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1hY2NvcmRpb24tcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignY2FjaGVsZXNzQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgaGVpZ2h0OiAnMCcgfSksIGFuaW1hdGUoJzIwMG1zIGxpbmVhcicsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSwgYW5pbWF0ZSgnMjAwbXMgbGluZWFyJywgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSldKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcyMDBtcycpKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBoZWFkZXIhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgYm90w7VlcyBkZSBhw6fDo28gZXhpYmlkb3Mgbm8gY2FiZcOnYWxobyBkbyBwYWluZWwsXG4gICAgICogw6AgZGlyZWl0YSBkbyB0w610dWxvLiBDYWRhIGl0ZW0gZGVmaW5lIMOtY29uZSwgdG9vbHRpcCBlIGNhbGxiYWNrIGRlIGNsaXF1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b25zPzogQWNjb3JkaW9uQnV0dG9uU2V0dGluZ3NbXTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIGEgaW50ZXJhw6fDo28gZG8gdXN1w6FyaW8gY29tIG8gcGFpbmVsLCBpbXBlZGluZG8gYWJlcnR1cmEgZSBmZWNoYW1lbnRvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGBGb3JtQ29udHJvbGAgdmluY3VsYWRvIGEgdW0gc3dpdGNoIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXG4gICAgICogUGVybWl0ZSBoYWJpbGl0YXIvZGVzYWJpbGl0YXIgbyBjb250ZcO6ZG8gZG8gcGFpbmVsIHZpYSB0b2dnbGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3dpdGNoQ29udHJvbD86IFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBNZW5zYWdlbSBkZSB2YWxpZGHDp8OjbyBleGliaWRhIGFiYWl4byBkbyBjYWJlw6dhbGhvLCBhY29tcGFuaGFkYSBkZSB1bSDDrWNvbmUuXG4gICAgICogw5p0aWwgcGFyYSBpbmRpY2FyIGVycm9zIG91IGFsZXJ0YXMgcmVsYWNpb25hZG9zIGFvIGNvbnRlw7pkbyBkbyBwYWluZWwuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsaWRhdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTWFudMOpbSBvIGNvbnRlw7pkbyBkbyBwYWluZWwgbm8gRE9NIG1lc21vIHF1YW5kbyBmZWNoYWRvIChtb2RvIGNhY2hlKS5cbiAgICAgKiDDmnRpbCBwYXJhIHByZXNlcnZhciBvIGVzdGFkbyBkZSBjb21wb25lbnRlcyBpbnRlcm5vcyBhbyByZWFicmlyIG8gcGFpbmVsLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYWNoZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBhbyBsYWRvIGRhIG1lbnNhZ2VtIGRlIHZhbGlkYcOnw6NvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uID0gJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENvciBkbyDDrWNvbmUgZGEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnUmVkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yOiBWYWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9ICdSZWQnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gcGFpbmVsIMOpIGFiZXJ0byBwZWxvIHVzdcOhcmlvLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwYW5lbE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHBhaW5lbCDDqSBmZWNoYWRvIHBlbG8gdXN1w6FyaW8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHBhbmVsQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29udGVudEFuaW1hdGlvbkRpc2FibGVkID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGdldCBpc09wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBpc09wZW4oaXNPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IGlzT3BlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzICYmIHRoaXMuc3dpdGNoQ29udHJvbCkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zd2l0Y2hDb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnc3dpdGNoJyBpbiBjaGFuZ2VzICYmICdzd2l0Y2hDb250cm9sJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2FuJ3Qgc2V0IHN3aXRjaCBhbmQgc3dpdGNoQ29udHJvbCB0b2dldGhlci5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyB0byBleGVjdXRlZCBhdCBhIHNhZmUgdGltZSBwcmlvciB0byBjb250cm9sIHJldHVybmluZyB0byB0aGUgYnJvd3NlcidzIGV2ZW50IGxvb3BcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JY29uQnV0dG9uc0NsaWNrKGV2ZW50OiBFdmVudCwgY2FsbGJhY2s6IFZvaWRGdW5jdGlvbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFiQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNBbmltYXRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Db250ZW50QW5pbWF0aW9uU3RhcnQoKSB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbnRlbnRBbmltYXRpb25Eb25lKCkge1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0UGFuZWxFdmVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnBhbmVsT3BlbmVkLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxDbG9zZWQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhY2NvcmRpb24tcGFuZWxcIlxuICAgIFtjbGFzcy5hY2NvcmRpb24tcGFuZWwtLW9wZW5dPVwiaXNPcGVuXCJcbiAgICBbY2xhc3MuYWNjb3JkaW9uLXBhbmVsLS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImhlYWRlclwiXG4gICAgICAgIChjbGljayk9XCJvblRhYkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uIGZhc1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLW1pbnVzXT1cImlzT3BlblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLXBsdXNdPVwiIWlzT3BlblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICBAaWYgKHZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJleGNsYW1hdGlvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJ2YWxpZGF0aW9uTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLXJlZF09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ1JlZCdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhjbGFtYXRpb24taWNvbi1vcmFuZ2VdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdPcmFuZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24teWVsbG93XT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnWWVsbG93J1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLWdyZWVuXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnR3JlZW4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24tYmx1ZV09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0JsdWUnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGhlYWRlciB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2NvbnRyb2xzXCI+XG4gICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uLmljb24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkljb25CdXR0b25zQ2xpY2soJGV2ZW50LCBidXR0b24ub25DbGljaylcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChzd2l0Y2hDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgPHMtc3dpdGNoXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN3aXRjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zLXN3aXRjaD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGNhY2hlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudFwiXG4gICAgICAgICAgICBbQGNhY2hlQW5pbWF0aW9uXT1cImlzT3BlblwiXG4gICAgICAgICAgICBbQC5kaXNhYmxlZF09XCJpc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAoQGNhY2hlQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQ29udGVudEFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgKEBjYWNoZUFuaW1hdGlvbi5kb25lKT1cIm9uQ29udGVudEFuaW1hdGlvbkRvbmUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFuZWxDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICBAY2FjaGVsZXNzQW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgW0AuZGlzYWJsZWRdPVwiaXNDb250ZW50QW5pbWF0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChAY2FjaGVsZXNzQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQ29udGVudEFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgICAgIChAY2FjaGVsZXNzQW5pbWF0aW9uLmRvbmUpPVwib25Db250ZW50QW5pbWF0aW9uRG9uZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwYW5lbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZWxDb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJJdGVtID0ge1xuICAgIHJvdXRlckxpbms/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBxdWVyeVBhcmFtcz86IFBhcmFtcztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICB0YXJnZXQ/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG59O1xuXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJJdGVtID0ge1xuICAgIHJvdXRlckxpbms/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZEljb24/OiBib29sZWFuO1xuICAgIGhpZGVMYWJlbD86IGJvb2xlYW47XG4gICAgcXVlcnlQYXJhbXM/OiBQYXJhbXM7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufTtcblxuIl19
@@ -37,10 +37,10 @@ export class BreadcrumbListComponent {
37
37
  }
38
38
  }
39
39
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbListComponent, isStandalone: true, selector: "s-breadcrumb-list", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<nav\n [attr.aria-label]=\"'platform.angular_components.breadcrumb-aria-label' | translate\"\n class=\"mb-4 mt-4\"\n>\n <ol class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:font-open-sans [&_li]:text-sm\">\n @for (breadcrumbItem of items(); track $index; let first = $first) {\n @if (breadcrumbItem.icon) {\n <li>\n @if (!first) {\n <i class=\"fas fa-chevron-right\"></i>\n }\n </li>\n\n <ng-template #iconTemplate>\n <i\n [class]=\"breadcrumbItem.icon + (first ? ' text-criticality-blue' : '')\"\n ></i>\n </ng-template>\n\n @if (breadcrumbItem.url) {\n <a\n [href]=\"breadcrumbItem.url\"\n [target]=\"breadcrumbItem.target\"\n class=\"text-criticality-blue\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n }\n @if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [queryParamsHandling]=\"breadcrumbItem.queryParams ? null : 'preserve'\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n class=\"cursor-pointer text-primary hover:no-underline\"\n >\n {{ breadcrumbItem.label }}\n </a>\n </li>\n } @else if (breadcrumbItem.label) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>{{ breadcrumbItem.label }}</li>\n }\n }\n </ol>\n</nav>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbListComponent, isStandalone: true, selector: "s-breadcrumb-list", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<nav\n [attr.aria-label]=\"'platform.angular_components.breadcrumb_aria_label' | translate\"\n class=\"mb-4 mt-4\"\n>\n <ol class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:font-open-sans [&_li]:text-sm\">\n @for (breadcrumbItem of items(); track $index; let first = $first; let last = $last) {\n <li class=\"flex items-center gap-3\">\n @if (!first) {\n <i\n class=\"fas fa-chevron-right\"\n aria-hidden=\"true\"\n ></i>\n }\n\n <ng-template #iconTemplate>\n <i\n [class]=\"breadcrumbItem.icon + (first ? ' text-criticality-blue' : '')\"\n aria-hidden=\"true\"\n ></i>\n </ng-template>\n\n @if (first && breadcrumbItem.icon && breadcrumbItem.disabledIcon) {\n <span\n class=\"flex items-center gap-1\"\n aria-hidden=\"true\"\n >\n <i\n [class]=\"breadcrumbItem.icon + ' text-grayscale-30'\"\n aria-hidden=\"true\"\n ></i>\n </span>\n }\n\n @if (breadcrumbItem.url) {\n <a\n [href]=\"breadcrumbItem.url\"\n [target]=\"breadcrumbItem.target\"\n class=\"flex items-center gap-1 text-criticality-blue\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [attr.aria-label]=\"\n (first ? 'In\u00EDcio: ' : 'Navegar para ') +\n breadcrumbItem.label +\n (last ? ' (p\u00E1gina atual)' : '')\n \"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel && !first) {\n <span>{{ breadcrumbItem.label }}</span>\n <span class=\"sr-only\"> (link externo)</span>\n }\n </a>\n } @else if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [queryParamsHandling]=\"breadcrumbItem.queryParams ? null : 'preserve'\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n class=\"flex cursor-pointer items-center gap-1 text-primary hover:no-underline\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [attr.aria-label]=\"\n (first ? 'In\u00EDcio: ' : '') + breadcrumbItem.label + (last ? ' (p\u00E1gina atual)' : '')\n \"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel) {\n <span>{{ breadcrumbItem.label }}</span>\n <span class=\"sr-only\"> (navega\u00E7\u00E3o interna)</span>\n }\n </a>\n } @else {\n <span\n class=\"flex items-center gap-1\"\n [attr.aria-current]=\"last ? 'page' : null\"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel && !first) {\n <span>{{ breadcrumbItem.label }}</span>\n }\n </span>\n }\n </li>\n }\n </ol>\n</nav>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbListComponent, decorators: [{
43
43
  type: Component,
44
- args: [{ selector: 's-breadcrumb-list', standalone: true, imports: [CommonModule, TranslateModule, InteractiveContentDirective, RouterModule], template: "<nav\n [attr.aria-label]=\"'platform.angular_components.breadcrumb-aria-label' | translate\"\n class=\"mb-4 mt-4\"\n>\n <ol class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:font-open-sans [&_li]:text-sm\">\n @for (breadcrumbItem of items(); track $index; let first = $first) {\n @if (breadcrumbItem.icon) {\n <li>\n @if (!first) {\n <i class=\"fas fa-chevron-right\"></i>\n }\n </li>\n\n <ng-template #iconTemplate>\n <i\n [class]=\"breadcrumbItem.icon + (first ? ' text-criticality-blue' : '')\"\n ></i>\n </ng-template>\n\n @if (breadcrumbItem.url) {\n <a\n [href]=\"breadcrumbItem.url\"\n [target]=\"breadcrumbItem.target\"\n class=\"text-criticality-blue\"\n >\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n }\n @if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [queryParamsHandling]=\"breadcrumbItem.queryParams ? null : 'preserve'\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n class=\"cursor-pointer text-primary hover:no-underline\"\n >\n {{ breadcrumbItem.label }}\n </a>\n </li>\n } @else if (breadcrumbItem.label) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>{{ breadcrumbItem.label }}</li>\n }\n }\n </ol>\n</nav>\n\n" }]
44
+ args: [{ selector: 's-breadcrumb-list', standalone: true, imports: [CommonModule, TranslateModule, InteractiveContentDirective, RouterModule], template: "<nav\n [attr.aria-label]=\"'platform.angular_components.breadcrumb_aria_label' | translate\"\n class=\"mb-4 mt-4\"\n>\n <ol class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:font-open-sans [&_li]:text-sm\">\n @for (breadcrumbItem of items(); track $index; let first = $first; let last = $last) {\n <li class=\"flex items-center gap-3\">\n @if (!first) {\n <i\n class=\"fas fa-chevron-right\"\n aria-hidden=\"true\"\n ></i>\n }\n\n <ng-template #iconTemplate>\n <i\n [class]=\"breadcrumbItem.icon + (first ? ' text-criticality-blue' : '')\"\n aria-hidden=\"true\"\n ></i>\n </ng-template>\n\n @if (first && breadcrumbItem.icon && breadcrumbItem.disabledIcon) {\n <span\n class=\"flex items-center gap-1\"\n aria-hidden=\"true\"\n >\n <i\n [class]=\"breadcrumbItem.icon + ' text-grayscale-30'\"\n aria-hidden=\"true\"\n ></i>\n </span>\n }\n\n @if (breadcrumbItem.url) {\n <a\n [href]=\"breadcrumbItem.url\"\n [target]=\"breadcrumbItem.target\"\n class=\"flex items-center gap-1 text-criticality-blue\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [attr.aria-label]=\"\n (first ? 'In\u00EDcio: ' : 'Navegar para ') +\n breadcrumbItem.label +\n (last ? ' (p\u00E1gina atual)' : '')\n \"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel && !first) {\n <span>{{ breadcrumbItem.label }}</span>\n <span class=\"sr-only\"> (link externo)</span>\n }\n </a>\n } @else if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [queryParamsHandling]=\"breadcrumbItem.queryParams ? null : 'preserve'\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n class=\"flex cursor-pointer items-center gap-1 text-primary hover:no-underline\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [attr.aria-label]=\"\n (first ? 'In\u00EDcio: ' : '') + breadcrumbItem.label + (last ? ' (p\u00E1gina atual)' : '')\n \"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel) {\n <span>{{ breadcrumbItem.label }}</span>\n <span class=\"sr-only\"> (navega\u00E7\u00E3o interna)</span>\n }\n </a>\n } @else {\n <span\n class=\"flex items-center gap-1\"\n [attr.aria-current]=\"last ? 'page' : null\"\n >\n @if (breadcrumbItem.icon && !(first && breadcrumbItem.disabledIcon)) {\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n }\n @if (breadcrumbItem.label && !breadcrumbItem.hideLabel && !first) {\n <span>{{ breadcrumbItem.label }}</span>\n }\n </span>\n }\n </li>\n }\n </ol>\n</nav>\n\n" }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7OztBQUlyRzs7Ozs7Ozs7Ozs7R0FXRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW9CLENBQUM7SUFFMUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQixlQUFlLENBQUMsbUJBQW1DO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEUsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUM1RCxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVTtZQUNoQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxJQUFJLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0wsQ0FBQzt3R0FuQlEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ05DM0JwQywyc0VBcURBLDJDRDdCYyxZQUFZLHFNQUFFLGVBQWUsNEZBQUUsMkJBQTJCLHlKQUFFLFlBQVk7OzRGQUd6RSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5cbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgdHJpbGhhIGRlIG5hdmVnYcOnw6NvIChicmVhZGNydW1iKSBxdWUgZGV0ZWN0YSBhdXRvbWF0aWNhbWVudGVcbiAqIGEgcm90YSBhdGl2YSBkbyBBbmd1bGFyIFJvdXRlciBlIGNvbnN0csOzaSBvIGNhbWluaG8gaGllcsOhcnF1aWNvIGRlIHDDoWdpbmFzLlxuICogQ2FkYSBzZWdtZW50byBkYSByb3RhIHByZWNpc2EgdGVyIGEgcHJvcHJpZWRhZGUgYHJvdXRlVGl0bGVgIGRlZmluaWRhIG5vcyBgZGF0YWAgZGEgcm90YS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtYnJlYWRjcnVtYiBob21lVXJsPVwiL2hvbWVcIiB0YXJnZXRIb21lVXJsPVwiX3NlbGZcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IE5hdmVnYcOnw6NvXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iLWxpc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUsIFJvdXRlck1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iTGlzdENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8QnJlYWRjcnVtYkl0ZW1bXT4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmF0ZVJvdXRlKGFjdGl2YXRlZEJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghYWN0aXZhdGVkQnJlYWRjcnVtYi5yb3V0ZXJMaW5rIHx8IGFjdGl2YXRlZEJyZWFkY3J1bWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvdXRlckxpbmsgPSBBcnJheS5pc0FycmF5KGFjdGl2YXRlZEJyZWFkY3J1bWIucm91dGVyTGluaylcbiAgICAgICAgICAgID8gYWN0aXZhdGVkQnJlYWRjcnVtYi5yb3V0ZXJMaW5rXG4gICAgICAgICAgICA6IFthY3RpdmF0ZWRCcmVhZGNydW1iLnJvdXRlckxpbmtdO1xuXG4gICAgICAgIGlmIChhY3RpdmF0ZWRCcmVhZGNydW1iLnF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyb3V0ZXJMaW5rLCB7IHF1ZXJ5UGFyYW1zOiBhY3RpdmF0ZWRCcmVhZGNydW1iLnF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGVyTGluaywgeyBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8bmF2XG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmJyZWFkY3J1bWItYXJpYS1sYWJlbCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwibWItNCBtdC00XCJcbj5cbiAgICA8b2wgY2xhc3M9XCJmbGV4IHNlbGVjdC1ub25lIGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTMgcGItMyBwdC0zIFsmX2xpXTpmb250LW9wZW4tc2FucyBbJl9saV06dGV4dC1zbVwiPlxuICAgICAgICBAZm9yIChicmVhZGNydW1iSXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdCkge1xuICAgICAgICAgICAgQGlmIChicmVhZGNydW1iSXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJicmVhZGNydW1iSXRlbS5pY29uICsgKGZpcnN0ID8gJyB0ZXh0LWNyaXRpY2FsaXR5LWJsdWUnIDogJycpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgQGlmIChicmVhZGNydW1iSXRlbS51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJyZWFkY3J1bWJJdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImJyZWFkY3J1bWJJdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtY3JpdGljYWxpdHktYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChicmVhZGNydW1iSXRlbS5yb3V0ZXJMaW5rICYmICFicmVhZGNydW1iSXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiYnJlYWRjcnVtYkl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYnJlYWRjcnVtYkl0ZW0ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiYnJlYWRjcnVtYkl0ZW0ucXVlcnlQYXJhbXMgPyBudWxsIDogJ3ByZXNlcnZlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImJyZWFkY3J1bWJJdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2YXRlUm91dGUoYnJlYWRjcnVtYkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdGV4dC1wcmltYXJ5IGhvdmVyOm5vLXVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJyZWFkY3J1bWJJdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoYnJlYWRjcnVtYkl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDxsaT57eyBicmVhZGNydW1iSXRlbS5sYWJlbCB9fTwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L29sPlxuPC9uYXY+XG5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7OztBQUlyRzs7Ozs7Ozs7Ozs7R0FXRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW9CLENBQUM7SUFFMUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQixlQUFlLENBQUMsbUJBQW1DO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEUsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztZQUM1RCxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVTtZQUNoQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxJQUFJLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0wsQ0FBQzt3R0FuQlEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ05DM0JwQyxnL0lBNEZBLDJDRHBFYyxZQUFZLHFNQUFFLGVBQWUsNEZBQUUsMkJBQTJCLHlKQUFFLFlBQVk7OzRGQUd6RSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5cbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgdHJpbGhhIGRlIG5hdmVnYcOnw6NvIChicmVhZGNydW1iKSBxdWUgZGV0ZWN0YSBhdXRvbWF0aWNhbWVudGVcbiAqIGEgcm90YSBhdGl2YSBkbyBBbmd1bGFyIFJvdXRlciBlIGNvbnN0csOzaSBvIGNhbWluaG8gaGllcsOhcnF1aWNvIGRlIHDDoWdpbmFzLlxuICogQ2FkYSBzZWdtZW50byBkYSByb3RhIHByZWNpc2EgdGVyIGEgcHJvcHJpZWRhZGUgYHJvdXRlVGl0bGVgIGRlZmluaWRhIG5vcyBgZGF0YWAgZGEgcm90YS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtYnJlYWRjcnVtYiBob21lVXJsPVwiL2hvbWVcIiB0YXJnZXRIb21lVXJsPVwiX3NlbGZcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IE5hdmVnYcOnw6NvXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iLWxpc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUsIFJvdXRlck1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iTGlzdENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8QnJlYWRjcnVtYkl0ZW1bXT4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmF0ZVJvdXRlKGFjdGl2YXRlZEJyZWFkY3J1bWI6IEJyZWFkY3J1bWJJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghYWN0aXZhdGVkQnJlYWRjcnVtYi5yb3V0ZXJMaW5rIHx8IGFjdGl2YXRlZEJyZWFkY3J1bWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvdXRlckxpbmsgPSBBcnJheS5pc0FycmF5KGFjdGl2YXRlZEJyZWFkY3J1bWIucm91dGVyTGluaylcbiAgICAgICAgICAgID8gYWN0aXZhdGVkQnJlYWRjcnVtYi5yb3V0ZXJMaW5rXG4gICAgICAgICAgICA6IFthY3RpdmF0ZWRCcmVhZGNydW1iLnJvdXRlckxpbmtdO1xuXG4gICAgICAgIGlmIChhY3RpdmF0ZWRCcmVhZGNydW1iLnF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyb3V0ZXJMaW5rLCB7IHF1ZXJ5UGFyYW1zOiBhY3RpdmF0ZWRCcmVhZGNydW1iLnF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGVyTGluaywgeyBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8bmF2XG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmJyZWFkY3J1bWJfYXJpYV9sYWJlbCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwibWItNCBtdC00XCJcbj5cbiAgICA8b2wgY2xhc3M9XCJmbGV4IHNlbGVjdC1ub25lIGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTMgcGItMyBwdC0zIFsmX2xpXTpmb250LW9wZW4tc2FucyBbJl9saV06dGV4dC1zbVwiPlxuICAgICAgICBAZm9yIChicmVhZGNydW1iSXRlbSBvZiBpdGVtcygpOyB0cmFjayAkaW5kZXg7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdCkge1xuICAgICAgICAgICAgPGxpIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKCFmaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImJyZWFkY3J1bWJJdGVtLmljb24gKyAoZmlyc3QgPyAnIHRleHQtY3JpdGljYWxpdHktYmx1ZScgOiAnJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgQGlmIChmaXJzdCAmJiBicmVhZGNydW1iSXRlbS5pY29uICYmIGJyZWFkY3J1bWJJdGVtLmRpc2FibGVkSWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJicmVhZGNydW1iSXRlbS5pY29uICsgJyB0ZXh0LWdyYXlzY2FsZS0zMCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChicmVhZGNydW1iSXRlbS51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJyZWFkY3J1bWJJdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImJyZWFkY3J1bWJJdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtY3JpdGljYWxpdHktYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwibGFzdCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlyc3QgPyAnSW7DrWNpbzogJyA6ICdOYXZlZ2FyIHBhcmEgJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWJJdGVtLmxhYmVsICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFzdCA/ICcgKHDDoWdpbmEgYXR1YWwpJyA6ICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChicmVhZGNydW1iSXRlbS5pY29uICYmICEoZmlyc3QgJiYgYnJlYWRjcnVtYkl0ZW0uZGlzYWJsZWRJY29uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnJlYWRjcnVtYkl0ZW0ubGFiZWwgJiYgIWJyZWFkY3J1bWJJdGVtLmhpZGVMYWJlbCAmJiAhZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBicmVhZGNydW1iSXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4gKGxpbmsgZXh0ZXJubyk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChicmVhZGNydW1iSXRlbS5yb3V0ZXJMaW5rICYmICFicmVhZGNydW1iSXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiYnJlYWRjcnVtYkl0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYnJlYWRjcnVtYkl0ZW0ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiYnJlYWRjcnVtYkl0ZW0ucXVlcnlQYXJhbXMgPyBudWxsIDogJ3ByZXNlcnZlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImJyZWFkY3J1bWJJdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2YXRlUm91dGUoYnJlYWRjcnVtYkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1wcmltYXJ5IGhvdmVyOm5vLXVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwibGFzdCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlyc3QgPyAnSW7DrWNpbzogJyA6ICcnKSArIGJyZWFkY3J1bWJJdGVtLmxhYmVsICsgKGxhc3QgPyAnIChww6FnaW5hIGF0dWFsKScgOiAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnJlYWRjcnVtYkl0ZW0uaWNvbiAmJiAhKGZpcnN0ICYmIGJyZWFkY3J1bWJJdGVtLmRpc2FibGVkSWNvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGJyZWFkY3J1bWJJdGVtLmxhYmVsICYmICFicmVhZGNydW1iSXRlbS5oaWRlTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBicmVhZGNydW1iSXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4gKG5hdmVnYcOnw6NvIGludGVybmEpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJsYXN0ID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnJlYWRjcnVtYkl0ZW0uaWNvbiAmJiAhKGZpcnN0ICYmIGJyZWFkY3J1bWJJdGVtLmRpc2FibGVkSWNvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGJyZWFkY3J1bWJJdGVtLmxhYmVsICYmICFicmVhZGNydW1iSXRlbS5oaWRlTGFiZWwgJiYgIWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnJlYWRjcnVtYkl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC9vbD5cbjwvbmF2PlxuXG4iXX0=
@@ -53,7 +53,12 @@ export class DynamicBreadcrumbComponent {
53
53
  currentHome = { url: this.homeUrl, icon: 'fa fa-home', target: this.targetHomeUrl };
54
54
  }
55
55
  else if (routes.length) {
56
- currentHome = { ...this._getMenuItem(routes[0], routes.length === 1), icon: 'fa fa-home' };
56
+ currentHome = {
57
+ ...this._getMenuItem(routes[0], routes.length === 1),
58
+ disabledIcon: routes.length === 1,
59
+ hideLabel: routes.length > 1,
60
+ icon: 'fa fa-home',
61
+ };
57
62
  }
58
63
  return currentHome;
59
64
  }
@@ -69,10 +74,7 @@ export class DynamicBreadcrumbComponent {
69
74
  }
70
75
  _getMenuItem(route, disabled = false) {
71
76
  const label = this._getTitle(route);
72
- const routes = route.pathFromRoot;
73
- const routerLink = routes
74
- .slice(0, routes.indexOf(route) + 1)
75
- .reduce((result, item) => [...result, ...item.snapshot.url.map((url) => url.path)], ['/']);
77
+ const routerLink = ['/', ...route.pathFromRoot.flatMap((item) => item.snapshot.url.map((url) => url.path))];
76
78
  return {
77
79
  disabled,
78
80
  label,
@@ -117,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
117
119
  }], targetHomeUrl: [{
118
120
  type: Input
119
121
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1icmVhZGNydW1iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9saWIvZHluYW1pYy1icmVhZGNydW1iL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2R5bmFtaWMtYnJlYWRjcnVtYi9keW5hbWljLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFrQixhQUFhLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEYsT0FBTyxFQUNILGlCQUFpQixFQUNqQiwyQkFBMkIsR0FDOUIsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFtQjdFLE1BQU0sT0FBTywwQkFBMEI7SUFhZDtJQUNBO0lBWmQsT0FBTyxDQUFVO0lBR2pCLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFFeEIsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDN0IsS0FBSyxDQUFVO0lBRUwsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdEQsWUFDcUIsZUFBK0IsRUFDL0IsT0FBZTtRQURmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRWhDLElBQUksQ0FBQyxPQUFPLENB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QUFLLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt3R0EzR1EsMEJBQTBCOzRGQUExQiwwQkFBMEIsaUpBWHhCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFO29CQUNOLFdBQVcsRUFBRSxjQUFjO29CQUMzQixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxjQUFjLEVBQUUsUUFBUTtpQkFDM0I7YUFDSjtTQUNKLDJGQzFCTCw0RkFHQSw0Q0RVYyx1QkFBdUI7OzRGQWV4QiwwQkFBMEI7a0JBakJ0QyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLHVCQUF1QixDQUFDLFlBQ3hCLG9DQUFvQyxrQkFFOUIsQ0FBQywyQkFBMkIsQ0FBQyxhQUNsQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUU7Z0NBQ04sV0FBVyxFQUFFLGNBQWM7Z0NBQzNCLFdBQVcsRUFBRSxzQkFBc0I7Z0NBQ25DLGNBQWMsRUFBRSxRQUFROzZCQUMzQjt5QkFDSjtxQkFDSjt3R0FJTSxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgICBERVBSRUNBVEVEX0NPTkZJRyxcbiAgICBEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmUsXG59IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQnJlYWRjcnVtYkxpc3RDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iLCBzLWR5bmFtaWMtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBERVBSRUNBVEVEX0NPTkZJRyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgb2xkU2VsZWN0b3I6ICdzLWJyZWFkY3J1bWInLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1keW5hbWljLWJyZWFkY3J1bWInLFxuICAgICAgICAgICAgICAgIHJlbW92YWxWZXJzaW9uOiAnMjAuMC4wJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0JyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvbWVVcmw/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YXJnZXRIb21lVXJsID0gJ19zZWxmJztcblxuICAgIHB1YmxpYyBpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xuICAgIHB1YmxpYyB0aXRsZT86IHN0cmluZztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9vbk5hdmlnYXRpb25FbmQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uTmF2aWdhdGlvbkVuZCgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUucm9vdDtcbiAgICAgICAgY29uc3QgdmFsaWRSb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10gPSB0aGlzLl9nZXRWYWxpZENoaWxkcmVuKGN1cnJlbnRSb3V0ZSk7XG5cbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX2dldEN1cnJlbnRUaXRsZSh2YWxpZFJvdXRlcykgPz8gJyc7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLl9nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpIHx8IFtdO1xuICAgICAgICBjb25zdCBjdXJyZW50SG9tZSA9IHRoaXMuX2dldEN1cnJlbnRIb21lKHZhbGlkUm91dGVzKTtcbiAgICAgICAgaWYgKGN1cnJlbnRIb21lKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLnVuc2hpZnQoY3VycmVudEhvbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VmFsaWRDaGlsZHJlbihyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICAgICAgY29uc3QgdmFsaWQgPSByb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCAmJiByb3V0ZS5yb3V0ZUNvbmZpZz8uY29tcG9uZW50ICYmIHJvdXRlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQ7XG4gICAgICAgIHJldHVybiByb3V0ZS5jaGlsZHJlbi5yZWR1Y2UoXG4gICAgICAgICAgICAodmFsaWRSb3V0ZXMsIGNoaWxkKSA9PiBbLi4udmFsaWRSb3V0ZXMsIC4uLnRoaXMuX2dldFZhbGlkQ2hpbGRyZW4oY2hpbGQpXSxcbiAgICAgICAgICAgIHZhbGlkID8gW3JvdXRlXSA6IFtdLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEN1cnJlbnRUaXRsZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgbGFzdCA9IHJvdXRlcy5hdCgtMSk7XG5cbiAgICAgICAgaWYgKGxhc3Q/LnJvdXRlQ29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VGl0bGUobGFzdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pIHtcbiAgICAgICAgbGV0IGN1cnJlbnRIb21lOiBCcmVhZGNydW1iSXRlbSB8IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5ob21lVXJsKSB7XG4gICAgICAgICAgICBjdXJyZW50SG9tZSA9IHsgdXJsOiB0aGlzLmhvbWVVcmwsIGljb246ICdmYSBmYS1ob21lJywgdGFyZ2V0OiB0aGlzLnRhcmdldEhvbWVVcmwgfTtcbiAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjdXJyZW50SG9tZSA9IHsgLi4udGhpcy5fZ2V0TWVudUl0ZW0ocm91dGVzWzBdLCByb3V0ZXMubGVuZ3RoID09PSAxKSwgaWNvbjogJ2ZhIGZhLWhvbWUnIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VycmVudEhvbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VycmVudEl0ZW1zKHJvdXRlczogQWN0aXZhdGVkUm91dGVbXSk6IEJyZWFkY3J1bWJJdGVtW10ge1xuICAgICAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5ob21lVXJsID8gcm91dGVzIDogcm91dGVzLnNsaWNlKDEpO1xuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtcy5tYXAoKHJvdXRlLCBpKSA9PiB0aGlzLl9nZXRNZW51SXRlbShyb3V0ZSwgaSA9PT0gaXRlbXMubGVuZ3RoIC0gMSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpOiBCcmVhZGNydW1iSXRlbSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZ2V0VGl0bGUocm91dGUpO1xuICAgICAgICBjb25zdCByb3V0ZXMgPSByb3V0ZS5wYXRoRnJvbVJvb3Q7XG4gICAgICAgIGNvbnN0IHJvdXRlckxpbmsgPSByb3V0ZXNcbiAgICAgICAgICAgIC5zbGljZSgwLCByb3V0ZXMuaW5kZXhPZihyb3V0ZSkgKyAxKVxuICAgICAgICAgICAgLnJlZHVjZSgocmVzdWx0LCBpdGVtKSA9PiBbLi4ucmVzdWx0LCAuLi5pdGVtLnNuYXBzaG90LnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpXSwgWycvJ10pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgcm91dGVyTGluayxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiByb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaXRsZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IHNuYXBzaG90LCByb3V0ZUNvbmZpZyB9ID0gcm91dGU7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gc25hcHNob3QuZGF0YVsncm91dGVUaXRsZSddO1xuXG4gICAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcm91dGVUaXRsZSBkZWZpbmVkIGZvciB0aGUgcm91dGUgLyR7cm91dGVDb25maWc/LnBhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpdGxlO1xuICAgIH1cbn1cblxuIiwiPGgxIGNsYXNzPVwic2RzLXBhZ2UtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG48cy1icmVhZGNydW1iLWxpc3QgW2l0ZW1zXT1cIml0ZW1zXCIgLz5cblxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1icmVhZGNydW1iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9saWIvZHluYW1pYy1icmVhZGNydW1iL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2R5bmFtaWMtYnJlYWRjcnVtYi9keW5hbWljLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFrQixhQUFhLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEYsT0FBTyxFQUNILGlCQUFpQixFQUNqQiwyQkFBMkIsR0FDOUIsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFtQjdFLE1BQU0sT0FBTywwQkFBMEI7SUFhZDtJQUNBO0lBWmQsT0FBTyxDQUFVO0lBR2pCLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFFeEIsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDN0IsS0FBSyxDQUFVO0lBRUwsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdEQsWUFDcUIsZUFBK0IsRUFDL0IsT0FBZTtRQURmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRWhDLElBQUksQ0FBQyxPQUFPLENB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QUFZLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt3R0E3R1EsMEJBQTBCOzRGQUExQiwwQkFBMEIsaUpBWHhCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFO29CQUNOLFdBQVcsRUFBRSxjQUFjO29CQUMzQixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxjQUFjLEVBQUUsUUFBUTtpQkFDM0I7YUFDSjtTQUNKLDJGQzFCTCw0RkFHQSw0Q0RVYyx1QkFBdUI7OzRGQWV4QiwwQkFBMEI7a0JBakJ0QyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLHVCQUF1QixDQUFDLFlBQ3hCLG9DQUFvQyxrQkFFOUIsQ0FBQywyQkFBMkIsQ0FBQyxhQUNsQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUU7Z0NBQ04sV0FBVyxFQUFFLGNBQWM7Z0NBQzNCLFdBQVcsRUFBRSxzQkFBc0I7Z0NBQ25DLGNBQWMsRUFBRSxRQUFROzZCQUMzQjt5QkFDSjtxQkFDSjt3R0FJTSxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgICBERVBSRUNBVEVEX0NPTkZJRyxcbiAgICBEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmUsXG59IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQnJlYWRjcnVtYkxpc3RDb21wb25lbnRdLFxuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iLCBzLWR5bmFtaWMtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEZXByZWNhdGVkU2VsZWN0b3JEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBERVBSRUNBVEVEX0NPTkZJRyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgb2xkU2VsZWN0b3I6ICdzLWJyZWFkY3J1bWInLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1keW5hbWljLWJyZWFkY3J1bWInLFxuICAgICAgICAgICAgICAgIHJlbW92YWxWZXJzaW9uOiAnMjAuMC4wJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0JyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvbWVVcmw/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YXJnZXRIb21lVXJsID0gJ19zZWxmJztcblxuICAgIHB1YmxpYyBpdGVtczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xuICAgIHB1YmxpYyB0aXRsZT86IHN0cmluZztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9vbk5hdmlnYXRpb25FbmQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uTmF2aWdhdGlvbkVuZCgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5fYWN0aXZhdGVkUm91dGUucm9vdDtcbiAgICAgICAgY29uc3QgdmFsaWRSb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10gPSB0aGlzLl9nZXRWYWxpZENoaWxkcmVuKGN1cnJlbnRSb3V0ZSk7XG5cbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX2dldEN1cnJlbnRUaXRsZSh2YWxpZFJvdXRlcykgPz8gJyc7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLl9nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpIHx8IFtdO1xuICAgICAgICBjb25zdCBjdXJyZW50SG9tZSA9IHRoaXMuX2dldEN1cnJlbnRIb21lKHZhbGlkUm91dGVzKTtcbiAgICAgICAgaWYgKGN1cnJlbnRIb21lKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLnVuc2hpZnQoY3VycmVudEhvbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VmFsaWRDaGlsZHJlbihyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICAgICAgY29uc3QgdmFsaWQgPSByb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCAmJiByb3V0ZS5yb3V0ZUNvbmZpZz8uY29tcG9uZW50ICYmIHJvdXRlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQ7XG4gICAgICAgIHJldHVybiByb3V0ZS5jaGlsZHJlbi5yZWR1Y2UoXG4gICAgICAgICAgICAodmFsaWRSb3V0ZXMsIGNoaWxkKSA9PiBbLi4udmFsaWRSb3V0ZXMsIC4uLnRoaXMuX2dldFZhbGlkQ2hpbGRyZW4oY2hpbGQpXSxcbiAgICAgICAgICAgIHZhbGlkID8gW3JvdXRlXSA6IFtdLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEN1cnJlbnRUaXRsZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgbGFzdCA9IHJvdXRlcy5hdCgtMSk7XG5cbiAgICAgICAgaWYgKGxhc3Q/LnJvdXRlQ29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VGl0bGUobGFzdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pIHtcbiAgICAgICAgbGV0IGN1cnJlbnRIb21lOiBCcmVhZGNydW1iSXRlbSB8IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5ob21lVXJsKSB7XG4gICAgICAgICAgICBjdXJyZW50SG9tZSA9IHsgdXJsOiB0aGlzLmhvbWVVcmwsIGljb246ICdmYSBmYS1ob21lJywgdGFyZ2V0OiB0aGlzLnRhcmdldEhvbWVVcmwgfTtcbiAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjdXJyZW50SG9tZSA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9nZXRNZW51SXRlbShyb3V0ZXNbMF0sIHJvdXRlcy5sZW5ndGggPT09IDEpLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkSWNvbjogcm91dGVzLmxlbmd0aCA9PT0gMSxcbiAgICAgICAgICAgICAgICBoaWRlTGFiZWw6IHJvdXRlcy5sZW5ndGggPiAxLFxuICAgICAgICAgICAgICAgIGljb246ICdmYSBmYS1ob21lJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VycmVudEhvbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VycmVudEl0ZW1zKHJvdXRlczogQWN0aXZhdGVkUm91dGVbXSk6IEJyZWFkY3J1bWJJdGVtW10ge1xuICAgICAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5ob21lVXJsID8gcm91dGVzIDogcm91dGVzLnNsaWNlKDEpO1xuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbXMubWFwKChyb3V0ZSwgaSkgPT4gdGhpcy5fZ2V0TWVudUl0ZW0ocm91dGUsIGkgPT09IGl0ZW1zLmxlbmd0aCAtIDEpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpOiBCcmVhZGNydW1iSXRlbSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZ2V0VGl0bGUocm91dGUpO1xuICAgICAgICBjb25zdCByb3V0ZXJMaW5rID0gWycvJywgLi4ucm91dGUucGF0aEZyb21Sb290LmZsYXRNYXAoKGl0ZW0pID0+IGl0ZW0uc25hcHNob3QudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aCkpXTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHJvdXRlckxpbmssXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogcm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGl0bGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBzbmFwc2hvdCwgcm91dGVDb25maWcgfSA9IHJvdXRlO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHNuYXBzaG90LmRhdGFbJ3JvdXRlVGl0bGUnXTtcblxuICAgICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHJvdXRlVGl0bGUgZGVmaW5lZCBmb3IgdGhlIHJvdXRlIC8ke3JvdXRlQ29uZmlnPy5wYXRofWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aXRsZTtcbiAgICB9XG59XG5cbiIsIjxoMSBjbGFzcz1cInNkcy1wYWdlLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gxPlxuPHMtYnJlYWRjcnVtYi1saXN0IFtpdGVtc109XCJpdGVtc1wiIC8+XG5cbiJdfQ==