@netgrif/components-core 6.4.0-beta.2 → 6.4.0-beta.4

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 (42) hide show
  1. package/esm2020/assets/i18n/de.json +5 -1
  2. package/esm2020/assets/i18n/en.json +5 -1
  3. package/esm2020/assets/i18n/sk.json +5 -1
  4. package/esm2020/lib/header/abstract-header.component.mjs +22 -7
  5. package/esm2020/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.mjs +1 -10
  6. package/esm2020/lib/navigation/model/group-navigation-constants.mjs +116 -35
  7. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +152 -107
  8. package/esm2020/lib/navigation/navigation-tree/abstract-navigation-tree.component.mjs +3 -126
  9. package/esm2020/lib/navigation/service/uri.service.mjs +3 -3
  10. package/esm2020/lib/navigation/utility/filter-extraction.service.mjs +33 -9
  11. package/esm2020/lib/navigation/utility/navigation-item-task-utility-methods.mjs +38 -4
  12. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +5 -2
  13. package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.component.mjs +5 -2
  14. package/esm2020/lib/routing/routing-builder/routing-builder.service.mjs +7 -5
  15. package/esm2020/lib/side-menu/content-components/import-net/abstract-import-net.component.mjs +10 -7
  16. package/esm2020/lib/side-menu/content-components/new-case/model/new-case-injection-data.mjs +1 -1
  17. package/esm2020/lib/utility/navigation-item-default-headers-factory.mjs +22 -0
  18. package/esm2020/lib/utility/public-api.mjs +2 -1
  19. package/esm2020/lib/view/case-view/service/case-view-service.mjs +10 -7
  20. package/fesm2015/netgrif-components-core.mjs +1095 -980
  21. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  22. package/fesm2020/netgrif-components-core.mjs +1089 -976
  23. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  24. package/lib/header/abstract-header.component.d.ts +7 -2
  25. package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.d.ts +0 -1
  26. package/lib/navigation/model/group-navigation-constants.d.ts +115 -34
  27. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +38 -28
  28. package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +2 -27
  29. package/lib/navigation/utility/filter-extraction.service.d.ts +9 -2
  30. package/lib/navigation/utility/navigation-item-task-utility-methods.d.ts +16 -1
  31. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +2 -1
  32. package/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.component.d.ts +2 -1
  33. package/lib/routing/routing-builder/routing-builder.service.d.ts +2 -0
  34. package/lib/side-menu/content-components/import-net/abstract-import-net.component.d.ts +3 -1
  35. package/lib/side-menu/content-components/new-case/model/new-case-injection-data.d.ts +2 -1
  36. package/lib/utility/navigation-item-default-headers-factory.d.ts +3 -0
  37. package/lib/utility/public-api.d.ts +1 -0
  38. package/lib/view/case-view/service/case-view-service.d.ts +2 -2
  39. package/package.json +1 -1
  40. package/src/assets/i18n/de.json +5 -1
  41. package/src/assets/i18n/en.json +5 -1
  42. package/src/assets/i18n/sk.json +5 -1
@@ -4,15 +4,17 @@ import { ProgressType } from '../../../resources/resource-provider.service';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../models/side-menu-control";
6
6
  import * as i2 from "../../../resources/engine-endpoint/petri-net-resource.service";
7
- import * as i3 from "../../../logger/services/logger.service";
8
- import * as i4 from "../../../snack-bar/services/snack-bar.service";
9
- import * as i5 from "@ngx-translate/core";
7
+ import * as i3 from "../../../navigation/service/uri.service";
8
+ import * as i4 from "../../../logger/services/logger.service";
9
+ import * as i5 from "../../../snack-bar/services/snack-bar.service";
10
+ import * as i6 from "@ngx-translate/core";
10
11
  export class FileUploadModel {
11
12
  }
12
13
  export class AbstractImportNetComponent {
13
- constructor(_sideMenuControl, _petriNetResource, _log, _snackbar, _translate) {
14
+ constructor(_sideMenuControl, _petriNetResource, _uriService, _log, _snackbar, _translate) {
14
15
  this._sideMenuControl = _sideMenuControl;
15
16
  this._petriNetResource = _petriNetResource;
17
+ this._uriService = _uriService;
16
18
  this._log = _log;
17
19
  this._snackbar = _snackbar;
18
20
  this._translate = _translate;
@@ -88,6 +90,7 @@ export class AbstractImportNetComponent {
88
90
  uploadFile(file) {
89
91
  const fileFormData = new FormData();
90
92
  fileFormData.append('file', file.data);
93
+ fileFormData.append('uriNodeId', this._uriService.activeNode.id);
91
94
  fileFormData.append('meta', this.releaseTypeControl.value.toString().toUpperCase());
92
95
  file.inProgress = true;
93
96
  file.completed = false;
@@ -124,7 +127,7 @@ export class AbstractImportNetComponent {
124
127
  });
125
128
  }
126
129
  }
127
- AbstractImportNetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractImportNetComponent, deps: [{ token: i1.SideMenuControl }, { token: i2.PetriNetResourceService }, { token: i3.LoggerService }, { token: i4.SnackBarService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
130
+ AbstractImportNetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractImportNetComponent, deps: [{ token: i1.SideMenuControl }, { token: i2.PetriNetResourceService }, { token: i3.UriService }, { token: i4.LoggerService }, { token: i5.SnackBarService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
128
131
  AbstractImportNetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractImportNetComponent, selector: "ncc-abstract-import-net", ngImport: i0, template: '', isInline: true });
129
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractImportNetComponent, decorators: [{
130
133
  type: Component,
@@ -132,5 +135,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
132
135
  selector: 'ncc-abstract-import-net',
133
136
  template: ''
134
137
  }]
135
- }], ctorParameters: function () { return [{ type: i1.SideMenuControl }, { type: i2.PetriNetResourceService }, { type: i3.LoggerService }, { type: i4.SnackBarService }, { type: i5.TranslateService }]; } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW1wb3J0LW5ldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW1wb3J0LW5ldC9hYnN0cmFjdC1pbXBvcnQtbmV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFlBQVksRUFBbUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztBQU81RixNQUFNLE9BQU8sZUFBZTtDQVUzQjtBQVVELE1BQU0sT0FBZ0IsMEJBQTBCO0lBUzVDLFlBQXNCLGdCQUFpQyxFQUNqQyxpQkFBMEMsRUFDMUMsSUFBbUIsRUFDbkIsU0FBMEIsRUFDMUIsVUFBNEI7UUFKNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQWU7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFYM0MsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixpQkFBWSxHQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsdUJBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELGNBQVMsR0FBeUIsU0FBUyxDQUFDO0lBUXRELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFx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QUFDO2FBQ047UUFDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDUCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUM1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLElBQUksS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3dIQWpJaUIsMEJBQTBCOzRHQUExQiwwQkFBMEIsK0RBRmxDLEVBQUU7NEZBRU0sMEJBQTBCO2tCQUovQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTaWRlTWVudUNvbnRyb2x9IGZyb20gJy4uLy4uL21vZGVscy9zaWRlLW1lbnUtY29udHJvbCc7XG5pbXBvcnQge1BldHJpTmV0UmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3BldHJpLW5ldC1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtQcm9ncmVzc1R5cGUsIFByb3ZpZGVyUHJvZ3Jlc3N9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9yZXNvdXJjZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtGaWxlVXBsb2FkRGF0YU1vZGVsfSBmcm9tICcuLi8uLi8uLi9kYXRhLWZpZWxkcy9maWxlLWZpZWxkL21vZGVscy9maWxlLWZpZWxkJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1BldHJpTmV0RXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy9wZXRyaW5ldC1vdXRjb21lcy9wZXRyaS1uZXQtZXZlbnQtb3V0Y29tZSc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kZWwge1xuICAgIHN0cmluZ0lkOiBzdHJpbmc7XG4gICAgZGF0YTogRmlsZSB8IEZpbGVVcGxvYWREYXRhTW9kZWw7XG4gICAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgICBwcm9ncmVzczogbnVtYmVyO1xuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBlcnJvcj86IGJvb2xlYW47XG4gICAgdXBsb2FkZWQ/OiBib29sZWFuO1xuICAgIGRvd25sb2FkaW5nOiBib29sZWFuO1xuICAgIHN1Yj86IFN1YnNjcmlwdGlvbjtcbn1cblxuaW50ZXJmYWNlIEZpbGVMaXN0IHtcbiAgICBba2V5OiBzdHJpbmddOiBGaWxlVXBsb2FkTW9kZWw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWltcG9ydC1uZXQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEltcG9ydE5ldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHVibGljIGZpbGVzOiBGaWxlTGlzdCA9IHt9O1xuICAgIHB1YmxpYyByZWxlYXNlVHlwZXM6IEFycmF5PHN0cmluZz4gPSBbJ01ham9yJywgJ01pbm9yJywgJ1BhdGNoJ107XG4gICAgcHVibGljIHJlbGVhc2VUeXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbGVhc2VUeXBlc1swXSk7XG5cbiAgICBwcm90ZWN0ZWQgX3Jlc3BvbnNlOiBQZXRyaU5ldEV2ZW50T3V0Y29tZSA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2ZpbGVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wZXRyaU5ldFJlc291cmNlOiBQZXRyaU5ldFJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaWRlbWVudS1maWxlVXBsb2FkJykgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgdGhpcy5fZmlsZUlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWxlSW5kZXggb2YgQXJyYXkuZnJvbShBcnJheSh0aGlzLl9maWxlSW5wdXQuZmlsZXMubGVuZ3RoKS5rZXlzKCkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuX2ZpbGVJbnB1dC5maWxlc1tmaWxlSW5kZXhdO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzW2ZpbGUubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga25vd25GaWxlID0gdGhpcy5maWxlc1tmaWxlLm5hbWVdLmRhdGEgYXMgRmlsZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtub3duRmlsZS50eXBlICE9PSBmaWxlLnR5cGUgfHwga25vd25GaWxlLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNbZmlsZS5uYW1lXSA9IHRoaXMuc2V0dXBGaWxlKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlc1tmaWxlLm5hbWVdID0gdGhpcy5zZXR1cEZpbGUoZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlcygpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBmaWxlTGlzdCgpOiBBcnJheTxGaWxlVXBsb2FkTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5maWxlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGlzQWxsRmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZmlsZXMpLmV2ZXJ5KGZpbGUgPT4gIWZpbGUuaW5Qcm9ncmVzcyAmJiBmaWxlLnByb2dyZXNzID09PSAxMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblByb2Nlc3NGaWxlQ2hvc2VuKCkge1xuICAgICAgICBpZiAodGhpcy5fZmlsZUlucHV0KSB7XG4gICAgICAgICAgICB0aGlzLl9maWxlSW5wdXQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjYW5jZWxGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBmaWxlLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnJlbW92ZUZpbGUoZmlsZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJldHJ5RmlsZShmaWxlOiBGaWxlVXBsb2FkTW9kZWwpIHtcbiAgICAgICAgdGhpcy51cGxvYWRGaWxlKGZpbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLmNsb3NlKHtcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiAnQWxsIHByb2Nlc3MgZmlsZXMgd2VyZSBwcm9jZXNzZWQnLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5fcmVzcG9uc2UgPyB7IG5ldDogdGhpcy5fcmVzcG9uc2UubmV0IH0gOiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldHVwRmlsZShmaWxlOiBGaWxlKTogRmlsZVVwbG9hZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IGZpbGUsIHN0cmluZ0lkOiAnJywgZG93bmxvYWRpbmc6IGZhbHNlLCBpblByb2dyZXNzOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGNvbXBsZXRlZDogZmFsc2UsIHVwbG9hZGVkOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRGaWxlcygpIHtcbiAgICAgICAgdGhpcy5fZmlsZUlucHV0LnZhbHVlID0gJyc7XG5cbiAgICAgICAgdGhpcy5maWxlTGlzdC5maWx0ZXIoZmlsZU1vZGVsID0+ICFmaWxlTW9kZWwuY29tcGxldGVkICYmIGZpbGVNb2RlbC5wcm9ncmVzcyA9PT0gMCkuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZUZpbGUoZmlsZTogRmlsZVVwbG9hZE1vZGVsKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVzW2ZpbGUuZGF0YS5uYW1lXSkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuZmlsZXNbZmlsZS5kYXRhLm5hbWVdO1xuICAgICAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLnB1Ymxpc2goe1xuICAgICAgICAgICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnUHJvY2VzcyAnICsgZmlsZS5kYXRhLm5hbWUgKyAnIHdhcyBkZWxldGVkIGZyb20gdGhlIGxpc3QnLFxuICAgICAgICAgICAgICAgIGRhdGE6IGZpbGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwbG9hZEZpbGUoZmlsZTogRmlsZVVwbG9hZE1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGZpbGVGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmaWxlRm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZS5kYXRhIGFzIEZpbGUpO1xuICAgICAgICBmaWxlRm9ybURhdGEuYXBwZW5kKCdtZXRhJywgdGhpcy5yZWxlYXNlVHlwZUNvbnRyb2wudmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpKTtcblxuICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICBmaWxlLmVycm9yID0gZmFsc2U7XG4gICAgICAgIGZpbGUuc3ViID0gdGhpcy5fcGV0cmlOZXRSZXNvdXJjZS5pbXBvcnRQZXRyaU5ldChmaWxlRm9ybURhdGEpLnN1YnNjcmliZSgocmVzcG9uc2U6IEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgaWYgKChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS50eXBlICYmIChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS50eXBlID09PSBQcm9ncmVzc1R5cGUuVVBMT0FEKSB7XG4gICAgICAgICAgICAgICAgZmlsZS5wcm9ncmVzcyA9IChyZXNwb25zZSBhcyBQcm92aWRlclByb2dyZXNzKS5wcm9ncmVzcztcbiAgICAgICAgICAgICAgICBpZiAoZmlsZS5wcm9ncmVzcyA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGUudXBsb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmluZm8ocmVzcG9uc2Uuc3VjY2Vzcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2UgPSByZXNwb25zZS5vdXRjb21lIGFzIFBldHJpTmV0RXZlbnRPdXRjb21lO1xuICAgICAgICAgICAgICAgIGZpbGUuaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGZpbGUuY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuU3VjY2Vzc1NuYWNrQmFyKHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3dvcmtmbG93LnNuYWNrQmFyLnVwbG9hZFN1Y2Nlc3MnKVxuICAgICAgICAgICAgICAgICAgICA6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2lkZU1lbnVDb250cm9sLnB1Ymxpc2goe1xuICAgICAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdQcm9jZXNzICcgKyBmaWxlLmRhdGEubmFtZSArICcgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7bmV0OiAocmVzcG9uc2Uub3V0Y29tZSBhcyBQZXRyaU5ldEV2ZW50T3V0Y29tZSkubmV0fVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpbGUuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgICAgICBmaWxlLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignSW1wb3J0aW5nIHByb2Nlc3MgZmlsZSBoYXMgZmFpbGVkIScsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5FcnJvclNuYWNrQmFyKFxuICAgICAgICAgICAgICAgIGAke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd3b3JrZmxvdy5zbmFja0Jhci51cGxvYWRGYWlsZWQnKX0gJHtlcnJvcj8uZXJyb3I/Lm1lc3NhZ2UgPz8gJyd9YCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19
138
+ }], ctorParameters: function () { return [{ type: i1.SideMenuControl }, { type: i2.PetriNetResourceService }, { type: i3.UriService }, { type: i4.LoggerService }, { type: i5.SnackBarService }, { type: i6.TranslateService }]; } });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaW1wb3J0LW5ldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW1wb3J0LW5ldC9hYnN0cmFjdC1pbXBvcnQtbmV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFlBQVksRUFBbUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7QUFRNUYsTUFBTSxPQUFPLGVBQWU7Q0FVM0I7QUFVRCxNQUFNLE9BQWdCLDBCQUEwQjtJQVM1QyxZQUFzQixnQkFBaUMsRUFDakMsaUJBQTBDLEVBQzFDLFdBQXVCLEVBQ3ZCLElBQW1CLEVBQ25CLFNBQTBCLEVBQzFCLFVBQTRCO1FBTDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtRQUMxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBWjNDLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFELHVCQUFrQixHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RCxjQUFTLEdBQXlCLFNBQVMsQ0FBQztJQVN0RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxV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d0I7d0JBQ3hELENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU87b0JBRTlCLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBRyxRQUFRLENBQUMsT0FBZ0MsQ0FBQyxHQUFHLEVBQUM7aUJBQzlELENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FDNUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3SEFuSWlCLDBCQUEwQjs0R0FBMUIsMEJBQTBCLCtEQUZsQyxFQUFFOzRGQUVNLDBCQUEwQjtrQkFKL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2lkZU1lbnVDb250cm9sfSBmcm9tICcuLi8uLi9tb2RlbHMvc2lkZS1tZW51LWNvbnRyb2wnO1xuaW1wb3J0IHtQZXRyaU5ldFJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9wZXRyaS1uZXQtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7UHJvZ3Jlc3NUeXBlLCBQcm92aWRlclByb2dyZXNzfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVVwbG9hZERhdGFNb2RlbH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1maWVsZHMvZmlsZS1maWVsZC9tb2RlbHMvZmlsZS1maWVsZCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtQZXRyaU5ldEV2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvcGV0cmluZXQtb3V0Y29tZXMvcGV0cmktbmV0LWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi9zZXJ2aWNlL3VyaS5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kZWwge1xuICAgIHN0cmluZ0lkOiBzdHJpbmc7XG4gICAgZGF0YTogRmlsZSB8IEZpbGVVcGxvYWREYXRhTW9kZWw7XG4gICAgaW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgICBwcm9ncmVzczogbnVtYmVyO1xuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBlcnJvcj86IGJvb2xlYW47XG4gICAgdXBsb2FkZWQ/OiBib29sZWFuO1xuICAgIGRvd25sb2FkaW5nOiBib29sZWFuO1xuICAgIHN1Yj86IFN1YnNjcmlwdGlvbjtcbn1cblxuaW50ZXJmYWNlIEZpbGVMaXN0IHtcbiAgICBba2V5OiBzdHJpbmddOiBGaWxlVXBsb2FkTW9kZWw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWltcG9ydC1uZXQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEltcG9ydE5ldENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHVibGljIGZpbGVzOiBGaWxlTGlzdCA9IHt9O1xuICAgIHB1YmxpYyByZWxlYXNlVHlwZXM6IEFycmF5PHN0cmluZz4gPSBbJ01ham9yJywgJ01pbm9yJywgJ1BhdGNoJ107XG4gICAgcHVibGljIHJlbGVhc2VUeXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbGVhc2VUeXBlc1swXSk7XG5cbiAgICBwcm90ZWN0ZWQgX3Jlc3BvbnNlOiBQZXRyaU5ldEV2ZW50T3V0Y29tZSA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2ZpbGVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wZXRyaU5ldFJlc291cmNlOiBQZXRyaU5ldFJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lkZW1lbnUtZmlsZVVwbG9hZCcpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZUluZGV4IG9mIEFycmF5LmZyb20oQXJyYXkodGhpcy5fZmlsZUlucHV0LmZpbGVzLmxlbmd0aCkua2V5cygpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLl9maWxlSW5wdXQuZmlsZXNbZmlsZUluZGV4XTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtub3duRmlsZSA9IHRoaXMuZmlsZXNbZmlsZS5uYW1lXS5kYXRhIGFzIEZpbGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrbm93bkZpbGUudHlwZSAhPT0gZmlsZS50eXBlIHx8IGtub3duRmlsZS5sYXN0TW9kaWZpZWQgIT09IGZpbGUubGFzdE1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzW2ZpbGUubmFtZV0gPSB0aGlzLnNldHVwRmlsZShmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNbZmlsZS5uYW1lXSA9IHRoaXMuc2V0dXBGaWxlKGZpbGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZUxpc3QoKTogQXJyYXk8RmlsZVVwbG9hZE1vZGVsPiB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBpc0FsbEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmZpbGVzKS5ldmVyeShmaWxlID0+ICFmaWxlLmluUHJvZ3Jlc3MgJiYgZmlsZS5wcm9ncmVzcyA9PT0gMTAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qcm9jZXNzRmlsZUNob3NlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5fZmlsZUlucHV0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuY2VsRmlsZShmaWxlOiBGaWxlVXBsb2FkTW9kZWwpIHtcbiAgICAgICAgZmlsZS5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVGaWxlKGZpbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXRyeUZpbGUoZmlsZTogRmlsZVVwbG9hZE1vZGVsKSB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5jbG9zZSh7XG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogJ0FsbCBwcm9jZXNzIGZpbGVzIHdlcmUgcHJvY2Vzc2VkJyxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuX3Jlc3BvbnNlID8geyBuZXQ6IHRoaXMuX3Jlc3BvbnNlLm5ldCB9IDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEZpbGUoZmlsZTogRmlsZSk6IEZpbGVVcGxvYWRNb2RlbCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhOiBmaWxlLCBzdHJpbmdJZDogJycsIGRvd25sb2FkaW5nOiBmYWxzZSwgaW5Qcm9ncmVzczogZmFsc2UsIHByb2dyZXNzOiAwLCBjb21wbGV0ZWQ6IGZhbHNlLCB1cGxvYWRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBsb2FkRmlsZXMoKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVJbnB1dC52YWx1ZSA9ICcnO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3QuZmlsdGVyKGZpbGVNb2RlbCA9PiAhZmlsZU1vZGVsLmNvbXBsZXRlZCAmJiBmaWxlTW9kZWwucHJvZ3Jlc3MgPT09IDApLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmVGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBpZiAodGhpcy5maWxlc1tmaWxlLmRhdGEubmFtZV0pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmZpbGVzW2ZpbGUuZGF0YS5uYW1lXTtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1Byb2Nlc3MgJyArIGZpbGUuZGF0YS5uYW1lICsgJyB3YXMgZGVsZXRlZCBmcm9tIHRoZSBsaXN0JyxcbiAgICAgICAgICAgICAgICBkYXRhOiBmaWxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGxvYWRGaWxlKGZpbGU6IEZpbGVVcGxvYWRNb2RlbCkge1xuICAgICAgICBjb25zdCBmaWxlRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUuZGF0YSBhcyBGaWxlKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgndXJpTm9kZUlkJywgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlLmlkKTtcbiAgICAgICAgZmlsZUZvcm1EYXRhLmFwcGVuZCgnbWV0YScsIHRoaXMucmVsZWFzZVR5cGVDb250cm9sLnZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgZmlsZS5pblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgICAgZmlsZS5jb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgZmlsZS5lcnJvciA9IGZhbHNlO1xuICAgICAgICBmaWxlLnN1YiA9IHRoaXMuX3BldHJpTmV0UmVzb3VyY2UuaW1wb3J0UGV0cmlOZXQoZmlsZUZvcm1EYXRhKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGlmICgocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykudHlwZSAmJiAocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykudHlwZSA9PT0gUHJvZ3Jlc3NUeXBlLlVQTE9BRCkge1xuICAgICAgICAgICAgICAgIGZpbGUucHJvZ3Jlc3MgPSAocmVzcG9uc2UgYXMgUHJvdmlkZXJQcm9ncmVzcykucHJvZ3Jlc3M7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUucHJvZ3Jlc3MgPT09IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICBmaWxlLnVwbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5pbmZvKHJlc3BvbnNlLnN1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNlID0gcmVzcG9uc2Uub3V0Y29tZSBhcyBQZXRyaU5ldEV2ZW50T3V0Y29tZTtcbiAgICAgICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlblN1Y2Nlc3NTbmFja0JhcihyZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd3b3JrZmxvdy5zbmFja0Jhci51cGxvYWRTdWNjZXNzJylcbiAgICAgICAgICAgICAgICAgICAgOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnUHJvY2VzcyAnICsgZmlsZS5kYXRhLm5hbWUgKyAnIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge25ldDogKHJlc3BvbnNlLm91dGNvbWUgYXMgUGV0cmlOZXRFdmVudE91dGNvbWUpLm5ldH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgZmlsZS5pblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgICAgICBmaWxlLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgZmlsZS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ0ltcG9ydGluZyBwcm9jZXNzIGZpbGUgaGFzIGZhaWxlZCEnLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuRXJyb3JTbmFja0JhcihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnd29ya2Zsb3cuc25hY2tCYXIudXBsb2FkRmFpbGVkJyl9ICR7ZXJyb3I/LmVycm9yPy5tZXNzYWdlID8/ICcnfWApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const NAE_NEW_CASE_CREATION_CONFIGURATION_DATA = new InjectionToken('NewCaseCreationConfigurationData');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbmV3LWNhc2UvbW9kZWwvbmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU03QyxNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxJQUFJLGNBQWMsQ0FBbUMsa0NBQWtDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2lkZU1lbnVJbmplY3Rpb25EYXRhfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2lkZS1tZW51LWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BldHJpTmV0UmVmZXJlbmNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3BldHJpLW5ldC1yZWZlcmVuY2UnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3Q2FzZUluamVjdGlvbkRhdGEgZXh0ZW5kcyBTaWRlTWVudUluamVjdGlvbkRhdGEge1xuICAgIGFsbG93ZWROZXRzJDogT2JzZXJ2YWJsZTxBcnJheTxQZXRyaU5ldFJlZmVyZW5jZT4+O1xufVxuXG5leHBvcnQgY29uc3QgTkFFX05FV19DQVNFX0NSRUFUSU9OX0NPTkZJR1VSQVRJT05fREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YT4oJ05ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhJyk7XG5cbi8qKlxuICogaW5qZWN0aW9uIHRva2VuIHVzZWQgZm9yIG5ldyBjYXNlIHRpdGxlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSB7XG5cbiAgICBlbmFibGVDYXNlVGl0bGU6IGJvb2xlYW47XG5cbiAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgbmV3Q2FzZUJ1dHRvbkNvbmZpZz86IE5ld0Nhc2VCdXR0b25Db25maWd1cmF0aW9uO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3Q2FzZUJ1dHRvbkNvbmZpZ3VyYXRpb24ge1xuXG4gICAgY3JlYXRlQ2FzZUJ1dHRvblRpdGxlPzogc3RyaW5nO1xuXG4gICAgY3JlYXRlQ2FzZUJ1dHRvbkljb24/OiBzdHJpbmc7XG5cbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbmV3LWNhc2UvbW9kZWwvbmV3LWNhc2UtaW5qZWN0aW9uLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU03QyxNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxJQUFJLGNBQWMsQ0FBbUMsa0NBQWtDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2lkZU1lbnVJbmplY3Rpb25EYXRhfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2lkZS1tZW51LWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BldHJpTmV0UmVmZXJlbmNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3BldHJpLW5ldC1yZWZlcmVuY2UnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3Q2FzZUluamVjdGlvbkRhdGEgZXh0ZW5kcyBTaWRlTWVudUluamVjdGlvbkRhdGEge1xuICAgIGFsbG93ZWROZXRzJDogT2JzZXJ2YWJsZTxBcnJheTxQZXRyaU5ldFJlZmVyZW5jZT4+O1xufVxuXG5leHBvcnQgY29uc3QgTkFFX05FV19DQVNFX0NSRUFUSU9OX0NPTkZJR1VSQVRJT05fREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YT4oJ05ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhJyk7XG5cbi8qKlxuICogaW5qZWN0aW9uIHRva2VuIHVzZWQgZm9yIG5ldyBjYXNlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSB7XG5cbiAgICBlbmFibGVDYXNlVGl0bGU6IGJvb2xlYW47XG5cbiAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiBib29sZWFuO1xuXG4gICAgbmV3Q2FzZUJ1dHRvbkNvbmZpZz86IE5ld0Nhc2VCdXR0b25Db25maWd1cmF0aW9uO1xuXG4gICAgYmxvY2tOZXRzPzogc3RyaW5nW107XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXdDYXNlQnV0dG9uQ29uZmlndXJhdGlvbiB7XG5cbiAgICBjcmVhdGVDYXNlQnV0dG9uVGl0bGU/OiBzdHJpbmc7XG5cbiAgICBjcmVhdGVDYXNlQnV0dG9uSWNvbj86IHN0cmluZztcblxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { extractFieldValueFromData } from "../navigation/utility/navigation-item-task-utility-methods";
2
+ import { GroupNavigationConstants } from "../navigation/model/group-navigation-constants";
3
+ export function navigationItemCaseViewDefaultHeadersFactory(navigationItemTaskData) {
4
+ return navigationItemDefaultHeadersFactory(navigationItemTaskData, GroupNavigationConstants.ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS, GroupNavigationConstants.ITEM_FIELD_ID_CASE_DEFAULT_HEADERS);
5
+ }
6
+ export function navigationItemTaskViewDefaultHeadersFactory(navigationItemTaskData) {
7
+ return navigationItemDefaultHeadersFactory(navigationItemTaskData, GroupNavigationConstants.ITEM_FIELD_ID_USE_TASK_DEFAULT_HEADERS, GroupNavigationConstants.ITEM_FIELD_ID_TASK_DEFAULT_HEADERS);
8
+ }
9
+ function navigationItemDefaultHeadersFactory(navigationItemTaskData, useFieldId, defaultHeadersFieldId) {
10
+ const isUse = extractFieldValueFromData(navigationItemTaskData, useFieldId);
11
+ if (isUse) {
12
+ const defaultHeaders = extractFieldValueFromData(navigationItemTaskData, defaultHeadersFieldId);
13
+ if (defaultHeaders === undefined || defaultHeaders === "") {
14
+ return undefined;
15
+ }
16
+ return defaultHeaders.split(',');
17
+ }
18
+ else {
19
+ return undefined;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLWRlZmF1bHQtaGVhZGVycy1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi91dGlsaXR5L25hdmlnYXRpb24taXRlbS1kZWZhdWx0LWhlYWRlcnMtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNyRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUd4RixNQUFNLFVBQVUsMkNBQTJDLENBQUMsc0JBQW1DO0lBQzNGLE9BQU8sbUNBQW1DLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUMsc0NBQXNDLEVBQUUsd0JBQXdCLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtBQUNwTSxDQUFDO0FBRUQsTUFBTSxVQUFVLDJDQUEyQyxDQUFDLHNCQUFtQztJQUMzRixPQUFPLG1DQUFtQyxDQUFDLHNCQUFzQixFQUFFLHdCQUF3QixDQUFDLHNDQUFzQyxFQUFFLHdCQUF3QixDQUFDLGtDQUFrQyxDQUFDLENBQUE7QUFDcE0sQ0FBQztBQUVELFNBQVMsbUNBQW1DLENBQUMsc0JBQW1DLEVBQUUsVUFBa0IsRUFBRSxxQkFBNkI7SUFDL0gsTUFBTSxLQUFLLEdBQUcseUJBQXlCLENBQVUsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckYsSUFBSSxLQUFLLEVBQUU7UUFDUCxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FBUyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hHLElBQUksY0FBYyxLQUFLLFNBQVMsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFO1lBQ3ZELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3BDO1NBQU07UUFDSCxPQUFPLFNBQVMsQ0FBQztLQUNwQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFHcm91cH0gZnJvbSBcIi4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHNcIjtcbmltcG9ydCB7ZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YX0gZnJvbSBcIi4uL25hdmlnYXRpb24vdXRpbGl0eS9uYXZpZ2F0aW9uLWl0ZW0tdGFzay11dGlsaXR5LW1ldGhvZHNcIjtcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tIFwiLi4vbmF2aWdhdGlvbi9tb2RlbC9ncm91cC1uYXZpZ2F0aW9uLWNvbnN0YW50c1wiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBuYXZpZ2F0aW9uSXRlbUNhc2VWaWV3RGVmYXVsdEhlYWRlcnNGYWN0b3J5KG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IERhdGFHcm91cFtdKTogQXJyYXk8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIG5hdmlnYXRpb25JdGVtRGVmYXVsdEhlYWRlcnNGYWN0b3J5KG5hdmlnYXRpb25JdGVtVGFza0RhdGEsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1VTRV9DQVNFX0RFRkFVTFRfSEVBREVSUywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9ERUZBVUxUX0hFQURFUlMpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuYXZpZ2F0aW9uSXRlbVRhc2tWaWV3RGVmYXVsdEhlYWRlcnNGYWN0b3J5KG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IERhdGFHcm91cFtdKTogQXJyYXk8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIG5hdmlnYXRpb25JdGVtRGVmYXVsdEhlYWRlcnNGYWN0b3J5KG5hdmlnYXRpb25JdGVtVGFza0RhdGEsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1VTRV9UQVNLX0RFRkFVTFRfSEVBREVSUywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19ERUZBVUxUX0hFQURFUlMpXG59XG5cbmZ1bmN0aW9uIG5hdmlnYXRpb25JdGVtRGVmYXVsdEhlYWRlcnNGYWN0b3J5KG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IERhdGFHcm91cFtdLCB1c2VGaWVsZElkOiBzdHJpbmcsIGRlZmF1bHRIZWFkZXJzRmllbGRJZDogc3RyaW5nKTogQXJyYXk8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNVc2UgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KG5hdmlnYXRpb25JdGVtVGFza0RhdGEsIHVzZUZpZWxkSWQpO1xuICAgIGlmIChpc1VzZSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0SGVhZGVycyA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8c3RyaW5nPihuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLCBkZWZhdWx0SGVhZGVyc0ZpZWxkSWQpO1xuICAgICAgICBpZiAoZGVmYXVsdEhlYWRlcnMgPT09IHVuZGVmaW5lZCB8fCBkZWZhdWx0SGVhZGVycyA9PT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVmYXVsdEhlYWRlcnMuc3BsaXQoJywnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
@@ -20,6 +20,7 @@ export * from './refresh-tree';
20
20
  export * from './destroy-subscription';
21
21
  export * from './navigation-item-task-filter-factory';
22
22
  export * from './navigation-item-task-search-categories-factory';
23
+ export * from './navigation-item-default-headers-factory';
23
24
  export * from './is-empty.pipe';
24
25
  export * from './is-non-empty.pipe';
25
26
  export * from './contains.pipe';
@@ -54,4 +55,4 @@ export * from './tests/test-view-service';
54
55
  export * from './tests/mocks/mock-endpoint';
55
56
  export * from './tests/test-mock-dependencies.module';
56
57
  export * from './tests/mocks/mock-profile.service';
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXRpbGl0eS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxVQUFVLENBQUM7QUFFekIsV0FBVztBQUNYLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vZi12b2lkJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1lbWl0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy13aXRoLWZpbHRlci1lbWl0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWltbWVkaWF0ZS1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsbC1jaGFpbi9jYWxsLWNoYWluLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24vcGFnZS1oYXMtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24vbG9hZC1hbGwtcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXNvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL3NwaW5uZXItb3ZlcmxheS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9jYXNlLWxpc3QtZm9udC1jb2xvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5jcmVtZW50aW5nLWNvdW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS10by1vYnNlcnZhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzcy1tZXNzYWdlLXJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzdWx0LXdpdGgtYWZ0ZXItYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NsZWFyLXRpbWUtaW5mb3JtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZyZXNoLXRyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95LXN1YnNjcmlwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24taXRlbS10YXNrLWZpbHRlci1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi1pdGVtLXRhc2stc2VhcmNoLWNhdGVnb3JpZXMtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWVtcHR5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1ub24tZW1wdHkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5zLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2U2NCc7XG5cbi8qIFRFU1RTICovXG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9tb2Nrcy9tb2NrLXVzZXItcmVzb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay1hdXRoZW50aWNhdGlvbi1tZXRob2Qtc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stc2lnbi11cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay11c2VyLWF1dG9jb21wbGV0ZS12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stdGFzayc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stY2FzZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2staW1tZWRpYXRlLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLXBhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLW5ldCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stZGF0YWdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stY2FzZS1vdXRjb21lJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay10YXNrLW91dGNvbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLWdldC1kYXRhLW91dGNvbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLXNldC1kYXRhLW91dGNvbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLXBldHJpLW5ldC1vdXRjb21lJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jb25maWd1cmUtY2F0ZWdvcnknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9zZWFyY2gtY2F0ZWdvcnktbW9jay1kZXBlbmRlbmNpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy90ZXN0LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3Rlc3QtZmFjdG9yeS1tZXRob2RzJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdGVzdC12aWV3LXNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9tb2Nrcy9tb2NrLWVuZHBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdGVzdC1tb2NrLWRlcGVuZGVuY2llcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9tb2Nrcy9tb2NrLXByb2ZpbGUuc2VydmljZSc7XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXRpbGl0eS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLFVBQVUsQ0FBQztBQUV6QixXQUFXO0FBQ1gsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29mLXZvaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLWVtaXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLXdpdGgtZmlsdGVyLWVtaXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtaW1tZWRpYXRlLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxsLWNoYWluL2NhbGwtY2hhaW4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGwtY2hhaW4vYWZ0ZXItYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi9wYWdlLWhhcy1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi9sb2FkLWFsbC1wYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24tc29ydCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2Uvc3Bpbm5lci1vdmVybGF5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL2Nhc2UtbGlzdC1mb250LWNvbG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmNyZW1lbnRpbmctY291bnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2FycmF5LXRvLW9ic2VydmFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZXNzLW1lc3NhZ2UtcmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN1bHQtd2l0aC1hZnRlci1hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY2xlYXItdGltZS1pbmZvcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZnJlc2gtdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL2Rlc3Ryb3ktc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi1pdGVtLXRhc2stZmlsdGVyLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uLWl0ZW0tdGFzay1zZWFyY2gtY2F0ZWdvcmllcy1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbmF2aWdhdGlvbi1pdGVtLWRlZmF1bHQtaGVhZGVycy1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZW1wdHkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5vbi1lbXB0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFpbnMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxpdHkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9sZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZTY0JztcblxuLyogVEVTVFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay11c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stdXNlci1yZXNvdXJjZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay11c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9tb2Nrcy9tb2NrLWF1dGhlbnRpY2F0aW9uLW1ldGhvZC1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvbW9ja3MvbW9jay1zaWduLXVwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy9tb2Nrcy9tb2NrLXVzZXItYXV0b2NvbXBsZXRlLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay10YXNrJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay1jYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay1pbW1lZGlhdGUtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stcGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stbmV0JztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay1kYXRhZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdXRpbGl0eS9jcmVhdGUtbW9jay1jYXNlLW91dGNvbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NyZWF0ZS1tb2NrLXRhc2stb3V0Y29tZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stZ2V0LWRhdGEtb3V0Y29tZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stc2V0LWRhdGEtb3V0Y29tZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3V0aWxpdHkvY3JlYXRlLW1vY2stcGV0cmktbmV0LW91dGNvbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy91dGlsaXR5L2NvbmZpZ3VyZS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3NlYXJjaC1jYXRlZ29yeS1tb2NrLWRlcGVuZGVuY2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL3Rlc3QtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdHMvdGVzdC1mYWN0b3J5LW1ldGhvZHMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy90ZXN0LXZpZXctc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0cy90ZXN0LW1vY2stZGVwZW5kZW5jaWVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rlc3RzL21vY2tzL21vY2stcHJvZmlsZS5zZXJ2aWNlJztcbiJdfQ==
@@ -166,7 +166,7 @@ export class CaseViewService extends AbstractSortableViewComponent {
166
166
  minWidth: '300px',
167
167
  panelClass: "dialog-responsive",
168
168
  data: {
169
- allowedNets$: this.getNewCaseAllowedNets(),
169
+ allowedNets$: this.getNewCaseAllowedNets(newCaseCreationConfiguration.blockNets),
170
170
  newCaseCreationConfiguration
171
171
  },
172
172
  });
@@ -180,9 +180,12 @@ export class CaseViewService extends AbstractSortableViewComponent {
180
180
  });
