@seniorsistemas/exclusion-process-component 0.1.0 → 0.2.1-534b2cd2-c9f9-432d-af2e-5630b05ee46f

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 (27) hide show
  1. package/bundles/seniorsistemas-exclusion-process-component.umd.js +125 -35
  2. package/bundles/seniorsistemas-exclusion-process-component.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-exclusion-process-component.umd.min.js.map +1 -1
  5. package/esm2015/exclusion-details/exclusion-details.component.js +86 -9
  6. package/esm2015/exclusion-details/protocols/exclusion-process-status-changed.js +1 -0
  7. package/esm2015/exclusion-details/protocols/web-socket-event-data.js +1 -0
  8. package/esm2015/exclusions-list/exclusions-list.component.js +23 -15
  9. package/esm2015/exclusions-list/exclusions-list.routing.js +2 -2
  10. package/esm2015/services/logical-delete.service.js +10 -11
  11. package/esm5/exclusion-details/exclusion-details.component.js +91 -9
  12. package/esm5/exclusion-details/protocols/exclusion-process-status-changed.js +1 -0
  13. package/esm5/exclusion-details/protocols/web-socket-event-data.js +1 -0
  14. package/esm5/exclusions-list/exclusions-list.component.js +24 -16
  15. package/esm5/exclusions-list/exclusions-list.routing.js +2 -2
  16. package/esm5/services/logical-delete.service.js +13 -12
  17. package/exclusion-details/exclusion-details.component.d.ts +11 -1
  18. package/exclusion-details/protocols/exclusion-process-status-changed.d.ts +8 -0
  19. package/exclusion-details/protocols/web-socket-event-data.d.ts +6 -0
  20. package/exclusions-list/exclusions-list.component.d.ts +6 -4
  21. package/fesm2015/seniorsistemas-exclusion-process-component.js +115 -31
  22. package/fesm2015/seniorsistemas-exclusion-process-component.js.map +1 -1
  23. package/fesm5/seniorsistemas-exclusion-process-component.js +124 -33
  24. package/fesm5/seniorsistemas-exclusion-process-component.js.map +1 -1
  25. package/package.json +14 -6
  26. package/seniorsistemas-exclusion-process-component.metadata.json +1 -1
  27. package/services/logical-delete.service.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import { __assign, __decorate, __read, __spread } from "tslib";
2
2
  import * as moment from "moment";
