ngx-edu-sharing-ui 9.1.1 → 9.1.2

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 (50) hide show
  1. package/esm2022/lib/actionbar/actionbar.component.mjs +31 -16
  2. package/esm2022/lib/directives/icon.directive.mjs +24 -7
  3. package/esm2022/lib/dropdown/dropdown.component.mjs +15 -8
  4. package/esm2022/lib/edu-sharing-ui.module.mjs +5 -1
  5. package/esm2022/lib/list-items/list-text/list-text.component.mjs +3 -5
  6. package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
  7. package/esm2022/lib/mds/mds.module.mjs +16 -0
  8. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  9. package/esm2022/lib/node-entries/entries-model.mjs +1 -1
  10. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +6 -4
  11. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +2 -2
  12. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +7 -3
  13. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +5 -3
  14. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +8 -3
  15. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +7 -5
  16. package/esm2022/lib/pipes/file-size.pipe.mjs +6 -5
  17. package/esm2022/lib/pipes/node-title.pipe.mjs +7 -1
  18. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +3 -3
  19. package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
  20. package/esm2022/lib/services/node-helper.service.mjs +5 -2
  21. package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
  22. package/esm2022/lib/services/ui.service.mjs +16 -1
  23. package/esm2022/lib/translations/translation-loader.mjs +12 -9
  24. package/esm2022/lib/translations/translations.service.mjs +24 -6
  25. package/esm2022/lib/types/option-item.mjs +6 -1
  26. package/esm2022/module.mjs +3 -1
  27. package/fesm2022/ngx-edu-sharing-ui.mjs +387 -110
  28. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  29. package/lib/actionbar/actionbar.component.d.ts +13 -3
  30. package/lib/directives/icon.directive.d.ts +5 -3
  31. package/lib/dropdown/dropdown.component.d.ts +6 -3
  32. package/lib/edu-sharing-ui.module.d.ts +7 -6
  33. package/lib/list-items/list-text/list-text.component.d.ts +1 -1
  34. package/lib/list-items/list-widget.d.ts +1 -1
  35. package/lib/mds/mds-helper.service.d.ts +37 -0
  36. package/lib/mds/mds.module.d.ts +6 -0
  37. package/lib/node-entries/entries-model.d.ts +1 -1
  38. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
  39. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +1 -0
  40. package/lib/node-entries/option-button/option-button.component.d.ts +2 -1
  41. package/lib/pipes/node-title.pipe.d.ts +2 -1
  42. package/lib/pipes/option-tooltip.pipe.d.ts +1 -1
  43. package/lib/services/abstract/options-helper.service.d.ts +1 -1
  44. package/lib/services/node-helper.service.d.ts +2 -2
  45. package/lib/services/options-helper-data.service.d.ts +3 -3
  46. package/lib/services/ui.service.d.ts +7 -1
  47. package/lib/translations/translations.service.d.ts +5 -2
  48. package/lib/types/option-item.d.ts +7 -2
  49. package/module.d.ts +2 -0
  50. package/package.json +1 -1
@@ -11,13 +11,15 @@ import * as i4 from "@ngx-translate/core";
11
11
  export class OptionButtonComponent {
12
12
  constructor() {
13
13
  this.isShown = false;
14
+ this.isEnabled = false;
14
15
  }
15
16
  async ngOnChanges(changes) {
17
+ this.isEnabled = await this.optionIsValid(this.option, this.node);
16
18
  this.isShown = await this.optionIsShown(this.option, this.node);
17
19
  }
18
- optionIsValid(optionItem, node) {
20
+ async optionIsValid(optionItem, node) {
19
21
  if (optionItem.enabledCallback) {
20
- return optionItem.enabledCallback(node);
22
+ return await optionItem.enabledCallback(node);
21
23
  }
22
24
  return optionItem.isEnabled;
23
25
  }
@@ -39,7 +41,7 @@ export class OptionButtonComponent {
39
41
  color="primary"
40
42
  matTooltip="{{ option.name | translate }}"
41
43
  [class.display-none]="!isShown"
42
- [disabled]="!optionIsValid(option, node)"
44
+ [disabled]="!isEnabled"
43
45
  (click)="click(option, node)"
44
46
  attr.data-test="option-button-{{ option.name }}"
45
47
  >
@@ -57,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
57
59
  color="primary"
58
60
  matTooltip="{{ option.name | translate }}"
59
61
  [class.display-none]="!isShown"
60
- [disabled]="!optionIsValid(option, node)"
62
+ [disabled]="!isEnabled"
61
63
  (click)="click(option, node)"
62
64
  attr.data-test="option-button-{{ option.name }}"
63
65
  >
@@ -70,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
70
72
  }], node: [{
71
73
  type: Input
72
74
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9vcHRpb24tYnV0dG9uL29wdGlvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNFLGtHQUFrRztBQUNsRyxnR0FBZ0c7QUFDaEcsNEZBQTRGO0FBQzVGLFdBQVc7QUFrQlgsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFvQkksWUFBTyxHQUFHLEtBQUssQ0FBQztLQXdCbkI7SUF2QkcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFzQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUM1QyxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUMxRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUU7WUFDekIsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBa0IsRUFBRSxJQUFVO1FBQ3RDLElBQUksTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQzs4R0EzQlEscUJBQXFCO2tHQUFyQixxQkFBcUIseUhBZHBCOzs7Ozs7Ozs7Ozs7S0FZVDs7MkZBRVEscUJBQXFCO2tCQWhCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztLQVlUO2lCQUNKOzhCQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG4vLyBUT0RPOiBEZWNpZGUgaWYgcHJvdmlkaW5nIGZvY3VzIGhpZ2hsaWdodHMgYW5kIHJpcHBsZXMgd2l0aCB0aGlzIGNvbXBvbmVudCBpcyBhIGdvb2QgaWRlYS4gV2hlblxuLy8gdXNpbmcgYGFwcC1ub2RlLXVybGAgZm9yIGNhcmRzLCB3ZSBtaWdodCBuZWVkIGhpZ2hsaWdodHMgYW5kIHJpcHBsZXMgZm9yIHRoZSB3aG9sZSBjYXJkIHdoaWxlXG4vLyBgYXBwLW5vZGUtdXJsYCBzaG91bGQgb25seSB3cmFwIHRoZSB0aXRsZSBzaW5jZSBsaW5rcyB3aXRoIGxvdHMgb2YgY29udGVudCBjb25mdXNlIHNjcmVlblxuLy8gcmVhZGVycy5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1vcHRpb24tYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhaXNTaG93blwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbklzVmFsaWQob3B0aW9uLCBub2RlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uLCBub2RlKVwiXG4gICAgICAgICAgICBhdHRyLmRhdGEtdGVzdD1cIm9wdGlvbi1idXR0b24te3sgb3B0aW9uLm5hbWUgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBlc0ljb249XCJ7eyBvcHRpb24uaWNvbiB9fVwiIFthcmlhXT1cImZhbHNlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogT3B0aW9uSXRlbTtcbiAgICBASW5wdXQoKSBub2RlOiBOb2RlO1xuXG4gICAgaXNTaG93biA9IGZhbHNlO1xuICAgIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5pc1Nob3duID0gYXdhaXQgdGhpcy5vcHRpb25Jc1Nob3duKHRoaXMub3B0aW9uLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIG9wdGlvbklzVmFsaWQob3B0aW9uSXRlbTogT3B0aW9uSXRlbSwgbm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAob3B0aW9uSXRlbS5lbmFibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25JdGVtLmVuYWJsZWRDYWxsYmFjayhub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5pc0VuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBvcHRpb25Jc1Nob3duKG9wdGlvbkl0ZW06IE9wdGlvbkl0ZW0sIG5vZGU6IE5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKG9wdGlvbkl0ZW0uc2hvd0NhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5zaG93Q2FsbGJhY2sobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLm9wdGlvbklzU2hvd24ob3B0aW9uLCBub2RlKSkge1xuICAgICAgICAgICAgb3B0aW9uLmNhbGxiYWNrKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9vcHRpb24tYnV0dG9uL29wdGlvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNFLGtHQUFrRztBQUNsRyxnR0FBZ0c7QUFDaEcsNEZBQTRGO0FBQzVGLFdBQVc7QUFrQlgsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFvQkksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBeUJyQjtJQXhCRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUNsRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUU7WUFDNUIsT0FBTyxNQUFNLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBc0IsRUFBRSxJQUFVO1FBQzFELElBQUksVUFBVSxDQUFDLFlBQVksRUFBRTtZQUN6QixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFrQixFQUFFLElBQVU7UUFDdEMsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzhHQTdCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5SEFkcEI7Ozs7Ozs7Ozs7OztLQVlUOzsyRkFFUSxxQkFBcUI7a0JBaEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7aUJBQ0o7OEJBRVksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbi8vIFRPRE86IERlY2lkZSBpZiBwcm92aWRpbmcgZm9jdXMgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyB3aXRoIHRoaXMgY29tcG9uZW50IGlzIGEgZ29vZCBpZGVhLiBXaGVuXG4vLyB1c2luZyBgYXBwLW5vZGUtdXJsYCBmb3IgY2FyZHMsIHdlIG1pZ2h0IG5lZWQgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyBmb3IgdGhlIHdob2xlIGNhcmQgd2hpbGVcbi8vIGBhcHAtbm9kZS11cmxgIHNob3VsZCBvbmx5IHdyYXAgdGhlIHRpdGxlIHNpbmNlIGxpbmtzIHdpdGggbG90cyBvZiBjb250ZW50IGNvbmZ1c2Ugc2NyZWVuXG4vLyByZWFkZXJzLlxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLW9wdGlvbi1idXR0b24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFpc1Nob3duXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNFbmFibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGljayhvcHRpb24sIG5vZGUpXCJcbiAgICAgICAgICAgIGF0dHIuZGF0YS10ZXN0PVwib3B0aW9uLWJ1dHRvbi17eyBvcHRpb24ubmFtZSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGVzSWNvbj1cInt7IG9wdGlvbi5pY29uIH19XCIgW2FyaWFdPVwiZmFsc2VcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgb3B0aW9uOiBPcHRpb25JdGVtO1xuICAgIEBJbnB1dCgpIG5vZGU6IE5vZGU7XG5cbiAgICBpc1Nob3duID0gZmFsc2U7XG4gICAgaXNFbmFibGVkID0gZmFsc2U7XG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLmlzRW5hYmxlZCA9IGF3YWl0IHRoaXMub3B0aW9uSXNWYWxpZCh0aGlzLm9wdGlvbiwgdGhpcy5ub2RlKTtcbiAgICAgICAgdGhpcy5pc1Nob3duID0gYXdhaXQgdGhpcy5vcHRpb25Jc1Nob3duKHRoaXMub3B0aW9uLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIGFzeW5jIG9wdGlvbklzVmFsaWQob3B0aW9uSXRlbTogT3B0aW9uSXRlbSwgbm9kZTogTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAob3B0aW9uSXRlbS5lbmFibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBvcHRpb25JdGVtLmVuYWJsZWRDYWxsYmFjayhub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5pc0VuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBvcHRpb25Jc1Nob3duKG9wdGlvbkl0ZW06IE9wdGlvbkl0ZW0sIG5vZGU6IE5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKG9wdGlvbkl0ZW0uc2hvd0NhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5zaG93Q2FsbGJhY2sobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLm9wdGlvbklzU2hvd24ob3B0aW9uLCBub2RlKSkge1xuICAgICAgICAgICAgb3B0aW9uLmNhbGxiYWNrKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -16,10 +16,11 @@ export class FormatSizePipe {
16
16
  value /= 1024;
17
17
  i++;
18
18
  }
19
- //return value+" "+names[i];
20
- return (value.toLocaleString(this.translate.currentLang === 'none' ? 'en' : this.translate.currentLang, { maximumFractionDigits: 1 }) +
21
- ' ' +
22
- names[i]);
19
+ let options = {
20
+ maximumFractionDigits: i > 1 ? 1 : 0,
21
+ };
22
+ let numberFormat = new Intl.NumberFormat([], options);
23
+ return numberFormat.format(value) + ' ' + names[i];
23
24
  }
24
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FormatSizePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
25
26
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: FormatSizePipe, name: "formatSize" }); }
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
28
29
  type: Pipe,
