ontimize-web-ngx 15.5.3 → 15.5.5

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 (30) hide show
  1. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +19 -3
  2. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +17 -4
  3. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +7 -5
  4. package/esm2020/lib/components/o-form-data-component.class.mjs +2 -2
  5. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +2 -2
  6. package/esm2020/lib/components/table/column/o-table-column.component.mjs +7 -3
  7. package/esm2020/lib/components/table/o-table.component.mjs +86 -9
  8. package/esm2020/lib/layouts/app-layout/o-app-layout-base.class.mjs +1 -1
  9. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +26 -9
  10. package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
  11. package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
  12. package/esm2020/lib/types/table/index.mjs +2 -1
  13. package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
  14. package/esm2020/lib/util/codes.mjs +3 -1
  15. package/fesm2015/ontimize-web-ngx.mjs +176 -28
  16. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  17. package/fesm2020/ontimize-web-ngx.mjs +169 -28
  18. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  19. package/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.d.ts +3 -0
  20. package/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.d.ts +1 -0
  21. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +2 -1
  22. package/lib/components/table/o-table.component.d.ts +10 -2
  23. package/lib/layouts/app-layout/o-app-layout-base.class.d.ts +1 -1
  24. package/lib/layouts/app-layout/o-app-layout.component.d.ts +7 -3
  25. package/lib/services/state/o-table-component-state.class.d.ts +3 -0
  26. package/lib/types/table/index.d.ts +1 -0
  27. package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
  28. package/lib/util/codes.d.ts +3 -0
  29. package/package.json +1 -1
  30. package/theme.scss +26 -26
