bpm-core 0.0.18 → 0.0.19

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 (24) hide show
  1. package/esm2022/lib/app/app.component.mjs +22 -12
  2. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +5 -5
  3. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +8 -5
  4. package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +4 -4
  5. package/esm2022/lib/interfaces/form.interface.mjs +1 -1
  6. package/esm2022/lib/services/core.service.ts.mjs +299 -168
  7. package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +8 -0
  8. package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +52 -0
  9. package/esm2022/lib/testComponent/services/i18n.service.mjs +39 -0
  10. package/esm2022/lib/testComponent/services/segment-dynamic-loader.service.mjs +54 -0
  11. package/esm2022/lib/testComponent/services/state-machine.service.mjs +148 -0
  12. package/fesm2022/bpm-core.mjs +4774 -4352
  13. package/fesm2022/bpm-core.mjs.map +1 -1
  14. package/lib/app/app.component.d.ts +4 -2
  15. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +1 -1
  16. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +5 -5
  17. package/lib/interfaces/form.interface.d.ts +2 -2
  18. package/lib/services/core.service.ts.d.ts +1 -0
  19. package/lib/testComponent/config/segment-dynamic-loader.config.d.ts +8 -0
  20. package/lib/testComponent/general-approver-section/general-approver-section.component.d.ts +21 -0
  21. package/lib/testComponent/services/i18n.service.d.ts +11 -0
  22. package/lib/testComponent/services/segment-dynamic-loader.service.d.ts +17 -0
  23. package/lib/testComponent/services/state-machine.service.d.ts +29 -0
  24. package/package.json +1 -1
@@ -1,16 +1,18 @@
1
1
  import { Component, Inject } from '@angular/core';
2
- import { LayoutComponent } from "../components/app-component-sections/layout/layout.component";
2
+ import { LayoutComponent } from "../components/app-component-sections";
3
3
  import { DOCUMENT } from "@angular/common";
4
4
  import { Form, Messages } from "../interfaces";
5
5
  import * as constants from "../constants";
6
6
  import loadFormHooks from "../hooks/load-form";
7
7
  import { ServiceHeaderComponent, WorkflowSectionComponent } from "../components/app-component-sections";
8
8
  import { RequestDetailsSectionComponent } from "../testComponent/request-details-section/request-details-section.component";
9
+ import { DynamicComponentInjectorToken } from "ng-dynamic-component";
9
10
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/router";
11
- import * as i2 from "../services";
12
- import * as i3 from "../services/core.service.ts";
11
+ import * as i1 from "../testComponent/services/segment-dynamic-loader.service";
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "../services";
13
14
  export class CoreAppComponent {
15
+ segmentDynamicLoader;
14
16
  document;
15
17
  router;
16
18
  sidenavService;
@@ -20,20 +22,21 @@ export class CoreAppComponent {
20
22
  };
21
23
  form;
22
24
  formTitle = 'Test';
23
- constructor(document, router, sidenavService, coreService) {
25
+ constructor(segmentDynamicLoader, document, router, sidenavService, coreService) {
26
+ this.segmentDynamicLoader = segmentDynamicLoader;
24
27
  this.document = document;
25
28
  this.router = router;
26
29
  this.sidenavService = sidenavService;
27
30
  this.coreService = coreService;
28
31
  this.loading['form'] = true;
29
32
  this.coreService.loadForm().then((form) => {
30
- this.loading['form'] = false;
31
33
  if (form instanceof Form) {
32
34
  this.form = form;
33
35
  }
34
36
  else if (form instanceof Messages) {
35
37
  this.errorResponse(form);
36
38
  }
39
+ this.loading['form'] = false;
37
40
  });
38
41
  }
39
42
  errorResponse(form) {
@@ -46,19 +49,26 @@ export class CoreAppComponent {
46
49
  }
47
50
  window.scrollTo(0, 0);
48
51
  }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, deps: [{ token: DOCUMENT }, { token: i1.Router }, { token: i2.SidenavService }, { token: i3.CoreService }], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CoreAppComponent, isStandalone: true, selector: "lib-app", ngImport: i0, template: "<!--\r\n<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [sections]=\"form?.sections\">\r\n <app-request-details-section\r\n [section]=\"form.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"></app-request-details-section>\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n-->\r\n", styles: [""] });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, deps: [{ token: i1.SegmentDynamicLoaderService }, { token: DOCUMENT }, { token: i2.Router }, { token: i3.SidenavService }, { token: i3.CoreService }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: CoreAppComponent, isStandalone: true, selector: "lib-app", providers: [
54
+ { provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
55
+ ], ngImport: i0, template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [sections]=\"form?.sections\">\r\n <app-request-details-section [section]=\"form?.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"></app-request-details-section>\r\n <!-- [isReadOnly]=\"form.sections[0].header.readOnly\"-->\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n", styles: [""], dependencies: [{ kind: "component", type:
56
+ // DynamicModule,
57
+ LayoutComponent, selector: "core-layout", inputs: ["form", "formTitle", "isLoading", "serviceBrief"] }, { kind: "component", type: ServiceHeaderComponent, selector: "core-service-header", inputs: ["form", "showHistory", "isLoading", "showApprovalHistory", "approvalHistory", "creationDate", "formTitle", "section", "serviceBrief"] }, { kind: "component", type: WorkflowSectionComponent, selector: "app-workflow-section", inputs: ["sections", "isReadOnly", "isLoading", "form", "contentClass", "sectionsController", "segmentDynamicLoaderService", "sectionFormComponent", "sectionName"], outputs: ["sectionSubmitted"] }, { kind: "component", type: RequestDetailsSectionComponent, selector: "app-request-details-section", inputs: ["isReadOnly", "section", "lov", "className"] }] });
51
58
  }
52
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, decorators: [{
53
60
  type: Component,
54
61
  args: [{ selector: 'lib-app', standalone: true, imports: [
62
+ // DynamicModule,
55
63
  LayoutComponent,
56
64
  ServiceHeaderComponent,
57
65
  WorkflowSectionComponent,
58
66
  RequestDetailsSectionComponent
59
- ], template: "<!--\r\n<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [sections]=\"form?.sections\">\r\n <app-request-details-section\r\n [section]=\"form.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"></app-request-details-section>\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n-->\r\n" }]
60
- }], ctorParameters: () => [{ type: Document, decorators: [{
67
+ ], providers: [
68
+ { provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
69
+ ], template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [sections]=\"form?.sections\">\r\n <app-request-details-section [section]=\"form?.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"></app-request-details-section>\r\n <!-- [isReadOnly]=\"form.sections[0].header.readOnly\"-->\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n" }]
70
+ }], ctorParameters: () => [{ type: i1.SegmentDynamicLoaderService }, { type: Document, decorators: [{
61
71
  type: Inject,
62
72
  args: [DOCUMENT]
63
- }] }, { type: i1.Router }, { type: i2.SidenavService }, { type: i3.CoreService }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QyxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQzs7Ozs7QUFjMUgsTUFBTSxPQUFPLGdCQUFnQjtJQVFVO0lBQ2xCO0lBQ0E7SUFDVDtJQVZWLE9BQU8sR0FBRztRQUNSLElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQTtJQUNELElBQUksQ0FBTTtJQUNWLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFFM0IsWUFDcUMsUUFBa0IsRUFDcEMsTUFBYyxFQUNkLGNBQThCLEVBQ3ZDLFdBQXdCO1FBSEcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRWhDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDNUIsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7aUJBQU0sSUFBSSxJQUFJLFlBQVksUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixJQUFJLENBQ0wsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzt1R0F6Q1UsZ0JBQWdCLGtCQVFqQixRQUFROzJGQVJQLGdCQUFnQixtRUN4QjdCLDB0QkFzQkE7OzJGREVhLGdCQUFnQjtrQkFaNUIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUdQO3dCQUNQLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLDhCQUE4QjtxQkFDL0I7OzBCQVVFLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xheW91dENvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7U2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0NvcmVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvY29yZS5zZXJ2aWNlLnRzXCI7XHJcbmltcG9ydCB7Rm9ybSwgTWVzc2FnZXN9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBsb2FkRm9ybUhvb2tzIGZyb20gXCIuLi9ob29rcy9sb2FkLWZvcm1cIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LCBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnNcIjtcclxuaW1wb3J0IHtSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXBwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hcHAuY29tcG9uZW50LmNzcycsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgU2VydmljZUhlYWRlckNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93U2VjdGlvbkNvbXBvbmVudCxcclxuICAgIFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlQXBwQ29tcG9uZW50IHtcclxuICBsb2FkaW5nID0ge1xyXG4gICAgZm9ybTogZmFsc2VcclxuICB9XHJcbiAgZm9ybTogRm9ybVxyXG4gIGZvcm1UaXRsZTogc3RyaW5nID0gJ1Rlc3QnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogQ29yZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gdHJ1ZVxyXG4gICAgdGhpcy5jb3JlU2VydmljZS5sb2FkRm9ybSgpLnRoZW4oKGZvcm06IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gZmFsc2VcclxuICAgICAgICBpZiAoZm9ybSBpbnN0YW5jZW9mIEZvcm0pIHtcclxuICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XHJcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtIGluc3RhbmNlb2YgTWVzc2FnZXMpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JSZXNwb25zZShmb3JtKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGVycm9yUmVzcG9uc2UoZm9ybTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBmb3JtXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0ubWVzc2FnZXMgPSBmb3JtO1xyXG4gICAgICB0aGlzLmZvcm0gPSBsb2FkRm9ybUhvb2tzLmFmdGVyVHJhbnNwaWxlUGF5bG9hZCh0aGlzLmZvcm0pO1xyXG4gICAgfVxyXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tXHJcbjxjb3JlLWxheW91dD5cclxuICBAaWYgKCFsb2FkaW5nWydmb3JtJ10pIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyXHJcbiAgICAgIFtpc0xvYWRpbmddPVwiZmFsc2VcIlxyXG4gICAgICBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIj5cclxuICAgIDwvY29yZS1zZXJ2aWNlLWhlYWRlcj5cclxuICAgIDxhcHAtd29ya2Zsb3ctc2VjdGlvblxyXG4gICAgICB3b3JrZmxvd1xyXG4gICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgW3NlY3Rpb25zXT1cImZvcm0/LnNlY3Rpb25zXCI+XHJcbiAgICAgIDxhcHAtcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb25cclxuICAgICAgICBbc2VjdGlvbl09XCJmb3JtLnNlY3Rpb25zWzBdXCIgW2xvdl09XCJmb3JtPy5sb3ZzXCIgY2xhc3NOYW1lPVwiZm9ybS1zZWN0aW9uXCJcclxuICAgICAgICBbaXNSZWFkT25seV09XCJmb3JtLnNlY3Rpb25zWzBdLmhlYWRlci5yZWFkT25seVwiPjwvYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uPlxyXG4gICAgPC9hcHAtd29ya2Zsb3ctc2VjdGlvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyIGhlYWRlciBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiIFtpc0xvYWRpbmddPVwidHJ1ZVwiPlxyXG4gICAgPC9jb3JlLXNlcnZpY2UtaGVhZGVyPlxyXG4gIH1cclxuPC9jb3JlLWxheW91dD5cclxuLS0+XHJcbiJdfQ==
73
+ }] }, { type: i2.Router }, { type: i3.SidenavService }, { type: i3.CoreService }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QyxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUUxSCxPQUFPLEVBQUMsNkJBQTZCLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBbUJsRixNQUFNLE9BQU8sZ0JBQWdCO0lBUWxCO0lBQzRCO0lBQ2xCO0lBQ0E7SUFDVDtJQVhWLE9BQU8sR0FBRztRQUNSLElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQTtJQUNELElBQUksQ0FBTTtJQUNWLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFFM0IsWUFDUyxvQkFBaUQsRUFDckIsUUFBa0IsRUFDcEMsTUFBYyxFQUNkLGNBQThCLEVBQ3ZDLFdBQXdCO1FBSnpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNkI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRWhDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7aUJBQU0sSUFBSSxJQUFJLFlBQVksUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQzlCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixTQUFTLENBQUMsUUFBUSxFQUNsQixJQUFJLENBQ0wsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzt1R0ExQ1UsZ0JBQWdCLDZEQVNqQixRQUFROzJGQVRQLGdCQUFnQixzREFMaEI7WUFDVCxFQUFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxFQUFDO1NBQzdFLDBCQzVCSCw2d0JBb0JBO2dCREFJLGlCQUFpQjtnQkFDakIsZUFBZSxvSEFDZixzQkFBc0IsZ05BQ3RCLHdCQUF3QixxUUFDeEIsOEJBQThCOzsyRkFPckIsZ0JBQWdCO2tCQWpCNUIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUdQO3dCQUNQLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3FCQUMvQixhQUNVO3dCQUNULEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDLEVBQUM7cUJBQzdFOzswQkFZRSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYXlvdXRDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnNcIjtcclxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1NpZGVuYXZTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtDb3JlU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7Rm9ybSwgTWVzc2FnZXN9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBsb2FkRm9ybUhvb2tzIGZyb20gXCIuLi9ob29rcy9sb2FkLWZvcm1cIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LCBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnNcIjtcclxuaW1wb3J0IHtSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZX0gZnJvbSBcIi4uL3Rlc3RDb21wb25lbnQvc2VydmljZXMvc2VnbWVudC1keW5hbWljLWxvYWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudEluamVjdG9yVG9rZW4sIER5bmFtaWNNb2R1bGV9IGZyb20gXCJuZy1keW5hbWljLWNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXBwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hcHAuY29tcG9uZW50LmNzcycsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgLy8gRHluYW1pY01vZHVsZSxcclxuICAgIExheW91dENvbXBvbmVudCxcclxuICAgIFNlcnZpY2VIZWFkZXJDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1NlY3Rpb25Db21wb25lbnQsXHJcbiAgICBSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IER5bmFtaWNDb21wb25lbnRJbmplY3RvclRva2VuLCB1c2VWYWx1ZTogeyAvKiB5b3VyIHZhbHVlIGhlcmUgKi99fVxyXG4gIF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlQXBwQ29tcG9uZW50IHtcclxuICBsb2FkaW5nID0ge1xyXG4gICAgZm9ybTogZmFsc2VcclxuICB9XHJcbiAgZm9ybTogRm9ybVxyXG4gIGZvcm1UaXRsZTogc3RyaW5nID0gJ1Rlc3QnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWdtZW50RHluYW1pY0xvYWRlcjogU2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSB0cnVlXHJcbiAgICB0aGlzLmNvcmVTZXJ2aWNlLmxvYWRGb3JtKCkudGhlbigoZm9ybTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGZvcm0gaW5zdGFuY2VvZiBGb3JtKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yUmVzcG9uc2UoZm9ybSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JSZXNwb25zZShmb3JtOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5mb3JtKSB7XHJcbiAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtKFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIGZvcm1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tZXNzYWdlcyA9IGZvcm07XHJcbiAgICAgIHRoaXMuZm9ybSA9IGxvYWRGb3JtSG9va3MuYWZ0ZXJUcmFuc3BpbGVQYXlsb2FkKHRoaXMuZm9ybSk7XHJcbiAgICB9XHJcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxjb3JlLWxheW91dD5cclxuICBAaWYgKCFsb2FkaW5nWydmb3JtJ10pIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyXHJcbiAgICAgIFtpc0xvYWRpbmddPVwiZmFsc2VcIlxyXG4gICAgICBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIj5cclxuICAgIDwvY29yZS1zZXJ2aWNlLWhlYWRlcj5cclxuICAgIDxhcHAtd29ya2Zsb3ctc2VjdGlvblxyXG4gICAgICB3b3JrZmxvd1xyXG4gICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgIFtzZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2VdPVwic2VnbWVudER5bmFtaWNMb2FkZXJcIlxyXG4gICAgICBbc2VjdGlvbnNdPVwiZm9ybT8uc2VjdGlvbnNcIj5cclxuICAgICAgPGFwcC1yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbiBbc2VjdGlvbl09XCJmb3JtPy5zZWN0aW9uc1swXVwiIFtsb3ZdPVwiZm9ybT8ubG92c1wiIGNsYXNzTmFtZT1cImZvcm0tc2VjdGlvblwiPjwvYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uPlxyXG4gICAgICA8IS0tICAgICAgW2lzUmVhZE9ubHldPVwiZm9ybS5zZWN0aW9uc1swXS5oZWFkZXIucmVhZE9ubHlcIi0tPlxyXG4gICAgPC9hcHAtd29ya2Zsb3ctc2VjdGlvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyIGhlYWRlciBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiIFtpc0xvYWRpbmddPVwidHJ1ZVwiPlxyXG4gICAgPC9jb3JlLXNlcnZpY2UtaGVhZGVyPlxyXG4gIH1cclxuPC9jb3JlLWxheW91dD5cclxuIl19
@@ -176,18 +176,18 @@ export class FormSectionComponent {
176
176
  status.toLowerCase().includes('deny') ||
177
177
  status.toLowerCase().includes('reject') ||
178
178
  status.toLowerCase() === 'cancel') {
179
- return type === 'status' ? 'danger' : 'close';
179
+ return type === 'status?' ? 'danger' : 'close';
180
180
  }