29
30
  args: [{ name: 'formatSize' }]
30
31
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBaUIsSUFBSTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDdEMsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNkLENBQUMsRUFBRSxDQUFDO1NBQ1A7UUFDRCw0QkFBNEI7UUFDNUIsT0FBTyxDQUNILEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFDekUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLEVBQUUsQ0FDL0I7WUFDRCxHQUFHO1lBQ0gsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNYLENBQUM7SUFDTixDQUFDOzhHQXJCUSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdmb3JtYXRTaXplJyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1hdFNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWVzID0gWydieXRlcycsICdLQicsICdNQicsICdHQicsICdUQiddO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHZhbHVlID0gMDtcbiAgICAgICAgd2hpbGUgKHZhbHVlID49IDEwMjQgJiYgaSA8IG5hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsdWUgLz0gMTAyNDtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICAvL3JldHVybiB2YWx1ZStcIiBcIituYW1lc1tpXTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHZhbHVlLnRvTG9jYWxlU3RyaW5nKFxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nID09PSAnbm9uZScgPyAnZW4nIDogdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcsXG4gICAgICAgICAgICAgICAgeyBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDEgfSxcbiAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgIG5hbWVzW2ldXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBaUIsSUFBSTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDdEMsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNkLENBQUMsRUFBRSxDQUFDO1NBQ1A7UUFDRCxJQUFJLE9BQU8sR0FBNkI7WUFDcEMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDLENBQUM7UUFDRixJQUFJLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OEdBakJRLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtLCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ2Zvcm1hdFNpemUnIH0pXG5leHBvcnQgY2xhc3MgRm9ybWF0U2l6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzOiBzdHJpbmdbXSA9IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbmFtZXMgPSBbJ2J5dGVzJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgaWYgKGlzTmFOKHZhbHVlKSkgcmV0dXJuIHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkgdmFsdWUgPSAwO1xuICAgICAgICB3aGlsZSAodmFsdWUgPj0gMTAyNCAmJiBpIDwgbmFtZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB2YWx1ZSAvPSAxMDI0O1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICAgIGxldCBvcHRpb25zOiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGkgPiAxID8gMSA6IDAsXG4gICAgICAgIH07XG4gICAgICAgIGxldCBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW10sIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gbnVtYmVyRm9ybWF0LmZvcm1hdCh2YWx1ZSkgKyAnICcgKyBuYW1lc1tpXTtcbiAgICB9XG59XG4iXX0=
@@ -4,6 +4,12 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  export class NodeTitlePipe {
6
6
  transform(node, args = null) {
7
+ if (!node.name) {
8
+ if (node === 'HOME') {
9
+ return this.translate.instant('WORKSPACE.' + node);
10
+ }
11
+ return this.translate.instant('WORKSPACE.' + node);
12
+ }
7
13
  return RestHelper.getTitle(node);
8
14
  }
9
15
  constructor(translate) {
@@ -16,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
16
22
  type: Pipe,
17
23
  args: [{ name: 'nodeTitle' }]
18
24
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHakQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsU0FBUyxDQUFDLElBQVUsRUFBRSxPQUFpQixJQUFJO1FBQ3ZDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQUoxQyxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgUmVzdEhlbHBlciB9IGZyb20gJy4uL3V0aWwvcmVzdC1oZWxwZXInO1xuXG5AUGlwZSh7IG5hbWU6ICdub2RlVGl0bGUnIH0pXG5leHBvcnQgY2xhc3MgTm9kZVRpdGxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShub2RlOiBOb2RlLCBhcmdzOiBzdHJpbmdbXSA9IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gUmVzdEhlbHBlci5nZXRUaXRsZShub2RlKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsU0FBUyxDQUFDLElBQThCLEVBQUUsT0FBaUIsSUFBSTtRQUMzRCxJQUFJLENBQUUsSUFBYSxDQUFDLElBQUksRUFBRTtZQUN0QixJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3REO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUcsQ0FBQzs4R0FWMUMsYUFBYTs0R0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IFJlc3RIZWxwZXIgfSBmcm9tICcuLi91dGlsL3Jlc3QtaGVscGVyJztcbmltcG9ydCB7IE5vZGVSb290IH0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwnO1xuXG5AUGlwZSh7IG5hbWU6ICdub2RlVGl0bGUnIH0pXG5leHBvcnQgY2xhc3MgTm9kZVRpdGxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShub2RlOiBOb2RlIHwgTm9kZVJvb3QgfCAnSE9NRScsIGFyZ3M6IHN0cmluZ1tdID0gbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghKG5vZGUgYXMgTm9kZSkubmFtZSkge1xuICAgICAgICAgICAgaWYgKG5vZGUgPT09ICdIT01FJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdXT1JLU1BBQ0UuJyArIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ1dPUktTUEFDRS4nICsgbm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFJlc3RIZWxwZXIuZ2V0VGl0bGUobm9kZSBhcyBOb2RlKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG59XG4iXX0=
@@ -5,8 +5,8 @@ export class OptionTooltipPipe {
5
5
  constructor(translate) {
6
6
  this.translate = translate;
7
7
  }
8
- transform(option, args = null) {
9
- return (this.translate.instant(option.name) +
8
+ async transform(option, args = null) {
9
+ return ((await this.translate.get(option.name).toPromise()) +
10
10
  (option.keyboardShortcut ? ' (' + this.getKeyInfo(option) + ')' : ''));
11
11
  }
12
12
  getKeyInfo(option) {
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
30
30
  type: Pipe,
31
31
  args: [{ name: 'optionTooltip' }]
32
32
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXRvb2x0aXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvcGlwZXMvb3B0aW9uLXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxNQUFrQixFQUFFLE9BQWlCLElBQUk7UUFDL0MsT0FBTyxDQUNILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDbkMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3hFLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWtCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6RCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sQ0FDSCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO0lBQ04sQ0FBQzs4R0F6QlEsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcblxuQFBpcGUoeyBuYW1lOiAnb3B0aW9uVG9vbHRpcCcgfSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Ub29sdGlwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgdHJhbnNmb3JtKG9wdGlvbjogT3B0aW9uSXRlbSwgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQob3B0aW9uLm5hbWUpICtcbiAgICAgICAgICAgIChvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCA/ICcgKCcgKyB0aGlzLmdldEtleUluZm8ob3B0aW9uKSArICcpJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEtleUluZm8ob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RpZmllcnMgPSBbXTtcbiAgICAgICAgaWYgKG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0Lm1vZGlmaWVycz8uaW5jbHVkZXMoJ1NoaWZ0JykpIHtcbiAgICAgICAgICAgIG1vZGlmaWVycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0tFWV9NT0RJRklFUi5TSElGVCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9uLmtleWJvYXJkU2hvcnRjdXQubW9kaWZpZXJzPy5pbmNsdWRlcygnQ3RybC9DbWQnKSkge1xuICAgICAgICAgICAgbW9kaWZpZXJzLnB1c2godGhpcy50cmFuc2xhdGUuaW5zdGFudCgnS0VZX01PRElGSUVSLkNUUkwnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChtb2RpZmllcnMubGVuZ3RoID8gbW9kaWZpZXJzLmpvaW4oJyArICcpICsgJyArICcgOiAnJykgK1xuICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQua2V5Q29kZS5yZXBsYWNlKCdLZXknLCAnJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXRvb2x0aXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvcGlwZXMvb3B0aW9uLXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBa0IsRUFBRSxPQUFpQixJQUFJO1FBQ3JELE9BQU8sQ0FDSCxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25ELENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN4RSxDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFrQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0RCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekQsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLENBQ0gsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDckQsQ0FBQztJQUNOLENBQUM7OEdBekJRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5cbkBQaXBlKHsgbmFtZTogJ29wdGlvblRvb2x0aXAnIH0pXG5leHBvcnQgY2xhc3MgT3B0aW9uVG9vbHRpcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAgIGFzeW5jIHRyYW5zZm9ybShvcHRpb246IE9wdGlvbkl0ZW0sIGFyZ3M6IHN0cmluZ1tdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRlLmdldChvcHRpb24ubmFtZSkudG9Qcm9taXNlKCkpICtcbiAgICAgICAgICAgIChvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCA/ICcgKCcgKyB0aGlzLmdldEtleUluZm8ob3B0aW9uKSArICcpJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEtleUluZm8ob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RpZmllcnMgPSBbXTtcbiAgICAgICAgaWYgKG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0Lm1vZGlmaWVycz8uaW5jbHVkZXMoJ1NoaWZ0JykpIHtcbiAgICAgICAgICAgIG1vZGlmaWVycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0tFWV9NT0RJRklFUi5TSElGVCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9uLmtleWJvYXJkU2hvcnRjdXQubW9kaWZpZXJzPy5pbmNsdWRlcygnQ3RybC9DbWQnKSkge1xuICAgICAgICAgICAgbW9kaWZpZXJzLnB1c2godGhpcy50cmFuc2xhdGUuaW5zdGFudCgnS0VZX01PRElGSUVSLkNUUkwnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChtb2RpZmllcnMubGVuZ3RoID8gbW9kaWZpZXJzLmpvaW4oJyArICcpICsgJyArICcgOiAnJykgK1xuICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQua2V5Q29kZS5yZXBsYWNlKCdLZXknLCAnJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class OptionsHelperService {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG9CQUFvQjtDQXdCekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EYXRhLCBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB9IGZyb20gJy4uL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBUYXJnZXQgfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zSGVscGVyU2VydmljZSB7XG4gICAgYWJzdHJhY3Qgd3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhOiBPcHRpb25EYXRhKTogT3B0aW9uRGF0YTtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBnZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdLFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG5cbiAgICBhYnN0cmFjdCBwYXN0ZU5vZGUoY29tcG9uZW50czogT3B0aW9uc0hlbHBlckNvbXBvbmVudHMsIGRhdGE6IE9wdGlvbkRhdGEsIG5vZGVzOiBOb2RlW10pOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgZmlsdGVyT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogT3B0aW9uSXRlbVtdLFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdIHwgYW55LFxuICAgICk6IFByb21pc2U8T3B0aW9uSXRlbVtdPjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG9CQUFvQjtDQTZCekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EYXRhLCBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB9IGZyb20gJy4uL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBUYXJnZXQgfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zSGVscGVyU2VydmljZSB7XG4gICAgYWJzdHJhY3Qgd3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhOiBPcHRpb25EYXRhKTogT3B0aW9uRGF0YTtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBnZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdLFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG5cbiAgICBhYnN0cmFjdCBwYXN0ZU5vZGUoXG4gICAgICAgIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzLFxuICAgICAgICBkYXRhOiBPcHRpb25EYXRhLFxuICAgICAgICBhZGRWaXJ1dGFsTm9kZXM6IGJvb2xlYW4sXG4gICAgICAgIG5vZGVzOiBOb2RlW10sXG4gICAgKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGZpbHRlck9wdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSxcbiAgICAgICAgdGFyZ2V0OiBUYXJnZXQsXG4gICAgICAgIGRhdGE6IE9wdGlvbkRhdGEsXG4gICAgICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG59XG4iXX0=
@@ -88,7 +88,7 @@ export class NodeHelperService {
88
88
  if (icon == 'none' && !useNoneAsFallback)
89
89
  return null;
90
90
  const result = this.apiHelpersService.getServerUrl() + '/../ccimages/licenses/' + icon + '.svg';
91
- return this.repoUrlService.withCurrentOrigin(result);
91
+ return result;
92
92
  }
93
93
  /**
94
94
  * Return a translated name of a license name for a node
@@ -185,6 +185,9 @@ export class NodeHelperService {
185
185
  target.properties = source.properties;
186
186
  target.name = source.name;
187
187
  target.title = source.title;
188
+ target.authorityName = source.authorityName;
189
+ target.profile = source.profile;
190
+ target.status = source.status;
188
191
  }
189
192
  isNodeCollection(node) {
190
193
  return node.aspects?.includes(RestConstants.CCM_ASPECT_COLLECTION) || !!node.collection;
@@ -254,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
254
257
  type: Inject,
255
258
  args: [ASSETS_BASE_PATH]
256
259
  }] }]; } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU1ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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QkFDL0QsV0FBVyxFQUFFO3dCQUNULFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3dCQUMzQyxRQUFRLEVBQUcsSUFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ2pELGtCQUFrQixFQUFHLElBQXFCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3hFO2lCQUNKLENBQUM7YUFDTDtTQUNKO1FBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtZQUN2QixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2hDO1FBQ0Qsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQzs4R0FsUFEsaUJBQWlCLDRLQU9GLGdCQUFnQjtrSEFQL0IsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgTmV0d29ya1NlcnZpY2UsXG4gICAgTm9kZSxcbiAgICBQcm9wb3NhbE5vZGUsXG4gICAgUmVzdENvbnN0YW50cyxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgKiBhcyBXb3JrZmxvdyBmcm9tICcuLi90eXBlcy93b3JrZmxvdyc7XG5pbXBvcnQgeyBSZXBvVXJsU2VydmljZSB9IGZyb20gJy4vcmVwby11cmwuc2VydmljZSc7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBBU1NFVFNfQkFTRV9QQVRIIH0gZnJvbSAnLi4vdHlwZXMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlSGVscGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhcGlIZWxwZXJzU2VydmljZTogQXBpSGVscGVyc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVwb1VybFNlcnZpY2U6IFJlcG9VcmxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIHByaXZhdGUgYXNzZXRzQmFzZVBhdGg6IHN0cmluZyxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2V0Q29sbGVjdGlvblNjb3BlSW5mbyhub2RlOiBOb2RlKTogeyBpY29uOiBzdHJpbmc7IHNjb3BlTmFtZTogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCBzY29wZSA9IG5vZGUuY29sbGVjdGlvbiA/IG5vZGUuY29sbGVjdGlvbi5zY29wZSA6IG51bGw7XG4gICAgICAgIGxldCBpY29uID0gJ2hlbHAnO1xuICAgICAgICBsZXQgc2NvcGVOYW1lID0gJ1VOS05PV04nO1xuICAgICAgICBpZiAoc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX01ZKSB7XG4gICAgICAgICAgICBpY29uID0gJ2xvY2snO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ01ZJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfT1JHQSB8fFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0NVU1RPTVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGljb24gPSAnZ3JvdXAnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1NIQVJFRCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0FMTCB8fFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0NVU1RPTV9QVUJMSUNcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2xhbmd1YWdlJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdQVUJMSUMnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNvbGxlY3Rpb24/LnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlRZUEVfRURJVE9SSUFMKSB7XG4gICAgICAgICAgICBpY29uID0gJ3N0YXInO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfRURJVE9SSUFMJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX01FRElBX0NFTlRFUikge1xuICAgICAgICAgICAgaWNvbiA9ICdidXNpbmVzcyc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnVFlQRV9NRURJQV9DRU5URVInO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb24sIHNjb3BlTmFtZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGxpY2Vuc2UgaWNvbiBvZiBhIG5vZGVcbiAgICAgKi9cbiAgICBhc3luYyBnZXRMaWNlbnNlSWNvbihub2RlOiBOb2RlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgLy8gcHJlZmVyIG1hbnVhbCBtYXBwaW5nIGluc3RlYWQgb2YgYmFja2VuZCBkYXRhIHRvIHN1cHBvcnQgY3VzdG9tIHN0YXRlcyBmcm9tIGxvY2FsIGVkaXRzXG4gICAgICAgIGNvbnN0IGxpY2Vuc2UgPSBub2RlLnByb3BlcnRpZXM/LltSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0VdPy5bMF07XG4gICAgICAgIGlmIChsaWNlbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlSWNvbkJ5U3RyaW5nKGxpY2Vuc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlLmxpY2Vuc2UgPyB0aGlzLnJlcG9VcmxTZXJ2aWNlLmdldFJlcG9Vcmwobm9kZS5saWNlbnNlLmljb24sIG5vZGUpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYSBsaWNlbnNlIGljb24gYnkgdXNpbmcgdGhlIHByb3BlcnR5IHZhbHVlIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlSWNvbkJ5U3RyaW5nKHN0cmluZzogU3RyaW5nLCB1c2VOb25lQXNGYWxsYmFjayA9IHRydWUpOiBzdHJpbmcge1xuICAgICAgICBsZXQgaWNvbiA9IHN0cmluZy5yZXBsYWNlKC9fL2csICctJykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGljb24gPT0gJycpIGljb24gPSAnbm9uZSc7XG5cbiAgICAgICAgY29uc3QgTElDRU5TRV9JQ09OUyA9IFtcbiAgICAgICAgICAgICdjYy0wJyxcbiAgICAgICAgICAgICdjYy1ieS1uYycsXG4gICAgICAgICAgICAnY2MtYnktbmMtbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLXNhJyxcbiAgICAgICAgICAgICdjYy1ieS1uZCcsXG4gICAgICAgICAgICAnY2MtYnktc2EnLFxuICAgICAgICAgICAgJ2NjLWJ5JyxcbiAgICAgICAgICAgICdjb3B5cmlnaHQtZnJlZScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWxpY2Vuc2UnLFxuICAgICAgICAgICAgJ2N1c3RvbScsXG4gICAgICAgICAgICAnZWR1LW5jLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZCcsXG4gICAgICAgICAgICAnZWR1LXAtbnItbmQtbm9EbycsXG4gICAgICAgICAgICAnZWR1LXAtbnItbmQnLFxuICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgJ3BkbScsXG4gICAgICAgICAgICAnc2NodWxmdW5rJyxcbiAgICAgICAgICAgICd1bnRlcnJpY2h0cy11bmQtbGVocm1lZGllbicsXG4gICAgICAgIF07XG4gICAgICAgIGlmIChMSUNFTlNFX0lDT05TLmluZGV4T2YoaWNvbikgPT0gLTEgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDsgLy8gaWNvbj0nbm9uZSc7XG4gICAgICAgIGlmIChpY29uID09ICdub25lJyAmJiAhdXNlTm9uZUFzRmFsbGJhY2spIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCByZXN1bHQgPVxuICAgICAgICAgICAgdGhpcy5hcGlIZWxwZXJzU2VydmljZS5nZXRTZXJ2ZXJVcmwoKSArICcvLi4vY2NpbWFnZXMvbGljZW5zZXMvJyArIGljb24gKyAnLnN2Zyc7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcG9VcmxTZXJ2aWNlLndpdGhDdXJyZW50T3JpZ2luKHJlc3VsdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHRyYW5zbGF0ZWQgbmFtZSBvZiBhIGxpY2Vuc2UgbmFtZSBmb3IgYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGVcbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAgICogQHJldHVybnMge3N0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd9XG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VOYW1lKG5vZGU6IE5vZGUpIHtcbiAgICAgICAgbGV0IHByb3AgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAoIXByb3ApIHByb3AgPSAnJztcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZU5hbWVCeVN0cmluZyhwcm9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgZm9yIGEgbGljZW5zZSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gc3RyaW5nXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VOYW1lQnlTdHJpbmcobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChuYW1lID09ICcnKSB7XG4gICAgICAgICAgICBuYW1lID0gJ05PTkUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdMSUNFTlNFLk5BTUVTLicgKyBuYW1lKTtcbiAgICAgICAgLy8gcmV0dXJuIG5hbWUucmVwbGFjZSgvXy9nLFwiLVwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm4gdGhlIExpY2Vuc2UgVVJMIChlLmcuIGZvciBDQ19CWSBsaWNlbnNlcykgZm9yIGEgbGljZW5zZSBzdHJpbmcgYW5kIHZlcnNpb25cbiAgICAgKiBAcGFyYW0gbGljZW5zZVByb3BlcnR5XG4gICAgICogQHBhcmFtIGxpY2Vuc2VWZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VMb2NhbGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZVVybEJ5U3RyaW5nKFxuICAgICAgICBsaWNlbnNlUHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgbGljZW5zZVZlcnNpb246IHN0cmluZyxcbiAgICAgICAgbGljZW5zZUxvY2FsZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBjb25zdCBpc1Y0ID0gbGljZW5zZVZlcnNpb24gPT09ICc0LjAnO1xuICAgICAgICBjb25zdCBsb2NhbGUgPSBpc1Y0IHx8ICFsaWNlbnNlTG9jYWxlID8gJycgOiBsaWNlbnNlTG9jYWxlLnRvTG93ZXJDYXNlKCkgKyAnLyc7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLmdldChgTElDRU5TRS5VUkxTLiR7bGljZW5zZVByb3BlcnR5fWAsIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiBsaWNlbnNlVmVyc2lvbixcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHVybDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIHRyYW5zbGF0aW9uIGZhaWxzIGl0IG1pZ2h0IHJldHVybiBzb21ldGhpbmcgbGlrZSAnTElDRU5TRS5VUkxTLnVuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF1cmwgfHwgdXJsLnN0YXJ0c1dpdGgoJ0xJQ0VOU0UuVVJMUycpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1Y0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IHRoZSBpbnRlcm5hdGlvbmFsIDQuMCB2ZXJzaW9uIHN1cHBvcnRzIGRpZmZlcmVudCBsYW5ndWFnZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoaXMgcGFydCBuZWVkcyB0byBiZSByZW1vdmVkIGZvciBhbGwgb3RoZXIgdmVyc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCcuZGUnLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFdvcmtmbG93U3RhdHVzQnlJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHdvcmtmbG93cyA9IHRoaXMuZ2V0V29ya2Zsb3dzKCk7XG4gICAgICAgIHJldHVybiB3b3JrZmxvd3MuZmlsdGVyKCh3KSA9PiB3LmlkID09PSBpZCk/LlswXTtcbiAgICB9XG4gICAgcHVibGljIGdldFdvcmtmbG93U3RhdHVzKG5vZGU6IE5vZGUsIHVzZUZyb21Db25maWcgPSBmYWxzZSk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvblN0YXR1cyB7XG4gICAgICAgIGxldCB2YWx1ZSA9IG5vZGUucHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX1dGX1NUQVRVU10/LlswXTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFdvcmtmbG93U3RhdHVzKHVzZUZyb21Db25maWcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJyZW50OiB0aGlzLmdldFdvcmtmbG93U3RhdHVzQnlJZCh2YWx1ZSksXG4gICAgICAgICAgICBpbml0aWFsOiB0aGlzLmdldFdvcmtmbG93U3RhdHVzQnlJZCh2YWx1ZSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgICAgIGluaXRpYWw6IG51bGwgYXMgV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgICAgICB9O1xuICAgICAgICByZXN1bHQuaW5pdGlhbCA9IHRoaXMuZ2V0V29ya2Zsb3dzKClbMF07XG4gICAgICAgIGxldCBkZWZhdWx0U3RhdHVzOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAodXNlRnJvbUNvbmZpZykge1xuICAgICAgICAgICAgZGVmYXVsdFN0YXR1cyA9IHRoaXMuY29uZmlnU2VydmljZS5pbnN0YW50KCd3b3JrZmxvdy5kZWZhdWx0U3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZmF1bHRTdGF0dXMpIHtcbiAgICAgICAgICAgIHJlc3VsdC5jdXJyZW50ID0gdGhpcy5nZXRXb3JrZmxvd3MoKS5maW5kKCh3KSA9PiB3LmlkID09PSBkZWZhdWx0U3RhdHVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdC5jdXJyZW50ID0gcmVzdWx0LmluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZ2V0V29ya2Zsb3dzKCk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5pbnN0YW50KCd3b3JrZmxvdy53b3JrZmxvd3MnLCBbXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfVU5DSEVDS0VELFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1RPX0NIRUNLLFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX0hBU0ZMQVdTLFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX0NIRUNLRUQsXG4gICAgICAgIF0pO1xuICAgIH1cbiAgICBjb3B5RGF0YVRvTm9kZTxUIGV4dGVuZHMgTm9kZT4odGFyZ2V0OiBULCBzb3VyY2U6IFQpIHtcbiAgICAgICAgdGFyZ2V0LnByb3BlcnRpZXMgPSBzb3VyY2UucHJvcGVydGllcztcbiAgICAgICAgdGFyZ2V0Lm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICAgICAgdGFyZ2V0LnRpdGxlID0gc291cmNlLnRpdGxlO1xuICAgIH1cbiAgICBpc05vZGVDb2xsZWN0aW9uKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuYXNwZWN0cz8uaW5jbHVkZXMoUmVzdENvbnN0YW50cy5DQ01fQVNQRUNUX0NPTExFQ1RJT04pIHx8ICEhbm9kZS5jb2xsZWN0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0U291cmNlSWNvblBhdGgoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmFzc2V0c0Jhc2VQYXRoID8/ICcnKSArICdhc3NldHMvaW1hZ2VzL3NvdXJjZXMvJyArIHNyYy50b0xvd2VyQ2FzZSgpICsgJy5wbmcnO1xuICAgIH1cblxuICAgIGdldE5vZGVMaW5rKG1vZGU6ICdyb3V0ZXJMaW5rJyB8ICdxdWVyeVBhcmFtcycsIG5vZGU6IE5vZGUpIHtcbiAgICAgICAgaWYgKCFub2RlPy5yZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkYXRhOiB7IHJvdXRlckxpbms6IHN0cmluZzsgcXVlcnlQYXJhbXM6IFBhcmFtcyB9ID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuaXNOb2RlQ29sbGVjdGlvbihub2RlKSkge1xuICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ2NvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBpZDogbm9kZS5yZWYuaWQgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobm9kZS5pc0RpcmVjdG9yeSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXRoO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9FRFVTQ09QRU5BTUVdPy5bMF0gPT09XG4gICAgICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuU0FGRV9TQ09QRVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBwYXRoID0gVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICd3b3Jrc3BhY2Uvc2FmZSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZS5yZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmcm9tSG9tZSA9IHRoaXMubmV0d29ya1NlcnZpY2UuaXNGcm9tSG9tZVJlcG9zaXRvcnkobm9kZSk7XG4gICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdyZW5kZXIvJyArIG5vZGUucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogZnJvbUhvbWUgPyBudWxsIDogbm9kZS5yZWYucmVwbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bvc2FsOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsPy5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbENvbGxlY3Rpb246IChub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWxDb2xsZWN0aW9uPy5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlID09PSAncm91dGVyTGluaycpIHtcbiAgICAgICAgICAgIHJldHVybiAnLycgKyBkYXRhLnJvdXRlckxpbms7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZW5mb3JjZSBjbGVhcmluZyBvZiBwYXJhbWV0ZXJzIHdoaWNoIHNob3VsZCBvbmx5IGJlIGNvbnN1bWVkIG9uY2VcbiAgICAgICAgZGF0YS5xdWVyeVBhcmFtcy5yZWRpcmVjdEZyb21TU08gPSBudWxsO1xuICAgICAgICByZXR1cm4gZGF0YS5xdWVyeVBhcmFtcztcbiAgICB9XG59XG4iXX0=
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU9ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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SSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksR0FBRztvQkFDSCxVQUFVLEVBQUUsV0FBVyxDQUFDLGFBQWEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMvRCxXQUFXLEVBQUU7d0JBQ1QsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7d0JBQzNDLFFBQVEsRUFBRyxJQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTt3QkFDakQsa0JBQWtCLEVBQUcsSUFBcUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsRUFBRTtxQkFDeEU7aUJBQ0osQ0FBQzthQUNMO1NBQ0o7UUFDRCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQ3ZCLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDaEM7UUFDRCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzhHQXJQUSxpQkFBaUIsNEtBT0YsZ0JBQWdCO2tIQVAvQixpQkFBaUIsY0FGZCxNQUFNOzsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFRUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQXBpSGVscGVyc1NlcnZpY2UsXG4gICAgQ29uZmlnU2VydmljZSxcbiAgICBVc2VyLFxuICAgIE5ldHdvcmtTZXJ2aWNlLFxuICAgIE5vZGUsXG4gICAgUHJvcG9zYWxOb2RlLFxuICAgIFJlc3RDb25zdGFudHMsXG59IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0ICogYXMgV29ya2Zsb3cgZnJvbSAnLi4vdHlwZXMvd29ya2Zsb3cnO1xuaW1wb3J0IHsgUmVwb1VybFNlcnZpY2UgfSBmcm9tICcuL3JlcG8tdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQVNTRVRTX0JBU0VfUEFUSCB9IGZyb20gJy4uL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUhlbHBlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYXBpSGVscGVyc1NlcnZpY2U6IEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlcG9VcmxTZXJ2aWNlOiBSZXBvVXJsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBU1NFVFNfQkFTRV9QQVRIKSBwcml2YXRlIGFzc2V0c0Jhc2VQYXRoOiBzdHJpbmcsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldENvbGxlY3Rpb25TY29wZUluZm8obm9kZTogTm9kZSk6IHsgaWNvbjogc3RyaW5nOyBzY29wZU5hbWU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBub2RlLmNvbGxlY3Rpb24gPyBub2RlLmNvbGxlY3Rpb24uc2NvcGUgOiBudWxsO1xuICAgICAgICBsZXQgaWNvbiA9ICdoZWxwJztcbiAgICAgICAgbGV0IHNjb3BlTmFtZSA9ICdVTktOT1dOJztcbiAgICAgICAgaWYgKHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9NWSkge1xuICAgICAgICAgICAgaWNvbiA9ICdsb2NrJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdNWSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX09SR0EgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2dyb3VwJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdTSEFSRUQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9BTEwgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01fUFVCTElDXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdsYW5ndWFnZSc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnUFVCTElDJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX0VESVRPUklBTCkge1xuICAgICAgICAgICAgaWNvbiA9ICdzdGFyJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX0VESVRPUklBTCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9NRURJQV9DRU5URVIpIHtcbiAgICAgICAgICAgIGljb24gPSAnYnVzaW5lc3MnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfTUVESUFfQ0VOVEVSJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uLCBzY29wZU5hbWUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaWNlbnNlIGljb24gb2YgYSBub2RlXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TGljZW5zZUljb24obm9kZTogTm9kZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIC8vIHByZWZlciBtYW51YWwgbWFwcGluZyBpbnN0ZWFkIG9mIGJhY2tlbmQgZGF0YSB0byBzdXBwb3J0IGN1c3RvbSBzdGF0ZXMgZnJvbSBsb2NhbCBlZGl0c1xuICAgICAgICBjb25zdCBsaWNlbnNlID0gbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAobGljZW5zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZUljb25CeVN0cmluZyhsaWNlbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZS5saWNlbnNlID8gdGhpcy5yZXBvVXJsU2VydmljZS5nZXRSZXBvVXJsKG5vZGUubGljZW5zZS5pY29uLCBub2RlKSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGljZW5zZSBpY29uIGJ5IHVzaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZSBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZUljb25CeVN0cmluZyhzdHJpbmc6IFN0cmluZywgdXNlTm9uZUFzRmFsbGJhY2sgPSB0cnVlKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGljb24gPSBzdHJpbmcucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChpY29uID09ICcnKSBpY29uID0gJ25vbmUnO1xuXG4gICAgICAgIGNvbnN0IExJQ0VOU0VfSUNPTlMgPSBbXG4gICAgICAgICAgICAnY2MtMCcsXG4gICAgICAgICAgICAnY2MtYnktbmMnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1zYScsXG4gICAgICAgICAgICAnY2MtYnktbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LXNhJyxcbiAgICAgICAgICAgICdjYy1ieScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWZyZWUnLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1saWNlbnNlJyxcbiAgICAgICAgICAgICdjdXN0b20nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQnLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kJyxcbiAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICdwZG0nLFxuICAgICAgICAgICAgJ3NjaHVsZnVuaycsXG4gICAgICAgICAgICAndW50ZXJyaWNodHMtdW5kLWxlaHJtZWRpZW4nLFxuICAgICAgICBdO1xuICAgICAgICBpZiAoTElDRU5TRV9JQ09OUy5pbmRleE9mKGljb24pID09IC0xICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7IC8vIGljb249J25vbmUnO1xuICAgICAgICBpZiAoaWNvbiA9PSAnbm9uZScgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID1cbiAgICAgICAgICAgIHRoaXMuYXBpSGVscGVyc1NlcnZpY2UuZ2V0U2VydmVyVXJsKCkgKyAnLy4uL2NjaW1hZ2VzL2xpY2Vuc2VzLycgKyBpY29uICsgJy5zdmcnO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgb2YgYSBsaWNlbnNlIG5hbWUgZm9yIGEgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZShub2RlOiBOb2RlKSB7XG4gICAgICAgIGxldCBwcm9wID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKCFwcm9wKSBwcm9wID0gJyc7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VOYW1lQnlTdHJpbmcocHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIGZvciBhIGxpY2Vuc2Ugc3RyaW5nXG4gICAgICogQHBhcmFtIHN0cmluZ1xuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAobmFtZSA9PSAnJykge1xuICAgICAgICAgICAgbmFtZSA9ICdOT05FJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTElDRU5TRS5OQU1FUy4nICsgbmFtZSk7XG4gICAgICAgIC8vIHJldHVybiBuYW1lLnJlcGxhY2UoL18vZyxcIi1cIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIHRoZSBMaWNlbnNlIFVSTCAoZS5nLiBmb3IgQ0NfQlkgbGljZW5zZXMpIGZvciBhIGxpY2Vuc2Ugc3RyaW5nIGFuZCB2ZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VQcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBsaWNlbnNlVmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlTG9jYWxlXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VVcmxCeVN0cmluZyhcbiAgICAgICAgbGljZW5zZVByb3BlcnR5OiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VMb2NhbGU6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgY29uc3QgaXNWNCA9IGxpY2Vuc2VWZXJzaW9uID09PSAnNC4wJztcbiAgICAgICAgY29uc3QgbG9jYWxlID0gaXNWNCB8fCAhbGljZW5zZUxvY2FsZSA/ICcnIDogbGljZW5zZUxvY2FsZS50b0xvd2VyQ2FzZSgpICsgJy8nO1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5nZXQoYExJQ0VOU0UuVVJMUy4ke2xpY2Vuc2VQcm9wZXJ0eX1gLCB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbGljZW5zZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB0cmFuc2xhdGlvbiBmYWlscyBpdCBtaWdodCByZXR1cm4gc29tZXRoaW5nIGxpa2UgJ0xJQ0VOU0UuVVJMUy51bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgIGlmICghdXJsIHx8IHVybC5zdGFydHNXaXRoKCdMSUNFTlNFLlVSTFMnKSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB0aGUgaW50ZXJuYXRpb25hbCA0LjAgdmVyc2lvbiBzdXBwb3J0cyBkaWZmZXJlbnQgbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGlzIHBhcnQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmb3IgYWxsIG90aGVyIHZlcnNpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgnLmRlJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1c0J5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB3b3JrZmxvd3MgPSB0aGlzLmdldFdvcmtmbG93cygpO1xuICAgICAgICByZXR1cm4gd29ya2Zsb3dzLmZpbHRlcigodykgPT4gdy5pZCA9PT0gaWQpPy5bMF07XG4gICAgfVxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1cyhub2RlOiBOb2RlLCB1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBsZXQgdmFsdWUgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9XRl9TVEFUVVNdPy5bMF07XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICAgICAgaW5pdGlhbDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgICAgICBpbml0aWFsOiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgfTtcbiAgICAgICAgcmVzdWx0LmluaXRpYWwgPSB0aGlzLmdldFdvcmtmbG93cygpWzBdO1xuICAgICAgICBsZXQgZGVmYXVsdFN0YXR1czogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgaWYgKHVzZUZyb21Db25maWcpIHtcbiAgICAgICAgICAgIGRlZmF1bHRTdGF0dXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cuZGVmYXVsdFN0YXR1cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWZhdWx0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHRoaXMuZ2V0V29ya2Zsb3dzKCkuZmluZCgodykgPT4gdy5pZCA9PT0gZGVmYXVsdFN0YXR1cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHJlc3VsdC5pbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGdldFdvcmtmbG93cygpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cud29ya2Zsb3dzJywgW1xuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRCxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19UT19DSEVDSyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19IQVNGTEFXUyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19DSEVDS0VELFxuICAgICAgICBdKTtcbiAgICB9XG4gICAgY29weURhdGFUb05vZGU8VCBleHRlbmRzIE5vZGUgfCBVc2VyPih0YXJnZXQ6IFQsIHNvdXJjZTogVCkge1xuICAgICAgICB0YXJnZXQucHJvcGVydGllcyA9IHNvdXJjZS5wcm9wZXJ0aWVzO1xuICAgICAgICAodGFyZ2V0IGFzIE5vZGUpLm5hbWUgPSAoc291cmNlIGFzIE5vZGUpLm5hbWU7XG4gICAgICAgICh0YXJnZXQgYXMgTm9kZSkudGl0bGUgPSAoc291cmNlIGFzIE5vZGUpLnRpdGxlO1xuICAgICAgICAodGFyZ2V0IGFzIFVzZXIpLmF1dGhvcml0eU5hbWUgPSAoc291cmNlIGFzIFVzZXIpLmF1dGhvcml0eU5hbWU7XG4gICAgICAgICh0YXJnZXQgYXMgVXNlcikucHJvZmlsZSA9IChzb3VyY2UgYXMgVXNlcikucHJvZmlsZTtcbiAgICAgICAgKHRhcmdldCBhcyBVc2VyKS5zdGF0dXMgPSAoc291cmNlIGFzIFVzZXIpLnN0YXR1cztcbiAgICB9XG4gICAgaXNOb2RlQ29sbGVjdGlvbihub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmFzcGVjdHM/LmluY2x1ZGVzKFJlc3RDb25zdGFudHMuQ0NNX0FTUEVDVF9DT0xMRUNUSU9OKSB8fCAhIW5vZGUuY29sbGVjdGlvbjtcbiAgICB9XG4gICAgcHVibGljIGdldFNvdXJjZUljb25QYXRoKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5hc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2ltYWdlcy9zb3VyY2VzLycgKyBzcmMudG9Mb3dlckNhc2UoKSArICcucG5nJztcbiAgICB9XG5cbiAgICBnZXROb2RlTGluayhtb2RlOiAncm91dGVyTGluaycgfCAncXVlcnlQYXJhbXMnLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmICghbm9kZT8ucmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGF0YTogeyByb3V0ZXJMaW5rOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmlzTm9kZUNvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdjb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5vZGUuaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGF0aDtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfRURVU0NPUEVOQU1FXT8uWzBdID09PVxuICAgICAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLlNBRkVfU0NPUEVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlL3NhZmUnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUucmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnJvbUhvbWUgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmlzRnJvbUhvbWVSZXBvc2l0b3J5KG5vZGUpO1xuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAncmVuZGVyLycgKyBub2RlLnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IGZyb21Ib21lID8gbnVsbCA6IG5vZGUucmVmLnJlcG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbDogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbD8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWxDb2xsZWN0aW9uOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsQ29sbGVjdGlvbj8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZSA9PT0gJ3JvdXRlckxpbmsnKSB7XG4gICAgICAgICAgICByZXR1cm4gJy8nICsgZGF0YS5yb3V0ZXJMaW5rO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVuZm9yY2UgY2xlYXJpbmcgb2YgcGFyYW1ldGVycyB3aGljaCBzaG91bGQgb25seSBiZSBjb25zdW1lZCBvbmNlXG4gICAgICAgIGRhdGEucXVlcnlQYXJhbXMucmVkaXJlY3RGcm9tU1NPID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGRhdGEucXVlcnlQYXJhbXM7XG4gICAgfVxufVxuIl19
@@ -119,7 +119,7 @@ export class OptionsHelperDataService {
119
119
  }
120
120
  }
121
121
  pasteNode(nodes = []) {
122
- this.optionsHelperService.pasteNode(this.components, this.data, nodes);
122
+ this.optionsHelperService.pasteNode(this.components, this.data, true, nodes);
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: OptionsHelperDataService, deps: [{ token: i0.NgZone }, { token: i1.ActivatedRoute }, { token: i2.LocalEventsService }, { token: i3.AuthenticationService }, { token: i3.UserService }, { token: i3.NetworkService }, { token: i4.KeyboardShortcutsService, optional: true }, { token: i5.OptionsHelperService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
125
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: OptionsHelperDataService }); }
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
131
131
  }] }, { type: i5.OptionsHelperService, decorators: [{
132
132
  type: Optional
133
133
  }] }]; } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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b3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UsIE1FLCBOZXR3b3JrU2VydmljZSwgTm9kZSwgVXNlclNlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEN1c3RvbU9wdGlvbnMsIE9wdGlvbkl0ZW0sIFNjb3BlLCBUYXJnZXQgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBPcHRpb25zSGVscGVyU2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uIH0gZnJvbSAnLi4vdHlwZXMva2V5Ym9hcmQtc2hvcnRjdXRzJztcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRzU2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Qva2V5Ym9hcmQtc2hvcnRjdXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYWxFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1ldmVudHMuc2VydmljZSc7XG5cbnR5cGUgRGVsZXRlRXZlbnQgPSB7XG4gICAgb2JqZWN0czogTm9kZVtdIHwgYW55O1xuICAgIGNvdW50OiBudW1iZXI7XG4gICAgZXJyb3I6IGJvb2xlYW47XG59O1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB7XG4gICAgYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQ7XG4gICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50O1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlRW50cmllc0RhdGFUeXBlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25EYXRhIHtcbiAgICBzY29wZTogU2NvcGU7XG4gICAgYWN0aXZlT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIHNlbGVjdGVkT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIGFsbE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBwYXJlbnQ/OiBOb2RlIHwgYW55O1xuICAgIGN1c3RvbU9wdGlvbnM/OiBDdXN0b21PcHRpb25zO1xuICAgIC8qKlxuICAgICAqIGN1c3RvbSBpbnRlcmNlcHRvciB0byBtb2RpZnkgdGhlIGRlZmF1bHQgb3B0aW9ucyBhcnJheVxuICAgICAqL1xuICAgIHBvc3RQcmVwYXJlT3B0aW9ucz86IChvcHRpb25zOiBPcHRpb25JdGVtW10sIG9iamVjdHM6IE5vZGVbXSkgPT4gdm9pZDtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcHRpb25zSGVscGVyRGF0YVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgY29tcG9uZW50czogT3B0aW9uc0hlbHBlckNvbXBvbmVudHM7XG4gICAgcHJpdmF0ZSBkYXRhOiBPcHRpb25EYXRhO1xuICAgIHByaXZhdGUga2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGdsb2JhbE9wdGlvbnM6IE9wdGlvbkl0ZW1bXTtcbiAgICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICByZWFkb25seSB2aXJ0dWFsTm9kZXNBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZVtdPigpO1xuICAgIHJlYWRvbmx5IG5vZGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZVtdIHwgdm9pZD4oKTtcbiAgICByZWFkb25seSBub2Rlc0RlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERlbGV0ZUV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGRpc3BsYXlUeXBlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUVudHJpZXNEaXNwbGF5VHlwZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBsb2NhbEV2ZW50czogTG9jYWxFdmVudHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUga2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlOiBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgb3B0aW9uc0hlbHBlclNlcnZpY2U6IE9wdGlvbnNIZWxwZXJTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpO1xuICAgIH1cbiAgICAvKiogUGVyZm9ybXMgc3Vic2NyaXB0aW9ucyB0aGF0IGRvbid0IGhhdmUgdG8gYmUgcmVmcmVzaGVkLiAqL1xuICAgIHByaXZhdGUgcmVnaXN0ZXJTdGF0aWNTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzRGVsZXRlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LmRlbGV0ZU5vZGVzKG5vZGVzKSk7XG4gICAgICAgIHRoaXMubG9jYWxFdmVudHMubm9kZXNDaGFuZ2VkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobm9kZXMpID0+IHRoaXMuY29tcG9uZW50cz8ubGlzdD8udXBkYXRlTm9kZXMobm9kZXMpKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0Q29tcG9uZW50cyhcbiAgICAgICAgYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQgPSBudWxsLFxuICAgICAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT4gPSBudWxsLFxuICAgICAgICBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQgPSBudWxsLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIsXG4gICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgZHJvcGRvd24sXG4gICAgICAgIH07XG4gICAgICAgIGlmICgoYXdhaXQgdGhpcy51c2VyU2VydmljZS5nZXRVc2VyKE1FKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpKS5wZXJzb24uYXV0aG9yaXR5TmFtZSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5uZXR3b3JrU2VydmljZS5nZXRSZXBvc2l0b3JpZXMoKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICB9XG5cbiAgICBzZXREYXRhKGRhdGE6IE9wdGlvbkRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS53cmFwT3B0aW9uQ2FsbGJhY2tzKGRhdGEpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlZnJlc2hDb21wb25lbnRzKHJlZnJlc2hMaXN0T3B0aW9ucyA9IHRydWUpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ29wdGlvbnMgaGVscGVyIHJlZnJlc2ggY2FsbGVkIGJ1dCBubyBkYXRhIHByZXZpb3VzbHkgYm91bmQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcHRpb25zSGVscGVyU2VydmljZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ29wdGlvbnNIZWxwZXJTZXJ2aWNlIG5vdCBwcm92aWRlZC4gTm8gZGVmYXVsdCBhY3Rpb25zIHdpbGwgYmUgZ2VuZXJhdGVkJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zID0gYXdhaXQgdGhpcy5nZXRBdmFpbGFibGVPcHRpb25zKFRhcmdldC5BY3Rpb25iYXIpO1xuICAgICAgICBhd2FpdCB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlPy5yZWZyZXNoQ29tcG9uZW50cyhcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cyxcbiAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0T3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBdmFpbGFibGVPcHRpb25zKHRhcmdldDogVGFyZ2V0LCBvYmplY3RzOiBOb2RlW10gPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlPy5nZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgb2JqZWN0cyxcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cyxcbiAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFZpcnR1YWxPYmplY3RzKG9iamVjdHM6IGFueVtdKSB7XG4gICAgICAgIG9iamVjdHMgPSBvYmplY3RzLm1hcCgobzogYW55KSA9PiB7XG4gICAgICAgICAgICBvLnZpcnR1YWwgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIG87XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpcnR1YWxOb2Rlc0FkZGVkLmVtaXQob2JqZWN0cyk7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudHM/Lmxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cz8ubGlzdC5hZGRWaXJ0dWFsTm9kZXMob2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlckdsb2JhbEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5ZG93bicpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLmhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmdsb2JhbE9wdGlvbnMgJiYgIXRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlPy5zaG91bGRJZ25vcmVTaG9ydGN1dChldmVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLmdsb2JhbE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgICAob3B0aW9uOiBPcHRpb25JdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24uaXNFbmFibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbihldmVudCwgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gbWF0Y2hlZE9wdGlvbi5jYWxsYmFjayhudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmlsdGVyT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIHRhcmdldDogVGFyZ2V0LCBvYmplY3RzOiBOb2RlW10gfCBhbnkgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLmZpbHRlck9wdGlvbnMob3B0aW9ucywgdGFyZ2V0LCB0aGlzLmRhdGEsIG9iamVjdHMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBzaG9ydGN1dCB0byBzaW1wbHkgZGlzYWJsZSBhbGwgb3B0aW9ucyBvbiB0aGUgZ2l2ZW4gY29tcG9lbm50c1xuICAgICAqIEBwYXJhbSBhY3Rpb25iYXJcbiAgICAgKiBAcGFyYW0gbGlzdFxuICAgICAqL1xuICAgIGNsZWFyQ29tcG9uZW50cyhhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudCwgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGU+ID0gbnVsbCkge1xuICAgICAgICBpZiAobGlzdCkge1xuICAgICAgICAgICAgbGlzdC5zZXRPcHRpb25zKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25iYXIpIHtcbiAgICAgICAgICAgIGFjdGlvbmJhci5vcHRpb25zID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYXN0ZU5vZGUobm9kZXM6IE5vZGVbXSA9IFtdKSB7XG4gICAgICAgIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UucGFzdGVOb2RlKHRoaXMuY29tcG9uZW50cywgdGhpcy5kYXRhLCBub2Rlcyk7XG4gICAgfVxufVxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbmJhckNvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHtcbiAgICBMaXN0RXZlbnRJbnRlcmZhY2UsXG4gICAgTm9kZUVudHJpZXNEYXRhVHlwZSxcbiAgICBOb2RlRW50cmllc0Rpc3BsYXlUeXBlLFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBNRSwgTmV0d29ya1NlcnZpY2UsIE5vZGUsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDdXN0b21PcHRpb25zLCBPcHRpb25JdGVtLCBTY29wZSwgVGFyZ2V0IH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgT3B0aW9uc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbiB9IGZyb20gJy4uL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5pbXBvcnQgeyBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2FsRXZlbnRzU2VydmljZSB9IGZyb20gJy4vbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuXG50eXBlIERlbGV0ZUV2ZW50ID0ge1xuICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGVycm9yOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0hlbHBlckNvbXBvbmVudHMge1xuICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50O1xuICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudDtcbiAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uRGF0YSB7XG4gICAgc2NvcGU6IFNjb3BlO1xuICAgIGFjdGl2ZU9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBzZWxlY3RlZE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBhbGxPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgcGFyZW50PzogTm9kZSB8IGFueTtcbiAgICBjdXN0b21PcHRpb25zPzogQ3VzdG9tT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBjdXN0b20gaW50ZXJjZXB0b3IgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJyYXlcbiAgICAgKi9cbiAgICBwb3N0UHJlcGFyZU9wdGlvbnM/OiAob3B0aW9uczogT3B0aW9uSXRlbVtdLCBvYmplY3RzOiBOb2RlW10pID0+IHZvaWQ7XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3B0aW9uc0hlbHBlckRhdGFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzO1xuICAgIHByaXZhdGUgZGF0YTogT3B0aW9uRGF0YTtcbiAgICBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW107XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmVhZG9ubHkgdmlydHVhbE5vZGVzQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXT4oKTtcbiAgICByZWFkb25seSBub2Rlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXSB8IHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEZWxldGVFdmVudD4oKTtcbiAgICByZWFkb25seSBkaXNwbGF5VHlwZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYWxFdmVudHM6IExvY2FsRXZlbnRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU2VydmljZTogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG9wdGlvbnNIZWxwZXJTZXJ2aWNlOiBPcHRpb25zSGVscGVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG4gICAgLyoqIFBlcmZvcm1zIHN1YnNjcmlwdGlvbnMgdGhhdCBkb24ndCBoYXZlIHRvIGJlIHJlZnJlc2hlZC4gKi9cbiAgICBwcml2YXRlIHJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0RlbGV0ZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py5kZWxldGVOb2Rlcyhub2RlcykpO1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzQ2hhbmdlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LnVwZGF0ZU5vZGVzKG5vZGVzKSk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdENvbXBvbmVudHMoXG4gICAgICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50ID0gbnVsbCxcbiAgICAgICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0gbnVsbCxcbiAgICAgICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50ID0gbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0ge1xuICAgICAgICAgICAgYWN0aW9uYmFyLFxuICAgICAgICAgICAgbGlzdCxcbiAgICAgICAgICAgIGRyb3Bkb3duLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoKGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlcihNRSkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSkucGVyc29uLmF1dGhvcml0eU5hbWUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuZ2V0UmVwb3NpdG9yaWVzKCkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgc2V0RGF0YShkYXRhOiBPcHRpb25EYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2Uud3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyByZWZyZXNoQ29tcG9uZW50cyhyZWZyZXNoTGlzdE9wdGlvbnMgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zIGhlbHBlciByZWZyZXNoIGNhbGxlZCBidXQgbm8gZGF0YSBwcmV2aW91c2x5IGJvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyU2VydmljZSBub3QgcHJvdmlkZWQuIE5vIGRlZmF1bHQgYWN0aW9ucyB3aWxsIGJlIGdlbmVyYXRlZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2xvYmFsT3B0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlT3B0aW9ucyhUYXJnZXQuQWN0aW9uYmFyKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8ucmVmcmVzaENvbXBvbmVudHMoXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICAgICByZWZyZXNoTGlzdE9wdGlvbnMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlT3B0aW9ucyh0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8uZ2V0QXZhaWxhYmxlT3B0aW9ucyhcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIG9iamVjdHMsXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRWaXJ0dWFsT2JqZWN0cyhvYmplY3RzOiBhbnlbXSkge1xuICAgICAgICBvYmplY3RzID0gb2JqZWN0cy5tYXAoKG86IGFueSkgPT4ge1xuICAgICAgICAgICAgby52aXJ0dWFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBvO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aXJ0dWFsTm9kZXNBZGRlZC5lbWl0KG9iamVjdHMpO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRzPy5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHM/Lmxpc3QuYWRkVmlydHVhbE5vZGVzKG9iamVjdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJHbG9iYWxLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbiA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5nbG9iYWxPcHRpb25zICYmICF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU2VydmljZT8uc2hvdWxkSWdub3JlU2hvcnRjdXQoZXZlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gdGhpcy5nbG9iYWxPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKG9wdGlvbjogT3B0aW9uSXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmlzRW5hYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCAmJlxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24oZXZlbnQsIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IG1hdGNoZWRPcHRpb24uY2FsbGJhY2sobnVsbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZpbHRlck9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdLCB0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdIHwgYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5maWx0ZXJPcHRpb25zKG9wdGlvbnMsIHRhcmdldCwgdGhpcy5kYXRhLCBvYmplY3RzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogc2hvcnRjdXQgdG8gc2ltcGx5IGRpc2FibGUgYWxsIG9wdGlvbnMgb24gdGhlIGdpdmVuIGNvbXBvZW5udHNcbiAgICAgKiBAcGFyYW0gYWN0aW9uYmFyXG4gICAgICogQHBhcmFtIGxpc3RcbiAgICAgKi9cbiAgICBjbGVhckNvbXBvbmVudHMoYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQsIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlPiA9IG51bGwpIHtcbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgIGxpc3Quc2V0T3B0aW9ucyhudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uYmFyKSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIub3B0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFzdGVOb2RlKG5vZGVzOiBOb2RlW10gPSBbXSkge1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLnBhc3RlTm9kZSh0aGlzLmNvbXBvbmVudHMsIHRoaXMuZGF0YSwgdHJ1ZSwgbm9kZXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -105,6 +105,21 @@ export class UIService {
105
105
  }
106
106
  return optionsFiltered;
107
107
  }
108
+ /**
109
+ * helper that updates the "isEnabled" flag on all options for the given, selected node
110
+ * can be used by dropdown or action menus to update the state for the current element
111
+ * @param options
112
+ */
113
+ async updateOptionEnabledState(options, object = null) {
114
+ options.value.forEach((o) => {
115
+ o.isEnabled = !o.customEnabledCallback;
116
+ o.enabledCallback(object).then((result) => {
117
+ o.isEnabled = result;
118
+ options.next(options.value);
119
+ });
120
+ });
121
+ options.next(options.value);
122
+ }
108
123
  filterToggleOptions(options, toggle) {
109
124
  let result = [];
110
125
  for (let option of options) {
@@ -165,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
165
180
  type: Injectable,
166
181
  args: [{ providedIn: 'root' }]
167
182
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.NgZone }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsVUFBVSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLFNBQVM7SUFNbEIsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNjLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixNQUFjO1FBRmQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFaNUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVd2RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dC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NkM7b0JBQzdDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTTtvQkFDSCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUN4QiwyRUFBMkU7b0JBQzNFLHVCQUF1QjtvQkFDdkIsOEpBQThKO2lCQUNqSzthQUNKO1NBQ0o7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxPQUFPLEdBQUksU0FBUyxDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxPQUFPLEVBQUU7WUFDVCxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUNsQztRQUNELGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQXpLUSxTQUFTO2tIQUFULFNBQVMsY0FESSxNQUFNOzsyRkFDbkIsU0FBUztrQkFEckIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdab25lLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFVJU2VydmljZSB7XG4gICAgaXNUb3VjaFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBwcml2YXRlIG1ldGFLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgc2hpZnRLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgY3RybEtleVByZXNzZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBnZXQgc2hpZnRLZXlQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGlmdEtleVByZXNzZWRTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICApIHtcbiAgICAgICAgLy8gSG9zdExpc3RlbmVyIG5vdCB3b3JraW5nLCBzbyB1c2Ugd2luZG93XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIGNvbnN0IGlzVG91Y2ggPSAoZXZlbnQgYXMgUG9pbnRlckV2ZW50KS5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZSAhPT0gaXNUb3VjaCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pc1RvdWNoU3ViamVjdC5uZXh0KGlzVG91Y2gpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgb25LZXlEb3duT3JLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyBgZXZlbnQubWV0YUtleWAgaXMgbm90IGNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzIG9uIHRoZSBhY3R1YWwga2V5cHJlc3Mgb2YgdGhlIG1vZGlmaWVyXG4gICAgICAgIC8vIGtleS4gU28gd2UgaGFuZGxlIHRoZXNlIGV2ZW50cyBzZXBhcmF0ZWx5LlxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQ29udHJvbCcpIHtcbiAgICAgICAgICAgIHRoaXMuY3RybEtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdTaGlmdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnTWV0YScpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugd2UgbWlzcyBtb2RpZmllciBldmVudHMgYmVjYXVzZSB0aGUgYnJvd3NlciBkaWRuJ3QgaGF2ZSBmb2N1cyBkdXJpbmcgdGhlXG4gICAgICAgICAgICAvLyBldmVudCwgd2UgdXBkYXRlIG1vZGlmaWVyIGtleXMgb24gdW5yZWxhdGVkIGtleSBldmVudHMgYXMgd2VsbC5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQubWV0YUtleSk7XG4gICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnNoaWZ0S2V5KTtcbiAgICAgICAgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC5jdHJsS2V5KTtcbiAgICB9XG5cbiAgICBvYnNlcnZlQ3RybE9yQ21kS2V5UHJlc3NlZE91dHNpZGVab25lKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gcnhqcy5jb21iaW5lTGF0ZXN0KFt0aGlzLm1ldGFLZXlQcmVzc2VkU3ViamVjdCwgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3RdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbbWV0YUtleVByZXNzZWQsIGN0cmxLZXlQcmVzc2VkXSkgPT4gbWV0YUtleVByZXNzZWQgfHwgY3RybEtleVByZXNzZWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBARGVwcmVjYXRlZFxuICAgICAqIFByZWZlciB0byBzdWJzY3JpYmUgdG8gdGhlIGlzVG91Y2hTdWJqZWN0IGRpcmVjdGx5IGlmIHZpYWJsZVxuICAgICAqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IHNlc3Npb25zIHNlZW1zIHRvIGJlIHJ1bm5pbmcgb24gYSBtb2JpbGUgZGV2aWNlXG4gICAgICovXG4gICAgcHVibGljIGlzTW9iaWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBldmFsdWF0ZU1lZGlhUXVlcnkodHlwZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9XSURUSCkgcmV0dXJuIHZhbHVlID4gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01JTl9XSURUSCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9IRUlHSFQpIHJldHVybiB2YWx1ZSA+IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUlOX0hFSUdIVCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zb2xlLndhcm4oJ1Vuc3VwcG9ydGVkIG1lZGlhIHF1ZXJ5ICcgKyB0eXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZpbHRlclZhbGlkT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9IG51bGwpO1xuICAgICAgICBsZXQgb3B0aW9uc0ZpbHRlcmVkOiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIW9wdGlvbi5vbmx5TW9iaWxlIHx8IChvcHRpb24ub25seU1vYmlsZSAmJiB0aGlzLmlzTW9iaWxlKCkpKSAmJlxuICAgICAgICAgICAgICAgICghb3B0aW9uLm9ubHlEZXNrdG9wIHx8IChvcHRpb24ub25seURlc2t0b3AgJiYgIXRoaXMuaXNNb2JpbGUoKSkpICYmXG4gICAgICAgICAgICAgICAgKCFvcHRpb24ubWVkaWFRdWVyeVR5cGUgfHxcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbi5tZWRpYVF1ZXJ5VHlwZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgVUlTZXJ2aWNlLmV2YWx1YXRlTWVkaWFRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24ubWVkaWFRdWVyeVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1lZGlhUXVlcnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICkpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIG9wdGlvbnNGaWx0ZXJlZC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnNGaWx0ZXJlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIHRvZ2dsZTogYm9vbGVhbikge1xuICAgICAgICBsZXQgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb24uaXNUb2dnbGUgPT0gdG9nZ2xlKSByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIGR5bmFtaWNhbGx5IGluamVjdCBhbiBhbmd1bGFyIGNvbXBvbmVudCBpbnRvIGEgcmVndWxhciBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciBUaGUgcmVzb2x2ZXIgc2VydmljZVxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyUmVmIFRoZSB2aWV3Q29udGFpbmVyUmVmIHNlcnZpY2VcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgYW5ndWxhciBjb21wb25lbnQgKGUuZy4gU3Bpbm5lckNvbXBvbmVudClcbiAgICAgKiBAcGFyYW0gdGFyZ2V0RWxlbWVudCBUaGUgdGFyZ2V0IGVsZW1lbnQgb2YgdGhlIGRvbS4gSWYgdGhlIGVsZW1lbnQgaXMgbnVsbCAobm90IGZvdW5kKSwgbm90aGluZyBpcyBkb25lXG4gICAgICogQHBhcmFtIGJpbmRpbmdzIE9wdGlvbmFsIGJpbmRpbmdzIChpbnB1dHMgJiBvdXRwdXRzKSB0byB0aGUgZ2l2ZW4gY29tcG9uZW50XG4gICAgICogQHBhcmFtIGRlbGF5IE9wdGlvbmFsIGluZmxhdGluZyBkZWxheSBpbiBtcyhzb21lIGNvbXBvbmVudHMgbWF5IG5lZWQgc29tZSB0aW1lIHRvIFwiaW5pdFwiIHRoZSBsYXlvdXQpXG4gICAgICogQHBhcmFtIHJlcGxhY2UgV2hldGhlciB0byByZXBsYWNlIHRvIHByZXZpb3VzIGBpbm5lckhUTUxgIG9mIGB0YXJnZXRFbGVtZW50YFxuICAgICAqIEBwYXJhbSBpbmplY3RvciAodG8gZmV0Y2ggdGVtcGxhdGVzIGZvciB0aGUgY29tcG9uZW50KVxuICAgICAqL1xuICAgIHB1YmxpYyBpbmplY3RBbmd1bGFyQ29tcG9uZW50PFQ+KFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBjb21wb25lbnROYW1lOiBUeXBlPFQ+LFxuICAgICAgICB0YXJnZXRFbGVtZW50OiBFbGVtZW50LFxuICAgICAgICBiaW5kaW5nczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IG51bGwsXG4gICAgICAgIHsgZGVsYXkgPSAwLCByZXBsYWNlID0gdHJ1ZSB9ID0ge30sXG4gICAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE5hbWUpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxUPiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgZmFjdG9yeSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChiaW5kaW5ncykge1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSBjb21wb25lbnQuaW5zdGFuY2U7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBiaW5kaW5ncykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmRpbmcgPSBiaW5kaW5nc1trZXldO1xuICAgICAgICAgICAgICAgIGlmIChiaW5kaW5nIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaWJlIHNvIGNhbGxiYWNrIGNhbiBwcm9wZXJseSBpbnZva2VkXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW2tleV0uc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiBiaW5kaW5nKHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Vba2V5XSA9IGJpbmRpbmc7XG4gICAgICAgICAgICAgICAgICAgIC8vIGBuZ09uQ2hhbmdlc2Agd29uJ3QgYmUgY2FsbGVkIG9uIHRoZSBjb21wb25lbnQgbGlrZSB0aGlzLiBDb25zaWRlciBkb2luZ1xuICAgICAgICAgICAgICAgICAgICAvLyBzb21ldGhpbmcgbGlrZSB0aGlzOlxuICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL3NjbS5lZHUtc2hhcmluZy5jb20vZWR1LXNoYXJpbmcvcHJvamVjdHMvb2VoLXJlZGFrdGlvbi9uZy1tZXRhLXdpZGdldHMvLS9ibG9iLzE2MDNmYjJkZWRhZGQzOTUyNDAxMzg1YmNiZDkxYTRiZDg0MDc2NDMvc3JjL2FwcC9hcHAubW9kdWxlLnRzI0w2Ni03OVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIEdldCBET00gZWxlbWVudCBmcm9tIGNvbXBvbmVudFxuICAgICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudC5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIGlmIChyZXBsYWNlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSBudWxsO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsVUFBVSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLFNBQVM7SUFNbEIsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNjLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixNQUFjO1FBRmQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFaNUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVd2RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dC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RTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQTVMUSxTQUFTO2tIQUFULFNBQVMsY0FESSxNQUFNOzsyRkFDbkIsU0FBUztrQkFEckIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdab25lLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFVJU2VydmljZSB7XG4gICAgaXNUb3VjaFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBwcml2YXRlIG1ldGFLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgc2hpZnRLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgY3RybEtleVByZXNzZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBnZXQgc2hpZnRLZXlQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGlmdEtleVByZXNzZWRTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICApIHtcbiAgICAgICAgLy8gSG9zdExpc3RlbmVyIG5vdCB3b3JraW5nLCBzbyB1c2Ugd2luZG93XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIGNvbnN0IGlzVG91Y2ggPSAoZXZlbnQgYXMgUG9pbnRlckV2ZW50KS5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZSAhPT0gaXNUb3VjaCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pc1RvdWNoU3ViamVjdC5uZXh0KGlzVG91Y2gpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgb25LZXlEb3duT3JLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyBgZXZlbnQubWV0YUtleWAgaXMgbm90IGNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzIG9uIHRoZSBhY3R1YWwga2V5cHJlc3Mgb2YgdGhlIG1vZGlmaWVyXG4gICAgICAgIC8vIGtleS4gU28gd2UgaGFuZGxlIHRoZXNlIGV2ZW50cyBzZXBhcmF0ZWx5LlxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQ29udHJvbCcpIHtcbiAgICAgICAgICAgIHRoaXMuY3RybEtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdTaGlmdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnTWV0YScpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugd2UgbWlzcyBtb2RpZmllciBldmVudHMgYmVjYXVzZSB0aGUgYnJvd3NlciBkaWRuJ3QgaGF2ZSBmb2N1cyBkdXJpbmcgdGhlXG4gICAgICAgICAgICAvLyBldmVudCwgd2UgdXBkYXRlIG1vZGlmaWVyIGtleXMgb24gdW5yZWxhdGVkIGtleSBldmVudHMgYXMgd2VsbC5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQubWV0YUtleSk7XG4gICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnNoaWZ0S2V5KTtcbiAgICAgICAgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC5jdHJsS2V5KTtcbiAgICB9XG5cbiAgICBvYnNlcnZlQ3RybE9yQ21kS2V5UHJlc3NlZE91dHNpZGVab25lKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gcnhqcy5jb21iaW5lTGF0ZXN0KFt0aGlzLm1ldGFLZXlQcmVzc2VkU3ViamVjdCwgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3RdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbbWV0YUtleVByZXNzZWQsIGN0cmxLZXlQcmVzc2VkXSkgPT4gbWV0YUtleVByZXNzZWQgfHwgY3RybEtleVByZXNzZWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBARGVwcmVjYXRlZFxuICAgICAqIFByZWZlciB0byBzdWJzY3JpYmUgdG8gdGhlIGlzVG91Y2hTdWJqZWN0IGRpcmVjdGx5IGlmIHZpYWJsZVxuICAgICAqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IHNlc3Npb25zIHNlZW1zIHRvIGJlIHJ1bm5pbmcgb24gYSBtb2JpbGUgZGV2aWNlXG4gICAgICovXG4gICAgcHVibGljIGlzTW9iaWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBldmFsdWF0ZU1lZGlhUXVlcnkodHlwZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9XSURUSCkgcmV0dXJuIHZhbHVlID4gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01JTl9XSURUSCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9IRUlHSFQpIHJldHVybiB2YWx1ZSA+IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUlOX0hFSUdIVCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zb2xlLndhcm4oJ1Vuc3VwcG9ydGVkIG1lZGlhIHF1ZXJ5ICcgKyB0eXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZpbHRlclZhbGlkT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9IG51bGwpO1xuICAgICAgICBsZXQgb3B0aW9uc0ZpbHRlcmVkOiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIW9wdGlvbi5vbmx5TW9iaWxlIHx8IChvcHRpb24ub25seU1vYmlsZSAmJiB0aGlzLmlzTW9iaWxlKCkpKSAmJlxuICAgICAgICAgICAgICAgICghb3B0aW9uLm9ubHlEZXNrdG9wIHx8IChvcHRpb24ub25seURlc2t0b3AgJiYgIXRoaXMuaXNNb2JpbGUoKSkpICYmXG4gICAgICAgICAgICAgICAgKCFvcHRpb24ubWVkaWFRdWVyeVR5cGUgfHxcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbi5tZWRpYVF1ZXJ5VHlwZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgVUlTZXJ2aWNlLmV2YWx1YXRlTWVkaWFRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24ubWVkaWFRdWVyeVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1lZGlhUXVlcnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICkpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIG9wdGlvbnNGaWx0ZXJlZC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnNGaWx0ZXJlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoZWxwZXIgdGhhdCB1cGRhdGVzIHRoZSBcImlzRW5hYmxlZFwiIGZsYWcgb24gYWxsIG9wdGlvbnMgZm9yIHRoZSBnaXZlbiwgc2VsZWN0ZWQgbm9kZVxuICAgICAqIGNhbiBiZSB1c2VkIGJ5IGRyb3Bkb3duIG9yIGFjdGlvbiBtZW51cyB0byB1cGRhdGUgdGhlIHN0YXRlIGZvciB0aGUgY3VycmVudCBlbGVtZW50XG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBhc3luYyB1cGRhdGVPcHRpb25FbmFibGVkU3RhdGUoXG4gICAgICAgIG9wdGlvbnM6IEJlaGF2aW9yU3ViamVjdDxPcHRpb25JdGVtW10+LFxuICAgICAgICBvYmplY3Q6IE5vZGUgfCBhbnkgPSBudWxsLFxuICAgICkge1xuICAgICAgICBvcHRpb25zLnZhbHVlLmZvckVhY2goKG8pID0+IHtcbiAgICAgICAgICAgIG8uaXNFbmFibGVkID0gIW8uY3VzdG9tRW5hYmxlZENhbGxiYWNrO1xuICAgICAgICAgICAgby5lbmFibGVkQ2FsbGJhY2sob2JqZWN0KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBvLmlzRW5hYmxlZCA9IHJlc3VsdDtcbiAgICAgICAgICAgICAgICBvcHRpb25zLm5leHQob3B0aW9ucy52YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIG9wdGlvbnMubmV4dChvcHRpb25zLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIHRvZ2dsZTogYm9vbGVhbikge1xuICAgICAgICBsZXQgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb24uaXNUb2dnbGUgPT0gdG9nZ2xlKSByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIGR5bmFtaWNhbGx5IGluamVjdCBhbiBhbmd1bGFyIGNvbXBvbmVudCBpbnRvIGEgcmVndWxhciBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciBUaGUgcmVzb2x2ZXIgc2VydmljZVxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyUmVmIFRoZSB2aWV3Q29udGFpbmVyUmVmIHNlcnZpY2VcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgYW5ndWxhciBjb21wb25lbnQgKGUuZy4gU3Bpbm5lckNvbXBvbmVudClcbiAgICAgKiBAcGFyYW0gdGFyZ2V0RWxlbWVudCBUaGUgdGFyZ2V0IGVsZW1lbnQgb2YgdGhlIGRvbS4gSWYgdGhlIGVsZW1lbnQgaXMgbnVsbCAobm90IGZvdW5kKSwgbm90aGluZyBpcyBkb25lXG4gICAgICogQHBhcmFtIGJpbmRpbmdzIE9wdGlvbmFsIGJpbmRpbmdzIChpbnB1dHMgJiBvdXRwdXRzKSB0byB0aGUgZ2l2ZW4gY29tcG9uZW50XG4gICAgICogQHBhcmFtIGRlbGF5IE9wdGlvbmFsIGluZmxhdGluZyBkZWxheSBpbiBtcyhzb21lIGNvbXBvbmVudHMgbWF5IG5lZWQgc29tZSB0aW1lIHRvIFwiaW5pdFwiIHRoZSBsYXlvdXQpXG4gICAgICogQHBhcmFtIHJlcGxhY2UgV2hldGhlciB0byByZXBsYWNlIHRvIHByZXZpb3VzIGBpbm5lckhUTUxgIG9mIGB0YXJnZXRFbGVtZW50YFxuICAgICAqIEBwYXJhbSBpbmplY3RvciAodG8gZmV0Y2ggdGVtcGxhdGVzIGZvciB0aGUgY29tcG9uZW50KVxuICAgICAqL1xuICAgIHB1YmxpYyBpbmplY3RBbmd1bGFyQ29tcG9uZW50PFQ+KFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBjb21wb25lbnROYW1lOiBUeXBlPFQ+LFxuICAgICAgICB0YXJnZXRFbGVtZW50OiBFbGVtZW50LFxuICAgICAgICBiaW5kaW5nczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IG51bGwsXG4gICAgICAgIHsgZGVsYXkgPSAwLCByZXBsYWNlID0gdHJ1ZSB9ID0ge30sXG4gICAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE5hbWUpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxUPiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgZmFjdG9yeSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChiaW5kaW5ncykge1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSBjb21wb25lbnQuaW5zdGFuY2U7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBiaW5kaW5ncykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmRpbmcgPSBiaW5kaW5nc1trZXldO1xuICAgICAgICAgICAgICAgIGlmIChiaW5kaW5nIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaWJlIHNvIGNhbGxiYWNrIGNhbiBwcm9wZXJseSBpbnZva2VkXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW2tleV0uc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiBiaW5kaW5nKHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Vba2V5XSA9IGJpbmRpbmc7XG4gICAgICAgICAgICAgICAgICAgIC8vIGBuZ09uQ2hhbmdlc2Agd29uJ3QgYmUgY2FsbGVkIG9uIHRoZSBjb21wb25lbnQgbGlrZSB0aGlzLiBDb25zaWRlciBkb2luZ1xuICAgICAgICAgICAgICAgICAgICAvLyBzb21ldGhpbmcgbGlrZSB0aGlzOlxuICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL3NjbS5lZHUtc2hhcmluZy5jb20vZWR1LXNoYXJpbmcvcHJvamVjdHMvb2VoLXJlZGFrdGlvbi9uZy1tZXRhLXdpZGdldHMvLS9ibG9iLzE2MDNmYjJkZWRhZGQzOTUyNDAxMzg1YmNiZDkxYTRiZDg0MDc2NDMvc3JjL2FwcC9hcHAubW9kdWxlLnRzI0w2Ni03OVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIEdldCBET00gZWxlbWVudCBmcm9tIGNvbXBvbmVudFxuICAgICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudC5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIGlmIChyZXBsYWNlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSBudWxsO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxufVxuIl19