@igo2/common 17.0.0-next.5 → 17.0.0-next.6

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 (35) hide show
  1. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +10 -24
  2. package/esm2022/lib/action/actionbar/actionbar.component.mjs +5 -5
  3. package/esm2022/lib/action/shared/action.interfaces.mjs +1 -1
  4. package/esm2022/lib/badge-icon/badge-icon.directive.mjs +14 -17
  5. package/esm2022/lib/collapsible/collapsible.component.mjs +3 -3
  6. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +3 -3
  7. package/esm2022/lib/form/form-field/form-field-select.component.mjs +3 -3
  8. package/esm2022/lib/form/form-field/form-field-text.component.mjs +3 -3
  9. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +3 -3
  10. package/esm2022/lib/home-button/home-button.component.mjs +3 -3
  11. package/esm2022/lib/icons/icon/icon.component.mjs +40 -0
  12. package/esm2022/lib/icons/icon.provider.mjs +14 -0
  13. package/esm2022/lib/icons/index.mjs +4 -0
  14. package/esm2022/lib/icons/shared/icon.interface.mjs +2 -0
  15. package/esm2022/lib/icons/shared/icons.mjs +34 -0
  16. package/esm2022/lib/icons/shared/index.mjs +3 -0
  17. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +3 -3
  18. package/esm2022/lib/table/table.component.mjs +3 -3
  19. package/esm2022/lib/tool/shared/tool.interface.mjs +1 -1
  20. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +1 -2
  21. package/esm2022/public_api.mjs +2 -1
  22. package/fesm2022/igo2-common.mjs +157 -94
  23. package/fesm2022/igo2-common.mjs.map +1 -1
  24. package/lib/action/actionbar/actionbar-item.component.d.ts +2 -5
  25. package/lib/action/shared/action.interfaces.d.ts +2 -1
  26. package/lib/badge-icon/badge-icon.directive.d.ts +3 -5
  27. package/lib/icons/icon/icon.component.d.ts +16 -0
  28. package/lib/icons/icon.provider.d.ts +4 -0
  29. package/lib/icons/index.d.ts +3 -0
  30. package/lib/icons/shared/icon.interface.d.ts +4 -0
  31. package/lib/icons/shared/icons.d.ts +21 -0
  32. package/lib/icons/shared/index.d.ts +2 -0
  33. package/lib/tool/shared/tool.interface.d.ts +2 -2
  34. package/package.json +3 -3
  35. package/public_api.d.ts +1 -0
@@ -7,31 +7,30 @@ import { MatListModule } from '@angular/material/list';
7
7
  import { MatTooltipModule } from '@angular/material/tooltip';
8
8
  import { TranslateModule } from '@ngx-translate/core';
9
9
  import { BehaviorSubject, isObservable } from 'rxjs';
10
+ import { IgoIconComponent } from '../../icons';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/material/list";
12
13
  import * as i2 from "@angular/material/tooltip";
13
14
  import * as i3 from "@angular/material/button";
14
- import * as i4 from "@angular/material/icon";
15
- import * as i5 from "@angular/material/checkbox";
16
- import * as i6 from "@ngx-translate/core";
15
+ import * as i4 from "@angular/material/checkbox";
16
+ import * as i5 from "@ngx-translate/core";
17
17
  /**
18
18
  * An action button
19
19
  */