181
181
  else if (status === Constants.FORM_STATUS_PENDING ||
182
182
  status.toLowerCase() === 'pending') {
183
- return type === 'status' ? 'warning' : 'clock';
183
+ return type === 'status?' ? 'warning' : 'clock';
184
184
  }
185
185
  else {
186
- return type === 'status' ? 'success' : 'check';
186
+ return type === 'status?' ? 'success' : 'check';
187
187
  }
188
188
  }
189
189
  else {
190
- return type === 'status' ? 'success' : 'check';
190
+ return type === 'status?' ? 'success' : 'check';
191
191
  }
192
192
  }
193
193
  locationHref(hrefLink) {
@@ -266,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
266
266
  }], sectionName: [{
267
267
  type: Input
268
268
  }] } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTs7OztBQWlCaEMsTUFBTSxPQUFPLG9CQUFvQjtJQXFDdEI7SUFuQ1QsUUFBUSxHQUFHLFlBQVksQ0FBQztJQUNGLE9BQU8sQ0FBTztJQUNwQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLGVBQWUsR0FBRyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQzNCLGNBQWMsQ0FBVTtJQUNqQyxlQUFlLEdBQVEsRUFBRSxDQUFD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b0JBQW9COzJGQUFwQixvQkFBb0IsbWhCQ3pCakMsc3ZNQW1HQSx3L0REbkZJLGlCQUFpQixzTEFDakIsSUFBSSw2RkFDSixpQkFBaUIsb1BBQ2pCLDBCQUEwQixxT0FDMUIsZ0JBQWdCLDBnQkFDaEIsT0FBTzs7MkZBSUUsb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ1AsaUJBQWlCO3dCQUNqQixJQUFJO3dCQUNKLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLE9BQU87cUJBQ1IsV0FDUSxDQUFDLHNCQUFzQixDQUFDO29GQUtYLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFHWCxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtDb21wb25lbnRPdXRsZXRJb0RpcmVjdGl2ZX0gZnJvbSAnbmctZHluYW1pYy1jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01hdEV4cGFuc2lvblBhbmVsfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gJ0BuY3N0YXRlL3NhdC1wb3BvdmVyJztcclxuaW1wb3J0IHtGb3JtLCBTZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb3JtLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXHJcbiAgICBDb21wb25lbnRPdXRsZXRJb0RpcmVjdGl2ZSxcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICBOZ0NsYXNzXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWN0aW9uQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQge1xyXG4gIHVzZXJUeXBlID0gJ3JlY2VpcGllbnQnO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXInKSBwb3BvdmVyPzogYW55O1xyXG4gIHBvcG92ZXJUeXBlID0gJ3JlY2VpcGllbnQnO1xyXG4gIHBvcG92ZXJQb3NpdGlvbiA9IHt0b3A6IDAsIGxlZnQ6IDB9O1xyXG4gIEBJbnB1dCgpIHJlcXVlc3REZXRhaWxzOiBTZWN0aW9uO1xyXG4gIHVzZXJQb3BvdmVySW5mbzogYW55ID0ge307XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzRmluYWxBcHByb3ZhbDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb250cm9sbGVyczogYW55O1xyXG4gIEBJbnB1dCgpIHNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZTogYW55O1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25Gb3JtQ29tcG9uZW50OiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25OYW1lID0gJ1NFQ1RJT05fTkFNRS5yZXF1ZXN0RGV0YWlscyc7XHJcbiAgc2VjdGlvbk51bWJlcjogbnVtYmVyO1xyXG4gIHNlY3Rpb25TdGF0dXNWYWx1ZTogc3RyaW5nO1xyXG4gIHNlY3Rpb25TdGF0dXNLZXk6IHN0cmluZztcclxuICByZWNlaXBpZW50ID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIGRlbGVnYXRlID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIHB1YmxpYyBpbnB1dDtcclxuICBoaWdobGlnaHRGbGFnOiBib29sZWFuO1xyXG5cclxuICBwcm9jZXNzaW5nRGF0ZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByYW5kb21JRDogbnVtYmVyID1cclxuICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTk5OTkgLSAxMDAwMDApKSArIDEwMDAwMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5oaWdobGlnaHRGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VjdGlvbkZvcm1Db21wb25lbnQgPSB0aGlzLnNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZS5nZXRDb21wb25lbnQoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZFxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLnN0YWdlTmFtZSkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5zdGFnZU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2UuZ2V0U2VjdGlvbk5hbWUodGhpcy5zZWN0aW9uLmlkKTtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCdzZWN0aW9uRm9ybUNvbXBvbmVudCcsdGhpcy5zZWN0aW9uRm9ybUNvbXBvbmVudClcclxuXHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHJlcXVlc3REZXRhaWxzOiB0aGlzLnJlcXVlc3REZXRhaWxzXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5oZWFkZXIgJiYgdGhpcy5zZWN0aW9uLmhlYWRlci5wcm9jZXNzaW5nRGF0ZSkge1xyXG4gICAgICB0aGlzLnByb2Nlc3NpbmdEYXRlID0gbW9tZW50KHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpXHJcbiAgICAgICAgLmxvY2FsZSgnZW4tVVMnKVxyXG4gICAgICAgIC5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW06c3MnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhpZ2hsaWdodEZsYWcgPSB0aGlzLmlzT3BlbjtcclxuICAgIGNvbnN0IHggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY29sbGFwc2UnICsgdGhpcy5zZWN0aW9uSWQoKSk7XHJcbiAgICBpZiAoeC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk51bWJlciA9IHgubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ3JlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdoclJlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICAhdGhpcy5zZWN0aW9uU3RhdHVzS2V5ICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24gJiZcclxuICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNLZXkgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLmtleTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAncmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ2hyUmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgICF0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWVcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLlNlcnZpY2VzU3ViU2NyaXB0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpc0V4cGFuZGFibGVGcm9tQmFja2VuZCA9IHRoaXMuZm9ybT8uc2VjdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLmZvcm0uc2VjdGlvbnMuc29tZShzZWN0aW9uID0+ICdleHBhbmRTdGFnZScgaW4gc2VjdGlvbj8uYm9keT8uZGV0YWlscyk7XHJcbiAgICBpZiAoIWlzRXhwYW5kYWJsZUZyb21CYWNrZW5kKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmV4cGFuZFN0YWdlID09PSAndHJ1ZSc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VydmljZXNTdWJTY3JpcHRpb25zKCkge1xyXG4gICAgLyogIHRoaXMucHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuZ2V0Rm9ybSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IGRhdGE7XHJcbiAgICAgIH0pOyovXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHNlY3Rpb25JZDogdGhpcy5zZWN0aW9uXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2VjdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZC5zcGxpdCgnICcpLmpvaW4oJycpICsgdGhpcy5yYW5kb21JRDtcclxuICB9XHJcblxyXG4gIGdldFNlY3Rpb25OYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIGdldEZvcm1TdGVwU3RhdHVzKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgc3RhdHVzID0gJ05PVF9GT1VORF9JTl9MT1YnO1xyXG4gICAgaWYgKHRoaXMubG92LmZvcm1TdGVwU3RhdHVzICYmIHRoaXMubG92LmZvcm1TdGVwU3RhdHVzLm9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5sb3YuZm9ybVN0ZXBTdGF0dXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSBrZXkpIHtcclxuICAgICAgICAgIHN0YXR1cyA9IG9wdGlvbi5kZXNjcmlwdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0YXR1cztcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oZXZlbnQsIHBlcnNvblR5cGUpIHtcclxuICAgIHRoaXMudXNlclR5cGUgPSBwZXJzb25UeXBlO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1c2VySW5mbyA9IHRoaXNbcGVyc29uVHlwZV07XHJcbiAgICBpZiAodXNlckluZm8ucHJvZmlsZSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnBvcG92ZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgICAgY29uc3QgdXNlckVtYWlsID1cclxuICAgICAgICBwZXJzb25UeXBlID09PSAncmVjZWlwaWVudCdcclxuICAgICAgICAgID8gdGhpcy5zZWN0aW9uLmhlYWRlci5wZXJzb25Ub1RodW1ibmFpbC5zcGxpdCgnPScpWzFdXHJcbiAgICAgICAgICA6IHRoaXM/LnNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXTtcclxuICAgICAgLyp0aGlzLnN0YXRlTWFjaGluZVxyXG4gICAgICAgIC5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fRU1QTE9ZRUVfUFJPRklMRSwgdXNlckVtYWlsKVxyXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2codGhpcywgcmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICB0aGlzW3BlcnNvblR5cGVdLnByb2ZpbGUgPSByZXNwb25zZTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pOyovXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHRoaXNbcGVyc29uVHlwZV0ucHJvZmlsZTtcclxuICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbkNsYXNzKHN0YXR1czogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8XHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHxcclxuICAgICAgICBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdkYW5nZXInIDogJ2Nsb3NlJztcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ3N0YXR1cycgPyAnd2FybmluZycgOiAnY2xvY2snO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdzdWNjZXNzJyA6ICdjaGVjayc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdzdWNjZXNzJyA6ICdjaGVjayc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2NhdGlvbkhyZWYoaHJlZkxpbmspIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaHJlZkxpbms7XHJcbiAgfVxyXG5cclxuICBzdGF0dXNDbGFzcyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb3NlJztcclxuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb2NrJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2NoZWNrJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdjaGVjayc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPGRpdiBjbGFzcz1cInBhbmVsLWhlYWRpbmdcIiByb2xlPVwiYnV0dG9uXCIgW2lkXT1cInNlY3Rpb25JZCgpXCIgKm5nSWY9XCJzaG93SGVhZGVyKClcIj4gLS0+XHJcbjxtYXQtZXhwYW5zaW9uLXBhbmVsXHJcbiAgY2xhc3M9XCJtYi00XCIgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIiAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyBcIiBoaWRlVG9nZ2xlXHJcbiAgI2FwcHJvdmFsUGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC1ncm93LTEgYXBwcm92YWwtcGFuZWwtdGl0bGVcIj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0ljb25DbGFzcyhzZWN0aW9uU3RhdHVzS2V5LCdzdGF0dXMnKX19XCIgbm8tb3BhY2l0eSBpY29uXHJcbiAgICAgICAgICBjbGFzcz1cImNpcmNsZS1zdGF0dXMgZC1ub25lIGQtc20taW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnaWNvbicpfX1cIj48L2RzLWljb24+XHJcbiAgICAgICAgPC9kcy1zdGF0dXM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gbS0wXCI+IHt7IHNlY3Rpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgPGJkaSBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheSBmdy1ub3JtYWwgbGluZS1oZWlnaHQtMSBkLWJsb2NrXCIgKm5nSWY9XCJzZWN0aW9uLmhlYWRlcj8ucHJvY2Vzc2VkQnlcIj5cclxuICAgICAgICAgICAge3sgcHJvY2Vzc2luZ0RhdGUgfX1cclxuICAgICAgICAgIDwvYmRpPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLWRldGFpbHMgZ2FwLTFcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCFzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5zdGFnZTA/LmlzU3RhZ2UwIHx8IHNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LnN0YWdlMD8uaXNTdGFnZTAgPT09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiICpuZ0lmPVwic2VjdGlvbj8uaGVhZGVyPy5wZXJzb25Ub1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdyZWNlaXBpZW50JylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiByYWRpdXMtMyBoLTQwXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3VzZXItYXZhdGFyLW5hbWUgcHgtMCBweC1tZC0yJzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG8sICdwLTAnOiBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwidXNlci1hdmF0YXJcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydwYW5lbC11ZXNlci1vbmx5JzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG99XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIj57eyBzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTbWFsbFByb2ZpbGVJbmZvKCRldmVudCwgJ2RlbGVnYXRlJylcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdGF0ZS1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlNU0lnYUdWcFoyaDBQU0l4TXlJZ2RtbGxkMEp2ZUQwaU1DQXdJREl4SURFeklqNDhjR0YwYUNCa1BTSk5NakVzTnk0M05qTmhNUzQyTWpFc01TNDJNakVzTUN3d0xERXRMalEwTnk0MU9UTXNNUzR6TURZc01TNHpNRFlzTUN3d0xERXRMamMxTGpFNU5HTXROeTR5T0RRc01DMDRMalUyT0N3d0xURTFMamcxTXl3d1NETXVOalk1VERNdU5qTXNPQzQyWXk0d056Y3VNRFkwTGpFMU9DNHhNalF1TWpJNUxqRTVOSEV4TGpjeExERXVOamtzTXk0ME1pd3pMak00TVdFeExqQXlNeXd4TGpBeU15d3dMREFzTVN3dU1qa3hMREV1TURjNUxqazVNaTQ1T1RJc01Dd3dMREV0TGpndU56RTVMREV1TURVekxERXVNRFV6TERBc01Dd3hMVEV0TGpNek1WRXpMamd6TVN3eE1TNDNNVGtzTVM0NE9EWXNPUzQ0WXkwdU5EUXlMUzQwTXpjdExqZzNPUzB1T0RneExURXVNek10TVM0ek1EbEJOQzQxTnpJc05DNDFOeklzTUN3d0xERXNNQ3czTGpneE5GWTNMakU0TlVFek1DNDNPRE1zTXpBdU56Z3pMREFzTUN3eExESXVOek1zTkM0ek56RmpNUzB4TGpBeU55d3lMakF6T0MweUxqQXlOU3d6TGpBMk15MHpMakF6TWtFeExqQTBPU3d4TGpBME9Td3dMREVzTVN3M0xqSTNOeXd5TGpneVF6WXVOQ3d6TGpjc05TNDFNRGtzTkM0MU55dzBMall5TlN3MUxqUTBObU10TGpNeU15NHpNakV0TGpZME5DNDJORFV0TGprM015NDVOell1TURnMExqQTFPUzR4T0RFdU1ESTNMakkzTGpBeU55dzNMakkxT0N3d0xEZ3VOVEUyTERBc01UVXVOemMxTERCQk1TNHhNamtzTVM0eE1qa3NNQ3d3TERFc01qRXNOeTR5T1hZdU5EY3lXaUlnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01DQXRNQzQ1T1RrcElpQm1hV3hzUFNJallUVTBaV1V4SWk4K1BDOXpkbWMrXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMCBweC1tZC0yIHJhZGl1cy0zIHVzZXItYXZhdGFyLW5hbWUgaC00MFwiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWF2YXRhciBpbWFnZT1cInt7c2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb1RodW1ibmFpbH19XCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJ1c2VyLWF2YXRhclwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWFpbi1zdGF0dXNcIiAqbmdJZj1cInNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmRlY2lzaW9uPy5rZXlcIlxyXG4gICAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0ljb25DbGFzcyhzZWN0aW9uU3RhdHVzS2V5LCdzdGF0dXMnKX19XCI+e3sgc2VjdGlvblN0YXR1c1ZhbHVlIH19XHJcbiAgICAgICAgICA8L2RzLXN0YXR1cz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtdG9nZ2xlXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBsdXMtMVwiIGNsYXNzPVwiZnMtMjAgZmMtY29yYWxcIiAqbmdJZj1cIiFhcHByb3ZhbFBhbmVsLmV4cGFuZGVkXCI+PC9kcy1pY29uPlxyXG5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWludXNcIiBjbGFzcz1cImZzLTIwIGZjLWRhcmstZ3JheVwiICpuZ0lmPVwiYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJib3JkZXItdG9wIHB0LTRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9zZWN0aW9uPlxyXG5cclxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnIFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPHNhdC1wb3BvdmVyICNwb3BvdmVyIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCIgdmVydGljYWxBbGlnbj1cImFib3ZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImRlbGVnYXRlLWluZm8tcG9wdXBcIj5cclxuICAgIDxkcy1hdmF0YXIgKm5nSWY9XCJ1c2VyVHlwZSA9PT0gJ3JlY2VpcGllbnQnXCIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiPjwvZHMtYXZhdGFyPlxyXG4gICAgPGRzLWF2YXRhciAqbmdJZj1cInVzZXJUeXBlID09PSAnZGVsZWdhdGUnXCIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiPjwvZHMtYXZhdGFyPlxyXG4gICAgPGRpdiBjbGFzcz1cImRlbGVnYXRlLWluZm8gbXgtMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtIGZjLWJsYWNrIG1iLTBcIj57eyB1c2VyUG9wb3ZlckluZm8/Lm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZzLTEyIGZ3LW5vcm1hbCBmYy1ibGFjayBtYi0yXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5qb2I/Lm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmYy1ibGFjayBmcy0xMCBtYi0xXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBob25lXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPGJkaSAoY2xpY2spPVwibG9jYXRpb25IcmVmKCd0ZWw6JysgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py53b3JrKVwiPnt7IHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ud29yayB9fTwvYmRpPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmYy1ibGFjayBmcy0xMCBtYi0xXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBob25lXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPGJkaSAoY2xpY2spPVwibG9jYXRpb25IcmVmKCd0ZWw6JysgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py5tb2JpbGUpXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py5tb2JpbGUgfX08L2JkaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJtYWlsLW9cIiBjbGFzcz1cImZzLTE4IGZjLWRhcmstZ3JheVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwibG9jYXRpb25IcmVmKCdtYWlsdG86JysgdXNlclBvcG92ZXJJbmZvPy5lbWFpbClcIj57eyB1c2VyUG9wb3ZlckluZm8/LmVtYWlsIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPlxyXG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTs7OztBQWlCaEMsTUFBTSxPQUFPLG9CQUFvQjtJQXFDdEI7SUFuQ1QsUUFBUSxHQUFHLFlBQVksQ0FBQztJQUNGLE9BQU8sQ0FBTztJQUNwQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLGVBQWUsR0FBRyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQzNCLGNBQWMsQ0FBVTtJQUNqQyxlQUFlLEdBQVEsRUFBRSxDQUFD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b0JBQW9COzJGQUFwQixvQkFBb0IsbWhCQ3pCakMsc3ZNQW1HQSx3L0REbkZJLGlCQUFpQixzTEFDakIsSUFBSSw2RkFDSixpQkFBaUIsb1BBQ2pCLDBCQUEwQixxT0FDMUIsZ0JBQWdCLDBnQkFDaEIsT0FBTzs7MkZBSUUsb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ1AsaUJBQWlCO3dCQUNqQixJQUFJO3dCQUNKLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLE9BQU87cUJBQ1IsV0FDUSxDQUFDLHNCQUFzQixDQUFDO29GQUtYLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFHWCxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtDb21wb25lbnRPdXRsZXRJb0RpcmVjdGl2ZX0gZnJvbSAnbmctZHluYW1pYy1jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge01hdEV4cGFuc2lvblBhbmVsfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gJ0BuY3N0YXRlL3NhdC1wb3BvdmVyJztcclxuaW1wb3J0IHtGb3JtLCBTZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb3JtLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXHJcbiAgICBDb21wb25lbnRPdXRsZXRJb0RpcmVjdGl2ZSxcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICBOZ0NsYXNzXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWN0aW9uQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQge1xyXG4gIHVzZXJUeXBlID0gJ3JlY2VpcGllbnQnO1xyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXInKSBwb3BvdmVyPzogYW55O1xyXG4gIHBvcG92ZXJUeXBlID0gJ3JlY2VpcGllbnQnO1xyXG4gIHBvcG92ZXJQb3NpdGlvbiA9IHt0b3A6IDAsIGxlZnQ6IDB9O1xyXG4gIEBJbnB1dCgpIHJlcXVlc3REZXRhaWxzOiBTZWN0aW9uO1xyXG4gIHVzZXJQb3BvdmVySW5mbzogYW55ID0ge307XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzRmluYWxBcHByb3ZhbDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb250cm9sbGVyczogYW55O1xyXG4gIEBJbnB1dCgpIHNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZTogYW55O1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25Gb3JtQ29tcG9uZW50OiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25OYW1lID0gJ1NFQ1RJT05fTkFNRS5yZXF1ZXN0RGV0YWlscyc7XHJcbiAgc2VjdGlvbk51bWJlcjogbnVtYmVyO1xyXG4gIHNlY3Rpb25TdGF0dXNWYWx1ZTogc3RyaW5nO1xyXG4gIHNlY3Rpb25TdGF0dXNLZXk6IHN0cmluZztcclxuICByZWNlaXBpZW50ID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIGRlbGVnYXRlID0ge1xyXG4gICAgaXNTaG93aW5nOiBmYWxzZSxcclxuICAgIHByb2ZpbGU6IG51bGxcclxuICB9O1xyXG4gIHB1YmxpYyBpbnB1dDtcclxuICBoaWdobGlnaHRGbGFnOiBib29sZWFuO1xyXG5cclxuICBwcm9jZXNzaW5nRGF0ZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByYW5kb21JRDogbnVtYmVyID1cclxuICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTk5OTkgLSAxMDAwMDApKSArIDEwMDAwMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5oaWdobGlnaHRGbGFnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VjdGlvbkZvcm1Db21wb25lbnQgPSB0aGlzLnNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZS5nZXRDb21wb25lbnQoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZFxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLnN0YWdlTmFtZSkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5zdGFnZU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2UuZ2V0U2VjdGlvbk5hbWUodGhpcy5zZWN0aW9uLmlkKTtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCdzZWN0aW9uRm9ybUNvbXBvbmVudCcsdGhpcy5zZWN0aW9uRm9ybUNvbXBvbmVudClcclxuXHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHJlcXVlc3REZXRhaWxzOiB0aGlzLnJlcXVlc3REZXRhaWxzXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5oZWFkZXIgJiYgdGhpcy5zZWN0aW9uLmhlYWRlci5wcm9jZXNzaW5nRGF0ZSkge1xyXG4gICAgICB0aGlzLnByb2Nlc3NpbmdEYXRlID0gbW9tZW50KHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpXHJcbiAgICAgICAgLmxvY2FsZSgnZW4tVVMnKVxyXG4gICAgICAgIC5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW06c3MnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhpZ2hsaWdodEZsYWcgPSB0aGlzLmlzT3BlbjtcclxuICAgIGNvbnN0IHggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY29sbGFwc2UnICsgdGhpcy5zZWN0aW9uSWQoKSk7XHJcbiAgICBpZiAoeC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk51bWJlciA9IHgubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ3JlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdoclJlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICAhdGhpcy5zZWN0aW9uU3RhdHVzS2V5ICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24gJiZcclxuICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNLZXkgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLmtleTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAncmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ2hyUmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgICF0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWVcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLlNlcnZpY2VzU3ViU2NyaXB0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpc0V4cGFuZGFibGVGcm9tQmFja2VuZCA9IHRoaXMuZm9ybT8uc2VjdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLmZvcm0uc2VjdGlvbnMuc29tZShzZWN0aW9uID0+ICdleHBhbmRTdGFnZScgaW4gc2VjdGlvbj8uYm9keT8uZGV0YWlscyk7XHJcbiAgICBpZiAoIWlzRXhwYW5kYWJsZUZyb21CYWNrZW5kKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmV4cGFuZFN0YWdlID09PSAndHJ1ZSc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VydmljZXNTdWJTY3JpcHRpb25zKCkge1xyXG4gICAgLyogIHRoaXMucHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuZ2V0Rm9ybSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IGRhdGE7XHJcbiAgICAgIH0pOyovXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHNlY3Rpb25JZDogdGhpcy5zZWN0aW9uXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2VjdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZC5zcGxpdCgnICcpLmpvaW4oJycpICsgdGhpcy5yYW5kb21JRDtcclxuICB9XHJcblxyXG4gIGdldFNlY3Rpb25OYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIGdldEZvcm1TdGVwU3RhdHVzKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgc3RhdHVzID0gJ05PVF9GT1VORF9JTl9MT1YnO1xyXG4gICAgaWYgKHRoaXMubG92LmZvcm1TdGVwU3RhdHVzICYmIHRoaXMubG92LmZvcm1TdGVwU3RhdHVzLm9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5sb3YuZm9ybVN0ZXBTdGF0dXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSBrZXkpIHtcclxuICAgICAgICAgIHN0YXR1cyA9IG9wdGlvbi5kZXNjcmlwdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0YXR1cztcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oZXZlbnQsIHBlcnNvblR5cGUpIHtcclxuICAgIHRoaXMudXNlclR5cGUgPSBwZXJzb25UeXBlO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1c2VySW5mbyA9IHRoaXNbcGVyc29uVHlwZV07XHJcbiAgICBpZiAodXNlckluZm8ucHJvZmlsZSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnBvcG92ZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgICAgY29uc3QgdXNlckVtYWlsID1cclxuICAgICAgICBwZXJzb25UeXBlID09PSAncmVjZWlwaWVudCdcclxuICAgICAgICAgID8gdGhpcy5zZWN0aW9uLmhlYWRlci5wZXJzb25Ub1RodW1ibmFpbC5zcGxpdCgnPScpWzFdXHJcbiAgICAgICAgICA6IHRoaXM/LnNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXTtcclxuICAgICAgLyp0aGlzLnN0YXRlTWFjaGluZVxyXG4gICAgICAgIC5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fRU1QTE9ZRUVfUFJPRklMRSwgdXNlckVtYWlsKVxyXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2codGhpcywgcmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICB0aGlzW3BlcnNvblR5cGVdLnByb2ZpbGUgPSByZXNwb25zZTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pOyovXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHRoaXNbcGVyc29uVHlwZV0ucHJvZmlsZTtcclxuICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbkNsYXNzKHN0YXR1czogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8XHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHxcclxuICAgICAgICBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzPycgPyAnZGFuZ2VyJyA6ICdjbG9zZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZydcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdzdGF0dXM/JyA/ICd3YXJuaW5nJyA6ICdjbG9jayc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdzdGF0dXM/JyA/ICdzdWNjZXNzJyA6ICdjaGVjayc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzPycgPyAnc3VjY2VzcycgOiAnY2hlY2snO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9jYXRpb25IcmVmKGhyZWZMaW5rKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhyZWZMaW5rO1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8IHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRFxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3Vuc2F0aXNmaWVkJyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXR1c0ljb24oc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8IHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRFxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3Vuc2F0aXNmaWVkJyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdjbG9zZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICdjbG9jayc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdjaGVjayc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnY2hlY2snO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkaW5nXCIgcm9sZT1cImJ1dHRvblwiIFtpZF09XCJzZWN0aW9uSWQoKVwiICpuZ0lmPVwic2hvd0hlYWRlcigpXCI+IC0tPlxyXG48bWF0LWV4cGFuc2lvbi1wYW5lbFxyXG4gIGNsYXNzPVwibWItNFwiIFtleHBhbmRlZF09XCJpc0V4cGFuZGVkXCIgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSAhPT0gJ05FVycgXCIgaGlkZVRvZ2dsZVxyXG4gICNhcHByb3ZhbFBhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtZ3Jvdy0xIGFwcHJvdmFsLXBhbmVsLXRpdGxlXCI+XHJcbiAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnc3RhdHVzJyl9fVwiIG5vLW9wYWNpdHkgaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJjaXJjbGUtc3RhdHVzIGQtbm9uZSBkLXNtLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgPGRzLWljb24gaWNvbj1cInt7c3RhdHVzSWNvbkNsYXNzKHNlY3Rpb25TdGF0dXNLZXksJ2ljb24nKX19XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtIG0tMFwiPiB7eyBzZWN0aW9uTmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxiZGkgY2xhc3M9XCJmcy0xMiBmYy1kYXJrLWdyYXkgZnctbm9ybWFsIGxpbmUtaGVpZ2h0LTEgZC1ibG9ja1wiICpuZ0lmPVwic2VjdGlvbi5oZWFkZXI/LnByb2Nlc3NlZEJ5XCI+XHJcbiAgICAgICAgICAgIHt7IHByb2Nlc3NpbmdEYXRlIH19XHJcbiAgICAgICAgICA8L2JkaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC1kZXRhaWxzIGdhcC0xXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIighc2VjdGlvbj8uYm9keT8uZGV0YWlscz8uc3RhZ2UwPy5pc1N0YWdlMCB8fCBzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5zdGFnZTA/LmlzU3RhZ2UwID09PSAnZmFsc2UnKVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIiAqbmdJZj1cInNlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oJGV2ZW50LCAncmVjZWlwaWVudCcpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcmFkaXVzLTMgaC00MFwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd1c2VyLWF2YXRhci1uYW1lIHB4LTAgcHgtbWQtMic6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvLCAncC0wJzogc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb31cIj5cclxuICAgICAgICAgICAgICA8ZHMtYXZhdGFyIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInVzZXItYXZhdGFyXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFuZWwtdWVzZXItb25seSc6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5wZXJzb25UbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdkZWxlZ2F0ZScpXCI+XHJcbiAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3RhdGUtYXJyb3dcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TVNJZ2FHVnBaMmgwUFNJeE15SWdkbWxsZDBKdmVEMGlNQ0F3SURJeElERXpJajQ4Y0dGMGFDQmtQU0pOTWpFc055NDNOak5oTVM0Mk1qRXNNUzQyTWpFc01Dd3dMREV0TGpRME55NDFPVE1zTVM0ek1EWXNNUzR6TURZc01Dd3dMREV0TGpjMUxqRTVOR010Tnk0eU9EUXNNQzA0TGpVMk9Dd3dMVEUxTGpnMU15d3dTRE11TmpZNVRETXVOak1zT0M0Mll5NHdOemN1TURZMExqRTFPQzR4TWpRdU1qSTVMakU1TkhFeExqY3hMREV1Tmprc015NDBNaXd6TGpNNE1XRXhMakF5TXl3eExqQXlNeXd3TERBc01Td3VNamt4TERFdU1EYzVMams1TWk0NU9USXNNQ3d3TERFdExqZ3VOekU1TERFdU1EVXpMREV1TURVekxEQXNNQ3d4TFRFdExqTXpNVkV6TGpnek1Td3hNUzQzTVRrc01TNDRPRFlzT1M0NFl5MHVORFF5TFM0ME16Y3RMamczT1MwdU9EZ3hMVEV1TXpNdE1TNHpNRGxCTkM0MU56SXNOQzQxTnpJc01Dd3dMREVzTUN3M0xqZ3hORlkzTGpFNE5VRXpNQzQzT0RNc016QXVOemd6TERBc01Dd3hMREl1TnpNc05DNHpOekZqTVMweExqQXlOeXd5TGpBek9DMHlMakF5TlN3ekxqQTJNeTB6TGpBek1rRXhMakEwT1N3eExqQTBPU3d3TERFc01TdzNMakkzTnl3eUxqZ3lRell1TkN3ekxqY3NOUzQxTURrc05DNDFOeXcwTGpZeU5TdzFMalEwTm1NdExqTXlNeTR6TWpFdExqWTBOQzQyTkRVdExqazNNeTQ1TnpZdU1EZzBMakExT1M0eE9ERXVNREkzTGpJM0xqQXlOeXczTGpJMU9Dd3dMRGd1TlRFMkxEQXNNVFV1TnpjMUxEQkJNUzR4TWprc01TNHhNamtzTUN3d0xERXNNakVzTnk0eU9YWXVORGN5V2lJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NQ0F0TUM0NU9Ua3BJaUJtYVd4c1BTSWpZVFUwWldVeElpOCtQQzl6ZG1jK1wiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHB4LTAgcHgtbWQtMiByYWRpdXMtMyB1c2VyLWF2YXRhci1uYW1lIGgtNDBcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1hdmF0YXIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwidXNlci1hdmF0YXJcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tc3RhdHVzXCIgKm5nSWY9XCJzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5kZWNpc2lvbj8ua2V5XCJcclxuICAgICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnc3RhdHVzJyl9fVwiPnt7IHNlY3Rpb25TdGF0dXNWYWx1ZSB9fVxyXG4gICAgICAgICAgPC9kcy1zdGF0dXM+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLXRvZ2dsZVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwbHVzLTFcIiBjbGFzcz1cImZzLTIwIGZjLWNvcmFsXCIgKm5nSWY9XCIhYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuXHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cIm1pbnVzXCIgY2xhc3M9XCJmcy0yMCBmYy1kYXJrLWdyYXlcIiAqbmdJZj1cImFwcHJvdmFsUGFuZWwuZXhwYW5kZWRcIj48L2RzLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gIDxzZWN0aW9uIGNsYXNzPVwiYm9yZGVyLXRvcCBwdC00XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvc2VjdGlvbj5cclxuXHJcbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJyBcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxzYXQtcG9wb3ZlciAjcG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIGhvcml6b250YWxBbGlnbj1cImNlbnRlclwiIHZlcnRpY2FsQWxpZ249XCJhYm92ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWxlZ2F0ZS1pbmZvLXBvcHVwXCI+XHJcbiAgICA8ZHMtYXZhdGFyICpuZ0lmPVwidXNlclR5cGUgPT09ICdyZWNlaXBpZW50J1wiIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIj48L2RzLWF2YXRhcj5cclxuICAgIDxkcy1hdmF0YXIgKm5nSWY9XCJ1c2VyVHlwZSA9PT0gJ2RlbGVnYXRlJ1wiIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIj48L2RzLWF2YXRhcj5cclxuICAgIDxkaXYgY2xhc3M9XCJkZWxlZ2F0ZS1pbmZvIG14LTBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bSBmYy1ibGFjayBtYi0wXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcy0xMiBmdy1ub3JtYWwgZmMtYmxhY2sgbWItMlwiPnt7IHVzZXJQb3BvdmVySW5mbz8uam9iPy5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwaG9uZVwiIGNsYXNzPVwiZnMtMTggZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxiZGkgKGNsaWNrKT1cImxvY2F0aW9uSHJlZigndGVsOicrIHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ud29yaylcIj57eyB1c2VyUG9wb3ZlckluZm8/LmNvbnRhY3Q/LndvcmsgfX08L2JkaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwaG9uZVwiIGNsYXNzPVwiZnMtMTggZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxiZGkgKGNsaWNrKT1cImxvY2F0aW9uSHJlZigndGVsOicrIHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ubW9iaWxlKVwiPnt7IHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ubW9iaWxlIH19PC9iZGk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvIGZjLWJsYWNrIGZzLTEwIG1iLTFcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWFpbC1vXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cImxvY2F0aW9uSHJlZignbWFpbHRvOicrIHVzZXJQb3BvdmVySW5mbz8uZW1haWwpXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5lbWFpbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9zYXQtcG9wb3Zlcj5cclxuIl19
@@ -1,6 +1,7 @@
1
1
  import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
2
2
  import * as Constants from '../../../constants/constants';
3
3
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { FeedBackService } from '../../../services';
4
5
  import { ProfileSectionComponent } from '../profile-section/profile-section.component';
5
6
  import { FeedbackSectionComponent } from '../feedback-section/feedback-section.component';
6
7
  import { NgClass, NgIf } from '@angular/common';
@@ -10,12 +11,12 @@ import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
10
11
  import { FaqSidenavComponent } from '../faq-sidenav/faq-sidenav.component';
11
12
  import { ActivitiesComponent } from '../activities/activities.component';
12
13
  import * as moment from 'moment';
13
- import { FeedBackService } from "../../../services";
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "../../../services";
16
16
  import * as i2 from "@angular/material/dialog";
17
17
  import * as i3 from "@ncstate/sat-popover";
18
18
  export class ServiceHeaderComponent {
19
+ cdRef;
19
20
  i18n;
20
21
  feedBackService;
21
22
  dialog;
@@ -32,7 +33,8 @@ export class ServiceHeaderComponent {
32
33
  approvals = [];
33
34
  feedBackIcon = null;
34
35
  flagPriority;
35
- constructor(i18n, feedBackService, dialog, sidenavService) {
36
+ constructor(cdRef, i18n, feedBackService, dialog, sidenavService) {
37
+ this.cdRef = cdRef;
36
38
  this.i18n = i18n;
37
39
  this.feedBackService = feedBackService;
38
40
  this.dialog = dialog;
@@ -41,6 +43,7 @@ export class ServiceHeaderComponent {
41
43
  ngAfterViewInit() {
42
44
  this.getApprovalHistory();
43
45
  this.creationDate = moment(this.form?.header?.creationDate).locale('en-US').format("DD/MM/YYYY HH:mm:ss");
46
+ this.cdRef.detectChanges();
44
47
  }
45
48
  onCommentsFormClick() {
46
49
  const comments = this.form.commentsDrop;
@@ -121,7 +124,7 @@ export class ServiceHeaderComponent {
121
124
  this.approvals.push(obj);
122
125
  });
123
126
  }
124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ServiceHeaderComponent, deps: [{ token: i1.CoreI18nService }, { token: i1.FeedBackService }, { token: i2.MatDialog }, { token: i1.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ServiceHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CoreI18nService }, { token: i1.FeedBackService }, { token: i2.MatDialog }, { token: i1.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
125
128
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ServiceHeaderComponent, isStandalone: true, selector: "core-service-header", inputs: { form: "form", showHistory: "showHistory", isLoading: "isLoading", showApprovalHistory: "showApprovalHistory", approvalHistory: "approvalHistory", creationDate: "creationDate", formTitle: "formTitle", section: "section", serviceBrief: "serviceBrief" }, providers: [FeedBackService,
126
129
  { provide: MAT_DIALOG_DATA, useValue: {} },
127
130
  ], ngImport: i0, template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <!--<ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>-->\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i3.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
@@ -139,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
139
142
  ], schemas: [CUSTOM_ELEMENTS_SCHEMA], providers: [FeedBackService,
140
143
  { provide: MAT_DIALOG_DATA, useValue: {} },
141
144
  ], template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <!--<ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>-->\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"] }]
142
- }], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i1.FeedBackService }, { type: i2.MatDialog }, { type: i1.SidenavService }], propDecorators: { form: [{
145
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CoreI18nService }, { type: i1.FeedBackService }, { type: i2.MatDialog }, { type: i1.SidenavService }], propDecorators: { form: [{
143
146
  type: Input
144
147
  }], showHistory: [{
145
148
  type: Input
@@ -158,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
158
161
  }], serviceBrief: [{
159
162
  type: Input
160
163
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXBFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxN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TCxDQUFDO3VHQTdHVSxzQkFBc0I7MkZBQXRCLHNCQUFzQix3VUFKdEIsQ0FBQyxlQUFlO1lBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO1NBQ3pDLDBCQ2xDSCw0MlFBa0lBLCtrR0QzR0ksSUFBSSw0RkFDSixnQkFBZ0IsbXFCQUNoQixVQUFVLHVGQUVWLE9BQU87OzJGQVNFLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixjQUFjO3dCQUNkLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0QixDQUFDLGVBQWU7d0JBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO3FCQUN6Qzt1S0FHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGZWVkYmFja1NlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ZlZWRiYWNrLXNlY3Rpb24vZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7RmFxU2lkZW5hdkNvbXBvbmVudH0gZnJvbSAnLi4vZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY3Rpdml0aWVzQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuaW1wb3J0IHtGZWVkQmFja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZXJ2aWNlLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdJZixcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyLFxyXG4gICAgTWF0TWVudVRyaWdnZXIsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0TWVudSxcclxuICAgIE1hdE1lbnVJdGVtXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAge3Byb3ZpZGU6IE1BVF9ESUFMT0dfREFUQSwgdXNlVmFsdWU6IHt9fSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBzaG93SGlzdG9yeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBcHByb3ZhbEhpc3RvcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhcHByb3ZhbEhpc3Rvcnk6IGFueTtcclxuICBASW5wdXQoKSBjcmVhdGlvbkRhdGU6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2VCcmllZjogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbHM6IGFueVtdID0gW107XHJcbiAgcHVibGljIGZlZWRCYWNrSWNvbjogc3RyaW5nID0gbnVsbDtcclxuICBmbGFnUHJpb3JpdHk6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLCBwcml2YXRlIGZlZWRCYWNrU2VydmljZTogRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbEhpc3RvcnkoKTtcclxuICAgICAgdGhpcy5jcmVhdGlvbkRhdGUgPSBtb21lbnQodGhpcy5mb3JtPy5oZWFkZXI/LmNyZWF0aW9uRGF0ZSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW06c3NcIik7XHJcbiAgfVxyXG5cclxuICBvbkNvbW1lbnRzRm9ybUNsaWNrKCkge1xyXG4gICAgY29uc3QgY29tbWVudHM6IGFueSA9IHRoaXMuZm9ybS5jb21tZW50c0Ryb3A7XHJcbiAgICBjb25zdCByZXN1bHREYXRhID0gW107XHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29tbWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBjb21tZW50c1tpbmRleF07XHJcbiAgICAgIGNvbnN0IG9iaiA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogaXRlbS5lbXBsb3llZU5hbWUsXHJcbiAgICAgICAgICB0aXRsZTogaXRlbS5qb2JQb3NpdGlvbixcclxuICAgICAgICAgIGltYWdlOiBpdGVtLnByb2ZpbGVQaWN0dXJlLFxyXG4gICAgICAgICAgZGF0ZTogbW9tZW50KGl0ZW0uY29tbWVudERhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoJ1lZWVktTU0tREQnKSxcclxuICAgICAgICAgIHRpbWU6IG1vbWVudChpdGVtLmNvbW1lbnREYXRlKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KCdoOm1tIGEnKSxcclxuICAgICAgICAgIGNvbW1lbnQ6IGl0ZW0uY29tbWVudEJvZHksXHJcbiAgICAgICAgICBhdHRhY2htZW50czogaXRlbS5hdHRhY2htZW50XHJcbiAgICAgICAgfTtcclxuICAgICAgcmVzdWx0RGF0YS5wdXNoKG9iaik7XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLnByb2ZpbGVSZXF1ZXN0ZXJTZXJ2aWNlLmFjdGl2aXRpZXMgPSByZXN1bHREYXRhO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgQWN0aXZpdGllc0NvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICBmZWVkYmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oRmVlZGJhY2tTZWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnbWFpbi1wb3B1cCddLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcHJvZmlsZTogdGhpcy5mb3JtLnByb2ZpbGVJbmZvRHJvcCxcclxuICAgICAgICBpbmJveEl0ZW06IHRoaXMuZm9ybS5pbmJveEl0ZW0sXHJcbiAgICAgICAgZm9ybTogdGhpcy5mb3JtXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd1VzZXJJbmZvKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmRhdGEgPSB0aGlzLmZvcm0/LnByb2ZpbGVJbmZvRHJvcDtcclxuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgUHJvZmlsZVNlY3Rpb25Db21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RmxhZ1ByaW9yaXR5KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZmxhZ1ByaW9yaXR5ID0gaWQ7XHJcbiAgICB0aGlzLmZvcm0uaW5ib3hJdGVtLmZsYWdQcmlvcml0eSA9IGlkO1xyXG4gICAgLy8gdGhpcy5zdGF0ZU1hY2hpbmVTZXJ2aWNlLmRpc3BhdGNoKENvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9TRVRfRkxBRywgaWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0dXNDbGFzcyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gJ2xvYWRpbmcnO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8IHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRFxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdkZW55JylcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncmVqZWN0JylcclxuICAgICAgICB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ3Vuc2F0aXNmaWVkJyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAnZGFuZ2VyJztcclxuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkZhcSgpIHtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEZhcVNpZGVuYXZDb21wb25lbnQsICdlbmQnLCAnb3ZlcicsIHRoaXMuc2VydmljZUJyaWVmKTtcclxuICB9XHJcblxyXG4gIGdldEFwcHJvdmFsSGlzdG9yeSgpIHtcclxuICAgIHRoaXMuYXBwcm92YWxIaXN0b3J5Py5mb3JFYWNoKChlbGVtZW50OiB7IGFwcHJvdmVyOiB7IHBlcnNvbk5hbWU6IGFueTsgcGVyc29uRW1haWw6IHN0cmluZzsgfTsgcG9zaXRpb25UeXBlOiBhbnk7IH0sIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgIGlkOiBpbmRleCArIDEsXHJcbiAgICAgICAgbmFtZTogZWxlbWVudC5hcHByb3Zlci5wZXJzb25OYW1lLFxyXG4gICAgICAgIHRpdGxlOiBlbGVtZW50LnBvc2l0aW9uVHlwZSxcclxuICAgICAgICBpbWFnZTogJy9ncm91cC9pLWdhdGUvd20tYnBtL2Zvcm1zLy0vcHJveHkvcG9ydHJhaXQ/ZW1haWw9JyArIGVsZW1lbnQuYXBwcm92ZXIucGVyc29uRW1haWwsXHJcbiAgICAgICAgc3RhdHVzOiB0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXSA/IHRoaXMuc3RhdHVzQ2xhc3ModGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0uYm9keS5kZXRhaWxzLmRlY2lzaW9uLmtleSkgOiAnJyxcclxuICAgICAgICBzdGF0dXNMYWJlbDogdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0gPyB0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXS5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWUgOiAnJ1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmFwcHJvdmFscy5wdXNoKG9iaik7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTIgbXktMlwiICpuZ0lmPVwiIShmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcblxyXG4gICAgPCEtLSBmbGFnLS0+XHJcbiAgICA8IS0tPGRzLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImZvcm0/LmluYm94SXRlbSAmJiAhZm9ybS5zZWN0aW9uc1tmb3JtLnNlY3Rpb25zLmxlbmd0aCAtMV0uaGVhZGVyLnJlYWRPbmx5ICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICBzcXVhcmVcclxuICAgICAgaWNvblxyXG4gICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydmYy1wdXJwbGUnIDogKGZsYWdQcmlvcml0eSA9PT0gJzAnIHx8ICBmbGFnUHJpb3JpdHkgPT09IG51bGwpLCdmYy15ZWxsb3cnIDogZmxhZ1ByaW9yaXR5ID09PSAnMScsJ2ZjLWdyZWVuJyA6IGZsYWdQcmlvcml0eSA9PT0gJzInLCdmYy1jb3JhbCcgOiBmbGFnUHJpb3JpdHkgPT09ICczJ31cIlxyXG4gICAgICAgIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZzLTIwIGZzLW1kLTE3IGZjLXB1cnBsZVwiPlxyXG4gICAgICA8L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBwYW5lbENsYXNzPVwiYWN0aW9uLW1lbnVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzAnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLXB1cnBsZSBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcxJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy15ZWxsb3cgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMicpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtZ3JlZW4gZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMycpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT4tLT5cclxuXHJcbiAgICA8IS0tIHByaW50LS0+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxoZWFkZXIgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlciBiYy13aGl0ZSBwLTMgcC1zbS00IHB5LTQgZ2FwLTMge3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlci1pY29uXCI+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QWlJR2hsYVdkb2REMGlNamtpSUhacFpYZENiM2c5SWpBZ01DQXpNQ0F5T1NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEkxTGpFZ01FZzBMamxETWk0eUlEQWdNQ0F5TGpJZ01DQTBMamxXTWpndU5rZ3lOUzR4UXpJM0xqZ2dNamd1TmlBek1DQXlOaTQwSURNd0lESXpMamRXTkM0NVF6TXdJREl1TWlBeU55NDRJREFnTWpVdU1TQXdXazB5SURRdU9VTXlJRE11TXlBekxqTWdNaUEwTGprZ01rZ3lOUzR4UXpJMkxqY2dNaUF5T0NBekxqTWdNamdnTkM0NVZqSXpMamRETWpnZ01qVXVNeUF5Tmk0M0lESTJMallnTWpVdU1TQXlOaTQyU0RKV05DNDVXazB4TVM0MUlEWXVNME0zTGpFZ05pNHpJRE11TlNBNUxqa2dNeTQxSURFMExqTkRNeTQxSURFNExqY2dOeTR4SURJeUxqTWdNVEV1TlNBeU1pNHpRekUxTGprZ01qSXVNeUF4T1M0MUlERTRMamNnTVRrdU5TQXhOQzR6UXpFNUxqVWdPUzQ1SURFMUxqa2dOaTR6SURFeExqVWdOaTR6V2sweE5TNHhJREU1UXpFMExqRWdNVGt1T0NBeE1pNDRJREl3TGpJZ01URXVOU0F5TUM0eVF6RXdMaklnTWpBdU1pQTRMamtnTVRrdU9DQTNMamtnTVRsRE9DNDNJREUzTGpjZ01UQWdNVGNnTVRFdU5TQXhOME14TXlBeE55QXhOQzQwSURFM0xqZ2dNVFV1TVNBeE9WcE5NVE11TVNBeE15NDBRekV6TGpFZ01UUXVNeUF4TWk0MElERTFJREV4TGpVZ01UVkRNVEF1TmlBeE5TQTVMamtnTVRRdU15QTVMamtnTVRNdU5FTTVMamtnTVRJdU5TQXhNQzQySURFeExqZ2dNVEV1TlNBeE1TNDRRekV5TGpRZ01URXVPQ0F4TXk0eElERXlMalVnTVRNdU1TQXhNeTQwV2sweE5TNHhJREV6TGpSRE1UVXVNU0F4TVM0MElERXpMalVnT1M0NElERXhMalVnT1M0NFF6a3VOU0E1TGpnZ055NDVJREV4TGpRZ055NDVJREV6TGpSRE55NDVJREUwTGpJZ09DNHlJREUxSURndU55QXhOUzQzUXpjdU9DQXhOaTR4SURjdU1TQXhOaTQ0SURZdU5TQXhOeTQyUXpVdU9DQXhOaTQySURVdU5TQXhOUzQxSURVdU5TQXhOQzR6UXpVdU5TQXhNU0E0TGpJZ09DNHpJREV4TGpVZ09DNHpRekUwTGpnZ09DNHpJREUzTGpVZ01URWdNVGN1TlNBeE5DNHpRekUzTGpVZ01UVXVOU0F4Tnk0eUlERTJMallnTVRZdU5TQXhOeTQyUXpFMUxqa2dNVFl1T0NBeE5TNHlJREUyTGpJZ01UUXVNeUF4TlM0M1F6RTBMamdnTVRVdU1TQXhOUzR4SURFMExqSWdNVFV1TVNBeE15NDBXazB5TVNBNUxqRkRNakVnT0M0MklESXhMalFnT0M0eElESXlJRGd1TVVneU5TNDFRekkySURndU1TQXlOaTQxSURndU5TQXlOaTQxSURrdU1VTXlOaTQxSURrdU5pQXlOaTR4SURFd0xqRWdNalV1TlNBeE1DNHhTREl5UXpJeExqUWdNVEF1TVNBeU1TQTVMallnTWpFZ09TNHhXazB5TVNBeE1pNDFRekl4SURFeUlESXhMalFnTVRFdU5TQXlNaUF4TVM0MVNESTFMalZETWpZZ01URXVOU0F5Tmk0MUlERXhMamtnTWpZdU5TQXhNaTQxUXpJMkxqVWdNVE1nTWpZdU1TQXhNeTQxSURJMUxqVWdNVE11TlVneU1rTXlNUzQwSURFekxqVWdNakVnTVRNdU1TQXlNU0F4TWk0MVdrMHlNU0F4TmtNeU1TQXhOUzQxSURJeExqUWdNVFVnTWpJZ01UVklNalV1TlVNeU5pQXhOU0F5Tmk0MUlERTFMalFnTWpZdU5TQXhOa015Tmk0MUlERTJMalVnTWpZdU1TQXhOeUF5TlM0MUlERTNTREl5UXpJeExqUWdNVGNnTWpFZ01UWXVOaUF5TVNBeE5scE5NalV1TlNBeU1DNDFTREl5UXpJeExqVWdNakF1TlNBeU1TQXlNQzR4SURJeElERTVMalZETWpFZ01UZ3VPU0F5TVM0MElERTRMalVnTWpJZ01UZ3VOVWd5TlM0MVF6STJJREU0TGpVZ01qWXVOU0F4T0M0NUlESTJMalVnTVRrdU5VTXlOaTQxSURJd0xqRWdNall1TVNBeU1DNDFJREkxTGpVZ01qQXVOVm9pSUdacGJHdzlJaU5HUmpNM05VVWlMejRLUEM5emRtYytDZz09XCIvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgPCEtLSB0aXRsZS0tPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cImZzLTIwIGZzLW1kLTE2IGZ3LWJvbGQgZmMtYmxhY2sgaGVhZGVyLXRpdGxlIG0tMFwiPnt7IGZvcm1UaXRsZSB9fVxyXG4gICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgaWNvbj1cImluZm9cIiBjbGFzcz1cImZzLTIyIGZjLWRhcmstZ3JheSBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwic2VydmljZUJyaWVmLmxlbmd0aFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmFxKClcIj48L2RzLWljb24+XHJcbiAgICAgICAgPC9oMT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImhlYWRlci11c2VyIGQtZmxleCBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTIgbXQtc20tMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyB8fCBpc0xvYWRpbmdcIj5cclxuICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nXCIgaW1hZ2U9XCJ7e2Zvcm0/LmhlYWRlcj8ucmVxdWVzdGVyUGhvdG99fVwiIHNpemU9XCJ4eC1zbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1pbmxpbmUtZmxleCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzaG93VXNlckluZm8oKVwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJmcy0xMiB0ZXh0LXRydW5jYXRlIGQtc20tYmxvY2sgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1VzZXJJbmZvKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2xvYWRpbmctYmcgbG9hZGluZy13aWR0aCc6IGlzTG9hZGluZ31cIj57eyAoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImRpdmlkZXIgY2lyY2xlIG14LTIgZC1ub25lIGQtc20tYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMlwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGZvcm0/LmhlYWRlcj8uZm9ybUlkIH19PC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJkaXZpZGVyIGNpcmNsZSBteC0yIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJmcy0xNFwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGNyZWF0aW9uRGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gaGVhZGVyLWFjdGlvbnMtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaGVhZGVyLWFjdGlvbnMgZC1mbGV4IGZsZXgtcm93IGZsZXgtc20tY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgZ2FwLTIgbXQtMiBtdC1zbS0wXCJcclxuICAgICAgICAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gICAgICAgIDxkcy1zdGF0dXNcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiIGNsYXNzPVwiaGVhZGVyLXN0YXR1c1wiPnt7IGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ3ZhbHVlJ10gfX1cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMlwiPlxyXG4gICAgICAgICAgPCEtLSBmZWVkYmFjay0tPlxyXG48IS0tICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5pbmJveEl0ZW0gJiYgKGZvcm0/LmluYm94SXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSd0cnVlJ3x8IGZvcm0/LmluYm94SXRlbT8uaGFzRmVlZGJhY2s9PT0ndHJ1ZScpICYmICFpc0xvYWRpbmdcIi0tPlxyXG4gICAgICAgIDwhLS0gIDxkcy1idXR0b25cclxuICAgICAgICAgICAgc3F1YXJlIGljb24gc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImZlZWRiYWNrKClcIj5cclxuICAgICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgICBpY29uPVwiY2hhdC1vXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1jb3JhbFwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmYy1ncmVlbic6ZmVlZEJhY2tJY29uID09PSAnZmVlZGJhY2tSZXNwb25kZWQnICwgJ2ZjLXJlZCc6IGZlZWRCYWNrSWNvbiA9PT0gJ3Jlc3BvbmRUb0ZlZWRiYWNrJyAsICdmYy15ZWxsb3cnOiBmZWVkQmFja0ljb24gPT09ICd3YWl0aW5nRmVlZGJhY2snfVwiPlxyXG4gICAgICAgICAgICA8L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj4tLT5cclxuICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5jb21tZW50c0Ryb3A/Lmxlbmd0aCA+IDAgJiYgIWlzTG9hZGluZ1wiIHNxdWFyZSBpY29uIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNvbW1lbnRzRm9ybUNsaWNrKClcIiBjbGFzcz1cImhhcy1jb21tZW50c1wiPlxyXG4gICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvY2tcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FwcHJvdmFsSGlzdG9yeVwiPlxyXG4gICAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJ3aGl0ZVwiIHNoYXBlPVwidGV4dFwiIHNxdWFyZSBzaXplPVwic21hbGxcIiBbc2F0UG9wb3ZlckFuY2hvcl09XCJ3b3JrZmxvd1wiXHJcbiAgICAgICAgICAgICAgI3dvcmtmbG93QW5jaG9yPVwic2F0UG9wb3ZlckFuY2hvclwiIChjbGljayk9XCJ3b3JrZmxvd0FuY2hvci5wb3BvdmVyLm9wZW4oKVwiPlxyXG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJ3b3JrZmxvd1wiIGNsYXNzPVwiZnMtMjRcIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgICAgPC9zbG90PlxyXG4gICAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDxzYXQtcG9wb3ZlclxyXG4gICAgICAgICAgICAgICN3b3JrZmxvdyBbYW5jaG9yXT1cIndvcmtmbG93QW5jaG9yXCIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIlxyXG4gICAgICAgICAgICAgIGhvcml6b250YWxBbGlnbj1cImVuZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCIgc3R5bGU9XCJtaW4td2lkdGg6IDMzMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWFwcHJvdmFscyAqbmdJZj1cImFwcHJvdmFsSGlzdG9yeVwiIGNsYXNzPVwicG9wb3Zlci1hcHByb3ZhbHNcIiBhcHByb3ZhbHNEYXRhPVwie3thcHByb3ZhbHN9fVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kcy1hcHByb3ZhbHM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9oZWFkZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48aGVhZGVyXHJcbiAgY2xhc3M9XCJtYi00IG10LTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmQgZ2FwLTJcIlxyXG4gICpuZ0lmPVwiKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8c2VjdGlvbj5cclxuICAgIDxoNiBjbGFzcz1cImZzLTE0IGZzLW1kLTEyIGZ3LW5vcm1hbCBmYy1kYXJrLWdyYXkgbWItMFwiPlxyXG4gICAgICB7eyBpMThuLnRyYW5zbGF0ZSgnSGVsbG8nKSB9fVxyXG4gICAgICB7eyAoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fSwge3sgaTE4bi50cmFuc2xhdGUoJ3dlbGNvbWVCYWNrJykgfX0hXHJcbiAgICA8L2g2PlxyXG4gICAgPGgxIGNsYXNzPVwiZnMtMjYgZnMtbWQtMjAgZnctYm9sZCBmYy1ibGFjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIG1iLTFcIj5cclxuICAgICAge3sgZm9ybVRpdGxlIH19XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJpbmZvXCIgY2xhc3M9XCJmcy0yMiBmYy1kYXJrLWdyYXkgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInNlcnZpY2VCcmllZi5sZW5ndGhcIiAoY2xpY2spPVwib3BlbkZhcSgpXCI+XHJcbiAgICAgIDwvZHMtaWNvbj5cclxuICAgIDwvaDE+XHJcbiAgPC9zZWN0aW9uPlxyXG5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBa0IsZUFBZSxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQ25GLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxt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QUU7YUFDNUcsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FoSFUsc0JBQXNCOzJGQUF0QixzQkFBc0Isd1VBSnRCLENBQUMsZUFBZTtZQUN6QixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQztTQUN6QywwQkNqQ0gsNDJRQWtJQSwra0dENUdJLElBQUksNEZBQ0osZ0JBQWdCLG1xQkFDaEIsVUFBVSx1RkFFVixPQUFPOzsyRkFTRSxzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsV0FBVztxQkFDWixXQUNRLENBQUMsc0JBQXNCLENBQUMsYUFDdEIsQ0FBQyxlQUFlO3dCQUN6QixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQztxQkFDekM7dU1BR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtLCBTZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQge0NvcmVJMThuU2VydmljZSwgRmVlZEJhY2tTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge1Byb2ZpbGVTZWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9wcm9maWxlLXNlY3Rpb24vcHJvZmlsZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmVlZGJhY2tTZWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gJ0BuY3N0YXRlL3NhdC1wb3BvdmVyJztcclxuaW1wb3J0IHtNYXREaXZpZGVyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQge0ZhcVNpZGVuYXZDb21wb25lbnR9IGZyb20gJy4uL2ZhcS1zaWRlbmF2L2ZhcS1zaWRlbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QWN0aXZpdGllc0NvbXBvbmVudH0gZnJvbSAnLi4vYWN0aXZpdGllcy9hY3Rpdml0aWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXNlcnZpY2UtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlcnZpY2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0lmLFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE1hdERpdmlkZXIsXHJcbiAgICBNYXRNZW51VHJpZ2dlcixcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTWF0TWVudUl0ZW1cclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBwcm92aWRlcnM6IFtGZWVkQmFja1NlcnZpY2UsXHJcbiAgICB7cHJvdmlkZTogTUFUX0RJQUxPR19EQVRBLCB1c2VWYWx1ZToge319LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcnZpY2VIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIHNob3dIaXN0b3J5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0FwcHJvdmFsSGlzdG9yeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFwcHJvdmFsSGlzdG9yeTogYW55O1xyXG4gIEBJbnB1dCgpIGNyZWF0aW9uRGF0ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm1UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgc2VydmljZUJyaWVmOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsczogYW55W10gPSBbXTtcclxuICBwdWJsaWMgZmVlZEJhY2tJY29uOiBzdHJpbmcgPSBudWxsO1xyXG4gIGZsYWdQcmlvcml0eTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSwgcHJpdmF0ZSBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0QXBwcm92YWxIaXN0b3J5KCk7XHJcbiAgICB0aGlzLmNyZWF0aW9uRGF0ZSA9IG1vbWVudCh0aGlzLmZvcm0/LmhlYWRlcj8uY3JlYXRpb25EYXRlKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICB9XHJcblxyXG4gIG9uQ29tbWVudHNGb3JtQ2xpY2soKSB7XHJcbiAgICBjb25zdCBjb21tZW50czogYW55ID0gdGhpcy5mb3JtLmNvbW1lbnRzRHJvcDtcclxuICAgIGNvbnN0IHJlc3VsdERhdGEgPSBbXTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21tZW50cy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IGNvbW1lbnRzW2luZGV4XTtcclxuICAgICAgY29uc3Qgb2JqID1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiBpdGVtLmVtcGxveWVlTmFtZSxcclxuICAgICAgICAgIHRpdGxlOiBpdGVtLmpvYlBvc2l0aW9uLFxyXG4gICAgICAgICAgaW1hZ2U6IGl0ZW0ucHJvZmlsZVBpY3R1cmUsXHJcbiAgICAgICAgICBkYXRlOiBtb21lbnQoaXRlbS5jb21tZW50RGF0ZSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLFxyXG4gICAgICAgICAgdGltZTogbW9tZW50KGl0ZW0uY29tbWVudERhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoJ2g6bW0gYScpLFxyXG4gICAgICAgICAgY29tbWVudDogaXRlbS5jb21tZW50Qm9keSxcclxuICAgICAgICAgIGF0dGFjaG1lbnRzOiBpdGVtLmF0dGFjaG1lbnRcclxuICAgICAgICB9O1xyXG4gICAgICByZXN1bHREYXRhLnB1c2gob2JqKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMucHJvZmlsZVJlcXVlc3RlclNlcnZpY2UuYWN0aXZpdGllcyA9IHJlc3VsdERhdGE7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBBY3Rpdml0aWVzQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGZlZWRiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihGZWVkYmFja1NlY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJ10sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBwcm9maWxlOiB0aGlzLmZvcm0ucHJvZmlsZUluZm9Ecm9wLFxyXG4gICAgICAgIGluYm94SXRlbTogdGhpcy5mb3JtLmluYm94SXRlbSxcclxuICAgICAgICBmb3JtOiB0aGlzLmZvcm1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93VXNlckluZm8oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuZGF0YSA9IHRoaXMuZm9ybT8ucHJvZmlsZUluZm9Ecm9wO1xyXG4gICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBQcm9maWxlU2VjdGlvbkNvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRGbGFnUHJpb3JpdHkoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5mbGFnUHJpb3JpdHkgPSBpZDtcclxuICAgIHRoaXMuZm9ybS5pbmJveEl0ZW0uZmxhZ1ByaW9yaXR5ID0gaWQ7XHJcbiAgICAvLyB0aGlzLnN0YXRlTWFjaGluZVNlcnZpY2UuZGlzcGF0Y2goQ29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX1NFVF9GTEFHLCBpZCkudGhlbigoKSA9PiB7XHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG4gIHN0YXR1c0NsYXNzKHN0YXR1czogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICAgIHJldHVybiAnbG9hZGluZyc7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RlbnknKVxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdyZWplY3QnKVxyXG4gICAgICAgIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ3JlamVjdCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRmFxKCkge1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgRmFxU2lkZW5hdkNvbXBvbmVudCwgJ2VuZCcsICdvdmVyJywgdGhpcy5zZXJ2aWNlQnJpZWYpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5hcHByb3ZhbEhpc3Rvcnk/LmZvckVhY2goKGVsZW1lbnQ6IHsgYXBwcm92ZXI6IHsgcGVyc29uTmFtZTogYW55OyBwZXJzb25FbWFpbDogc3RyaW5nOyB9OyBwb3NpdGlvblR5cGU6IGFueTsgfSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgaWQ6IGluZGV4ICsgMSxcclxuICAgICAgICBuYW1lOiBlbGVtZW50LmFwcHJvdmVyLnBlcnNvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IGVsZW1lbnQucG9zaXRpb25UeXBlLFxyXG4gICAgICAgIGltYWdlOiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgZWxlbWVudC5hcHByb3Zlci5wZXJzb25FbWFpbCxcclxuICAgICAgICBzdGF0dXM6IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdID8gdGhpcy5zdGF0dXNDbGFzcyh0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXS5ib2R5LmRldGFpbHMuZGVjaXNpb24ua2V5KSA6ICcnLFxyXG4gICAgICAgIHN0YXR1c0xhYmVsOiB0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXSA/IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdLmJvZHkuZGV0YWlscy5kZWNpc2lvbi52YWx1ZSA6ICcnXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuYXBwcm92YWxzLnB1c2gob2JqKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIShmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMiBteS0yXCIgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuXHJcbiAgICA8IS0tIGZsYWctLT5cclxuICAgIDwhLS08ZHMtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiZm9ybT8uaW5ib3hJdGVtICYmICFmb3JtLnNlY3Rpb25zW2Zvcm0uc2VjdGlvbnMubGVuZ3RoIC0xXS5oZWFkZXIucmVhZE9ubHkgJiYgIWlzTG9hZGluZ1wiXHJcbiAgICAgIHNxdWFyZVxyXG4gICAgICBpY29uXHJcbiAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgY2xhc3M9XCJpY29uLWJ0bi1zaGFkb3dcIj5cclxuICAgICAgPGRzLWljb25cclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ZjLXB1cnBsZScgOiAoZmxhZ1ByaW9yaXR5ID09PSAnMCcgfHwgIGZsYWdQcmlvcml0eSA9PT0gbnVsbCksJ2ZjLXllbGxvdycgOiBmbGFnUHJpb3JpdHkgPT09ICcxJywnZmMtZ3JlZW4nIDogZmxhZ1ByaW9yaXR5ID09PSAnMicsJ2ZjLWNvcmFsJyA6IGZsYWdQcmlvcml0eSA9PT0gJzMnfVwiXHJcbiAgICAgICAgaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+XHJcbiAgICAgIDwvZHMtaWNvbj5cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHBhbmVsQ2xhc3M9XCJhY3Rpb24tbWVudVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMCcpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtcHVycGxlIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzEnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLXllbGxvdyBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcyJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy1ncmVlbiBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCczJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51Pi0tPlxyXG5cclxuICAgIDwhLS0gcHJpbnQtLT5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGhlYWRlciBjbGFzcz1cInNlcnZpY2UtaGVhZGVyIGJjLXdoaXRlIHAtMyBwLXNtLTQgcHktNCBnYXAtMyB7e3N0YXR1c0NsYXNzKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddKX19XCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtaGVhZGVyLWljb25cIj5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBaUlHaGxhV2RvZEQwaU1qa2lJSFpwWlhkQ2IzZzlJakFnTUNBek1DQXlPU0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUSTFMakVnTUVnMExqbERNaTR5SURBZ01DQXlMaklnTUNBMExqbFdNamd1TmtneU5TNHhRekkzTGpnZ01qZ3VOaUF6TUNBeU5pNDBJRE13SURJekxqZFdOQzQ1UXpNd0lESXVNaUF5Tnk0NElEQWdNalV1TVNBd1drMHlJRFF1T1VNeUlETXVNeUF6TGpNZ01pQTBMamtnTWtneU5TNHhRekkyTGpjZ01pQXlPQ0F6TGpNZ01qZ2dOQzQ1VmpJekxqZERNamdnTWpVdU15QXlOaTQzSURJMkxqWWdNalV1TVNBeU5pNDJTREpXTkM0NVdrMHhNUzQxSURZdU0wTTNMakVnTmk0eklETXVOU0E1TGprZ015NDFJREUwTGpORE15NDFJREU0TGpjZ055NHhJREl5TGpNZ01URXVOU0F5TWk0elF6RTFMamtnTWpJdU15QXhPUzQxSURFNExqY2dNVGt1TlNBeE5DNHpRekU1TGpVZ09TNDVJREUxTGprZ05pNHpJREV4TGpVZ05pNHpXazB4TlM0eElERTVRekUwTGpFZ01Ua3VPQ0F4TWk0NElESXdMaklnTVRFdU5TQXlNQzR5UXpFd0xqSWdNakF1TWlBNExqa2dNVGt1T0NBM0xqa2dNVGxET0M0M0lERTNMamNnTVRBZ01UY2dNVEV1TlNBeE4wTXhNeUF4TnlBeE5DNDBJREUzTGpnZ01UVXVNU0F4T1ZwTk1UTXVNU0F4TXk0MFF6RXpMakVnTVRRdU15QXhNaTQwSURFMUlERXhMalVnTVRWRE1UQXVOaUF4TlNBNUxqa2dNVFF1TXlBNUxqa2dNVE11TkVNNUxqa2dNVEl1TlNBeE1DNDJJREV4TGpnZ01URXVOU0F4TVM0NFF6RXlMalFnTVRFdU9DQXhNeTR4SURFeUxqVWdNVE11TVNBeE15NDBXazB4TlM0eElERXpMalJETVRVdU1TQXhNUzQwSURFekxqVWdPUzQ0SURFeExqVWdPUzQ0UXprdU5TQTVMamdnTnk0NUlERXhMalFnTnk0NUlERXpMalJETnk0NUlERTBMaklnT0M0eUlERTFJRGd1TnlBeE5TNDNRemN1T0NBeE5pNHhJRGN1TVNBeE5pNDRJRFl1TlNBeE55NDJRelV1T0NBeE5pNDJJRFV1TlNBeE5TNDFJRFV1TlNBeE5DNHpRelV1TlNBeE1TQTRMaklnT0M0eklERXhMalVnT0M0elF6RTBMamdnT0M0eklERTNMalVnTVRFZ01UY3VOU0F4TkM0elF6RTNMalVnTVRVdU5TQXhOeTR5SURFMkxqWWdNVFl1TlNBeE55NDJRekUxTGprZ01UWXVPQ0F4TlM0eUlERTJMaklnTVRRdU15QXhOUzQzUXpFMExqZ2dNVFV1TVNBeE5TNHhJREUwTGpJZ01UVXVNU0F4TXk0MFdrMHlNU0E1TGpGRE1qRWdPQzQySURJeExqUWdPQzR4SURJeUlEZ3VNVWd5TlM0MVF6STJJRGd1TVNBeU5pNDFJRGd1TlNBeU5pNDFJRGt1TVVNeU5pNDFJRGt1TmlBeU5pNHhJREV3TGpFZ01qVXVOU0F4TUM0eFNESXlRekl4TGpRZ01UQXVNU0F5TVNBNUxqWWdNakVnT1M0eFdrMHlNU0F4TWk0MVF6SXhJREV5SURJeExqUWdNVEV1TlNBeU1pQXhNUzQxU0RJMUxqVkRNallnTVRFdU5TQXlOaTQxSURFeExqa2dNall1TlNBeE1pNDFRekkyTGpVZ01UTWdNall1TVNBeE15NDFJREkxTGpVZ01UTXVOVWd5TWtNeU1TNDBJREV6TGpVZ01qRWdNVE11TVNBeU1TQXhNaTQxV2sweU1TQXhOa015TVNBeE5TNDFJREl4TGpRZ01UVWdNaklnTVRWSU1qVXVOVU15TmlBeE5TQXlOaTQxSURFMUxqUWdNall1TlNBeE5rTXlOaTQxSURFMkxqVWdNall1TVNBeE55QXlOUzQxSURFM1NESXlRekl4TGpRZ01UY2dNakVnTVRZdU5pQXlNU0F4TmxwTk1qVXVOU0F5TUM0MVNESXlRekl4TGpVZ01qQXVOU0F5TVNBeU1DNHhJREl4SURFNUxqVkRNakVnTVRndU9TQXlNUzQwSURFNExqVWdNaklnTVRndU5VZ3lOUzQxUXpJMklERTRMalVnTWpZdU5TQXhPQzQ1SURJMkxqVWdNVGt1TlVNeU5pNDFJREl3TGpFZ01qWXVNU0F5TUM0MUlESTFMalVnTWpBdU5Wb2lJR1pwYkd3OUlpTkdSak0zTlVVaUx6NEtQQzl6ZG1jK0NnPT1cIi8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc20tcm93IGFsaWduLWl0ZW1zLXNtLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICA8IS0tIHRpdGxlLS0+XHJcbiAgICAgICAgPGgxIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTYgZnctYm9sZCBmYy1ibGFjayBoZWFkZXItdGl0bGUgbS0wXCI+e3sgZm9ybVRpdGxlIH19XHJcbiAgICAgICAgICA8ZHMtaWNvblxyXG4gICAgICAgICAgICBpY29uPVwiaW5mb1wiIGNsYXNzPVwiZnMtMjIgZmMtZGFyay1ncmF5IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJzZXJ2aWNlQnJpZWYubGVuZ3RoXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5GYXEoKVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8L2gxPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiaGVhZGVyLXVzZXIgZC1mbGV4IGFsaWduLWl0ZW1zLXNtLWNlbnRlciBnYXAtMiBtdC1zbS0xXCJcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnIHx8IGlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgPGRzLWF2YXRhclxyXG4gICAgICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIiBpbWFnZT1cInt7Zm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJQaG90b319XCIgc2l6ZT1cInh4LXNtYWxsXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1mbGV4IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNob3dVc2VySW5mbygpXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cImZzLTEyIHRleHQtdHJ1bmNhdGUgZC1zbS1ibG9jayBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzaG93VXNlckluZm8oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IChmb3JtPy5oZWFkZXI/LnJlcXVlc3Rlck5hbWUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiZGl2aWRlciBjaXJjbGUgbXgtMiBkLW5vbmUgZC1zbS1ibG9ja1wiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyXCIgW25nQ2xhc3NdPVwieydsb2FkaW5nLWJnIGxvYWRpbmctd2lkdGgnOiBpc0xvYWRpbmd9XCI+e3sgZm9ybT8uaGVhZGVyPy5mb3JtSWQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJjcmVhdGlvbkRhdGVcIiBjbGFzcz1cImRpdmlkZXIgY2lyY2xlIG14LTIgZC1ub25lIGQtc20tYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjcmVhdGlvbkRhdGVcIiBjbGFzcz1cImZzLTE0XCIgW25nQ2xhc3NdPVwieydsb2FkaW5nLWJnIGxvYWRpbmctd2lkdGgnOiBpc0xvYWRpbmd9XCI+e3sgY3JlYXRpb25EYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBoZWFkZXItYWN0aW9ucy0tPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJoZWFkZXItYWN0aW9ucyBkLWZsZXggZmxleC1yb3cgZmxleC1zbS1jb2x1bW4ganVzdGlmeS1jb250ZW50LWJldHdlZW4ganVzdGlmeS1jb250ZW50LXNtLWNlbnRlciBnYXAtMiBtdC0yIG10LXNtLTBcIlxyXG4gICAgICAgICpuZ0lmPVwiIShmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcbiAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSAhPT0gJ05FVycgJiYgIWlzTG9hZGluZ1wiXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0NsYXNzKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddKX19XCIgY2xhc3M9XCJoZWFkZXItc3RhdHVzXCI+e3sgZm9ybT8uaGVhZGVyPy5zdGF0dXM/LlsndmFsdWUnXSB9fVxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yXCI+XHJcbiAgICAgICAgICA8IS0tIGZlZWRiYWNrLS0+XHJcbjwhLS0gICAgICAgICAgICAqbmdJZj1cImZvcm0/LmluYm94SXRlbSAmJiAoZm9ybT8uaW5ib3hJdGVtPy5jYW5SZXF1ZXN0RmVlZGJhY2sgPT09J3RydWUnfHwgZm9ybT8uaW5ib3hJdGVtPy5oYXNGZWVkYmFjaz09PSd0cnVlJykgJiYgIWlzTG9hZGluZ1wiLS0+XHJcbiAgICAgICAgPCEtLSAgPGRzLWJ1dHRvblxyXG4gICAgICAgICAgICBzcXVhcmUgaWNvbiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiZmVlZGJhY2soKVwiPlxyXG4gICAgICAgICAgICA8ZHMtaWNvblxyXG4gICAgICAgICAgICAgIGljb249XCJjaGF0LW9cIiBjbGFzcz1cImZzLTIwIGZzLW1kLTE3IGZjLWNvcmFsXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZjLWdyZWVuJzpmZWVkQmFja0ljb24gPT09ICdmZWVkYmFja1Jlc3BvbmRlZCcgLCAnZmMtcmVkJzogZmVlZEJhY2tJY29uID09PSAncmVzcG9uZFRvRmVlZGJhY2snICwgJ2ZjLXllbGxvdyc6IGZlZWRCYWNrSWNvbiA9PT0gJ3dhaXRpbmdGZWVkYmFjayd9XCI+XHJcbiAgICAgICAgICAgIDwvZHMtaWNvbj5cclxuICAgICAgICAgIDwvZHMtYnV0dG9uPi0tPlxyXG4gICAgICAgICAgPGRzLWJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm0/LmNvbW1lbnRzRHJvcD8ubGVuZ3RoID4gMCAmJiAhaXNMb2FkaW5nXCIgc3F1YXJlIGljb24gc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29tbWVudHNGb3JtQ2xpY2soKVwiIGNsYXNzPVwiaGFzLWNvbW1lbnRzXCI+XHJcbiAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJjbG9ja1wiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93QXBwcm92YWxIaXN0b3J5XCI+XHJcbiAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICBjb2xvcj1cIndoaXRlXCIgc2hhcGU9XCJ0ZXh0XCIgc3F1YXJlIHNpemU9XCJzbWFsbFwiIFtzYXRQb3BvdmVyQW5jaG9yXT1cIndvcmtmbG93XCJcclxuICAgICAgICAgICAgICAjd29ya2Zsb3dBbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCIgKGNsaWNrKT1cIndvcmtmbG93QW5jaG9yLnBvcG92ZXIub3BlbigpXCI+XHJcbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cIndvcmtmbG93XCIgY2xhc3M9XCJmcy0yNFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICA8L3Nsb3Q+XHJcbiAgICAgICAgICAgIDwvZHMtYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPHNhdC1wb3BvdmVyXHJcbiAgICAgICAgICAgICAgI3dvcmtmbG93IFthbmNob3JdPVwid29ya2Zsb3dBbmNob3JcIiBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiXHJcbiAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduPVwiZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtcG9wb3ZlciBwLTNcIiBzdHlsZT1cIm1pbi13aWR0aDogMzMwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHMtYXBwcm92YWxzICpuZ0lmPVwiYXBwcm92YWxIaXN0b3J5XCIgY2xhc3M9XCJwb3BvdmVyLWFwcHJvdmFsc1wiIGFwcHJvdmFsc0RhdGE9XCJ7e2FwcHJvdmFsc319XCI+XHJcbiAgICAgICAgICAgICAgICA8L2RzLWFwcHJvdmFscz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zYXQtcG9wb3Zlcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2hlYWRlcj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxoZWFkZXJcclxuICBjbGFzcz1cIm1iLTQgbXQtNCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBnYXAtMlwiXHJcbiAgKm5nSWY9XCIoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gIDxzZWN0aW9uPlxyXG4gICAgPGg2IGNsYXNzPVwiZnMtMTQgZnMtbWQtMTIgZnctbm9ybWFsIGZjLWRhcmstZ3JheSBtYi0wXCI+XHJcbiAgICAgIHt7IGkxOG4udHJhbnNsYXRlKCdIZWxsbycpIH19XHJcbiAgICAgIHt7IChmb3JtPy5oZWFkZXI/LnJlcXVlc3Rlck5hbWUpIH19LCB7eyBpMThuLnRyYW5zbGF0ZSgnd2VsY29tZUJhY2snKSB9fSFcclxuICAgIDwvaDY+XHJcbiAgICA8aDEgY2xhc3M9XCJmcy0yNiBmcy1tZC0yMCBmdy1ib2xkIGZjLWJsYWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMVwiPlxyXG4gICAgICB7eyBmb3JtVGl0bGUgfX1cclxuICAgICAgPGRzLWljb24gaWNvbj1cImluZm9cIiBjbGFzcz1cImZzLTIyIGZjLWRhcmstZ3JheSBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwic2VydmljZUJyaWVmLmxlbmd0aFwiIChjbGljayk9XCJvcGVuRmFxKClcIj5cclxuICAgICAgPC9kcy1pY29uPlxyXG4gICAgPC9oMT5cclxuICA8L3NlY3Rpb24+XHJcblxyXG48L2hlYWRlcj5cclxuIl19