@eo-sdk/client 10.6.40 → 10.6.42

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-client/dashboard/dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAA0B,MAAM,EAAY,MAAM,eAAe,CAAC;AACzE,OAAO,EAAmB,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAW5C,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;;AAI5C,qBASa,kBAAmB,YAAW,MAAM,EAAE,aAAa;IAgC3C,WAAW,EAAE,WAAW;IACzC,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACf,SAAS,EAAE,gBAAgB;IAClC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,cAAc;IAxCxB,eAAe,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAM1C;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,WAAW,EAAE,CAAM;IAClC,aAAa,EAAE,WAAW,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,KAAM;IACV,WAAW,SAA0C;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,SAAM;IAEnB,IAAI,EAAE,MAAM,CAAC;IACa,aAAa,EAAE,oBAAoB,CAAC;IAG9D,KAAK,CAAC,KAAK,KAAA;gBAMQ,WAAW,EAAE,WAAW,EACjC,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,mBAAmB,EACpC,SAAS,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,mBAAmB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,qBAAqB;IAS/C,wBAAwB,CAAC,CAAC,EAAE,yBAAyB;IAIrD,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,eAAe;IA0DvB,iBAAiB,CAAC,CAAC,EAAE,WAAW;IAKhC,wBAAwB,CAAC,IAAI,KAAA;IAK7B,mBAAmB,CAAC,MAAM,EAAE,iBAAiB;IAK7C,mBAAmB;IAKnB,oBAAoB,CAAC,GAAG,KAAA;IAMxB,YAAY,CAAC,GAAG,KAAA,GAAG,QAAQ,EAAE;IAU7B,QAAQ;IAWR,eAAe;IAkBf,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,oBAAoB;IAO5B,mBAAmB,CAAC,MAAM,EAAE,OAAO;yCA3QxB,kBAAkB;2CAAlB,kBAAkB;CAkR9B"}
1
+ {"version":3,"file":"dashboard.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-client/dashboard/dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAA0B,MAAM,EAAY,MAAM,eAAe,CAAC;AACzE,OAAO,EAAmB,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAW5C,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;;AAI5C,qBASa,kBAAmB,YAAW,MAAM,EAAE,aAAa;IAgC3C,WAAW,EAAE,WAAW;IACzC,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACf,SAAS,EAAE,gBAAgB;IAClC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,cAAc;IAxCxB,eAAe,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAM1C;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,WAAW,EAAE,CAAM;IAClC,aAAa,EAAE,WAAW,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,KAAM;IACV,WAAW,SAA0C;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,SAAM;IAEnB,IAAI,EAAE,MAAM,CAAC;IACa,aAAa,EAAE,oBAAoB,CAAC;IAG9D,KAAK,CAAC,KAAK,KAAA;gBAMQ,WAAW,EAAE,WAAW,EACjC,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,mBAAmB,EACpC,SAAS,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,mBAAmB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,qBAAqB;IAS/C,wBAAwB,CAAC,CAAC,EAAE,yBAAyB;IAIrD,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,eAAe;IA0DvB,iBAAiB,CAAC,CAAC,EAAE,WAAW;IAKhC,wBAAwB,CAAC,IAAI,KAAA;IAK7B,mBAAmB,CAAC,MAAM,EAAE,iBAAiB;IAK7C,mBAAmB;IAKnB,oBAAoB,CAAC,GAAG,KAAA;IAMxB,YAAY,CAAC,GAAG,KAAA,GAAG,QAAQ,EAAE;IAU7B,QAAQ;IAWR,eAAe;IAkBf,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,oBAAoB;IAO5B,mBAAmB,CAAC,MAAM,EAAE,OAAO;yCA5QxB,kBAAkB;2CAAlB,kBAAkB;CAmR9B"}
@@ -18,6 +18,7 @@ export declare class FormElementComponent implements AfterViewInit {
18
18
  label: string;
19
19
  title: string;
20
20
  };
21
+ requiredFieldReadonly: boolean;
21
22
  situation: any;
22
23
  skipToggle: boolean;
23
24
  set elementSetter(el: ObjectFormControlWrapper);