20
20
  export class ActionbarItemComponent {
21
21
  disabled$ = new BehaviorSubject(false);
22
22
  checkCondition$ = new BehaviorSubject(undefined);
23
- icon$ = new BehaviorSubject(undefined);
24
23
  tooltip$ = new BehaviorSubject(undefined);
25
24
  noDisplay$ = new BehaviorSubject(false);
26
25
  ngClass$ = new BehaviorSubject({});
27
26
  ngClass$$;
28
27
  disabled$$;
29
28
  availability$$;
30
- icon$$;
31
29
  checkCondition$$;
32
30
  tooltip$$;
33
31
  noDisplay$$;
34
32
  display$$;
33
+ isObservable = isObservable;
35
34
  /**
36
35
  * Action
37
36
  */
@@ -80,7 +79,6 @@ export class ActionbarItemComponent {
80
79
  get title() {
81
80
  return this.action.title;
82
81
  }
83
- constructor() { }
84
82
  ngOnInit() {
85
83
  const args = this.action.args || [];
86
84
  if (this.action.ngClass !== undefined) {
@@ -88,12 +86,6 @@ export class ActionbarItemComponent {
88
86
  .ngClass(...args)
89
87
  .subscribe((ngClass) => this.updateNgClass(ngClass));
90
88
  }
91
- if (isObservable(this.action.icon)) {
92
- this.icon$$ = this.action.icon.subscribe((icon) => this.updateIcon(icon));
93
- }
94
- else {
95
- this.updateIcon(this.action.icon);
96
- }
97
89
  if (isObservable(this.action.checkCondition)) {
98
90
  this.checkCondition$$ = this.action.checkCondition.subscribe((checkCondition) => this.updateCheckCondition(checkCondition));
99
91
  }
@@ -136,10 +128,6 @@ export class ActionbarItemComponent {
136
128
  this.checkCondition$$.unsubscribe();
137
129
  this.checkCondition$$ = undefined;
138
130
  }
139
- if (this.icon$$ !== undefined) {
140
- this.icon$$.unsubscribe();
141
- this.icon$$ = undefined;
142
- }
143
131
  if (this.tooltip$$ !== undefined) {
144
132
  this.tooltip$$.unsubscribe();
145
133
  this.tooltip$$ = undefined;
@@ -167,11 +155,8 @@ export class ActionbarItemComponent {
167
155
  updateCheckCondition(checkCondition) {
168
156
  this.checkCondition$.next(checkCondition);
169
157
  }
170
- updateIcon(icon) {
171
- this.icon$.next(icon);
172
- }
173
158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActionbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <mat-icon *ngIf=\"withIcon\" svgIcon=\"{{ icon$ | async }}\"></mat-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
159
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
160
  }
176
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActionbarItemComponent, decorators: [{
177
162
  type: Component,
@@ -184,9 +169,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
184
169
  MatIconModule,
185
170
  MatCheckboxModule,
186
171
  AsyncPipe,
187
- TranslateModule
188
- ], template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <mat-icon *ngIf=\"withIcon\" svgIcon=\"{{ icon$ | async }}\"></mat-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"] }]
189
- }], ctorParameters: () => [], propDecorators: { action: [{
172
+ TranslateModule,
173
+ IgoIconComponent
174
+ ], template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"] }]
175
+ }], propDecorators: { action: [{
190
176
  type: Input
191
177
  }], color: [{
192
178
  type: Input
@@ -203,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
203
189
  }], trigger: [{
204
190
  type: Output
205
191
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvYWN0aW9uL2FjdGlvbmJhci9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vYWN0aW9uYmFyL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBSW5FOztHQUVHO0FBbUJILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsU0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxlQUFlLEdBQTZCLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1YsQ0FBQztJQUVPLEtBQUssR0FBNEIsSUFBSSxl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Q0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsU0FBUzt3QkFDVCxlQUFlO3FCQUNoQjt3REFxQ1EsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFNRixRQUFRO3NCQURYLEtBQUs7Z0JBWUYsU0FBUztzQkFEWixLQUFLO2dCQVdJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL3NoYXJlZC9hY3Rpb24uaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQW4gYWN0aW9uIGJ1dHRvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aW9uYmFyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE5nQ2xhc3MsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgY2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIHJlYWRvbmx5IGljb24kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICByZWFkb25seSB0b29sdGlwJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgbm9EaXNwbGF5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgbmdDbGFzcyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIHByaXZhdGUgbmdDbGFzcyQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBkaXNhYmxlZCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBhdmFpbGFiaWxpdHkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgaWNvbiQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBjaGVja0NvbmRpdGlvbiQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSB0b29sdGlwJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIG5vRGlzcGxheSQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBkaXNwbGF5JCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQWN0aW9uXG4gICAqL1xuICBASW5wdXQoKSBhY3Rpb246IEFjdGlvbjtcblxuICAvKipcbiAgICogQ29sb3JcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gdGl0bGUgaXMgZGlzcGxheWVkXG4gICAqL1xuICBASW5wdXQoKSB3aXRoVGl0bGUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gaWNvbiBpcyBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhJY29uID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhIHRvb2x0aXAgc2hvdWxkIGJlIHNob3duXG4gICAqL1xuICBASW5wdXQoKSB3aXRoVG9vbHRpcCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpcyBkaXNhYmxlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gaXMgZGlzcGxheSBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBub0Rpc3BsYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm5vRGlzcGxheSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IG5vRGlzcGxheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub0Rpc3BsYXkkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgdHJpZ2dlcjogRXZlbnRFbWl0dGVyPEFjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uLnRpdGxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmFjdGlvbi5hcmdzIHx8IFtdO1xuXG4gICAgaWYgKHRoaXMuYWN0aW9uLm5nQ2xhc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5uZ0NsYXNzJCQgPSB0aGlzLmFjdGlvblxuICAgICAgICAubmdDbGFzcyguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChuZ0NsYXNzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSkgPT5cbiAgICAgICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MobmdDbGFzcylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuYWN0aW9uLmljb24pKSB7XG4gICAgICB0aGlzLmljb24kJCA9IHRoaXMuYWN0aW9uLmljb24uc3Vic2NyaWJlKChpY29uOiBzdHJpbmcpID0+XG4gICAgICAgIHRoaXMudXBkYXRlSWNvbihpY29uKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVJY29uKHRoaXMuYWN0aW9uLmljb24pO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pKSB7XG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQgPSB0aGlzLmFjdGlvbi5jaGVja0NvbmRpdGlvbi5zdWJzY3JpYmUoXG4gICAgICAgIChjaGVja0NvbmRpdGlvbjogYm9vbGVhbikgPT4gdGhpcy51cGRhdGVDaGVja0NvbmRpdGlvbihjaGVja0NvbmRpdGlvbilcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQ2hlY2tDb25kaXRpb24odGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24udG9vbHRpcCkpIHtcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdGhpcy5hY3Rpb24udG9vbHRpcC5zdWJzY3JpYmUoKHRvb2x0aXA6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy51cGRhdGVUb29sdGlwKHRvb2x0aXApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVRvb2x0aXAodGhpcy5hY3Rpb24udG9vbHRpcCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aW9uLmF2YWlsYWJpbGl0eSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdGhpcy5hY3Rpb25cbiAgICAgICAgLmF2YWlsYWJpbGl0eSguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChhdmFpbGFibGU6IGJvb2xlYW4pID0+ICh0aGlzLmRpc2FibGVkID0gIWF2YWlsYWJsZSkpO1xuICAgIH1cblxuICAgIHRoaXMuZGlzYWJsZWQkJCA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQ6IGJvb2xlYW4pID0+XG4gICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MoeyAnaWdvLWFjdGlvbmJhci1pdGVtLWRpc2FibGVkJzogZGlzYWJsZWQgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuYWN0aW9uLmRpc3BsYXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB0aGlzLmFjdGlvblxuICAgICAgICAuZGlzcGxheSguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5OiBib29sZWFuKSA9PiAodGhpcy5ub0Rpc3BsYXkgPSAhZGlzcGxheSkpO1xuICAgIH1cblxuICAgIHRoaXMubm9EaXNwbGF5JCQgPSB0aGlzLm5vRGlzcGxheSQuc3Vic2NyaWJlKChub0Rpc3BsYXk6IGJvb2xlYW4pID0+XG4gICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MoeyAnaWdvLWFjdGlvbmJhci1pdGVtLW5vLWRpc3BsYXknOiBub0Rpc3BsYXkgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmdDbGFzcyQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDbGFzcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm5nQ2xhc3MkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdmFpbGFiaWxpdHkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRpc3BsYXkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tDb25kaXRpb24kJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pY29uJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pY29uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuaWNvbiQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRvb2x0aXAkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRvb2x0aXAkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy50b29sdGlwJCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNhYmxlZCQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5ub0Rpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCwgZW1pdCB0aGUgJ3RyaWdnZXInIGV2ZW50IGJ1dCBkb24ndFxuICAgKiBpbnZva2UgdGhlIGFjdGlvbiBoYW5kbGVyLiBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXIuZW1pdCh0aGlzLmFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5nQ2xhc3MobmdDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcbiAgICB0aGlzLm5nQ2xhc3MkLm5leHQoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5uZ0NsYXNzJC52YWx1ZSwgbmdDbGFzcykpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwKHRvb2x0aXA6IHN0cmluZykge1xuICAgIHRoaXMudG9vbHRpcCQubmV4dCh0b29sdGlwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tDb25kaXRpb24oY2hlY2tDb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJC5uZXh0KGNoZWNrQ29uZGl0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICB0aGlzLmljb24kLm5leHQoaWNvbik7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtXG4gICpuZ0lmPVwiIWFjdGlvbi5jaGVja2JveFwiXG4gIGNsYXNzPVwiYWN0aW9uYmFyLWl0ZW1cIlxuICBtYXRUb29sdGlwQ2xhc3M9XCJhY3Rpb25iYXJJdGVtVG9vbHRpcFwiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCJ3aXRoVG9vbHRpcCA/ICgodG9vbHRpcCQgfCBhc3luYykgfHwgdGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzJCB8IGFzeW5jXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIndpdGhJY29uXCJcbiAgICBtYXRMaXN0SXRlbUF2YXRhclxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIndpdGhJY29uXCIgc3ZnSWNvbj1cInt7IGljb24kIHwgYXN5bmMgfX1cIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPHNwYW4gKm5nSWY9XCJ3aXRoVGl0bGVcIiBtYXRMaW5lPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48bWF0LWxpc3QtaXRlbVxuICBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIlxuICAqbmdJZj1cImFjdGlvbi5jaGVja2JveFwiXG4gIG1hdFRvb2x0aXBDbGFzcz1cImFjdGlvbmJhckl0ZW1Ub29sdGlwXCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIndpdGhUb29sdGlwID8gKCh0b29sdGlwJCB8IGFzeW5jKSB8fCB0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3MkIHwgYXN5bmNcIlxuPlxuICA8bWF0LWNoZWNrYm94XG4gICAgKm5nSWY9XCJ3aXRoVGl0bGVcIlxuICAgIChjaGFuZ2UpPVwiYWN0aW9uLmhhbmRsZXIoKVwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tDb25kaXRpb24kIHwgYXN5bmNcIlxuICA+XG4gICAge3sgdGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtY2hlY2tib3g+XG48L21hdC1saXN0LWl0ZW0+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvYWN0aW9uL2FjdGlvbmJhci9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vYWN0aW9uYmFyL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBRy9DOztHQUVHO0FBb0JILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsU0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxlQUFlLEdBQTZCLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1YsQ0FBQztJQUVPLFFBQVEsR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFbkUsVUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRSxRQUFRLEdBQ2YsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbEIsU0FBUyxDQUFlO0lBRXhCLFVBQVUsQ0FBZTtJQUV6QixjQUFjLENBQWU7SUFFN0IsZ0JBQWdCLENBQWU7SUFFL0IsU0FBUyxDQUFlO0lBRXhCLFdBQVcsQ0FBZTtJQUUxQixTQUFTLENBQWU7SUFFaEMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUU1Qjs7T0FFRztJQUNNLE1BQU0sQ0FBUztJQUV4Qjs7T0FFRztJQUNNLEtBQUssR0FBRyxTQUFTLENBQUM7SUFFM0I7O09BRUc7SUFDTSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRTFCOztPQUVHO0lBQ00sUUFBUSxHQUFHLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNNLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFNUI7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ08sT0FBTyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU07aUJBQ3pCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDaEIsU0FBUyxDQUFDLENBQUMsT0FBbUMsRUFBRSxFQUFFLENBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQzVCLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQzFELENBQUMsY0FBdUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUN2RSxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU07aUJBQzlCLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDckIsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRSxDQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FDaEUsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTTtpQkFDekIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO2lCQUNoQixTQUFTLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFLENBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSwrQkFBK0IsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUFtQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZTtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sb0JBQW9CLENBQUMsY0FBdUI7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0E3TFUsc0JBQXNCOzJGQUF0QixzQkFBc0IscVJDNUNuQyxxbkNBd0NBLHdoQkRSSSxJQUFJLDRGQUNKLGFBQWEscVJBQ2IsZ0JBQWdCLDZUQUNoQixPQUFPLG1GQUNQLGVBQWUsMklBQ2YsYUFBYSw4QkFDYixpQkFBaUIseVdBQ2pCLFNBQVMsNkNBQ1QsZUFBZSw0RkFDZixnQkFBZ0I7OzJGQUdQLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7OEJBbUNRLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUYsUUFBUTtzQkFEWCxLQUFLO2dCQVlGLFNBQVM7c0JBRFosS0FBSztnQkFXSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJZ29JY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbnMnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBBbiBhY3Rpb24gYnV0dG9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hY3Rpb25iYXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTmdDbGFzcyxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIElnb0ljb25Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICByZWFkb25seSB0b29sdGlwJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgbm9EaXNwbGF5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgbmdDbGFzcyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIHByaXZhdGUgbmdDbGFzcyQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBkaXNhYmxlZCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBhdmFpbGFiaWxpdHkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgY2hlY2tDb25kaXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdG9vbHRpcCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBub0Rpc3BsYXkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGlzcGxheSQkOiBTdWJzY3JpcHRpb247XG5cbiAgaXNPYnNlcnZhYmxlID0gaXNPYnNlcnZhYmxlO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25cbiAgICovXG4gIEBJbnB1dCgpIGFjdGlvbjogQWN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiB0aXRsZSBpcyBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaXRsZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpY29uIGlzIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aEljb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdG9vbHRpcCBzaG91bGQgYmUgc2hvd25cbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIGlzIGRpc2FibGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpcyBkaXNwbGF5IG9yIG5vdFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5vRGlzcGxheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubm9EaXNwbGF5JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgbm9EaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5vRGlzcGxheSQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSB0cmlnZ2VyOiBFdmVudEVtaXR0ZXI8QWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24udGl0bGU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBhcmdzID0gdGhpcy5hY3Rpb24uYXJncyB8fCBbXTtcblxuICAgIGlmICh0aGlzLmFjdGlvbi5uZ0NsYXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDbGFzcyQkID0gdGhpcy5hY3Rpb25cbiAgICAgICAgLm5nQ2xhc3MoLi4uYXJncylcbiAgICAgICAgLnN1YnNjcmliZSgobmdDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pID0+XG4gICAgICAgICAgdGhpcy51cGRhdGVOZ0NsYXNzKG5nQ2xhc3MpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh0aGlzLmFjdGlvbi5jaGVja0NvbmRpdGlvbikpIHtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHRoaXMuYWN0aW9uLmNoZWNrQ29uZGl0aW9uLnN1YnNjcmliZShcbiAgICAgICAgKGNoZWNrQ29uZGl0aW9uOiBib29sZWFuKSA9PiB0aGlzLnVwZGF0ZUNoZWNrQ29uZGl0aW9uKGNoZWNrQ29uZGl0aW9uKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVDaGVja0NvbmRpdGlvbih0aGlzLmFjdGlvbi5jaGVja0NvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh0aGlzLmFjdGlvbi50b29sdGlwKSkge1xuICAgICAgdGhpcy50b29sdGlwJCQgPSB0aGlzLmFjdGlvbi50b29sdGlwLnN1YnNjcmliZSgodG9vbHRpcDogc3RyaW5nKSA9PlxuICAgICAgICB0aGlzLnVwZGF0ZVRvb2x0aXAodG9vbHRpcClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh0aGlzLmFjdGlvbi50b29sdGlwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hY3Rpb24uYXZhaWxhYmlsaXR5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5JCQgPSB0aGlzLmFjdGlvblxuICAgICAgICAuYXZhaWxhYmlsaXR5KC4uLmFyZ3MpXG4gICAgICAgIC5zdWJzY3JpYmUoKGF2YWlsYWJsZTogYm9vbGVhbikgPT4gKHRoaXMuZGlzYWJsZWQgPSAhYXZhaWxhYmxlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNhYmxlZCQkID0gdGhpcy5kaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZDogYm9vbGVhbikgPT5cbiAgICAgIHRoaXMudXBkYXRlTmdDbGFzcyh7ICdpZ28tYWN0aW9uYmFyLWl0ZW0tZGlzYWJsZWQnOiBkaXNhYmxlZCB9KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5hY3Rpb24uZGlzcGxheSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkkJCA9IHRoaXMuYWN0aW9uXG4gICAgICAgIC5kaXNwbGF5KC4uLmFyZ3MpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRpc3BsYXk6IGJvb2xlYW4pID0+ICh0aGlzLm5vRGlzcGxheSA9ICFkaXNwbGF5KSk7XG4gICAgfVxuXG4gICAgdGhpcy5ub0Rpc3BsYXkkJCA9IHRoaXMubm9EaXNwbGF5JC5zdWJzY3JpYmUoKG5vRGlzcGxheTogYm9vbGVhbikgPT5cbiAgICAgIHRoaXMudXBkYXRlTmdDbGFzcyh7ICdpZ28tYWN0aW9uYmFyLWl0ZW0tbm8tZGlzcGxheSc6IG5vRGlzcGxheSB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5uZ0NsYXNzJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5uZ0NsYXNzJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubmdDbGFzcyQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmF2YWlsYWJpbGl0eSQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5JCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5JCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGlzcGxheSQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmRpc3BsYXkkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jaGVja0NvbmRpdGlvbiQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5jaGVja0NvbmRpdGlvbiQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRvb2x0aXAkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRvb2x0aXAkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy50b29sdGlwJCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNhYmxlZCQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5ub0Rpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCwgZW1pdCB0aGUgJ3RyaWdnZXInIGV2ZW50IGJ1dCBkb24ndFxuICAgKiBpbnZva2UgdGhlIGFjdGlvbiBoYW5kbGVyLiBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXIuZW1pdCh0aGlzLmFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5nQ2xhc3MobmdDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcbiAgICB0aGlzLm5nQ2xhc3MkLm5leHQoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5uZ0NsYXNzJC52YWx1ZSwgbmdDbGFzcykpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwKHRvb2x0aXA6IHN0cmluZykge1xuICAgIHRoaXMudG9vbHRpcCQubmV4dCh0b29sdGlwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tDb25kaXRpb24oY2hlY2tDb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJC5uZXh0KGNoZWNrQ29uZGl0aW9uKTtcbiAgfVxufVxuIiwiPG1hdC1saXN0LWl0ZW1cbiAgKm5nSWY9XCIhYWN0aW9uLmNoZWNrYm94XCJcbiAgY2xhc3M9XCJhY3Rpb25iYXItaXRlbVwiXG4gIG1hdFRvb2x0aXBDbGFzcz1cImFjdGlvbmJhckl0ZW1Ub29sdGlwXCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIndpdGhUb29sdGlwID8gKCh0b29sdGlwJCB8IGFzeW5jKSB8fCB0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3MkIHwgYXN5bmNcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwid2l0aEljb25cIlxuICAgIG1hdExpc3RJdGVtQXZhdGFyXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICA+XG4gICAgPGlnby1pY29uXG4gICAgICBbaWNvbl09XCJpc09ic2VydmFibGUoYWN0aW9uLmljb24pID8gKGFjdGlvbi5pY29uIHwgYXN5bmMpIDogYWN0aW9uLmljb25cIlxuICAgID48L2lnby1pY29uPlxuICA8L2J1dHRvbj5cbiAgPHNwYW4gKm5nSWY9XCJ3aXRoVGl0bGVcIiBtYXRMaW5lPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48bWF0LWxpc3QtaXRlbVxuICBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIlxuICAqbmdJZj1cImFjdGlvbi5jaGVja2JveFwiXG4gIG1hdFRvb2x0aXBDbGFzcz1cImFjdGlvbmJhckl0ZW1Ub29sdGlwXCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIndpdGhUb29sdGlwID8gKCh0b29sdGlwJCB8IGFzeW5jKSB8fCB0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3MkIHwgYXN5bmNcIlxuPlxuICA8bWF0LWNoZWNrYm94XG4gICAgKm5nSWY9XCJ3aXRoVGl0bGVcIlxuICAgIChjaGFuZ2UpPVwiYWN0aW9uLmhhbmRsZXIoKVwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tDb25kaXRpb24kIHwgYXN5bmNcIlxuICA+XG4gICAge3sgdGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgPC9tYXQtY2hlY2tib3g+XG48L21hdC1saXN0LWl0ZW0+XG4iXX0=
@@ -49,7 +49,7 @@ export class ActionbarComponent {
49
49
  */
50
50
  toggleCollapseAction = {
51
51
  id: 'actionbar_toggle',
52
- icon: 'dots-vertical',
52
+ icon: 'more_vert',
53
53
  handler: () => {
54
54
  this.collapsed = !this.collapsed;
55
55
  }
@@ -114,7 +114,7 @@ export class ActionbarComponent {
114
114
  /**
115
115
  * Which icon want to be shown
116
116
  */
117
- icon = 'dots-horizontal';
117
+ icon = 'more_horiz';
118
118
  /**
119
119
  * Overlay X position
120
120
  */
@@ -216,7 +216,7 @@ export class ActionbarComponent {
216
216
  this.elRef.nativeElement.scrollBy(0, -52);
217
217
  }
218
218
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActionbarComponent, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.MediaService }], target: i0.ɵɵFactoryTarget.Component });
219
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, host: { properties: { "class.is-collapsed": "this.isCollapsed", "class.with-title": "this.withTitleClass", "class.with-icon": "this.withIconClass", "class.horizontal": "this.horizontalClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon [svgIcon]=\"icon\"></mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i6.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: ActionbarItemComponent, selector: "igo-actionbar-item", inputs: ["action", "color", "withTitle", "withIcon", "withTooltip", "disabled", "noDisplay"], outputs: ["trigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
219
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, host: { properties: { "class.is-collapsed": "this.isCollapsed", "class.with-title": "this.withTitleClass", "class.with-icon": "this.withIconClass", "class.horizontal": "this.horizontalClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i6.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: ActionbarItemComponent, selector: "igo-actionbar-item", inputs: ["action", "color", "withTitle", "withIcon", "withTooltip", "disabled", "noDisplay"], outputs: ["trigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
220
220
  }
221
221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ActionbarComponent, decorators: [{
222
222
  type: Component,
@@ -232,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
232
232
  MatCardModule,
233
233
  AsyncPipe,
234
234
  TranslateModule
235
- ], template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon [svgIcon]=\"icon\"></mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"] }]
235
+ ], template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"] }]
236
236
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.MediaService }], propDecorators: { store: [{
237
237
  type: Input
238
238
  }], mode: [{
@@ -274,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
274
274
  type: HostBinding,
275
275
  args: ['class.horizontal']
276
276
  }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxhQUFhLEVBR2QsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNB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SztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1GLFlBQVk7c0JBRGYsS0FBSztnQkFTNkIsV0FBVztzQkFBN0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQVMzQixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFTMUIsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQge1xuICBNYXRNZW51TW9kdWxlLFxuICBNZW51UG9zaXRpb25YLFxuICBNZW51UG9zaXRpb25ZXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBNZWRpYSwgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZWRpYSc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJy4uLy4uL2VudGl0eSc7XG5pbXBvcnQgeyBBY3Rpb25iYXJNb2RlIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5lbnVtcyc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvYWN0aW9uLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWN0aW9uU3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGxpc3Qgb2YgYWN0aW9uIGJ1dHRvbnMuXG4gKiBUaGlzIGNvbXBvbmVudCBjYW4gYmUgZGlzcGxheWVkIGluIG9uZSBvZiB0d28gd2F5OiAnZG9jaycgb3IgJ292ZXJsYXknXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hY3Rpb25iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgQWN0aW9uYmFySXRlbUNvbXBvbmVudCxcbiAgICBOZ0ZvcixcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgQWN0aW9uYmFyTW9kZSBlbnVtIGZvciB1c2UgaW4gdGhlIHRlbXBsYXRlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbmJhciBpcyBjb2xsYXBzZWQgKERvY2sgbW9kZSlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb2xsYXBzZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVG9nZ2xlIGNvbGxhcHNlIGFjdGlvbiAoRG9jaylcbiAgICogQGludGVybmFsXG4gICAqL1xuICB0b2dnbGVDb2xsYXBzZUFjdGlvbiA9IHtcbiAgICBpZDogJ2FjdGlvbmJhcl90b2dnbGUnLFxuICAgIGljb246ICdkb3RzLXZlcnRpY2FsJyxcbiAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFjdGlvbiBzdG9yZSB3YXRjaGVyXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8QWN0aW9uPjtcblxuICAvKipcbiAgICogSGVpZ2h0IENvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvblxuICAgKi9cbiAgaGVpZ2h0Q29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihcbiAgICBmYWxzZVxuICApO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIHRvcCBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBwb3NpdGlvbkNvbmRpdGlvblRvcCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogUG9zaXRpb24gQ29uZGl0aW9uIGZvciBsb3cgc2Nyb2xsIGJ1dHRvblxuICAgKi9cbiAgcG9zaXRpb25Db25kaXRpb25Mb3ckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLyoqXG4gICAqIEFjdGlvbiBzdG9yZVxuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEFjdGlvblN0b3JlO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25iYXIgbW9kZVxuICAgKi9cbiAgQElucHV0KCkgbW9kZTogQWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGUuRG9jaztcblxuICAvKipcbiAgICogV2hldGhlciBhIHRvZ2dsZSBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZCAoRG9jayBtb2RlKVxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRvZ2dsZUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdGhlIGFjdGlvbmJhciBzaG91bGQgZGlzcGxheSBidXR0b25zIGhvcml6b250YWxseVxuICAgKi9cbiAgQElucHV0KCkgaG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24gaWYgYWN0aW9uIG1vZGUgPT09IG92ZXJsYXlcbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvciA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaXRsZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIHRvb2x0aXBzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWQgKGNvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvbilcbiAgICovXG4gIEBJbnB1dCgpIHNjcm9sbEFjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIGljb25zIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhJY29uID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hpY2ggaWNvbiB3YW50IHRvIGJlIHNob3duXG4gICAqL1xuICBASW5wdXQoKSBpY29uID0gJ2RvdHMtaG9yaXpvbnRhbCc7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWCBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeFBvc2l0aW9uOiBNZW51UG9zaXRpb25YID0gJ2JlZm9yZSc7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWSBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeVBvc2l0aW9uOiBNZW51UG9zaXRpb25ZID0gJ2Fib3ZlJztcblxuICAvKipcbiAgICogQ2xhc3MgdG8gYWRkIHRvIHRoZSBhY3Rpb25iYXIgb3ZlcmxheVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYXlDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fb3ZlcmxheUNsYXNzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IG92ZXJsYXlDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5fb3ZlcmxheUNsYXNzLCAnaWdvLWFjdGlvbmJhci1vdmVybGF5J10uam9pbignICcpO1xuICB9XG4gIHByaXZhdGUgX292ZXJsYXlDbGFzcyA9ICcnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtY29sbGFwc2VkJykgaXNDb2xsYXBzZWQgPSB0aGlzLmNvbGxhcHNlZDtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53aXRoLXRpdGxlJylcbiAgZ2V0IHdpdGhUaXRsZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhUaXRsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtaWNvbicpXG4gIGdldCB3aXRoSWNvbkNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaG9yaXpvbnRhbCcpXG4gIGdldCBob3Jpem9udGFsQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9yaXpvbnRhbDtcbiAgfVxuXG4gIGdldCBoZWlnaHRDb25kaXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuc2Nyb2xsQWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgaWYgKGVsLmNsaWVudEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQ29uZGl0aW9uVG9wKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQ29uZGl0aW9uTG93KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChlbC5zY3JvbGxUb3AgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IGlzRGVza3RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuZ2V0TWVkaWEoKSA9PT0gTWVkaWEuRGVza3RvcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc3RvcmUgPSBjaGFuZ2VzLnN0b3JlO1xuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5jdXJyZW50VmFsdWUgIT09IHN0b3JlLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLndhdGNoZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSB0aGUgYWN0aW9uIGhhbmRsZXJcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRyaWdnZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pIHtcbiAgICBjb25zdCBhcmdzID0gYWN0aW9uLmFyZ3MgfHwgW107XG4gICAgYWN0aW9uLmhhbmRsZXIoLi4uYXJncyk7XG4gIH1cblxuICBzY3JvbGxEb3duKCkge1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxCeSgwLCA1Mik7XG4gIH1cblxuICBzY3JvbGxVcCgpIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgLTUyKTtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvblRvcCAmJiBpc0Rlc2t0b3BcIlxuICBpZD1cInRvcENoZXZyb25cIlxuPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuc2Nyb2xsVXAnIHwgdHJhbnNsYXRlXCJcbiAgICAoY2xpY2spPVwic2Nyb2xsVXAoKVwiXG4gID5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tdXBcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPG1hdC1saXN0ICpuZ0lmPVwibW9kZSA9PT0gYWN0aW9uYmFyTW9kZS5Eb2NrXCIgbWF0TGlzdEl0ZW1JY29uPlxuICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgKm5nSWY9XCJ3aXRoVG9nZ2xlQnV0dG9uXCJcbiAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgW3dpdGhUaXRsZV09XCJmYWxzZVwiXG4gICAgW3dpdGhJY29uXT1cInRydWVcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cInN0b3JlLnZpZXcuZW1wdHlcIlxuICAgIFthY3Rpb25dPVwidG9nZ2xlQ29sbGFwc2VBY3Rpb25cIlxuICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbih0b2dnbGVDb2xsYXBzZUFjdGlvbilcIlxuICA+XG4gIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuXG4gIDxuZy10ZW1wbGF0ZVxuICAgICNidXR0b25Db250ZW50XG4gICAgKm5nSWY9XCIhY29sbGFwc2VkXCJcbiAgICBuZ0ZvclxuICAgIGxldC1hY3Rpb25cbiAgICBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCJcbiAgPlxuICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXG4gICAgICBbd2l0aFRvb2x0aXBdPVwid2l0aFRvb2x0aXBcIlxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdG9yZS5zdGF0ZS5nZXQoYWN0aW9uKS5kaXNhYmxlZFwiXG4gICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24oYWN0aW9uKVwiXG4gICAgPlxuICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtbGlzdD5cblxuPGRpdlxuICAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvbkxvdyAmJiBpc0Rlc2t0b3BcIlxuICBpZD1cImxvd0NoZXZyb25cIlxuPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuc2Nyb2xsRG93bicgfCB0cmFuc2xhdGVcIlxuICAgIChjbGljayk9XCJzY3JvbGxEb3duKClcIlxuICA+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjaGV2cm9uLWRvd25cIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibW9kZSA9PT0gYWN0aW9uYmFyTW9kZS5PdmVybGF5XCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ1dHRvbk92ZXJsYXlcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb21tb24uYWN0aW9uYmFyLmljb24nIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uYmFyTWVudVwiXG4gICAgW2Rpc2FibGVkXT1cInN0b3JlLnZpZXcuZW1wdHlcIlxuICAgIFtjb2xvcl09XCJpY29uQ29sb3JcIlxuICA+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25cIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LW1lbnVcbiAgICAjYWN0aW9uYmFyTWVudT1cIm1hdE1lbnVcIlxuICAgIGNsYXNzPVwiaWdvLWNvbXBhY3QtbWVudSBpZ28tbm8tbWluLXdpZHRoLW1lbnVcIlxuICAgIG92ZXJsYXBUcmlnZ2VyPVwidHJ1ZVwiXG4gICAgW3hQb3NpdGlvbl09XCJ4UG9zaXRpb25cIlxuICAgIFt5UG9zaXRpb25dPVwieVBvc2l0aW9uXCJcbiAgICBbY2xhc3NdPVwib3ZlcmxheUNsYXNzXCJcbiAgPlxuICAgIDxtYXQtbGlzdD5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYWN0aW9uIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cbiAgICAgICAgPGlnby1hY3Rpb25iYXItaXRlbVxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbd2l0aFRpdGxlXT1cIndpdGhUaXRsZVwiXG4gICAgICAgICAgW3dpdGhJY29uXT1cIndpdGhJY29uXCJcbiAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24oYWN0aW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9pZ28tYWN0aW9uYmFyLWl0ZW0+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbWF0LWxpc3Q+XG4gIDwvbWF0LW1lbnU+XG48L2Rpdj5cbjxtYXQtY2FyZFxuICAqbmdJZj1cIm1vZGUgPT09IGFjdGlvbmJhck1vZGUuQ29udGV4dFwiXG4gIGNsYXNzPVwiY29udGV4dC1tZW51LWNhcmQgbWF0LWVsZXZhdGlvbi16NFwiXG4+XG4gIDxtYXQtbGlzdD5cbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWFjdGlvbiBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgW3dpdGhUaXRsZV09XCJ3aXRoVGl0bGVcIlxuICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbihhY3Rpb24pXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuICAgICAgPGJyIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtbGlzdD5cbjwvbWF0LWNhcmQ+XG4iXX0=
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxhQUFhLEVBR2QsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNB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Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNRixZQUFZO3NCQURmLEtBQUs7Z0JBUzZCLFdBQVc7c0JBQTdDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFTM0IsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBUzFCLGVBQWU7c0JBRGxCLFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtcbiAgTWF0TWVudU1vZHVsZSxcbiAgTWVudVBvc2l0aW9uWCxcbiAgTWVudVBvc2l0aW9uWVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgTWVkaWEsIE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi8uLi9lbnRpdHknO1xuaW1wb3J0IHsgQWN0aW9uYmFyTW9kZSB9IGZyb20gJy4uL3NoYXJlZC9hY3Rpb24uZW51bXMnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQSBsaXN0IG9mIGFjdGlvbiBidXR0b25zLlxuICogVGhpcyBjb21wb25lbnQgY2FuIGJlIGRpc3BsYXllZCBpbiBvbmUgb2YgdHdvIHdheTogJ2RvY2snIG9yICdvdmVybGF5J1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aW9uYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIEFjdGlvbmJhckl0ZW1Db21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIEFjdGlvbmJhck1vZGUgZW51bSBmb3IgdXNlIGluIHRoZSB0ZW1wbGF0ZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFjdGlvbmJhck1vZGUgPSBBY3Rpb25iYXJNb2RlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb25iYXIgaXMgY29sbGFwc2VkIChEb2NrIG1vZGUpXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBjb2xsYXBzZSBhY3Rpb24gKERvY2spXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgdG9nZ2xlQ29sbGFwc2VBY3Rpb24gPSB7XG4gICAgaWQ6ICdhY3Rpb25iYXJfdG9nZ2xlJyxcbiAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFjdGlvbiBzdG9yZSB3YXRjaGVyXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8QWN0aW9uPjtcblxuICAvKipcbiAgICogSGVpZ2h0IENvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvblxuICAgKi9cbiAgaGVpZ2h0Q29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihcbiAgICBmYWxzZVxuICApO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIHRvcCBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBwb3NpdGlvbkNvbmRpdGlvblRvcCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogUG9zaXRpb24gQ29uZGl0aW9uIGZvciBsb3cgc2Nyb2xsIGJ1dHRvblxuICAgKi9cbiAgcG9zaXRpb25Db25kaXRpb25Mb3ckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLyoqXG4gICAqIEFjdGlvbiBzdG9yZVxuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEFjdGlvblN0b3JlO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25iYXIgbW9kZVxuICAgKi9cbiAgQElucHV0KCkgbW9kZTogQWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGUuRG9jaztcblxuICAvKipcbiAgICogV2hldGhlciBhIHRvZ2dsZSBidXR0b24gc2hvdWxkIGJlIGRpc3BsYXllZCAoRG9jayBtb2RlKVxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRvZ2dsZUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdGhlIGFjdGlvbmJhciBzaG91bGQgZGlzcGxheSBidXR0b25zIGhvcml6b250YWxseVxuICAgKi9cbiAgQElucHV0KCkgaG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24gaWYgYWN0aW9uIG1vZGUgPT09IG92ZXJsYXlcbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvciA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaXRsZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIHRvb2x0aXBzIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdGl0bGVzIGFyZSBkaXNwbGF5ZWQgKGNvbmRpdGlvbiBmb3Igc2Nyb2xsIGJ1dHRvbilcbiAgICovXG4gIEBJbnB1dCgpIHNjcm9sbEFjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWN0aW9uIGljb25zIGFyZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhJY29uID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hpY2ggaWNvbiB3YW50IHRvIGJlIHNob3duXG4gICAqL1xuICBASW5wdXQoKSBpY29uID0gJ21vcmVfaG9yaXonO1xuXG4gIC8qKlxuICAgKiBPdmVybGF5IFggcG9zaXRpb25cbiAgICovXG4gIEBJbnB1dCgpIHhQb3NpdGlvbjogTWVudVBvc2l0aW9uWCA9ICdiZWZvcmUnO1xuXG4gIC8qKlxuICAgKiBPdmVybGF5IFkgcG9zaXRpb25cbiAgICovXG4gIEBJbnB1dCgpIHlQb3NpdGlvbjogTWVudVBvc2l0aW9uWSA9ICdhYm92ZSc7XG5cbiAgLyoqXG4gICAqIENsYXNzIHRvIGFkZCB0byB0aGUgYWN0aW9uYmFyIG92ZXJsYXlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBvdmVybGF5Q2xhc3ModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX292ZXJsYXlDbGFzcyA9IHZhbHVlO1xuICB9XG4gIGdldCBvdmVybGF5Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW3RoaXMuX292ZXJsYXlDbGFzcywgJ2lnby1hY3Rpb25iYXItb3ZlcmxheSddLmpvaW4oJyAnKTtcbiAgfVxuICBwcml2YXRlIF9vdmVybGF5Q2xhc3MgPSAnJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWNvbGxhcHNlZCcpIGlzQ29sbGFwc2VkID0gdGhpcy5jb2xsYXBzZWQ7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2l0aC10aXRsZScpXG4gIGdldCB3aXRoVGl0bGVDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoVGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53aXRoLWljb24nKVxuICBnZXQgd2l0aEljb25DbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhvcml6b250YWwnKVxuICBnZXQgaG9yaXpvbnRhbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmhvcml6b250YWw7XG4gIH1cblxuICBnZXQgaGVpZ2h0Q29uZGl0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0aGlzLnNjcm9sbEFjdGl2ZSA9PT0gZmFsc2UpIHtcbiAgICAgIGlmIChlbC5jbGllbnRIZWlnaHQgPCBlbC5zY3JvbGxIZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkNvbmRpdGlvblRvcCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbkNvbmRpdGlvbkxvdygpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWwuc2Nyb2xsVG9wID49IGVsLnNjcm9sbEhlaWdodCAtIGVsLmNsaWVudEhlaWdodCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBpc0Rlc2t0b3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmdldE1lZGlhKCkgPT09IE1lZGlhLkRlc2t0b3A7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHN0b3JlID0gY2hhbmdlcy5zdG9yZTtcbiAgICBpZiAoc3RvcmUgJiYgc3RvcmUuY3VycmVudFZhbHVlICE9PSBzdG9yZS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICBpZiAodGhpcy53YXRjaGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy53YXRjaGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgdGhlIGFjdGlvbiBoYW5kbGVyXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25UcmlnZ2VyQWN0aW9uKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgY29uc3QgYXJncyA9IGFjdGlvbi5hcmdzIHx8IFtdO1xuICAgIGFjdGlvbi5oYW5kbGVyKC4uLmFyZ3MpO1xuICB9XG5cbiAgc2Nyb2xsRG93bigpIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgNTIpO1xuICB9XG5cbiAgc2Nyb2xsVXAoKSB7XG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KDAsIC01Mik7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJoZWlnaHRDb25kaXRpb24gJiYgcG9zaXRpb25Db25kaXRpb25Ub3AgJiYgaXNEZXNrdG9wXCJcbiAgaWQ9XCJ0b3BDaGV2cm9uXCJcbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb21tb24uYWN0aW9uYmFyLnNjcm9sbFVwJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cInNjcm9sbFVwKClcIlxuICA+XG4gICAgPG1hdC1pY29uPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbjxtYXQtbGlzdCAqbmdJZj1cIm1vZGUgPT09IGFjdGlvbmJhck1vZGUuRG9ja1wiIG1hdExpc3RJdGVtSWNvbj5cbiAgPGlnby1hY3Rpb25iYXItaXRlbVxuICAgICpuZ0lmPVwid2l0aFRvZ2dsZUJ1dHRvblwiXG4gICAgY29sb3I9XCJhY2NlbnRcIlxuICAgIFt3aXRoVGl0bGVdPVwiZmFsc2VcIlxuICAgIFt3aXRoSWNvbl09XCJ0cnVlXCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFtkaXNhYmxlZF09XCJzdG9yZS52aWV3LmVtcHR5XCJcbiAgICBbYWN0aW9uXT1cInRvZ2dsZUNvbGxhcHNlQWN0aW9uXCJcbiAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24odG9nZ2xlQ29sbGFwc2VBY3Rpb24pXCJcbiAgPlxuICA8L2lnby1hY3Rpb25iYXItaXRlbT5cblxuICA8bmctdGVtcGxhdGVcbiAgICAjYnV0dG9uQ29udGVudFxuICAgICpuZ0lmPVwiIWNvbGxhcHNlZFwiXG4gICAgbmdGb3JcbiAgICBsZXQtYWN0aW9uXG4gICAgW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiXG4gID5cbiAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICBbd2l0aFRpdGxlXT1cIndpdGhUaXRsZVwiXG4gICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxuICAgICAgW3dpdGhUb29sdGlwXT1cIndpdGhUb29sdGlwXCJcbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICBbZGlzYWJsZWRdPVwic3RvcmUuc3RhdGUuZ2V0KGFjdGlvbikuZGlzYWJsZWRcIlxuICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKGFjdGlvbilcIlxuICAgID5cbiAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LWxpc3Q+XG5cbjxkaXZcbiAgKm5nSWY9XCJoZWlnaHRDb25kaXRpb24gJiYgcG9zaXRpb25Db25kaXRpb25Mb3cgJiYgaXNEZXNrdG9wXCJcbiAgaWQ9XCJsb3dDaGV2cm9uXCJcbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5jb21tb24uYWN0aW9uYmFyLnNjcm9sbERvd24nIHwgdHJhbnNsYXRlXCJcbiAgICAoY2xpY2spPVwic2Nyb2xsRG93bigpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5leHBhbmRfbW9yZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLk92ZXJsYXlcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnV0dG9uT3ZlcmxheVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuaWNvbicgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25iYXJNZW51XCJcbiAgICBbZGlzYWJsZWRdPVwic3RvcmUudmlldy5lbXB0eVwiXG4gICAgW2NvbG9yXT1cImljb25Db2xvclwiXG4gID5cbiAgICA8bWF0LWljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtbWVudVxuICAgICNhY3Rpb25iYXJNZW51PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJpZ28tY29tcGFjdC1tZW51IGlnby1uby1taW4td2lkdGgtbWVudVwiXG4gICAgb3ZlcmxhcFRyaWdnZXI9XCJ0cnVlXCJcbiAgICBbeFBvc2l0aW9uXT1cInhQb3NpdGlvblwiXG4gICAgW3lQb3NpdGlvbl09XCJ5UG9zaXRpb25cIlxuICAgIFtjbGFzc109XCJvdmVybGF5Q2xhc3NcIlxuICA+XG4gICAgPG1hdC1saXN0PlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1hY3Rpb24gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgICAgICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgICAgICBbd2l0aEljb25dPVwid2l0aEljb25cIlxuICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbihhY3Rpb24pXCJcbiAgICAgICAgPlxuICAgICAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtbGlzdD5cbiAgPC9tYXQtbWVudT5cbjwvZGl2PlxuPG1hdC1jYXJkXG4gICpuZ0lmPVwibW9kZSA9PT0gYWN0aW9uYmFyTW9kZS5Db250ZXh0XCJcbiAgY2xhc3M9XCJjb250ZXh0LW1lbnUtY2FyZCBtYXQtZWxldmF0aW9uLXo0XCJcbj5cbiAgPG1hdC1saXN0PlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYWN0aW9uIFtuZ0Zvck9mXT1cInN0b3JlLnZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cbiAgICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICBbd2l0aFRpdGxlXT1cIndpdGhUaXRsZVwiXG4gICAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKGFjdGlvbilcIlxuICAgICAgPlxuICAgICAgPC9pZ28tYWN0aW9uYmFyLWl0ZW0+XG4gICAgICA8YnIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC1saXN0PlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgaGFuZGxlcjogQWN0aW9uSGFuZGxlcjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHRvb2x0aXA/OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGFyZ3M/OiBhbnlbXTtcbiAgY2hlY2tib3g/OiBib29sZWFuO1xuICBjaGVja0NvbmRpdGlvbj86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkaXNwbGF5PzogKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhdmFpbGFiaWxpdHk/OiAoLi4uYXJnczogYW55W10pID0+IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5nQ2xhc3M/OiAoLi4uYXJnczogYW55W10pID0+IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0+O1xufVxuXG5leHBvcnQgdHlwZSBBY3Rpb25IYW5kbGVyID0gKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEljb25TdmcgfSBmcm9tICcuLi8uLi9pY29ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgaGFuZGxlcjogQWN0aW9uSGFuZGxlcjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmcgfCBJY29uU3ZnIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB0b29sdGlwPzogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBhcmdzPzogYW55W107XG4gIGNoZWNrYm94PzogYm9vbGVhbjtcbiAgY2hlY2tDb25kaXRpb24/OiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZGlzcGxheT86ICguLi5hcmdzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgYXZhaWxhYmlsaXR5PzogKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBuZ0NsYXNzPzogKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9Pjtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uSGFuZGxlciA9ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZDtcbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { Directive, ElementRef, Input } from '@angular/core';
2
- import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
2
+ import { MatIconModule } from '@angular/material/icon';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/icon";
5
4
  /**
6
5
  * This directive allow to add an icon inside a matBadge.
7
6
  * A value must be set into the matBadge directive ex: matBadge="icon".
@@ -9,14 +8,13 @@ import * as i1 from "@angular/material/icon";
9
8
  */
10
9
  export class IgoBadgeIconDirective {
11
10
  el;
12
- matIconRegistry;
13
11
  set igoMatBadgeIcon(value) {
14
- this.matIconRegistry.getNamedSvgIcon(value).subscribe((svgObj) => {
15
- this.svg = svgObj;
16
- this.updateSvg();
17
- });
12
+ this.html = `
13
+ <mat-icon class="mat-icon material-symbols-outlined" style="height: 16px; width: 16px; font-size: 16px;">${value}</mat-icon>
14
+ `;
15
+ this.updateHtml();
18
16
  }
19
- svg;
17
+ html;
20
18
  set matBadgeHidden(value) {
21
19
  this.hidden = value;
22
20
  this.updateHidden();
@@ -51,24 +49,23 @@ export class IgoBadgeIconDirective {
51
49
  return this.el.nativeElement.querySelector('.mat-badge-content');
52
50
  }
53
51
  originalColor;
54
- constructor(el, matIconRegistry) {
52
+ constructor(el) {
55
53
  this.el = el;
56
- this.matIconRegistry = matIconRegistry;
57
54
  }
58
55
  ngOnInit() {
59
56
  this.badge.style.alignItems = 'center';
60
57
  this.badge.style.justifyContent = 'center';
61
58
  this.updateHidden();
62
59
  this.updateColor();
63
- this.updateSvg();
60
+ this.updateHtml();
64
61
  }
65
- updateSvg() {
62
+ updateHtml() {
66
63
  if (!this.badge) {
67
64
  return;
68
65
  }
69
66
  this.badge.innerHTML = '';
70
- if (this.svg) {
71
- this.badge.appendChild(this.svg);
67
+ if (this.html) {
68
+ this.badge.innerHTML = this.html;
72
69
  }
73
70
  }
74
71
  updateColor() {
@@ -124,7 +121,7 @@ export class IgoBadgeIconDirective {
124
121
  this.badge.style.color = this.originalColor;
125
122
  }
126
123
  }
127
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoBadgeIconDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatIconRegistry }], target: i0.ɵɵFactoryTarget.Directive });
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoBadgeIconDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
128
125
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: IgoBadgeIconDirective, isStandalone: true, selector: "[igoMatBadgeIcon]", inputs: { igoMatBadgeIcon: "igoMatBadgeIcon", matBadgeHidden: "matBadgeHidden", matBadgeDisabled: "matBadgeDisabled", igoMatBadgeInverseColor: "igoMatBadgeInverseColor", igoMatBadgeInheritColor: "igoMatBadgeInheritColor", igoMatBadgeColor: "igoMatBadgeColor", igoMatBadgeBackgroundColor: "igoMatBadgeBackgroundColor" }, providers: [MatIconModule], ngImport: i0 });
129
126
  }
130
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoBadgeIconDirective, decorators: [{
@@ -134,7 +131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
134
131
  standalone: true,
135
132
  providers: [MatIconModule]
136
133
  }]
137
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatIconRegistry }], propDecorators: { igoMatBadgeIcon: [{
134
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { igoMatBadgeIcon: [{
138
135
  type: Input
139
136
  }], matBadgeHidden: [{
140
137
  type: Input
@@ -149,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
149
146
  }], igoMatBadgeBackgroundColor: [{
150
147
  type: Input
151
148
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UtaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9iYWRnZS1pY29uL2JhZGdlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFeEU7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUEyRHRCO0lBQ0E7SUEzRFYsSUFDSSxlQUFlLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sR0FBRyxDQUFhO0lBRXhCLElBQ0ksY0FBYyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBYztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNPLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFekIsSUFDSSx1QkFBdUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFX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S0FBSyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQzt1R0FuSVUscUJBQXFCOzJGQUFyQixxQkFBcUIsZ1lBRnJCLENBQUMsYUFBYSxDQUFDOzsyRkFFZixxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDM0I7NkdBR0ssZUFBZTtzQkFEbEIsS0FBSztnQkFVRixjQUFjO3NCQURqQixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFRRix1QkFBdUI7c0JBRDFCLEtBQUs7Z0JBUUYsdUJBQXVCO3NCQUQxQixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFRRiwwQkFBMEI7c0JBRDdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUsIE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIGFsbG93IHRvIGFkZCBhbiBpY29uIGluc2lkZSBhIG1hdEJhZGdlLlxuICogQSB2YWx1ZSBtdXN0IGJlIHNldCBpbnRvIHRoZSBtYXRCYWRnZSBkaXJlY3RpdmUgZXg6IG1hdEJhZGdlPVwiaWNvblwiLlxuICogVGhlIGJhZGdlIGNvbnRlbnQgd2lsbCBiZSBvdmVycmlkZWQgYnkgdGhpcyBjdXJyZW50IGRpcmVjdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb01hdEJhZGdlSWNvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtNYXRJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29CYWRnZUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBzZXQgaWdvTWF0QmFkZ2VJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24odmFsdWUpLnN1YnNjcmliZSgoc3ZnT2JqKSA9PiB7XG4gICAgICB0aGlzLnN2ZyA9IHN2Z09iajtcbiAgICAgIHRoaXMudXBkYXRlU3ZnKCk7XG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBzdmc6IFNWR0VsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgc2V0IG1hdEJhZGdlSGlkZGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRkZW4gPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUhpZGRlbigpO1xuICB9XG4gIHByaXZhdGUgaGlkZGVuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IG1hdEJhZGdlRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlZCgpO1xuICB9XG4gIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgaWdvTWF0QmFkZ2VJbnZlcnNlQ29sb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmludmVyc2VDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlQ29sb3IoKTtcbiAgfVxuICBwcml2YXRlIGludmVyc2VDb2xvciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpZ29NYXRCYWRnZUluaGVyaXRDb2xvcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaW5oZXJpdENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVDb2xvcigpO1xuICB9XG4gIHByaXZhdGUgaW5oZXJpdENvbG9yID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGlnb01hdEJhZGdlQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuY29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUNvbG9yKCk7XG4gIH1cbiAgcHJpdmF0ZSBjb2xvcjtcblxuICBASW5wdXQoKVxuICBzZXQgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVDb2xvcigpO1xuICB9XG4gIHByaXZhdGUgYmFja2dyb3VuZENvbG9yO1xuXG4gIGdldCBiYWRnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtYmFkZ2UtY29udGVudCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcmlnaW5hbENvbG9yOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5XG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJhZGdlLnN0eWxlLmFsaWduSXRlbXMgPSAnY2VudGVyJztcbiAgICB0aGlzLmJhZGdlLnN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ2NlbnRlcic7XG5cbiAgICB0aGlzLnVwZGF0ZUhpZGRlbigpO1xuICAgIHRoaXMudXBkYXRlQ29sb3IoKTtcbiAgICB0aGlzLnVwZGF0ZVN2ZygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdmcoKSB7XG4gICAgaWYgKCF0aGlzLmJhZGdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYmFkZ2UuaW5uZXJIVE1MID0gJyc7XG4gICAgaWYgKHRoaXMuc3ZnKSB7XG4gICAgICB0aGlzLmJhZGdlLmFwcGVuZENoaWxkKHRoaXMuc3ZnKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSB1cGRhdGVDb2xvcigpIHtcbiAgICBpZiAoIXRoaXMuYmFkZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2xvciB8fCB0aGlzLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgdGhpcy5iYWRnZS5zdHlsZS5jb2xvciA9IHRoaXMuY29sb3IgPyB0aGlzLmNvbG9yIDogJyc7XG4gICAgICB0aGlzLmJhZGdlLnN0eWxlLmJhY2tncm91bmQgPSB0aGlzLmJhY2tncm91bmRDb2xvclxuICAgICAgICA/IHRoaXMuYmFja2dyb3VuZENvbG9yXG4gICAgICAgIDogJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmluaGVyaXRDb2xvcikge1xuICAgICAgaWYgKHRoaXMuaW52ZXJzZUNvbG9yKSB7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSAnY3VycmVudENvbG9yJztcbiAgICAgICAgdGhpcy5iYWRnZS5zdHlsZS5iYWNrZ3JvdW5kID0gJ25vbmUnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5iYWRnZS5zdHlsZS5jb2xvciA9ICcnO1xuICAgICAgICB0aGlzLmJhZGdlLnN0eWxlLmJhY2tncm91bmQgPSAnY3VycmVudENvbG9yJztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCF0aGlzLmluaGVyaXRDb2xvcikge1xuICAgICAgaWYgKHRoaXMuaW52ZXJzZUNvbG9yKSB7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSB3aW5kb3dcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmJhZGdlLCBudWxsKVxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuYmFja2dyb3VuZCA9ICdub25lJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSAnJztcbiAgICAgICAgdGhpcy5iYWRnZS5zdHlsZS5iYWNrZ3JvdW5kID0gJyc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMub3JpZ2luYWxDb2xvciA9IHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3I7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIaWRkZW4oKSB7XG4gICAgaWYgKCF0aGlzLmJhZGdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYmFkZ2Uuc3R5bGUuZGlzcGxheSA9IHRoaXMuaGlkZGVuID8gJ25vbmUnIDogJ2ZsZXgnO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEaXNhYmxlZCgpIHtcbiAgICBpZiAoIXRoaXMuYmFkZ2UgfHwgIXRoaXMuaW52ZXJzZUNvbG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9yaWdpbmFsQ29sb3IgPSB0aGlzLmJhZGdlLnN0eWxlLmNvbG9yO1xuICAgICAgdGhpcy5iYWRnZS5zdHlsZS5jb2xvciA9ICcjYjliOWI5JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iYWRnZS5zdHlsZS5jb2xvciA9IHRoaXMub3JpZ2luYWxDb2xvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UtaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9iYWRnZS1pY29uL2JhZGdlLWljb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXZEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBMERaO0lBekRwQixJQUNJLGVBQWUsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUc7aUhBQ2lHLEtBQUs7S0FDakgsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ08sSUFBSSxDQUFTO0lBRXJCLElBQ0ksY0FBYyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBYztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNPLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFekIsSUFDSSx1QkFBdUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ08sWUFBWSxHQUFHLEtBQUssQ0FBQztJQUU3QixJQUNJLHVCQUF1QixDQUFDLEtBQWM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRTdCLElBQ0ksZ0JBQWdCLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNPLEtBQUssQ0FBQztJQUVkLElBQ0ksMEJBQTBCLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNPLGVBQWUsQ0FBQztJQUV4QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTyxhQUFhLENBQVM7SUFFOUIsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBRyxDQUFDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFFM0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFDTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlO2dCQUNoRCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWU7Z0JBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzlCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTTtxQkFDNUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7cUJBQ2xDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQzt1R0FoSVUscUJBQXFCOzJGQUFyQixxQkFBcUIsZ1lBRnJCLENBQUMsYUFBYSxDQUFDOzsyRkFFZixxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDM0I7K0VBR0ssZUFBZTtzQkFEbEIsS0FBSztnQkFVRixjQUFjO3NCQURqQixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFRRix1QkFBdUI7c0JBRDFCLEtBQUs7Z0JBUUYsdUJBQXVCO3NCQUQxQixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFRRiwwQkFBMEI7c0JBRDdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBhbGxvdyB0byBhZGQgYW4gaWNvbiBpbnNpZGUgYSBtYXRCYWRnZS5cbiAqIEEgdmFsdWUgbXVzdCBiZSBzZXQgaW50byB0aGUgbWF0QmFkZ2UgZGlyZWN0aXZlIGV4OiBtYXRCYWRnZT1cImljb25cIi5cbiAqIFRoZSBiYWRnZSBjb250ZW50IHdpbGwgYmUgb3ZlcnJpZGVkIGJ5IHRoaXMgY3VycmVudCBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpZ29NYXRCYWRnZUljb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbTWF0SWNvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQmFkZ2VJY29uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2V0IGlnb01hdEJhZGdlSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5odG1sID0gYFxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiIHN0eWxlPVwiaGVpZ2h0OiAxNnB4OyB3aWR0aDogMTZweDsgZm9udC1zaXplOiAxNnB4O1wiPiR7dmFsdWV9PC9tYXQtaWNvbj5cbiAgICBgO1xuICAgIHRoaXMudXBkYXRlSHRtbCgpO1xuICB9XG4gIHByaXZhdGUgaHRtbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBtYXRCYWRnZUhpZGRlbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZGVuID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVIaWRkZW4oKTtcbiAgfVxuICBwcml2YXRlIGhpZGRlbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBtYXRCYWRnZURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuICBwcml2YXRlIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGlnb01hdEJhZGdlSW52ZXJzZUNvbG9yKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pbnZlcnNlQ29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUNvbG9yKCk7XG4gIH1cbiAgcHJpdmF0ZSBpbnZlcnNlQ29sb3IgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgaWdvTWF0QmFkZ2VJbmhlcml0Q29sb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmluaGVyaXRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlQ29sb3IoKTtcbiAgfVxuICBwcml2YXRlIGluaGVyaXRDb2xvciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpZ29NYXRCYWRnZUNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVDb2xvcigpO1xuICB9XG4gIHByaXZhdGUgY29sb3I7XG5cbiAgQElucHV0KClcbiAgc2V0IGlnb01hdEJhZGdlQmFja2dyb3VuZENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlQ29sb3IoKTtcbiAgfVxuICBwcml2YXRlIGJhY2tncm91bmRDb2xvcjtcblxuICBnZXQgYmFkZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LWJhZGdlLWNvbnRlbnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgb3JpZ2luYWxDb2xvcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5iYWRnZS5zdHlsZS5hbGlnbkl0ZW1zID0gJ2NlbnRlcic7XG4gICAgdGhpcy5iYWRnZS5zdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuXG4gICAgdGhpcy51cGRhdGVIaWRkZW4oKTtcbiAgICB0aGlzLnVwZGF0ZUNvbG9yKCk7XG4gICAgdGhpcy51cGRhdGVIdG1sKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUh0bWwoKSB7XG4gICAgaWYgKCF0aGlzLmJhZGdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYmFkZ2UuaW5uZXJIVE1MID0gJyc7XG4gICAgaWYgKHRoaXMuaHRtbCkge1xuICAgICAgdGhpcy5iYWRnZS5pbm5lckhUTUwgPSB0aGlzLmh0bWw7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgdXBkYXRlQ29sb3IoKSB7XG4gICAgaWYgKCF0aGlzLmJhZGdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29sb3IgfHwgdGhpcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSB0aGlzLmNvbG9yID8gdGhpcy5jb2xvciA6ICcnO1xuICAgICAgdGhpcy5iYWRnZS5zdHlsZS5iYWNrZ3JvdW5kID0gdGhpcy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgPyB0aGlzLmJhY2tncm91bmRDb2xvclxuICAgICAgICA6ICcnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbmhlcml0Q29sb3IpIHtcbiAgICAgIGlmICh0aGlzLmludmVyc2VDb2xvcikge1xuICAgICAgICB0aGlzLmJhZGdlLnN0eWxlLmNvbG9yID0gJ2N1cnJlbnRDb2xvcic7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuYmFja2dyb3VuZCA9ICdub25lJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSAnJztcbiAgICAgICAgdGhpcy5iYWRnZS5zdHlsZS5iYWNrZ3JvdW5kID0gJ2N1cnJlbnRDb2xvcic7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghdGhpcy5pbmhlcml0Q29sb3IpIHtcbiAgICAgIGlmICh0aGlzLmludmVyc2VDb2xvcikge1xuICAgICAgICB0aGlzLmJhZGdlLnN0eWxlLmNvbG9yID0gd2luZG93XG4gICAgICAgICAgLmdldENvbXB1dGVkU3R5bGUodGhpcy5iYWRnZSwgbnVsbClcbiAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpO1xuICAgICAgICB0aGlzLmJhZGdlLnN0eWxlLmJhY2tncm91bmQgPSAnbm9uZSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmJhZGdlLnN0eWxlLmNvbG9yID0gJyc7XG4gICAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuYmFja2dyb3VuZCA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9yaWdpbmFsQ29sb3IgPSB0aGlzLmJhZGdlLnN0eWxlLmNvbG9yO1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSGlkZGVuKCkge1xuICAgIGlmICghdGhpcy5iYWRnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmJhZGdlLnN0eWxlLmRpc3BsYXkgPSB0aGlzLmhpZGRlbiA/ICdub25lJyA6ICdmbGV4JztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGlzYWJsZWQoKSB7XG4gICAgaWYgKCF0aGlzLmJhZGdlIHx8ICF0aGlzLmludmVyc2VDb2xvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vcmlnaW5hbENvbG9yID0gdGhpcy5iYWRnZS5zdHlsZS5jb2xvcjtcbiAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSAnI2I5YjliOSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmFkZ2Uuc3R5bGUuY29sb3IgPSB0aGlzLm9yaWdpbmFsQ29sb3I7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -23,11 +23,11 @@ export class CollapsibleComponent {
23
23
  _collapsed = false;
24
24
  toggle = new EventEmitter();
25
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CollapsibleComponent, isStandalone: true, selector: "igo-collapsible", inputs: { title: "title", collapsed: "collapsed" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n svgIcon=\"chevron-up\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"content\"\n [collapsed]=\"collapsed\"\n (toggle)=\"collapsed = $event\"\n >\n </mat-icon>\n <span matListItemTitle>{{ title }}</span>\n</mat-list-item>\n\n<div #content>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mat-mdc-list-item-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }] });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CollapsibleComponent, isStandalone: true, selector: "igo-collapsible", inputs: { title: "title", collapsed: "collapsed" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"content\"\n [collapsed]=\"collapsed\"\n (toggle)=\"collapsed = $event\"\n >\n expand_less\n </mat-icon>\n <span matListItemTitle>{{ title }}</span>\n</mat-list-item>\n\n<div #content>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mat-mdc-list-item-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }] });
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CollapsibleComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'igo-collapsible', standalone: true, imports: [MatListModule, MatIconModule, CollapseDirective], template: "<mat-list-item>\n <mat-icon\n svgIcon=\"chevron-up\"\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"content\"\n [collapsed]=\"collapsed\"\n (toggle)=\"collapsed = $event\"\n >\n </mat-icon>\n <span matListItemTitle>{{ title }}</span>\n</mat-list-item>\n\n<div #content>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mat-mdc-list-item-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"] }]
30
+ args: [{ selector: 'igo-collapsible', standalone: true, imports: [MatListModule, MatIconModule, CollapseDirective], template: "<mat-list-item>\n <mat-icon\n class=\"igo-chevron\"\n matListItemIcon\n igoCollapse\n [target]=\"content\"\n [collapsed]=\"collapsed\"\n (toggle)=\"collapsed = $event\"\n >\n expand_less\n </mat-icon>\n <span matListItemTitle>{{ title }}</span>\n</mat-list-item>\n\n<div #content>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mat-mdc-list-item-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"] }]
31
31
  }], propDecorators: { title: [{
32
32
  type: Input
33
33
  }], collapsed: [{
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
35
35
  }], toggle: [{
36
36
  type: Output
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sbGFwc2libGUvY29sbGFwc2libGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sbGFwc2libGUvY29sbGFwc2libGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRXBCLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ08sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVqQixNQUFNLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7dUdBcEJsRCxvQkFBb0I7MkZBQXBCLG9CQUFvQiw4SkNiakMscVdBaUJBLG9NRE5ZLGFBQWEsbVdBQUUsYUFBYSxvTEFBRSxpQkFBaUI7OzJGQUU5QyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzs4QkFJdEQsS0FBSztzQkFEUixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSztnQkFVSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJy4vY29sbGFwc2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNvbGxhcHNpYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNpYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGFwc2libGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIENvbGxhcHNlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cbiAgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3RpdGxlID0gJyc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbGxhcHNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xuICB9XG4gIHNldCBjb2xsYXBzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdG9nZ2xlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8bWF0LWxpc3QtaXRlbT5cbiAgPG1hdC1pY29uXG4gICAgc3ZnSWNvbj1cImNoZXZyb24tdXBcIlxuICAgIGNsYXNzPVwiaWdvLWNoZXZyb25cIlxuICAgIG1hdExpc3RJdGVtSWNvblxuICAgIGlnb0NvbGxhcHNlXG4gICAgW3RhcmdldF09XCJjb250ZW50XCJcbiAgICBbY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXG4gICAgKHRvZ2dsZSk9XCJjb2xsYXBzZWQgPSAkZXZlbnRcIlxuICA+XG4gIDwvbWF0LWljb24+XG4gIDxzcGFuIG1hdExpc3RJdGVtVGl0bGU+e3sgdGl0bGUgfX08L3NwYW4+XG48L21hdC1saXN0LWl0ZW0+XG5cbjxkaXYgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sbGFwc2libGUvY29sbGFwc2libGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvY29sbGFwc2libGUvY29sbGFwc2libGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRXBCLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ08sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVqQixNQUFNLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7dUdBcEJsRCxvQkFBb0I7MkZBQXBCLG9CQUFvQiw4SkNiakMsMFZBaUJBLG9NRE5ZLGFBQWEsbVdBQUUsYUFBYSxvTEFBRSxpQkFBaUI7OzJGQUU5QyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzs4QkFJdEQsS0FBSztzQkFEUixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSztnQkFVSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJy4vY29sbGFwc2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNvbGxhcHNpYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNpYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGFwc2libGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIENvbGxhcHNlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cbiAgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3RpdGxlID0gJyc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbGxhcHNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xuICB9XG4gIHNldCBjb2xsYXBzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdG9nZ2xlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8bWF0LWxpc3QtaXRlbT5cbiAgPG1hdC1pY29uXG4gICAgY2xhc3M9XCJpZ28tY2hldnJvblwiXG4gICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgaWdvQ29sbGFwc2VcbiAgICBbdGFyZ2V0XT1cImNvbnRlbnRcIlxuICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCJcbiAgICAodG9nZ2xlKT1cImNvbGxhcHNlZCA9ICRldmVudFwiXG4gID5cbiAgICBleHBhbmRfbGVzc1xuICA8L21hdC1pY29uPlxuICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlPnt7IHRpdGxlIH19PC9zcGFuPlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48ZGl2ICNjb250ZW50PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==