3
- import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from "@angular/core";
3
+ import { AfterViewInit, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from "@angular/core";
4
4
  import { FormBuilder, FormGroup, Validators } from "@angular/forms";
5
5
  import { TranslateService } from "@ngx-translate/core";
6
6
  import { Subject } from "rxjs";
@@ -15,7 +15,7 @@ import { FilterService } from "../services/filter.service";
15
15
  var HTTP_CODE_SERVER_ERROR_START = 500;
16
16
  var HTTP_CODE_SERVER_ERROR_END = 600;
17
17
  var ExclusionsListComponent = /** @class */ (function () {
18
- function ExclusionsListComponent(route, translate, formBuilder, changeDetectorRef, logicalDeleteService, filterService, projectConfigs) {
18
+ function ExclusionsListComponent(route, translate, formBuilder, changeDetectorRef, logicalDeleteService, filterService, projectConfigs, cdr) {
19
19
  this.route = route;
20
20
  this.translate = translate;
21
21
  this.formBuilder = formBuilder;
@@ -23,6 +23,7 @@ var ExclusionsListComponent = /** @class */ (function () {
23
23
  this.logicalDeleteService = logicalDeleteService;
24
24
  this.filterService = filterService;
25
25
  this.projectConfigs = projectConfigs;
26
+ this.cdr = cdr;
26
27
  this.currentListParams = { page: 0, size: 10, sort: [], filterData: {} };
27
28
  this.showLoader = false;
28
29
  this.totalRecords = 0;
@@ -42,27 +43,22 @@ var ExclusionsListComponent = /** @class */ (function () {
42
43
  .subscribe(function (data) {
43
44
  _this.locale = data.localeConfig;
44
45
  });
45
- this.route.params
46
- .pipe(takeUntil(this.ngUnsubscribe))
47
- .subscribe(function (params) {
48
- _this.entityName = params.entityName;
49
- _this.showBasedOnRoute();
50
- });
51
46
  this.route.queryParams
52
47
  .pipe(takeUntil(this.ngUnsubscribe))
53
48
  .subscribe(function (queryParams) {
49
+ _this.entityName = queryParams.entityName;
54
50
  _this.entityDescription = queryParams.entityDescription;
55
51
  _this.processId = queryParams.processId;
56
- _this.showBasedOnRoute();
57
52
  });
58
53
  };
59
- ExclusionsListComponent.prototype.showBasedOnRoute = function () {
54
+ ExclusionsListComponent.prototype.ngAfterViewInit = function () {
60
55
  if (this.entityName && this.entityDescription && this.processId) {
61
56
  this.exclusionDetailsComponent.showDetails({
62
57
  processId: this.processId,
63
58
  entityDescription: this.entityDescription,
64
59
  entityName: this.entityName
65
60
  });
61
+ this.cdr.detectChanges();
66
62
  }
67
63
  };
68
64
  ExclusionsListComponent.prototype.ngOnDestroy = function () {
@@ -97,6 +93,7 @@ var ExclusionsListComponent = /** @class */ (function () {
97
93
  style: {
98
94
  width: "100px"
99
95
  },
96
+ tooltip: this.getColumnStatusTooltip,
100
97
  badgeConfigs: [
101
98
  {
102
99
  enumValue: EnumExclusionProcessStatus.ERROR,
@@ -121,7 +118,7 @@ var ExclusionsListComponent = /** @class */ (function () {
121
118
  attributes: ["startDate"],
122
119
  header: this.translate.instant(this.projectConfigs.getTranslationPrefix() + ".logical_delete_start"),
123
120
  type: EnumColumnFieldType.DATE,
124
- dateFormat: "DD/MM/YYYY HH:mm",
121
+ dateFormat: "DD/MM/YYYY HH:mm:ss",
125
122
  style: {
126
123
  width: "100px"
127
124
  }
@@ -131,13 +128,19 @@ var ExclusionsListComponent = /** @class */ (function () {
131
128
  attributes: ["finishDate"],
132
129
  header: this.translate.instant(this.projectConfigs.getTranslationPrefix() + ".logical_delete_finish"),
133
130
  type: EnumColumnFieldType.DATE,
134
- dateFormat: "DD/MM/YYYY HH:mm",
131
+ dateFormat: "DD/MM/YYYY HH:mm:ss",
135
132
  style: {
136
133
  width: "100px"
137
134
  }
138
135
  }
139
136
  ];
140
137
  };
138
+ ExclusionsListComponent.prototype.getColumnStatusTooltip = function (rowValue) {
139
+ if (rowValue.errorMessage) {
140
+ return rowValue.errorMessage;
141
+ }
142
+ return null;
143
+ };
141
144
  ExclusionsListComponent.prototype.getFilterFields = function () {
142
145
  var translationPrefix = this.projectConfigs.getTranslationPrefix();
143
146
  return [
@@ -291,8 +294,12 @@ var ExclusionsListComponent = /** @class */ (function () {
291
294
  this.searchTokens = this.getFilterTokens();
292
295
  var filterQuery = this.getFilterQuery();
293
296
  var displayFields = __spread([
294
- "recordId"
297
+ "recordId",
298
+ "errorMessage"
295
299
  ], this.gridColumns.map(function (column) { return column.field; }));
300
+ if (!sort.length) {
301
+ sort.push({ field: 'startDate', order: -1 });
302
+ }
296
303
  this.listExclusions({ page: page, size: size, sort: sort, filterQuery: filterQuery, displayFields: displayFields });
297
304
  };
298
305
  ExclusionsListComponent.prototype.listExclusions = function (params) {
@@ -342,7 +349,8 @@ var ExclusionsListComponent = /** @class */ (function () {
342
349
  { type: ChangeDetectorRef },
343
350
  { type: LogicalDeleteService },
344
351
  { type: FilterService },
345
- { type: LogicalDeleteConfigService }
352
+ { type: LogicalDeleteConfigService },
353
+ { type: ChangeDetectorRef }
346
354
  ]; };
347
355
  __decorate([
348
356
  ViewChild("exclusionsTable")
@@ -352,11 +360,11 @@ var ExclusionsListComponent = /** @class */ (function () {
352
360
  ], ExclusionsListComponent.prototype, "exclusionDetailsComponent", void 0);
353
361
  ExclusionsListComponent = ExclusionsListComponent_1 = __decorate([
354
362
  Component({
355
- template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>\n",
363
+ template: "<div>\n <form [formGroup]=\"filterFormGroup\" autocomplete=\"off\">\n <p-panel\n *sLoadingState=\"showLoader\"\n styleClass=\"form-group\"\n [toggleable]=\"true\"\n [(collapsed)]=\"filtersPanelCollapsed\"\n (onAfterToggle)=\"focusInput('description')\"\n >\n <p-header>\n {{ getFiltersTitle() }}\n <s-token-list\n [tokens]=\"searchTokens\"\n (tokenRemoved)=\"onRemoveToken($event)\"\n [removableTokens]=\"true\"\n ></s-token-list>\n </p-header>\n <div>\n <s-dynamic-form\n [fields]=\"filterFields\"\n [form]=\"filterFormGroup\"\n [errorMessages]=\"{ pattern: getErrorInvalid() }\"\n ></s-dynamic-form>\n </div>\n <p-footer>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button\n id=\"filter-button\"\n class=\"ui-button\"\n type=\"submit\"\n pButton\n [label]=\"getFilterButtonTitle()\"\n (click)=\"onSearch()\"\n ></button>\n <button\n id=\"clear-button\"\n class=\"ui-button ui-button-link\"\n type=\"button\"\n pButton\n [label]=\"getClearButtonTitle()\"\n (click)=\"onClear()\"\n ></button>\n </div>\n </div>\n </p-footer>\n </p-panel>\n </form>\n <p-panel *sLoadingState=\"showLoader\">\n <p-header>\n {{ getTitle() }}\n </p-header>\n <ng-container>\n <s-empty-state\n *ngIf=\"serverError && !showLoader\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{ getErrorServerTitle() | translate }}\"\n primaryActionLabel=\"{{ 'error_server_try_again' | translate }}\"\n (primaryAction)=\"resetGrid()\"\n description=\"{{ getErrorServerDescription() | translate }}\"\n ></s-empty-state>\n\n <s-empty-state\n *ngIf=\"!showLoader && !serverError && totalRecords === 0\"\n [title]=\"getEmptyStateTitle()\"\n [showPrimaryAction]=\"false\"\n [description]=\"getEmptyStateDescription()\"\n ></s-empty-state>\n\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #exclusionsTable\n id=\"exclusionsTable\"\n [hidden]=\"totalRecords === 0 || serverError\"\n [value]=\"gridData\"\n [columns]=\"gridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"multiple\"\n [paginator]=\"true\"\n [totalRecords]=\"totalRecords\"\n [rows]=\"10\"\n sortField=\"startDate\"\n sortOrder=\"-1\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\"\n />\n </colgroup>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th *ngFor=\"let col of columns\"\n [id]=\"col.field\"\n [pSortableColumn]=\"col.field\"\n [ngStyle]=\"col.style\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">\n {{ col.header }}\n </span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"action-column\" style=\"width: 100px\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ getActionsColumnLabel() }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr [pSelectableRow]=\"rowData\">\n <s-table-columns\n [columns]=\"columns\"\n [rowValue]=\"rowData\"\n [locale]=\"locale\">\n </s-table-columns>\n <td style=\"width: 100px\">\n <s-button\n id=\"details-button\"\n priority=\"default\"\n [label]=\"getDetailsButtonTitle()\"\n [auxiliary]=\"true\"\n (onClick)=\"onClickDetails(rowData)\">\n </s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <s-table-paging\n [table]=\"exclusionsTable\"\n [totalRecords]=\"totalRecords\"\n ></s-table-paging>\n </ng-template>\n </p-table>\n </div>\n </div>\n </ng-container>\n </p-panel>\n</div>\n\n<s-exclusion-details></s-exclusion-details>\n",
356
364
  providers: []
357
365
  })
358
366
  ], ExclusionsListComponent);
359
367
  return ExclusionsListComponent;
360
368
  }());
361
369
  export { ExclusionsListComponent };
362
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJleGNsdXNpb25zLWxpc3QvZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxTQUFTLEVBR1osTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUdwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxJQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FB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QkFDZCxvQkFBb0I7Z0JBQzNCLGFBQWE7Z0JBQ1osMEJBQTBCOztJQWQvRDtRQURDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQzswREFDVDtJQUdwQjtRQURDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQzs4RUFDdUI7SUF6Qm5ELHVCQUF1QjtRQUxuQyxTQUFTLENBQUM7WUFDUCxpNE5BQStDO1lBRS9DLFNBQVMsRUFBRSxFQUFFO1NBQ2hCLENBQUM7T0FDVyx1QkFBdUIsQ0FnWG5DO0lBQUQsOEJBQUM7Q0FBQSxBQWhYRCxJQWdYQztTQWhYWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtcbiAgICBFbnVtQmFkZ2VDb2xvcnMsXG4gICAgRW51bUNvbHVtbkZpZWxkVHlwZSxcbiAgICBGaWVsZFR5cGUsXG4gICAgRm9ybUZpZWxkLFxuICAgIElUb2tlbixcbiAgICBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnNcbn0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzIH0gZnJvbSBcIi4uL2VudW1zL2VudW0tZXhjbHVzaW9uLXByb2Nlc3Mtc3RhdHVzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXNcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgTGlzdFBhcmFtcyB9IGZyb20gXCIuLi9tb2RlbHMvbGlzdC1wYXJhbXNcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4uL2V4Y2x1c2lvbi1kZXRhaWxzXCI7XG5pbXBvcnQgeyBGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2ZpbHRlci5zZXJ2aWNlXCI7XG5cbmNvbnN0IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfU1RBUlQgPSA1MDA7XG5jb25zdCBIVFRQX0NPREVfU0VSVkVSX0VSUk9SX0VORCA9IDYwMDtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiLi9leGNsdXNpb25zLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtdLFxuICAgIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSAge1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREFURV9GT1JNQVQgPSBcIllZWVktTU0tRERcIjtcblxuICAgIHB1YmxpYyBsb2NhbGUhOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnM7XG4gICAgcHVibGljIGVudGl0eU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgZW50aXR5RGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgcHJvY2Vzc0lkOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY3VycmVudExpc3RQYXJhbXM6IExpc3RQYXJhbXMgPSB7IHBhZ2U6IDAsIHNpemU6IDEwLCBzb3J0OiBbXSwgZmlsdGVyRGF0YToge30gfTtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IEV4Y2x1c2lvblByb2Nlc3NbXTtcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IGFueVtdO1xuICAgIHB1YmxpYyBzaG93TG9hZGVyID0gZmFsc2U7XG4gICAgcHVibGljIHRvdGFsUmVjb3JkcyA9IDA7XG5cbiAgICBwdWJsaWMgZmlsdGVyRmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICBwdWJsaWMgZmlsdGVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGZpbHRlcnNQYW5lbENvbGxhcHNlZCA9IHRydWU7XG4gICAgcHVibGljIHNlYXJjaFRva2VuczogSVRva2VuW10gPSBbXTtcbiAgICBwdWJsaWMgc2VydmVyRXJyb3IgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoXCJleGNsdXNpb25zVGFibGVcIilcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlO1xuXG4gICAgQFZpZXdDaGlsZChFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50KVxuICAgIHB1YmxpYyBleGNsdXNpb25EZXRhaWxzQ29tcG9uZW50OiBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2dpY2FsRGVsZXRlU2VydmljZTogTG9naWNhbERlbGV0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwID0gdGhpcy5nZXRGb3JtQnVpbGRlcigpO1xuICAgICAgICB0aGlzLmZpbHRlckZpZWxkcyA9IHRoaXMuZ2V0RmlsdGVyRmllbGRzKCk7XG4gICAgICAgIHRoaXMuZ3JpZENvbHVtbnMgPSB0aGlzLmdldEdyaWRDb2x1bW5zKCk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHsgW2NvbmZpZ3M6IHN0cmluZ106IGFueSwgbG9jYWxlQ29uZmlnOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXNcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocGFyYW1zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVudGl0eU5hbWUgPSBwYXJhbXMuZW50aXR5TmFtZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dCYXNlZE9uUm91dGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHF1ZXJ5UGFyYW1zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVudGl0eURlc2NyaXB0aW9uID0gcXVlcnlQYXJhbXMuZW50aXR5RGVzY3JpcHRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzSWQgPSBxdWVyeVBhcmFtcy5wcm9jZXNzSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93QmFzZWRPblJvdXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dCYXNlZE9uUm91dGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmVudGl0eU5hbWUgJiYgdGhpcy5lbnRpdHlEZXNjcmlwdGlvbiAmJiB0aGlzLnByb2Nlc3NJZCkge1xuICAgICAgICAgICAgdGhpcy5leGNsdXNpb25EZXRhaWxzQ29tcG9uZW50LnNob3dEZXRhaWxzKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHRoaXMucHJvY2Vzc0lkLFxuICAgICAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLmVudGl0eURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGVudGl0eU5hbWU6IHRoaXMuZW50aXR5TmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybUJ1aWxkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIHN0YXR1czogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXG4gICAgICAgICAgICBzdGFydERhdGU6IFt7IHZhbHVlOiB1bmRlZmluZWQsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIGVuZERhdGU6IFt7IHZhbHVlOiB1bmRlZmluZWQsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyaWRDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZGVzY3JpcHRpb25gKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIzMDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGF0dXNcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5FTlVNLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfYCxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuUkVEXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuWUVMTE9XXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUFJPQ0VTU0lORyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuQkxVRVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkdSRUVOXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXJ0RGF0ZVwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGFydGApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuREFURSxcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0OiBcIkREL01NL1lZWVkgSEg6bW1cIixcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJmaW5pc2hEYXRlXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZmluaXNoRGF0ZVwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkRBVEUsXG4gICAgICAgICAgICAgICAgZGF0ZUZvcm1hdDogXCJERC9NTS9ZWVlZIEhIOm1tXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlckZpZWxkcygpIHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25QcmVmaXggPSB0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9kZXNjcmlwdGlvbmApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19lcnJvcmApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLkVSUk9SXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19wZW5kaW5nYCksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElOR1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfcHJvY2Vzc2luZ2ApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBST0NFU1NJTkdcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX3N1Y2Nlc3NgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5EYXRlLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhcnREYXRlXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX3N0YXJ0YClcbiAgICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRGF0ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBcImVuZERhdGVcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfZmluaXNoYClcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFbXB0eVN0YXRlRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW1wdHlfc3RhdGVfZGVzY3JpcHRpb25gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfbGlzdF90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREZXRhaWxzQnV0dG9uVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZGV0YWlsc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaWx0ZXJzVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZmlsdGVyc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaWx0ZXJCdXR0b25UaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5maWx0ZXJgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xlYXJCdXR0b25UaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5jbGVhcmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvckludmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZXJyb3JfaW52YWxpZGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvclNlcnZlclRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmVycm9yX3NlcnZlcl90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvclNlcnZlckRlc2NyaXB0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmVycm9yX3NlcnZlcl9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zQ29sdW1uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uYWN0aW9uc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlYXJjaCgpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyc1BhbmVsQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsZWFyKCkge1xuICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJlbW92ZVRva2VuKHRva2VuOiBJVG9rZW4pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KHRva2VuLmlkKS5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkdyaWRDaGFuZ2UoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhID8gZXZlbnQubXVsdGlTb3J0TWV0YSA6IFtdO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlclRva2VucygpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBcIlwiICYmIGZpbHRlckRhdGFbbmFtZV0gIT09IG51bGwpXG4gICAgICAgICAgICAubWFwKGZvcm1GaWVsZCA9PiB0aGlzLmZpbHRlclNlcnZpY2UuY3JlYXRlRmlsdGVyVG9rZW5zKGZvcm1GaWVsZCwgZmlsdGVyRGF0YVtmb3JtRmllbGQubmFtZV0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlclF1ZXJ5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyRGF0YSB9ID0gdGhpcy5jdXJyZW50TGlzdFBhcmFtcztcbiAgICAgICAgY29uc3QgZGF0ZUZpZWxkcyA9IFtcInN0YXJ0RGF0ZVwiLCBcImVuZERhdGVcIl07XG5cbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gdGhpcy5maWx0ZXJGaWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiAhZGF0ZUZpZWxkcy5pbmNsdWRlcyhuYW1lKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gXCJcIiAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBudWxsKVxuICAgICAgICAgICAgLm1hcChmb3JtRmllbGQgPT4gdGhpcy5maWx0ZXJTZXJ2aWNlLmNyZWF0ZUZpbHRlclN0cmluZyhmb3JtRmllbGQsIGZpbHRlckRhdGFbZm9ybUZpZWxkLm5hbWVdKSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIik7XG5cbiAgICAgICAgbGV0IGRhdGVRdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAoZmlsdGVyRGF0YS5zdGFydERhdGUgJiYgZmlsdGVyRGF0YS5lbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5zdGFydERhdGUpLmZvcm1hdChFeGNsdXNpb25zTGlzdENvbXBvbmVudC5EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KGZpbHRlckRhdGEuZW5kRGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGRhdGVRdWVyeSA9IGBzdGFydERhdGUgYmV0d2VlbiAnJHtzdGFydERhdGV9VDAwOjAwOjAwWicgYW5kICcke2VuZERhdGV9VDIzOjU5OjU5WidgO1xuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlckRhdGEuc3RhcnREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5zdGFydERhdGUpLmZvcm1hdChFeGNsdXNpb25zTGlzdENvbXBvbmVudC5EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICBkYXRlUXVlcnkgPSBgc3RhcnREYXRlID49ICcke3N0YXJ0RGF0ZX1UMDA6MDA6MDBaJ2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyRGF0YS5lbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KGZpbHRlckRhdGEuZW5kRGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGRhdGVRdWVyeSA9IGBmaW5pc2hEYXRlIDw9ICcke2VuZERhdGV9VDIzOjU5OjU5WidgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTsOjbyDDqSBuZWNlc3PDoXJpbyBuZW5odW1hIGNvbmRpw6fDo28gYSBtYWlzIG5vIGZpbHRyby5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRlUXVlcnkpIHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ICs9IGZpbHRlclF1ZXJ5ID8gYCBhbmQgJHtkYXRlUXVlcnl9YCA6IGRhdGVRdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJRdWVyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplLCBzb3J0IH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoVG9rZW5zID0gdGhpcy5nZXRGaWx0ZXJUb2tlbnMoKTtcbiAgICAgICAgY29uc3QgZmlsdGVyUXVlcnkgPSB0aGlzLmdldEZpbHRlclF1ZXJ5KCk7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlGaWVsZHMgPSBbXG4gICAgICAgICAgICBcInJlY29yZElkXCIsXG4gICAgICAgICAgICAuLi50aGlzLmdyaWRDb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLmZpZWxkKVxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMubGlzdEV4Y2x1c2lvbnMoeyBwYWdlLCBzaXplLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGlzdEV4Y2x1c2lvbnMocGFyYW1zOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXJ2ZXJFcnJvciA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0RXhjbHVzaW9ucyh0aGlzLmVudGl0eU5hbWUsIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID49IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfU1RBUlQgJiYgZXJyLnN0YXR1cyA8IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfRU5EKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5zaG93TG9hZGVyID0gZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gbGlzdC5jb250ZW50cztcbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0lucHV0KGVsZW1lbnRJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke2VsZW1lbnRJZH1gKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldEdyaWQobGlzdFBhcmFtcz86IExpc3RQYXJhbXMpIHtcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCBwYWdlOiAwLCBzb3J0OiBbXSB9O1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2tEZXRhaWxzKHJvd0RhdGE6IEV4Y2x1c2lvblByb2Nlc3MpIHtcbiAgICAgICAgdGhpcy5leGNsdXNpb25EZXRhaWxzQ29tcG9uZW50LnNob3dEZXRhaWxzKHtcbiAgICAgICAgICAgIHByb2Nlc3NJZDogcm93RGF0YS5pZCxcbiAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLmVudGl0eURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
370
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJleGNsdXNpb25zLWxpc3QvZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsU0FBUyxFQUdaLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsSUFBTSw0QkFBNEIsR0FB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UyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDekMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7O0lBdlh1QixtQ0FBVyxHQUFHLFlBQVksQ0FBQzs7Z0JBNEJ2QixjQUFjO2dCQUNWLGdCQUFnQjtnQkFDZCxXQUFXO2dCQUNMLGlCQUFpQjtnQkFDZCxvQkFBb0I7Z0JBQzNCLGFBQWE7Z0JBQ1osMEJBQTBCO2dCQUNyQyxpQkFBaUI7O0lBZjNDO1FBREMsU0FBUyxDQUFDLGlCQUFpQixDQUFDOzBEQUNUO0lBR3BCO1FBREMsU0FBUyxDQUFDLHlCQUF5QixDQUFDOzhFQUN1QjtJQXpCbkQsdUJBQXVCO1FBTG5DLFNBQVMsQ0FBQztZQUNQLDQ5TkFBK0M7WUFFL0MsU0FBUyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztPQUNXLHVCQUF1QixDQTBYbkM7SUFBRCw4QkFBQztDQUFBLEFBMVhELElBMFhDO1NBMVhZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge1xuICAgIEVudW1CYWRnZUNvbG9ycyxcbiAgICBFbnVtQ29sdW1uRmllbGRUeXBlLFxuICAgIEZpZWxkVHlwZSxcbiAgICBGb3JtRmllbGQsXG4gICAgSVRva2VuLFxuICAgIFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9uc1xufSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMgfSBmcm9tIFwiLi4vZW51bXMvZW51bS1leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3MgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uL21vZGVscy9saXN0LXBhcmFtc1wiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQgfSBmcm9tIFwiLi4vZXhjbHVzaW9uLWRldGFpbHNcIjtcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZmlsdGVyLnNlcnZpY2VcIjtcblxuY29uc3QgSFRUUF9DT0RFX1NFUlZFUl9FUlJPUl9TVEFSVCA9IDUwMDtcbmNvbnN0IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfRU5EID0gNjAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V4Y2x1c2lvbnMtbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW10sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0ICB7XG5cbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBEQVRFX0ZPUk1BVCA9IFwiWVlZWS1NTS1ERFwiO1xuXG4gICAgcHVibGljIGxvY2FsZSE6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucztcbiAgICBwdWJsaWMgZW50aXR5TmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBlbnRpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm9jZXNzSWQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBjdXJyZW50TGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHsgcGFnZTogMCwgc2l6ZTogMTAsIHNvcnQ6IFtdLCBmaWx0ZXJEYXRhOiB7fSB9O1xuICAgIHB1YmxpYyBncmlkRGF0YTogRXhjbHVzaW9uUHJvY2Vzc1tdO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55W107XG4gICAgcHVibGljIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzID0gMDtcblxuICAgIHB1YmxpYyBmaWx0ZXJGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBmaWx0ZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgZmlsdGVyc1BhbmVsQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICBwdWJsaWMgc2VhcmNoVG9rZW5zOiBJVG9rZW5bXSA9IFtdO1xuICAgIHB1YmxpYyBzZXJ2ZXJFcnJvciA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChcImV4Y2x1c2lvbnNUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQpXG4gICAgcHVibGljIGV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQ6IEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2ljYWxEZWxldGVTZXJ2aWNlOiBMb2dpY2FsRGVsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2plY3RDb25maWdzOiBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmdldEZvcm1CdWlsZGVyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyRmllbGRzID0gdGhpcy5nZXRGaWx0ZXJGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcblxuICAgICAgICB0aGlzLnJvdXRlLmRhdGFcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogeyBbY29uZmlnczogc3RyaW5nXTogYW55LCBsb2NhbGVDb25maWc6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSBkYXRhLmxvY2FsZUNvbmZpZztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHF1ZXJ5UGFyYW1zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVudGl0eU5hbWUgPSBxdWVyeVBhcmFtcy5lbnRpdHlOYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXR5RGVzY3JpcHRpb24gPSBxdWVyeVBhcmFtcy5lbnRpdHlEZXNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NJZCA9IHF1ZXJ5UGFyYW1zLnByb2Nlc3NJZDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVudGl0eU5hbWUgJiYgdGhpcy5lbnRpdHlEZXNjcmlwdGlvbiAmJiB0aGlzLnByb2Nlc3NJZCkge1xuICAgICAgICAgICAgdGhpcy5leGNsdXNpb25EZXRhaWxzQ29tcG9uZW50LnNob3dEZXRhaWxzKHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWQ6IHRoaXMucHJvY2Vzc0lkLFxuICAgICAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLmVudGl0eURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGVudGl0eU5hbWU6IHRoaXMuZW50aXR5TmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybUJ1aWxkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIHN0YXR1czogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXG4gICAgICAgICAgICBzdGFydERhdGU6IFt7IHZhbHVlOiB1bmRlZmluZWQsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIGVuZERhdGU6IFt7IHZhbHVlOiB1bmRlZmluZWQsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyaWRDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZGVzY3JpcHRpb25gKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIzMDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGF0dXNcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5FTlVNLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfYCxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0b29sdGlwOiB0aGlzLmdldENvbHVtblN0YXR1c1Rvb2x0aXAsXG4gICAgICAgICAgICAgICAgYmFkZ2VDb25maWdzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuRVJST1IsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLlJFRFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBFTkRJTkcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLllFTExPV1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBST0NFU1NJTkcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkJMVUVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5HUkVFTlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGFydERhdGVcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGFydERhdGVcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhcnRgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkRBVEUsXG4gICAgICAgICAgICAgICAgZGF0ZUZvcm1hdDogXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZmluaXNoRGF0ZVwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcImZpbmlzaERhdGVcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZmluaXNoYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5EQVRFLFxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ6IFwiREQvTU0vWVlZWSBISDptbTpzc1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5TdGF0dXNUb29sdGlwKHJvd1ZhbHVlOiBFeGNsdXNpb25Qcm9jZXNzKSB7XG4gICAgICAgIGlmIChyb3dWYWx1ZS5lcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dWYWx1ZS5lcnJvck1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlckZpZWxkcygpIHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25QcmVmaXggPSB0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9kZXNjcmlwdGlvbmApXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19lcnJvcmApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLkVSUk9SXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RyYW5zbGF0aW9uUHJlZml4fS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19wZW5kaW5nYCksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElOR1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfcHJvY2Vzc2luZ2ApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBST0NFU1NJTkdcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX3N1Y2Nlc3NgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5EYXRlLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwic3RhcnREYXRlXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dHJhbnNsYXRpb25QcmVmaXh9LmxvZ2ljYWxfZGVsZXRlX3N0YXJ0YClcbiAgICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuRGF0ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBcImVuZERhdGVcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0cmFuc2xhdGlvblByZWZpeH0ubG9naWNhbF9kZWxldGVfZmluaXNoYClcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFbXB0eVN0YXRlRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW1wdHlfc3RhdGVfZGVzY3JpcHRpb25gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfbGlzdF90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREZXRhaWxzQnV0dG9uVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZGV0YWlsc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaWx0ZXJzVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZmlsdGVyc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaWx0ZXJCdXR0b25UaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5maWx0ZXJgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xlYXJCdXR0b25UaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5jbGVhcmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvckludmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uZXJyb3JfaW52YWxpZGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvclNlcnZlclRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmVycm9yX3NlcnZlcl90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvclNlcnZlckRlc2NyaXB0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmVycm9yX3NlcnZlcl9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zQ29sdW1uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0uYWN0aW9uc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlYXJjaCgpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyc1BhbmVsQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsZWFyKCkge1xuICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJlbW92ZVRva2VuKHRva2VuOiBJVG9rZW4pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KHRva2VuLmlkKS5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkdyaWRDaGFuZ2UoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhID8gZXZlbnQubXVsdGlTb3J0TWV0YSA6IFtdO1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlclRva2VucygpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT09IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBcIlwiICYmIGZpbHRlckRhdGFbbmFtZV0gIT09IG51bGwpXG4gICAgICAgICAgICAubWFwKGZvcm1GaWVsZCA9PiB0aGlzLmZpbHRlclNlcnZpY2UuY3JlYXRlRmlsdGVyVG9rZW5zKGZvcm1GaWVsZCwgZmlsdGVyRGF0YVtmb3JtRmllbGQubmFtZV0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbHRlclF1ZXJ5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyRGF0YSB9ID0gdGhpcy5jdXJyZW50TGlzdFBhcmFtcztcbiAgICAgICAgY29uc3QgZGF0ZUZpZWxkcyA9IFtcInN0YXJ0RGF0ZVwiLCBcImVuZERhdGVcIl07XG5cbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gdGhpcy5maWx0ZXJGaWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiAhZGF0ZUZpZWxkcy5pbmNsdWRlcyhuYW1lKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gXCJcIiAmJiBmaWx0ZXJEYXRhW25hbWVdICE9PSBudWxsKVxuICAgICAgICAgICAgLm1hcChmb3JtRmllbGQgPT4gdGhpcy5maWx0ZXJTZXJ2aWNlLmNyZWF0ZUZpbHRlclN0cmluZyhmb3JtRmllbGQsIGZpbHRlckRhdGFbZm9ybUZpZWxkLm5hbWVdKSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIik7XG5cbiAgICAgICAgbGV0IGRhdGVRdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAoZmlsdGVyRGF0YS5zdGFydERhdGUgJiYgZmlsdGVyRGF0YS5lbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5zdGFydERhdGUpLmZvcm1hdChFeGNsdXNpb25zTGlzdENvbXBvbmVudC5EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KGZpbHRlckRhdGEuZW5kRGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGRhdGVRdWVyeSA9IGBzdGFydERhdGUgYmV0d2VlbiAnJHtzdGFydERhdGV9VDAwOjAwOjAwWicgYW5kICcke2VuZERhdGV9VDIzOjU5OjU5WidgO1xuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlckRhdGEuc3RhcnREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQoZmlsdGVyRGF0YS5zdGFydERhdGUpLmZvcm1hdChFeGNsdXNpb25zTGlzdENvbXBvbmVudC5EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICBkYXRlUXVlcnkgPSBgc3RhcnREYXRlID49ICcke3N0YXJ0RGF0ZX1UMDA6MDA6MDBaJ2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyRGF0YS5lbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KGZpbHRlckRhdGEuZW5kRGF0ZSkuZm9ybWF0KEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50LkRBVEVfRk9STUFUKTtcbiAgICAgICAgICAgIGRhdGVRdWVyeSA9IGBmaW5pc2hEYXRlIDw9ICcke2VuZERhdGV9VDIzOjU5OjU5WidgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTsOjbyDDqSBuZWNlc3PDoXJpbyBuZW5odW1hIGNvbmRpw6fDo28gYSBtYWlzIG5vIGZpbHRyby5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRlUXVlcnkpIHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ICs9IGZpbHRlclF1ZXJ5ID8gYCBhbmQgJHtkYXRlUXVlcnl9YCA6IGRhdGVRdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJRdWVyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplLCBzb3J0IH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoVG9rZW5zID0gdGhpcy5nZXRGaWx0ZXJUb2tlbnMoKTtcbiAgICAgICAgY29uc3QgZmlsdGVyUXVlcnkgPSB0aGlzLmdldEZpbHRlclF1ZXJ5KCk7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlGaWVsZHMgPSBbXG4gICAgICAgICAgICBcInJlY29yZElkXCIsXG4gICAgICAgICAgICBcImVycm9yTWVzc2FnZVwiLFxuICAgICAgICAgICAgLi4udGhpcy5ncmlkQ29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5maWVsZClcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoIXNvcnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBzb3J0LnB1c2goeyBmaWVsZDogJ3N0YXJ0RGF0ZScsIG9yZGVyOiAtMSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGlzdEV4Y2x1c2lvbnMoeyBwYWdlLCBzaXplLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGlzdEV4Y2x1c2lvbnMocGFyYW1zOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXJ2ZXJFcnJvciA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0RXhjbHVzaW9ucyh0aGlzLmVudGl0eU5hbWUsIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID49IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfU1RBUlQgJiYgZXJyLnN0YXR1cyA8IEhUVFBfQ09ERV9TRVJWRVJfRVJST1JfRU5EKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5zaG93TG9hZGVyID0gZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gbGlzdC5jb250ZW50cztcbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0lucHV0KGVsZW1lbnRJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke2VsZW1lbnRJZH1gKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldEdyaWQobGlzdFBhcmFtcz86IExpc3RQYXJhbXMpIHtcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCBwYWdlOiAwLCBzb3J0OiBbXSB9O1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2tEZXRhaWxzKHJvd0RhdGE6IEV4Y2x1c2lvblByb2Nlc3MpIHtcbiAgICAgICAgdGhpcy5leGNsdXNpb25EZXRhaWxzQ29tcG9uZW50LnNob3dEZXRhaWxzKHtcbiAgICAgICAgICAgIHByb2Nlc3NJZDogcm93RGF0YS5pZCxcbiAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLmVudGl0eURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -93,7 +93,7 @@ export var routes = [
93
93
  },
94
94
  children: [
95
95
  {
96
- path: ":entityName",
96
+ path: "",
97
97
  component: ExclusionsListComponent
98
98
  }
99
99
  ]
@@ -124,4 +124,4 @@ var ExclusionsListFeatureRouting = /** @class */ (function () {
124
124
  return ExclusionsListFeatureRouting;
125
125
  }());
126
126
  export { ExclusionsListFeatureRouting };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LnJvdXRpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvZXhjbHVzaW9uLXByb2Nlc3MtY29tcG9uZW50LyIsInNvdXJjZXMiOlsiZXhjbHVzaW9ucy1saXN0L2V4Y2x1c2lvbnMtbGlzdC5yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHdkY7SUFBQTtJQUlBLENBQUM7SUFIVSx1REFBVyxHQUFsQjtRQUNJLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFIUSxpQ0FBaUM7UUFEN0MsVUFBVSxFQUFFO09BQ0EsaUNBQWlDLENBSTdDO0lBQUQsd0NBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSxpQ0FBaUM7QUFPOUM7SUFDSSx1REFDcUIsU0FBMkIsRUFDM0IsY0FBMEM7UUFEMUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQTRCO0lBQzVELENBQUM7SUFFRywrREFBTyxHQUFkO1FBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLCtCQUE0QixDQUFDLENBQUM7SUFDekcsQ0FBQzs7Z0JBTitCLGdCQUFnQjtnQkFDWCwwQkFBMEI7O0lBSHRELDZDQUE2QztRQUR6RCxVQUFVLEVBQUU7T0FDQSw2Q0FBNkMsQ0FTekQ7SUFBRCxvREFBQztDQUFBLEFBVEQsSUFTQztTQVRZLDZDQUE2QztBQVkxRDtJQUNJLHdEQUE2QixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFaEUsZ0VBQU8sR0FBZDtRQUNJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7O2dCQUpnRCxrQkFBa0I7O0lBRDFELDhDQUE4QztRQUQxRCxVQUFVLEVBQUU7T0FDQSw4Q0FBOEMsQ0FNMUQ7SUFBRCxxREFBQztDQUFBLEFBTkQsSUFNQztTQU5ZLDhDQUE4QztBQVMzRDtJQUNJLG9EQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFdEQsNERBQU8sR0FBZDtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztnQkFKMkMsYUFBYTs7SUFEaEQsMENBQTBDO1FBRHRELFVBQVUsRUFBRTtPQUNBLDBDQUEwQyxDQU10RDtJQUFELGlEQUFDO0NBQUEsQUFORCxJQU1DO1NBTlksMENBQTBDO0FBV3ZEO0lBQUE7SUFBNkIsQ0FBQztJQUFqQixjQUFjO1FBSDFCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQ0FBaUM7U0FDOUMsQ0FBQztPQUNXLGNBQWMsQ0FBRztJQUFELHFCQUFDO0NBQUEsQUFBOUIsSUFBOEI7U0FBakIsY0FBYztBQUUzQixNQUFNLENBQUMsSUFBTSxNQUFNLEdBQVc7SUFDMUI7UUFDSSxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFdBQVcsRUFBRTtZQUNULGlDQUFpQztTQUNwQztRQUNELE9BQU8sRUFBRTtZQUNMLGNBQWMsRUFBRSw4Q0FBOEM7WUFDOUQsWUFBWSxFQUFFLDBDQUEwQztZQUN4RCxVQUFVLEVBQUUsNkNBQTZDO1NBQzVEO1FBQ0QsUUFBUSxFQUFFO1lBQ047Z0JBQ0ksSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFNBQVMsRUFBRSx1QkFBdUI7YUFDckM7U0FDSjtLQUNKO0NBQ0osQ0FBQztBQW1CRjtJQUFBO0lBQTJDLENBQUM7SUFBL0IsNEJBQTRCO1FBakJ4QyxRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7YUFDaEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ0wsWUFBWTthQUNmO1lBQ0QsU0FBUyxFQUFFO2dCQUNQLGlDQUFpQztnQkFDakMsOENBQThDO2dCQUM5QywwQ0FBMEM7Z0JBQzFDLDZDQUE2QzthQUNoRDtZQUNELFlBQVksRUFBRTtnQkFDVixjQUFjO2FBQ2pCO1NBQ0osQ0FBQztPQUNXLDRCQUE0QixDQUFHO0lBQUQsbUNBQUM7Q0FBQSxBQUE1QyxJQUE0QztTQUEvQiw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0YWJsZSwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzLCBDYW5BY3RpdmF0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9wbGF0Zm9ybS1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vZXhjbHVzaW9ucy1saXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMaXN0VGl0bGVSZXNvbHZlciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2plY3RDb25maWdzOiBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIHB1YmxpYyByZXNvbHZlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfbGlzdF90aXRsZWApO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdQZXJtaXNzaW9uUmVzb2x2ZXIge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmdldCgpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMb2NhbGVSZXNvbHZlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIHJlc29sdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0KCk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5gXG59KVxuZXhwb3J0IGNsYXNzIEVtcHR5Q29tcG9uZW50IHt9XG5cbmV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAgICB7XG4gICAgICAgIHBhdGg6IFwiZXhjbHVzaW9ucy1saXN0XCIsXG4gICAgICAgIGNvbXBvbmVudDogRW1wdHlDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbXG4gICAgICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nR3VhcmRcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb2x2ZToge1xuICAgICAgICAgICAgYWxsUGVybWlzc2lvbnM6IEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdQZXJtaXNzaW9uUmVzb2x2ZXIsXG4gICAgICAgICAgICBsb2NhbGVDb25maWc6IEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMb2NhbGVSZXNvbHZlcixcbiAgICAgICAgICAgIHJvdXRlVGl0bGU6IEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMaXN0VGl0bGVSZXNvbHZlclxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhdGg6IFwiOmVudGl0eU5hbWVcIixcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcylcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUm91dGVyTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0d1YXJkLFxuICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nUGVybWlzc2lvblJlc29sdmVyLFxuICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nTG9jYWxlUmVzb2x2ZXIsXG4gICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMaXN0VGl0bGVSZXNvbHZlclxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEVtcHR5Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nIHt9XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9ucy1saXN0LnJvdXRpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvZXhjbHVzaW9uLXByb2Nlc3MtY29tcG9uZW50LyIsInNvdXJjZXMiOlsiZXhjbHVzaW9ucy1saXN0L2V4Y2x1c2lvbnMtbGlzdC5yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHdkY7SUFBQTtJQUlBLENBQUM7SUFIVSx1REFBVyxHQUFsQjtRQUNJLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFIUSxpQ0FBaUM7UUFEN0MsVUFBVSxFQUFFO09BQ0EsaUNBQWlDLENBSTdDO0lBQUQsd0NBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSxpQ0FBaUM7QUFPOUM7SUFDSSx1REFDcUIsU0FBMkIsRUFDM0IsY0FBMEM7UUFEMUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQTRCO0lBQzVELENBQUM7SUFFRywrREFBTyxHQUFkO1FBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLCtCQUE0QixDQUFDLENBQUM7SUFDekcsQ0FBQzs7Z0JBTitCLGdCQUFnQjtnQkFDWCwwQkFBMEI7O0lBSHRELDZDQUE2QztRQUR6RCxVQUFVLEVBQUU7T0FDQSw2Q0FBNkMsQ0FTekQ7SUFBRCxvREFBQztDQUFBLEFBVEQsSUFTQztTQVRZLDZDQUE2QztBQVkxRDtJQUNJLHdEQUE2QixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFaEUsZ0VBQU8sR0FBZDtRQUNJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7O2dCQUpnRCxrQkFBa0I7O0lBRDFELDhDQUE4QztRQUQxRCxVQUFVLEVBQUU7T0FDQSw4Q0FBOEMsQ0FNMUQ7SUFBRCxxREFBQztDQUFBLEFBTkQsSUFNQztTQU5ZLDhDQUE4QztBQVMzRDtJQUNJLG9EQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFdEQsNERBQU8sR0FBZDtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztnQkFKMkMsYUFBYTs7SUFEaEQsMENBQTBDO1FBRHRELFVBQVUsRUFBRTtPQUNBLDBDQUEwQyxDQU10RDtJQUFELGlEQUFDO0NBQUEsQUFORCxJQU1DO1NBTlksMENBQTBDO0FBV3ZEO0lBQUE7SUFBNkIsQ0FBQztJQUFqQixjQUFjO1FBSDFCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQ0FBaUM7U0FDOUMsQ0FBQztPQUNXLGNBQWMsQ0FBRztJQUFELHFCQUFDO0NBQUEsQUFBOUIsSUFBOEI7U0FBakIsY0FBYztBQUUzQixNQUFNLENBQUMsSUFBTSxNQUFNLEdBQVc7SUFDMUI7UUFDSSxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFdBQVcsRUFBRTtZQUNULGlDQUFpQztTQUNwQztRQUNELE9BQU8sRUFBRTtZQUNMLGNBQWMsRUFBRSw4Q0FBOEM7WUFDOUQsWUFBWSxFQUFFLDBDQUEwQztZQUN4RCxVQUFVLEVBQUUsNkNBQTZDO1NBQzVEO1FBQ0QsUUFBUSxFQUFFO1lBQ047Z0JBQ0ksSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsU0FBUyxFQUFFLHVCQUF1QjthQUNyQztTQUNKO0tBQ0o7Q0FDSixDQUFDO0FBbUJGO0lBQUE7SUFBMkMsQ0FBQztJQUEvQiw0QkFBNEI7UUFqQnhDLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzthQUNoQztZQUNELE9BQU8sRUFBRTtnQkFDTCxZQUFZO2FBQ2Y7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsaUNBQWlDO2dCQUNqQyw4Q0FBOEM7Z0JBQzlDLDBDQUEwQztnQkFDMUMsNkNBQTZDO2FBQ2hEO1lBQ0QsWUFBWSxFQUFFO2dCQUNWLGNBQWM7YUFDakI7U0FDSixDQUFDO09BQ1csNEJBQTRCLENBQUc7SUFBRCxtQ0FBQztDQUFBLEFBQTVDLElBQTRDO1NBQS9CLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RhYmxlLCBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMsIENhbkFjdGl2YXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3BsYXRmb3JtLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRXhjbHVzaW9uc0xpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9leGNsdXNpb25zLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS1jb25maWcuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0d1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xpc3RUaXRsZVJlc29sdmVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdENvbmZpZ3M6IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHJlc29sdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9saXN0X3RpdGxlYCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ1Blcm1pc3Npb25SZXNvbHZlciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZSkge31cblxuICAgIHB1YmxpYyByZXNvbHZlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuZ2V0KCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xvY2FsZVJlc29sdmVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5nZXQoKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PmBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICAgIHtcbiAgICAgICAgcGF0aDogXCJleGNsdXNpb25zLWxpc3RcIixcbiAgICAgICAgY29tcG9uZW50OiBFbXB0eUNvbXBvbmVudCxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtcbiAgICAgICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdHdWFyZFxuICAgICAgICBdLFxuICAgICAgICByZXNvbHZlOiB7XG4gICAgICAgICAgICBhbGxQZXJtaXNzaW9uczogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ1Blcm1pc3Npb25SZXNvbHZlcixcbiAgICAgICAgICAgIGxvY2FsZUNvbmZpZzogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xvY2FsZVJlc29sdmVyLFxuICAgICAgICAgICAgcm91dGVUaXRsZTogRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0xpc3RUaXRsZVJlc29sdmVyXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGF0aDogXCJcIixcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEV4Y2x1c2lvbnNMaXN0Q29tcG9uZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcylcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUm91dGVyTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRXhjbHVzaW9uc0xpc3RGZWF0dXJlUm91dGluZ0d1YXJkLFxuICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nUGVybWlzc2lvblJlc29sdmVyLFxuICAgICAgICBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nTG9jYWxlUmVzb2x2ZXIsXG4gICAgICAgIEV4Y2x1c2lvbnNMaXN0RmVhdHVyZVJvdXRpbmdMaXN0VGl0bGVSZXNvbHZlclxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEVtcHR5Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25zTGlzdEZlYXR1cmVSb3V0aW5nIHt9XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { __decorate } from "tslib";
1
+ import { __assign, __decorate } from "tslib";
2
2
  import * as moment from "moment";
3
3
  import { HttpClient, HttpParams } from "@angular/common/http";
4
4
  import { Injectable } from "@angular/core";
@@ -17,7 +17,6 @@ var LogicalDeleteService = /** @class */ (function () {
17
17
  this.projectConfigs = projectConfigs;
18
18
  var entityUrl = projectConfigs.getDomain() + "/" + projectConfigs.getService();
19
19
  this.exclusionProcessUrl = entityUrl + "/entities/exclusionProcess";
20
- this.listExclusionsUrl = entityUrl + "/entities/exclusionProcess";
21
20
  this.defaultCatch = this.defaultCatch.bind(this);
22
21
  }
23
22
  LogicalDeleteService.prototype.defaultCatch = function () {
@@ -80,6 +79,7 @@ var LogicalDeleteService = /** @class */ (function () {
80
79
  });
81
80
  };
82
81
  LogicalDeleteService.prototype.doGetProcessDetails = function (filterParams) {
82
+ var _this = this;
83
83
  return this.http.get(this.exclusionProcessUrl, { params: filterParams })
84
84
  .pipe(this.defaultCatch())
85
85
  .pipe(map(function (value) {
@@ -87,10 +87,18 @@ var LogicalDeleteService = /** @class */ (function () {
87
87
  if (!((_a = value.contents) === null || _a === void 0 ? void 0 : _a.length)) {
88
88
  return null;
89
89
  }
90
- return value.contents[0];
90
+ return _this.mapExclusionsDates(value.contents[0]);
91
91
  }));
92
92
  };
93
+ LogicalDeleteService.prototype.mapExclusionsDates = function (exclusionProcess) {
94
+ var _a;
95
+ return __assign(__assign({}, exclusionProcess), { startDate: exclusionProcess.startDate ? moment(exclusionProcess.startDate).toDate() : null, finishDate: exclusionProcess.finishDate ? moment(exclusionProcess.finishDate).toDate() : null, groups: (_a = exclusionProcess.groups) === null || _a === void 0 ? void 0 : _a.map(function (group) {
96
+ var _a;
97
+ return (__assign(__assign({}, group), { startDate: group.startDate ? moment(group.startDate).toDate() : null, finishDate: group.finishDate ? moment(group.finishDate).toDate() : null, steps: (_a = group.steps) === null || _a === void 0 ? void 0 : _a.map(function (step) { return (__assign(__assign({}, step), { startDate: step.startDate ? moment(step.startDate).toDate() : null, finishDate: step.finishDate ? moment(step.finishDate).toDate() : null })); }) }));
98
+ }) });
99
+ };
93
100
  LogicalDeleteService.prototype.listExclusions = function (entityName, params) {
101
+ var _this = this;
94
102
  if (params === void 0) { params = {}; }
95
103
  if (params.filterQuery) {
96
104
  params.filterQuery += " and lower(entityName) eq lower('" + entityName + "')";
@@ -101,14 +109,7 @@ var LogicalDeleteService = /** @class */ (function () {
101
109
  return this.http.get(this.exclusionProcessUrl, { params: this.getListQueryParams(params) })
102
110
  .pipe(this.defaultCatch())
103
111
  .pipe(map(function (value) {
104
- value.contents.forEach(function (p) {
105
- if (p.startDate) {
106
- p.startDate = moment(p.startDate).toDate();
107
- }
108
- if (p.finishDate) {
109
- p.finishDate = moment(p.finishDate).toDate();
110
- }
111
- });
112
+ value.contents = value.contents.map(_this.mapExclusionsDates);
112
113
  return value;
113
114
  }));
114
115
  };
@@ -124,4 +125,4 @@ var LogicalDeleteService = /** @class */ (function () {
124
125
  return LogicalDeleteService;
125
126
  }());
126
127
  export { LogicalDeleteService };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWNhbC1kZWxldGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHN0UsSUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkMsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFHN0I7SUFJSSw4QkFDcUIsSUFBZ0IsRUFDaEIsY0FBOEIsRUFDOUIsU0FBMkIsRUFDM0IsY0FBMEM7UUFIMUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTNELElBQU0sU0FBUyxHQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBSSxjQUFjLENBQUMsVUFBVSxFQUFJLENBQUM7UUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFNLFNBQVMsK0JBQTRCLENBQUM7UUFDcEUsSUFB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QUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2FBQ3BILElBQUksQ0FBK0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3ZELElBQUksQ0FBK0IsR0FBRyxDQUFDLFVBQUEsS0FBSztZQUN6QyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRTtvQkFDYixDQUFDLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQzlDO2dCQUVELElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRTtvQkFDZCxDQUFDLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQ2hEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQzs7Z0JBdEgwQixVQUFVO2dCQUNBLGNBQWM7Z0JBQ25CLGdCQUFnQjtnQkFDWCwwQkFBMEI7O0lBUnRELG9CQUFvQjtRQURoQyxVQUFVLEVBQUU7T0FDQSxvQkFBb0IsQ0E0SGhDO0lBQUQsMkJBQUM7Q0FBQSxBQTVIRCxJQTRIQztTQTVIWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTGlzdFJlc3VsdCwgRXhjbHVzaW9uUHJvY2VzcyB9IGZyb20gXCIuLi9tb2RlbHMvaW5kZXhcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4vbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IExpc3RQYXJhbXMgfSBmcm9tIFwiLi4vbW9kZWxzL2xpc3QtcGFyYW1zXCI7XG5cbmNvbnN0IEhUVFBfVU5BVVRIT1JJWkVEX0NPREUgPSA0MDE7XG5jb25zdCBERUZBVUxUX1BBR0VfU0laRSA9IDEwO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9naWNhbERlbGV0ZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVzaW9uUHJvY2Vzc1VybDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdEV4Y2x1c2lvbnNVcmw6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UpIHtcblxuICAgICAgICBjb25zdCBlbnRpdHlVcmwgPSBgJHtwcm9qZWN0Q29uZmlncy5nZXREb21haW4oKX0vJHtwcm9qZWN0Q29uZmlncy5nZXRTZXJ2aWNlKCl9YDtcbiAgICAgICAgdGhpcy5leGNsdXNpb25Qcm9jZXNzVXJsID0gYCR7ZW50aXR5VXJsfS9lbnRpdGllcy9leGNsdXNpb25Qcm9jZXNzYDtcbiAgICAgICAgdGhpcy5saXN0RXhjbHVzaW9uc1VybCA9IGAke2VudGl0eVVybH0vZW50aXRpZXMvZXhjbHVzaW9uUHJvY2Vzc2A7XG4gICAgICAgIHRoaXMuZGVmYXVsdENhdGNoID0gdGhpcy5kZWZhdWx0Q2F0Y2guYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVmYXVsdENhdGNoKCkge1xuICAgICAgICByZXR1cm4gY2F0Y2hFcnJvcjxhbnksIGFueT4oKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgbGV0IHN1bW1hcnkgPSBlcnIuc3RhdHVzID8gU3RyaW5nKGVyci5zdGF0dXMpIDogXCJFcnJvclwiO1xuICAgICAgICAgICAgICAgIGxldCBkZXRhaWwgPSBlcnIuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyLnN0YXR1c1RleHQgfHwgZXJyLm1lc3NhZ2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gSFRUUF9VTkFVVEhPUklaRURfQ09ERSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCk7XG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZXJyb3JfdW5hdXRob3JpemVkX3RpdGxlYCk7XG4gICAgICAgICAgICAgICAgICAgIGRldGFpbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5lcnJvcl91bmF1dGhvcml6ZWRfZGVzY3JpcHRpb25gKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDogZGV0YWlsIHx8IFwiRXJyb3JcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGlzdFF1ZXJ5UGFyYW1zKGxpc3RQYXJhbXM6IExpc3RQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgeyBwYWdlID0gMCwgc2l6ZSA9IERFRkFVTFRfUEFHRV9TSVpFLCBzb3J0ID0gW10sIGZpbHRlclF1ZXJ5ID0gXCJcIiwgZGlzcGxheUZpZWxkcyA9IFtdIH0gPSBsaXN0UGFyYW1zO1xuXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwic2l6ZVwiLCBTdHJpbmcoc2l6ZSkpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwib2Zmc2V0XCIsIFN0cmluZyhwYWdlKSk7XG5cbiAgICAgICAgaWYgKHNvcnQgJiYgc29ydC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoXG4gICAgICAgICAgICAgICAgXCJvcmRlcmJ5XCIsXG4gICAgICAgICAgICAgICAgc29ydFxuICAgICAgICAgICAgICAgICAgICAubWFwKHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMub3JkZXIgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3MuZmllbGR9IGRlc2NgO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cy5maWVsZH0gYXNjYDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCIsIFwiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcImZpbHRlclwiLCBmaWx0ZXJRdWVyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGlzcGxheUZpZWxkcyAmJiBkaXNwbGF5RmllbGRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcImRpc3BsYXlmaWVsZHNcIiwgZGlzcGxheUZpZWxkcy5qb2luKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvY2Vzc0RldGFpbHMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXhjbHVzaW9uUHJvY2Vzcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0dldFByb2Nlc3NEZXRhaWxzKHtcbiAgICAgICAgICAgIGZpbHRlcjogYGlkIGVxICcke2lkfSdgLFxuICAgICAgICAgICAgc2l6ZTogXCIxXCIsXG4gICAgICAgICAgICBvZmZzZXQ6IFwiMFwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGF0ZXN0UHJvY2Vzc0RldGFpbHMocmVjb3JkSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXhjbHVzaW9uUHJvY2Vzcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0dldFByb2Nlc3NEZXRhaWxzKHtcbiAgICAgICAgICAgIGZpbHRlcjogYHJlY29yZElkIGVxICcke3JlY29yZElkfSdgLFxuICAgICAgICAgICAgc2l6ZTogXCIxXCIsXG4gICAgICAgICAgICBvZmZzZXQ6IFwiMFwiLFxuICAgICAgICAgICAgb3JkZXJieTogXCJzdGFydERhdGUgZGVzY1wiXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZG9HZXRQcm9jZXNzRGV0YWlscyhmaWx0ZXJQYXJhbXM6IEh0dHBQYXJhbXMgfCB7XG4gICAgICAgIFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfSk6IE9ic2VydmFibGU8RXhjbHVzaW9uUHJvY2Vzcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0UmVzdWx0PEV4Y2x1c2lvblByb2Nlc3M+Pih0aGlzLmV4Y2x1c2lvblByb2Nlc3NVcmwsIHsgcGFyYW1zOiBmaWx0ZXJQYXJhbXMgfSlcbiAgICAgICAgICAgIC5waXBlPExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+KHRoaXMuZGVmYXVsdENhdGNoKCkpXG4gICAgICAgICAgICAucGlwZShtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdmFsdWUuY29udGVudHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmNvbnRlbnRzWzBdO1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0RXhjbHVzaW9ucyhlbnRpdHlOYW1lOiBzdHJpbmcsIHBhcmFtczogTGlzdFBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxMaXN0UmVzdWx0PEV4Y2x1c2lvblByb2Nlc3M+PiB7XG4gICAgICAgIGlmIChwYXJhbXMuZmlsdGVyUXVlcnkpIHtcbiAgICAgICAgICAgIHBhcmFtcy5maWx0ZXJRdWVyeSArPSBgIGFuZCBsb3dlcihlbnRpdHlOYW1lKSBlcSBsb3dlcignJHtlbnRpdHlOYW1lfScpYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtcy5maWx0ZXJRdWVyeSA9IGBsb3dlcihlbnRpdHlOYW1lKSBlcSBsb3dlcignJHtlbnRpdHlOYW1lfScpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+KHRoaXMuZXhjbHVzaW9uUHJvY2Vzc1VybCwgeyBwYXJhbXM6IHRoaXMuZ2V0TGlzdFF1ZXJ5UGFyYW1zKHBhcmFtcykgfSlcbiAgICAgICAgICAgIC5waXBlPExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+KHRoaXMuZGVmYXVsdENhdGNoKCkpXG4gICAgICAgICAgICAucGlwZTxMaXN0UmVzdWx0PEV4Y2x1c2lvblByb2Nlc3M+PihtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLmNvbnRlbnRzLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwLnN0YXJ0RGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcC5zdGFydERhdGUgPSBtb21lbnQocC5zdGFydERhdGUpLnRvRGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHAuZmluaXNoRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcC5maW5pc2hEYXRlID0gbW9tZW50KHAuZmluaXNoRGF0ZSkudG9EYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWNhbC1kZWxldGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9leGNsdXNpb24tcHJvY2Vzcy1jb21wb25lbnQvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHN0UsSUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkMsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFHN0I7SUFHSSw4QkFDcUIsSUFBZ0IsRUFDaEIsY0FBOEIsRUFDOUIsU0FBMkIsRUFDM0IsY0FBMEM7UUFIMUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTNELElBQU0sU0FBUyxHQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBSSxjQUFjLENBQUMsVUFBVSxFQUFJLENBQUM7UUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFNLFNBQVMsK0JBQTRCLENBQUM7UUFDcEUsSUFB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LElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUErQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDcEgsSUFBSSxDQUErQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDdkQsSUFBSSxDQUErQixHQUFHLENBQUMsVUFBQSxLQUFLO1lBQ3pDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDN0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7O2dCQS9IMEIsVUFBVTtnQkFDQSxjQUFjO2dCQUNuQixnQkFBZ0I7Z0JBQ1gsMEJBQTBCOztJQVB0RCxvQkFBb0I7UUFEaEMsVUFBVSxFQUFFO09BQ0Esb0JBQW9CLENBb0loQztJQUFELDJCQUFDO0NBQUEsQUFwSUQsSUFvSUM7U0FwSVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IExpc3RSZXN1bHQsIEV4Y2x1c2lvblByb2Nlc3MgfSBmcm9tIFwiLi4vbW9kZWxzL2luZGV4XCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZSB9IGZyb20gXCIuL2xvZ2ljYWwtZGVsZXRlLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uL21vZGVscy9saXN0LXBhcmFtc1wiO1xuXG5jb25zdCBIVFRQX1VOQVVUSE9SSVpFRF9DT0RFID0gNDAxO1xuY29uc3QgREVGQVVMVF9QQUdFX1NJWkUgPSAxMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ2ljYWxEZWxldGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1c2lvblByb2Nlc3NVcmw6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UpIHtcblxuICAgICAgICBjb25zdCBlbnRpdHlVcmwgPSBgJHtwcm9qZWN0Q29uZmlncy5nZXREb21haW4oKX0vJHtwcm9qZWN0Q29uZmlncy5nZXRTZXJ2aWNlKCl9YDtcbiAgICAgICAgdGhpcy5leGNsdXNpb25Qcm9jZXNzVXJsID0gYCR7ZW50aXR5VXJsfS9lbnRpdGllcy9leGNsdXNpb25Qcm9jZXNzYDtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q2F0Y2ggPSB0aGlzLmRlZmF1bHRDYXRjaC5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWZhdWx0Q2F0Y2goKSB7XG4gICAgICAgIHJldHVybiBjYXRjaEVycm9yPGFueSwgYW55PigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICBsZXQgc3VtbWFyeSA9IGVyci5zdGF0dXMgPyBTdHJpbmcoZXJyLnN0YXR1cykgOiBcIkVycm9yXCI7XG4gICAgICAgICAgICAgICAgbGV0IGRldGFpbCA9IGVyci5lcnJvcj8ubWVzc2FnZSB8fCBlcnIuc3RhdHVzVGV4dCB8fCBlcnIubWVzc2FnZTtcblxuICAgICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09PSBIVFRQX1VOQVVUSE9SSVpFRF9DT0RFKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKTtcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5lcnJvcl91bmF1dGhvcml6ZWRfdGl0bGVgKTtcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmVycm9yX3VuYXV0aG9yaXplZF9kZXNjcmlwdGlvbmApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiBkZXRhaWwgfHwgXCJFcnJvclwiXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtczogTGlzdFBhcmFtcykge1xuICAgICAgICBjb25zdCB7IHBhZ2UgPSAwLCBzaXplID0gREVGQVVMVF9QQUdFX1NJWkUsIHNvcnQgPSBbXSwgZmlsdGVyUXVlcnkgPSBcIlwiLCBkaXNwbGF5RmllbGRzID0gW10gfSA9IGxpc3RQYXJhbXM7XG5cbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoXCJzaXplXCIsIFN0cmluZyhzaXplKSk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoXCJvZmZzZXRcIiwgU3RyaW5nKHBhZ2UpKTtcblxuICAgICAgICBpZiAoc29ydCAmJiBzb3J0Lmxlbmd0aCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICBcIm9yZGVyYnlcIixcbiAgICAgICAgICAgICAgICBzb3J0XG4gICAgICAgICAgICAgICAgICAgIC5tYXAocyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocy5vcmRlciA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cy5maWVsZH0gZGVzY2A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtzLmZpZWxkfSBhc2NgO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbHRlclF1ZXJ5KSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiZmlsdGVyXCIsIGZpbHRlclF1ZXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkaXNwbGF5RmllbGRzICYmIGRpc3BsYXlGaWVsZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiZGlzcGxheWZpZWxkc1wiLCBkaXNwbGF5RmllbGRzLmpvaW4oKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcm9jZXNzRGV0YWlscyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFeGNsdXNpb25Qcm9jZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvR2V0UHJvY2Vzc0RldGFpbHMoe1xuICAgICAgICAgICAgZmlsdGVyOiBgaWQgZXEgJyR7aWR9J2AsXG4gICAgICAgICAgICBzaXplOiBcIjFcIixcbiAgICAgICAgICAgIG9mZnNldDogXCIwXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMYXRlc3RQcm9jZXNzRGV0YWlscyhyZWNvcmRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFeGNsdXNpb25Qcm9jZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvR2V0UHJvY2Vzc0RldGFpbHMoe1xuICAgICAgICAgICAgZmlsdGVyOiBgcmVjb3JkSWQgZXEgJyR7cmVjb3JkSWR9J2AsXG4gICAgICAgICAgICBzaXplOiBcIjFcIixcbiAgICAgICAgICAgIG9mZnNldDogXCIwXCIsXG4gICAgICAgICAgICBvcmRlcmJ5OiBcInN0YXJ0RGF0ZSBkZXNjXCJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb0dldFByb2Nlc3NEZXRhaWxzKGZpbHRlclBhcmFtczogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9KTogT2JzZXJ2YWJsZTxFeGNsdXNpb25Qcm9jZXNzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+KHRoaXMuZXhjbHVzaW9uUHJvY2Vzc1VybCwgeyBwYXJhbXM6IGZpbHRlclBhcmFtcyB9KVxuICAgICAgICAgICAgLnBpcGU8TGlzdFJlc3VsdDxFeGNsdXNpb25Qcm9jZXNzPj4odGhpcy5kZWZhdWx0Q2F0Y2goKSlcbiAgICAgICAgICAgIC5waXBlKG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5jb250ZW50cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tYXBFeGNsdXNpb25zRGF0ZXModmFsdWUuY29udGVudHNbMF0pO1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFwRXhjbHVzaW9uc0RhdGVzKGV4Y2x1c2lvblByb2Nlc3M6IEV4Y2x1c2lvblByb2Nlc3MpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmV4Y2x1c2lvblByb2Nlc3MsXG4gICAgICAgICAgICBzdGFydERhdGU6IGV4Y2x1c2lvblByb2Nlc3Muc3RhcnREYXRlID8gbW9tZW50KGV4Y2x1c2lvblByb2Nlc3Muc3RhcnREYXRlKS50b0RhdGUoKSA6IG51bGwsXG4gICAgICAgICAgICBmaW5pc2hEYXRlOiBleGNsdXNpb25Qcm9jZXNzLmZpbmlzaERhdGUgPyBtb21lbnQoZXhjbHVzaW9uUHJvY2Vzcy5maW5pc2hEYXRlKS50b0RhdGUoKSA6IG51bGwsXG4gICAgICAgICAgICBncm91cHM6IGV4Y2x1c2lvblByb2Nlc3MuZ3JvdXBzPy5tYXAoZ3JvdXAgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6IGdyb3VwLnN0YXJ0RGF0ZSA/IG1vbWVudChncm91cC5zdGFydERhdGUpLnRvRGF0ZSgpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBmaW5pc2hEYXRlOiBncm91cC5maW5pc2hEYXRlID8gbW9tZW50KGdyb3VwLmZpbmlzaERhdGUpLnRvRGF0ZSgpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBzdGVwczogZ3JvdXAuc3RlcHM/Lm1hcChzdGVwID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0ZXAsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTogc3RlcC5zdGFydERhdGUgPyBtb21lbnQoc3RlcC5zdGFydERhdGUpLnRvRGF0ZSgpIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZmluaXNoRGF0ZTogc3RlcC5maW5pc2hEYXRlID8gbW9tZW50KHN0ZXAuZmluaXNoRGF0ZSkudG9EYXRlKCkgOiBudWxsLFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGxpc3RFeGNsdXNpb25zKGVudGl0eU5hbWU6IHN0cmluZywgcGFyYW1zOiBMaXN0UGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+IHtcbiAgICAgICAgaWYgKHBhcmFtcy5maWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgcGFyYW1zLmZpbHRlclF1ZXJ5ICs9IGAgYW5kIGxvd2VyKGVudGl0eU5hbWUpIGVxIGxvd2VyKCcke2VudGl0eU5hbWV9JylgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLmZpbHRlclF1ZXJ5ID0gYGxvd2VyKGVudGl0eU5hbWUpIGVxIGxvd2VyKCcke2VudGl0eU5hbWV9JylgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TGlzdFJlc3VsdDxFeGNsdXNpb25Qcm9jZXNzPj4odGhpcy5leGNsdXNpb25Qcm9jZXNzVXJsLCB7IHBhcmFtczogdGhpcy5nZXRMaXN0UXVlcnlQYXJhbXMocGFyYW1zKSB9KVxuICAgICAgICAgICAgLnBpcGU8TGlzdFJlc3VsdDxFeGNsdXNpb25Qcm9jZXNzPj4odGhpcy5kZWZhdWx0Q2F0Y2goKSlcbiAgICAgICAgICAgIC5waXBlPExpc3RSZXN1bHQ8RXhjbHVzaW9uUHJvY2Vzcz4+KG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUuY29udGVudHMgPSB2YWx1ZS5jb250ZW50cy5tYXAodGhpcy5tYXBFeGNsdXNpb25zRGF0ZXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { OnInit, OnDestroy } from "@angular/core";
2
2
  import { ActivatedRoute, Router } from "@angular/router";
3
+ import { TranslateService } from "@ngx-translate/core";
3
4
  import { TableColumnLocaleOptions } from "@seniorsistemas/angular-components";
4
5
  import { ExclusionDetails } from "./protocols/exclusion-details";
5
6
  import { LogicalDeleteService } from "../services/logical-delete.service";
6
7
  import { ExclusionProcess } from "../models/index";
7
- import { TranslateService } from "@ngx-translate/core";
8
8
  import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
9
9
  import { ShowDetailsInformation } from "./protocols";
10
10
  export declare class ExclusionDetailsComponent implements OnInit, OnDestroy {
@@ -25,11 +25,15 @@ export declare class ExclusionDetailsComponent implements OnInit, OnDestroy {
25
25
  private _isLoading;
26
26
  private _processSummaryData;
27
27
  private _processSummaryColumns;
28
+ private _websocketService;
29
+ private _exclusionProcessStatusChangedSubscribe;
30
+ private _exclusionDetails;
28
31
  private readonly ngUnsubscribe;
29
32
  constructor(router: Router, route: ActivatedRoute, translate: TranslateService, logicalDeleteService: LogicalDeleteService, projectConfigs: LogicalDeleteConfigService);
30
33
  ngOnInit(): void;
31
34
  ngOnDestroy(): void;
32
35
  showDetails(details: ShowDetailsInformation): void;
36
+ onVisibilityChanged(event: any): void;
33
37
  closeDetails(): void;
34
38
  openExclusions(): void;
35
39
  getRecordDescription(): string;
@@ -47,5 +51,11 @@ export declare class ExclusionDetailsComponent implements OnInit, OnDestroy {
47
51
  private getSummaryColumns;
48
52
  private getColumnStatusTooltip;
49
53
  private loadProcessDetails;
54
+ private sortByDate;
55
+ private sortGroupsByStartDate;
56
+ private sortStepsByStartDate;
50
57
  private loadProcessSummary;
58
+ private disconnectWebSocket;
59
+ private connectWebSocket;
60
+ private startListeningWebhookEvents;
51
61
  }
@@ -0,0 +1,8 @@
1
+ import { EnumExclusionProcessStatus } from "../../enums/enum-exclusion-process-status";
2
+ export interface ExclusionProcessStatusChanged {
3
+ pid: string;
4
+ entityName: string;
5
+ description: string;
6
+ recordId: string;
7
+ status: EnumExclusionProcessStatus;
8
+ }
@@ -0,0 +1,6 @@
1
+ export interface WebsocketEventData<T> {
2
+ domain: string;
3
+ primitive: string;
4
+ service: string;
5
+ data: T;
6
+ }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, OnDestroy, OnInit } from "@angular/core";
1
+ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from "@angular/core";
2
2
  import { FormBuilder, FormGroup } from "@angular/forms";
3
3
  import { TranslateService } from "@ngx-translate/core";
4
4
  import { LazyLoadEvent } from "primeng/api";
@@ -11,7 +11,7 @@ import { ListParams } from "../models/list-params";
11
11
  import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
12
12
  import { ExclusionDetailsComponent } from "../exclusion-details";
13
13
  import { FilterService } from "../services/filter.service";
14
- export declare class ExclusionsListComponent implements OnInit, OnDestroy {
14
+ export declare class ExclusionsListComponent implements OnInit, OnDestroy, AfterViewInit {
15
15
  private readonly route;
16
16
  private readonly translate;
17
17
  private readonly formBuilder;
@@ -19,6 +19,7 @@ export declare class ExclusionsListComponent implements OnInit, OnDestroy {
19
19
  private readonly logicalDeleteService;
20
20
  private readonly filterService;
21
21
  private readonly projectConfigs;
22
+ private readonly cdr;
22
23
  private static readonly DATE_FORMAT;
23
24
  locale: TableColumnLocaleOptions;
24
25
  entityName: string;
@@ -37,12 +38,13 @@ export declare class ExclusionsListComponent implements OnInit, OnDestroy {
37
38
  table: Table;
38
39
  exclusionDetailsComponent: ExclusionDetailsComponent;
39
40
  private readonly ngUnsubscribe;
40
- constructor(route: ActivatedRoute, translate: TranslateService, formBuilder: FormBuilder, changeDetectorRef: ChangeDetectorRef, logicalDeleteService: LogicalDeleteService, filterService: FilterService, projectConfigs: LogicalDeleteConfigService);
41
+ constructor(route: ActivatedRoute, translate: TranslateService, formBuilder: FormBuilder, changeDetectorRef: ChangeDetectorRef, logicalDeleteService: LogicalDeleteService, filterService: FilterService, projectConfigs: LogicalDeleteConfigService, cdr: ChangeDetectorRef);
41
42
  ngOnInit(): void;
42
- private showBasedOnRoute;
43
+ ngAfterViewInit(): void;
43
44
  ngOnDestroy(): void;
44
45
  private getFormBuilder;
45
46
  private getGridColumns;
47
+ private getColumnStatusTooltip;
46
48
  private getFilterFields;
47
49
  getEmptyStateTitle(): any;
48
50
  getEmptyStateDescription(): any;