@@ -1 +1 @@
1
- {"version":3,"file":"form-element.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/app/eo-framework/object-form/object-form/form-element/form-element.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAA8B,UAAU,EAAS,SAAS,EAAE,SAAS,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AACvJ,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;;AAEtE,qBAMa,oBAAqB,YAAW,aAAa;IA8C5C,OAAO,CAAC,SAAS;IAAoB,OAAO,CAAC,QAAQ;IAAa,OAAO,CAAC,EAAE;IA7CpB,gBAAgB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9C,uBAAuB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAI/H,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,wBAAwB,CAAC;IAClC,OAAO,MAAC;IACR,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAC;IAEO,SAAS,MAAC;IACV,UAAU,EAAE,OAAO,CAAC;IAG7B,IACI,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAqB7C;IAEuB,SAAS,EAAE,UAAU,CAAC;gBAE1B,SAAS,EAAE,gBAAgB,EAAU,QAAQ,EAAE,SAAS,EAAU,EAAE,EAAE,UAAU;IAGpG,OAAO,CAAC,eAAe;IAYvB,YAAY,CAAC,OAAO,EAAE,OAAO;IAc7B,4BAA4B,CAAC,IAAI,KAAA;IAKjC,SAAS;IAcT,eAAe,IAAI,IAAI;yCA9FZ,oBAAoB;2CAApB,oBAAoB;CAqGhC"}
1
+ {"version":3,"file":"form-element.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/app/eo-framework/object-form/object-form/form-element/form-element.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAA8B,UAAU,EAAS,SAAS,EAAE,SAAS,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AACvJ,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;;AAEtE,qBAMa,oBAAqB,YAAW,aAAa;IAgD5C,OAAO,CAAC,SAAS;IAAoB,OAAO,CAAC,QAAQ;IAAa,OAAO,CAAC,EAAE;IA/CpB,gBAAgB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9C,uBAAuB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAI/H,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,wBAAwB,CAAC;IAClC,OAAO,MAAC;IACR,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAA;KACd,CAAC;IACF,qBAAqB,EAAE,OAAO,CAAC;IAEtB,SAAS,MAAC;IACV,UAAU,EAAE,OAAO,CAAC;IAG7B,IACI,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAsB7C;IAEuB,SAAS,EAAE,UAAU,CAAC;gBAE1B,SAAS,EAAE,gBAAgB,EAAU,QAAQ,EAAE,SAAS,EAAU,EAAE,EAAE,UAAU;IAGpG,OAAO,CAAC,eAAe;IAYvB,YAAY,CAAC,OAAO,EAAE,OAAO;IAc7B,4BAA4B,CAAC,IAAI,KAAA;IAKjC,SAAS;IAcT,eAAe,IAAI,IAAI;yCAhGZ,oBAAoB;2CAApB,oBAAoB;CAuGhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"object-form-helper.service.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/object-form/object-form-helper.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-form-helper.service.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/object-form/object-form-helper.service.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ export class AboutStateComponent {
8
8
  this.backend = backend;
9
9
  this.userService = userService;
10
10
  this.config = config;
11
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.39", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.8", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
11
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.41", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.8", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
12
12
  this.ctrl = {
13
13
  componentName: 'yuuvis® RAD client',
14
- componentVersion: '10.6.40',
14
+ componentVersion: '10.6.42',
15
15
  productName: '',
16
16
  productVersion: ''
17
17
  };
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
79
79
  type: Component,
80
80
  args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
81
81
  }], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }]; } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBN0VVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvOERBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuMzlcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjQwJyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5fX2xpYnJhcmllc19fID0gdGhpcy5fX2xpYnJhcmllc19fLmZpbHRlcihsaWIgPT4gdGhpcy5saWNlbnNlc1tsaWIubGljZW5zZV0pO1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJ7e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L2E+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBN0VVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvOERBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuNDFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjQyJyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5fX2xpYnJhcmllc19fID0gdGhpcy5fX2xpYnJhcmllc19fLmZpbHRlcihsaWIgPT4gdGhpcy5saWNlbnNlc1tsaWIubGljZW5zZV0pO1xuICAgIHRoaXMuZ2V0VXNlckxhbmcoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmhlYWRlckxvZ28nKTtcbiAgICBpZiAoIXRoaXMuaGVhZGVyTG9nbykge1xuICAgICAgdGhpcy5oZWFkZXJMb2dvID0gdGhpcy5jb25maWcuZ2V0UmF3KCdhcHBMb2dvJyk7XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vaW5mbycpLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgIHRoaXMuY3RybC5wcm9kdWN0TmFtZSA9IGluZm8ucHJvZHVjdC5uYW1lO1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3RWZXJzaW9uID0gaW5mby5wcm9kdWN0LnByb2R1Y3R2ZXJzaW9uO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VXNlckxhbmcoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy51c2VyTGFuZyA9IGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZSk7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWFib3V0LXN0YXRlXCI+XG5cbiAgPGRpdiBjbGFzcz1cImFib3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImhlYWRlckxvZ29cIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsYWltXCIgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY2xhaW08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBcIj5cbiAgICAgICAgPHRhYmxlPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQuY29tcG9uZW50LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50TmFtZX19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQudmVyc2lvbi5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3tjdHJsLmNvbXBvbmVudFZlcnNpb259fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQ+e3sgY3RybC5wcm9kdWN0TmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjdC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3RWZXJzaW9uIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci5sYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGQgdHJhbnNsYXRlPmVvLmhlbHAuYWJvdXQucHJvZHVjZXIudGV4dDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cblxuICAgICAgPGgyIHRyYW5zbGF0ZT5lby5oZWxwLmxpY2Vuc2UudGl0bGU8L2gyPlxuICAgICAgPHAgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS5pbnRybzwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaG93TGljXCIgKGNsaWNrKT1cImxpY2Vuc2VTaG93ID0gIWxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvc3Bhbj48c3BhbiBjbGFzcz1cInRvZ2dsZS1pbmRpY2F0b3JcIj57e2xpY2Vuc2VTaG93ID8gJy0nIDogJysnfX08L3NwYW4+PC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpY2Vuc2VzXCIgKm5nSWY9XCJsaWNlbnNlU2hvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGliXCIgKm5nRm9yPVwibGV0IGxpYiBvZiBfX2xpYnJhcmllc19fOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7bGliLm5hbWV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWNcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJ7e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L2E+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsXCI+e3tsaWNlbnNlc1tsaWIubGljZW5zZV0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
@@ -231,7 +231,8 @@ let DashboardComponent = class DashboardComponent {
231
231
  }
232
232
  }
233
233
  loadWorkspacesConfig() {
234
- if (!this.userService.getCurrentUser().userSettings.workspaceOptions || this.userService.getCurrentUser().userSettings.workspaceOptions.workspaces.length === 0) {
234
+ const workspaceOptions = this.userService.getCurrentUser().userSettings.workspaceOptions;
235
+ if (!workspaceOptions || Object.keys(workspaceOptions).length === 0 || workspaceOptions.workspaces.length === 0) {
235
236
  this.http.get('assets/dashboard.json').subscribe({
236
237
  next: (res) => {
237
238
  this.workspaceConfig = res;
@@ -293,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
293
294
  type: HostListener,
294
295
  args: ['window:keyup', ['$event']]
295
296
  }] } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFVTCxLQUFLLEVBQ04sTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUl6QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDakcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDcEcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDaEgsT0FBTyxFQUFDLFlBQVks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LGFBQWE7S0FDZDtBQUVVLGtCQUFrQjtJQVQ5QixZQUFZLEVBQUU7R0FTRixrQkFBa0IsQ0FrUjlCO1NBbFJZLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGNBQWMsY0FHWjt3QkFDVixhQUFhO3FCQUNkOytZQXlCeUIsYUFBYTtzQkFBdEMsU0FBUzt1QkFBQyxhQUFhO2dCQUd4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIENhcGFiaWxpdGllcyxcbiAgQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgQ29uZmlnLFxuICBFb1VzZXIsXG4gIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICBTdG9yZWRRdWVyeSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgVXNlclNlcnZpY2UsXG4gIFV0aWxzXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1xuICBQaWN0dXJlV2lkZ2V0Q29tcG9uZW50LFxuICBQaWN0dXJlV2lkZ2V0U2V0dXBDb21wb25lbnQsXG4gIFRvZG9XaWRnZXRDb21wb25lbnQsXG4gIFRvZG9XaWRnZXRTZXR1cENvbXBvbmVudCxcbiAgV2lkZ2V0R3JpZFJlZ2lzdHJ5LFxuICBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnLFxuICBXaWRnZXRHcmlkV29ya3NwYWNlT3B0aW9uc1xufSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2UsIFBlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xuaW1wb3J0IHtsaXN0QW5pbWF0aW9ufSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsnO1xuaW1wb3J0IHtRdWlja1NlYXJjaFJlc3VsdH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrJztcbmltcG9ydCB7UXVpY2tTZWFyY2hDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yayc7XG5pbXBvcnQge1NlYXJjaFdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL3NlYXJjaC13aWRnZXQvc2VhcmNoLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmVlTm9kZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrJztcbmltcG9ydCB7SWZyYW1lU2V0dXBDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9pZnJhbWUtd2lkZ2V0L2lmcmFtZS1zZXR1cC9pZnJhbWUtc2V0dXAuY29tcG9uZW50JztcbmltcG9ydCB7TGFzdEVkaXRlZEFuZENyZWF0ZWRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9sYXN0LWVkaXRlZC13aWRnZXQvbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQuY29tcG9uZW50JztcbmltcG9ydCB7SWZyYW1lV2lkZ2V0Q29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaWZyYW1lLXdpZGdldC9pZnJhbWUtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbnRyYXlXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9pbmZvLWludHJheS13aWRnZXQvaW5mby1pbnRyYXktd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbnRyYXlTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS1zZXR1cC9pbmZvLWludHJheS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9pbmZvLWluYm94LXdpZGdldC9pbmZvLWluYm94LXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmZvSW5ib3hTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW5ib3gtd2lkZ2V0L2luZm8taW5ib3gtc2V0dXAvaW5mby1pbmJveC1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtIaXRsaXN0U2V0dXBDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9oaXRsaXN0LXdpZGdldC9oaXRsaXN0LXNldHVwL2hpdGxpc3Qtc2V0dXAuY29tcG9uZW50JztcbmltcG9ydCB7SGl0bGlzdFdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2hpdGxpc3Qtd2lkZ2V0L2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0FmdGVyVmlld0luaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFydHNXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7Q2hhcnRzU2V0dXBDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy1zZXR1cC9jaGFydHMtc2V0dXAuY29tcG9uZW50JztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBsaXN0QW5pbWF0aW9uXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICB3b3Jrc3BhY2VDb25maWc6IFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcgfCB1bmRlZmluZWQ7XG4gIHdvcmtzcGFjZU9wdGlvbnM6IFdpZGdldEdyaWRXb3Jrc3BhY2VPcHRpb25zID0ge1xuICAgIGdyaWRDb25maWc6IHtcbiAgICAgIHJvd3M6IDMwLFxuICAgICAgbmV3SXRlbVdpZHRoOiAyLFxuICAgICAgbmV3SXRlbUhlaWdodDogNVxuICAgIH1cbiAgfTtcbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdID0gW107XG4gIHNlbGVjdGVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBxdWlja1NlYXJjaFJlc3VsdDogUXVpY2tTZWFyY2hSZXN1bHQ7XG4gIHRyZWUgPSB7fTtcbiAgU1RPUkFHRV9LRVkgPSAnZW8uY2xpZW50LmRhc2hib2FyZC5jdXJyZW50V29ya3NwYWNlJztcbiAgdG9vbGJhclZpc2libGU6IGJvb2xlYW47XG4gIHRvb2xiYXJJY29uU3JjOiBzdHJpbmc7XG4gIHRvb2xiYXJJY29uVG9vbHRpcDogc3RyaW5nO1xuICBwZW5kaW5nVGFza0lEID0gJyc7XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBAVmlld0NoaWxkKCdxdWlja1NlYXJjaCcpIHF1aWNrU2VhcmNoRWw6IFF1aWNrU2VhcmNoQ29tcG9uZW50O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5KGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2lkZ2V0R3JpZFJlZ2lzdHJ5OiBXaWRnZXRHcmlkUmVnaXN0cnksXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXR5U2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXREZWZhdWx0VGl0bGUoKTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt0aGlzLmNvbmZpZy5nZXREYXNoYm9hcmRCYWNrZ3JvdW5kSW1hZ2UoKX0pYDtcbiAgICB0aGlzLnNldFdpZGdldEdyaWRMYWJlbHMoKTtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldEdyaWRMYWJlbHMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uV29ya3NwYWNlc0NvbmZpZ0NoYW5nZShjOiBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnKSB7XG4gICAgdGhpcy5zYXZlV29ya3NwYWNlc0NvbmZpZyhjKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0R3JpZExhYmVscygpIHtcbiAgICB0aGlzLndpZGdldEdyaWRSZWdpc3RyeS51cGRhdGVSZWdpc3RlcmVkV2lkZ2V0c0xhYmVscyh7XG4gICAgICBcInl1di53aWRnZXQucGljdHVyZVwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LnBpY3R1cmUubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC50b2RvXCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFRvZG9IZWFkbGluZUxhYmVsJyksXG4gICAgICBcInl1di53aWRnZXQuTGFzdEVkaXRlZFwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0Lmxhc3RFZGl0ZWRPckxhc3RDcmVhdGVkLmxhYmVsJyksXG4gICAgICBcInl1di53aWRnZXQuaWZyYW1lXCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaWZyYW1lLmxhYmVsJyksXG4gICAgICBcInl1di53aWRnZXQuaW5mb0ludHJheVwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmluZm9JbnRyYXkubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5pbmZvSW5ib3hcIjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5pbmZvSW5ib3gubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5xdWlja1NlYXJjaFwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LnF1aWNrc2VhcmNoLmxhYmVsJyksXG4gICAgICBcInl1di53aWRnZXQuaGl0bGlzdFwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmhpdGxpc3QubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5jaGFydFwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0LmxhYmVsJyksXG4gICAgfSk7XG5cbiAgICB0aGlzLndpZGdldEdyaWRSZWdpc3RyeS51cGRhdGVXaWRnZXRHcmlkTGFiZWxzKHtcbiAgICAgIHdpZGdldFBpY2tlclRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRQaWNrZXJUaXRsZScpLFxuICAgICAgYWRkV29ya3NwYWNlVG9vbHRpcDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQuYWRkV29ya3NwYWNlJyksXG4gICAgICBub29wV2lkZ2V0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLm5vb3BXaWRnZXRMYWJlbCcpLFxuICAgICAgd29ya3NwYWNlc0VtcHR5TWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud29ya3NwYWNlc0VtcHR5TWVzc2FnZScpLFxuICAgICAgbmV3V29ya3NwYWNlRGVmYXVsdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5uZXdXb3Jrc3BhY2VEZWZhdWx0TGFiZWwnKSxcbiAgICAgIHdvcmtzcGFjZUxhYmVsUGxhY2Vob2xkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLm5ld1dvcmtzcGFjZURlZmF1bHRMYWJlbCcpLFxuICAgICAgd29ya3NwYWNlUmVtb3ZlQ29uZmlybU1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndvcmtzcGFjZVJlbW92ZUNvbmZpcm1NZXNzYWdlJyksXG4gICAgICB3b3Jrc3BhY2VFZGl0RG9uZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud29ya3NwYWNlRWRpdERvbmUnKSxcbiAgICAgIHdvcmtzcGFjZUVkaXRDYW5jZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLmNhbmNlbCcpLFxuICAgICAgc2F2ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQuc2F2ZScpLFxuICAgICAgY2FuY2VsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5jYW5jZWwnKSxcbiAgICAgIGNvbmZpcm06IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLmNvbmZpcm0nKSxcbiAgICAgIHdpZGdldFRvZG9IZWFkbGluZUxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRUb2RvSGVhZGxpbmVMYWJlbCcpLFxuICAgICAgd2lkZ2V0VG9kb1Rhc2tUaXRsZUxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRUaXRsZUxhYmVsJylcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJXaWRnZXRzKCkge1xuICAgIFxuICAgIHRoaXMud2lkZ2V0R3JpZFJlZ2lzdHJ5LnJlZ2lzdGVyR3JpZFdpZGdldHMoW1xuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5waWN0dXJlJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQucGljdHVyZS5sYWJlbCcpLFxuICAgICAgICBzZXR1cENvbXBvbmVudDogUGljdHVyZVdpZGdldFNldHVwQ29tcG9uZW50LFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IFBpY3R1cmVXaWRnZXRDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC50b2RvJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFRvZG9IZWFkbGluZUxhYmVsJyksXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiBUb2RvV2lkZ2V0U2V0dXBDb21wb25lbnQsXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogVG9kb1dpZGdldENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0Lkxhc3RFZGl0ZWQnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5sYXN0RWRpdGVkT3JMYXN0Q3JlYXRlZC5sYWJlbCcpLFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuaWZyYW1lJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaWZyYW1lLmxhYmVsJyksXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogSWZyYW1lV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBzZXR1cENvbXBvbmVudDogSWZyYW1lU2V0dXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5pbmZvSW50cmF5JyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaW5mb0ludHJheS5sYWJlbCcpLFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IEluZm9JbnRyYXlXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiBJbmZvSW50cmF5U2V0dXBDb21wb25lbnRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LmluZm9JbmJveCcsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmluZm9JbmJveC5sYWJlbCcpLFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IEluZm9JbmJveFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IEluZm9JbmJveFNldHVwQ29tcG9uZW50XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5xdWlja1NlYXJjaCcsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LnF1aWNrc2VhcmNoLmxhYmVsJyksXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogU2VhcmNoV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuaGl0bGlzdCcsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmhpdGxpc3QubGFiZWwnKSxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IEhpdGxpc3RTZXR1cENvbXBvbmVudCxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuY2hhcnQnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydC5sYWJlbCcpLFxuICAgICAgICBzZXR1cENvbXBvbmVudDogIENoYXJ0c1NldHVwQ29tcG9uZW50LFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IENoYXJ0c1dpZGdldENvbXBvbmVudCxcbiAgICAgIH1cbiAgICBdKTtcbiAgfVxuXG4gIHNlbGVjdFN0b3JlZFF1ZXJ5KHE6IFN0b3JlZFF1ZXJ5KSB7XG4gICAgdGhpcy5zZWxlY3RlZFF1ZXJ5ID0gcTtcbiAgfVxuXG4gIC8vIHVzZXIgY2hhbmdlZCBpbnB1dCBvZiBxdWlja1NlYXJjaCBjb21wb25lbnRcbiAgb25RdWlja1NlYXJjaElucHV0Q2hhbmdlKHRlcm0pIHtcbiAgICB0aGlzLnF1aWNrU2VhcmNoUmVzdWx0ID0gbnVsbDtcbiAgfVxuXG4gIC8vIHF1aWNrU2VhcmNoIGNvbXBvbmVudCBpcyByZXR1cm5pbmcgcmVzdWx0c1xuICBvblF1aWNrU2VhcmNoUmVzdWx0KHJlc3VsdDogUXVpY2tTZWFyY2hSZXN1bHQpIHtcbiAgICB0aGlzLnF1aWNrU2VhcmNoUmVzdWx0ID0gcmVzdWx0O1xuICAgIE9iamVjdC5rZXlzKHRoaXMucXVpY2tTZWFyY2hSZXN1bHQuZ3JvdXBzKS5tYXAoa2V5ID0+ICh0aGlzLnRyZWVba2V5XSA9IHRoaXMuZ2V0VHJlZU5vZGVzKGtleSkpKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlMb2FkZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ3NlYXJjaCd9fV0pO1xuICB9XG5cbiAgb25TdG9yZWRRdWVyeUV4ZWN1dGUoZXZ0KSB7XG4gICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShldnQucXVlcnlKc29uKSk7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeydxdWVyeSc6IHVyaVBhcmFtfX07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcmVzdWx0J10sIHVyaVBhcmFtUXVlcnkpO1xuICB9XG4gIGdldFRyZWVOb2RlcyhrZXkpOiBUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdWlja1NlYXJjaFJlc3VsdC5ncm91cHNba2V5XS5tYXAoZ3JvdXAgPT4gKHtcbiAgICAgIGlkOiBncm91cC5kYXRhLmlkLFxuICAgICAgbmFtZTogZ3JvdXAubGFiZWwsXG4gICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgZGF0YTogZ3JvdXAuZGF0YSxcbiAgICAgIGJhZGdlczogW3t2YWx1ZTogZ3JvdXAuY291bnR9XVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFdvcmtzcGFjZXNDb25maWcoKTtcbiAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXR5U2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcbiAgICBpZiAodGhpcy5jYXBhYmlsaXRpZXMuc3RvcmVkcXVlcmllcykge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyaWVzJCgpXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4gdGhpcy5zdG9yZWRRdWVyaWVzID0gcXVlcmllc1N1YnNjcmlwdGlvbi5xdWVyaWVzLmZpbHRlcihxID0+IHEuZmF2b3JpdGUpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbmFtZScpKSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRvb2xiYXJWaXNpYmxlID0gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLnVzZXJTZXR0aW5ncy50b29sYmFyVmlzaWJpbGl0eTtcbiAgICAgIGNvbnN0IHRvb2xiYXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudG9vbGJhcicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgaWYgKHRoaXMudG9vbGJhclZpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuaGlkZVRvb2xiYXIodG9vbGJhcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dUb29sYmFyKHRvb2xiYXIpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc2hvd0Rhc2hib2FyZEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXNoYm9hcmRCdXR0b24nKTtcbiAgICAgIHNob3dEYXNoYm9hcmRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGlkZU9yU2hvd09uQ2xpY2sodG9vbGJhcik7XG4gICAgICB9KTtcbiAgICB9LCAyMDApO1xuXG4gIH1cblxuICBwcml2YXRlIGhpZGVUb29sYmFyKHRvb2xiYXI6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy50b29sYmFySWNvblNyYyA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X3VwLnN2Zyc7XG4gICAgdGhpcy50b29sYmFySWNvblRvb2x0aXAgPSAnZW8uZGFzaGJvYXJkLmJ1dHRvbi5zaG93LmZvb3Rlci50b29sdGlwJztcbiAgICB0b29sYmFyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy50b29sYmFyVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93VG9vbGJhcih0b29sYmFyOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMudG9vbGJhckljb25TcmMgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2Zyc7XG4gICAgdGhpcy50b29sYmFySWNvblRvb2x0aXAgPSAnZW8uZGFzaGJvYXJkLmJ1dHRvbi5oaWRlLmZvb3Rlci50b29sdGlwJztcbiAgICB0b29sYmFyLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG4gICAgdGhpcy50b29sYmFyVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhpZGVPclNob3dPbkNsaWNrKHRvb2xiYXI6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMudG9vbGJhclZpc2libGUpIHtcbiAgICAgIHRoaXMuaGlkZVRvb2xiYXIodG9vbGJhcik7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNhdmVUb29sYmFyU3RhdGUodGhpcy50b29sYmFyVmlzaWJsZSkuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd1Rvb2xiYXIodG9vbGJhcik7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNhdmVUb29sYmFyU3RhdGUodGhpcy50b29sYmFyVmlzaWJsZSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkV29ya3NwYWNlc0NvbmZpZygpIHtcbiAgICBpZiAoIXRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3Mud29ya3NwYWNlT3B0aW9ucyB8fCB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudXNlclNldHRpbmdzLndvcmtzcGFjZU9wdGlvbnMud29ya3NwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9kYXNoYm9hcmQuanNvbicpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcpID0+IHtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZyA9IHJlcztcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmxhYmVsKTtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmdyaWQuZm9yRWFjaChncmlkID0+IHtcbiAgICAgICAgICAgIGlmIChncmlkLndpZGdldENvbmZpZykge1xuICAgICAgICAgICAgICBncmlkLndpZGdldENvbmZpZy50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZ3JpZC53aWRnZXRDb25maWcudGl0bGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIC8vIG5vIGNvbmZpZyBmaWxlIGZvdW5kXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZyA9IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3Mud29ya3NwYWNlT3B0aW9ucztcbiAgICAgIGNvbnN0IGN1cnJlbnRXb3Jrc3BhY2UgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSk7XG4gICAgICBpZiAoY3VycmVudFdvcmtzcGFjZSAmJiB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzLm1hcCgodykgPT4gdy5pZCkuaW5jbHVkZXMoY3VycmVudFdvcmtzcGFjZSkpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcuY3VycmVudFdvcmtzcGFjZSA9IGN1cnJlbnRXb3Jrc3BhY2U7XG4gICAgICB9IGVsc2UgaWYgKCEhdGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcuY3VycmVudFdvcmtzcGFjZSA9IHRoaXMud29ya3NwYWNlQ29uZmlnLndvcmtzcGFjZXNbMF0uaWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlV29ya3NwYWNlc0NvbmZpZyhjOiBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnKSB7XG4gICAgLy8gdGhlIHNlbGVjdGVkIHdvcmtzcGFjZSBpcyBzYXZlZCBvbiB0aGUgZGV2aWNlIHdoaWxlIHRoZSB3b3Jrc3BhY2VzIHRoZW1zZWx2ZXMgYXJlIHN0b3JlZCBvbiB0aGUgdXNlciBzZXJ2aWNlXG4gICAgaWYgKGMpIHtcbiAgICAgIHRoaXMudXNlclNlcnZpY2Uuc2F2ZUNoYW5nZVdvcmtzcGFjZShjKS5waXBlKHN3aXRjaE1hcChhc3luYyAoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSwgYy5jdXJyZW50V29ya3NwYWNlKSkpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uV29ya3NwYWNlRWRpdE1vZGUob25FZGl0OiBib29sZWFuKSB7XG4gICAgaWYgKG9uRWRpdCkge1xuICAgICAgdGhpcy5wZW5kaW5nVGFza0lEID0gdGhpcy5wZW5kaW5nQ2hhbmdlcy5zdGFydFRhc2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nQ2hhbmdlcy5maW5pc2hUYXNrKHRoaXMucGVuZGluZ1Rhc2tJRClcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJmYWRlXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyQnV0dG9uXCIgZW9SdGxBd2FyZT1cImZ1bGxcIj5cbiAgICAgIDxlby1pY29uIGlkPVwiZGFzaGJvYXJkQnV0dG9uXCIgW2ljb25TcmNdPVwidG9vbGJhckljb25TcmNcIiBbaWNvblRpdGxlXT1cInRvb2xiYXJJY29uVG9vbHRpcCB8IHRyYW5zbGF0ZVwiPjwvZW8taWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8eXV2LXdpZGdldC1ncmlkLXdvcmtzcGFjZXMgKm5nSWY9XCJ3b3Jrc3BhY2VDb25maWdcIlxuICAgIFt3b3Jrc3BhY2VMYWJlbE1heExlbmd0aF09XCI1MFwiXG4gICAgW3dvcmtzcGFjZUNvbmZpZ109XCJ3b3Jrc3BhY2VDb25maWdcIlxuICAgICAgKGNvbmZpZ0NoYW5nZSk9XCJvbldvcmtzcGFjZXNDb25maWdDaGFuZ2UoJGV2ZW50KVwiIChlZGl0TW9kZUNoYW5nZSk9XCJvbldvcmtzcGFjZUVkaXRNb2RlKCRldmVudClcIiBbb3B0aW9uc109XCJ3b3Jrc3BhY2VPcHRpb25zXCI+XG4gICAgPC95dXYtd2lkZ2V0LWdyaWQtd29ya3NwYWNlcz5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFVTCxLQUFLLEVBQ04sTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUl6QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDakcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDcEcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUVBQXlFLENBQUM7QUFDaEgsT0FBTyxFQUFDLFlBQVks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QkFBa0I7bUdBQWxCLGtCQUFrQiw0TkN0RC9CLGdwQkFhQSx1aEZEcUNjO1FBQ1YsYUFBYTtLQUNkO0FBRVUsa0JBQWtCO0lBVDlCLFlBQVksRUFBRTtHQVNGLGtCQUFrQixDQW1SOUI7U0FuUlksa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUdaO3dCQUNWLGFBQWE7cUJBQ2Q7K1lBeUJ5QixhQUFhO3NCQUF0QyxTQUFTO3VCQUFDLGFBQWE7Z0JBR3hCLEtBQUs7c0JBREosWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVvVXNlcixcbiAgTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gIFN0b3JlZFF1ZXJ5LFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7XG4gIFBpY3R1cmVXaWRnZXRDb21wb25lbnQsXG4gIFBpY3R1cmVXaWRnZXRTZXR1cENvbXBvbmVudCxcbiAgVG9kb1dpZGdldENvbXBvbmVudCxcbiAgVG9kb1dpZGdldFNldHVwQ29tcG9uZW50LFxuICBXaWRnZXRHcmlkUmVnaXN0cnksXG4gIFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcsXG4gIFdpZGdldEdyaWRXb3Jrc3BhY2VPcHRpb25zXG59IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZSwgUGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5pbXBvcnQge2xpc3RBbmltYXRpb259IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yayc7XG5pbXBvcnQge1F1aWNrU2VhcmNoUmVzdWx0fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsnO1xuaW1wb3J0IHtRdWlja1NlYXJjaENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrJztcbmltcG9ydCB7U2VhcmNoV2lkZ2V0Q29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvc2VhcmNoLXdpZGdldC9zZWFyY2gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsnO1xuaW1wb3J0IHtJZnJhbWVTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXNldHVwL2lmcmFtZS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZnJhbWVXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9pZnJhbWUtd2lkZ2V0L2lmcmFtZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVNldHVwQ29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaW5mby1pbnRyYXktd2lkZ2V0L2luZm8taW50cmF5LXNldHVwL2luZm8taW50cmF5LXNldHVwLmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbmJveFdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW5ib3gtd2lkZ2V0L2luZm8taW5ib3gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbmJveFNldHVwQ29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC1zZXR1cC9pbmZvLWluYm94LXNldHVwLmNvbXBvbmVudCc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0hpdGxpc3RTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2hpdGxpc3Qtd2lkZ2V0L2hpdGxpc3Qtc2V0dXAvaGl0bGlzdC1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtIaXRsaXN0V2lkZ2V0Q29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoYXJ0c1dpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2NoYXJ0cy13aWRnZXQvY2hhcnRzLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGFydHNTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2NoYXJ0cy13aWRnZXQvY2hhcnRzLXNldHVwL2NoYXJ0cy1zZXR1cC5jb21wb25lbnQnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIGxpc3RBbmltYXRpb25cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHdvcmtzcGFjZUNvbmZpZzogV2lkZ2V0R3JpZFdvcmtzcGFjZUNvbmZpZyB8IHVuZGVmaW5lZDtcbiAgd29ya3NwYWNlT3B0aW9uczogV2lkZ2V0R3JpZFdvcmtzcGFjZU9wdGlvbnMgPSB7XG4gICAgZ3JpZENvbmZpZzoge1xuICAgICAgcm93czogMzAsXG4gICAgICBuZXdJdGVtV2lkdGg6IDIsXG4gICAgICBuZXdJdGVtSGVpZ2h0OiA1XG4gICAgfVxuICB9O1xuICBiYWNrZ3JvdW5kSW1hZ2U6IHN0cmluZztcbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIHN0b3JlZFF1ZXJpZXM6IFN0b3JlZFF1ZXJ5W10gPSBbXTtcbiAgc2VsZWN0ZWRRdWVyeTogU3RvcmVkUXVlcnk7XG4gIHF1aWNrU2VhcmNoUmVzdWx0OiBRdWlja1NlYXJjaFJlc3VsdDtcbiAgdHJlZSA9IHt9O1xuICBTVE9SQUdFX0tFWSA9ICdlby5jbGllbnQuZGFzaGJvYXJkLmN1cnJlbnRXb3Jrc3BhY2UnO1xuICB0b29sYmFyVmlzaWJsZTogYm9vbGVhbjtcbiAgdG9vbGJhckljb25TcmM6IHN0cmluZztcbiAgdG9vbGJhckljb25Ub29sdGlwOiBzdHJpbmc7XG4gIHBlbmRpbmdUYXNrSUQgPSAnJztcblxuICB1c2VyOiBFb1VzZXI7XG4gIEBWaWV3Q2hpbGQoJ3F1aWNrU2VhcmNoJykgcXVpY2tTZWFyY2hFbDogUXVpY2tTZWFyY2hDb21wb25lbnQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXkoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDI3KSB7XG4gICAgICB0aGlzLnNlbGVjdFN0b3JlZFF1ZXJ5KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aWRnZXRHcmlkUmVnaXN0cnk6IFdpZGdldEdyaWRSZWdpc3RyeSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdHlTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldERlZmF1bHRUaXRsZSgpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuc2V0V2lkZ2V0R3JpZExhYmVscygpO1xuICAgIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIHRoaXMuc2V0V2lkZ2V0R3JpZExhYmVscygpO1xuICAgIH0pO1xuICB9XG5cbiAgb25Xb3Jrc3BhY2VzQ29uZmlnQ2hhbmdlKGM6IFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcpIHtcbiAgICB0aGlzLnNhdmVXb3Jrc3BhY2VzQ29uZmlnKGMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRHcmlkTGFiZWxzKCkge1xuICAgIHRoaXMud2lkZ2V0R3JpZFJlZ2lzdHJ5LnVwZGF0ZVJlZ2lzdGVyZWRXaWRnZXRzTGFiZWxzKHtcbiAgICAgIFwieXV2LndpZGdldC5waWN0dXJlXCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQucGljdHVyZS5sYWJlbCcpLFxuICAgICAgXCJ5dXYud2lkZ2V0LnRvZG9cIjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud2lkZ2V0VG9kb0hlYWRsaW5lTGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5MYXN0RWRpdGVkXCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQubGFzdEVkaXRlZE9yTGFzdENyZWF0ZWQubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5pZnJhbWVcIjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5pZnJhbWUubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5pbmZvSW50cmF5XCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaW5mb0ludHJheS5sYWJlbCcpLFxuICAgICAgXCJ5dXYud2lkZ2V0LmluZm9JbmJveFwiOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmluZm9JbmJveC5sYWJlbCcpLFxuICAgICAgXCJ5dXYud2lkZ2V0LnF1aWNrU2VhcmNoXCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQucXVpY2tzZWFyY2gubGFiZWwnKSxcbiAgICAgIFwieXV2LndpZGdldC5oaXRsaXN0XCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaGl0bGlzdC5sYWJlbCcpLFxuICAgICAgXCJ5dXYud2lkZ2V0LmNoYXJ0XCI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnQubGFiZWwnKSxcbiAgICB9KTtcblxuICAgIHRoaXMud2lkZ2V0R3JpZFJlZ2lzdHJ5LnVwZGF0ZVdpZGdldEdyaWRMYWJlbHMoe1xuICAgICAgd2lkZ2V0UGlja2VyVGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFBpY2tlclRpdGxlJyksXG4gICAgICBhZGRXb3Jrc3BhY2VUb29sdGlwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5hZGRXb3Jrc3BhY2UnKSxcbiAgICAgIG5vb3BXaWRnZXRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQubm9vcFdpZGdldExhYmVsJyksXG4gICAgICB3b3Jrc3BhY2VzRW1wdHlNZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53b3Jrc3BhY2VzRW1wdHlNZXNzYWdlJyksXG4gICAgICBuZXdXb3Jrc3BhY2VEZWZhdWx0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLm5ld1dvcmtzcGFjZURlZmF1bHRMYWJlbCcpLFxuICAgICAgd29ya3NwYWNlTGFiZWxQbGFjZWhvbGRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQubmV3V29ya3NwYWNlRGVmYXVsdExhYmVsJyksXG4gICAgICB3b3Jrc3BhY2VSZW1vdmVDb25maXJtTWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud29ya3NwYWNlUmVtb3ZlQ29uZmlybU1lc3NhZ2UnKSxcbiAgICAgIHdvcmtzcGFjZUVkaXREb25lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53b3Jrc3BhY2VFZGl0RG9uZScpLFxuICAgICAgd29ya3NwYWNlRWRpdENhbmNlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQuY2FuY2VsJyksXG4gICAgICBzYXZlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5zYXZlJyksXG4gICAgICBjYW5jZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLmNhbmNlbCcpLFxuICAgICAgY29uZmlybTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQuY29uZmlybScpLFxuICAgICAgd2lkZ2V0VG9kb0hlYWRsaW5lTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFRvZG9IZWFkbGluZUxhYmVsJyksXG4gICAgICB3aWRnZXRUb2RvVGFza1RpdGxlTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFRpdGxlTGFiZWwnKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcldpZGdldHMoKSB7XG4gICAgXG4gICAgdGhpcy53aWRnZXRHcmlkUmVnaXN0cnkucmVnaXN0ZXJHcmlkV2lkZ2V0cyhbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LnBpY3R1cmUnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5waWN0dXJlLmxhYmVsJyksXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiBQaWN0dXJlV2lkZ2V0U2V0dXBDb21wb25lbnQsXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogUGljdHVyZVdpZGdldENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LnRvZG8nLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud2lkZ2V0VG9kb0hlYWRsaW5lTGFiZWwnKSxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IFRvZG9XaWRnZXRTZXR1cENvbXBvbmVudCxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBUb2RvV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuTGFzdEVkaXRlZCcsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0Lmxhc3RFZGl0ZWRPckxhc3RDcmVhdGVkLmxhYmVsJyksXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogTGFzdEVkaXRlZEFuZENyZWF0ZWRDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5pZnJhbWUnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5pZnJhbWUubGFiZWwnKSxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBJZnJhbWVXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiBJZnJhbWVTZXR1cENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LmluZm9JbnRyYXknLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5pbmZvSW50cmF5LmxhYmVsJyksXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogSW5mb0ludHJheVdpZGdldENvbXBvbmVudCxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IEluZm9JbnRyYXlTZXR1cENvbXBvbmVudFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuaW5mb0luYm94JyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaW5mb0luYm94LmxhYmVsJyksXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogSW5mb0luYm94V2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBzZXR1cENvbXBvbmVudDogSW5mb0luYm94U2V0dXBDb21wb25lbnRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LnF1aWNrU2VhcmNoJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQucXVpY2tzZWFyY2gubGFiZWwnKSxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBTZWFyY2hXaWRnZXRDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5oaXRsaXN0JyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuaGl0bGlzdC5sYWJlbCcpLFxuICAgICAgICBzZXR1cENvbXBvbmVudDogSGl0bGlzdFNldHVwQ29tcG9uZW50LFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IEhpdGxpc3RXaWRnZXRDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5jaGFydCcsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0LmxhYmVsJyksXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiAgQ2hhcnRzU2V0dXBDb21wb25lbnQsXG4gICAgICAgIHdpZGdldENvbXBvbmVudDogQ2hhcnRzV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgc2VsZWN0U3RvcmVkUXVlcnkocTogU3RvcmVkUXVlcnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUXVlcnkgPSBxO1xuICB9XG5cbiAgLy8gdXNlciBjaGFuZ2VkIGlucHV0IG9mIHF1aWNrU2VhcmNoIGNvbXBvbmVudFxuICBvblF1aWNrU2VhcmNoSW5wdXRDaGFuZ2UodGVybSkge1xuICAgIHRoaXMucXVpY2tTZWFyY2hSZXN1bHQgPSBudWxsO1xuICB9XG5cbiAgLy8gcXVpY2tTZWFyY2ggY29tcG9uZW50IGlzIHJldHVybmluZyByZXN1bHRzXG4gIG9uUXVpY2tTZWFyY2hSZXN1bHQocmVzdWx0OiBRdWlja1NlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMucXVpY2tTZWFyY2hSZXN1bHQgPSByZXN1bHQ7XG4gICAgT2JqZWN0LmtleXModGhpcy5xdWlja1NlYXJjaFJlc3VsdC5ncm91cHMpLm1hcChrZXkgPT4gKHRoaXMudHJlZVtrZXldID0gdGhpcy5nZXRUcmVlTm9kZXMoa2V5KSkpO1xuICB9XG5cbiAgb25TdG9yZWRRdWVyeUxvYWRlZCgpIHtcbiAgICB0aGlzLnNlbGVjdFN0b3JlZFF1ZXJ5KG51bGwpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gIH1cblxuICBvblN0b3JlZFF1ZXJ5RXhlY3V0ZShldnQpIHtcbiAgICB0aGlzLnNlbGVjdFN0b3JlZFF1ZXJ5KG51bGwpO1xuICAgIGNvbnN0IHVyaVBhcmFtID0gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGV2dC5xdWVyeUpzb24pKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9yZXN1bHQnXSwgdXJpUGFyYW1RdWVyeSk7XG4gIH1cbiAgZ2V0VHJlZU5vZGVzKGtleSk6IFRyZWVOb2RlW10ge1xuICAgIHJldHVybiB0aGlzLnF1aWNrU2VhcmNoUmVzdWx0Lmdyb3Vwc1trZXldLm1hcChncm91cCA9PiAoe1xuICAgICAgaWQ6IGdyb3VwLmRhdGEuaWQsXG4gICAgICBuYW1lOiBncm91cC5sYWJlbCxcbiAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICBkYXRhOiBncm91cC5kYXRhLFxuICAgICAgYmFkZ2VzOiBbe3ZhbHVlOiBncm91cC5jb3VudH1dXG4gICAgfSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkV29ya3NwYWNlc0NvbmZpZygpO1xuICAgIHRoaXMucmVnaXN0ZXJXaWRnZXRzKCk7XG4gICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdHlTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5zdG9yZWRxdWVyaWVzKSB7XG4gICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJpZXMkKClcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUocXVlcmllc1N1YnNjcmlwdGlvbiA9PiB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBxdWVyaWVzU3Vic2NyaXB0aW9uLnF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5mYXZvcml0ZSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCduYW1lJykpKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudG9vbGJhclZpc2libGUgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudXNlclNldHRpbmdzLnRvb2xiYXJWaXNpYmlsaXR5O1xuICAgICAgY29uc3QgdG9vbGJhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAodGhpcy50b29sYmFyVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbGJhcih0b29sYmFyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2xiYXIodG9vbGJhcik7XG4gICAgICB9XG4gICAgICBjb25zdCBzaG93RGFzaGJvYXJkQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rhc2hib2FyZEJ1dHRvbicpO1xuICAgICAgc2hvd0Rhc2hib2FyZEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlT3JTaG93T25DbGljayh0b29sYmFyKTtcbiAgICAgIH0pO1xuICAgIH0sIDIwMCk7XG5cbiAgfVxuXG4gIHByaXZhdGUgaGlkZVRvb2xiYXIodG9vbGJhcjogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLnRvb2xiYXJJY29uU3JjID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfdXAuc3ZnJztcbiAgICB0aGlzLnRvb2xiYXJJY29uVG9vbHRpcCA9ICdlby5kYXNoYm9hcmQuYnV0dG9uLnNob3cuZm9vdGVyLnRvb2x0aXAnO1xuICAgIHRvb2xiYXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB0aGlzLnRvb2xiYXJWaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNob3dUb29sYmFyKHRvb2xiYXI6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy50b29sYmFySWNvblNyYyA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X2Rvd24uc3ZnJztcbiAgICB0aGlzLnRvb2xiYXJJY29uVG9vbHRpcCA9ICdlby5kYXNoYm9hcmQuYnV0dG9uLmhpZGUuZm9vdGVyLnRvb2x0aXAnO1xuICAgIHRvb2xiYXIuc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcbiAgICB0aGlzLnRvb2xiYXJWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU9yU2hvd09uQ2xpY2sodG9vbGJhcjogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAodGhpcy50b29sYmFyVmlzaWJsZSkge1xuICAgICAgdGhpcy5oaWRlVG9vbGJhcih0b29sYmFyKTtcbiAgICAgIHRoaXMudXNlclNlcnZpY2Uuc2F2ZVRvb2xiYXJTdGF0ZSh0aGlzLnRvb2xiYXJWaXNpYmxlKS5zdWJzY3JpYmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93VG9vbGJhcih0b29sYmFyKTtcbiAgICAgIHRoaXMudXNlclNlcnZpY2Uuc2F2ZVRvb2xiYXJTdGF0ZSh0aGlzLnRvb2xiYXJWaXNpYmxlKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRXb3Jrc3BhY2VzQ29uZmlnKCkge1xuICAgIGNvbnN0IHdvcmtzcGFjZU9wdGlvbnMgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudXNlclNldHRpbmdzLndvcmtzcGFjZU9wdGlvbnM7XG4gICAgaWYgKCF3b3Jrc3BhY2VPcHRpb25zIHx8IE9iamVjdC5rZXlzKHdvcmtzcGFjZU9wdGlvbnMpLmxlbmd0aCA9PT0gMCB8fCB3b3Jrc3BhY2VPcHRpb25zLndvcmtzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KCdhc3NldHMvZGFzaGJvYXJkLmpzb24nKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnKSA9PiB7XG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcgPSByZXM7XG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlc1swXS5sYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlc1swXS5sYWJlbCk7XG4gICAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlc1swXS5ncmlkLmZvckVhY2goZ3JpZCA9PiB7XG4gICAgICAgICAgICBpZiAoZ3JpZC53aWRnZXRDb25maWcpIHtcbiAgICAgICAgICAgICAgZ3JpZC53aWRnZXRDb25maWcudGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGdyaWQud2lkZ2V0Q29uZmlnLnRpdGxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAvLyBubyBjb25maWcgZmlsZSBmb3VuZFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudXNlclNldHRpbmdzLndvcmtzcGFjZU9wdGlvbnM7XG4gICAgICBjb25zdCBjdXJyZW50V29ya3NwYWNlID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVkpO1xuICAgICAgaWYgKGN1cnJlbnRXb3Jrc3BhY2UgJiYgdGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlcy5tYXAoKHcpID0+IHcuaWQpLmluY2x1ZGVzKGN1cnJlbnRXb3Jrc3BhY2UpKSB7XG4gICAgICAgIHRoaXMud29ya3NwYWNlQ29uZmlnLmN1cnJlbnRXb3Jrc3BhY2UgPSBjdXJyZW50V29ya3NwYWNlO1xuICAgICAgfSBlbHNlIGlmICghIXRoaXMud29ya3NwYWNlQ29uZmlnLndvcmtzcGFjZXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMud29ya3NwYWNlQ29uZmlnLmN1cnJlbnRXb3Jrc3BhY2UgPSB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmlkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVdvcmtzcGFjZXNDb25maWcoYzogV2lkZ2V0R3JpZFdvcmtzcGFjZUNvbmZpZykge1xuICAgIC8vIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgaXMgc2F2ZWQgb24gdGhlIGRldmljZSB3aGlsZSB0aGUgd29ya3NwYWNlcyB0aGVtc2VsdmVzIGFyZSBzdG9yZWQgb24gdGhlIHVzZXIgc2VydmljZVxuICAgIGlmIChjKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNhdmVDaGFuZ2VXb3Jrc3BhY2UoYykucGlwZShzd2l0Y2hNYXAoYXN5bmMgKCkgPT4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVksIGMuY3VycmVudFdvcmtzcGFjZSkpKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBvbldvcmtzcGFjZUVkaXRNb2RlKG9uRWRpdDogYm9vbGVhbikge1xuICAgIGlmIChvbkVkaXQpIHtcbiAgICAgIHRoaXMucGVuZGluZ1Rhc2tJRCA9IHRoaXMucGVuZGluZ0NoYW5nZXMuc3RhcnRUYXNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGVuZGluZ0NoYW5nZXMuZmluaXNoVGFzayh0aGlzLnBlbmRpbmdUYXNrSUQpXG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiZmFkZVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvb3RlckJ1dHRvblwiIGVvUnRsQXdhcmU9XCJmdWxsXCI+XG4gICAgICA8ZW8taWNvbiBpZD1cImRhc2hib2FyZEJ1dHRvblwiIFtpY29uU3JjXT1cInRvb2xiYXJJY29uU3JjXCIgW2ljb25UaXRsZV09XCJ0b29sYmFySWNvblRvb2x0aXAgfCB0cmFuc2xhdGVcIj48L2VvLWljb24+XG4gICAgPC9kaXY+XG4gICAgPHl1di13aWRnZXQtZ3JpZC13b3Jrc3BhY2VzICpuZ0lmPVwid29ya3NwYWNlQ29uZmlnXCJcbiAgICBbd29ya3NwYWNlTGFiZWxNYXhMZW5ndGhdPVwiNTBcIlxuICAgIFt3b3Jrc3BhY2VDb25maWddPVwid29ya3NwYWNlQ29uZmlnXCJcbiAgICAgIChjb25maWdDaGFuZ2UpPVwib25Xb3Jrc3BhY2VzQ29uZmlnQ2hhbmdlKCRldmVudClcIiAoZWRpdE1vZGVDaGFuZ2UpPVwib25Xb3Jrc3BhY2VFZGl0TW9kZSgkZXZlbnQpXCIgW29wdGlvbnNdPVwid29ya3NwYWNlT3B0aW9uc1wiPlxuICAgIDwveXV2LXdpZGdldC1ncmlkLXdvcmtzcGFjZXM+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=