@@ -1,3 +1,3 @@
1
1
  export class OAppLayoutBase {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtbGF5b3V0LWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsY0FBYztDQUVuQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPQXBwTGF5b3V0QmFzZXtcbiAgYWJzdHJhY3QgdXNlRmxhZ0ljb25zOiBib29sZWFuO0Zcbn0iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtbGF5b3V0LWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsY0FBYztDQUduQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPQXBwTGF5b3V0QmFzZXtcbiAgYWJzdHJhY3QgdXNlRmxhZ0ljb25zOiBib29sZWFuO1xuICBhYnN0cmFjdCB0b29sdGlwRGlzcGxheU1vZGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ContentChild, EventEmitter, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
2
+ import { Component, ContentChild, EventEmitter, forwardRef, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { OAppHeaderBase } from '../../components/app-header/o-app-header-base.class';
4
+ import { OAppSidenavBase } from '../../components/app-sidenav/o-app-sidenav-base.class';
3
5
  import { OUserInfoConfigurationDirective } from '../../components/user-info/user-info-configuration/o-user-info-configuration.directive';
4
6
  import { BooleanInputConverter } from '../../decorators/input-converter';
5
7
  import { Codes } from '../../util/codes';
6
8
  import { Util } from '../../util/util';
7
- import { OAppSidenavBase } from '../../components/app-sidenav/o-app-sidenav-base.class';
8
- import { OAppHeaderBase } from '../../components/app-header/o-app-header-base.class';
9
9
  import { OAppLayoutBase } from './o-app-layout-base.class';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
@@ -26,7 +26,9 @@ export const DEFAULT_INPUTS_O_APP_LAYOUT = [
26
26
  'headerHeight: header-height',
27
27
  'showTitle: show-title',
28
28
  'staticTitle: static-title',
29
- 'showStaticTitle: show-static-title'
29
+ 'showStaticTitle: show-static-title',
30
+ 'tooltipDisplayMode: tooltip-display-mode',
31
+ 'showEllipsisMenu: show-ellipsis-menu'
30
32
  ];
31
33
  export const DEFAULT_OUTPUTS_O_APP_LAYOUT = [
32
34
  'beforeOpenSidenav',
@@ -43,11 +45,13 @@ export class OAppLayoutComponent {
43
45
  this._showHeader = true;
44
46
  this.showTitle = false;
45
47
  this.showStaticTitle = false;
48
+ this.showEllipsisMenu = false;
46
49
  this.headerHeight = Codes.DEFAULT_ROW_HEIGHT;
47
50
  this.beforeOpenSidenav = new EventEmitter();
48
51
  this.afterOpenSidenav = new EventEmitter();
49
52
  this.beforeCloseSidenav = new EventEmitter();
50
53
  this.afterCloseSidenav = new EventEmitter();
54
+ this._tooltipDisplayMode = Codes.TOOLTIP_DISPLAY_COLLAPSED;
51
55
  }
52
56
  get showHeader() {
53
57
  return this._showHeader;
@@ -82,6 +86,15 @@ export class OAppLayoutComponent {
82
86
  console.error('Invalid `o-app-layout` sidenav-mode (' + val + ')');
83
87
  }
84
88
  }
89
+ get tooltipDisplayMode() {
90
+ return this._tooltipDisplayMode;
91
+ }
92
+ set tooltipDisplayMode(val) {
93
+ const m = Codes.TOOLTIP_DISPLAY_MODE.find(e => e.toLocaleLowerCase() === val);
94
+ if (Util.isDefined(m)) {
95
+ this._tooltipDisplayMode = m;
96
+ }
97
+ }
85
98
  sidenavToggle(opened) {
86
99
  opened ? this.beforeOpenSidenav.emit() : this.beforeCloseSidenav.emit();
87
100
  }
@@ -95,9 +108,9 @@ export class OAppLayoutComponent {
95
108
  }
96
109
  }
97
110
  OAppLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
- OAppLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppLayoutComponent, selector: "o-app-layout", inputs: { mode: "mode", sidenavMode: ["sidenav-mode", "sidenavMode"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], _showHeader: ["show-header", "_showHeader"], showUserInfo: ["show-user-info", "showUserInfo"], showLanguageSelector: ["show-language-selector", "showLanguageSelector"], useFlagIcons: ["use-flag-icons", "useFlagIcons"], openedSidenavImg: ["opened-sidenav-image", "openedSidenavImg"], closedSidenavImg: ["closed-sidenav-image", "closedSidenavImg"], headerColor: ["header-color", "headerColor"], headerHeight: ["header-height", "headerHeight"], showTitle: ["show-title", "showTitle"], staticTitle: ["static-title", "staticTitle"], showStaticTitle: ["show-static-title", "showStaticTitle"] }, outputs: { beforeOpenSidenav: "beforeOpenSidenav", afterOpenSidenav: "afterOpenSidenav", beforeCloseSidenav: "beforeCloseSidenav", afterCloseSidenav: "afterCloseSidenav" }, providers: [
111
+ OAppLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppLayoutComponent, selector: "o-app-layout", inputs: { mode: "mode", sidenavMode: ["sidenav-mode", "sidenavMode"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], _showHeader: ["show-header", "_showHeader"], showUserInfo: ["show-user-info", "showUserInfo"], showLanguageSelector: ["show-language-selector", "showLanguageSelector"], useFlagIcons: ["use-flag-icons", "useFlagIcons"], openedSidenavImg: ["opened-sidenav-image", "openedSidenavImg"], closedSidenavImg: ["closed-sidenav-image", "closedSidenavImg"], headerColor: ["header-color", "headerColor"], headerHeight: ["header-height", "headerHeight"], showTitle: ["show-title", "showTitle"], staticTitle: ["static-title", "staticTitle"], showStaticTitle: ["show-static-title", "showStaticTitle"], tooltipDisplayMode: ["tooltip-display-mode", "tooltipDisplayMode"], showEllipsisMenu: ["show-ellipsis-menu", "showEllipsisMenu"] }, outputs: { beforeOpenSidenav: "beforeOpenSidenav", afterOpenSidenav: "afterOpenSidenav", beforeCloseSidenav: "beforeCloseSidenav", afterCloseSidenav: "afterCloseSidenav" }, providers: [
99
112
  { provide: OAppLayoutBase, useExisting: forwardRef(() => OAppLayoutComponent) }
100
- ], queries: [{ propertyName: "userInfoConfiguration", first: true, predicate: OUserInfoConfigurationDirective, descendants: true }], viewQueries: [{ propertyName: "appSidenav", first: true, predicate: ["appSidenav"], descendants: true }, { propertyName: "appHeader", first: true, predicate: ["appHeader"], descendants: true }], ngImport: i0, template: "<o-app-sidenav #appSidenav [sidenav-mode]=\"sidenavMode\" [opened]=\"sidenavOpened\" [show-user-info]=\"showUserInfo\" [show-toggle-button]=\"!showHeader\"\n [opened-sidenav-image]=\"openedSidenavImg\" [closed-sidenav-image]=\"closedSidenavImg\" [layout-mode]=\"mode\" [class.header-layout]=\"showHeader\"\n (onSidenavToggle)=\"sidenavToggle($event)\" (afterSidenavToggle)=\"afterToggle($event)\">\n\n <ng-content select=\"o-app-layout-sidenav[position=start]\" ngProjectAs=\"o-app-layout-sidenav-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav[position=end]\" ngProjectAs=\"o-app-layout-sidenav-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav\" ngProjectAs=\"o-app-layout-sidenav-projection-end\"></ng-content>\n\n <o-app-header #appHeader *ngIf=\"showHeader\" [show-title]=\"showTitle\" [show-static-title]=\"showStaticTitle\" [static-title]=\"staticTitle\"\n [show-user-info]=\"showUserInfo\" [show-language-selector]=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"\n (onSidenavToggle)=\"appSidenav.toggleSidenav()\" [color]=\"headerColor\" [header-height]=\"headerHeight\">\n <mat-icon class=\"sidenav-toggle\" svgIcon=\"ontimize:menu\" (click)=\"appSidenav.toggleSidenav()\" *ngIf=\"appSidenav.isMobileMode()\"></mat-icon>\n <ng-content select=\"o-app-layout-header[position=start]\" ngProjectAs=\"o-app-layout-header-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-header[position=end]\" ngProjectAs=\"o-app-layout-header-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-header\" ngProjectAs=\"o-app-layout-header-projection-start\"></ng-content>\n </o-app-header>\n\n <div class=\"application-layout-content-wrapper\" [class.header-layout]=\"showHeader\">\n <ng-content></ng-content>\n </div>\n</o-app-sidenav>\n", styles: [".application-layout-content-wrapper{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.OAppSidenavComponent, selector: "o-app-sidenav", inputs: ["opened", "show-user-info", "show-toggle-button", "opened-sidenav-image", "closed-sidenav-image", "layout-mode", "sidenav-mode", "store-state"], outputs: ["onSidenavOpenedChange", "onSidenavOpenedStart", "onSidenavClosedStart", "onSidenavToggle", "afterSidenavToggle"] }, { kind: "component", type: i4.OAppHeaderComponent, selector: "o-app-header", inputs: ["show-user-info", "show-language-selector", "use-flag-icons", "color", "header-height", "show-title", "static-title", "show-static-title"], outputs: ["onSidenavToggle"] }], encapsulation: i0.ViewEncapsulation.None });
113
+ ], queries: [{ propertyName: "userInfoConfiguration", first: true, predicate: OUserInfoConfigurationDirective, descendants: true }], viewQueries: [{ propertyName: "appSidenav", first: true, predicate: ["appSidenav"], descendants: true }, { propertyName: "appHeader", first: true, predicate: ["appHeader"], descendants: true }], ngImport: i0, template: "<o-app-sidenav #appSidenav [sidenav-mode]=\"sidenavMode\" [opened]=\"sidenavOpened\" [show-user-info]=\"showUserInfo\" [show-toggle-button]=\"!showHeader\"\n [opened-sidenav-image]=\"openedSidenavImg\" [closed-sidenav-image]=\"closedSidenavImg\" [layout-mode]=\"mode\" [class.header-layout]=\"showHeader\"\n [show-ellipsis-menu] = \"showEllipsisMenu\" (onSidenavToggle)=\"sidenavToggle($event)\" (afterSidenavToggle)=\"afterToggle($event)\">\n\n <ng-content select=\"o-app-layout-sidenav[position=start]\" ngProjectAs=\"o-app-layout-sidenav-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav[position=end]\" ngProjectAs=\"o-app-layout-sidenav-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav\" ngProjectAs=\"o-app-layout-sidenav-projection-end\"></ng-content>\n\n <o-app-header #appHeader *ngIf=\"showHeader\" [show-title]=\"showTitle\" [show-static-title]=\"showStaticTitle\" [static-title]=\"staticTitle\"\n [show-user-info]=\"showUserInfo\" [show-language-selector]=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"\n (onSidenavToggle)=\"appSidenav.toggleSidenav()\" [color]=\"headerColor\" [header-height]=\"headerHeight\">\n <mat-icon class=\"sidenav-toggle\" svgIcon=\"ontimize:menu\" (click)=\"appSidenav.toggleSidenav()\" *ngIf=\"appSidenav.isMobileMode()\"></mat-icon>\n <ng-content select=\"o-app-layout-header[position=start]\" ngProjectAs=\"o-app-layout-header-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-header[position=end]\" ngProjectAs=\"o-app-layout-header-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-header\" ngProjectAs=\"o-app-layout-header-projection-start\"></ng-content>\n </o-app-header>\n\n <div class=\"application-layout-content-wrapper\" [class.header-layout]=\"showHeader\">\n <ng-content></ng-content>\n </div>\n</o-app-sidenav>\n", styles: [".application-layout-content-wrapper{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.OAppSidenavComponent, selector: "o-app-sidenav", inputs: ["opened", "show-user-info", "show-toggle-button", "opened-sidenav-image", "closed-sidenav-image", "layout-mode", "sidenav-mode", "store-state", "show-ellipsis-menu"], outputs: ["onSidenavOpenedChange", "onSidenavOpenedStart", "onSidenavClosedStart", "onSidenavToggle", "afterSidenavToggle"] }, { kind: "component", type: i4.OAppHeaderComponent, selector: "o-app-header", inputs: ["show-user-info", "show-language-selector", "use-flag-icons", "color", "header-height", "show-title", "static-title", "show-static-title"], outputs: ["onSidenavToggle"] }], encapsulation: i0.ViewEncapsulation.None });
101
114
  __decorate([
102
115
  BooleanInputConverter(),
103
116
  __metadata("design:type", Boolean)
@@ -126,12 +139,16 @@ __decorate([
126
139
  BooleanInputConverter(),
127
140
  __metadata("design:type", Boolean)
128
141
  ], OAppLayoutComponent.prototype, "showStaticTitle", void 0);
142
+ __decorate([
143
+ BooleanInputConverter(),
144
+ __metadata("design:type", Boolean)
145
+ ], OAppLayoutComponent.prototype, "showEllipsisMenu", void 0);
129
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppLayoutComponent, decorators: [{
130
147
  type: Component,
131
148
  args: [{ selector: 'o-app-layout', inputs: DEFAULT_INPUTS_O_APP_LAYOUT, outputs: DEFAULT_OUTPUTS_O_APP_LAYOUT, encapsulation: ViewEncapsulation.None, providers: [
132
149
  { provide: OAppLayoutBase, useExisting: forwardRef(() => OAppLayoutComponent) }
133
- ], template: "<o-app-sidenav #appSidenav [sidenav-mode]=\"sidenavMode\" [opened]=\"sidenavOpened\" [show-user-info]=\"showUserInfo\" [show-toggle-button]=\"!showHeader\"\n [opened-sidenav-image]=\"openedSidenavImg\" [closed-sidenav-image]=\"closedSidenavImg\" [layout-mode]=\"mode\" [class.header-layout]=\"showHeader\"\n (onSidenavToggle)=\"sidenavToggle($event)\" (afterSidenavToggle)=\"afterToggle($event)\">\n\n <ng-content select=\"o-app-layout-sidenav[position=start]\" ngProjectAs=\"o-app-layout-sidenav-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav[position=end]\" ngProjectAs=\"o-app-layout-sidenav-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav\" ngProjectAs=\"o-app-layout-sidenav-projection-end\"></ng-content>\n\n <o-app-header #appHeader *ngIf=\"showHeader\" [show-title]=\"showTitle\" [show-static-title]=\"showStaticTitle\" [static-title]=\"staticTitle\"\n [show-user-info]=\"showUserInfo\" [show-language-selector]=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"\n (onSidenavToggle)=\"appSidenav.toggleSidenav()\" [color]=\"headerColor\" [header-height]=\"headerHeight\">\n <mat-icon class=\"sidenav-toggle\" svgIcon=\"ontimize:menu\" (click)=\"appSidenav.toggleSidenav()\" *ngIf=\"appSidenav.isMobileMode()\"></mat-icon>\n <ng-content select=\"o-app-layout-header[position=start]\" ngProjectAs=\"o-app-layout-header-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-header[position=end]\" ngProjectAs=\"o-app-layout-header-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-header\" ngProjectAs=\"o-app-layout-header-projection-start\"></ng-content>\n </o-app-header>\n\n <div class=\"application-layout-content-wrapper\" [class.header-layout]=\"showHeader\">\n <ng-content></ng-content>\n </div>\n</o-app-sidenav>\n", styles: [".application-layout-content-wrapper{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;padding:16px}\n"] }]
134
- }], propDecorators: { sidenavOpened: [], showUserInfo: [], showLanguageSelector: [], useFlagIcons: [], _showHeader: [], showTitle: [], showStaticTitle: [], appSidenav: [{
150
+ ], template: "<o-app-sidenav #appSidenav [sidenav-mode]=\"sidenavMode\" [opened]=\"sidenavOpened\" [show-user-info]=\"showUserInfo\" [show-toggle-button]=\"!showHeader\"\n [opened-sidenav-image]=\"openedSidenavImg\" [closed-sidenav-image]=\"closedSidenavImg\" [layout-mode]=\"mode\" [class.header-layout]=\"showHeader\"\n [show-ellipsis-menu] = \"showEllipsisMenu\" (onSidenavToggle)=\"sidenavToggle($event)\" (afterSidenavToggle)=\"afterToggle($event)\">\n\n <ng-content select=\"o-app-layout-sidenav[position=start]\" ngProjectAs=\"o-app-layout-sidenav-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav[position=end]\" ngProjectAs=\"o-app-layout-sidenav-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-sidenav\" ngProjectAs=\"o-app-layout-sidenav-projection-end\"></ng-content>\n\n <o-app-header #appHeader *ngIf=\"showHeader\" [show-title]=\"showTitle\" [show-static-title]=\"showStaticTitle\" [static-title]=\"staticTitle\"\n [show-user-info]=\"showUserInfo\" [show-language-selector]=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"\n (onSidenavToggle)=\"appSidenav.toggleSidenav()\" [color]=\"headerColor\" [header-height]=\"headerHeight\">\n <mat-icon class=\"sidenav-toggle\" svgIcon=\"ontimize:menu\" (click)=\"appSidenav.toggleSidenav()\" *ngIf=\"appSidenav.isMobileMode()\"></mat-icon>\n <ng-content select=\"o-app-layout-header[position=start]\" ngProjectAs=\"o-app-layout-header-projection-start\">\n </ng-content>\n <ng-content select=\"o-app-layout-header[position=end]\" ngProjectAs=\"o-app-layout-header-projection-end\">\n </ng-content>\n <ng-content select=\"o-app-layout-header\" ngProjectAs=\"o-app-layout-header-projection-start\"></ng-content>\n </o-app-header>\n\n <div class=\"application-layout-content-wrapper\" [class.header-layout]=\"showHeader\">\n <ng-content></ng-content>\n </div>\n</o-app-sidenav>\n", styles: [".application-layout-content-wrapper{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto;padding:16px}\n"] }]
151
+ }], propDecorators: { sidenavOpened: [], showUserInfo: [], showLanguageSelector: [], useFlagIcons: [], _showHeader: [], showTitle: [], showStaticTitle: [], showEllipsisMenu: [], appSidenav: [{
135
152
  type: ViewChild,
136
153
  args: ['appSidenav']
137
154
  }], appHeader: [{
@@ -141,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
141
158
  type: ContentChild,
142
159
  args: [OUserInfoConfigurationDirective]
143
160
  }] } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2FwcC1sYXlvdXQvby1hcHAtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2FwcC1sYXlvdXQvby1hcHAtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0ZBQXdGLENBQUM7QUFDekksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQUUzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxNQUFNO0lBQ04sMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsOEJBQThCO0lBQzlCLDhDQUE4QztJQUM5Qyw4QkFBOEI7SUFDOUIsd0NBQXdDO0lBQ3hDLHdDQUF3QztJQUN4QywyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFD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bml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuaW1wb3J0IHsgT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdXNlci1pbmZvL3VzZXItaW5mby1jb25maWd1cmF0aW9uL28tdXNlci1pbmZvLWNvbmZpZ3VyYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IENvZGVzLCBPQXBwTGF5b3V0TW9kZSwgT1NpZGVuYXZNb2RlIH0gZnJvbSAnLi4vLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9BcHBTaWRlbmF2QmFzZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXBwLXNpZGVuYXYvby1hcHAtc2lkZW5hdi1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBIZWFkZXJCYXNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hcHAtaGVhZGVyL28tYXBwLWhlYWRlci1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi9vLWFwcC1sYXlvdXQtYmFzZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0FQUF9MQVlPVVQgPSBbXG4gICdtb2RlJyxcbiAgJ3NpZGVuYXZNb2RlOiBzaWRlbmF2LW1vZGUnLFxuICAnc2lkZW5hdk9wZW5lZDogc2lkZW5hdi1vcGVuZWQnLFxuICAnX3Nob3dIZWFkZXI6IHNob3ctaGVhZGVyJyxcbiAgJ3Nob3dVc2VySW5mbzogc2hvdy11c2VyLWluZm8nLFxuICAnc2hvd0xhbmd1YWdlU2VsZWN0b3I6IHNob3ctbGFuZ3VhZ2Utc2VsZWN0b3InLFxuICAndXNlRmxhZ0ljb25zOiB1c2UtZmxhZy1pY29ucycsXG4gICdvcGVuZWRTaWRlbmF2SW1nOiBvcGVuZWQtc2lkZW5hdi1pbWFnZScsXG4gICdjbG9zZWRTaWRlbmF2SW1nOiBjbG9zZWQtc2lkZW5hdi1pbWFnZScsXG4gICdoZWFkZXJDb2xvcjogaGVhZGVyLWNvbG9yJyxcbiAgJ2hlYWRlckhlaWdodDogaGVhZGVyLWhlaWdodCcsXG4gICdzaG93VGl0bGU6IHNob3ctdGl0bGUnLFxuICAnc3RhdGljVGl0bGU6IHN0YXRpYy10aXRsZScsXG4gICdzaG93U3RhdGljVGl0bGU6IHNob3ctc3RhdGljLXRpdGxlJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9MQVlPVVQ6IGFueVtdID0gW1xuICAnYmVmb3JlT3BlblNpZGVuYXYnLFxuICAnYWZ0ZXJPcGVuU2lkZW5hdicsXG4gICdiZWZvcmVDbG9zZVNpZGVuYXYnLFxuICAnYWZ0ZXJDbG9zZVNpZGVuYXYnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWFwcC1sYXlvdXQnLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQVBQX0xBWU9VVCxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fQVBQX0xBWU9VVCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tYXBwLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28tYXBwLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9BcHBMYXlvdXRCYXNlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPQXBwTGF5b3V0Q29tcG9uZW50KSB9XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBPQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgc2hvd1VzZXJJbmZvOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNob3dMYW5ndWFnZVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHVzZUZsYWdJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHJvdGVjdGVkIF9zaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBzaG93VGl0bGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpY1RpdGxlOiBzdHJpbmc7XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc2hvd1N0YXRpY1RpdGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGhlYWRlckNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHB1YmxpYyBoZWFkZXJIZWlnaHQgPSBDb2Rlcy5ERUZBVUxUX1JPV19IRUlHSFQ7XG5cbiAgQFZpZXdDaGlsZCgnYXBwU2lkZW5hdicpXG4gIHB1YmxpYyBhcHBTaWRlbmF2OiBPQXBwU2lkZW5hdkJhc2U7XG5cbiAgQFZpZXdDaGlsZCgnYXBwSGVhZGVyJylcbiAgcHVibGljIGFwcEhlYWRlcjogT0FwcEhlYWRlckJhc2U7XG5cbiAgQENvbnRlbnRDaGlsZChPVXNlckluZm9Db25maWd1cmF0aW9uRGlyZWN0aXZlKVxuICBwdWJsaWMgdXNlckluZm9Db25maWd1cmF0aW9uOiBPVXNlckluZm9Db25maWd1cmF0aW9uRGlyZWN0aXZlO1xuXG4gIHByb3RlY3RlZCBfbW9kZTogT0FwcExheW91dE1vZGU7XG4gIHByb3RlY3RlZCBfc2lkZW5hdk1vZGU6IE9TaWRlbmF2TW9kZTtcblxuICBvcGVuZWRTaWRlbmF2SW1nOiBzdHJpbmc7XG4gIGNsb3NlZFNpZGVuYXZJbWc6IHN0cmluZztcblxuICBiZWZvcmVPcGVuU2lkZW5hdjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBhZnRlck9wZW5TaWRlbmF2OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGJlZm9yZUNsb3NlU2lkZW5hdjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBhZnRlckNsb3NlU2lkZW5hdjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xuICB9XG5cbiAgc2V0IHNob3dIZWFkZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0hlYWRlciA9IHZhbDtcbiAgfVxuXG4gIGdldCBtb2RlKCk6IE9BcHBMYXlvdXRNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZTtcbiAgfVxuXG4gIHNldCBtb2RlKHZhbDogT0FwcExheW91dE1vZGUpIHtcbiAgICBjb25zdCBtID0gQ29kZXMuT0FwcExheW91dE1vZGVzLmZpbmQoZSA9PiBlID09PSB2YWwpO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChtKSkge1xuICAgICAgdGhpcy5fbW9kZSA9IG07XG4gICAgICBpZiAodGhpcy5fbW9kZSA9PT0gJ21vYmlsZScgJiYgIVV0aWwuaXNEZWZpbmVkKHRoaXMuc2hvd0hlYWRlcikpIHtcbiAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBgby1hcHAtbGF5b3V0YCBtb2RlICgnICsgdmFsICsgJyknKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2lkZW5hdk1vZGUoKTogT1NpZGVuYXZNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5fc2lkZW5hdk1vZGU7XG4gIH1cblxuICBzZXQgc2lkZW5hdk1vZGUodmFsOiBPU2lkZW5hdk1vZGUpIHtcbiAgICBjb25zdCBtID0gQ29kZXMuT1NpZGVuYXZNb2Rlcy5maW5kKGUgPT4gZSA9PT0gdmFsKTtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQobSkpIHtcbiAgICAgIHRoaXMuX3NpZGVuYXZNb2RlID0gbTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBgby1hcHAtbGF5b3V0YCBzaWRlbmF2LW1vZGUgKCcgKyB2YWwgKyAnKScpO1xuICAgIH1cbiAgfVxuXG4gIHNpZGVuYXZUb2dnbGUob3BlbmVkOiBib29sZWFuKSB7XG4gICAgb3BlbmVkID8gdGhpcy5iZWZvcmVPcGVuU2lkZW5hdi5lbWl0KCkgOiB0aGlzLmJlZm9yZUNsb3NlU2lkZW5hdi5lbWl0KCk7XG4gIH1cblxuICBhZnRlclRvZ2dsZShvcGVuZWQ6IGJvb2xlYW4pIHtcbiAgICBvcGVuZWQgPyB0aGlzLmFmdGVyT3BlblNpZGVuYXYuZW1pdCgpIDogdGhpcy5hZnRlckNsb3NlU2lkZW5hdi5lbWl0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyICYmIHRoaXMuYXBwSGVhZGVyLnVzZXJJbmZvKSB7XG4gICAgICB0aGlzLmFwcEhlYWRlci51c2VySW5mby5yZWdpc3RlclVzZXJJbmZvQ29uZmlndXJhdGlvbih0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbik7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxvLWFwcC1zaWRlbmF2ICNhcHBTaWRlbmF2IFtzaWRlbmF2LW1vZGVdPVwic2lkZW5hdk1vZGVcIiBbb3BlbmVkXT1cInNpZGVuYXZPcGVuZWRcIiBbc2hvdy11c2VyLWluZm9dPVwic2hvd1VzZXJJbmZvXCIgW3Nob3ctdG9nZ2xlLWJ1dHRvbl09XCIhc2hvd0hlYWRlclwiXG4gIFtvcGVuZWQtc2lkZW5hdi1pbWFnZV09XCJvcGVuZWRTaWRlbmF2SW1nXCIgW2Nsb3NlZC1zaWRlbmF2LWltYWdlXT1cImNsb3NlZFNpZGVuYXZJbWdcIiBbbGF5b3V0LW1vZGVdPVwibW9kZVwiIFtjbGFzcy5oZWFkZXItbGF5b3V0XT1cInNob3dIZWFkZXJcIlxuICAob25TaWRlbmF2VG9nZ2xlKT1cInNpZGVuYXZUb2dnbGUoJGV2ZW50KVwiIChhZnRlclNpZGVuYXZUb2dnbGUpPVwiYWZ0ZXJUb2dnbGUoJGV2ZW50KVwiPlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm8tYXBwLWxheW91dC1zaWRlbmF2W3Bvc2l0aW9uPXN0YXJ0XVwiIG5nUHJvamVjdEFzPVwiby1hcHAtbGF5b3V0LXNpZGVuYXYtcHJvamVjdGlvbi1zdGFydFwiPlxuICA8L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm8tYXBwLWxheW91dC1zaWRlbmF2W3Bvc2l0aW9uPWVuZF1cIiBuZ1Byb2plY3RBcz1cIm8tYXBwLWxheW91dC1zaWRlbmF2LXByb2plY3Rpb24tZW5kXCI+XG4gIDwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LXNpZGVuYXZcIiBuZ1Byb2plY3RBcz1cIm8tYXBwLWxheW91dC1zaWRlbmF2LXByb2plY3Rpb24tZW5kXCI+PC9uZy1jb250ZW50PlxuXG4gIDxvLWFwcC1oZWFkZXIgI2FwcEhlYWRlciAqbmdJZj1cInNob3dIZWFkZXJcIiBbc2hvdy10aXRsZV09XCJzaG93VGl0bGVcIiBbc2hvdy1zdGF0aWMtdGl0bGVdPVwic2hvd1N0YXRpY1RpdGxlXCIgW3N0YXRpYy10aXRsZV09XCJzdGF0aWNUaXRsZVwiXG4gICAgW3Nob3ctdXNlci1pbmZvXT1cInNob3dVc2VySW5mb1wiIFtzaG93LWxhbmd1YWdlLXNlbGVjdG9yXT1cInNob3dMYW5ndWFnZVNlbGVjdG9yXCIgW3VzZS1mbGFnLWljb25zXT1cInVzZUZsYWdJY29uc1wiXG4gICAgKG9uU2lkZW5hdlRvZ2dsZSk9XCJhcHBTaWRlbmF2LnRvZ2dsZVNpZGVuYXYoKVwiIFtjb2xvcl09XCJoZWFkZXJDb2xvclwiIFtoZWFkZXItaGVpZ2h0XT1cImhlYWRlckhlaWdodFwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInNpZGVuYXYtdG9nZ2xlXCIgc3ZnSWNvbj1cIm9udGltaXplOm1lbnVcIiAoY2xpY2spPVwiYXBwU2lkZW5hdi50b2dnbGVTaWRlbmF2KClcIiAqbmdJZj1cImFwcFNpZGVuYXYuaXNNb2JpbGVNb2RlKClcIj48L21hdC1pY29uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm8tYXBwLWxheW91dC1oZWFkZXJbcG9zaXRpb249c3RhcnRdXCIgbmdQcm9qZWN0QXM9XCJvLWFwcC1sYXlvdXQtaGVhZGVyLXByb2plY3Rpb24tc3RhcnRcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LWhlYWRlcltwb3NpdGlvbj1lbmRdXCIgbmdQcm9qZWN0QXM9XCJvLWFwcC1sYXlvdXQtaGVhZGVyLXByb2plY3Rpb24tZW5kXCI+XG4gICAgPC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm8tYXBwLWxheW91dC1oZWFkZXJcIiBuZ1Byb2plY3RBcz1cIm8tYXBwLWxheW91dC1oZWFkZXItcHJvamVjdGlvbi1zdGFydFwiPjwvbmctY29udGVudD5cbiAgPC9vLWFwcC1oZWFkZXI+XG5cbiAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLWxheW91dC1jb250ZW50LXdyYXBwZXJcIiBbY2xhc3MuaGVhZGVyLWxheW91dF09XCJzaG93SGVhZGVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvby1hcHAtc2lkZW5hdj5cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2FwcC1sYXlvdXQvby1hcHAtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2FwcC1sYXlvdXQvby1hcHAtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUN6SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFnQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQUUzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxNQUFNO0lBQ04sMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsOEJBQThCO0lBQzlCLDhDQUE4QztJQUM5Qyw4QkFBOEI7SUFDOUIsd0NBQXdDO0lBQ3hDLHdDQUF3QztJQUN4QywyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFD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QUFDeEM7SUFBQyxxQkFBcUIsRUFBRTs7NkRBQ2lCOzRGQWxCOUIsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLGNBQWMsVUFDaEIsMkJBQTJCLFdBQzFCLDRCQUE0QixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtxQkFDaEY7OEJBTUQsYUFBYSxNQUViLFlBQVksTUFFWixvQkFBb0IsTUFFcEIsWUFBWSxNQUVGLFdBQVcsTUFFZCxTQUFTLE1BR1QsZUFBZSxNQUVmLGdCQUFnQixNQU1oQixVQUFVO3NCQURoQixTQUFTO3VCQUFDLFlBQVk7Z0JBSWhCLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXO2dCQUlmLHFCQUFxQjtzQkFEM0IsWUFBWTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuaW1wb3J0IHsgT0FwcEhlYWRlckJhc2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FwcC1oZWFkZXIvby1hcHAtaGVhZGVyLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgT0FwcFNpZGVuYXZCYXNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hcHAtc2lkZW5hdi9vLWFwcC1zaWRlbmF2LWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdXNlci1pbmZvL3VzZXItaW5mby1jb25maWd1cmF0aW9uL28tdXNlci1pbmZvLWNvbmZpZ3VyYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IENvZGVzLCBPQXBwTGF5b3V0TW9kZSwgT1NpZGVuYXZNb2RlIH0gZnJvbSAnLi4vLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi9vLWFwcC1sYXlvdXQtYmFzZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0FQUF9MQVlPVVQgPSBbXG4gICdtb2RlJyxcbiAgJ3NpZGVuYXZNb2RlOiBzaWRlbmF2LW1vZGUnLFxuICAnc2lkZW5hdk9wZW5lZDogc2lkZW5hdi1vcGVuZWQnLFxuICAnX3Nob3dIZWFkZXI6IHNob3ctaGVhZGVyJyxcbiAgJ3Nob3dVc2VySW5mbzogc2hvdy11c2VyLWluZm8nLFxuICAnc2hvd0xhbmd1YWdlU2VsZWN0b3I6IHNob3ctbGFuZ3VhZ2Utc2VsZWN0b3InLFxuICAndXNlRmxhZ0ljb25zOiB1c2UtZmxhZy1pY29ucycsXG4gICdvcGVuZWRTaWRlbmF2SW1nOiBvcGVuZWQtc2lkZW5hdi1pbWFnZScsXG4gICdjbG9zZWRTaWRlbmF2SW1nOiBjbG9zZWQtc2lkZW5hdi1pbWFnZScsXG4gICdoZWFkZXJDb2xvcjogaGVhZGVyLWNvbG9yJyxcbiAgJ2hlYWRlckhlaWdodDogaGVhZGVyLWhlaWdodCcsXG4gICdzaG93VGl0bGU6IHNob3ctdGl0bGUnLFxuICAnc3RhdGljVGl0bGU6IHN0YXRpYy10aXRsZScsXG4gICdzaG93U3RhdGljVGl0bGU6IHNob3ctc3RhdGljLXRpdGxlJyxcbiAgJ3Rvb2x0aXBEaXNwbGF5TW9kZTogdG9vbHRpcC1kaXNwbGF5LW1vZGUnLFxuICAnc2hvd0VsbGlwc2lzTWVudTogc2hvdy1lbGxpcHNpcy1tZW51J1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9MQVlPVVQ6IGFueVtdID0gW1xuICAnYmVmb3JlT3BlblNpZGVuYXYnLFxuICAnYWZ0ZXJPcGVuU2lkZW5hdicsXG4gICdiZWZvcmVDbG9zZVNpZGVuYXYnLFxuICAnYWZ0ZXJDbG9zZVNpZGVuYXYnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWFwcC1sYXlvdXQnLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQVBQX0xBWU9VVCxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fQVBQX0xBWU9VVCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tYXBwLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28tYXBwLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9BcHBMYXlvdXRCYXNlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPQXBwTGF5b3V0Q29tcG9uZW50KSB9XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBPQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgc2hvd1VzZXJJbmZvOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNob3dMYW5ndWFnZVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHVzZUZsYWdJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHJvdGVjdGVkIF9zaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyBzaG93VGl0bGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpY1RpdGxlOiBzdHJpbmc7XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc2hvd1N0YXRpY1RpdGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc2hvd0VsbGlwc2lzTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBoZWFkZXJDb2xvcjogVGhlbWVQYWxldHRlO1xuICBwdWJsaWMgaGVhZGVySGVpZ2h0ID0gQ29kZXMuREVGQVVMVF9ST1dfSEVJR0hUO1xuXG4gIEBWaWV3Q2hpbGQoJ2FwcFNpZGVuYXYnKVxuICBwdWJsaWMgYXBwU2lkZW5hdjogT0FwcFNpZGVuYXZCYXNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2FwcEhlYWRlcicpXG4gIHB1YmxpYyBhcHBIZWFkZXI6IE9BcHBIZWFkZXJCYXNlO1xuXG4gIEBDb250ZW50Q2hpbGQoT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZSlcbiAgcHVibGljIHVzZXJJbmZvQ29uZmlndXJhdGlvbjogT1VzZXJJbmZvQ29uZmlndXJhdGlvbkRpcmVjdGl2ZTtcblxuICBwcm90ZWN0ZWQgX21vZGU6IE9BcHBMYXlvdXRNb2RlO1xuICBwcm90ZWN0ZWQgX3NpZGVuYXZNb2RlOiBPU2lkZW5hdk1vZGU7XG5cbiAgb3BlbmVkU2lkZW5hdkltZzogc3RyaW5nO1xuICBjbG9zZWRTaWRlbmF2SW1nOiBzdHJpbmc7XG5cbiAgYmVmb3JlT3BlblNpZGVuYXY6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgYWZ0ZXJPcGVuU2lkZW5hdjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBiZWZvcmVDbG9zZVNpZGVuYXY6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgYWZ0ZXJDbG9zZVNpZGVuYXY6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBfdG9vbHRpcERpc3BsYXlNb2RlOiBzdHJpbmcgPSBDb2Rlcy5UT09MVElQX0RJU1BMQVlfQ09MTEFQU0VEXG5cbiAgZ2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dIZWFkZXI7XG4gIH1cblxuICBzZXQgc2hvd0hlYWRlcih2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93SGVhZGVyID0gdmFsO1xuICB9XG5cbiAgZ2V0IG1vZGUoKTogT0FwcExheW91dE1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlO1xuICB9XG5cbiAgc2V0IG1vZGUodmFsOiBPQXBwTGF5b3V0TW9kZSkge1xuICAgIGNvbnN0IG0gPSBDb2Rlcy5PQXBwTGF5b3V0TW9kZXMuZmluZChlID0+IGUgPT09IHZhbCk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG0pKSB7XG4gICAgICB0aGlzLl9tb2RlID0gbTtcbiAgICAgIGlmICh0aGlzLl9tb2RlID09PSAnbW9iaWxlJyAmJiAhVXRpbC5pc0RlZmluZWQodGhpcy5zaG93SGVhZGVyKSkge1xuICAgICAgICB0aGlzLnNob3dIZWFkZXIgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGBvLWFwcC1sYXlvdXRgIG1vZGUgKCcgKyB2YWwgKyAnKScpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaWRlbmF2TW9kZSgpOiBPU2lkZW5hdk1vZGUge1xuICAgIHJldHVybiB0aGlzLl9zaWRlbmF2TW9kZTtcbiAgfVxuXG4gIHNldCBzaWRlbmF2TW9kZSh2YWw6IE9TaWRlbmF2TW9kZSkge1xuICAgIGNvbnN0IG0gPSBDb2Rlcy5PU2lkZW5hdk1vZGVzLmZpbmQoZSA9PiBlID09PSB2YWwpO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChtKSkge1xuICAgICAgdGhpcy5fc2lkZW5hdk1vZGUgPSBtO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGBvLWFwcC1sYXlvdXRgIHNpZGVuYXYtbW9kZSAoJyArIHZhbCArICcpJyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRvb2x0aXBEaXNwbGF5TW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b29sdGlwRGlzcGxheU1vZGU7XG4gIH1cblxuICBzZXQgdG9vbHRpcERpc3BsYXlNb2RlKHZhbDogc3RyaW5nKSB7XG4gICAgY29uc3QgbSA9IENvZGVzLlRPT0xUSVBfRElTUExBWV9NT0RFLmZpbmQoZSA9PiBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IHZhbCk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG0pKSB7XG4gICAgICB0aGlzLl90b29sdGlwRGlzcGxheU1vZGUgPSBtO1xuICAgIH1cbiAgfVxuXG4gIHNpZGVuYXZUb2dnbGUob3BlbmVkOiBib29sZWFuKSB7XG4gICAgb3BlbmVkID8gdGhpcy5iZWZvcmVPcGVuU2lkZW5hdi5lbWl0KCkgOiB0aGlzLmJlZm9yZUNsb3NlU2lkZW5hdi5lbWl0KCk7XG4gIH1cblxuICBhZnRlclRvZ2dsZShvcGVuZWQ6IGJvb2xlYW4pIHtcbiAgICBvcGVuZWQgPyB0aGlzLmFmdGVyT3BlblNpZGVuYXYuZW1pdCgpIDogdGhpcy5hZnRlckNsb3NlU2lkZW5hdi5lbWl0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyICYmIHRoaXMuYXBwSGVhZGVyLnVzZXJJbmZvKSB7XG4gICAgICB0aGlzLmFwcEhlYWRlci51c2VySW5mby5yZWdpc3RlclVzZXJJbmZvQ29uZmlndXJhdGlvbih0aGlzLnVzZXJJbmZvQ29uZmlndXJhdGlvbik7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxvLWFwcC1zaWRlbmF2ICNhcHBTaWRlbmF2IFtzaWRlbmF2LW1vZGVdPVwic2lkZW5hdk1vZGVcIiBbb3BlbmVkXT1cInNpZGVuYXZPcGVuZWRcIiBbc2hvdy11c2VyLWluZm9dPVwic2hvd1VzZXJJbmZvXCIgW3Nob3ctdG9nZ2xlLWJ1dHRvbl09XCIhc2hvd0hlYWRlclwiXG4gIFtvcGVuZWQtc2lkZW5hdi1pbWFnZV09XCJvcGVuZWRTaWRlbmF2SW1nXCIgW2Nsb3NlZC1zaWRlbmF2LWltYWdlXT1cImNsb3NlZFNpZGVuYXZJbWdcIiBbbGF5b3V0LW1vZGVdPVwibW9kZVwiIFtjbGFzcy5oZWFkZXItbGF5b3V0XT1cInNob3dIZWFkZXJcIlxuICBbc2hvdy1lbGxpcHNpcy1tZW51XSA9IFwic2hvd0VsbGlwc2lzTWVudVwiIChvblNpZGVuYXZUb2dnbGUpPVwic2lkZW5hdlRvZ2dsZSgkZXZlbnQpXCIgKGFmdGVyU2lkZW5hdlRvZ2dsZSk9XCJhZnRlclRvZ2dsZSgkZXZlbnQpXCI+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LXNpZGVuYXZbcG9zaXRpb249c3RhcnRdXCIgbmdQcm9qZWN0QXM9XCJvLWFwcC1sYXlvdXQtc2lkZW5hdi1wcm9qZWN0aW9uLXN0YXJ0XCI+XG4gIDwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LXNpZGVuYXZbcG9zaXRpb249ZW5kXVwiIG5nUHJvamVjdEFzPVwiby1hcHAtbGF5b3V0LXNpZGVuYXYtcHJvamVjdGlvbi1lbmRcIj5cbiAgPC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvLWFwcC1sYXlvdXQtc2lkZW5hdlwiIG5nUHJvamVjdEFzPVwiby1hcHAtbGF5b3V0LXNpZGVuYXYtcHJvamVjdGlvbi1lbmRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG8tYXBwLWhlYWRlciAjYXBwSGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiIFtzaG93LXRpdGxlXT1cInNob3dUaXRsZVwiIFtzaG93LXN0YXRpYy10aXRsZV09XCJzaG93U3RhdGljVGl0bGVcIiBbc3RhdGljLXRpdGxlXT1cInN0YXRpY1RpdGxlXCJcbiAgICBbc2hvdy11c2VyLWluZm9dPVwic2hvd1VzZXJJbmZvXCIgW3Nob3ctbGFuZ3VhZ2Utc2VsZWN0b3JdPVwic2hvd0xhbmd1YWdlU2VsZWN0b3JcIiBbdXNlLWZsYWctaWNvbnNdPVwidXNlRmxhZ0ljb25zXCJcbiAgICAob25TaWRlbmF2VG9nZ2xlKT1cImFwcFNpZGVuYXYudG9nZ2xlU2lkZW5hdigpXCIgW2NvbG9yXT1cImhlYWRlckNvbG9yXCIgW2hlYWRlci1oZWlnaHRdPVwiaGVhZGVySGVpZ2h0XCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwic2lkZW5hdi10b2dnbGVcIiBzdmdJY29uPVwib250aW1pemU6bWVudVwiIChjbGljayk9XCJhcHBTaWRlbmF2LnRvZ2dsZVNpZGVuYXYoKVwiICpuZ0lmPVwiYXBwU2lkZW5hdi5pc01vYmlsZU1vZGUoKVwiPjwvbWF0LWljb24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LWhlYWRlcltwb3NpdGlvbj1zdGFydF1cIiBuZ1Byb2plY3RBcz1cIm8tYXBwLWxheW91dC1oZWFkZXItcHJvamVjdGlvbi1zdGFydFwiPlxuICAgIDwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvLWFwcC1sYXlvdXQtaGVhZGVyW3Bvc2l0aW9uPWVuZF1cIiBuZ1Byb2plY3RBcz1cIm8tYXBwLWxheW91dC1oZWFkZXItcHJvamVjdGlvbi1lbmRcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiby1hcHAtbGF5b3V0LWhlYWRlclwiIG5nUHJvamVjdEFzPVwiby1hcHAtbGF5b3V0LWhlYWRlci1wcm9qZWN0aW9uLXN0YXJ0XCI+PC9uZy1jb250ZW50PlxuICA8L28tYXBwLWhlYWRlcj5cblxuICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tbGF5b3V0LWNvbnRlbnQtd3JhcHBlclwiIFtjbGFzcy5oZWFkZXItbGF5b3V0XT1cInNob3dIZWFkZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9vLWFwcC1zaWRlbmF2PlxuIl19
@@ -74,6 +74,12 @@ export class OTableComponentStateClass extends DefaultServiceComponentStateClass
74
74
  get storedFilters() {
75
75
  return this['user-stored-filters'] || [];
76
76
  }
77
+ set expandableRows(value) {
78
+ this['expandable-rows'] = value;
79
+ }
80
+ get expandableRows() {
81
+ return this['expandable-rows'];
82
+ }
77
83
  addStoredFilter(filter) {
78
84
  if (!Util.isDefined(this['user-stored-filters'])) {
79
85
  this['user-stored-filters'] = [];
@@ -172,4 +178,4 @@ export class OTableComponentStateClass extends DefaultServiceComponentStateClass
172
178
  });
173
179
  }
174
180
  }
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2VydmljZXMvc3RhdGUvby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQ0FBaUM7SUFBaEY7O1FBOEJZLDRCQUFzQixHQUEwQixFQUFFLENBQUM7SUFzTS9ELENBQUM7SUFwTUMsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBVyxtQkFBbUIsQ0FBQyxLQUE2QjtRQUMxRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksbUJBQW1CLENBQUMsS0FBYztRQUNwQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLEtB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Q29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQge1xuICBPRmlsdGVyQ29sdW1uXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtY29sdW1ucy1maWx0ZXIvY29sdW1ucy9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0NvbHVtbkRpc3BsYXkgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi1kaXNwbGF5LnR5cGUnO1xuaW1wb3J0IHsgT0NvbHVtblNlYXJjaGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi1zZWFyY2hhYmxlLnR5cGUnO1xuaW1wb3J0IHsgT0NvbHVtblZhbHVlRmlsdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tdmFsdWUtZmlsdGVyLnR5cGUnO1xuaW1wb3J0IHsgRGVmYXVsdFNlcnZpY2VDb21wb25lbnRTdGF0ZUNsYXNzIH0gZnJvbSAnLi9vLWNvbXBvbmVudC1zdGF0ZS5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlRmlsdGVyc1N0YXR1cywgT1RhYmxlU3RvcmVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1maWx0ZXItc3RhdHVzLnR5cGUnO1xuaW1wb3J0IHsgT0ZpbHRlckJ1aWxkZXJWYWx1ZXMgfSBmcm9tICcuLi8uLi90eXBlcy9vLWZpbHRlci1idWlsZGVyLXZhbHVlcy50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0dyb3VwZWRDb2x1bW5UeXBlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MgZXh0ZW5kcyBEZWZhdWx0U2VydmljZUNvbXBvbmVudFN0YXRlQ2xhc3Mge1xuICAvLyBzb3J0XG4gIHByb3RlY3RlZCAnc29ydC1jb2x1bW5zJzogc3RyaW5nO1xuICAvLyBjb2x1bW5zLWRpc3BsYXlcbiAgcHJvdGVjdGVkICdvQ29sdW1ucy1kaXNwbGF5JzogT0NvbHVtbkRpc3BsYXlbXTtcbiAgcHJvdGVjdGVkICdzZWxlY3QtY29sdW1uLXZpc2libGUnOiBib29sZWFuO1xuICAvLyBxdWljay1maWx0ZXJcbiAgcHJvdGVjdGVkICdmaWx0ZXInOiBzdHJpbmc7XG4gIHByb3RlY3RlZCAnb0NvbHVtbnMnOiBPQ29sdW1uU2VhcmNoYWJsZVtdO1xuICAvLyBjb2x1bW5zLWZpbHRlclxuICBwcm90ZWN0ZWQgJ2NvbHVtbi12YWx1ZS1maWx0ZXJzJzogT0NvbHVtblZhbHVlRmlsdGVyW107XG4gIC8vIHBhZ2VcbiAgJ2N1cnJlbnRQYWdlJzogbnVtYmVyO1xuICAvLyBzZWxlY3Rpb25cbiAgJ3NlbGVjdGlvbic6IGFueVtdO1xuICAvLyBpbml0aWFsLWNvbmZpZ3VyYXRpb25cbiAgcHJvdGVjdGVkICdpbml0aWFsLWNvbmZpZ3VyYXRpb24nOiBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzO1xuICAvLyBmaWx0ZXItY29sdW1uLWFjdGl2ZVxuICBwcm90ZWN0ZWQgJ2ZpbHRlci1jb2x1bW4tYWN0aXZlJzogYm9vbGVhbjtcbiAgLy8gZmlsdGVyLWNvbHVtbnNcbiAgcHJvdGVjdGVkICdmaWx0ZXItY29sdW1ucyc6IE9GaWx0ZXJDb2x1bW5bXTtcbiAgcHJvdGVjdGVkICdmaWx0ZXItY29sdW1uLWFjdGl2ZS1ieS1kZWZhdWx0JzogYm9vbGVhbjtcbiAgLy8gZ3JvdXBlZC1jb2x1bW5zXG4gIHByb3RlY3RlZCAnZ3JvdXBlZC1jb2x1bW5zJzogc3RyaW5nW107XG4gIC8vIHN0b3JlZCBmaWx0ZXJzIGFuZCBjb25maWd1cmF0aW9uc1xuICBwcm90ZWN0ZWQgJ3VzZXItc3RvcmVkLWZpbHRlcnMnOiBPVGFibGVGaWx0ZXJzU3RhdHVzW107XG4gIHByb3RlY3RlZCAndXNlci1zdG9yZWQtY29uZmlndXJhdGlvbnMnOiBPVGFibGVDb25maWd1cmF0aW9uW107XG4gIC8vIHN0b3JlZCBmaWx0ZXJzIGJ1aWxkZXIgdmFsdWVzXG4gIHByb3RlY3RlZCAnZmlsdGVyLWJ1aWxkZXItdmFsdWVzJzogT0ZpbHRlckJ1aWxkZXJWYWx1ZXNbXTtcblxuICBwcm90ZWN0ZWQgJ2dyb3VwZWQtY29sdW1uLXR5cGVzJzogT0dyb3VwZWRDb2x1bW5UeXBlc1tdID0gW107XG5cbiAgcHVibGljIGdldCBmaWx0ZXJCdWlsZGVyVmFsdWVzKCk6IE9GaWx0ZXJCdWlsZGVyVmFsdWVzW10ge1xuICAgIHJldHVybiB0aGlzWydmaWx0ZXItYnVpbGRlci12YWx1ZXMnXTtcbiAgfVxuICBwdWJsaWMgc2V0IGZpbHRlckJ1aWxkZXJWYWx1ZXModmFsdWU6IE9GaWx0ZXJCdWlsZGVyVmFsdWVzW10pIHtcbiAgICB0aGlzWydmaWx0ZXItYnVpbGRlci12YWx1ZXMnXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdENvbHVtblZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXNbJ3NlbGVjdC1jb2x1bW4tdmlzaWJsZSddO1xuICB9XG5cbiAgc2V0IHNlbGVjdENvbHVtblZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzWydzZWxlY3QtY29sdW1uLXZpc2libGUnXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHF1aWNrRmlsdGVyVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpc1snZmlsdGVyJ107XG4gIH1cblxuICBzZXQgcXVpY2tGaWx0ZXJWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpc1snZmlsdGVyJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBjb2x1bW5zRGlzcGxheSgpOiBPQ29sdW1uRGlzcGxheVtdIHtcbiAgICByZXR1cm4gdGhpc1snb0NvbHVtbnMtZGlzcGxheSddO1xuICB9XG5cbiAgc2V0IGNvbHVtbnNEaXNwbGF5KHZhbHVlOiBPQ29sdW1uRGlzcGxheVtdKSB7XG4gICAgdGhpc1snb0NvbHVtbnMtZGlzcGxheSddID0gdmFsdWU7XG4gIH1cblxuICBnZXRDb2x1bW5EaXNwbGF5KG9Db2w6IE9Db2x1bW4pOiBPQ29sdW1uRGlzcGxheSB7XG4gICAgcmV0dXJuICh0aGlzLmNvbHVtbnNEaXNwbGF5IHx8IFtdKS5maW5kKGNvbCA9PiBjb2wuYXR0ciA9PT0gb0NvbC5hdHRyKTtcbiAgfVxuXG4gIGdldCBpbml0aWFsQ29uZmlndXJhdGlvbigpOiBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzIHtcbiAgICByZXR1cm4gdGhpc1snaW5pdGlhbC1jb25maWd1cmF0aW9uJ107XG4gIH1cblxuICBzZXQgaW5pdGlhbENvbmZpZ3VyYXRpb24odmFsdWU6IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MpIHtcbiAgICB0aGlzWydpbml0aWFsLWNvbmZpZ3VyYXRpb24nXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHNvcnRDb2x1bW5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXNbJ3NvcnQtY29sdW1ucyddO1xuICB9XG5cbiAgc2V0IHNvcnRDb2x1bW5zKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzWydzb3J0LWNvbHVtbnMnXSA9IHZhbHVlO1xuICB9XG4gIGdldCBncm91cGVkQ29sdW1uVHlwZXMoKTogT0dyb3VwZWRDb2x1bW5UeXBlc1tdIHtcbiAgICByZXR1cm4gdGhpc1snZ3JvdXBlZC1jb2x1bW4tdHlwZXMnXTtcbiAgfVxuICBzZXQgZ3JvdXBlZENvbHVtblR5cGVzKHZhbHVlOiBPR3JvdXBlZENvbHVtblR5cGVzW10pIHtcbiAgICB0aGlzWydncm91cGVkLWNvbHVtbi10eXBlcyddID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGZpbHRlckNvbHVtbnMoKTogT0ZpbHRlckNvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpc1snZmlsdGVyLWNvbHVtbnMnXTtcbiAgfVxuXG4gIHNldCBmaWx0ZXJDb2x1bW5zKHZhbHVlOiBPRmlsdGVyQ29sdW1uW10pIHtcbiAgICB0aGlzWydmaWx0ZXItY29sdW1ucyddID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZmlsdGVyQ29sdW1uQWN0aXZlQnlEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzWydmaWx0ZXItY29sdW1uLWFjdGl2ZS1ieS1kZWZhdWx0J107XG4gIH1cblxuICBnZXQgZ3JvdXBlZENvbHVtbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzWydncm91cGVkLWNvbHVtbnMnXTtcbiAgfVxuXG4gIHNldCBncm91cGVkQ29sdW1ucyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzWydncm91cGVkLWNvbHVtbnMnXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbHVtblZhbHVlRmlsdGVycygpOiBPQ29sdW1uVmFsdWVGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXNbJ2NvbHVtbi12YWx1ZS1maWx0ZXJzJ10gfHwgW107XG4gIH1cblxuICBzZXQgY29sdW1uVmFsdWVGaWx0ZXJzKHZhbHVlOiBPQ29sdW1uVmFsdWVGaWx0ZXJbXSkge1xuICAgIHRoaXNbJ2NvbHVtbi12YWx1ZS1maWx0ZXJzJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzdG9yZWRGaWx0ZXJzKCk6IE9UYWJsZUZpbHRlcnNTdGF0dXNbXSB7XG4gICAgcmV0dXJuIHRoaXNbJ3VzZXItc3RvcmVkLWZpbHRlcnMnXSB8fCBbXTtcbiAgfVxuXG4gIGFkZFN0b3JlZEZpbHRlcihmaWx0ZXI6IE9UYWJsZUZpbHRlcnNTdGF0dXMpIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXNbJ3VzZXItc3RvcmVkLWZpbHRlcnMnXSkpIHtcbiAgICAgIHRoaXNbJ3VzZXItc3RvcmVkLWZpbHRlcnMnXSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlZEZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICB9XG5cbiAgZGVsZXRlU3RvcmVkRmlsdGVyKGZpbHRlck5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdG9yZWRGaWx0ZXJzLmZpbmRJbmRleCgoaXRlbTogT1RhYmxlRmlsdGVyc1N0YXR1cykgPT4gaXRlbS5uYW1lID09PSBmaWx0ZXJOYW1lKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5zdG9yZWRGaWx0ZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmVkRmlsdGVyKGZpbHRlck5hbWU6IHN0cmluZyk6IE9UYWJsZVN0b3JlZEZpbHRlciB7XG4gICAgbGV0IHJlc3VsdDogT1RhYmxlU3RvcmVkRmlsdGVyO1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuc3RvcmVkRmlsdGVycy5maW5kKChpdGVtOiBPVGFibGVGaWx0ZXJzU3RhdHVzKSA9PiBpdGVtLm5hbWUgPT09IGZpbHRlck5hbWUpO1xuICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgIHJlc3VsdCA9IGZpbHRlclsnc3RvcmVkLWZpbHRlciddO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoZmlsdGVyTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5nZXRTdG9yZWRGaWx0ZXIoZmlsdGVyTmFtZSk7XG4gICAgaWYgKGZpbHRlcikge1xuICAgICAgdGhpcy5jb2x1bW5WYWx1ZUZpbHRlcnMgPSBmaWx0ZXJbJ2NvbHVtbi12YWx1ZS1maWx0ZXJzJ107XG4gICAgICB0aGlzLnF1aWNrRmlsdGVyVmFsdWUgPSBmaWx0ZXJbJ2ZpbHRlciddO1xuICAgICAgdGhpcy5maWx0ZXJDYXNlU2Vuc2l0aXZlID0gZmlsdGVyWydmaWx0ZXItY2FzZS1zZW5zaXRpdmUnXTtcbiAgICAgIHRoaXMuZmlsdGVyQnVpbGRlclZhbHVlcyA9IGZpbHRlclsnZmlsdGVyLWJ1aWxkZXItdmFsdWVzJ107XG4gICAgICB0aGlzLm9Db2x1bW5zID0gZmlsdGVyWydvQ29sdW1ucyddO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdG9yZWRDb25maWd1cmF0aW9ucygpOiBPVGFibGVDb25maWd1cmF0aW9uW10ge1xuICAgIHJldHVybiB0aGlzWyd1c2VyLXN0b3JlZC1jb25maWd1cmF0aW9ucyddIHx8IFtdO1xuICB9XG5cbiAgYWRkU3RvcmVkQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uOiBPVGFibGVDb25maWd1cmF0aW9uKSB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzWyd1c2VyLXN0b3JlZC1jb25maWd1cmF0aW9ucyddKSkge1xuICAgICAgdGhpc1sndXNlci1zdG9yZWQtY29uZmlndXJhdGlvbnMnXSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlZENvbmZpZ3VyYXRpb25zLnB1c2goY29uZmlndXJhdGlvbik7XG4gIH1cblxuICBkZWxldGVTdG9yZWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RvcmVkQ29uZmlndXJhdGlvbnMuZmluZEluZGV4KChpdGVtOiBPVGFibGVDb25maWd1cmF0aW9uKSA9PiBpdGVtLm5hbWUgPT09IGNvbmZpZ3VyYXRpb25OYW1lKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5zdG9yZWRDb25maWd1cmF0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0b3JlZENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbk5hbWU6IHN0cmluZyk6IE9UYWJsZUNvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZENvbmZpZ3VyYXRpb25zLmZpbmQoKGl0ZW06IE9UYWJsZUNvbmZpZ3VyYXRpb24pID0+IGl0ZW0ubmFtZSA9PT0gY29uZmlndXJhdGlvbk5hbWUpO1xuICB9XG5cbiAgYXBwbHlDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRTdG9yZWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25OYW1lKTtcbiAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgY29uc3QgcHJvcGVydGllcyA9IGNvbmZpZ3VyYXRpb25bJ3N0b3JlZC1wcm9wZXJ0aWVzJ10gfHwgW107XG4gICAgICBjb25zdCBjb25mOiBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzID0gY29uZmlndXJhdGlvblsnc3RvcmVkLWNvbmZpZ3VyYXRpb24nXTtcbiAgICAgIHRoaXMuY29weVByb3BlcnRpZXNGcm9tQ29uZmlndXJhdGlvbihwcm9wZXJ0aWVzLCBjb25mKTtcbiAgICB9XG4gIH1cblxuICByZXNldChwYWdlYWJsZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICd1c2VyLXN0b3JlZC1maWx0ZXJzJzogdGhpcy5zdG9yZWRGaWx0ZXJzLFxuICAgICAgJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJzogdGhpcy5zdG9yZWRDb25maWd1cmF0aW9uc1xuICAgIH07XG4gICAgaWYgKHBhZ2VhYmxlKSB7XG4gICAgICByZXN1bHRbJ3RvdGFsUXVlcnlSZWNvcmRzTnVtYmVyJ10gPSB0aGlzLnRvdGFsUXVlcnlSZWNvcmRzTnVtYmVyO1xuICAgIH1cbiAgICByZXN1bHRbJ2N1cnJlbnRQYWdlJ10gPSAwO1xuXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB7fSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCByZXN1bHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvcHlQcm9wZXJ0aWVzRnJvbUNvbmZpZ3VyYXRpb24ocHJvcGVydGllczogc3RyaW5nW10sIGNvbmZpZ3VyYXRpb246IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MpIHtcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICBjYXNlICdzb3J0LWNvbHVtbnMnOlxuICAgICAgICAgIHRoaXMuc29ydENvbHVtbnMgPSBjb25maWd1cmF0aW9uWydzb3J0LWNvbHVtbnMnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnb0NvbHVtbnMtZGlzcGxheSc6XG4gICAgICAgICAgdGhpcy5jb2x1bW5zRGlzcGxheSA9IGNvbmZpZ3VyYXRpb25bJ29Db2x1bW5zLWRpc3BsYXknXTtcbiAgICAgICAgICB0aGlzLnNlbGVjdENvbHVtblZpc2libGUgPSBjb25maWd1cmF0aW9uWydzZWxlY3QtY29sdW1uLXZpc2libGUnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncXVpY2stZmlsdGVyJzpcbiAgICAgICAgY2FzZSAnY29sdW1ucy1maWx0ZXInOlxuICAgICAgICAgIHRoaXMuY29sdW1uVmFsdWVGaWx0ZXJzID0gY29uZmlndXJhdGlvblsnY29sdW1uLXZhbHVlLWZpbHRlcnMnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZ3JvdXBlZC1jb2x1bW5zJzpcbiAgICAgICAgICB0aGlzLmdyb3VwZWRDb2x1bW5zID0gY29uZmlndXJhdGlvblsnZ3JvdXBlZC1jb2x1bW5zJ107XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhZ2UnOlxuICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjb25maWd1cmF0aW9uWydjdXJyZW50UGFnZSddO1xuICAgICAgICAgIHRoaXMudG90YWxRdWVyeVJlY29yZHNOdW1iZXIgPSBjb25maWd1cmF0aW9uWyd0b3RhbFF1ZXJ5UmVjb3Jkc051bWJlciddO1xuICAgICAgICAgIHRoaXMucXVlcnlSZWNvcmRPZmZzZXQgPSBjb25maWd1cmF0aW9uWydxdWVyeVJlY29yZE9mZnNldCddO1xuICAgICAgICAgIHRoaXMucXVlcnlSb3dzID0gY29uZmlndXJhdGlvblsncXVlcnktcm93cyddO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmaWx0ZXItYnVpbGRlcic6XG4gICAgICAgICAgdGhpcy5maWx0ZXJCdWlsZGVyVmFsdWVzID0gY29uZmlndXJhdGlvblsnZmlsdGVyLWJ1aWxkZXInXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2VydmljZXMvc3RhdGUvby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXZDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQ0FBaUM7SUFBaEY7O1FBOEJZLDRCQUFzQixHQUEwQixFQUFFLENBQUM7SUE4TS9ELENBQUM7SUE1TUMsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBVyxtQkFBbUIsQ0FBQyxLQUE2QjtRQUMxRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksbUJBQW1CLENBQUMsS0FBYztRQUNwQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLEtB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QzdDLE1BQU07Z0JBQ1IsS0FBSyxnQkFBZ0I7b0JBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDM0QsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQge1xuICBPRmlsdGVyQ29sdW1uXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtY29sdW1ucy1maWx0ZXIvY29sdW1ucy9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0NvbHVtbkRpc3BsYXkgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi1kaXNwbGF5LnR5cGUnO1xuaW1wb3J0IHsgT0NvbHVtblNlYXJjaGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi1zZWFyY2hhYmxlLnR5cGUnO1xuaW1wb3J0IHsgT0NvbHVtblZhbHVlRmlsdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tdmFsdWUtZmlsdGVyLnR5cGUnO1xuaW1wb3J0IHsgRGVmYXVsdFNlcnZpY2VDb21wb25lbnRTdGF0ZUNsYXNzIH0gZnJvbSAnLi9vLWNvbXBvbmVudC1zdGF0ZS5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlRmlsdGVyc1N0YXR1cywgT1RhYmxlU3RvcmVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1maWx0ZXItc3RhdHVzLnR5cGUnO1xuaW1wb3J0IHsgT0ZpbHRlckJ1aWxkZXJWYWx1ZXMgfSBmcm9tICcuLi8uLi90eXBlcy9vLWZpbHRlci1idWlsZGVyLXZhbHVlcy50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0dyb3VwZWRDb2x1bW5UeXBlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE9UYWJsZUV4cGFuZGFibGVSb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzL3RhYmxlL28tdGFibGUtZXhwYW5kYWJsZS1yb3ctc3RhdGUudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzIGV4dGVuZHMgRGVmYXVsdFNlcnZpY2VDb21wb25lbnRTdGF0ZUNsYXNzIHtcbiAgLy8gc29ydFxuICBwcm90ZWN0ZWQgJ3NvcnQtY29sdW1ucyc6IHN0cmluZztcbiAgLy8gY29sdW1ucy1kaXNwbGF5XG4gIHByb3RlY3RlZCAnb0NvbHVtbnMtZGlzcGxheSc6IE9Db2x1bW5EaXNwbGF5W107XG4gIHByb3RlY3RlZCAnc2VsZWN0LWNvbHVtbi12aXNpYmxlJzogYm9vbGVhbjtcbiAgLy8gcXVpY2stZmlsdGVyXG4gIHByb3RlY3RlZCAnZmlsdGVyJzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgJ29Db2x1bW5zJzogT0NvbHVtblNlYXJjaGFibGVbXTtcbiAgLy8gY29sdW1ucy1maWx0ZXJcbiAgcHJvdGVjdGVkICdjb2x1bW4tdmFsdWUtZmlsdGVycyc6IE9Db2x1bW5WYWx1ZUZpbHRlcltdO1xuICAvLyBwYWdlXG4gICdjdXJyZW50UGFnZSc6IG51bWJlcjtcbiAgLy8gc2VsZWN0aW9uXG4gICdzZWxlY3Rpb24nOiBhbnlbXTtcbiAgLy8gaW5pdGlhbC1jb25maWd1cmF0aW9uXG4gIHByb3RlY3RlZCAnaW5pdGlhbC1jb25maWd1cmF0aW9uJzogT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcztcbiAgLy8gZmlsdGVyLWNvbHVtbi1hY3RpdmVcbiAgcHJvdGVjdGVkICdmaWx0ZXItY29sdW1uLWFjdGl2ZSc6IGJvb2xlYW47XG4gIC8vIGZpbHRlci1jb2x1bW5zXG4gIHByb3RlY3RlZCAnZmlsdGVyLWNvbHVtbnMnOiBPRmlsdGVyQ29sdW1uW107XG4gIHByb3RlY3RlZCAnZmlsdGVyLWNvbHVtbi1hY3RpdmUtYnktZGVmYXVsdCc6IGJvb2xlYW47XG4gIC8vIGdyb3VwZWQtY29sdW1uc1xuICBwcm90ZWN0ZWQgJ2dyb3VwZWQtY29sdW1ucyc6IHN0cmluZ1tdO1xuICAvLyBzdG9yZWQgZmlsdGVycyBhbmQgY29uZmlndXJhdGlvbnNcbiAgcHJvdGVjdGVkICd1c2VyLXN0b3JlZC1maWx0ZXJzJzogT1RhYmxlRmlsdGVyc1N0YXR1c1tdO1xuICBwcm90ZWN0ZWQgJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJzogT1RhYmxlQ29uZmlndXJhdGlvbltdO1xuICAvLyBzdG9yZWQgZmlsdGVycyBidWlsZGVyIHZhbHVlc1xuICBwcm90ZWN0ZWQgJ2ZpbHRlci1idWlsZGVyLXZhbHVlcyc6IE9GaWx0ZXJCdWlsZGVyVmFsdWVzW107XG5cbiAgcHJvdGVjdGVkICdncm91cGVkLWNvbHVtbi10eXBlcyc6IE9Hcm91cGVkQ29sdW1uVHlwZXNbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQnVpbGRlclZhbHVlcygpOiBPRmlsdGVyQnVpbGRlclZhbHVlc1tdIHtcbiAgICByZXR1cm4gdGhpc1snZmlsdGVyLWJ1aWxkZXItdmFsdWVzJ107XG4gIH1cbiAgcHVibGljIHNldCBmaWx0ZXJCdWlsZGVyVmFsdWVzKHZhbHVlOiBPRmlsdGVyQnVpbGRlclZhbHVlc1tdKSB7XG4gICAgdGhpc1snZmlsdGVyLWJ1aWxkZXItdmFsdWVzJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RDb2x1bW5WaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzWydzZWxlY3QtY29sdW1uLXZpc2libGUnXTtcbiAgfVxuXG4gIHNldCBzZWxlY3RDb2x1bW5WaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpc1snc2VsZWN0LWNvbHVtbi12aXNpYmxlJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBxdWlja0ZpbHRlclZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXNbJ2ZpbHRlciddO1xuICB9XG5cbiAgc2V0IHF1aWNrRmlsdGVyVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXNbJ2ZpbHRlciddID0gdmFsdWU7XG4gIH1cblxuICBnZXQgY29sdW1uc0Rpc3BsYXkoKTogT0NvbHVtbkRpc3BsYXlbXSB7XG4gICAgcmV0dXJuIHRoaXNbJ29Db2x1bW5zLWRpc3BsYXknXTtcbiAgfVxuXG4gIHNldCBjb2x1bW5zRGlzcGxheSh2YWx1ZTogT0NvbHVtbkRpc3BsYXlbXSkge1xuICAgIHRoaXNbJ29Db2x1bW5zLWRpc3BsYXknXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0Q29sdW1uRGlzcGxheShvQ29sOiBPQ29sdW1uKTogT0NvbHVtbkRpc3BsYXkge1xuICAgIHJldHVybiAodGhpcy5jb2x1bW5zRGlzcGxheSB8fCBbXSkuZmluZChjb2wgPT4gY29sLmF0dHIgPT09IG9Db2wuYXR0cik7XG4gIH1cblxuICBnZXQgaW5pdGlhbENvbmZpZ3VyYXRpb24oKTogT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcyB7XG4gICAgcmV0dXJuIHRoaXNbJ2luaXRpYWwtY29uZmlndXJhdGlvbiddO1xuICB9XG5cbiAgc2V0IGluaXRpYWxDb25maWd1cmF0aW9uKHZhbHVlOiBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzKSB7XG4gICAgdGhpc1snaW5pdGlhbC1jb25maWd1cmF0aW9uJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzb3J0Q29sdW1ucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzWydzb3J0LWNvbHVtbnMnXTtcbiAgfVxuXG4gIHNldCBzb3J0Q29sdW1ucyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpc1snc29ydC1jb2x1bW5zJ10gPSB2YWx1ZTtcbiAgfVxuICBnZXQgZ3JvdXBlZENvbHVtblR5cGVzKCk6IE9Hcm91cGVkQ29sdW1uVHlwZXNbXSB7XG4gICAgcmV0dXJuIHRoaXNbJ2dyb3VwZWQtY29sdW1uLXR5cGVzJ107XG4gIH1cbiAgc2V0IGdyb3VwZWRDb2x1bW5UeXBlcyh2YWx1ZTogT0dyb3VwZWRDb2x1bW5UeXBlc1tdKSB7XG4gICAgdGhpc1snZ3JvdXBlZC1jb2x1bW4tdHlwZXMnXSA9IHZhbHVlO1xuICB9XG4gIGdldCBmaWx0ZXJDb2x1bW5zKCk6IE9GaWx0ZXJDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXNbJ2ZpbHRlci1jb2x1bW5zJ107XG4gIH1cblxuICBzZXQgZmlsdGVyQ29sdW1ucyh2YWx1ZTogT0ZpbHRlckNvbHVtbltdKSB7XG4gICAgdGhpc1snZmlsdGVyLWNvbHVtbnMnXSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZpbHRlckNvbHVtbkFjdGl2ZUJ5RGVmYXVsdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpc1snZmlsdGVyLWNvbHVtbi1hY3RpdmUtYnktZGVmYXVsdCddO1xuICB9XG5cbiAgZ2V0IGdyb3VwZWRDb2x1bW5zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpc1snZ3JvdXBlZC1jb2x1bW5zJ107XG4gIH1cblxuICBzZXQgZ3JvdXBlZENvbHVtbnModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpc1snZ3JvdXBlZC1jb2x1bW5zJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBjb2x1bW5WYWx1ZUZpbHRlcnMoKTogT0NvbHVtblZhbHVlRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzWydjb2x1bW4tdmFsdWUtZmlsdGVycyddIHx8IFtdO1xuICB9XG5cbiAgc2V0IGNvbHVtblZhbHVlRmlsdGVycyh2YWx1ZTogT0NvbHVtblZhbHVlRmlsdGVyW10pIHtcbiAgICB0aGlzWydjb2x1bW4tdmFsdWUtZmlsdGVycyddID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc3RvcmVkRmlsdGVycygpOiBPVGFibGVGaWx0ZXJzU3RhdHVzW10ge1xuICAgIHJldHVybiB0aGlzWyd1c2VyLXN0b3JlZC1maWx0ZXJzJ10gfHwgW107XG4gIH1cblxuICBzZXQgZXhwYW5kYWJsZVJvd3ModmFsdWU6IE9UYWJsZUV4cGFuZGFibGVSb3dTdGF0ZVtdKSB7XG4gICAgdGhpc1snZXhwYW5kYWJsZS1yb3dzJ10gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBleHBhbmRhYmxlUm93cygpOiBPVGFibGVFeHBhbmRhYmxlUm93U3RhdGVbXSB7XG4gICAgcmV0dXJuIHRoaXNbJ2V4cGFuZGFibGUtcm93cyddO1xuICB9XG5cbiAgYWRkU3RvcmVkRmlsdGVyKGZpbHRlcjogT1RhYmxlRmlsdGVyc1N0YXR1cykge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpc1sndXNlci1zdG9yZWQtZmlsdGVycyddKSkge1xuICAgICAgdGhpc1sndXNlci1zdG9yZWQtZmlsdGVycyddID0gW107XG4gICAgfVxuICAgIHRoaXMuc3RvcmVkRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gIH1cblxuICBkZWxldGVTdG9yZWRGaWx0ZXIoZmlsdGVyTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0b3JlZEZpbHRlcnMuZmluZEluZGV4KChpdGVtOiBPVGFibGVGaWx0ZXJzU3RhdHVzKSA9PiBpdGVtLm5hbWUgPT09IGZpbHRlck5hbWUpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnN0b3JlZEZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBnZXRTdG9yZWRGaWx0ZXIoZmlsdGVyTmFtZTogc3RyaW5nKTogT1RhYmxlU3RvcmVkRmlsdGVyIHtcbiAgICBsZXQgcmVzdWx0OiBPVGFibGVTdG9yZWRGaWx0ZXI7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5zdG9yZWRGaWx0ZXJzLmZpbmQoKGl0ZW06IE9UYWJsZUZpbHRlcnNTdGF0dXMpID0+IGl0ZW0ubmFtZSA9PT0gZmlsdGVyTmFtZSk7XG4gICAgaWYgKGZpbHRlcikge1xuICAgICAgcmVzdWx0ID0gZmlsdGVyWydzdG9yZWQtZmlsdGVyJ107XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhcHBseUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldFN0b3JlZEZpbHRlcihmaWx0ZXJOYW1lKTtcbiAgICBpZiAoZmlsdGVyKSB7XG4gICAgICB0aGlzLmNvbHVtblZhbHVlRmlsdGVycyA9IGZpbHRlclsnY29sdW1uLXZhbHVlLWZpbHRlcnMnXTtcbiAgICAgIHRoaXMucXVpY2tGaWx0ZXJWYWx1ZSA9IGZpbHRlclsnZmlsdGVyJ107XG4gICAgICB0aGlzLmZpbHRlckNhc2VTZW5zaXRpdmUgPSBmaWx0ZXJbJ2ZpbHRlci1jYXNlLXNlbnNpdGl2ZSddO1xuICAgICAgdGhpcy5maWx0ZXJCdWlsZGVyVmFsdWVzID0gZmlsdGVyWydmaWx0ZXItYnVpbGRlci12YWx1ZXMnXTtcbiAgICAgIHRoaXMub0NvbHVtbnMgPSBmaWx0ZXJbJ29Db2x1bW5zJ107XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0b3JlZENvbmZpZ3VyYXRpb25zKCk6IE9UYWJsZUNvbmZpZ3VyYXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXNbJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJ10gfHwgW107XG4gIH1cblxuICBhZGRTdG9yZWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb246IE9UYWJsZUNvbmZpZ3VyYXRpb24pIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXNbJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJ10pKSB7XG4gICAgICB0aGlzWyd1c2VyLXN0b3JlZC1jb25maWd1cmF0aW9ucyddID0gW107XG4gICAgfVxuICAgIHRoaXMuc3RvcmVkQ29uZmlndXJhdGlvbnMucHVzaChjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIGRlbGV0ZVN0b3JlZENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbk5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdG9yZWRDb25maWd1cmF0aW9ucy5maW5kSW5kZXgoKGl0ZW06IE9UYWJsZUNvbmZpZ3VyYXRpb24pID0+IGl0ZW0ubmFtZSA9PT0gY29uZmlndXJhdGlvbk5hbWUpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnN0b3JlZENvbmZpZ3VyYXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmVkQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTogT1RhYmxlQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkQ29uZmlndXJhdGlvbnMuZmluZCgoaXRlbTogT1RhYmxlQ29uZmlndXJhdGlvbikgPT4gaXRlbS5uYW1lID09PSBjb25maWd1cmF0aW9uTmFtZSk7XG4gIH1cblxuICBhcHBseUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbk5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldFN0b3JlZENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbk5hbWUpO1xuICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzID0gY29uZmlndXJhdGlvblsnc3RvcmVkLXByb3BlcnRpZXMnXSB8fCBbXTtcbiAgICAgIGNvbnN0IGNvbmY6IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MgPSBjb25maWd1cmF0aW9uWydzdG9yZWQtY29uZmlndXJhdGlvbiddO1xuICAgICAgdGhpcy5jb3B5UHJvcGVydGllc0Zyb21Db25maWd1cmF0aW9uKHByb3BlcnRpZXMsIGNvbmYpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KHBhZ2VhYmxlOiBib29sZWFuKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgJ3VzZXItc3RvcmVkLWZpbHRlcnMnOiB0aGlzLnN0b3JlZEZpbHRlcnMsXG4gICAgICAndXNlci1zdG9yZWQtY29uZmlndXJhdGlvbnMnOiB0aGlzLnN0b3JlZENvbmZpZ3VyYXRpb25zXG4gICAgfTtcbiAgICBpZiAocGFnZWFibGUpIHtcbiAgICAgIHJlc3VsdFsndG90YWxRdWVyeVJlY29yZHNOdW1iZXInXSA9IHRoaXMudG90YWxRdWVyeVJlY29yZHNOdW1iZXI7XG4gICAgfVxuICAgIHJlc3VsdFsnY3VycmVudFBhZ2UnXSA9IDA7XG5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHt9KTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHJlc3VsdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29weVByb3BlcnRpZXNGcm9tQ29uZmlndXJhdGlvbihwcm9wZXJ0aWVzOiBzdHJpbmdbXSwgY29uZmlndXJhdGlvbjogT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcykge1xuICAgIHByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7XG4gICAgICAgIGNhc2UgJ3NvcnQtY29sdW1ucyc6XG4gICAgICAgICAgdGhpcy5zb3J0Q29sdW1ucyA9IGNvbmZpZ3VyYXRpb25bJ3NvcnQtY29sdW1ucyddO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdvQ29sdW1ucy1kaXNwbGF5JzpcbiAgICAgICAgICB0aGlzLmNvbHVtbnNEaXNwbGF5ID0gY29uZmlndXJhdGlvblsnb0NvbHVtbnMtZGlzcGxheSddO1xuICAgICAgICAgIHRoaXMuc2VsZWN0Q29sdW1uVmlzaWJsZSA9IGNvbmZpZ3VyYXRpb25bJ3NlbGVjdC1jb2x1bW4tdmlzaWJsZSddO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdxdWljay1maWx0ZXInOlxuICAgICAgICBjYXNlICdjb2x1bW5zLWZpbHRlcic6XG4gICAgICAgICAgdGhpcy5jb2x1bW5WYWx1ZUZpbHRlcnMgPSBjb25maWd1cmF0aW9uWydjb2x1bW4tdmFsdWUtZmlsdGVycyddO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdncm91cGVkLWNvbHVtbnMnOlxuICAgICAgICAgIHRoaXMuZ3JvdXBlZENvbHVtbnMgPSBjb25maWd1cmF0aW9uWydncm91cGVkLWNvbHVtbnMnXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFnZSc6XG4gICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IGNvbmZpZ3VyYXRpb25bJ2N1cnJlbnRQYWdlJ107XG4gICAgICAgICAgdGhpcy50b3RhbFF1ZXJ5UmVjb3Jkc051bWJlciA9IGNvbmZpZ3VyYXRpb25bJ3RvdGFsUXVlcnlSZWNvcmRzTnVtYmVyJ107XG4gICAgICAgICAgdGhpcy5xdWVyeVJlY29yZE9mZnNldCA9IGNvbmZpZ3VyYXRpb25bJ3F1ZXJ5UmVjb3JkT2Zmc2V0J107XG4gICAgICAgICAgdGhpcy5xdWVyeVJvd3MgPSBjb25maWd1cmF0aW9uWydxdWVyeS1yb3dzJ107XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2ZpbHRlci1idWlsZGVyJzpcbiAgICAgICAgICB0aGlzLmZpbHRlckJ1aWxkZXJWYWx1ZXMgPSBjb25maWd1cmF0aW9uWydmaWx0ZXItYnVpbGRlciddO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -33,7 +33,8 @@ export class OTableComponentStateService extends AbstractComponentStateService {
33
33
  'grouped-columns',
34
34
  'grouped-column-types',
35
35
  'user-stored-filters',
36
- 'user-stored-configurations'
36
+ 'user-stored-configurations',
37
+ 'expandable-rows'
37
38
  ];
38
39
  Object.assign(dataToStore, this.getTablePropertiesToStore(propertiesKeys));
39
40
  return dataToStore;
@@ -111,6 +112,11 @@ export class OTableComponentStateService extends AbstractComponentStateService {
111
112
  result['filter-builder'] = this.component.filterBuilder.getFilterValues();
112
113
  }
113
114
  break;
115
+ case 'expandable-rows':
116
+ if (this.component.isColumnExpandable()) {
117
+ result['expandable-rows'] = this.state.expandableRows;
118
+ }
119
+ break;
114
120
  }
115
121
  return result;
116
122
  }
@@ -237,4 +243,4 @@ OTableComponentStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "1
237
243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableComponentStateService, decorators: [{
238
244
  type: Injectable
239
245
  }] });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb21wb25lbnQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9zdGF0ZS9vLXRhYmxlLWNvbXBvbmVudC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHNUUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDZCQUF5RTtJQUV4SCxVQUFVLENBQUMsU0FBMEI7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDN0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWdDO1FBQzlDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsTUFBTSwwQkFBMEIsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDO1FBQ3BFLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDN0QsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sV0FBVyxHQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFNLGNBQWMsR0FBRztZQUNyQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsTUFBTTtZQUNOLFdBQVc7WUFDWCx1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQiw0QkFBNEI7U0FDN0IsQ0FBQztRQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBeUI7UUFDbkMsSUFBSSxTQUFTLEdBQXdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1RixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUE7UUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDMUQsU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQWtDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLGdCQUFxQyxFQUFFLGVBQXNCO1FBQzlFLE1BQU0sZ0JBQWdCLEdBQXdCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUMzQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUU1QyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLG1CQUFtQixDQUFDO1FBQy9ELE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUV4RCxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVTLHlCQUF5QixDQUFDLFVBQW9CO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLHVCQUF1QixDQUFDLFFBQWdCO1FBQ2hELElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUNyQixRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLGNBQWM7Z0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN2QyxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7Z0JBQzNDLE1BQU07WUFDUixLQUFLLGdCQUFnQjtnQkFDbkIsTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUN0QyxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMvQyxNQUFNO1lBQ1IsS0FBSyx1QkFBdUI7Z0JBQzFCLE1BQU0sR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztnQkFDN0MsTUFBTTtZQUNSLEtBQUssc0JBQXNCO2dCQUN6QixNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDO2dCQUN0RSxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0I7Z0JBQ25CLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO2dCQUN4RCxNQUFNO1lBQ1IsS0FBSyxpQkFBaUI7Z0JBQ3BCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7Z0JBQy9ELE1BQU07WUFDUixLQUFLLHNCQUFzQjtnQkFDekIsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDbkUsTUFBTTtZQUNSLEtBQUsscUJBQXFCO2dCQUN4QixNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztnQkFDekQsTUFBTTtZQUNSLEtBQUssNEJBQTRCO2dCQUMvQixNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO2dCQUN2RSxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0I7Z0JBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7b0JBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO2lCQUMzRTtnQkFDRCxNQUFNO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDN0QsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsWUFBWTtZQUNoQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTztTQUMzRSxDQUFDO0lBQ0osQ0FBQztJQUVTLDBCQUEwQjtRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUNsRCxNQUFNLFlBQVksR0FBd0IsRUFBRSxDQUFDO1FBQzdDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDN0MsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzFCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxtQkFBbUI7WUFDekQsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzNHLENBQUM7SUFDSixDQUFDO0lBRVMscUJBQXFCO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO1lBQ2hDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBRyxhQUFhLENBQUM7YUFDakQ7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHUyxxQkFBcUI7UUFDN0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUU7WUFDN0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdFLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsa0JBQWtCLENBQUM7YUFDckQ7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxZQUFZO1FBQ3BCLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDN0Q7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUN6QyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztTQUN6RDtRQUFBLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFO1lBQ3pFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7U0FDakQ7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUU7WUFDbEUsTUFBTSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDO1lBQzlFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNqQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFDeEYsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUNwRSxDQUFDO1NBQ0g7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRTtZQUV0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQy9DLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVTLDRCQUE0QjtRQUNwQyxNQUFNLFlBQVksR0FBcUIsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFO1lBQ2xGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSTtnQkFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDbkUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsdUJBQXVCLEVBQUU7Z0JBQ3ZCLGtCQUFrQixFQUFFLFlBQVk7Z0JBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVc7Z0JBQzFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPO2dCQUMxRSx1QkFBdUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQjtnQkFDM0QsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCO2dCQUM5QyxpQ0FBaUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLDJCQUEyQjtnQkFDN0UsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUI7Z0JBQ3RELGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCO2FBQzlEO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFUyxZQUFZO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkQsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsY0FBYyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1NBQzlELENBQUM7SUFDSixDQUFDOzt5SEF4UFUsMkJBQTJCOzZIQUEzQiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBPQ29sdW1uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS9jb2x1bW4vby1jb2x1bW4uY2xhc3MnO1xuaW1wb3J0IHsgT1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS9vLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPRmlsdGVyRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL28tZmlsdGVyLWRlZmluaXRpb24udHlwZSc7XG5pbXBvcnQgeyBPQ29sdW1uRGlzcGxheSB9IGZyb20gJy4uLy4uL3R5cGVzL3RhYmxlL28tY29sdW1uLWRpc3BsYXkudHlwZSc7XG5pbXBvcnQgeyBPQ29sdW1uU2VhcmNoYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3RhYmxlL28tY29sdW1uLXNlYXJjaGFibGUudHlwZSc7XG5pbXBvcnQgeyBPVGFibGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlRmlsdGVyc1N0YXR1cywgT1RhYmxlU3RvcmVkRmlsdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1maWx0ZXItc3RhdHVzLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb21wb25lbnRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL28tY29tcG9uZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcyB9IGZyb20gJy4vby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT1RhYmxlQ29tcG9uZW50U3RhdGVTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnRTdGF0ZVNlcnZpY2U8T1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcywgT1RhYmxlQ29tcG9uZW50PiB7XG5cbiAgaW5pdGlhbGl6ZShjb21wb25lbnQ6IE9UYWJsZUNvbXBvbmVudCkge1xuICAgIHRoaXMuc3RhdGUgPSBuZXcgT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcygpO1xuICAgIHN1cGVyLmluaXRpYWxpemUoY29tcG9uZW50KTtcbiAgfVxuXG4gIGluaXRpYWxpemVTdGF0ZShzdGF0ZTogT1RhYmxlQ29tcG9uZW50U3RhdGVDbGFzcykge1xuICAgIHN1cGVyLmluaXRpYWxpemVTdGF0ZShzdGF0ZSk7XG4gICAgY29uc3QgaW5pdGlhbENvbmZpZ3VyYXRpb25SYXdPYmogPSBzdGF0ZS5pbml0aWFsQ29uZmlndXJhdGlvbiB8fCB7fTtcbiAgICBzdGF0ZS5pbml0aWFsQ29uZmlndXJhdGlvbiA9IG5ldyBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzKCk7XG4gICAgc3RhdGUuaW5pdGlhbENvbmZpZ3VyYXRpb24uc2V0RGF0YShpbml0aWFsQ29uZmlndXJhdGlvblJhd09iaik7XG4gIH1cblxuICByZWZyZXNoU2VsZWN0aW9uKCkge1xuICAgIHRoaXMuc3RhdGUuc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb25TdGF0ZSgpO1xuICB9XG5cbiAgZ2V0RGF0YVRvU3RvcmUoKTogYW55IHtcbiAgICBjb25zdCBkYXRhVG9TdG9yZTogYW55ID0ge307XG4gICAgY29uc3QgcHJvcGVydGllc0tleXMgPSBbXG4gICAgICAnc29ydC1jb2x1bW5zJyxcbiAgICAgICdvQ29sdW1ucy1kaXNwbGF5JyxcbiAgICAgICdjb2x1bW5zLWZpbHRlcicsXG4gICAgICAncXVpY2stZmlsdGVyJyxcbiAgICAgICdwYWdlJyxcbiAgICAgICdzZWxlY3Rpb24nLFxuICAgICAgJ2luaXRpYWwtY29uZmlndXJhdGlvbicsXG4gICAgICAnZmlsdGVyLWNvbHVtbnMnLFxuICAgICAgJ2ZpbHRlci1jb2x1bW4tYWN0aXZlJyxcbiAgICAgICdncm91cGVkLWNvbHVtbnMnLFxuICAgICAgJ2dyb3VwZWQtY29sdW1uLXR5cGVzJyxcbiAgICAgICd1c2VyLXN0b3JlZC1maWx0ZXJzJyxcbiAgICAgICd1c2VyLXN0b3JlZC1jb25maWd1cmF0aW9ucydcbiAgICBdO1xuICAgIE9iamVjdC5hc3NpZ24oZGF0YVRvU3RvcmUsIHRoaXMuZ2V0VGFibGVQcm9wZXJ0aWVzVG9TdG9yZShwcm9wZXJ0aWVzS2V5cykpO1xuICAgIHJldHVybiBkYXRhVG9TdG9yZTtcbiAgfVxuXG4gIHN0b3JlRmlsdGVyKGZpbHRlcjogT0ZpbHRlckRlZmluaXRpb24pIHtcbiAgICBsZXQgbmV3RmlsdGVyOiBPVGFibGVGaWx0ZXJzU3RhdHVzID0geyBuYW1lOiBmaWx0ZXIubmFtZSwgZGVzY3JpcHRpb246IGZpbHRlci5kZXNjcmlwdGlvbiB9O1xuICAgIGNvbnN0IHN0b3JlZEZpbHRlciA9IHt9XG4gICAgT2JqZWN0LmFzc2lnbihzdG9yZWRGaWx0ZXIsIHRoaXMuZ2V0Q29sdW1uRmlsdGVyc1N0YXRlKCkpO1xuICAgIE9iamVjdC5hc3NpZ24oc3RvcmVkRmlsdGVyLCB0aGlzLmdldENvbHVtbnNRdWlja0ZpbHRlclN0YXRlKCkpO1xuICAgIE9iamVjdC5hc3NpZ24oc3RvcmVkRmlsdGVyLCB0aGlzLmdldEZpbHRlckJ1aWxkZXJTdGF0ZSgpKTtcbiAgICBuZXdGaWx0ZXJbJ3N0b3JlZC1maWx0ZXInXSA9IHN0b3JlZEZpbHRlciBhcyBPVGFibGVTdG9yZWRGaWx0ZXI7XG4gICAgdGhpcy5zdGF0ZS5hZGRTdG9yZWRGaWx0ZXIobmV3RmlsdGVyKTtcbiAgfVxuXG4gIHN0b3JlQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uQWdzOiBPVGFibGVDb25maWd1cmF0aW9uLCB0YWJsZVByb3BlcnRpZXM6IGFueVtdKSB7XG4gICAgY29uc3QgbmV3Q29uZmlndXJhdGlvbjogT1RhYmxlQ29uZmlndXJhdGlvbiA9IHt9O1xuICAgIHRoaXMuY29tcG9uZW50LnN0b3JlUGFnaW5hdGlvblN0YXRlID0gdHJ1ZTtcbiAgICBjb25zdCBzdG9yZWRDb25maWd1cmF0aW9uID0gdGhpcy5nZXRUYWJsZVByb3BlcnRpZXNUb1N0b3JlKHRhYmxlUHJvcGVydGllcyk7XG4gICAgdGhpcy5jb21wb25lbnQuc3RvcmVQYWdpbmF0aW9uU3RhdGUgPSBmYWxzZTtcblxuICAgIG5ld0NvbmZpZ3VyYXRpb25bJ3N0b3JlZC1jb25maWd1cmF0aW9uJ10gPSBzdG9yZWRDb25maWd1cmF0aW9uO1xuICAgIE9iamVjdC5hc3NpZ24obmV3Q29uZmlndXJhdGlvbiwgY29uZmlndXJhdGlvbkFncyk7XG4gICAgbmV3Q29uZmlndXJhdGlvblsnc3RvcmVkLXByb3BlcnRpZXMnXSA9IHRhYmxlUHJvcGVydGllcztcblxuICAgIHRoaXMuc3RhdGUuYWRkU3RvcmVkQ29uZmlndXJhdGlvbihuZXdDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUYWJsZVByb3BlcnRpZXNUb1N0b3JlKHByb3BlcnRpZXM6IHN0cmluZ1tdKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdGhpcy5nZXRUYWJsZVByb3BlcnR5VG9TdG9yZShwcm9wKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUYWJsZVByb3BlcnR5VG9TdG9yZShwcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICBzd2l0Y2ggKHByb3BlcnR5KSB7XG4gICAgICBjYXNlICdzb3J0LWNvbHVtbnMnOlxuICAgICAgICByZXN1bHQgPSB0aGlzLmdldFNvcnRTdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29Db2x1bW5zLWRpc3BsYXknOlxuICAgICAgICByZXN1bHQgPSB0aGlzLmdldENvbHVtbnNEaXNwbGF5U3RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdxdWljay1maWx0ZXInOlxuICAgICAgICByZXN1bHQgPSB0aGlzLmdldENvbHVtbnNRdWlja0ZpbHRlclN0YXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29sdW1ucy1maWx0ZXInOlxuICAgICAgICByZXN1bHQgPSB0aGlzLmdldENvbHVtbkZpbHRlcnNTdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3BhZ2UnOlxuICAgICAgICByZXN1bHQgPSB0aGlzLmdldFBhZ2VTdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XG4gICAgICAgIHJlc3VsdFsnc2VsZWN0aW9uJ10gPSB0aGlzLmdldFNlbGVjdGlvblN0YXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW5pdGlhbC1jb25maWd1cmF0aW9uJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRJbml0aWFsQ29uZmlndXJhdGlvblN0YXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmlsdGVyLWNvbHVtbi1hY3RpdmUnOlxuICAgICAgICByZXN1bHRbJ2ZpbHRlci1jb2x1bW4tYWN0aXZlJ10gPSB0aGlzLmNvbXBvbmVudC5pc0NvbHVtbkZpbHRlcnNBY3RpdmU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmlsdGVyLWNvbHVtbnMnOlxuICAgICAgICByZXN1bHRbJ2ZpbHRlci1jb2x1bW5zJ10gPSB0aGlzLmNvbXBvbmVudC5maWx0ZXJDb2x1bW5zO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dyb3VwZWQtY29sdW1ucyc6XG4gICAgICAgIHJlc3VsdFsnZ3JvdXBlZC1jb2x1bW5zJ10gPSB0aGlzLmNvbXBvbmVudC5ncm91cGVkQ29sdW1uc0FycmF5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dyb3VwZWQtY29sdW1uLXR5cGVzJzpcbiAgICAgICAgcmVzdWx0Wydncm91cGVkLWNvbHVtbi10eXBlcyddID0gdGhpcy5jb21wb25lbnQuZ3JvdXBlZENvbHVtblR5cGVzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VzZXItc3RvcmVkLWZpbHRlcnMnOlxuICAgICAgICByZXN1bHRbJ3VzZXItc3RvcmVkLWZpbHRlcnMnXSA9IHRoaXMuc3RhdGUuc3RvcmVkRmlsdGVycztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1c2VyLXN0b3JlZC1jb25maWd1cmF0aW9ucyc6XG4gICAgICAgIHJlc3VsdFsndXNlci1zdG9yZWQtY29uZmlndXJhdGlvbnMnXSA9IHRoaXMuc3RhdGUuc3RvcmVkQ29uZmlndXJhdGlvbnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmlsdGVyLWJ1aWxkZXInOlxuICAgICAgICBpZiAodGhpcy5jb21wb25lbnQuZmlsdGVyQnVpbGRlcikge1xuICAgICAgICAgIHJlc3VsdFsnZmlsdGVyLWJ1aWxkZXInXSA9IHRoaXMuY29tcG9uZW50LmZpbHRlckJ1aWxkZXIuZ2V0RmlsdGVyVmFsdWVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uc0Rpc3BsYXlTdGF0ZSgpIHtcbiAgICBjb25zdCBvQ29sdW1uc0RhdGEgPSBbXTtcbiAgICB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zLmNvbHVtbnMuZm9yRWFjaCgob0NvbDogT0NvbHVtbikgPT4ge1xuICAgICAgb0NvbHVtbnNEYXRhLnB1c2goe1xuICAgICAgICBhdHRyOiBvQ29sLmF0dHIsXG4gICAgICAgIHZpc2libGU6IG9Db2wudmlzaWJsZSxcbiAgICAgICAgd2lkdGg6IG9Db2wuZ2V0V2lkdGhUb1N0b3JlKClcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnb0NvbHVtbnMtZGlzcGxheSc6IG9Db2x1bW5zRGF0YSxcbiAgICAgICdzZWxlY3QtY29sdW1uLXZpc2libGUnOiB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zLnNlbGVjdENvbHVtbi52aXNpYmxlXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5zUXVpY2tGaWx0ZXJTdGF0ZSgpIHtcbiAgICBjb25zdCB0YWJsZU9wdGlvbnMgPSB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zO1xuICAgIGNvbnN0IG9Db2x1bW5zRGF0YTogT0NvbHVtblNlYXJjaGFibGVbXSA9IFtdO1xuICAgIHRhYmxlT3B0aW9ucy5jb2x1bW5zLmZvckVhY2goKG9Db2w6IE9Db2x1bW4pID0+IHtcbiAgICAgIG9Db2x1bW5zRGF0YS5wdXNoKHtcbiAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICBzZWFyY2hhYmxlOiBvQ29sLnNlYXJjaGFibGUsXG4gICAgICAgIHNlYXJjaGluZzogb0NvbC5zZWFyY2hpbmdcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnb0NvbHVtbnMnOiBvQ29sdW1uc0RhdGEsXG4gICAgICAnZmlsdGVyLWNhc2Utc2Vuc2l0aXZlJzogdGFibGVPcHRpb25zLmZpbHRlckNhc2VTZW5zaXRpdmUsXG4gICAgICAnZmlsdGVyJzogdGhpcy5jb21wb25lbnQub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQgPyB0aGlzLmNvbXBvbmVudC5vVGFibGVRdWlja0ZpbHRlckNvbXBvbmVudC52YWx1ZSA6ICcnXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWx0ZXJCdWlsZGVyU3RhdGUoKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBpZiAodGhpcy5jb21wb25lbnQuZmlsdGVyQnVpbGRlcikge1xuICAgICAgbGV0IGZpbHRlckJ1aWxkZXIgPSB0aGlzLmNvbXBvbmVudC5maWx0ZXJCdWlsZGVyLmdldEZpbHRlclZhbHVlcygpO1xuICAgICAgaWYgKCFVdGlsLmlzT2JqZWN0RW1wdHkoZmlsdGVyQnVpbGRlcikpIHtcbiAgICAgICAgcmVzdWx0WydmaWx0ZXItYnVpbGRlci12YWx1ZXMnXSA9IGZpbHRlckJ1aWxkZXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5GaWx0ZXJzU3RhdGUoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgaWYgKHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UpIHtcbiAgICAgIGNvbnN0IGNvbHVtblZhbHVlRmlsdGVycyA9IHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UuZ2V0Q29sdW1uVmFsdWVGaWx0ZXJzKCk7XG4gICAgICBpZiAoY29sdW1uVmFsdWVGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0Wydjb2x1bW4tdmFsdWUtZmlsdGVycyddID0gY29sdW1uVmFsdWVGaWx0ZXJzO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VTdGF0ZSgpOiBhbnkge1xuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG5cbiAgICBpZiAodGhpcy5jb21wb25lbnQubWF0cGFnaW5hdG9yKSB7XG4gICAgICByZXN1bHRbJ3F1ZXJ5LXJvd3MnXSA9IHRoaXMuY29tcG9uZW50Lm1hdHBhZ2luYXRvci5wYWdlU2l6ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29tcG9uZW50LnN0YXRlLnF1ZXJ5Um93cykge1xuICAgICAgcmVzdWx0WydxdWVyeS1yb3dzJ10gPSB0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJvd3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFsncXVlcnktcm93cyddID0gdGhpcy5jb21wb25lbnQub3JpZ2luYWxRdWVyeVJvd3M7XG4gICAgfTtcblxuICAgIGlmICh0aGlzLmNvbXBvbmVudC5jdXJyZW50UGFnZSA+IDAgJiYgdGhpcy5jb21wb25lbnQuc3RvcmVQYWdpbmF0aW9uU3RhdGUpIHtcbiAgICAgIHJlc3VsdC5jdXJyZW50UGFnZSA9IHRoaXMuY29tcG9uZW50LmN1cnJlbnRQYWdlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnQucGFnZWFibGUgJiYgdGhpcy5jb21wb25lbnQuc3RvcmVQYWdpbmF0aW9uU3RhdGUpIHtcbiAgICAgIHJlc3VsdC50b3RhbFF1ZXJ5UmVjb3Jkc051bWJlciA9IHRoaXMuY29tcG9uZW50LnN0YXRlLnRvdGFsUXVlcnlSZWNvcmRzTnVtYmVyO1xuICAgICAgcmVzdWx0LnF1ZXJ5UmVjb3JkT2Zmc2V0ID0gTWF0aC5tYXgoXG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJlY29yZE9mZnNldCAtIHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UucmVuZGVyZWREYXRhLmxlbmd0aCksXG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJlY29yZE9mZnNldCAtIHRoaXMuY29tcG9uZW50LnF1ZXJ5Um93cylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0aW9uU3RhdGUoKTogYW55IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBbXTtcbiAgICBpZiAodGhpcy5jb21wb25lbnQgJiYgdGhpcy5jb21wb25lbnQua2VlcFNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIC8vIHN0b3Jpbmcgc2VsZWN0ZWQgaXRlbXMga2V5cyB2YWx1ZXNcbiAgICAgIGNvbnN0IHRhYmxlS2V5cyA9IHRoaXMuY29tcG9uZW50LmdldEtleXMoKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmdldFNlbGVjdGVkSXRlbXMoKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0ge307XG4gICAgICAgIHRhYmxlS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgZGF0YVtrZXldID0gaXRlbVtrZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0aW9uLnB1c2goZGF0YSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJbml0aWFsQ29uZmlndXJhdGlvblN0YXRlKCk6IGFueSB7XG4gICAgY29uc3Qgb0NvbHVtbnNEYXRhOiBPQ29sdW1uRGlzcGxheVtdID0gW107XG4gICAgVXRpbC5wYXJzZUFycmF5KHRoaXMuY29tcG9uZW50LnZpc2libGVDb2x1bW5zLCB0cnVlKS5mb3JFYWNoKChjb2x1bW5BdHRyOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBvQ29sID0gdGhpcy5jb21wb25lbnQuZ2V0T0NvbHVtbihjb2x1bW5BdHRyKTtcbiAgICAgIG9Db2x1bW5zRGF0YS5wdXNoKHtcbiAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICB3aWR0aDogb0NvbC5kZWZpbml0aW9uID8gb0NvbC5kZWZpbml0aW9uLm9yaWdpbmFsV2lkdGggOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnaW5pdGlhbC1jb25maWd1cmF0aW9uJzoge1xuICAgICAgICAnb0NvbHVtbnMtZGlzcGxheSc6IG9Db2x1bW5zRGF0YSxcbiAgICAgICAgJ3NvcnQtY29sdW1ucyc6IHRoaXMuY29tcG9uZW50LnNvcnRDb2x1bW5zLFxuICAgICAgICAnc2VsZWN0LWNvbHVtbi12aXNpYmxlJzogdGhpcy5jb21wb25lbnQub1RhYmxlT3B0aW9ucy5zZWxlY3RDb2x1bW4udmlzaWJsZSxcbiAgICAgICAgJ2ZpbHRlci1jYXNlLXNlbnNpdGl2ZSc6IHRoaXMuY29tcG9uZW50LmZpbHRlckNhc2VTZW5zaXRpdmUsXG4gICAgICAgICdxdWVyeS1yb3dzJzogdGhpcy5jb21wb25lbnQub3JpZ2luYWxRdWVyeVJvd3MsXG4gICAgICAgICdmaWx0ZXItY29sdW1uLWFjdGl2ZS1ieS1kZWZhdWx0JzogdGhpcy5jb21wb25lbnQuZmlsdGVyQ29sdW1uQWN0aXZlQnlEZWZhdWx0LFxuICAgICAgICAnZmlsdGVyLWNvbHVtbnMnOiB0aGlzLmNvbXBvbmVudC5vcmlnaW5hbEZpbHRlckNvbHVtbnMsXG4gICAgICAgICdncm91cGVkLWNvbHVtbnMnOiB0aGlzLmNvbXBvbmVudC5vcmlnaW5hbEdyb3VwZWRDb2x1bW5zQXJyYXlcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNvcnRTdGF0ZSgpIHtcbiAgICBjb25zdCBzb3J0Q29sdW1ucyA9IFtdO1xuICAgIHRoaXMuY29tcG9uZW50LnNvcnQ/LmdldFNvcnRDb2x1bW5zKCkuZm9yRWFjaChzb3J0RGF0YSA9PiB7XG4gICAgICBzb3J0Q29sdW1ucy5wdXNoKHNvcnREYXRhLmlkICsgQ29kZXMuQ09MVU1OU19BTElBU19TRVBBUkFUT1IgKyBzb3J0RGF0YS5kaXJlY3Rpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnc29ydC1jb2x1bW5zJzogc29ydENvbHVtbnMuam9pbihDb2Rlcy5BUlJBWV9JTlBVVF9TRVBBUkFUT1IpXG4gICAgfTtcbiAgfVxufVxuXG5cbiJdfQ==
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jb21wb25lbnQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9zdGF0ZS9vLXRhYmxlLWNvbXBvbmVudC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHNUUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDZCQUF5RTtJQUV4SCxVQUFVLENBQUMsU0FBMEI7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDN0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWdDO1FBQzlDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsTUFBTSwwQkFBMEIsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDO1FBQ3BFLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDN0QsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsRCxDQUFD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dkIsa0JBQWtCLEVBQUUsWUFBWTtnQkFDaEMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVztnQkFDMUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU87Z0JBQzFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CO2dCQUMzRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUI7Z0JBQzlDLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCO2dCQUM3RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQjtnQkFDdEQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkI7YUFDOUQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLFlBQVk7UUFDcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2RCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU87WUFDTCxjQUFjLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7O3lIQTlQVSwyQkFBMkI7NkhBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL28tdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE9GaWx0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvby1maWx0ZXItZGVmaW5pdGlvbi50eXBlJztcbmltcG9ydCB7IE9Db2x1bW5EaXNwbGF5IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tZGlzcGxheS50eXBlJztcbmltcG9ydCB7IE9Db2x1bW5TZWFyY2hhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tc2VhcmNoYWJsZS50eXBlJztcbmltcG9ydCB7IE9UYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWNvbmZpZ3VyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBPVGFibGVGaWx0ZXJzU3RhdHVzLCBPVGFibGVTdG9yZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1zdGF0dXMudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4vby1jb21wb25lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzIH0gZnJvbSAnLi9vLXRhYmxlLWNvbXBvbmVudC1zdGF0ZS5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVGFibGVDb21wb25lbnRTdGF0ZVNlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudFN0YXRlU2VydmljZTxPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzLCBPVGFibGVDb21wb25lbnQ+IHtcblxuICBpbml0aWFsaXplKGNvbXBvbmVudDogT1RhYmxlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5zdGF0ZSA9IG5ldyBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzKCk7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZShjb21wb25lbnQpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZVN0YXRlKHN0YXRlOiBPVGFibGVDb21wb25lbnRTdGF0ZUNsYXNzKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZVN0YXRlKHN0YXRlKTtcbiAgICBjb25zdCBpbml0aWFsQ29uZmlndXJhdGlvblJhd09iaiA9IHN0YXRlLmluaXRpYWxDb25maWd1cmF0aW9uIHx8IHt9O1xuICAgIHN0YXRlLmluaXRpYWxDb25maWd1cmF0aW9uID0gbmV3IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MoKTtcbiAgICBzdGF0ZS5pbml0aWFsQ29uZmlndXJhdGlvbi5zZXREYXRhKGluaXRpYWxDb25maWd1cmF0aW9uUmF3T2JqKTtcbiAgfVxuXG4gIHJlZnJlc2hTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zdGF0ZS5zZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvblN0YXRlKCk7XG4gIH1cblxuICBnZXREYXRhVG9TdG9yZSgpOiBhbnkge1xuICAgIGNvbnN0IGRhdGFUb1N0b3JlOiBhbnkgPSB7fTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzS2V5cyA9IFtcbiAgICAgICdzb3J0LWNvbHVtbnMnLFxuICAgICAgJ29Db2x1bW5zLWRpc3BsYXknLFxuICAgICAgJ2NvbHVtbnMtZmlsdGVyJyxcbiAgICAgICdxdWljay1maWx0ZXInLFxuICAgICAgJ3BhZ2UnLFxuICAgICAgJ3NlbGVjdGlvbicsXG4gICAgICAnaW5pdGlhbC1jb25maWd1cmF0aW9uJyxcbiAgICAgICdmaWx0ZXItY29sdW1ucycsXG4gICAgICAnZmlsdGVyLWNvbHVtbi1hY3RpdmUnLFxuICAgICAgJ2dyb3VwZWQtY29sdW1ucycsXG4gICAgICAnZ3JvdXBlZC1jb2x1bW4tdHlwZXMnLFxuICAgICAgJ3VzZXItc3RvcmVkLWZpbHRlcnMnLFxuICAgICAgJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJyxcbiAgICAgICdleHBhbmRhYmxlLXJvd3MnXG4gICAgXTtcbiAgICBPYmplY3QuYXNzaWduKGRhdGFUb1N0b3JlLCB0aGlzLmdldFRhYmxlUHJvcGVydGllc1RvU3RvcmUocHJvcGVydGllc0tleXMpKTtcbiAgICByZXR1cm4gZGF0YVRvU3RvcmU7XG4gIH1cblxuICBzdG9yZUZpbHRlcihmaWx0ZXI6IE9GaWx0ZXJEZWZpbml0aW9uKSB7XG4gICAgbGV0IG5ld0ZpbHRlcjogT1RhYmxlRmlsdGVyc1N0YXR1cyA9IHsgbmFtZTogZmlsdGVyLm5hbWUsIGRlc2NyaXB0aW9uOiBmaWx0ZXIuZGVzY3JpcHRpb24gfTtcbiAgICBjb25zdCBzdG9yZWRGaWx0ZXIgPSB7fVxuICAgIE9iamVjdC5hc3NpZ24oc3RvcmVkRmlsdGVyLCB0aGlzLmdldENvbHVtbkZpbHRlcnNTdGF0ZSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHN0b3JlZEZpbHRlciwgdGhpcy5nZXRDb2x1bW5zUXVpY2tGaWx0ZXJTdGF0ZSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHN0b3JlZEZpbHRlciwgdGhpcy5nZXRGaWx0ZXJCdWlsZGVyU3RhdGUoKSk7XG4gICAgbmV3RmlsdGVyWydzdG9yZWQtZmlsdGVyJ10gPSBzdG9yZWRGaWx0ZXIgYXMgT1RhYmxlU3RvcmVkRmlsdGVyO1xuICAgIHRoaXMuc3RhdGUuYWRkU3RvcmVkRmlsdGVyKG5ld0ZpbHRlcik7XG4gIH1cblxuICBzdG9yZUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbkFnczogT1RhYmxlQ29uZmlndXJhdGlvbiwgdGFibGVQcm9wZXJ0aWVzOiBhbnlbXSkge1xuICAgIGNvbnN0IG5ld0NvbmZpZ3VyYXRpb246IE9UYWJsZUNvbmZpZ3VyYXRpb24gPSB7fTtcbiAgICB0aGlzLmNvbXBvbmVudC5zdG9yZVBhZ2luYXRpb25TdGF0ZSA9IHRydWU7XG4gICAgY29uc3Qgc3RvcmVkQ29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0VGFibGVQcm9wZXJ0aWVzVG9TdG9yZSh0YWJsZVByb3BlcnRpZXMpO1xuICAgIHRoaXMuY29tcG9uZW50LnN0b3JlUGFnaW5hdGlvblN0YXRlID0gZmFsc2U7XG5cbiAgICBuZXdDb25maWd1cmF0aW9uWydzdG9yZWQtY29uZmlndXJhdGlvbiddID0gc3RvcmVkQ29uZmlndXJhdGlvbjtcbiAgICBPYmplY3QuYXNzaWduKG5ld0NvbmZpZ3VyYXRpb24sIGNvbmZpZ3VyYXRpb25BZ3MpO1xuICAgIG5ld0NvbmZpZ3VyYXRpb25bJ3N0b3JlZC1wcm9wZXJ0aWVzJ10gPSB0YWJsZVByb3BlcnRpZXM7XG5cbiAgICB0aGlzLnN0YXRlLmFkZFN0b3JlZENvbmZpZ3VyYXRpb24obmV3Q29uZmlndXJhdGlvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VGFibGVQcm9wZXJ0aWVzVG9TdG9yZShwcm9wZXJ0aWVzOiBzdHJpbmdbXSk6IGFueSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgcHJvcGVydGllcy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihyZXN1bHQsIHRoaXMuZ2V0VGFibGVQcm9wZXJ0eVRvU3RvcmUocHJvcCkpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VGFibGVQcm9wZXJ0eVRvU3RvcmUocHJvcGVydHk6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHJlc3VsdDogYW55ID0ge307XG4gICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgY2FzZSAnc29ydC1jb2x1bW5zJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRTb3J0U3RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvQ29sdW1ucy1kaXNwbGF5JzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRDb2x1bW5zRGlzcGxheVN0YXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncXVpY2stZmlsdGVyJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRDb2x1bW5zUXVpY2tGaWx0ZXJTdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NvbHVtbnMtZmlsdGVyJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRDb2x1bW5GaWx0ZXJzU3RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwYWdlJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRQYWdlU3RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWxlY3Rpb24nOlxuICAgICAgICByZXN1bHRbJ3NlbGVjdGlvbiddID0gdGhpcy5nZXRTZWxlY3Rpb25TdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2luaXRpYWwtY29uZmlndXJhdGlvbic6XG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0SW5pdGlhbENvbmZpZ3VyYXRpb25TdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZpbHRlci1jb2x1bW4tYWN0aXZlJzpcbiAgICAgICAgcmVzdWx0WydmaWx0ZXItY29sdW1uLWFjdGl2ZSddID0gdGhpcy5jb21wb25lbnQuaXNDb2x1bW5GaWx0ZXJzQWN0aXZlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZpbHRlci1jb2x1bW5zJzpcbiAgICAgICAgcmVzdWx0WydmaWx0ZXItY29sdW1ucyddID0gdGhpcy5jb21wb25lbnQuZmlsdGVyQ29sdW1ucztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdncm91cGVkLWNvbHVtbnMnOlxuICAgICAgICByZXN1bHRbJ2dyb3VwZWQtY29sdW1ucyddID0gdGhpcy5jb21wb25lbnQuZ3JvdXBlZENvbHVtbnNBcnJheTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdncm91cGVkLWNvbHVtbi10eXBlcyc6XG4gICAgICAgIHJlc3VsdFsnZ3JvdXBlZC1jb2x1bW4tdHlwZXMnXSA9IHRoaXMuY29tcG9uZW50Lmdyb3VwZWRDb2x1bW5UeXBlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1c2VyLXN0b3JlZC1maWx0ZXJzJzpcbiAgICAgICAgcmVzdWx0Wyd1c2VyLXN0b3JlZC1maWx0ZXJzJ10gPSB0aGlzLnN0YXRlLnN0b3JlZEZpbHRlcnM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndXNlci1zdG9yZWQtY29uZmlndXJhdGlvbnMnOlxuICAgICAgICByZXN1bHRbJ3VzZXItc3RvcmVkLWNvbmZpZ3VyYXRpb25zJ10gPSB0aGlzLnN0YXRlLnN0b3JlZENvbmZpZ3VyYXRpb25zO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZpbHRlci1idWlsZGVyJzpcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50LmZpbHRlckJ1aWxkZXIpIHtcbiAgICAgICAgICByZXN1bHRbJ2ZpbHRlci1idWlsZGVyJ10gPSB0aGlzLmNvbXBvbmVudC5maWx0ZXJCdWlsZGVyLmdldEZpbHRlclZhbHVlcygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXhwYW5kYWJsZS1yb3dzJzpcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50LmlzQ29sdW1uRXhwYW5kYWJsZSgpKSB7XG4gICAgICAgICAgcmVzdWx0WydleHBhbmRhYmxlLXJvd3MnXSA9IHRoaXMuc3RhdGUuZXhwYW5kYWJsZVJvd3M7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uc0Rpc3BsYXlTdGF0ZSgpIHtcbiAgICBjb25zdCBvQ29sdW1uc0RhdGEgPSBbXTtcbiAgICB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zLmNvbHVtbnMuZm9yRWFjaCgob0NvbDogT0NvbHVtbikgPT4ge1xuICAgICAgb0NvbHVtbnNEYXRhLnB1c2goe1xuICAgICAgICBhdHRyOiBvQ29sLmF0dHIsXG4gICAgICAgIHZpc2libGU6IG9Db2wudmlzaWJsZSxcbiAgICAgICAgd2lkdGg6IG9Db2wuZ2V0V2lkdGhUb1N0b3JlKClcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnb0NvbHVtbnMtZGlzcGxheSc6IG9Db2x1bW5zRGF0YSxcbiAgICAgICdzZWxlY3QtY29sdW1uLXZpc2libGUnOiB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zLnNlbGVjdENvbHVtbi52aXNpYmxlXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5zUXVpY2tGaWx0ZXJTdGF0ZSgpIHtcbiAgICBjb25zdCB0YWJsZU9wdGlvbnMgPSB0aGlzLmNvbXBvbmVudC5vVGFibGVPcHRpb25zO1xuICAgIGNvbnN0IG9Db2x1bW5zRGF0YTogT0NvbHVtblNlYXJjaGFibGVbXSA9IFtdO1xuICAgIHRhYmxlT3B0aW9ucy5jb2x1bW5zLmZvckVhY2goKG9Db2w6IE9Db2x1bW4pID0+IHtcbiAgICAgIG9Db2x1bW5zRGF0YS5wdXNoKHtcbiAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICBzZWFyY2hhYmxlOiBvQ29sLnNlYXJjaGFibGUsXG4gICAgICAgIHNlYXJjaGluZzogb0NvbC5zZWFyY2hpbmdcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnb0NvbHVtbnMnOiBvQ29sdW1uc0RhdGEsXG4gICAgICAnZmlsdGVyLWNhc2Utc2Vuc2l0aXZlJzogdGFibGVPcHRpb25zLmZpbHRlckNhc2VTZW5zaXRpdmUsXG4gICAgICAnZmlsdGVyJzogdGhpcy5jb21wb25lbnQub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQgPyB0aGlzLmNvbXBvbmVudC5vVGFibGVRdWlja0ZpbHRlckNvbXBvbmVudC52YWx1ZSA6ICcnXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWx0ZXJCdWlsZGVyU3RhdGUoKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBpZiAodGhpcy5jb21wb25lbnQuZmlsdGVyQnVpbGRlcikge1xuICAgICAgbGV0IGZpbHRlckJ1aWxkZXIgPSB0aGlzLmNvbXBvbmVudC5maWx0ZXJCdWlsZGVyLmdldEZpbHRlclZhbHVlcygpO1xuICAgICAgaWYgKCFVdGlsLmlzT2JqZWN0RW1wdHkoZmlsdGVyQnVpbGRlcikpIHtcbiAgICAgICAgcmVzdWx0WydmaWx0ZXItYnVpbGRlci12YWx1ZXMnXSA9IGZpbHRlckJ1aWxkZXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBnZXRDb2x1bW5GaWx0ZXJzU3RhdGUoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgaWYgKHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UpIHtcbiAgICAgIGNvbnN0IGNvbHVtblZhbHVlRmlsdGVycyA9IHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UuZ2V0Q29sdW1uVmFsdWVGaWx0ZXJzKCk7XG4gICAgICBpZiAoY29sdW1uVmFsdWVGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0Wydjb2x1bW4tdmFsdWUtZmlsdGVycyddID0gY29sdW1uVmFsdWVGaWx0ZXJzO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VTdGF0ZSgpOiBhbnkge1xuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG5cbiAgICBpZiAodGhpcy5jb21wb25lbnQubWF0cGFnaW5hdG9yKSB7XG4gICAgICByZXN1bHRbJ3F1ZXJ5LXJvd3MnXSA9IHRoaXMuY29tcG9uZW50Lm1hdHBhZ2luYXRvci5wYWdlU2l6ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29tcG9uZW50LnN0YXRlLnF1ZXJ5Um93cykge1xuICAgICAgcmVzdWx0WydxdWVyeS1yb3dzJ10gPSB0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJvd3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFsncXVlcnktcm93cyddID0gdGhpcy5jb21wb25lbnQub3JpZ2luYWxRdWVyeVJvd3M7XG4gICAgfTtcblxuICAgIGlmICh0aGlzLmNvbXBvbmVudC5jdXJyZW50UGFnZSA+IDAgJiYgdGhpcy5jb21wb25lbnQuc3RvcmVQYWdpbmF0aW9uU3RhdGUpIHtcbiAgICAgIHJlc3VsdC5jdXJyZW50UGFnZSA9IHRoaXMuY29tcG9uZW50LmN1cnJlbnRQYWdlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnQucGFnZWFibGUgJiYgdGhpcy5jb21wb25lbnQuc3RvcmVQYWdpbmF0aW9uU3RhdGUpIHtcbiAgICAgIHJlc3VsdC50b3RhbFF1ZXJ5UmVjb3Jkc051bWJlciA9IHRoaXMuY29tcG9uZW50LnN0YXRlLnRvdGFsUXVlcnlSZWNvcmRzTnVtYmVyO1xuICAgICAgcmVzdWx0LnF1ZXJ5UmVjb3JkT2Zmc2V0ID0gTWF0aC5tYXgoXG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJlY29yZE9mZnNldCAtIHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UucmVuZGVyZWREYXRhLmxlbmd0aCksXG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJlY29yZE9mZnNldCAtIHRoaXMuY29tcG9uZW50LnF1ZXJ5Um93cylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0aW9uU3RhdGUoKTogYW55IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBbXTtcbiAgICBpZiAodGhpcy5jb21wb25lbnQgJiYgdGhpcy5jb21wb25lbnQua2VlcFNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIC8vIHN0b3Jpbmcgc2VsZWN0ZWQgaXRlbXMga2V5cyB2YWx1ZXNcbiAgICAgIGNvbnN0IHRhYmxlS2V5cyA9IHRoaXMuY29tcG9uZW50LmdldEtleXMoKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmdldFNlbGVjdGVkSXRlbXMoKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0ge307XG4gICAgICAgIHRhYmxlS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgZGF0YVtrZXldID0gaXRlbVtrZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0aW9uLnB1c2goZGF0YSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJbml0aWFsQ29uZmlndXJhdGlvblN0YXRlKCk6IGFueSB7XG4gICAgY29uc3Qgb0NvbHVtbnNEYXRhOiBPQ29sdW1uRGlzcGxheVtdID0gW107XG4gICAgVXRpbC5wYXJzZUFycmF5KHRoaXMuY29tcG9uZW50LnZpc2libGVDb2x1bW5zLCB0cnVlKS5mb3JFYWNoKChjb2x1bW5BdHRyOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBvQ29sID0gdGhpcy5jb21wb25lbnQuZ2V0T0NvbHVtbihjb2x1bW5BdHRyKTtcbiAgICAgIG9Db2x1bW5zRGF0YS5wdXNoKHtcbiAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICB3aWR0aDogb0NvbC5kZWZpbml0aW9uID8gb0NvbC5kZWZpbml0aW9uLm9yaWdpbmFsV2lkdGggOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnaW5pdGlhbC1jb25maWd1cmF0aW9uJzoge1xuICAgICAgICAnb0NvbHVtbnMtZGlzcGxheSc6IG9Db2x1bW5zRGF0YSxcbiAgICAgICAgJ3NvcnQtY29sdW1ucyc6IHRoaXMuY29tcG9uZW50LnNvcnRDb2x1bW5zLFxuICAgICAgICAnc2VsZWN0LWNvbHVtbi12aXNpYmxlJzogdGhpcy5jb21wb25lbnQub1RhYmxlT3B0aW9ucy5zZWxlY3RDb2x1bW4udmlzaWJsZSxcbiAgICAgICAgJ2ZpbHRlci1jYXNlLXNlbnNpdGl2ZSc6IHRoaXMuY29tcG9uZW50LmZpbHRlckNhc2VTZW5zaXRpdmUsXG4gICAgICAgICdxdWVyeS1yb3dzJzogdGhpcy5jb21wb25lbnQub3JpZ2luYWxRdWVyeVJvd3MsXG4gICAgICAgICdmaWx0ZXItY29sdW1uLWFjdGl2ZS1ieS1kZWZhdWx0JzogdGhpcy5jb21wb25lbnQuZmlsdGVyQ29sdW1uQWN0aXZlQnlEZWZhdWx0LFxuICAgICAgICAnZmlsdGVyLWNvbHVtbnMnOiB0aGlzLmNvbXBvbmVudC5vcmlnaW5hbEZpbHRlckNvbHVtbnMsXG4gICAgICAgICdncm91cGVkLWNvbHVtbnMnOiB0aGlzLmNvbXBvbmVudC5vcmlnaW5hbEdyb3VwZWRDb2x1bW5zQXJyYXlcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNvcnRTdGF0ZSgpIHtcbiAgICBjb25zdCBzb3J0Q29sdW1ucyA9IFtdO1xuICAgIHRoaXMuY29tcG9uZW50LnNvcnQ/LmdldFNvcnRDb2x1bW5zKCkuZm9yRWFjaChzb3J0RGF0YSA9PiB7XG4gICAgICBzb3J0Q29sdW1ucy5wdXNoKHNvcnREYXRhLmlkICsgQ29kZXMuQ09MVU1OU19BTElBU19TRVBBUkFUT1IgKyBzb3J0RGF0YS5kaXJlY3Rpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAnc29ydC1jb2x1bW5zJzogc29ydENvbHVtbnMuam9pbihDb2Rlcy5BUlJBWV9JTlBVVF9TRVBBUkFUT1IpXG4gICAgfTtcbiAgfVxufVxuXG5cbiJdfQ==
@@ -10,4 +10,5 @@ export * from './o-table-initialization-options.type';
10
10
  export * from './o-table-menu-permissions.type';
