@eui/components 17.0.3-snapshot-1703212038654 → 17.0.3-snapshot-1704334309393

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 (44) hide show
  1. package/docs/components/EuiAppSidebarMenuComponent.html +49 -1
  2. package/docs/components/EuiMenuComponent.html +49 -1
  3. package/docs/components/EuiMenuItemComponent.html +52 -4
  4. package/docs/components/EuiPageColumnComponent.html +91 -373
  5. package/docs/components/EuiPageColumnsComponent.html +87 -0
  6. package/docs/components/EuiSidebarMenuComponent.html +74 -327
  7. package/docs/components/EuiTimepickerComponent.html +26 -1
  8. package/docs/dependencies.html +2 -2
  9. package/docs/js/search/search_index.js +2 -2
  10. package/docs/miscellaneous/variables.html +21 -0
  11. package/esm2022/eui-menu/eui-menu-item.component.mjs +22 -19
  12. package/esm2022/eui-menu/eui-menu.component.mjs +20 -3
  13. package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +58 -58
  14. package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +19 -4
  15. package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +27 -45
  16. package/esm2022/eui-timepicker/eui-timepicker.component.mjs +21 -6
  17. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +11 -3
  18. package/esm2022/layout/eui-app/eui-app.component.mjs +1 -1
  19. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
  20. package/eui-menu/eui-menu-item.component.d.ts +11 -5
  21. package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
  22. package/eui-menu/eui-menu.component.d.ts +5 -1
  23. package/eui-menu/eui-menu.component.d.ts.map +1 -1
  24. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +24 -25
  25. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
  26. package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts +10 -1
  27. package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
  28. package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts +15 -17
  29. package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
  30. package/eui-timepicker/eui-timepicker.component.d.ts +5 -3
  31. package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
  32. package/fesm2022/eui-components-eui-menu.mjs +41 -21
  33. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-page.mjs +74 -60
  35. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-sidebar-menu.mjs +26 -44
  37. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-timepicker.mjs +20 -5
  39. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  40. package/fesm2022/eui-components-layout.mjs +13 -5
  41. package/fesm2022/eui-components-layout.mjs.map +1 -1
  42. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +5 -1
  43. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
  44. package/package.json +7 -7
@@ -1,6 +1,7 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Component, HostBinding, ViewEncapsulation, Input, Output, Directive, ContentChild, forwardRef, EventEmitter, HostListener, } from '@angular/core';
1
+ import { Component, HostBinding, ViewEncapsulation, Input, Output, Directive, ContentChild, forwardRef, EventEmitter, HostListener, Host, Optional, Inject, booleanAttribute, } from '@angular/core';
2
+ import { Subject, debounceTime, takeUntil } from 'rxjs';
3
3
  import { BaseDirective } from '@eui/components/shared';
4
+ import { EuiPageColumnsComponent } from '../eui-page-columns/eui-page-columns.component';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@eui/core";
6
7
  import * as i2 from "@angular/common";
@@ -8,42 +9,6 @@ import * as i3 from "@eui/components/eui-button";
8
9
  import * as i4 from "@eui/components/eui-icon";
9
10
  import * as i5 from "@angular/cdk/scrolling";