181
181
  return myCase.asObservable();
182
182
  }
183
- createDefaultNewCase() {
183
+ createDefaultNewCase(newCaseCreationConfiguration = {
184
+ enableCaseTitle: true,
185
+ isCaseTitleRequired: true
186
+ }) {
184
187
  const myCase = new Subject();
185
- this.getNewCaseAllowedNets().subscribe((nets) => {
188
+ this.getNewCaseAllowedNets(newCaseCreationConfiguration.blockNets).subscribe((nets) => {
186
189
  this._caseResourceService.createCase({
187
190
  title: null,
188
191
  color: 'panel-primary-icon',
@@ -197,13 +200,13 @@ export class CaseViewService extends AbstractSortableViewComponent {
197
200
  });
198
201
  return myCase;
199
202
  }
200
- getNewCaseAllowedNets() {
203
+ getNewCaseAllowedNets(blockNets = []) {
201
204
  if (this._newCaseConfiguration.useCachedProcesses) {
202
- return this._allowedNetsService.allowedNets$.pipe(map(net => net.filter(n => this._permissionService.hasNetPermission(PermissionType.CREATE, n))));
205
+ return this._allowedNetsService.allowedNets$.pipe(map(net => net.filter(n => blockNets.indexOf(n.identifier) == -1)), map(net => net.filter(n => this._permissionService.hasNetPermission(PermissionType.CREATE, n))));
203
206
  }
204
207
  else {
205
208
  return this._allowedNetsService.allowedNets$.pipe(switchMap(allowedNets => {
206
- return this._processService.getNetReferences(allowedNets.map(net => net.identifier)).pipe(map(net => net.filter(n => this._permissionService.hasNetPermission(PermissionType.CREATE, n))));
209
+ return this._processService.getNetReferences(allowedNets.map(net => net.identifier)).pipe(map(net => net.filter(n => blockNets.indexOf(n.identifier) == -1)), map(net => net.filter(n => this._permissionService.hasNetPermission(PermissionType.CREATE, n))));
207
210
  }));
208
211
  }
209
212
  }
@@ -274,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
274
277
  type: Inject,
275
278
  args: [NAE_NEW_CASE_CONFIGURATION]
276
279
  }] }, { type: i11.PermissionService }]; } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS12aWV3LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3ZpZXcvY2FzZS12aWV3L3NlcnZpY2UvY2FzZS12aWV3LXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3RFLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFNaEQsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFHaEYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFHdEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBTTVGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSzNFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFNUYsT0FBTyxF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NkdBbFNRLGVBQWUsNlVBdUJRLDZCQUE2Qiw2QkFDN0IsMEJBQTBCO2lIQXhCakQsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkF3Qk0sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw2QkFBNkI7OzBCQUNoRCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2lkZU1lbnVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zaWRlLW1lbnUvc2VydmljZXMvc2lkZS1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7U2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VhcmNoL3NlYXJjaC1zZXJ2aWNlL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGNvbmNhdE1hcCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzY2FuLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQYWdpbmF0aW9ufSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3BhZ2luYXRpb24nO1xuaW1wb3J0IHtDYXNlTWV0YUZpZWxkfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvY2FzZS1oZWFkZXIvY2FzZS1tZW50YS1lbnVtJztcbmltcG9ydCB7UGFnZUxvYWRSZXF1ZXN0Q29udGV4dH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QvcGFnZS1sb2FkLXJlcXVlc3QtY29udGV4dCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtMaXN0UmFuZ2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0xvYWRpbmdXaXRoRmlsdGVyRW1pdHRlcn0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0eS9sb2FkaW5nLXdpdGgtZmlsdGVyLWVtaXR0ZXInO1xuaW1wb3J0IHtDYXNlUGFnZUxvYWRSZXF1ZXN0UmVzdWx0fSBmcm9tICcuLi9tb2RlbHMvY2FzZS1wYWdlLWxvYWQtcmVxdWVzdC1yZXN1bHQnO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHthcnJheVRvT2JzZXJ2YWJsZX0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0eS9hcnJheS10by1vYnNlcnZhYmxlJztcbmltcG9ydCB7UGVybWlzc2lvblR5cGV9IGZyb20gJy4uLy4uLy4uL3Byb2Nlc3MvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtOQUVfTkVXX0NBU0VfQ09ORklHVVJBVElPTn0gZnJvbSAnLi4vbW9kZWxzL25ldy1jYXNlLWNvbmZpZ3VyYXRpb24taW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7TmV3Q2FzZUNvbmZpZ3VyYXRpb259IGZyb20gJy4uL21vZGVscy9uZXctY2FzZS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7UHJvY2Vzc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3Byb2Nlc3MvcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7UGV0cmlOZXRSZWZlcmVuY2VXaXRoUGVybWlzc2lvbnN9IGZyb20gJy4uLy4uLy4uL3Byb2Nlc3MvcGV0cmktbmV0LXJlZmVyZW5jZS13aXRoLXBlcm1pc3Npb25zJztcbmltcG9ydCB7U2VhcmNoSW5kZXhSZXNvbHZlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlYXJjaC9zZWFyY2gta2V5d29yZC1yZXNvbHZlci1zZXJ2aWNlL3NlYXJjaC1pbmRleC1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7QWxsb3dlZE5ldHNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hbGxvd2VkLW5ldHMvc2VydmljZXMvYWxsb3dlZC1uZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHtBYnN0cmFjdFNvcnRhYmxlVmlld0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Qvc29ydGFibGUtdmlldyc7XG5pbXBvcnQge05ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhfSBmcm9tICcuLi8uLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL25ldy1jYXNlL21vZGVsL25ldy1jYXNlLWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7UGVybWlzc2lvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2V9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvbWVzc2FnZS1yZXNvdXJjZSc7XG5pbXBvcnQge0NyZWF0ZUNhc2VFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL2Nhc2Utb3V0Y29tZXMvY3JlYXRlLWNhc2UtZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge1BhZ2luYXRpb25QYXJhbXN9IGZyb20gJy4uLy4uLy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXBhcmFtcyc7XG5pbXBvcnQge2NyZWF0ZVNvcnRQYXJhbSwgUGFnaW5hdGlvblNvcnR9IGZyb20gJy4uLy4uLy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXNvcnQnO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge05BRV9ORVdfQ0FTRV9ESUFMT0dfQ09NUE9ORU5UfSBmcm9tICcuLi8uLi8uLi9kaWFsb2cvaW5qZWN0aW9uLXRva2Vucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlVmlld1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFNvcnRhYmxlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICByZWFkb25seSBERUZBVUxUX05FV19DQVNFX0NPTkZJR1VSQVRJT046IE5ld0Nhc2VDb25maWd1cmF0aW9uID0ge1xuICAgICAgICB1c2VDYWNoZWRQcm9jZXNzZXM6IHRydWVcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIF9sb2FkaW5nJDogTG9hZGluZ1dpdGhGaWx0ZXJFbWl0dGVyO1xuICAgIHByb3RlY3RlZCBfY2FzZXMkOiBPYnNlcnZhYmxlPEFycmF5PENhc2U+PjtcbiAgICBwcm90ZWN0ZWQgX25leHRQYWdlJDogQmVoYXZpb3JTdWJqZWN0PFBhZ2VMb2FkUmVxdWVzdENvbnRleHQ+O1xuICAgIHByb3RlY3RlZCBfZW5kT2ZEYXRhOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfcGFnaW5hdGlvbjogUGFnaW5hdGlvbjtcbiAgICBwcm90ZWN0ZWQgX25ld0Nhc2VDb25maWd1cmF0aW9uOiBOZXdDYXNlQ29uZmlndXJhdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfYWxsb3dlZE5ldHNTZXJ2aWNlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Nhc2VSZXNvdXJjZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICAgICAgICAgICAgICByZXNvbHZlcjogU2VhcmNoSW5kZXhSZXNvbHZlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVXX0NBU0VfRElBTE9HX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF9uZXdDYXNlQ29tcG9uZW50OiBhbnksXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVXX0NBU0VfQ09ORklHVVJBVElPTikgbmV3Q2FzZUNvbmZpZzogTmV3Q2FzZUNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIocmVzb2x2ZXIpO1xuICAgICAgICB0aGlzLl9uZXdDYXNlQ29uZmlndXJhdGlvbiA9IHsuLi50aGlzLkRFRkFVTFRfTkVXX0NBU0VfQ09ORklHVVJBVElPTn07XG4gICAgICAgIGlmIChuZXdDYXNlQ29uZmlnICE9PSBudWxsKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX25ld0Nhc2VDb25maWd1cmF0aW9uLCBuZXdDYXNlQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sb2FkaW5nJCA9IG5ldyBMb2FkaW5nV2l0aEZpbHRlckVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5fc2VhcmNoU2VydmljZS5hY3RpdmVGaWx0ZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZW5kT2ZEYXRhID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICBzaXplOiAyNSxcbiAgICAgICAgICAgIHRvdGFsRWxlbWVudHM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRvdGFsUGFnZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG51bWJlcjogLTFcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fbmV4dFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYWdlTG9hZFJlcXVlc3RDb250ZXh0PihcbiAgICAgICAgICAgIG5ldyBQYWdlTG9hZFJlcXVlc3RDb250ZXh0KHRoaXMuYWN0aXZlRmlsdGVyLCBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9wYWdpbmF0aW9uLCB7bnVtYmVyOiAwfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY2FzZXNNYXAgPSB0aGlzLl9uZXh0UGFnZSQucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKHAgPT4gdGhpcy5sb2FkUGFnZShwKSksXG4gICAgICAgICAgICBtYXAocGFnZUxvYWRSZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYWdlTG9hZFJlc3VsdC5yZXF1ZXN0Q29udGV4dCAmJiBwYWdlTG9hZFJlc3VsdC5yZXF1ZXN0Q29udGV4dC5jbGVhckxvYWRlZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzZXQgYW4gZW1wdHkgdmFsdWUgdG8gdGhlIHZpcnR1YWwgc2Nyb2xsIGFuZCB0aGVuIHJlcGxhY2UgaXQgYnkgdGhlIHJlYWwgdmFsdWUgZm9yY2luZyBpdCB0byByZWRyYXcgaXRzIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IFt7Y2FzZXM6IHt9LCByZXF1ZXN0Q29udGV4dDogbnVsbH0sIHBhZ2VMb2FkUmVzdWx0XTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5VG9PYnNlcnZhYmxlKHJlc3VsdHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihwYWdlTG9hZFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjb25jYXRNYXAobyA9PiBvKSxcbiAgICAgICAgICAgIHNjYW4oKGFjYywgcGFnZUxvYWRSZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFnZUxvYWRSZXN1bHQucmVxdWVzdENvbnRleHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhZ2VMb2FkUmVzdWx0LmNhc2VzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmckLm9mZihwYWdlTG9hZFJlc3VsdC5yZXF1ZXN0Q29udGV4dC5maWx0ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3BhZ2luYXRpb24sIHBhZ2VMb2FkUmVzdWx0LnJlcXVlc3RDb250ZXh0LnBhZ2luYXRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7Li4uYWNjLCAuLi5wYWdlTG9hZFJlc3VsdC5jYXNlc307XG4gICAgICAgICAgICB9LCB7fSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fY2FzZXMkID0gY2FzZXNNYXAucGlwZShcbiAgICAgICAgICAgIG1hcCh2ID0+IE9iamVjdC52YWx1ZXModikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2xvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX25leHRQYWdlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmckLmlzQWN0aXZlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNhc2VzJCgpOiBPYnNlcnZhYmxlPEFycmF5PENhc2U+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXNlcyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWdpbmF0aW9uKCk6IFBhZ2luYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnaW5hdGlvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFjdGl2ZUZpbHRlcigpOiBGaWx0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoU2VydmljZS5hY3RpdmVGaWx0ZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGxvYWRQYWdlKHJlcXVlc3RDb250ZXh0OiBQYWdlTG9hZFJlcXVlc3RDb250ZXh0KTogT2JzZXJ2YWJsZTxDYXNlUGFnZUxvYWRSZXF1ZXN0UmVzdWx0PiB7XG4gICAgICAgIGlmIChyZXF1ZXN0Q29udGV4dCA9PT0gbnVsbCB8fCByZXF1ZXN0Q29udGV4dC5wYWdlTnVtYmVyIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHtjYXNlczoge30sIHJlcXVlc3RDb250ZXh0fSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIHBhcmFtcyA9IHRoaXMuYWRkU29ydFBhcmFtcyhwYXJhbXMpO1xuICAgICAgICBwYXJhbXMgPSB0aGlzLmFkZFBhZ2VQYXJhbXMocGFyYW1zLCByZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uKTtcbiAgICAgICAgdGhpcy5fbG9hZGluZyQub24ocmVxdWVzdENvbnRleHQuZmlsdGVyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY2FzZVJlc291cmNlU2VydmljZS5zZWFyY2hDYXNlcyhyZXF1ZXN0Q29udGV4dC5maWx0ZXIsIHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ0xvYWRpbmcgY2FzZXMgaGFzIGZhaWxlZCEnLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmckLm9mZihyZXF1ZXN0Q29udGV4dC5maWx0ZXIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih7Y29udGVudDogW10sIHBhZ2luYXRpb246IHsuLi50aGlzLl9wYWdpbmF0aW9ufX0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHIgPSByZXF1ZXN0Q29udGV4dC5maWx0ZXIgPT09IHRoaXMuX3NlYXJjaFNlcnZpY2UuYWN0aXZlRmlsdGVyO1xuICAgICAgICAgICAgICAgIGlmICghcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5vZmYocmVxdWVzdENvbnRleHQuZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdSZWNlaXZlZCBjYXNlcyBwYWdlIGlzIG5vIGxvbmdlciByZWxldmFudCBzaW5jZSB0aGUgYWN0aXZlIGZpbHRlciBoYXMgY2hhbmdlZCBiZWZvcmUgaXQgY291bGQgYXJyaXZlLidcbiAgICAgICAgICAgICAgICAgICAgICAgICsgJyBEaXNjYXJkaW5nLi4uJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoYyA9PiB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihyZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uLCBjLnBhZ2luYXRpb24pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoYyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZW5kT2ZEYXRhID0gIUFycmF5LmlzQXJyYXkoYy5jb250ZW50KVxuICAgICAgICAgICAgICAgICAgICB8fCBjLmNvbnRlbnQubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgIHx8IGMucGFnaW5hdGlvbi5udW1iZXIgPT09IGMucGFnaW5hdGlvbi50b3RhbFBhZ2VzO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoY2FzZXMgPT4gQXJyYXkuaXNBcnJheShjYXNlcy5jb250ZW50KSA/IGNhc2VzIDogey4uLmNhc2VzLCBjb250ZW50OiBbXX0pLFxuICAgICAgICAgICAgbWFwKGNhc2VzID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FzZXMuY29udGVudC5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7Li4uYWNjLCBbY3VyLnN0cmluZ0lkXTogY3VyfTtcbiAgICAgICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcChjYXNlcyA9PiAoe2Nhc2VzLCByZXF1ZXN0Q29udGV4dH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0UGFnZShyZW5kZXJlZFJhbmdlOiBMaXN0UmFuZ2UsIHRvdGFsTG9hZGVkOiBudW1iZXIsIHJlcXVlc3RDb250ZXh0PzogUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCkge1xuICAgICAgICBpZiAocmVxdWVzdENvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQgPSBuZXcgUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCh0aGlzLmFjdGl2ZUZpbHRlciwgdGhpcy5fcGFnaW5hdGlvbik7XG4gICAgICAgICAgICByZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uLm51bWJlciArPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nUmVsZXZhbnRGaWx0ZXIocmVxdWVzdENvbnRleHQpIHx8IHRoaXMuX2VuZE9mRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlbmRlcmVkUmFuZ2UuZW5kID09PSB0b3RhbExvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5fbmV4dFBhZ2UkLm5leHQocmVxdWVzdENvbnRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5leHRQYWdlUGFnaW5hdGlvbihsZW5ndGg6IG51bWJlciwgcGFnZUluZGV4OiBudW1iZXIsIHJlcXVlc3RDb250ZXh0PzogUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCkge1xuICAgICAgICBpZiAocmVxdWVzdENvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQgPSBuZXcgUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCh0aGlzLmFjdGl2ZUZpbHRlciwgdGhpcy5fcGFnaW5hdGlvbik7XG4gICAgICAgICAgICByZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uLnNpemUgPSBsZW5ndGg7XG4gICAgICAgICAgICByZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uLm51bWJlciA9IHBhZ2VJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZ1JlbGV2YW50RmlsdGVyKHJlcXVlc3RDb250ZXh0KSB8fCB0aGlzLl9lbmRPZkRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uZXh0UGFnZSQubmV4dChyZXF1ZXN0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xvYWRpbmdSZWxldmFudEZpbHRlcihyZXF1ZXN0Q29udGV4dD86IFBhZ2VMb2FkUmVxdWVzdENvbnRleHQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3RDb250ZXh0ID09PSB1bmRlZmluZWQgfHwgdGhpcy5fbG9hZGluZyQuaXNBY3RpdmVXaXRoRmlsdGVyKHJlcXVlc3RDb250ZXh0LmZpbHRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZU5ld0Nhc2UobmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbjogTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAgIGVuYWJsZUNhc2VUaXRsZTogdHJ1ZSxcbiAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogdHJ1ZVxuICAgIH0pOiBPYnNlcnZhYmxlPENhc2U+IHtcbiAgICAgICAgY29uc3QgbXlDYXNlID0gbmV3IFN1YmplY3Q8Q2FzZT4oKTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4odGhpcy5fbmV3Q2FzZUNvbXBvbmVudCwge1xuICAgICAgICAgICAgd2lkdGg6ICc0MCUnLFxuICAgICAgICAgICAgbWluV2lkdGg6ICczMDBweCcsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBcImRpYWxvZy1yZXNwb25zaXZlXCIsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHMkOiB0aGlzLmdldE5ld0Nhc2VBbGxvd2VkTmV0cygpLFxuICAgICAgICAgICAgICAgIG5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoJGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQ/LmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJGV2ZW50Lm1lc3NhZ2UsICRldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIG15Q2FzZS5uZXh0KCRldmVudC5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG15Q2FzZS5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG15Q2FzZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlRGVmYXVsdE5ld0Nhc2UoKTogT2JzZXJ2YWJsZTxDYXNlPiB7XG4gICAgICAgIGNvbnN0IG15Q2FzZSA9IG5ldyBTdWJqZWN0PENhc2U+KCk7XG4gICAgICAgIHRoaXMuZ2V0TmV3Q2FzZUFsbG93ZWROZXRzKCkuc3Vic2NyaWJlKChuZXRzOiBBcnJheTxQZXRyaU5ldFJlZmVyZW5jZVdpdGhQZXJtaXNzaW9ucz4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2UuY3JlYXRlQ2FzZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdwYW5lbC1wcmltYXJ5LWljb24nLFxuICAgICAgICAgICAgICAgIG5ldElkOiBuZXRzWzBdLnN0cmluZ0lkXG4gICAgICAgICAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3BlblN1Y2Nlc3NTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLmNyZWF0ZUNhc2UnKVxuICAgICAgICAgICAgICAgICAgICArICcgJyArIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdzaWRlLW1lbnUubmV3LWNhc2UuZGVmYXVsdENhc2VOYW1lJykpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgbXlDYXNlLm5leHQoKHJlc3BvbnNlLm91dGNvbWUgYXMgQ3JlYXRlQ2FzZUV2ZW50T3V0Y29tZSkuYUNhc2UpO1xuICAgICAgICAgICAgICAgIG15Q2FzZS5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSwgZXJyb3IgPT4gdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKGVycm9yLm1lc3NhZ2UgPyBlcnJvci5tZXNzYWdlIDogZXJyb3IpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBteUNhc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE5ld0Nhc2VBbGxvd2VkTmV0cygpOiBPYnNlcnZhYmxlPEFycmF5PFBldHJpTmV0UmVmZXJlbmNlV2l0aFBlcm1pc3Npb25zPj4ge1xuICAgICAgICBpZiAodGhpcy5fbmV3Q2FzZUNvbmZpZ3VyYXRpb24udXNlQ2FjaGVkUHJvY2Vzc2VzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWxsb3dlZE5ldHNTZXJ2aWNlLmFsbG93ZWROZXRzJC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChuZXQgPT4gbmV0LmZpbHRlcihuID0+IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmhhc05ldFBlcm1pc3Npb24oUGVybWlzc2lvblR5cGUuQ1JFQVRFLCBuKSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FsbG93ZWROZXRzU2VydmljZS5hbGxvd2VkTmV0cyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoYWxsb3dlZE5ldHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1NlcnZpY2UuZ2V0TmV0UmVmZXJlbmNlcyhhbGxvd2VkTmV0cy5tYXAobmV0ID0+IG5ldC5pZGVudGlmaWVyKSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcChuZXQgPT4gbmV0LmZpbHRlcihuID0+IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmhhc05ldFBlcm1pc3Npb24oUGVybWlzc2lvblR5cGUuQ1JFQVRFLCBuKSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG51bWJlciBvZiBhbGxvd2VkIG5ldHMgb2YgY2FzZSB2aWV3XG4gICAgICogQHJldHVybnMgbGVuZ3RoIG9mIGFsbG93ZWROZXRzIGFycmF5IGlmIGl0IGlzIGRlZmluZWQsIDAgaWYgaXQgaXMgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcHVibGljIGdldEFsbG93ZWROZXRzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FsbG93ZWROZXRzU2VydmljZS5hbGxvd2VkTmV0cyA9PT0gdW5kZWZpbmVkID8gMCA6IHRoaXMuX2FsbG93ZWROZXRzU2VydmljZS5hbGxvd2VkTmV0cy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZFBhZ2VQYXJhbXMocGFyYW1zOiBIdHRwUGFyYW1zLCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoUGFnaW5hdGlvblBhcmFtcy5QQUdFX1NJWkUsIGAke3BhZ2luYXRpb24uc2l6ZX1gKTtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfTlVNQkVSLCBgJHtwYWdpbmF0aW9uLm51bWJlcn1gKTtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdFNvcnRQYXJhbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY3JlYXRlU29ydFBhcmFtKCdzdHJpbmdJZCcsIFBhZ2luYXRpb25Tb3J0LkRFU0NFTkRJTkcpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRNZXRhRmllbGRTb3J0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9sYXN0SGVhZGVyU2VhcmNoU3RhdGUuZmllbGRJZGVudGlmaWVyKSB7XG4gICAgICAgICAgICBjYXNlIENhc2VNZXRhRmllbGQuVElUTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0aXRsZS5rZXl3b3JkJztcbiAgICAgICAgICAgIGNhc2UgQ2FzZU1ldGFGaWVsZC5WSVNVQUxfSUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd2aXN1YWxJZC5rZXl3b3JkJztcbiAgICAgICAgICAgIGNhc2UgQ2FzZU1ldGFGaWVsZC5DUkVBVElPTl9EQVRFOlxuICAgICAgICAgICAgICAgIHJldHVybiAnY3JlYXRpb25EYXRlU29ydGFibGUnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbGFzdEhlYWRlclNlYXJjaFN0YXRlLmZpZWxkSWRlbnRpZmllcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2FzZXMkIHx8ICF0aGlzLl9wYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9lbmRPZkRhdGEgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgcmVxdWVzdENvbnRleHQgPSBuZXcgUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCh0aGlzLmFjdGl2ZUZpbHRlciwgdGhpcy5fcGFnaW5hdGlvbiwgdHJ1ZSk7XG4gICAgICAgIHJlcXVlc3RDb250ZXh0LnBhZ2luYXRpb24ubnVtYmVyID0gMDtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB7XG4gICAgICAgICAgICBzdGFydDogLTEsXG4gICAgICAgICAgICBlbmQ6IDBcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm5leHRQYWdlKHJhbmdlLCAwLCByZXF1ZXN0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0F1dGhvcml0eShhdXRob3JpdHk6IEFycmF5PHN0cmluZz4gfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXIuaGFzQXV0aG9yaXR5KGF1dGhvcml0eSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgaGFzIHRoZSBbVklFV117QGxpbmsgUGVybWlzc2lvblR5cGUjVklFV30gcGVybWlzc2lvbiBvbiB0aGUgY3VycmVudCBjYXNlXG4gICAgICogQHBhcmFtIGFDYXNlIHRoZSB0ZXN0ZWQgY2FzZVxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyB0aGUgYFZJRVdgIHBlcm1pc3Npb24gb24gdGhlIHRlc3RlZCBjYXNlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdmlld0VuYWJsZWQoYUNhc2U6IENhc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmhhc0Nhc2VQZXJtaXNzaW9uKGFDYXNlLCBQZXJtaXNzaW9uVHlwZS5WSUVXKTtcbiAgICB9XG59XG4iXX0=
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS12aWV3LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3ZpZXcvY2FzZS12aWV3L3NlcnZpY2UvY2FzZS12aWV3LXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3RFLE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFNaEQsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFHaEYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFHdEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBTTVGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSzNFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFNUYsT0FBTyxF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N0YsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHO1lBQ1YsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNULEdBQUcsRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQUMsS0FBVztRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OzZHQXZTUSxlQUFlLDZVQXVCUSw2QkFBNkIsNkJBQzdCLDBCQUEwQjtpSEF4QmpELGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBd0JNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDaEQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NpZGVNZW51U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2lkZS1tZW51L3NlcnZpY2VzL3NpZGUtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC9jYXNlLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQge1NlYXJjaFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlYXJjaC9zZWFyY2gtc2VydmljZS9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBjb25jYXRNYXAsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgc2Nhbiwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGFnaW5hdGlvbn0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9wYWdpbmF0aW9uJztcbmltcG9ydCB7Q2FzZU1ldGFGaWVsZH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL2Nhc2UtaGVhZGVyL2Nhc2UtbWVudGEtZW51bSc7XG5pbXBvcnQge1BhZ2VMb2FkUmVxdWVzdENvbnRleHR9IGZyb20gJy4uLy4uL2Fic3RyYWN0L3BhZ2UtbG9hZC1yZXF1ZXN0LWNvbnRleHQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TGlzdFJhbmdlfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtMb2FkaW5nV2l0aEZpbHRlckVtaXR0ZXJ9IGZyb20gJy4uLy4uLy4uL3V0aWxpdHkvbG9hZGluZy13aXRoLWZpbHRlci1lbWl0dGVyJztcbmltcG9ydCB7Q2FzZVBhZ2VMb2FkUmVxdWVzdFJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzL2Nhc2UtcGFnZS1sb2FkLXJlcXVlc3QtcmVzdWx0JztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7YXJyYXlUb09ic2VydmFibGV9IGZyb20gJy4uLy4uLy4uL3V0aWxpdHkvYXJyYXktdG8tb2JzZXJ2YWJsZSc7XG5pbXBvcnQge1Blcm1pc3Npb25UeXBlfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzL3Blcm1pc3Npb25zJztcbmltcG9ydCB7TkFFX05FV19DQVNFX0NPTkZJR1VSQVRJT059IGZyb20gJy4uL21vZGVscy9uZXctY2FzZS1jb25maWd1cmF0aW9uLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge05ld0Nhc2VDb25maWd1cmF0aW9ufSBmcm9tICcuLi9tb2RlbHMvbmV3LWNhc2UtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzL3Byb2Nlc3Muc2VydmljZSc7XG5pbXBvcnQge1BldHJpTmV0UmVmZXJlbmNlV2l0aFBlcm1pc3Npb25zfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzL3BldHJpLW5ldC1yZWZlcmVuY2Utd2l0aC1wZXJtaXNzaW9ucyc7XG5pbXBvcnQge1NlYXJjaEluZGV4UmVzb2x2ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZWFyY2gvc2VhcmNoLWtleXdvcmQtcmVzb2x2ZXItc2VydmljZS9zZWFyY2gtaW5kZXgtcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQge0FsbG93ZWROZXRzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vYWxsb3dlZC1uZXRzL3NlcnZpY2VzL2FsbG93ZWQtbmV0cy5zZXJ2aWNlJztcbmltcG9ydCB7QWJzdHJhY3RTb3J0YWJsZVZpZXdDb21wb25lbnR9IGZyb20gJy4uLy4uL2Fic3RyYWN0L3NvcnRhYmxlLXZpZXcnO1xuaW1wb3J0IHtOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YX0gZnJvbSAnLi4vLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9uZXctY2FzZS9tb2RlbC9uZXctY2FzZS1pbmplY3Rpb24tZGF0YSc7XG5pbXBvcnQge1Blcm1pc3Npb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtDcmVhdGVDYXNlRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy9jYXNlLW91dGNvbWVzL2NyZWF0ZS1jYXNlLWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtQYWdpbmF0aW9uUGFyYW1zfSBmcm9tICcuLi8uLi8uLi91dGlsaXR5L3BhZ2luYXRpb24vcGFnaW5hdGlvbi1wYXJhbXMnO1xuaW1wb3J0IHtjcmVhdGVTb3J0UGFyYW0sIFBhZ2luYXRpb25Tb3J0fSBmcm9tICcuLi8uLi8uLi91dGlsaXR5L3BhZ2luYXRpb24vcGFnaW5hdGlvbi1zb3J0JztcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtOQUVfTkVXX0NBU0VfRElBTE9HX0NPTVBPTkVOVH0gZnJvbSAnLi4vLi4vLi4vZGlhbG9nL2luamVjdGlvbi10b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZVZpZXdTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RTb3J0YWJsZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcmVhZG9ubHkgREVGQVVMVF9ORVdfQ0FTRV9DT05GSUdVUkFUSU9OOiBOZXdDYXNlQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgdXNlQ2FjaGVkUHJvY2Vzc2VzOiB0cnVlXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBfbG9hZGluZyQ6IExvYWRpbmdXaXRoRmlsdGVyRW1pdHRlcjtcbiAgICBwcm90ZWN0ZWQgX2Nhc2VzJDogT2JzZXJ2YWJsZTxBcnJheTxDYXNlPj47XG4gICAgcHJvdGVjdGVkIF9uZXh0UGFnZSQ6IEJlaGF2aW9yU3ViamVjdDxQYWdlTG9hZFJlcXVlc3RDb250ZXh0PjtcbiAgICBwcm90ZWN0ZWQgX2VuZE9mRGF0YTogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX3BhZ2luYXRpb246IFBhZ2luYXRpb247XG4gICAgcHJvdGVjdGVkIF9uZXdDYXNlQ29uZmlndXJhdGlvbjogTmV3Q2FzZUNvbmZpZ3VyYXRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2FsbG93ZWROZXRzU2VydmljZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlcjogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcmVzb2x2ZXI6IFNlYXJjaEluZGV4UmVzb2x2ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX05FV19DQVNFX0RJQUxPR19DT01QT05FTlQpIHByb3RlY3RlZCBfbmV3Q2FzZUNvbXBvbmVudDogYW55LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX05FV19DQVNFX0NPTkZJR1VSQVRJT04pIG5ld0Nhc2VDb25maWc6IE5ld0Nhc2VDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHJlc29sdmVyKTtcbiAgICAgICAgdGhpcy5fbmV3Q2FzZUNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5ERUZBVUxUX05FV19DQVNFX0NPTkZJR1VSQVRJT059O1xuICAgICAgICBpZiAobmV3Q2FzZUNvbmZpZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9uZXdDYXNlQ29uZmlndXJhdGlvbiwgbmV3Q2FzZUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbG9hZGluZyQgPSBuZXcgTG9hZGluZ1dpdGhGaWx0ZXJFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFNlcnZpY2UuYWN0aXZlRmlsdGVyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2VuZE9mRGF0YSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgc2l6ZTogMjUsXG4gICAgICAgICAgICB0b3RhbEVsZW1lbnRzOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB0b3RhbFBhZ2VzOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBudW1iZXI6IC0xXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX25leHRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFnZUxvYWRSZXF1ZXN0Q29udGV4dD4oXG4gICAgICAgICAgICBuZXcgUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCh0aGlzLmFjdGl2ZUZpbHRlciwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fcGFnaW5hdGlvbiwge251bWJlcjogMH0pKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGNhc2VzTWFwID0gdGhpcy5fbmV4dFBhZ2UkLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcChwID0+IHRoaXMubG9hZFBhZ2UocCkpLFxuICAgICAgICAgICAgbWFwKHBhZ2VMb2FkUmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFnZUxvYWRSZXN1bHQucmVxdWVzdENvbnRleHQgJiYgcGFnZUxvYWRSZXN1bHQucmVxdWVzdENvbnRleHQuY2xlYXJMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2Ugc2V0IGFuIGVtcHR5IHZhbHVlIHRvIHRoZSB2aXJ0dWFsIHNjcm9sbCBhbmQgdGhlbiByZXBsYWNlIGl0IGJ5IHRoZSByZWFsIHZhbHVlIGZvcmNpbmcgaXQgdG8gcmVkcmF3IGl0cyBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbe2Nhc2VzOiB7fSwgcmVxdWVzdENvbnRleHQ6IG51bGx9LCBwYWdlTG9hZFJlc3VsdF07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhcnJheVRvT2JzZXJ2YWJsZShyZXN1bHRzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YocGFnZUxvYWRSZXN1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY29uY2F0TWFwKG8gPT4gbyksXG4gICAgICAgICAgICBzY2FuKChhY2MsIHBhZ2VMb2FkUmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhZ2VMb2FkUmVzdWx0LnJlcXVlc3RDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlTG9hZFJlc3VsdC5jYXNlcztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5vZmYocGFnZUxvYWRSZXN1bHQucmVxdWVzdENvbnRleHQuZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9wYWdpbmF0aW9uLCBwYWdlTG9hZFJlc3VsdC5yZXF1ZXN0Q29udGV4dC5wYWdpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gey4uLmFjYywgLi4ucGFnZUxvYWRSZXN1bHQuY2FzZXN9O1xuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nhc2VzJCA9IGNhc2VzTWFwLnBpcGUoXG4gICAgICAgICAgICBtYXAodiA9PiBPYmplY3QudmFsdWVzKHYpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9sb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9uZXh0UGFnZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5pc0FjdGl2ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjYXNlcyQoKTogT2JzZXJ2YWJsZTxBcnJheTxDYXNlPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FzZXMkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFnaW5hdGlvbigpOiBQYWdpbmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZ2luYXRpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBhY3RpdmVGaWx0ZXIoKTogRmlsdGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFNlcnZpY2UuYWN0aXZlRmlsdGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkUGFnZShyZXF1ZXN0Q29udGV4dDogUGFnZUxvYWRSZXF1ZXN0Q29udGV4dCk6IE9ic2VydmFibGU8Q2FzZVBhZ2VMb2FkUmVxdWVzdFJlc3VsdD4ge1xuICAgICAgICBpZiAocmVxdWVzdENvbnRleHQgPT09IG51bGwgfHwgcmVxdWVzdENvbnRleHQucGFnZU51bWJlciA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7Y2FzZXM6IHt9LCByZXF1ZXN0Q29udGV4dH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICBwYXJhbXMgPSB0aGlzLmFkZFNvcnRQYXJhbXMocGFyYW1zKTtcbiAgICAgICAgcGFyYW1zID0gdGhpcy5hZGRQYWdlUGFyYW1zKHBhcmFtcywgcmVxdWVzdENvbnRleHQucGFnaW5hdGlvbik7XG4gICAgICAgIHRoaXMuX2xvYWRpbmckLm9uKHJlcXVlc3RDb250ZXh0LmZpbHRlcik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMocmVxdWVzdENvbnRleHQuZmlsdGVyLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdMb2FkaW5nIGNhc2VzIGhhcyBmYWlsZWQhJywgZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5vZmYocmVxdWVzdENvbnRleHQuZmlsdGVyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe2NvbnRlbnQ6IFtdLCBwYWdpbmF0aW9uOiB7Li4udGhpcy5fcGFnaW5hdGlvbn19KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByID0gcmVxdWVzdENvbnRleHQuZmlsdGVyID09PSB0aGlzLl9zZWFyY2hTZXJ2aWNlLmFjdGl2ZUZpbHRlcjtcbiAgICAgICAgICAgICAgICBpZiAoIXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9hZGluZyQub2ZmKHJlcXVlc3RDb250ZXh0LmZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnUmVjZWl2ZWQgY2FzZXMgcGFnZSBpcyBubyBsb25nZXIgcmVsZXZhbnQgc2luY2UgdGhlIGFjdGl2ZSBmaWx0ZXIgaGFzIGNoYW5nZWQgYmVmb3JlIGl0IGNvdWxkIGFycml2ZS4nXG4gICAgICAgICAgICAgICAgICAgICAgICArICcgRGlzY2FyZGluZy4uLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKGMgPT4ge1xuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocmVxdWVzdENvbnRleHQucGFnaW5hdGlvbiwgYy5wYWdpbmF0aW9uKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKGMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuZE9mRGF0YSA9ICFBcnJheS5pc0FycmF5KGMuY29udGVudClcbiAgICAgICAgICAgICAgICAgICAgfHwgYy5jb250ZW50Lmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICB8fCBjLnBhZ2luYXRpb24ubnVtYmVyID09PSBjLnBhZ2luYXRpb24udG90YWxQYWdlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKGNhc2VzID0+IEFycmF5LmlzQXJyYXkoY2FzZXMuY29udGVudCkgPyBjYXNlcyA6IHsuLi5jYXNlcywgY29udGVudDogW119KSxcbiAgICAgICAgICAgIG1hcChjYXNlcyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhc2VzLmNvbnRlbnQucmVkdWNlKChhY2MsIGN1cikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gey4uLmFjYywgW2N1ci5zdHJpbmdJZF06IGN1cn07XG4gICAgICAgICAgICAgICAgfSwge30pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoY2FzZXMgPT4gKHtjYXNlcywgcmVxdWVzdENvbnRleHR9KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmV4dFBhZ2UocmVuZGVyZWRSYW5nZTogTGlzdFJhbmdlLCB0b3RhbExvYWRlZDogbnVtYmVyLCByZXF1ZXN0Q29udGV4dD86IFBhZ2VMb2FkUmVxdWVzdENvbnRleHQpIHtcbiAgICAgICAgaWYgKHJlcXVlc3RDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlcXVlc3RDb250ZXh0ID0gbmV3IFBhZ2VMb2FkUmVxdWVzdENvbnRleHQodGhpcy5hY3RpdmVGaWx0ZXIsIHRoaXMuX3BhZ2luYXRpb24pO1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQucGFnaW5hdGlvbi5udW1iZXIgKz0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZ1JlbGV2YW50RmlsdGVyKHJlcXVlc3RDb250ZXh0KSB8fCB0aGlzLl9lbmRPZkRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZW5kZXJlZFJhbmdlLmVuZCA9PT0gdG90YWxMb2FkZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX25leHRQYWdlJC5uZXh0KHJlcXVlc3RDb250ZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0UGFnZVBhZ2luYXRpb24obGVuZ3RoOiBudW1iZXIsIHBhZ2VJbmRleDogbnVtYmVyLCByZXF1ZXN0Q29udGV4dD86IFBhZ2VMb2FkUmVxdWVzdENvbnRleHQpIHtcbiAgICAgICAgaWYgKHJlcXVlc3RDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlcXVlc3RDb250ZXh0ID0gbmV3IFBhZ2VMb2FkUmVxdWVzdENvbnRleHQodGhpcy5hY3RpdmVGaWx0ZXIsIHRoaXMuX3BhZ2luYXRpb24pO1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQucGFnaW5hdGlvbi5zaXplID0gbGVuZ3RoO1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQucGFnaW5hdGlvbi5udW1iZXIgPSBwYWdlSW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmdSZWxldmFudEZpbHRlcihyZXF1ZXN0Q29udGV4dCkgfHwgdGhpcy5fZW5kT2ZEYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbmV4dFBhZ2UkLm5leHQocmVxdWVzdENvbnRleHQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNMb2FkaW5nUmVsZXZhbnRGaWx0ZXIocmVxdWVzdENvbnRleHQ/OiBQYWdlTG9hZFJlcXVlc3RDb250ZXh0KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByZXF1ZXN0Q29udGV4dCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX2xvYWRpbmckLmlzQWN0aXZlV2l0aEZpbHRlcihyZXF1ZXN0Q29udGV4dC5maWx0ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVOZXdDYXNlKG5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb246IE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhID0ge1xuICAgICAgICBlbmFibGVDYXNlVGl0bGU6IHRydWUsXG4gICAgICAgIGlzQ2FzZVRpdGxlUmVxdWlyZWQ6IHRydWVcbiAgICB9KTogT2JzZXJ2YWJsZTxDYXNlPiB7XG4gICAgICAgIGNvbnN0IG15Q2FzZSA9IG5ldyBTdWJqZWN0PENhc2U+KCk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMuX25ld0Nhc2VDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnNDAlJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzAwcHgnLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogXCJkaWFsb2ctcmVzcG9uc2l2ZVwiLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFsbG93ZWROZXRzJDogdGhpcy5nZXROZXdDYXNlQWxsb3dlZE5ldHMobmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbi5ibG9ja05ldHMpLFxuICAgICAgICAgICAgICAgIG5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoJGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQ/LmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJGV2ZW50Lm1lc3NhZ2UsICRldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIG15Q2FzZS5uZXh0KCRldmVudC5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG15Q2FzZS5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG15Q2FzZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlRGVmYXVsdE5ld0Nhc2UobmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbjogTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAgIGVuYWJsZUNhc2VUaXRsZTogdHJ1ZSxcbiAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogdHJ1ZVxuICAgIH0pOiBPYnNlcnZhYmxlPENhc2U+IHtcbiAgICAgICAgY29uc3QgbXlDYXNlID0gbmV3IFN1YmplY3Q8Q2FzZT4oKTtcbiAgICAgICAgdGhpcy5nZXROZXdDYXNlQWxsb3dlZE5ldHMobmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbi5ibG9ja05ldHMpLnN1YnNjcmliZSgobmV0czogQXJyYXk8UGV0cmlOZXRSZWZlcmVuY2VXaXRoUGVybWlzc2lvbnM+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLmNyZWF0ZUNhc2Uoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiBudWxsLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncGFuZWwtcHJpbWFyeS1pY29uJyxcbiAgICAgICAgICAgICAgICBuZXRJZDogbmV0c1swXS5zdHJpbmdJZFxuICAgICAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5TdWNjZXNzU25hY2tCYXIodGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3NpZGUtbWVudS5uZXctY2FzZS5jcmVhdGVDYXNlJylcbiAgICAgICAgICAgICAgICAgICAgKyAnICcgKyB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLmRlZmF1bHRDYXNlTmFtZScpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIG15Q2FzZS5uZXh0KChyZXNwb25zZS5vdXRjb21lIGFzIENyZWF0ZUNhc2VFdmVudE91dGNvbWUpLmFDYXNlKTtcbiAgICAgICAgICAgICAgICBteUNhc2UuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHRoaXMuX3NuYWNrQmFyU2VydmljZS5vcGVuRXJyb3JTbmFja0JhcihlcnJvci5tZXNzYWdlID8gZXJyb3IubWVzc2FnZSA6IGVycm9yKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbXlDYXNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROZXdDYXNlQWxsb3dlZE5ldHMoYmxvY2tOZXRzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxBcnJheTxQZXRyaU5ldFJlZmVyZW5jZVdpdGhQZXJtaXNzaW9ucz4+IHtcbiAgICAgICAgaWYgKHRoaXMuX25ld0Nhc2VDb25maWd1cmF0aW9uLnVzZUNhY2hlZFByb2Nlc3Nlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FsbG93ZWROZXRzU2VydmljZS5hbGxvd2VkTmV0cyQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAobmV0ID0+IG5ldC5maWx0ZXIobiA9PiBibG9ja05ldHMuaW5kZXhPZihuLmlkZW50aWZpZXIpID09IC0xKSksXG4gICAgICAgICAgICAgICAgbWFwKG5ldCA9PiBuZXQuZmlsdGVyKG4gPT4gdGhpcy5fcGVybWlzc2lvblNlcnZpY2UuaGFzTmV0UGVybWlzc2lvbihQZXJtaXNzaW9uVHlwZS5DUkVBVEUsIG4pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWxsb3dlZE5ldHNTZXJ2aWNlLmFsbG93ZWROZXRzJC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChhbGxvd2VkTmV0cyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzU2VydmljZS5nZXROZXRSZWZlcmVuY2VzKGFsbG93ZWROZXRzLm1hcChuZXQgPT4gbmV0LmlkZW50aWZpZXIpKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKG5ldCA9PiBuZXQuZmlsdGVyKG4gPT4gYmxvY2tOZXRzLmluZGV4T2Yobi5pZGVudGlmaWVyKSA9PSAtMSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKG5ldCA9PiBuZXQuZmlsdGVyKG4gPT4gdGhpcy5fcGVybWlzc2lvblNlcnZpY2UuaGFzTmV0UGVybWlzc2lvbihQZXJtaXNzaW9uVHlwZS5DUkVBVEUsIG4pKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgbnVtYmVyIG9mIGFsbG93ZWQgbmV0cyBvZiBjYXNlIHZpZXdcbiAgICAgKiBAcmV0dXJucyBsZW5ndGggb2YgYWxsb3dlZE5ldHMgYXJyYXkgaWYgaXQgaXMgZGVmaW5lZCwgMCBpZiBpdCBpcyB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWxsb3dlZE5ldHNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxsb3dlZE5ldHNTZXJ2aWNlLmFsbG93ZWROZXRzID09PSB1bmRlZmluZWQgPyAwIDogdGhpcy5fYWxsb3dlZE5ldHNTZXJ2aWNlLmFsbG93ZWROZXRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkUGFnZVBhcmFtcyhwYXJhbXM6IEh0dHBQYXJhbXMsIHBhZ2luYXRpb246IFBhZ2luYXRpb24pOiBIdHRwUGFyYW1zIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgYCR7cGFnaW5hdGlvbi5zaXplfWApO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9OVU1CRVIsIGAke3BhZ2luYXRpb24ubnVtYmVyfWApO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREZWZhdWx0U29ydFBhcmFtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjcmVhdGVTb3J0UGFyYW0oJ3N0cmluZ0lkJywgUGFnaW5hdGlvblNvcnQuREVTQ0VORElORyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldE1ldGFGaWVsZFNvcnRJZCgpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuX2xhc3RIZWFkZXJTZWFyY2hTdGF0ZS5maWVsZElkZW50aWZpZXIpIHtcbiAgICAgICAgICAgIGNhc2UgQ2FzZU1ldGFGaWVsZC5USVRMRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RpdGxlLmtleXdvcmQnO1xuICAgICAgICAgICAgY2FzZSBDYXNlTWV0YUZpZWxkLlZJU1VBTF9JRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3Zpc3VhbElkLmtleXdvcmQnO1xuICAgICAgICAgICAgY2FzZSBDYXNlTWV0YUZpZWxkLkNSRUFUSU9OX0RBVEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdjcmVhdGlvbkRhdGVTb3J0YWJsZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sYXN0SGVhZGVyU2VhcmNoU3RhdGUuZmllbGRJZGVudGlmaWVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jYXNlcyQgfHwgIXRoaXMuX3BhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2VuZE9mRGF0YSA9IGZhbHNlO1xuICAgICAgICBjb25zdCByZXF1ZXN0Q29udGV4dCA9IG5ldyBQYWdlTG9hZFJlcXVlc3RDb250ZXh0KHRoaXMuYWN0aXZlRmlsdGVyLCB0aGlzLl9wYWdpbmF0aW9uLCB0cnVlKTtcbiAgICAgICAgcmVxdWVzdENvbnRleHQucGFnaW5hdGlvbi5udW1iZXIgPSAwO1xuICAgICAgICBjb25zdCByYW5nZSA9IHtcbiAgICAgICAgICAgIHN0YXJ0OiAtMSxcbiAgICAgICAgICAgIGVuZDogMFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubmV4dFBhZ2UocmFuZ2UsIDAsIHJlcXVlc3RDb250ZXh0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQXV0aG9yaXR5KGF1dGhvcml0eTogQXJyYXk8c3RyaW5nPiB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlci5oYXNBdXRob3JpdHkoYXV0aG9yaXR5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciBoYXMgdGhlIFtWSUVXXXtAbGluayBQZXJtaXNzaW9uVHlwZSNWSUVXfSBwZXJtaXNzaW9uIG9uIHRoZSBjdXJyZW50IGNhc2VcbiAgICAgKiBAcGFyYW0gYUNhc2UgdGhlIHRlc3RlZCBjYXNlXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHRoZSBgVklFV2AgcGVybWlzc2lvbiBvbiB0aGUgdGVzdGVkIGNhc2UsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyB2aWV3RW5hYmxlZChhQ2FzZTogQ2FzZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvblNlcnZpY2UuaGFzQ2FzZVBlcm1pc3Npb24oYUNhc2UsIFBlcm1pc3Npb25UeXBlLlZJRVcpO1xuICAgIH1cbn1cbiJdfQ==