11
11
  export * from './o-table-permissions.type';
12
12
  export * from './o-table-global-config.type';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL28tY29sdW1uLWFnZ3JlZ2F0ZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1jb2x1bW4tZGlzcGxheS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1jb2x1bW4tc2VhcmNoYWJsZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1jb2x1bW4tdG9vbHRpcC50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1jb2x1bW4tdmFsdWUtZmlsdGVyLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXRhYmxlLWNvbmZpZ3VyYXRpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtZmlsdGVyLWJ5LWNvbHVtbi1kYXRhLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXRhYmxlLWZpbHRlci1zdGF0dXMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtaW5pdGlhbGl6YXRpb24tb3B0aW9ucy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby10YWJsZS1tZW51LXBlcm1pc3Npb25zLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXRhYmxlLXBlcm1pc3Npb25zLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXRhYmxlLWdsb2JhbC1jb25maWcudHlwZSc7XG4iXX0=
13
+ export * from './o-table-expandable-row-state.type';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vby1jb2x1bW4tYWdncmVnYXRlLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWNvbHVtbi1kaXNwbGF5LnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWNvbHVtbi1zZWFyY2hhYmxlLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWNvbHVtbi10b29sdGlwLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWNvbHVtbi12YWx1ZS1maWx0ZXIudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtY29uZmlndXJhdGlvbi50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby10YWJsZS1maWx0ZXItYnktY29sdW1uLWRhdGEudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtZmlsdGVyLXN0YXR1cy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby10YWJsZS1pbml0aWFsaXphdGlvbi1vcHRpb25zLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXRhYmxlLW1lbnUtcGVybWlzc2lvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtcGVybWlzc2lvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tdGFibGUtZ2xvYmFsLWNvbmZpZy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby10YWJsZS1leHBhbmRhYmxlLXJvdy1zdGF0ZS50eXBlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1leHBhbmRhYmxlLXJvdy1zdGF0ZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3R5cGVzL3RhYmxlL28tdGFibGUtZXhwYW5kYWJsZS1yb3ctc3RhdGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT1RhYmxlRXhwYW5kYWJsZVJvd1N0YXRlID0ge1xuICBrZXlzOiB7IFtrOiBzdHJpbmddOiBhbnkgfTtcbn07XG4iXX0=
@@ -123,4 +123,6 @@ Codes.VISIBLE_EXPORT_BUTTONS = ['xlsx', 'pdf', 'html'];
123
123
  Codes.VISIBLE_EXPORT_BUTTONS3X = ['xlsx', 'pdf', 'csv'];