10
11
  export class EuiPageColumnComponent extends BaseDirective {
11
- get isCollapsible() {
12
- return this._isCollapsible;
13
- }
14
- set isCollapsible(value) {
15
- this._isCollapsible = coerceBooleanProperty(value);
16
- }
17
- get isCollapsed() {
18
- return this._isCollapsed;
19
- }
20
- set isCollapsed(value) {
21
- this._isCollapsed = coerceBooleanProperty(value);
22
- }
23
- get isHighlighted() {
24
- return this._isHighlighted;
25
- }
26
- set isHighlighted(value) {
27
- this._isHighlighted = coerceBooleanProperty(value);
28
- }
29
- get isCollapsedWithIcons() {
30
- return this._isCollapsedWithIcons;
31
- }
32
- set isCollapsedWithIcons(value) {
33
- this._isCollapsedWithIcons = coerceBooleanProperty(value);
34
- }
35
- get hasSidebarMenu() {
36
- return this._hasSidebarMenu;
37
- }
38
- set hasSidebarMenu(value) {
39
- this._hasSidebarMenu = coerceBooleanProperty(value);
40
- }
41
- get hasHeaderBodyShrinkable() {
42
- return this._hasHeaderBodyShrinkable;
43
- }
44
- set hasHeaderBodyShrinkable(value) {
45
- this._hasHeaderBodyShrinkable = coerceBooleanProperty(value);
46
- }
47
12
  get cssClasses() {
48
13
  return [
49
14
  super.getCssClasses('eui-page-column'),
@@ -58,9 +23,17 @@ export class EuiPageColumnComponent extends BaseDirective {
58
23
  .join(' ')
59
24
  .trim();
60
25
  }
61
- constructor(asService) {
26
+ constructor(pageColumnsParentInjected, asService) {
62
27
  super();
63
28
  this.asService = asService;
29
+ this.autoCollapseParentColumnsContainerWidth = null;
30
+ this.isCollapsible = false;
31
+ this.isCollapsed = false;
32
+ this.isHighlighted = false;
33
+ this.isCollapsedWithIcons = false;
34
+ this.hasSidebarMenu = false;
35
+ this.hasHeaderBodyShrinkable = false;
36
+ this.isParentColumnsObserverActive = false;
64
37
  this.collapse = new EventEmitter();
65
38
  this.headerCollapse = new EventEmitter();
66
39
  this.isActive = false;
@@ -68,12 +41,8 @@ export class EuiPageColumnComponent extends BaseDirective {
68
41
  this.currentOffset = 0;
69
42
  this.previousOffset = 0;
70
43
  this.treshHold = 50;
71
- this._isCollapsible = false;
72
- this._isCollapsed = false;
73
- this._isHighlighted = false;
74
- this._isCollapsedWithIcons = false; // contains ux-layout-sidebar-items
75
- this._hasSidebarMenu = false; // contains eui-sidebar-menu
76
- this._hasHeaderBodyShrinkable = false; // allow to track scroll event Up & Down
44
+ this.destroy$ = new Subject();
45
+ this.pageColumnsParent = pageColumnsParentInjected;
77
46
  }
78
47
  onBodyScoll(event) {
79
48
  if (this.hasHeaderBodyShrinkable && event.target) {
@@ -97,42 +66,73 @@ export class EuiPageColumnComponent extends BaseDirective {
97
66
  }
98
67
  ngOnInit() {
99
68
  this.euiSizeS = false; // Bypass size default
69
+ if (this.pageColumnsParent && this.isParentColumnsObserverActive && this.autoCollapseParentColumnsContainerWidth) {
70
+ this.pageColumnsParent.width.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe((parentWidth) => {
71
+ console.log(parentWidth);
72
+ if (parentWidth <= this.autoCollapseParentColumnsContainerWidth) {
73
+ this.isCollapsed = true;
74
+ this.collapse.emit(this.isCollapsed);
75
+ }
76
+ });
77
+ }
78
+ }
79
+ ngOnDestroy() {
80
+ this.destroy$.next(true);
81
+ this.destroy$.unsubscribe();
100
82
  }
101
83
  onToggle() {
102
84
  this.isCollapsed = !this.isCollapsed;
103
85
  this.collapse.emit(this.isCollapsed);
104
86
  }
105
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnComponent, deps: [{ token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
106
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: EuiPageColumnComponent, selector: "eui-page-column", inputs: { size: "size", label: "label", subLabel: "subLabel", isCollapsible: "isCollapsible", isCollapsed: "isCollapsed", isHighlighted: "isHighlighted", isCollapsedWithIcons: "isCollapsedWithIcons", hasSidebarMenu: "hasSidebarMenu", hasHeaderBodyShrinkable: "hasHeaderBodyShrinkable" }, outputs: { collapse: "collapse", headerCollapse: "headerCollapse" }, host: { listeners: { "window:scroll": "onBodyScoll($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "customHeaderBodyContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderBodyContentDirective), descendants: true }, { propertyName: "customHeaderLeftContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderLeftContentDirective), descendants: true }, { propertyName: "customHeaderRightContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderRightContentDirective), descendants: true }, { propertyName: "customHeaderCollapsedContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective), descendants: true }, { propertyName: "customFooterContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnFooterContentDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"label || subLabel || customHeaderLeftContent || customHeaderRightContent || isCollapsible\"\n class=\"eui-page-column__header\"\n [class.eui-page-column__header--with-icons]=\"isCollapsedWithIcons\">\n <div *ngIf=\"!customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <div *ngIf=\"label\" class=\"eui-page-column__header-left-content-label\">\n <ng-content *ngIf=\"customHeaderCollapsedContent\" select=\"eui-page-column-header-collapsed-content\"></ng-content>\n <ng-container *ngIf=\"!isCollapsedWithIcons\">\n {{ label }}\n </ng-container>\n </div>\n <div *ngIf=\"subLabel\" class=\"eui-page-column__header-left-content-sub-label\">\n {{ subLabel }}\n </div>\n </div>\n <div *ngIf=\"customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <ng-content select=\"eui-page-column-header-left-content\"></ng-content>\n </div>\n\n <div class=\"eui-page-column__header-right-content\">\n <span *ngIf=\"customHeaderRightContent\" class=\"eui-page-column__header-right-content-body\">\n <ng-content select=\"eui-page-column-header-right-content\"></ng-content>\n </span>\n <button\n *ngIf=\"isCollapsible\"\n euiButton\n euiBasicButton\n euiSecondary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"isCollapsed ? 'Expand' : 'Collapse'\"\n class=\"eui-page-column__header-toggle\">\n @if (isCollapsed) {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-forward\"></eui-icon-svg>\n }\n } @else {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-back\"></eui-icon-svg>\n }\n }\n </button>\n </div>\n</div>\n<!-- On new line to not interfere with expand/collapse & custom right content -->\n<div\n *ngIf=\"customHeaderBodyContent\"\n class=\"eui-page-column__header-left-content-body\"\n [class.eui-page-column__header-left-content-body--shrinked]=\"isHeaderBodyShrinked\">\n <ng-content select=\"eui-page-column-header-body\"></ng-content>\n</div>\n<div\n class=\"eui-page-column__body\"\n cdkScrollable\n tabindex=\"0\"\n [class.eui-page-column--collapsed-with-icons]=\"isCollapsedWithIcons\"\n (scroll)=\"hasHeaderBodyShrinkable ? onBodyScoll($event) : null\">\n <ng-content select=\"eui-page-column-body\"></ng-content>\n</div>\n<div *ngIf=\"customFooterContent\" class=\"eui-page-column__footer\" [class.eui-page-column__footer--highlighted]=\"isHighlighted\">\n <ng-content select=\"eui-page-column-footer\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
87
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnComponent, deps: [{ token: forwardRef(() => EuiPageColumnsComponent), host: true, optional: true }, { token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
88
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: EuiPageColumnComponent, selector: "eui-page-column", inputs: { size: "size", label: "label", subLabel: "subLabel", autoCollapseParentColumnsContainerWidth: "autoCollapseParentColumnsContainerWidth", isCollapsible: ["isCollapsible", "isCollapsible", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], isHighlighted: ["isHighlighted", "isHighlighted", booleanAttribute], isCollapsedWithIcons: ["isCollapsedWithIcons", "isCollapsedWithIcons", booleanAttribute], hasSidebarMenu: ["hasSidebarMenu", "hasSidebarMenu", booleanAttribute], hasHeaderBodyShrinkable: ["hasHeaderBodyShrinkable", "hasHeaderBodyShrinkable", booleanAttribute], isParentColumnsObserverActive: ["isParentColumnsObserverActive", "isParentColumnsObserverActive", booleanAttribute] }, outputs: { collapse: "collapse", headerCollapse: "headerCollapse" }, host: { listeners: { "window:scroll": "onBodyScoll($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "customHeaderBodyContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderBodyContentDirective), descendants: true }, { propertyName: "customHeaderLeftContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderLeftContentDirective), descendants: true }, { propertyName: "customHeaderRightContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderRightContentDirective), descendants: true }, { propertyName: "customHeaderCollapsedContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnHeaderCollapsedContentDirective), descendants: true }, { propertyName: "customFooterContent", first: true, predicate: i0.forwardRef(() => EuiPageColumnFooterContentDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"label || subLabel || customHeaderLeftContent || customHeaderRightContent || isCollapsible\"\n class=\"eui-page-column__header\"\n [class.eui-page-column__header--with-icons]=\"isCollapsedWithIcons\">\n <div *ngIf=\"!customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <div *ngIf=\"label\" class=\"eui-page-column__header-left-content-label\">\n <ng-content *ngIf=\"customHeaderCollapsedContent\" select=\"eui-page-column-header-collapsed-content\"></ng-content>\n <ng-container *ngIf=\"!isCollapsedWithIcons\">\n {{ label }}\n </ng-container>\n </div>\n <div *ngIf=\"subLabel\" class=\"eui-page-column__header-left-content-sub-label\">\n {{ subLabel }}\n </div>\n </div>\n <div *ngIf=\"customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <ng-content select=\"eui-page-column-header-left-content\"></ng-content>\n </div>\n\n <div class=\"eui-page-column__header-right-content\">\n <span *ngIf=\"customHeaderRightContent\" class=\"eui-page-column__header-right-content-body\">\n <ng-content select=\"eui-page-column-header-right-content\"></ng-content>\n </span>\n <button\n *ngIf=\"isCollapsible\"\n euiButton\n euiBasicButton\n euiSecondary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"isCollapsed ? 'Expand' : 'Collapse'\"\n class=\"eui-page-column__header-toggle\">\n @if (isCollapsed) {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-forward\"></eui-icon-svg>\n }\n } @else {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-back\"></eui-icon-svg>\n }\n }\n </button>\n </div>\n</div>\n<!-- On new line to not interfere with expand/collapse & custom right content -->\n<div\n *ngIf=\"customHeaderBodyContent\"\n class=\"eui-page-column__header-left-content-body\"\n [class.eui-page-column__header-left-content-body--shrinked]=\"isHeaderBodyShrinked\">\n <ng-content select=\"eui-page-column-header-body\"></ng-content>\n</div>\n<div\n class=\"eui-page-column__body\"\n cdkScrollable\n tabindex=\"0\"\n [class.eui-page-column--collapsed-with-icons]=\"isCollapsedWithIcons\"\n (scroll)=\"hasHeaderBodyShrinkable ? onBodyScoll($event) : null\">\n <ng-content select=\"eui-page-column-body\"></ng-content>\n</div>\n<div *ngIf=\"customFooterContent\" class=\"eui-page-column__footer\" [class.eui-page-column__footer--highlighted]=\"isHighlighted\">\n <ng-content select=\"eui-page-column-footer\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
107
89
  }
108
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnComponent, decorators: [{
109
91
  type: Component,
110
92
  args: [{ selector: 'eui-page-column', encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"label || subLabel || customHeaderLeftContent || customHeaderRightContent || isCollapsible\"\n class=\"eui-page-column__header\"\n [class.eui-page-column__header--with-icons]=\"isCollapsedWithIcons\">\n <div *ngIf=\"!customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <div *ngIf=\"label\" class=\"eui-page-column__header-left-content-label\">\n <ng-content *ngIf=\"customHeaderCollapsedContent\" select=\"eui-page-column-header-collapsed-content\"></ng-content>\n <ng-container *ngIf=\"!isCollapsedWithIcons\">\n {{ label }}\n </ng-container>\n </div>\n <div *ngIf=\"subLabel\" class=\"eui-page-column__header-left-content-sub-label\">\n {{ subLabel }}\n </div>\n </div>\n <div *ngIf=\"customHeaderLeftContent\" class=\"eui-page-column__header-left-content\">\n <ng-content select=\"eui-page-column-header-left-content\"></ng-content>\n </div>\n\n <div class=\"eui-page-column__header-right-content\">\n <span *ngIf=\"customHeaderRightContent\" class=\"eui-page-column__header-right-content-body\">\n <ng-content select=\"eui-page-column-header-right-content\"></ng-content>\n </span>\n <button\n *ngIf=\"isCollapsible\"\n euiButton\n euiBasicButton\n euiSecondary\n euiRounded\n euiIconButton\n euiSizeS\n type=\"button\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"isCollapsed ? 'Expand' : 'Collapse'\"\n class=\"eui-page-column__header-toggle\">\n @if (isCollapsed) {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-down\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-forward\"></eui-icon-svg>\n }\n } @else {\n @if ((asService.state$ | async).breakpoints.isMobile) {\n <eui-icon-svg icon=\"eui-chevron-up\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-chevron-back\"></eui-icon-svg>\n }\n }\n </button>\n </div>\n</div>\n<!-- On new line to not interfere with expand/collapse & custom right content -->\n<div\n *ngIf=\"customHeaderBodyContent\"\n class=\"eui-page-column__header-left-content-body\"\n [class.eui-page-column__header-left-content-body--shrinked]=\"isHeaderBodyShrinked\">\n <ng-content select=\"eui-page-column-header-body\"></ng-content>\n</div>\n<div\n class=\"eui-page-column__body\"\n cdkScrollable\n tabindex=\"0\"\n [class.eui-page-column--collapsed-with-icons]=\"isCollapsedWithIcons\"\n (scroll)=\"hasHeaderBodyShrinkable ? onBodyScoll($event) : null\">\n <ng-content select=\"eui-page-column-body\"></ng-content>\n</div>\n<div *ngIf=\"customFooterContent\" class=\"eui-page-column__footer\" [class.eui-page-column__footer--highlighted]=\"isHighlighted\">\n <ng-content select=\"eui-page-column-footer\"></ng-content>\n</div>\n" }]
111
- }], ctorParameters: () => [{ type: i1.EuiAppShellService }], propDecorators: { size: [{
93
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
94
+ type: Host
95
+ }, {
96
+ type: Optional
97
+ }, {
98
+ type: Inject,
99
+ args: [forwardRef(() => EuiPageColumnsComponent)]
100
+ }] }, { type: i1.EuiAppShellService }], propDecorators: { cssClasses: [{
101
+ type: HostBinding,
102
+ args: ['class']
103
+ }], size: [{
112
104
  type: Input
113
105
  }], label: [{
114
106
  type: Input
115
107
  }], subLabel: [{
116
108
  type: Input
117
- }], isCollapsible: [{
109
+ }], autoCollapseParentColumnsContainerWidth: [{
118
110
  type: Input
111
+ }], isCollapsible: [{
112
+ type: Input,
113
+ args: [{ transform: booleanAttribute }]
119
114
  }], isCollapsed: [{
120
- type: Input
115
+ type: Input,
116
+ args: [{ transform: booleanAttribute }]
121
117
  }], isHighlighted: [{
122
- type: Input
118
+ type: Input,
119
+ args: [{ transform: booleanAttribute }]
123
120
  }], isCollapsedWithIcons: [{
124
- type: Input
121
+ type: Input,
122
+ args: [{ transform: booleanAttribute }]
125
123
  }], hasSidebarMenu: [{
126
- type: Input
124
+ type: Input,
125
+ args: [{ transform: booleanAttribute }]
127
126
  }], hasHeaderBodyShrinkable: [{
128
- type: Input
127
+ type: Input,
128
+ args: [{ transform: booleanAttribute }]
129
+ }], isParentColumnsObserverActive: [{
130
+ type: Input,
131
+ args: [{ transform: booleanAttribute }]
129
132
  }], collapse: [{
130
133
  type: Output
131
134
  }], headerCollapse: [{
132
135
  type: Output
133
- }], cssClasses: [{
134
- type: HostBinding,
135
- args: ['class']
136
136
  }], customHeaderBodyContent: [{
137
137
  type: ContentChild,
138
138
  args: [forwardRef(() => EuiPageColumnHeaderBodyContentDirective)]
@@ -201,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
201
201
  type: Directive,
202
202
  args: [{ selector: 'eui-page-column-footer' }]
203
203
  }] });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2V1aS1wYWdlL2NvbXBvbmVudHMvZXVpLXBhZ2UtY29sdW1uL2V1aS1wYWdlLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbi9ldWktcGFnZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUVWLFlBQVksRUFDWixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBUXZELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBSXJELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFtQjtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtB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Qyx3Q0FBd0M7OzJGQUF4Qyx3Q0FBd0M7a0JBRHBELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0NBQXNDLEVBQUU7O0FBRy9ELE1BQU0sT0FBTyw0Q0FBNEM7aUlBQTVDLDRDQUE0QztxSEFBNUMsNENBQTRDOzsyRkFBNUMsNENBQTRDO2tCQUR4RCxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDBDQUEwQyxFQUFFOztBQUduRSxNQUFNLE9BQU8saUNBQWlDO2lJQUFqQyxpQ0FBaUM7cUhBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFEN0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRTs7QUFHL0MsTUFBTSxPQUFPLG1DQUFtQztpSUFBbkMsbUNBQW1DO3FIQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgT25Jbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1wYWdlLWNvbHVtbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1wYWdlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkNvbXBvbmVudCBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHNpemU7XG4gICAgQElucHV0KCkgbGFiZWw7XG4gICAgQElucHV0KCkgc3ViTGFiZWw7XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNDb2xsYXBzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2libGU7XG4gICAgfVxuICAgIHNldCBpc0NvbGxhcHNpYmxlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNDb2xsYXBzaWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNDb2xsYXBzZWQ7XG4gICAgfVxuICAgIHNldCBpc0NvbGxhcHNlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaXNIaWdobGlnaHRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSGlnaGxpZ2h0ZWQ7XG4gICAgfVxuICAgIHNldCBpc0hpZ2hsaWdodGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNIaWdobGlnaHRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzQ29sbGFwc2VkV2l0aEljb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNDb2xsYXBzZWRXaXRoSWNvbnM7XG4gICAgfVxuICAgIHNldCBpc0NvbGxhcHNlZFdpdGhJY29ucyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzQ29sbGFwc2VkV2l0aEljb25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzU2lkZWJhck1lbnUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNTaWRlYmFyTWVudTtcbiAgICB9XG4gICAgc2V0IGhhc1NpZGViYXJNZW51KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faGFzU2lkZWJhck1lbnUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNIZWFkZXJCb2R5U2hyaW5rYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0hlYWRlckJvZHlTaHJpbmthYmxlO1xuICAgIH1cbiAgICBzZXQgaGFzSGVhZGVyQm9keVNocmlua2FibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNIZWFkZXJCb2R5U2hyaW5rYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBPdXRwdXQoKSBjb2xsYXBzZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaGVhZGVyQ29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgIGlzSGVhZGVyQm9keVNocmlua2VkID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2V1aS1wYWdlLWNvbHVtbicpLFxuICAgICAgICAgICAgdGhpcy5zaXplICYmICF0aGlzLmlzQ29sbGFwc2VkID8gYGV1aS1wYWdlLWNvbHVtbi0tc2l6ZS0ke3RoaXMuc2l6ZX1gIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID8gJ2V1aS1wYWdlLWNvbHVtbi0tY29sbGFwc2VkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZFdpdGhJY29ucyA/ICdldWktcGFnZS1jb2x1bW5fX2hlYWRlci0td2l0aC1pY29ucycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNIaWdobGlnaHRlZCA/ICdldWktcGFnZS1jb2x1bW4tLWhpZ2hsaWdodGVkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZSA/ICdldWktcGFnZS1jb2x1bW4tLWFjdGl2ZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaGFzU2lkZWJhck1lbnUgPyAnZXVpLXBhZ2UtY29sdW1uLS1oYXMtc2lkZWJhci1tZW51JyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0hlYWRlckJvZHlTaHJpbmtlZCA/ICdldWktcGFnZS1jb2x1bW5fX2hlYWRlci0tc2hyaW5rZWQnIDogJycsXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVBhZ2VDb2x1bW5IZWFkZXJCb2R5Q29udGVudERpcmVjdGl2ZSkpXG4gICAgY3VzdG9tSGVhZGVyQm9keUNvbnRlbnQ6IFF1ZXJ5TGlzdDxFdWlQYWdlQ29sdW1uSGVhZGVyQm9keUNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVBhZ2VDb2x1bW5IZWFkZXJMZWZ0Q29udGVudERpcmVjdGl2ZSkpXG4gICAgY3VzdG9tSGVhZGVyTGVmdENvbnRlbnQ6IFF1ZXJ5TGlzdDxFdWlQYWdlQ29sdW1uSGVhZGVyTGVmdENvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVBhZ2VDb2x1bW5IZWFkZXJSaWdodENvbnRlbnREaXJlY3RpdmUpKVxuICAgIGN1c3RvbUhlYWRlclJpZ2h0Q29udGVudDogUXVlcnlMaXN0PEV1aVBhZ2VDb2x1bW5IZWFkZXJSaWdodENvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVBhZ2VDb2x1bW5IZWFkZXJDb2xsYXBzZWRDb250ZW50RGlyZWN0aXZlKSlcbiAgICBjdXN0b21IZWFkZXJDb2xsYXBzZWRDb250ZW50OiBRdWVyeUxpc3Q8RXVpUGFnZUNvbHVtbkhlYWRlckNvbGxhcHNlZENvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEV1aVBhZ2VDb2x1bW5Gb290ZXJDb250ZW50RGlyZWN0aXZlKSlcbiAgICBjdXN0b21Gb290ZXJDb250ZW50OiBRdWVyeUxpc3Q8RXVpUGFnZUNvbHVtbkZvb3RlckNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgY3VycmVudE9mZnNldCA9IDA7XG5cbiAgICBwcmV2aW91c09mZnNldCA9IDA7XG4gICAgdHJlc2hIb2xkID0gNTA7XG4gICAgcHJpdmF0ZSBfaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNIaWdobGlnaHRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzQ29sbGFwc2VkV2l0aEljb25zID0gZmFsc2U7IC8vIGNvbnRhaW5zIHV4LWxheW91dC1zaWRlYmFyLWl0ZW1zXG4gICAgcHJpdmF0ZSBfaGFzU2lkZWJhck1lbnUgPSBmYWxzZTsgLy8gY29udGFpbnMgZXVpLXNpZGViYXItbWVudVxuICAgIHByaXZhdGUgX2hhc0hlYWRlckJvZHlTaHJpbmthYmxlID0gZmFsc2U7IC8vIGFsbG93IHRvIHRyYWNrIHNjcm9sbCBldmVudCBVcCAmIERvd25cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhc1NlcnZpY2U6IEV1aUFwcFNoZWxsU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICAgIG9uQm9keVNjb2xsKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0hlYWRlckJvZHlTaHJpbmthYmxlICYmIGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50T2Zmc2V0ID0gZXZlbnQudGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIC8vIFNjcm9sbCBET1dOXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50T2Zmc2V0ID4gdGhpcy5wcmV2aW91c09mZnNldCAmJiB0aGlzLmN1cnJlbnRPZmZzZXQgPiB0aGlzLnRyZXNoSG9sZCkge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTY3JvbGwgRE9XTjonLCB0aGlzLmN1cnJlbnRPZmZzZXQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNIZWFkZXJCb2R5U2hyaW5rZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyQ29sbGFwc2UuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNjcm9sbCBVUFxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudE9mZnNldCA8PSB0aGlzLnByZXZpb3VzT2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ1Njcm9sbCBVUDonLCB0aGlzLmN1cnJlbnRPZmZzZXQpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRPZmZzZXQgPD0gdGhpcy50cmVzaEhvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hlYWRlckJvZHlTaHJpbmtlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlckNvbGxhcHNlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNPZmZzZXQgPSB0aGlzLmN1cnJlbnRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlTaXplUyA9IGZhbHNlOyAvLyBCeXBhc3Mgc2l6ZSBkZWZhdWx0XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMuY29sbGFwc2UuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4taGVhZGVyLWJvZHknIH0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkhlYWRlckJvZHlDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLXBhZ2UtY29sdW1uLWhlYWRlci1sZWZ0LWNvbnRlbnQnIH0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkhlYWRlckxlZnRDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLXBhZ2UtY29sdW1uLWhlYWRlci1yaWdodC1jb250ZW50JyB9KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2VDb2x1bW5IZWFkZXJSaWdodENvbnRlbnREaXJlY3RpdmUgeyB9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4taGVhZGVyLWNvbGxhcHNlZC1jb250ZW50JyB9KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2VDb2x1bW5IZWFkZXJDb2xsYXBzZWRDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLXBhZ2UtY29sdW1uLWJvZHknIH0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkJvZHlDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZXVpLXBhZ2UtY29sdW1uLWZvb3RlcicgfSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uRm9vdGVyQ29udGVudERpcmVjdGl2ZSB7IH1cbi8qIGVzbGludC1lbmFibGUgKi9cbiIsIjxkaXZcbiAgICAqbmdJZj1cImxhYmVsIHx8IHN1YkxhYmVsIHx8IGN1c3RvbUhlYWRlckxlZnRDb250ZW50IHx8IGN1c3RvbUhlYWRlclJpZ2h0Q29udGVudCB8fCBpc0NvbGxhcHNpYmxlXCJcbiAgICBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyXCJcbiAgICBbY2xhc3MuZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItLXdpdGgtaWNvbnNdPVwiaXNDb2xsYXBzZWRXaXRoSWNvbnNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWN1c3RvbUhlYWRlckxlZnRDb250ZW50XCIgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci1sZWZ0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci1sZWZ0LWNvbnRlbnQtbGFiZWxcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiY3VzdG9tSGVhZGVyQ29sbGFwc2VkQ29udGVudFwiIHNlbGVjdD1cImV1aS1wYWdlLWNvbHVtbi1oZWFkZXItY29sbGFwc2VkLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ29sbGFwc2VkV2l0aEljb25zXCI+XG4gICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInN1YkxhYmVsXCIgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci1sZWZ0LWNvbnRlbnQtc3ViLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyBzdWJMYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tSGVhZGVyTGVmdENvbnRlbnRcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLWxlZnQtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktcGFnZS1jb2x1bW4taGVhZGVyLWxlZnQtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci1yaWdodC1jb250ZW50XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiY3VzdG9tSGVhZGVyUmlnaHRDb250ZW50XCIgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci1yaWdodC1jb250ZW50LWJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1wYWdlLWNvbHVtbi1oZWFkZXItcmlnaHQtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImlzQ29sbGFwc2libGVcIlxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgZXVpU2Vjb25kYXJ5XG4gICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGUoKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzQ29sbGFwc2VkID8gJ0V4cGFuZCcgOiAnQ29sbGFwc2UnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItdG9nZ2xlXCI+XG4gICAgICAgICAgICBAaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgQGlmICgoYXNTZXJ2aWNlLnN0YXRlJCB8IGFzeW5jKS5icmVha3BvaW50cy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2hldnJvbi1kb3duXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWZvcndhcmRcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKChhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLmJyZWFrcG9pbnRzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLXVwXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWJhY2tcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48IS0tIE9uIG5ldyBsaW5lIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBleHBhbmQvY29sbGFwc2UgJiBjdXN0b20gcmlnaHQgY29udGVudCAtLT5cbjxkaXZcbiAgICAqbmdJZj1cImN1c3RvbUhlYWRlckJvZHlDb250ZW50XCJcbiAgICBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLWxlZnQtY29udGVudC1ib2R5XCJcbiAgICBbY2xhc3MuZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItbGVmdC1jb250ZW50LWJvZHktLXNocmlua2VkXT1cImlzSGVhZGVyQm9keVNocmlua2VkXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXBhZ2UtY29sdW1uLWhlYWRlci1ib2R5XCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2XG4gICAgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2JvZHlcIlxuICAgIGNka1Njcm9sbGFibGVcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIFtjbGFzcy5ldWktcGFnZS1jb2x1bW4tLWNvbGxhcHNlZC13aXRoLWljb25zXT1cImlzQ29sbGFwc2VkV2l0aEljb25zXCJcbiAgICAoc2Nyb2xsKT1cImhhc0hlYWRlckJvZHlTaHJpbmthYmxlID8gb25Cb2R5U2NvbGwoJGV2ZW50KSA6IG51bGxcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktcGFnZS1jb2x1bW4tYm9keVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImN1c3RvbUZvb3RlckNvbnRlbnRcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9fZm9vdGVyXCIgW2NsYXNzLmV1aS1wYWdlLWNvbHVtbl9fZm9vdGVyLS1oaWdobGlnaHRlZF09XCJpc0hpZ2hsaWdodGVkXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXBhZ2UtY29sdW1uLWZvb3RlclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2V1aS1wYWdlL2NvbXBvbmVudHMvZXVpLXBhZ2UtY29sdW1uL2V1aS1wYWdlLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbi9ldWktcGFnZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBRVYsWUFBWSxFQUNaLFlBQVksRUFDWixJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBWSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU96RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQUNyRCxJQUNJLFVBQVU7UUFDVixPQUFPO1lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDdkU7YUFDSSxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ1QsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQTRDRCxZQUMyRSx5QkFBeUIsRUFDekYsU0FBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFGRCxjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQXpDL0IsNENBQXVDLEdBQVcsSUFBSSxDQUFDO1FBRXhCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMsa0NBQTZCLEdBQUcsS0FBSyxDQUFDO1FBRXBFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQWlCN0Isa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUdQLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBT3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyx5QkFBb0QsQ0FBQztJQUNsRixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDNUMsY0FBYztZQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDakYsbURBQW1EO2dCQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQztZQUNELFlBQVk7WUFDWixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDM0MsaURBQWlEO2dCQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25DO2FBQ0o7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsc0JBQXNCO1FBQzdDLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyw2QkFBNkIsSUFBSSxJQUFJLENBQUMsdUNBQXVDLEVBQUU7WUFDOUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzdCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFtQixFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyx1Q0FBdUMsRUFBRTtvQkFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDeEM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7aUlBakhRLHNCQUFzQixrQkE0REMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3FIQTVEaEUsc0JBQXNCLG1PQXNCWCxnQkFBZ0IsK0NBQ2hCLGdCQUFnQixxREFDaEIsZ0JBQWdCLDBFQUNoQixnQkFBZ0Isd0RBQ2hCLGdCQUFnQixtRkFDaEIsZ0JBQWdCLHFHQUNoQixnQkFBZ0Isd1JBUUwsdUNBQXVDLCtHQUd2Qyx1Q0FBdUMsZ0hBR3ZDLHdDQUF3QyxvSEFHeEMsNENBQTRDLDJHQUc1QyxtQ0FBbUMsd0VDOUV0RSxnbkdBcUVBOzsyRkR2Q2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLGlCQUFpQixpQkFFWixpQkFBaUIsQ0FBQyxJQUFJOzswQkE4RGhDLElBQUk7OzBCQUFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzBFQTFEckUsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBZ0JYLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyx1Q0FBdUM7c0JBQS9DLEtBQUs7Z0JBRWtDLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG9CQUFvQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHVCQUF1QjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSw2QkFBNkI7c0JBQXBFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFNUCx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO2dCQUl2RSx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO2dCQUl2RSx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2dCQUl4RSw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO2dCQUk1RSxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2dCQW9CbkUsV0FBVztzQkFEVixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFpRDdDLG9CQUFvQjtBQUVwQixNQUFNLE9BQU8sdUNBQXVDO2lJQUF2Qyx1Q0FBdUM7cUhBQXZDLHVDQUF1Qzs7MkZBQXZDLHVDQUF1QztrQkFEbkQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTs7QUFHdEQsTUFBTSxPQUFPLHVDQUF1QztpSUFBdkMsdUNBQXVDO3FIQUF2Qyx1Q0FBdUM7OzJGQUF2Qyx1Q0FBdUM7a0JBRG5ELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUscUNBQXFDLEVBQUU7O0FBRzlELE1BQU0sT0FBTyx3Q0FBd0M7aUlBQXhDLHdDQUF3QztxSEFBeEMsd0NBQXdDOzsyRkFBeEMsd0NBQXdDO2tCQURwRCxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNDQUFzQyxFQUFFOztBQUcvRCxNQUFNLE9BQU8sNENBQTRDO2lJQUE1Qyw0Q0FBNEM7cUhBQTVDLDRDQUE0Qzs7MkZBQTVDLDRDQUE0QztrQkFEeEQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTs7QUFHbkUsTUFBTSxPQUFPLGlDQUFpQztpSUFBakMsaUNBQWlDO3FIQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBRy9DLE1BQU0sT0FBTyxtQ0FBbUM7aUlBQW5DLG1DQUFtQztxSEFBbkMsbUNBQW1DOzsyRkFBbkMsbUNBQW1DO2tCQUQvQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIE9uSW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgQ29udGVudENoaWxkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgUXVlcnlMaXN0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSG9zdCxcbiAgICBPcHRpb25hbCxcbiAgICBJbmplY3QsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2UsIGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpUGFnZUNvbHVtbnNDb21wb25lbnQgfSBmcm9tICcuLi9ldWktcGFnZS1jb2x1bW5zL2V1aS1wYWdlLWNvbHVtbnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktcGFnZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2VDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdldWktcGFnZS1jb2x1bW4nKSxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSAmJiAhdGhpcy5pc0NvbGxhcHNlZCA/IGBldWktcGFnZS1jb2x1bW4tLXNpemUtJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA/ICdldWktcGFnZS1jb2x1bW4tLWNvbGxhcHNlZCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWRXaXRoSWNvbnMgPyAnZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItLXdpdGgtaWNvbnMnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPyAnZXVpLXBhZ2UtY29sdW1uLS1oaWdobGlnaHRlZCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNBY3RpdmUgPyAnZXVpLXBhZ2UtY29sdW1uLS1hY3RpdmUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1NpZGViYXJNZW51ID8gJ2V1aS1wYWdlLWNvbHVtbi0taGFzLXNpZGViYXItbWVudScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNIZWFkZXJCb2R5U2hyaW5rZWQgPyAnZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItLXNocmlua2VkJyA6ICcnLFxuICAgICAgICBdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNpemU7XG4gICAgQElucHV0KCkgbGFiZWw7XG4gICAgQElucHV0KCkgc3ViTGFiZWw7XG4gICAgQElucHV0KCkgYXV0b0NvbGxhcHNlUGFyZW50Q29sdW1uc0NvbnRhaW5lcldpZHRoOiBudW1iZXIgPSBudWxsO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNIaWdobGlnaHRlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbGxhcHNlZFdpdGhJY29ucyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNTaWRlYmFyTWVudSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNIZWFkZXJCb2R5U2hyaW5rYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1BhcmVudENvbHVtbnNPYnNlcnZlckFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGNvbGxhcHNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBoZWFkZXJDb2xsYXBzZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBpc0FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgaXNIZWFkZXJCb2R5U2hyaW5rZWQgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlQYWdlQ29sdW1uSGVhZGVyQm9keUNvbnRlbnREaXJlY3RpdmUpKVxuICAgIGN1c3RvbUhlYWRlckJvZHlDb250ZW50OiBRdWVyeUxpc3Q8RXVpUGFnZUNvbHVtbkhlYWRlckJvZHlDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlQYWdlQ29sdW1uSGVhZGVyTGVmdENvbnRlbnREaXJlY3RpdmUpKVxuICAgIGN1c3RvbUhlYWRlckxlZnRDb250ZW50OiBRdWVyeUxpc3Q8RXVpUGFnZUNvbHVtbkhlYWRlckxlZnRDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlQYWdlQ29sdW1uSGVhZGVyUmlnaHRDb250ZW50RGlyZWN0aXZlKSlcbiAgICBjdXN0b21IZWFkZXJSaWdodENvbnRlbnQ6IFF1ZXJ5TGlzdDxFdWlQYWdlQ29sdW1uSGVhZGVyUmlnaHRDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlQYWdlQ29sdW1uSGVhZGVyQ29sbGFwc2VkQ29udGVudERpcmVjdGl2ZSkpXG4gICAgY3VzdG9tSGVhZGVyQ29sbGFwc2VkQ29udGVudDogUXVlcnlMaXN0PEV1aVBhZ2VDb2x1bW5IZWFkZXJDb2xsYXBzZWRDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlQYWdlQ29sdW1uRm9vdGVyQ29udGVudERpcmVjdGl2ZSkpXG4gICAgY3VzdG9tRm9vdGVyQ29udGVudDogUXVlcnlMaXN0PEV1aVBhZ2VDb2x1bW5Gb290ZXJDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIGN1cnJlbnRPZmZzZXQgPSAwO1xuXG4gICAgcHJldmlvdXNPZmZzZXQgPSAwO1xuICAgIHRyZXNoSG9sZCA9IDUwO1xuXG4gICAgcHJpdmF0ZSBwYWdlQ29sdW1uc1BhcmVudDogRXVpUGFnZUNvbHVtbnNDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gRXVpUGFnZUNvbHVtbnNDb21wb25lbnQpKSBwYWdlQ29sdW1uc1BhcmVudEluamVjdGVkLFxuICAgICAgICBwdWJsaWMgYXNTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucGFnZUNvbHVtbnNQYXJlbnQgPSBwYWdlQ29sdW1uc1BhcmVudEluamVjdGVkIGFzIEV1aVBhZ2VDb2x1bW5zQ29tcG9uZW50O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICAgIG9uQm9keVNjb2xsKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0hlYWRlckJvZHlTaHJpbmthYmxlICYmIGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50T2Zmc2V0ID0gZXZlbnQudGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIC8vIFNjcm9sbCBET1dOXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50T2Zmc2V0ID4gdGhpcy5wcmV2aW91c09mZnNldCAmJiB0aGlzLmN1cnJlbnRPZmZzZXQgPiB0aGlzLnRyZXNoSG9sZCkge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTY3JvbGwgRE9XTjonLCB0aGlzLmN1cnJlbnRPZmZzZXQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNIZWFkZXJCb2R5U2hyaW5rZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyQ29sbGFwc2UuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNjcm9sbCBVUFxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudE9mZnNldCA8PSB0aGlzLnByZXZpb3VzT2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ1Njcm9sbCBVUDonLCB0aGlzLmN1cnJlbnRPZmZzZXQpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRPZmZzZXQgPD0gdGhpcy50cmVzaEhvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0hlYWRlckJvZHlTaHJpbmtlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlckNvbGxhcHNlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNPZmZzZXQgPSB0aGlzLmN1cnJlbnRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlTaXplUyA9IGZhbHNlOyAvLyBCeXBhc3Mgc2l6ZSBkZWZhdWx0XG4gICAgICAgIGlmICh0aGlzLnBhZ2VDb2x1bW5zUGFyZW50ICYmIHRoaXMuaXNQYXJlbnRDb2x1bW5zT2JzZXJ2ZXJBY3RpdmUgJiYgdGhpcy5hdXRvQ29sbGFwc2VQYXJlbnRDb2x1bW5zQ29udGFpbmVyV2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNvbHVtbnNQYXJlbnQud2lkdGgucGlwZShcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApLnN1YnNjcmliZSgocGFyZW50V2lkdGg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhcmVudFdpZHRoKTtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50V2lkdGggPD0gdGhpcy5hdXRvQ29sbGFwc2VQYXJlbnRDb2x1bW5zQ29udGFpbmVyV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2UuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5jb2xsYXBzZS5lbWl0KHRoaXMuaXNDb2xsYXBzZWQpO1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aS1wYWdlLWNvbHVtbi1oZWFkZXItYm9keScgfSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uSGVhZGVyQm9keUNvbnRlbnREaXJlY3RpdmUgeyB9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4taGVhZGVyLWxlZnQtY29udGVudCcgfSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uSGVhZGVyTGVmdENvbnRlbnREaXJlY3RpdmUgeyB9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4taGVhZGVyLXJpZ2h0LWNvbnRlbnQnIH0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkhlYWRlclJpZ2h0Q29udGVudERpcmVjdGl2ZSB7IH1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aS1wYWdlLWNvbHVtbi1oZWFkZXItY29sbGFwc2VkLWNvbnRlbnQnIH0pXG5leHBvcnQgY2xhc3MgRXVpUGFnZUNvbHVtbkhlYWRlckNvbGxhcHNlZENvbnRlbnREaXJlY3RpdmUgeyB9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4tYm9keScgfSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uQm9keUNvbnRlbnREaXJlY3RpdmUgeyB9XG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWktcGFnZS1jb2x1bW4tZm9vdGVyJyB9KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2VDb2x1bW5Gb290ZXJDb250ZW50RGlyZWN0aXZlIHsgfVxuLyogZXNsaW50LWVuYWJsZSAqL1xuIiwiPGRpdlxuICAgICpuZ0lmPVwibGFiZWwgfHwgc3ViTGFiZWwgfHwgY3VzdG9tSGVhZGVyTGVmdENvbnRlbnQgfHwgY3VzdG9tSGVhZGVyUmlnaHRDb250ZW50IHx8IGlzQ29sbGFwc2libGVcIlxuICAgIGNsYXNzPVwiZXVpLXBhZ2UtY29sdW1uX19oZWFkZXJcIlxuICAgIFtjbGFzcy5ldWktcGFnZS1jb2x1bW5fX2hlYWRlci0td2l0aC1pY29uc109XCJpc0NvbGxhcHNlZFdpdGhJY29uc1wiPlxuICAgIDxkaXYgKm5nSWY9XCIhY3VzdG9tSGVhZGVyTGVmdENvbnRlbnRcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLWxlZnQtY29udGVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLWxlZnQtY29udGVudC1sYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJjdXN0b21IZWFkZXJDb2xsYXBzZWRDb250ZW50XCIgc2VsZWN0PVwiZXVpLXBhZ2UtY29sdW1uLWhlYWRlci1jb2xsYXBzZWQtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDb2xsYXBzZWRXaXRoSWNvbnNcIj5cbiAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic3ViTGFiZWxcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLWxlZnQtY29udGVudC1zdWItbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IHN1YkxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjdXN0b21IZWFkZXJMZWZ0Q29udGVudFwiIGNsYXNzPVwiZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItbGVmdC1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1wYWdlLWNvbHVtbi1oZWFkZXItbGVmdC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLXJpZ2h0LWNvbnRlbnRcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXN0b21IZWFkZXJSaWdodENvbnRlbnRcIiBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9faGVhZGVyLXJpZ2h0LWNvbnRlbnQtYm9keVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZXVpLXBhZ2UtY29sdW1uLWhlYWRlci1yaWdodC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaXNDb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICBldWlTZWNvbmRhcnlcbiAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZSgpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNDb2xsYXBzZWQgPyAnRXhwYW5kJyA6ICdDb2xsYXBzZSdcIlxuICAgICAgICAgICAgY2xhc3M9XCJldWktcGFnZS1jb2x1bW5fX2hlYWRlci10b2dnbGVcIj5cbiAgICAgICAgICAgIEBpZiAoaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgICAgICBAaWYgKChhc1NlcnZpY2Uuc3RhdGUkIHwgYXN5bmMpLmJyZWFrcG9pbnRzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWRvd25cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tZm9yd2FyZFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoKGFzU2VydmljZS5zdGF0ZSQgfCBhc3luYykuYnJlYWtwb2ludHMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tYmFja1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjwhLS0gT24gbmV3IGxpbmUgdG8gbm90IGludGVyZmVyZSB3aXRoIGV4cGFuZC9jb2xsYXBzZSAmIGN1c3RvbSByaWdodCBjb250ZW50IC0tPlxuPGRpdlxuICAgICpuZ0lmPVwiY3VzdG9tSGVhZGVyQm9keUNvbnRlbnRcIlxuICAgIGNsYXNzPVwiZXVpLXBhZ2UtY29sdW1uX19oZWFkZXItbGVmdC1jb250ZW50LWJvZHlcIlxuICAgIFtjbGFzcy5ldWktcGFnZS1jb2x1bW5fX2hlYWRlci1sZWZ0LWNvbnRlbnQtYm9keS0tc2hyaW5rZWRdPVwiaXNIZWFkZXJCb2R5U2hyaW5rZWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktcGFnZS1jb2x1bW4taGVhZGVyLWJvZHlcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImV1aS1wYWdlLWNvbHVtbl9fYm9keVwiXG4gICAgY2RrU2Nyb2xsYWJsZVxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW2NsYXNzLmV1aS1wYWdlLWNvbHVtbi0tY29sbGFwc2VkLXdpdGgtaWNvbnNdPVwiaXNDb2xsYXBzZWRXaXRoSWNvbnNcIlxuICAgIChzY3JvbGwpPVwiaGFzSGVhZGVyQm9keVNocmlua2FibGUgPyBvbkJvZHlTY29sbCgkZXZlbnQpIDogbnVsbFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aS1wYWdlLWNvbHVtbi1ib2R5XCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiY3VzdG9tRm9vdGVyQ29udGVudFwiIGNsYXNzPVwiZXVpLXBhZ2UtY29sdW1uX19mb290ZXJcIiBbY2xhc3MuZXVpLXBhZ2UtY29sdW1uX19mb290ZXItLWhpZ2hsaWdodGVkXT1cImlzSGlnaGxpZ2h0ZWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldWktcGFnZS1jb2x1bW4tZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,16 +1,31 @@
1
1
  import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class EuiPageColumnsComponent {
4
- constructor() {
5
+ constructor(host, zone) {
6
+ this.host = host;
7
+ this.zone = zone;
5
8
  this.class = 'eui-page-columns';
9
+ this.width = new Subject;
6
10
  }
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ ngOnInit() {
12
+ this.observer = new ResizeObserver(entries => {
13
+ this.zone.run(() => {
14
+ this.width.next(entries[0].contentRect.width);
15
+ });
16
+ });
17
+ this.observer.observe(this.host.nativeElement);
18
+ }
19
+ ngOnDestroy() {
20
+ this.observer.unobserve(this.host.nativeElement);
21
+ }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
8
23
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: EuiPageColumnsComponent, selector: "eui-page-columns", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
9
24
  }
10
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiPageColumnsComponent, decorators: [{
11
26
  type: Component,
12
27
  args: [{ selector: 'eui-page-columns', encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n" }]
13
- }], propDecorators: { class: [{
28
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { class: [{
14
29
  type: HostBinding
15
30
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbnMvZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbnMvZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1tQixVQUFLLEdBQUcsa0JBQWtCLENBQUM7S0FDN0M7aUlBRlksdUJBQXVCO3FIQUF2Qix1QkFBdUIseUdDUHBDLDZCQUNBOzsyRkRNYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUk7OEJBR3RCLEtBQUs7c0JBQW5CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1wYWdlLWNvbHVtbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktcGFnZS1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uc0NvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCkgY2xhc3MgPSAnZXVpLXBhZ2UtY29sdW1ucyc7XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbnMvZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9ldWktcGFnZS9jb21wb25lbnRzL2V1aS1wYWdlLWNvbHVtbnMvZXVpLXBhZ2UtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVL0IsTUFBTSxPQUFPLHVCQUF1QjtJQU1oQyxZQUFvQixJQUFnQixFQUFVLElBQVk7UUFBdEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFMM0MsVUFBSyxHQUFHLGtCQUFrQixDQUFDO1FBRW5DLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUdrQyxDQUFDO0lBRTlELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztpSUFuQlEsdUJBQXVCO3FIQUF2Qix1QkFBdUIseUdDWHBDLDZCQUNBOzsyRkRVYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUk7b0dBR3RCLEtBQUs7c0JBQW5CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmRlY2xhcmUgdmFyIFJlc2l6ZU9ic2VydmVyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1wYWdlLWNvbHVtbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktcGFnZS1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdlQ29sdW1uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoKSBjbGFzcyA9ICdldWktcGFnZS1jb2x1bW5zJztcblxuICAgIHB1YmxpYyB3aWR0aCA9IG5ldyBTdWJqZWN0O1xuICAgIHByaXZhdGUgb2JzZXJ2ZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsIHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gICAgbmdPbkluaXQoKTp2b2lkIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMud2lkdGgubmV4dChlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTp2b2lkIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,5 +1,4 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Component, HostBinding, ChangeDetectionStrategy, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
1
+ import { Component, HostBinding, ChangeDetectionStrategy, Input, Output, EventEmitter, ViewEncapsulation, booleanAttribute } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@eui/components/eui-menu";
5
4
  export class EuiSidebarMenuComponent {
@@ -8,46 +7,18 @@ export class EuiSidebarMenuComponent {
8
7
  // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
9
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
9
  this.items = [];
10
+ this.hasCollapsedInitials = false;
11
+ this.isCollapsed = false;
12
+ this.hasFilter = false;
13
+ this.hasIcons = false;
14
+ this.hasTooltip = false;
15
+ this.expandAllItems = false;
16
+ this.hasLowercaseItems = false;
11
17
  this.style = '';
12
18
  // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
13
19
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @angular-eslint/no-output-on-prefix
14
20
  this.menuClick = new EventEmitter();
15
21
  this.itemClick = new EventEmitter();
16
- this._isCollapsed = false;
17
- this._hasFilter = false;
18
- this._hasIcons = false;
19
- this._hasTooltip = false;
20
- this._expandAllItems = false;
21
- }
22
- get isCollapsed() {
23
- return this._isCollapsed;
24
- }
25
- set isCollapsed(value) {
26
- this._isCollapsed = coerceBooleanProperty(value);
27
- }
28
- get hasFilter() {
29
- return this._hasFilter;
30
- }
31
- set hasFilter(value) {
32
- this._hasFilter = coerceBooleanProperty(value);
33
- }
34
- get hasIcons() {
35
- return this._hasIcons;
36
- }
37
- set hasIcons(value) {
38
- this._hasIcons = coerceBooleanProperty(value);
39
- }
40
- get hasTooltip() {
41
- return this._hasTooltip;
42
- }
43
- set hasTooltip(value) {
44
- this._hasTooltip = coerceBooleanProperty(value);
45
- }
46
- get expandAllItems() {
47
- return this._expandAllItems;
48
- }
49
- set expandAllItems(value) {
50
- this._expandAllItems = coerceBooleanProperty(value);
51
22
  }
52
23
  onMenuItemClicked(item) {
53
24
  this.itemClick.emit(item);
@@ -63,26 +34,37 @@ export class EuiSidebarMenuComponent {
63
34
  this.isCollapsed = event;
64
35
  }
65
36
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiSidebarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", isCollapsed: "isCollapsed", hasFilter: "hasFilter", hasIcons: "hasIcons", hasTooltip: "hasTooltip", expandAllItems: "expandAllItems", style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "isCollapsed", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem"], outputs: ["isClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
37
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.6", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasLowercaseItems"], outputs: ["isClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
67
38
  }
68
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EuiSidebarMenuComponent, decorators: [{
69
40
  type: Component,
70
- args: [{ selector: 'eui-sidebar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"] }]
41
+ args: [{ selector: 'eui-sidebar-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"] }]
71
42
  }], propDecorators: { string: [{
72
43
  type: HostBinding,
73
44
  args: ['class']
74
45
  }], items: [{
75
46
  type: Input
47
+ }], hasCollapsedInitials: [{
48
+ type: Input,
49
+ args: [{ transform: booleanAttribute }]
76
50
  }], isCollapsed: [{
77
- type: Input
51
+ type: Input,
52
+ args: [{ transform: booleanAttribute }]
78
53
  }], hasFilter: [{
79
- type: Input
54
+ type: Input,
55
+ args: [{ transform: booleanAttribute }]
80
56
  }], hasIcons: [{
81
- type: Input
57
+ type: Input,
58
+ args: [{ transform: booleanAttribute }]
82
59
  }], hasTooltip: [{
83
- type: Input
60
+ type: Input,
61
+ args: [{ transform: booleanAttribute }]
84
62
  }], expandAllItems: [{
85
- type: Input
63
+ type: Input,
64
+ args: [{ transform: booleanAttribute }]
65
+ }], hasLowercaseItems: [{
66
+ type: Input,
67
+ args: [{ transform: booleanAttribute }]
86
68
  }], style: [{
87
69
  type: Input
88
70
  }], fragmentId: [{
@@ -96,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
96
78
  }], itemClick: [{
97
79
  type: Output
98
80
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNpZGViYXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2lkZWJhci1tZW51L2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXNpZGViYXItbWVudS9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVWhJLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRMEIsV0FBTSxHQUFHLGtCQUFrQixDQUFDO1FBRWxELG1IQUFtSDtRQUNuSCw4REFBOEQ7UUFDckQsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQW9DbEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUlwQixtSEFBbUg7UUFDbkgsbUdBQW1HO1FBQ3pGLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxjQUFTLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0tBaUJuQztJQWhFRyxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQW1CO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBbUI7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQ0ksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBbUI7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBZU0saUJBQWlCLENBQUMsSUFBaUI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDdkQsYUFBYSxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDdkQsZUFBZSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztpSUFyRVEsdUJBQXVCO3FIQUF2Qix1QkFBdUIsNmJDWHBDLG9xQkFnQkE7OzJGRExhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsT0FBTyxpQkFDakMsaUJBQWlCLENBQUMsSUFBSTs4QkFHZixNQUFNO3NCQUEzQixXQUFXO3VCQUFDLE9BQU87Z0JBSVgsS0FBSztzQkFBYixLQUFLO2dCQUVGLFdBQVc7c0JBRGQsS0FBSztnQkFRRixTQUFTO3NCQURaLEtBQUs7Z0JBUUYsUUFBUTtzQkFEWCxLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFRRixjQUFjO3NCQURqQixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNpZGViYXItbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL19zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpU2lkZWJhck1lbnVDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLXNpZGViYXItbWVudSc7XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0NvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2VkO1xuICAgIH1cbiAgICBzZXQgaXNDb2xsYXBzZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0NvbGxhcHNlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0ZpbHRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0ZpbHRlcjtcbiAgICB9XG4gICAgc2V0IGhhc0ZpbHRlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2hhc0ZpbHRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc0ljb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzSWNvbnM7XG4gICAgfVxuICAgIHNldCBoYXNJY29ucyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2hhc0ljb25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1Rvb2x0aXA7XG4gICAgfVxuICAgIHNldCBoYXNUb29sdGlwKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faGFzVG9vbHRpcCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV4cGFuZEFsbEl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kQWxsSXRlbXM7XG4gICAgfVxuICAgIHNldCBleHBhbmRBbGxJdGVtcyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V4cGFuZEFsbEl0ZW1zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCkgc3R5bGUgPSAnJztcbiAgICBASW5wdXQoKSBmcmFnbWVudElkOiBzdHJpbmc7IC8vIEFuY2hvciB0byBuYXZpZ2F0ZSB0byAoc2VlIGV1aS1tZW51KVxuICAgIEBJbnB1dCgpIHNlYXJjaEZpbHRlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZXJuYWxUYXJnZXQ6IHN0cmluZztcbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwcml2YXRlIF9pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2hhc0ZpbHRlciA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2hhc0ljb25zID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaGFzVG9vbHRpcCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2V4cGFuZEFsbEl0ZW1zID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgb25NZW51SXRlbUNsaWNrZWQoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgb25NZW51Q2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBvbk1lbnVDb2xsYXBzZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gZXZlbnQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV1aS1zaWRlYmFyLW1lbnVfX2NvbnRhaW5lclwiIFtjbGFzcy5ldWktc2lkZWJhci1tZW51X19jb250YWluZXItLWNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiIFtzdHlsZV09XCJzdHlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktc2lkZWJhci1tZW51X19jb250ZW50XCI+XG4gICAgICAgIDxldWktbWVudVxuICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgIFtoYXNGaWx0ZXJdPVwiaGFzRmlsdGVyXCJcbiAgICAgICAgICAgIFtoYXNJY29uc109XCJoYXNJY29uc1wiXG4gICAgICAgICAgICBbaGFzVG9vbHRpcF09XCJoYXNUb29sdGlwXCJcbiAgICAgICAgICAgIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICBbZXhwYW5kQWxsSXRlbXNdPVwiZXhwYW5kQWxsSXRlbXNcIlxuICAgICAgICAgICAgW2ZyYWdtZW50SWRdPVwiZnJhZ21lbnRJZFwiXG4gICAgICAgICAgICBbc2VhcmNoRmlsdGVyTGFiZWxdPVwic2VhcmNoRmlsdGVyTGFiZWxcIlxuICAgICAgICAgICAgKGlzQ2xpY2spPVwib25NZW51Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25NZW51SXRlbUNsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L2V1aS1tZW51PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNpZGViYXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2lkZWJhci1tZW51L2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXNpZGViYXItbWVudS9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVbEosTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVEwQixXQUFNLEdBQUcsa0JBQWtCLENBQUM7UUFFbEQsbUhBQW1IO1FBQ25ILDhEQUE4RDtRQUNyRCxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBRWEseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUV6RCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBSXBCLG1IQUFtSDtRQUNuSCxtR0FBbUc7UUFDekYsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xELGNBQVMsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWlCdkU7SUFmVSxpQkFBaUIsQ0FBQyxJQUFpQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUN2RCxhQUFhLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUN2RCxlQUFlLENBQUMsS0FBVTtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO2lJQXRDUSx1QkFBdUI7cUhBQXZCLHVCQUF1QixpSUFPWixnQkFBZ0IsK0NBQ2hCLGdCQUFnQix5Q0FDaEIsZ0JBQWdCLHNDQUNoQixnQkFBZ0IsNENBQ2hCLGdCQUFnQix3REFDaEIsZ0JBQWdCLGlFQUNoQixnQkFBZ0IsZ1FDdkJ4Qyx3eEJBa0JBOzsyRkRSYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE9BQU8saUJBQ2pDLGlCQUFpQixDQUFDLElBQUk7OEJBR2YsTUFBTTtzQkFBM0IsV0FBVzt1QkFBQyxPQUFPO2dCQUlYLEtBQUs7c0JBQWIsS0FBSztnQkFFa0Msb0JBQW9CO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsY0FBYztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlNZW51SXRlbSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNpZGViYXItbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL19zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpU2lkZWJhck1lbnVDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLXNpZGViYXItbWVudSc7XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNDb2xsYXBzZWRJbml0aWFscyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNGaWx0ZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzSWNvbnMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzVG9vbHRpcCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBleHBhbmRBbGxJdGVtcyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc3R5bGUgPSAnJztcbiAgICBASW5wdXQoKSBmcmFnbWVudElkOiBzdHJpbmc7IC8vIEFuY2hvciB0byBuYXZpZ2F0ZSB0byAoc2VlIGV1aS1tZW51KVxuICAgIEBJbnB1dCgpIHNlYXJjaEZpbHRlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZXJuYWxUYXJnZXQ6IHN0cmluZztcbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBvbk1lbnVJdGVtQ2xpY2tlZChpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBvbk1lbnVDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51Q2xpY2suZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIG9uTWVudUNvbGxhcHNlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBldmVudDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXVpLXNpZGViYXItbWVudV9fY29udGFpbmVyXCIgW2NsYXNzLmV1aS1zaWRlYmFyLW1lbnVfX2NvbnRhaW5lci0tY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCIgW3N0eWxlXT1cInN0eWxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1zaWRlYmFyLW1lbnVfX2NvbnRlbnRcIj5cbiAgICAgICAgPGV1aS1tZW51XG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgW2hhc0ZpbHRlcl09XCJoYXNGaWx0ZXJcIlxuICAgICAgICAgICAgW2hhc0ljb25zXT1cImhhc0ljb25zXCJcbiAgICAgICAgICAgIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIlxuICAgICAgICAgICAgW2lzQ29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgIFtoYXNDb2xsYXBzZWRJbml0aWFsc109XCJoYXNDb2xsYXBzZWRJbml0aWFsc1wiXG4gICAgICAgICAgICBbaGFzTG93ZXJjYXNlSXRlbXNdPVwiaGFzTG93ZXJjYXNlSXRlbXNcIlxuICAgICAgICAgICAgW2V4cGFuZEFsbEl0ZW1zXT1cImV4cGFuZEFsbEl0ZW1zXCJcbiAgICAgICAgICAgIFtmcmFnbWVudElkXT1cImZyYWdtZW50SWRcIlxuICAgICAgICAgICAgW3NlYXJjaEZpbHRlckxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgIChpc0NsaWNrKT1cIm9uTWVudUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uTWVudUl0ZW1DbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPC9ldWktbWVudT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19