124
124
  Codes.DEFAULT_CHANGE_EVENT = 'onValueChange';
125
125
  Codes.TYPES_DATE_GROUPS = ["YEAR", "MONTH", "YEAR_MONTH", "YEAR_MONTH_DAY"];
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9jb2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sS0FBSztJQTZIaEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUNuQyxPQUFPLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQWdCO1FBRXhDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFL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LEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLDZCQUF1QixHQUFtQixTQUFTLENBQUM7QUFDcEQsNEJBQXNCLEdBQW1CLFFBQVEsQ0FBQztBQUNsRCw0QkFBc0IsR0FBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsOEJBQXdCLEdBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTVELDBCQUFvQixHQUFrQixlQUFlLENBQUM7QUFDdEQsdUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT0FwcExheW91dE1vZGUgPSAnbW9iaWxlJyB8ICdkZXNrdG9wJztcbmV4cG9ydCB0eXBlIE9TaWRlbmF2TW9kZSA9ICdvdmVyJyB8ICdwdXNoJyB8ICdzaWRlJztcbmV4cG9ydCB0eXBlIENIQU5HRV9FVkVOVFMgPSAnb25WYWx1ZUNoYW5nZScgfCAnb25DaGFuZ2UnO1xuXG5leHBvcnQgdHlwZSBPUm93SGVpZ2h0ID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbmV4cG9ydCB0eXBlIE9UYWJsZUVkaXRpb25Nb2RlID0gJ25vbmUnIHwgJ2NsaWNrJyB8ICdkYmxjbGljaycgfCAnZG91YmxlY2xpY2snO1xuZXhwb3J0IHR5cGUgT1RhYmxlRGV0YWlsTW9kZSA9ICdub25lJyB8ICdjbGljaycgfCAnZGJsY2xpY2snIHwgJ2RvdWJsZWNsaWNrJztcbmV4cG9ydCBjbGFzcyBDb2RlcyB7XG5cbiAgcHVibGljIHN0YXRpYyBQQUdJTkFURURfUVVFUllfTUVUSE9EID0gJ2FkdmFuY2VkUXVlcnknO1xuICBwdWJsaWMgc3RhdGljIERFTEVURV9NRVRIT0QgPSAnZGVsZXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRfTUVUSE9EID0gJ2luc2VydCc7XG4gIHB1YmxpYyBzdGF0aWMgVVBEQVRFX01FVEhPRCA9ICd1cGRhdGUnO1xuICBwdWJsaWMgc3RhdGljIFFVRVJZX01FVEhPRCA9ICdxdWVyeSc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1FVRVJZX1JPV1MgPSAxMDtcbiAgcHVibGljIHN0YXRpYyBQQUdFX1NJWkVfT1BUSU9OUyA9IFsxMCwgMjUsIDUwLCAxMDBdO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX0lDT04gPSAnY2hldnJvbl9yaWdodCc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVF9JQ09OID0gJ21vZGVfZWRpdCc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1JPV19IRUlHSFQgPSAnbWVkaXVtJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfUk9XX0hFSUdIVFNfVkFMVUVTID0gWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXTtcblxuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX01PREVfQ0xJQ0sgPSAnY2xpY2snO1xuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX0RCTENMSUNLX1ZBTFVFUyA9IFsnZGJsY2xpY2snLCAnZG91YmxlY2xpY2snXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfREVUQUlMX01PREVTID0gW0NvZGVzLkRFVEFJTF9NT0RFX05PTkUsIENvZGVzLkRFVEFJTF9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5ERVRBSUxfTU9ERV9EQkxDTElDS19WQUxVRVNdO1xuXG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX0NMSUNLID0gJ2NsaWNrJztcbiAgcHVibGljIHN0YXRpYyBFRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTID0gWydkYmxjbGljaycsICdkb3VibGVjbGljayddO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFWQUlMQUJMRV9NT0RFUyA9IFtDb2Rlcy5FRElUSU9OX01PREVfTk9ORSwgQ29kZXMuRURJVElPTl9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5FRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTXTtcblxuICBwdWJsaWMgc3RhdGljIFNFTEVDVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfU0lOR0xFID0gJ3NpbmdsZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfTVVMVElQTEUgPSAnbXVsdGlwbGUnO1xuXG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfVklTSUJMRSA9ICd2aXNpYmxlJztcbiAgcHVibGljIHN0YXRpYyBFWFBPUlRfTU9ERV9MT0NBTCA9ICdsb2NhbCc7XG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfQUxMID0gJ2FsbCc7XG5cbiAgcHVibGljIHN0YXRpYyBIWVBIRU5fU0VQQVJBVE9SID0gJy0nO1xuICBwdWJsaWMgc3RhdGljIFNQQUNFX1NFUEFSQVRPUiA9ICcgJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5TX0FMSUFTX1NFUEFSQVRPUiA9ICc6JztcbiAgcHVibGljIHN0YXRpYyBBUlJBWV9JTlBVVF9TRVBBUkFUT1IgPSAnOyc7XG4gIHB1YmxpYyBzdGF0aWMgVFlQRV9TRVBBUkFUT1IgPSAnOic7XG4gIHB1YmxpYyBzdGF0aWMgVkFMVUVTX1NFUEFSQVRPUiA9ICc9JztcbiAgcHVibGljIHN0YXRpYyBBU0NfU09SVCA9ICdhc2MnO1xuICBwdWJsaWMgc3RhdGljIERFU0NfU09SVCA9ICdkZXNjJztcblxuICBwdWJsaWMgc3RhdGljIFRZUEVfSU5UID0gJ2ludCc7XG5cbiAgcHVibGljIHN0YXRpYyBST1VURV9TRVBBUkFUT1IgPSAnLyc7XG4gIHB1YmxpYyBzdGF0aWMgUk9VVEVfVkFSSUFCTEVfQ0hBUiA9ICc6JztcblxuICBwdWJsaWMgc3RhdGljIFBBUkVOVF9LRVlTX0tFWSA9ICdwayc7XG4gIHB1YmxpYyBzdGF0aWMgUVVFUllfUEFSQU1TID0gJ3F1ZXJ5UGFyYW1zJztcbiAgcHVibGljIHN0YXRpYyBJU19ERVRBSUwgPSAnaXNkZXRhaWwnO1xuXG4gIHB1YmxpYyBzdGF0aWMgTEFOR1VBR0VfS0VZID0gJ2xhbmcnO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fS0VZID0gJ3Nlc3Npb24nO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fRVhQSVJFRF9LRVkgPSAnc2Vzc2lvbi1leHBpcmVkJztcblxuICBwdWJsaWMgc3RhdGljIExPR0lOX1JPVVRFID0gJy9sb2dpbic7XG4gIHB1YmxpYyBzdGF0aWMgRk9SQklEREVOX1JPVVRFID0gJzQwMyc7XG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9FRElUX1JPVVRFID0gJ2VkaXQnO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfREVUQUlMX1JPVVRFID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfSU5TRVJUX1JPVVRFID0gJ25ldyc7XG5cbiAgcHVibGljIHN0YXRpYyBJR05PUkVfQ0FOX0RFQUNUSVZBVEUgPSAnaWdub3JlX2Nhbl9kZWFjdGl2YXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRJT05fTU9ERSA9ICdpbnNlcnRpb25Nb2RlJztcblxuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1NVQ0NFU1NGVUxfQ09ERSA9IDA7XG4gIHB1YmxpYyBzdGF0aWMgT05USU1JWkVfRkFJTEVEX0NPREUgPSAxO1xuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1VOQVVUSE9SSVpFRF9DT0RFID0gMztcblxuICBwdWJsaWMgc3RhdGljIElDT05fUE9TSVRJT05fTEVGVCA9ICdsZWZ0JztcbiAgcHVibGljIHN0YXRpYyBJQ09OX1BPU0lUSU9OX1JJR0hUID0gJ3JpZ2h0JztcblxuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9TVEFSVCA9ICdzdGFydCc7XG4gIHB1YmxpYyBzdGF0aWMgQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiA9ICdjZW50ZXInO1xuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9FTkQgPSAnZW5kJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5fVElUTEVfQUxJR05fQVVUTyA9ICdhdXRvJztcbiAgcHVibGljIHN0YXRpYyBBVkFJTEFCTEVfQ09MVU1OX1RJVExFX0FMSUdOUyA9XG4gICAgW0NvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9TVEFSVCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0VORCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0FVVE9dO1xuXG4gIHB1YmxpYyBzdGF0aWMgT19NQVRfRVJST1JfU1RBTkRBUkQgPSAnc3RhbmRhcmQnO1xuICBwdWJsaWMgc3RhdGljIE9fTUFUX0VSUk9SX0xJVEUgPSAnbGl0ZSc7XG5cbiAgcHVibGljIHN0YXRpYyBPX0lOUFVUU19PUFRJT05TX0NPTE9SX0FDQ0VOVCA9ICdhY2NlbnQnO1xuICBwdWJsaWMgc3RhdGljIEhvdXJGb3JtYXQgPSB7XG4gICAgVFdFTFZFOiAnaGg6bW0gYScsXG4gICAgVFdFTlRZX0ZPVVI6ICdISDptbSBhJyxcbiAgfTtcblxuICAvLyBPRm9ybUNvbXBvbmVudFxuICBwdWJsaWMgc3RhdGljIENMT1NFX0RFVEFJTF9BQ1RJT046IHN0cmluZyA9ICdDTE9TRSc7XG4gIHB1YmxpYyBzdGF0aWMgQkFDS19BQ1RJT046IHN0cmluZyA9ICdCQUNLJztcbiAgcHVibGljIHN0YXRpYyBSRUxPQURfQUNUSU9OOiBzdHJpbmcgPSAnUkVMT0FEJztcbiAgcHVibGljIHN0YXRpYyBHT19FRElUX0FDVElPTjogc3RyaW5nID0gJ0dPX0VESVQnO1xuICBwdWJsaWMgc3RhdGljIEVESVRfQUNUSU9OOiBzdHJpbmcgPSAnRURJVCc7XG4gIHB1YmxpYyBzdGF0aWMgSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgR09fSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0dPX0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgREVMRVRFX0FDVElPTjogc3RyaW5nID0gJ0RFTEVURSc7XG4gIHB1YmxpYyBzdGF0aWMgVU5ET19MQVNUX0NIQU5HRV9BQ1RJT046IHN0cmluZyA9ICdVTkRPX0xBU1RfQ0hBTkdFJztcblxuICAvLyBPVGFibGVDb21wb25lbnRcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0NPTFVNTl9NSU5fV0lEVEggPSA4MDtcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9TRUxFQ1QgPSAnc2VsZWN0JztcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9FWFBBTkRBQkxFID0gJ2V4cGFuZGFibGUnO1xuICBwdWJsaWMgc3RhdGljIFNVRkZJWF9DT0xVTU5fSU5TRVJUQUJMRSA9ICdfaW5zZXJ0YWJsZSc7XG4gIHB1YmxpYyBzdGF0aWMgTElNSVRfU0NST0xMVklSVFVBTCA9IDUwO1xuXG4gIHB1YmxpYyBzdGF0aWMgVFdFTlRZX0ZPVVJfSE9VUl9GT1JNQVQgPSAyNDtcbiAgcHVibGljIHN0YXRpYyBUV0VMVkVfRk9VUl9IT1VSX0ZPUk1BVCA9IDEyO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGVzOiBPQXBwTGF5b3V0TW9kZVtdID0gWydtb2JpbGUnLCAnZGVza3RvcCddO1xuICBwdWJsaWMgc3RhdGljIE9TaWRlbmF2TW9kZXM6IE9TaWRlbmF2TW9kZVtdID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGUgPSBbJ21vYmlsZScsICdkZXNrdG9wJ107XG4gIHB1YmxpYyBzdGF0aWMgT1NpZGVuYXZNb2RlID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgQVBQX0xBWU9VVF9NT0RFX0RFU0tUT1A6IE9BcHBMYXlvdXRNb2RlID0gJ2Rlc2t0b3AnO1xuICBwdWJsaWMgc3RhdGljIEFQUF9MQVlPVVRfTU9ERV9NT0JJTEU6IE9BcHBMYXlvdXRNb2RlID0gJ21vYmlsZSc7XG4gIHB1YmxpYyBzdGF0aWMgVklTSUJMRV9FWFBPUlRfQlVUVE9OUzogc3RyaW5nW10gPSBbJ3hsc3gnLCAncGRmJywgJ2h0bWwnXTtcbiAgcHVibGljIHN0YXRpYyBWSVNJQkxFX0VYUE9SVF9CVVRUT05TM1g6IHN0cmluZ1tdID0gWyd4bHN4JywgJ3BkZicsICdjc3YnXTtcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfQ0hBTkdFX0VWRU5UOiBDSEFOR0VfRVZFTlRTID0gJ29uVmFsdWVDaGFuZ2UnO1xuICBwdWJsaWMgc3RhdGljIFRZUEVTX0RBVEVfR1JPVVBTID0gW1wiWUVBUlwiLCBcIk1PTlRIXCIsIFwiWUVBUl9NT05USFwiLCBcIllFQVJfTU9OVEhfREFZXCJdO1xuXG5cbiAgc3RhdGljIGlzRG91YmxlQ2xpY2tNb2RlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuREVUQUlMX01PREVfREJMQ0xJQ0tfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbiAgfVxuXG4gIHN0YXRpYyBpc1ZhbGlkUm93SGVpZ2h0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX1JPV19IRUlHSFRTX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG4gIH1cblxuICBzdGF0aWMgZ2V0SXNEZXRhaWxPYmplY3QoKTogYW55IHtcbiAgICBjb25zdCByZXMgPSB7fTtcbiAgICByZXNbQ29kZXMuSVNfREVUQUlMXSA9ICd0cnVlJztcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdFN0cmluZyhmb3JtYXQ6IG51bWJlcikge1xuICAgIHJldHVybiAoZm9ybWF0ID09PSBDb2Rlcy5UV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVCA/IENvZGVzLkhvdXJGb3JtYXQuVFdFTlRZX0ZPVVIgOiBDb2Rlcy5Ib3VyRm9ybWF0LlRXRUxWRSk7XG4gIH1cblxuICBzdGF0aWMgaXNIb3VySW5wdXRBbGxvd2VkKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAvLyBBbGxvdzogYmFja3NwYWNlLCBkZWxldGUsIHRhYiwgZXNjYXBlLCBlbnRlclxuICAgIGlmIChbNDYsIDgsIDksIDI3LCAxM10uc29tZShuID0+IG4gPT09IGUua2V5Q29kZSkgfHxcbiAgICAgIChlLmtleSA9PT0gJzonKSB8fFxuICAgICAgLy8gQWxsb3c6IEN0cmwvY21kK0FcbiAgICAgIChlLmtleUNvZGUgPT09IDY1ICYmIChlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlKSkgfHxcbiAgICAgIC8vIEFsbG93OiBDdHJsL2NtZCtDXG4gICAgICAoZS5rZXlDb2RlID09PSA2NyAmJiAoZS5jdHJsS2V5ID09PSB0cnVlIHx8IGUubWV0YUtleSA9PT0gdHJ1ZSkpIHx8XG4gICAgICAvLyBBbGxvdzogQ3RybC9jbWQrWFxuICAgICAgKGUua2V5Q29kZSA9PT0gODggJiYgKGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWUpKSB8fFxuICAgICAgLy8gQWxsb3c6IGhvbWUsIGVuZCwgbGVmdCwgcmlnaHQsIHVwLCBkb3duXG4gICAgICAoZS5rZXlDb2RlID49IDM1ICYmIGUua2V5Q29kZSA8PSA0MCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gISgoZS5rZXlDb2RlIDwgNDggfHwgZS5rZXlDb2RlID4gNTcpICYmIChlLmtleUNvZGUgPCA5NiB8fCBlLmtleUNvZGUgPiAxMDUpKTtcbiAgfVxuICBzdGF0aWMgaXNWYWxpZEVkaXRpb25Nb2RlKGVkaXRpb25Nb2RlOiBPVGFibGVFZGl0aW9uTW9kZSkge1xuICAgIHJldHVybiBDb2Rlcy5BVkFJTEFCTEVfTU9ERVMuaW5kZXhPZihlZGl0aW9uTW9kZSkgIT09IC0xO1xuICB9XG4gIHN0YXRpYyBpc1ZhbGlkRGV0YWlsTW9kZShkZXRhaWxNb2RlOiBPVGFibGVEZXRhaWxNb2RlKTogYW55IHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX0RFVEFJTF9NT0RFUy5pbmRleE9mKGRldGFpbE1vZGUpICE9PSAtMTtcbiAgfVxuXG59XG4iXX0=
126
+ Codes.TOOLTIP_DISPLAY_MODE = ['always', 'never', 'only-collapsed', 'only-expanded'];
127
+ Codes.TOOLTIP_DISPLAY_COLLAPSED = 'only-collapsed';
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9jb2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8sS0FBSztJQStIaEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUNuQyxPQUFPLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQWdCO1FBRXhDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFL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LEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLDZCQUF1QixHQUFtQixTQUFTLENBQUM7QUFDcEQsNEJBQXNCLEdBQW1CLFFBQVEsQ0FBQztBQUNsRCw0QkFBc0IsR0FBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsOEJBQXdCLEdBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTVELDBCQUFvQixHQUFrQixlQUFlLENBQUM7QUFDdEQsdUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzdELDBCQUFvQixHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUM5RSwrQkFBeUIsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE9BcHBMYXlvdXRNb2RlID0gJ21vYmlsZScgfCAnZGVza3RvcCc7XG5leHBvcnQgdHlwZSBPU2lkZW5hdk1vZGUgPSAnb3ZlcicgfCAncHVzaCcgfCAnc2lkZSc7XG5leHBvcnQgdHlwZSBDSEFOR0VfRVZFTlRTID0gJ29uVmFsdWVDaGFuZ2UnIHwgJ29uQ2hhbmdlJztcblxuZXhwb3J0IHR5cGUgT1Jvd0hlaWdodCA9ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XG5leHBvcnQgdHlwZSBPVGFibGVFZGl0aW9uTW9kZSA9ICdub25lJyB8ICdjbGljaycgfCAnZGJsY2xpY2snIHwgJ2RvdWJsZWNsaWNrJztcbmV4cG9ydCB0eXBlIE9UYWJsZURldGFpbE1vZGUgPSAnbm9uZScgfCAnY2xpY2snIHwgJ2RibGNsaWNrJyB8ICdkb3VibGVjbGljayc7XG5leHBvcnQgdHlwZSBPVG9vbHRpcERpc3BsYXlNb2RlID0gJ2Fsd2F5cyd8ICduZXZlcicgfCAnb25seS1jb2xsYXBzZWQnfCAnb25seS1leHBhbmRlZCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlcyB7XG5cbiAgcHVibGljIHN0YXRpYyBQQUdJTkFURURfUVVFUllfTUVUSE9EID0gJ2FkdmFuY2VkUXVlcnknO1xuICBwdWJsaWMgc3RhdGljIERFTEVURV9NRVRIT0QgPSAnZGVsZXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRfTUVUSE9EID0gJ2luc2VydCc7XG4gIHB1YmxpYyBzdGF0aWMgVVBEQVRFX01FVEhPRCA9ICd1cGRhdGUnO1xuICBwdWJsaWMgc3RhdGljIFFVRVJZX01FVEhPRCA9ICdxdWVyeSc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1FVRVJZX1JPV1MgPSAxMDtcbiAgcHVibGljIHN0YXRpYyBQQUdFX1NJWkVfT1BUSU9OUyA9IFsxMCwgMjUsIDUwLCAxMDBdO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX0lDT04gPSAnY2hldnJvbl9yaWdodCc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVF9JQ09OID0gJ21vZGVfZWRpdCc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1JPV19IRUlHSFQgPSAnbWVkaXVtJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfUk9XX0hFSUdIVFNfVkFMVUVTID0gWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXTtcblxuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX01PREVfQ0xJQ0sgPSAnY2xpY2snO1xuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX0RCTENMSUNLX1ZBTFVFUyA9IFsnZGJsY2xpY2snLCAnZG91YmxlY2xpY2snXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfREVUQUlMX01PREVTID0gW0NvZGVzLkRFVEFJTF9NT0RFX05PTkUsIENvZGVzLkRFVEFJTF9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5ERVRBSUxfTU9ERV9EQkxDTElDS19WQUxVRVNdO1xuXG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX0NMSUNLID0gJ2NsaWNrJztcbiAgcHVibGljIHN0YXRpYyBFRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTID0gWydkYmxjbGljaycsICdkb3VibGVjbGljayddO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFWQUlMQUJMRV9NT0RFUyA9IFtDb2Rlcy5FRElUSU9OX01PREVfTk9ORSwgQ29kZXMuRURJVElPTl9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5FRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTXTtcblxuICBwdWJsaWMgc3RhdGljIFNFTEVDVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfU0lOR0xFID0gJ3NpbmdsZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfTVVMVElQTEUgPSAnbXVsdGlwbGUnO1xuXG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfVklTSUJMRSA9ICd2aXNpYmxlJztcbiAgcHVibGljIHN0YXRpYyBFWFBPUlRfTU9ERV9MT0NBTCA9ICdsb2NhbCc7XG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfQUxMID0gJ2FsbCc7XG5cbiAgcHVibGljIHN0YXRpYyBIWVBIRU5fU0VQQVJBVE9SID0gJy0nO1xuICBwdWJsaWMgc3RhdGljIFNQQUNFX1NFUEFSQVRPUiA9ICcgJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5TX0FMSUFTX1NFUEFSQVRPUiA9ICc6JztcbiAgcHVibGljIHN0YXRpYyBBUlJBWV9JTlBVVF9TRVBBUkFUT1IgPSAnOyc7XG4gIHB1YmxpYyBzdGF0aWMgVFlQRV9TRVBBUkFUT1IgPSAnOic7XG4gIHB1YmxpYyBzdGF0aWMgVkFMVUVTX1NFUEFSQVRPUiA9ICc9JztcbiAgcHVibGljIHN0YXRpYyBBU0NfU09SVCA9ICdhc2MnO1xuICBwdWJsaWMgc3RhdGljIERFU0NfU09SVCA9ICdkZXNjJztcblxuICBwdWJsaWMgc3RhdGljIFRZUEVfSU5UID0gJ2ludCc7XG5cbiAgcHVibGljIHN0YXRpYyBST1VURV9TRVBBUkFUT1IgPSAnLyc7XG4gIHB1YmxpYyBzdGF0aWMgUk9VVEVfVkFSSUFCTEVfQ0hBUiA9ICc6JztcblxuICBwdWJsaWMgc3RhdGljIFBBUkVOVF9LRVlTX0tFWSA9ICdwayc7XG4gIHB1YmxpYyBzdGF0aWMgUVVFUllfUEFSQU1TID0gJ3F1ZXJ5UGFyYW1zJztcbiAgcHVibGljIHN0YXRpYyBJU19ERVRBSUwgPSAnaXNkZXRhaWwnO1xuXG4gIHB1YmxpYyBzdGF0aWMgTEFOR1VBR0VfS0VZID0gJ2xhbmcnO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fS0VZID0gJ3Nlc3Npb24nO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fRVhQSVJFRF9LRVkgPSAnc2Vzc2lvbi1leHBpcmVkJztcblxuICBwdWJsaWMgc3RhdGljIExPR0lOX1JPVVRFID0gJy9sb2dpbic7XG4gIHB1YmxpYyBzdGF0aWMgRk9SQklEREVOX1JPVVRFID0gJzQwMyc7XG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9FRElUX1JPVVRFID0gJ2VkaXQnO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfREVUQUlMX1JPVVRFID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfSU5TRVJUX1JPVVRFID0gJ25ldyc7XG5cbiAgcHVibGljIHN0YXRpYyBJR05PUkVfQ0FOX0RFQUNUSVZBVEUgPSAnaWdub3JlX2Nhbl9kZWFjdGl2YXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRJT05fTU9ERSA9ICdpbnNlcnRpb25Nb2RlJztcblxuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1NVQ0NFU1NGVUxfQ09ERSA9IDA7XG4gIHB1YmxpYyBzdGF0aWMgT05USU1JWkVfRkFJTEVEX0NPREUgPSAxO1xuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1VOQVVUSE9SSVpFRF9DT0RFID0gMztcblxuICBwdWJsaWMgc3RhdGljIElDT05fUE9TSVRJT05fTEVGVCA9ICdsZWZ0JztcbiAgcHVibGljIHN0YXRpYyBJQ09OX1BPU0lUSU9OX1JJR0hUID0gJ3JpZ2h0JztcblxuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9TVEFSVCA9ICdzdGFydCc7XG4gIHB1YmxpYyBzdGF0aWMgQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiA9ICdjZW50ZXInO1xuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9FTkQgPSAnZW5kJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5fVElUTEVfQUxJR05fQVVUTyA9ICdhdXRvJztcbiAgcHVibGljIHN0YXRpYyBBVkFJTEFCTEVfQ09MVU1OX1RJVExFX0FMSUdOUyA9XG4gICAgW0NvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9TVEFSVCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0VORCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0FVVE9dO1xuXG4gIHB1YmxpYyBzdGF0aWMgT19NQVRfRVJST1JfU1RBTkRBUkQgPSAnc3RhbmRhcmQnO1xuICBwdWJsaWMgc3RhdGljIE9fTUFUX0VSUk9SX0xJVEUgPSAnbGl0ZSc7XG5cbiAgcHVibGljIHN0YXRpYyBPX0lOUFVUU19PUFRJT05TX0NPTE9SX0FDQ0VOVCA9ICdhY2NlbnQnO1xuICBwdWJsaWMgc3RhdGljIEhvdXJGb3JtYXQgPSB7XG4gICAgVFdFTFZFOiAnaGg6bW0gYScsXG4gICAgVFdFTlRZX0ZPVVI6ICdISDptbSBhJyxcbiAgfTtcblxuICAvLyBPRm9ybUNvbXBvbmVudFxuICBwdWJsaWMgc3RhdGljIENMT1NFX0RFVEFJTF9BQ1RJT046IHN0cmluZyA9ICdDTE9TRSc7XG4gIHB1YmxpYyBzdGF0aWMgQkFDS19BQ1RJT046IHN0cmluZyA9ICdCQUNLJztcbiAgcHVibGljIHN0YXRpYyBSRUxPQURfQUNUSU9OOiBzdHJpbmcgPSAnUkVMT0FEJztcbiAgcHVibGljIHN0YXRpYyBHT19FRElUX0FDVElPTjogc3RyaW5nID0gJ0dPX0VESVQnO1xuICBwdWJsaWMgc3RhdGljIEVESVRfQUNUSU9OOiBzdHJpbmcgPSAnRURJVCc7XG4gIHB1YmxpYyBzdGF0aWMgSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgR09fSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0dPX0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgREVMRVRFX0FDVElPTjogc3RyaW5nID0gJ0RFTEVURSc7XG4gIHB1YmxpYyBzdGF0aWMgVU5ET19MQVNUX0NIQU5HRV9BQ1RJT046IHN0cmluZyA9ICdVTkRPX0xBU1RfQ0hBTkdFJztcblxuICAvLyBPVGFibGVDb21wb25lbnRcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0NPTFVNTl9NSU5fV0lEVEggPSA4MDtcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9TRUxFQ1QgPSAnc2VsZWN0JztcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9FWFBBTkRBQkxFID0gJ2V4cGFuZGFibGUnO1xuICBwdWJsaWMgc3RhdGljIFNVRkZJWF9DT0xVTU5fSU5TRVJUQUJMRSA9ICdfaW5zZXJ0YWJsZSc7XG4gIHB1YmxpYyBzdGF0aWMgTElNSVRfU0NST0xMVklSVFVBTCA9IDUwO1xuXG4gIHB1YmxpYyBzdGF0aWMgVFdFTlRZX0ZPVVJfSE9VUl9GT1JNQVQgPSAyNDtcbiAgcHVibGljIHN0YXRpYyBUV0VMVkVfRk9VUl9IT1VSX0ZPUk1BVCA9IDEyO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGVzOiBPQXBwTGF5b3V0TW9kZVtdID0gWydtb2JpbGUnLCAnZGVza3RvcCddO1xuICBwdWJsaWMgc3RhdGljIE9TaWRlbmF2TW9kZXM6IE9TaWRlbmF2TW9kZVtdID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGUgPSBbJ21vYmlsZScsICdkZXNrdG9wJ107XG4gIHB1YmxpYyBzdGF0aWMgT1NpZGVuYXZNb2RlID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgQVBQX0xBWU9VVF9NT0RFX0RFU0tUT1A6IE9BcHBMYXlvdXRNb2RlID0gJ2Rlc2t0b3AnO1xuICBwdWJsaWMgc3RhdGljIEFQUF9MQVlPVVRfTU9ERV9NT0JJTEU6IE9BcHBMYXlvdXRNb2RlID0gJ21vYmlsZSc7XG4gIHB1YmxpYyBzdGF0aWMgVklTSUJMRV9FWFBPUlRfQlVUVE9OUzogc3RyaW5nW10gPSBbJ3hsc3gnLCAncGRmJywgJ2h0bWwnXTtcbiAgcHVibGljIHN0YXRpYyBWSVNJQkxFX0VYUE9SVF9CVVRUT05TM1g6IHN0cmluZ1tdID0gWyd4bHN4JywgJ3BkZicsICdjc3YnXTtcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfQ0hBTkdFX0VWRU5UOiBDSEFOR0VfRVZFTlRTID0gJ29uVmFsdWVDaGFuZ2UnO1xuICBwdWJsaWMgc3RhdGljIFRZUEVTX0RBVEVfR1JPVVBTID0gW1wiWUVBUlwiLCBcIk1PTlRIXCIsIFwiWUVBUl9NT05USFwiLCBcIllFQVJfTU9OVEhfREFZXCJdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRPT0xUSVBfRElTUExBWV9NT0RFID0gWydhbHdheXMnLCAnbmV2ZXInLCAnb25seS1jb2xsYXBzZWQnLCAnb25seS1leHBhbmRlZCddO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRPT0xUSVBfRElTUExBWV9DT0xMQVBTRUQgPSAnb25seS1jb2xsYXBzZWQnO1xuXG5cbiAgc3RhdGljIGlzRG91YmxlQ2xpY2tNb2RlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuREVUQUlMX01PREVfREJMQ0xJQ0tfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbiAgfVxuXG4gIHN0YXRpYyBpc1ZhbGlkUm93SGVpZ2h0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX1JPV19IRUlHSFRTX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG4gIH1cblxuICBzdGF0aWMgZ2V0SXNEZXRhaWxPYmplY3QoKTogYW55IHtcbiAgICBjb25zdCByZXMgPSB7fTtcbiAgICByZXNbQ29kZXMuSVNfREVUQUlMXSA9ICd0cnVlJztcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdFN0cmluZyhmb3JtYXQ6IG51bWJlcikge1xuICAgIHJldHVybiAoZm9ybWF0ID09PSBDb2Rlcy5UV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVCA/IENvZGVzLkhvdXJGb3JtYXQuVFdFTlRZX0ZPVVIgOiBDb2Rlcy5Ib3VyRm9ybWF0LlRXRUxWRSk7XG4gIH1cblxuICBzdGF0aWMgaXNIb3VySW5wdXRBbGxvd2VkKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAvLyBBbGxvdzogYmFja3NwYWNlLCBkZWxldGUsIHRhYiwgZXNjYXBlLCBlbnRlclxuICAgIGlmIChbNDYsIDgsIDksIDI3LCAxM10uc29tZShuID0+IG4gPT09IGUua2V5Q29kZSkgfHxcbiAgICAgIChlLmtleSA9PT0gJzonKSB8fFxuICAgICAgLy8gQWxsb3c6IEN0cmwvY21kK0FcbiAgICAgIChlLmtleUNvZGUgPT09IDY1ICYmIChlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlKSkgfHxcbiAgICAgIC8vIEFsbG93OiBDdHJsL2NtZCtDXG4gICAgICAoZS5rZXlDb2RlID09PSA2NyAmJiAoZS5jdHJsS2V5ID09PSB0cnVlIHx8IGUubWV0YUtleSA9PT0gdHJ1ZSkpIHx8XG4gICAgICAvLyBBbGxvdzogQ3RybC9jbWQrWFxuICAgICAgKGUua2V5Q29kZSA9PT0gODggJiYgKGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWUpKSB8fFxuICAgICAgLy8gQWxsb3c6IGhvbWUsIGVuZCwgbGVmdCwgcmlnaHQsIHVwLCBkb3duXG4gICAgICAoZS5rZXlDb2RlID49IDM1ICYmIGUua2V5Q29kZSA8PSA0MCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gISgoZS5rZXlDb2RlIDwgNDggfHwgZS5rZXlDb2RlID4gNTcpICYmIChlLmtleUNvZGUgPCA5NiB8fCBlLmtleUNvZGUgPiAxMDUpKTtcbiAgfVxuICBzdGF0aWMgaXNWYWxpZEVkaXRpb25Nb2RlKGVkaXRpb25Nb2RlOiBPVGFibGVFZGl0aW9uTW9kZSkge1xuICAgIHJldHVybiBDb2Rlcy5BVkFJTEFCTEVfTU9ERVMuaW5kZXhPZihlZGl0aW9uTW9kZSkgIT09IC0xO1xuICB9XG4gIHN0YXRpYyBpc1ZhbGlkRGV0YWlsTW9kZShkZXRhaWxNb2RlOiBPVGFibGVEZXRhaWxNb2RlKTogYW55IHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX0RFVEFJTF9NT0RFUy5pbmRleE9mKGRldGFpbE1vZGUpICE9PSAtMTtcbiAgfVxuXG59XG4iXX0=