@netgrif/components-core 6.0.1 → 6.0.2-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/bundles/netgrif-components-core.umd.js +152 -44
  2. package/bundles/netgrif-components-core.umd.js.map +1 -1
  3. package/bundles/netgrif-components-core.umd.min.js +1 -1
  4. package/bundles/netgrif-components-core.umd.min.js.map +1 -1
  5. package/esm2015/assets/i18n/de.json +3 -0
  6. package/esm2015/assets/i18n/en.json +3 -0
  7. package/esm2015/assets/i18n/sk.json +20 -17
  8. package/esm2015/lib/authorization/permission/permission.service.js +1 -5
  9. package/esm2015/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +4 -1
  10. package/esm2015/lib/data-fields/enumeration-field/models/enumeration-field.js +2 -2
  11. package/esm2015/lib/data-fields/file-field/abstract-file-field.component.js +10 -3
  12. package/esm2015/lib/data-fields/file-list-field/abstract-file-list-field.component.js +5 -3
  13. package/esm2015/lib/data-fields/models/abstract-data-field.js +10 -1
  14. package/esm2015/lib/forms/email-submission/abstract-email-submission-form.component.js +5 -2
  15. package/esm2015/lib/forms/models/abstract-registration.component.js +6 -1
  16. package/esm2015/lib/header/case-header/case-header.service.js +2 -2
  17. package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +6 -6
  18. package/esm2015/lib/resources/engine-endpoint/task-resource.service.js +2 -1
  19. package/esm2015/lib/resources/interface/data-groups.js +1 -1
  20. package/esm2015/lib/search/models/category/no-configuration-user-autocomplete-category.js +2 -2
  21. package/esm2015/lib/side-menu/services/side-menu.service.js +17 -1
  22. package/esm2015/lib/task/services/assign-policy.service.js +1 -1
  23. package/esm2015/lib/task/services/finish-policy.service.js +1 -2
  24. package/esm2015/lib/task/services/task-data.service.js +10 -4
  25. package/esm2015/lib/task-content/model/task-fields.js +2 -0
  26. package/esm2015/lib/task-content/public-api.js +2 -1
  27. package/esm2015/lib/task-content/services/task-content.service.js +51 -5
  28. package/esm5/assets/i18n/de.json +3 -0
  29. package/esm5/assets/i18n/en.json +3 -0
  30. package/esm5/assets/i18n/sk.json +20 -17
  31. package/esm5/lib/authorization/permission/permission.service.js +1 -7
  32. package/esm5/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +4 -1
  33. package/esm5/lib/data-fields/enumeration-field/models/enumeration-field.js +2 -2
  34. package/esm5/lib/data-fields/file-field/abstract-file-field.component.js +10 -3
  35. package/esm5/lib/data-fields/file-list-field/abstract-file-list-field.component.js +5 -3
  36. package/esm5/lib/data-fields/models/abstract-data-field.js +11 -1
  37. package/esm5/lib/forms/email-submission/abstract-email-submission-form.component.js +5 -2
  38. package/esm5/lib/forms/models/abstract-registration.component.js +6 -1
  39. package/esm5/lib/header/case-header/case-header.service.js +2 -2
  40. package/esm5/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +6 -6
  41. package/esm5/lib/resources/engine-endpoint/task-resource.service.js +2 -1
  42. package/esm5/lib/resources/interface/data-groups.js +1 -1
  43. package/esm5/lib/search/models/category/no-configuration-user-autocomplete-category.js +2 -2
  44. package/esm5/lib/side-menu/services/side-menu.service.js +17 -1
  45. package/esm5/lib/task/services/assign-policy.service.js +1 -1
  46. package/esm5/lib/task/services/finish-policy.service.js +1 -2
  47. package/esm5/lib/task/services/task-data.service.js +10 -4
  48. package/esm5/lib/task-content/model/task-fields.js +2 -0
  49. package/esm5/lib/task-content/public-api.js +2 -1
  50. package/esm5/lib/task-content/services/task-content.service.js +59 -5
  51. package/fesm2015/netgrif-components-core.js +143 -42
  52. package/fesm2015/netgrif-components-core.js.map +1 -1
  53. package/fesm5/netgrif-components-core.js +152 -44
  54. package/fesm5/netgrif-components-core.js.map +1 -1
  55. package/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.d.ts +1 -0
  56. package/lib/data-fields/models/abstract-data-field.d.ts +4 -0
  57. package/lib/forms/email-submission/abstract-email-submission-form.component.d.ts +2 -0
  58. package/lib/forms/models/abstract-registration.component.d.ts +1 -0
  59. package/lib/resources/interface/data-groups.d.ts +4 -0
  60. package/lib/side-menu/services/side-menu.service.d.ts +8 -0
  61. package/lib/task-content/model/task-fields.d.ts +7 -0
  62. package/lib/task-content/public-api.d.ts +1 -0
  63. package/lib/task-content/services/task-content.service.d.ts +7 -6
  64. package/netgrif-components-core.metadata.json +1 -1
  65. package/package.json +1 -1
  66. package/src/assets/i18n/de.json +3 -0
  67. package/src/assets/i18n/en.json +3 -0
  68. package/src/assets/i18n/sk.json +20 -17
@@ -11,7 +11,7 @@ export class AbstractNavigationDrawerComponent {
11
11
  this.userPreferenceService = userPreferenceService;
12
12
  this._config = {
13
13
  mode: 'over',
14
- opened: false,
14
+ opened: true,
15
15
  disableClose: false
16
16
  };
17
17
  this.openedChange = new EventEmitter();
@@ -63,14 +63,14 @@ export class AbstractNavigationDrawerComponent {
63
63
  this.resolveLayout(this._fixed);
64
64
  }
65
65
  open() {
66
- if (this._fixed) {
67
- return Promise.resolve('open');
66
+ if (!this._sideNav.opened) {
67
+ this._sideNav.open();
68
68
  }
69
- return this._sideNav.open();
69
+ return Promise.resolve('open');
70
70
  }
71
71
  close() {
72
72
  if (this._fixed) {
73
- return Promise.resolve('open');
73
+ return Promise.resolve('close');
74
74
  }
75
75
  return this._sideNav.close();
76
76
  }
@@ -128,4 +128,4 @@ AbstractNavigationDrawerComponent.propDecorators = {
128
128
  _sideNav: [{ type: ViewChild, args: ['sidenav',] }],
129
129
  fixed: [{ type: Input, args: ['fixed',] }]
130
130
  };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kcmF3ZXIvYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQXFCLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3BFLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJbkQsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFFN0IsTUFBTSxPQUFnQixpQ0FBaUM7SUEwQm5ELFlBQXNCLFVBQThCLEVBQzlCLElBQW1CLEVBQ25CLHFCQUE0QztRQUY1QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSeEQsWUFBTyxHQUFHO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBS0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksSUFB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SCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Ozt1QkExSUEsS0FBSyxTQUFDLE1BQU07bUJBQ1osS0FBSyxTQUFDLFlBQVk7NkJBQ2xCLEtBQUssU0FBQyxZQUFZOzhCQUNsQixLQUFLLFNBQUMsWUFBWTt5QkFDbEIsS0FBSzsyQkFFTCxNQUFNO3VCQUVOLFNBQVMsU0FBQyxTQUFTO29CQWtFbkIsS0FBSyxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uLy4uL3VzZXIvbW9kZWxzL3VzZXInO1xuaW1wb3J0ICdoYW1tZXJqcyc7XG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtNYXREcmF3ZXJUb2dnbGVSZXN1bHQsIE1hdFNpZGVuYXZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50fSBmcm9tICdhbmd1bGFyLXJlc2l6YWJsZS1lbGVtZW50JztcbmltcG9ydCB7VXNlclByZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXItcHJlZmVyZW5jZS5zZXJ2aWNlJztcblxuY29uc3QgRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIID0gMjAwO1xuY29uc3QgRFJBV0VSX01BWF9XSURUSCA9IDQ1MDtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2aWdhdGlvbkRyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuXG4gICAgQElucHV0KCd1c2VyJykgcHVibGljIHNob3dVc2VyOiBib29sZWFuO1xuICAgIEBJbnB1dCgndXNlck9iamVjdCcpIHB1YmxpYyB1c2VyOiBVc2VyO1xuICAgIEBJbnB1dCgncXVpY2tQYW5lbCcpIHB1YmxpYyBzaG93UXVpY2tQYW5lbDogYm9vbGVhbjtcbiAgICBASW5wdXQoJ3BhbmVsSXRlbXMnKSBwdWJsaWMgcXVpY2tQYW5lbEl0ZW1zOiBBcnJheTxhbnk+OyAvLyBRdWlja1BhbmVsSXRlbVxuICAgIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0aW9uOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvcGVuZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NpZGVuYXYnKSBwcm90ZWN0ZWQgX3NpZGVOYXY6IE1hdFNpZGVuYXY7XG5cbiAgICBwdWJsaWMgb3BlbmVkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZml4ZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHN1YkJyZWFrcG9pbnQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHB1YmxpYyB3aWR0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBjb250ZW50V2lkdGg6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuXG4gICAgcHJvdGVjdGVkIF9jb25maWcgPSB7XG4gICAgICAgIG1vZGU6ICdvdmVyJyxcbiAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYnJlYWtwb2ludDogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkge1xuICAgICAgICB0aGlzLm9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICAgICAgdGhpcy5fZml4ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMucXVpY2tQYW5lbEl0ZW1zID0gWydsYW5ndWFnZScsICdzZXR0aW5ncycsICdsb2dvdXQnXTtcbiAgICAgICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KERSQVdFUl9ERUZBVUxUX01JTl9XSURUSCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRoaXMuX2ZpeGVkKTtcbiAgICAgICAgdGhpcy5zdWJCcmVha3BvaW50ID0gdGhpcy5icmVha3BvaW50Lm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKS5zdWJzY3JpYmUoIHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnQnJlYWtwb2ludE9ic2VydmVyIG1hdGNoZXMgd2lkdGggb2Ygd2luZG93OiAnICsgdGhpcy5icmVha3BvaW50LmlzTWF0Y2hlZCgnKG1heC13aWR0aDogOTU5Ljk5cHgpJykpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuX2NvbmZpZy5vcGVuZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0aGlzLl9maXhlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5wcmVmZXJlbmNlc0NoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuZHJhd2VyV2lkdGg7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhpcy53aWR0aCA9IHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmdldERyYXdlcldpZHRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZENoYW5nZSA9IHRoaXMuX3NpZGVOYXYub3BlbmVkQ2hhbmdlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YkJyZWFrcG9pbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXQgY29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICAgIH1cblxuICAgIGdldCBmaXhlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpeGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZml4ZWQnKVxuICAgIHNldCBmaXhlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9maXhlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJlc29sdmVMYXlvdXQodGhpcy5fZml4ZWQpO1xuICAgIH1cblxuICAgIG9wZW4oKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpeGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCdvcGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGVOYXYub3BlbigpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgICAgIGlmICh0aGlzLl9maXhlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnb3BlbicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlTmF2LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgICAgIGlmICh0aGlzLl9maXhlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnb3BlbicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlTmF2LnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUxheW91dChib29sOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGJvb2wgPyB7XG4gICAgICAgICAgICBtb2RlOiAnc2lkZScsXG4gICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICAgICAgfSA6IHtcbiAgICAgICAgICAgIG1vZGU6ICdvdmVyJyxcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIGlmIChib29sICYmIHRoaXMuX3NpZGVOYXYpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVOYXYub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3dpcGVSaWdodCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWRlTmF2Lm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN3aXBlTGVmdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWRlTmF2LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlc2l6ZUV2ZW50KGV2ZW50OiBSZXNpemVFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoID4gRFJBV0VSX01BWF9XSURUSCkge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IERSQVdFUl9NQVhfV0lEVEg7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQucmVjdGFuZ2xlLndpZHRoIDwgRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIKSB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gRFJBV0VSX0RFRkFVTFRfTUlOX1dJRFRIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IGV2ZW50LnJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5fZHJhd2VyV2lkdGhDaGFuZ2VkJC5uZXh0KHRoaXMud2lkdGgpO1xuICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aC5uZXh0KHRoaXMud2lkdGgpO1xuICAgIH1cbn1cbiJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1kcmF3ZXIvYWJzdHJhY3QtbmF2aWdhdGlvbi1kcmF3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQXFCLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3BFLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJbkQsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFFN0IsTUFBTSxPQUFnQixpQ0FBaUM7SUEwQm5ELFlBQXNCLFVBQThCLEVBQzlCLElBQW1CLEVBQ25CLHFCQUE0QztRQUY1QyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSeEQsWUFBTyxHQUFHO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBS0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFELElBQUksSUFB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ekM7YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O3VCQTFJQSxLQUFLLFNBQUMsTUFBTTttQkFDWixLQUFLLFNBQUMsWUFBWTs2QkFDbEIsS0FBSyxTQUFDLFlBQVk7OEJBQ2xCLEtBQUssU0FBQyxZQUFZO3lCQUNsQixLQUFLOzJCQUVMLE1BQU07dUJBRU4sU0FBUyxTQUFDLFNBQVM7b0JBa0VuQixLQUFLLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi4vLi4vdXNlci9tb2RlbHMvdXNlcic7XG5pbXBvcnQgJ2hhbW1lcmpzJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50c30gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge01hdERyYXdlclRvZ2dsZVJlc3VsdCwgTWF0U2lkZW5hdn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UmVzaXplRXZlbnR9IGZyb20gJ2FuZ3VsYXItcmVzaXphYmxlLWVsZW1lbnQnO1xuaW1wb3J0IHtVc2VyUHJlZmVyZW5jZVNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UnO1xuXG5jb25zdCBEUkFXRVJfREVGQVVMVF9NSU5fV0lEVEggPSAyMDA7XG5jb25zdCBEUkFXRVJfTUFYX1dJRFRIID0gNDUwO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROYXZpZ2F0aW9uRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG5cbiAgICBASW5wdXQoJ3VzZXInKSBwdWJsaWMgc2hvd1VzZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCd1c2VyT2JqZWN0JykgcHVibGljIHVzZXI6IFVzZXI7XG4gICAgQElucHV0KCdxdWlja1BhbmVsJykgcHVibGljIHNob3dRdWlja1BhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgncGFuZWxJdGVtcycpIHB1YmxpYyBxdWlja1BhbmVsSXRlbXM6IEFycmF5PGFueT47IC8vIFF1aWNrUGFuZWxJdGVtXG4gICAgQElucHV0KCkgcHVibGljIG5hdmlnYXRpb246IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgQFZpZXdDaGlsZCgnc2lkZW5hdicpIHByb3RlY3RlZCBfc2lkZU5hdjogTWF0U2lkZW5hdjtcblxuICAgIHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9maXhlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgc3ViQnJlYWtwb2ludDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGNvbnRlbnRXaWR0aDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZyA9IHtcbiAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2VcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGJyZWFrcG9pbnQ6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdXNlclByZWZlcmVuY2VTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgICAgIHRoaXMuX2ZpeGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1aWNrUGFuZWxJdGVtcyA9IFsnbGFuZ3VhZ2UnLCAnc2V0dGluZ3MnLCAnbG9nb3V0J107XG4gICAgICAgIGlmICh0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5kcmF3ZXJXaWR0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5kcmF3ZXJXaWR0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaWR0aCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihEUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb2x2ZUxheW91dCh0aGlzLl9maXhlZCk7XG4gICAgICAgIHRoaXMuc3ViQnJlYWtwb2ludCA9IHRoaXMuYnJlYWtwb2ludC5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0TGFuZHNjYXBlXSkuc3Vic2NyaWJlKCByZXN1bHQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmluZm8oJ0JyZWFrcG9pbnRPYnNlcnZlciBtYXRjaGVzIHdpZHRoIG9mIHdpbmRvdzogJyArIHRoaXMuYnJlYWtwb2ludC5pc01hdGNoZWQoJyhtYXgtd2lkdGg6IDk1OS45OXB4KScpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA5NTkuOTlweCknKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxheW91dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSB0aGlzLl9jb25maWcub3BlbmVkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVMYXlvdXQodGhpcy5fZml4ZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkID0gdGhpcy5fY29uZmlnLm9wZW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3BlbmVkID0gdGhpcy5fY29uZmlnLm9wZW5lZDtcbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UucHJlZmVyZW5jZXNDaGFuZ2VkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmRyYXdlcldpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50V2lkdGgubmV4dCh0aGlzLndpZHRoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoaXMud2lkdGggPSB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5nZXREcmF3ZXJXaWR0aCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuZWRDaGFuZ2UgPSB0aGlzLl9zaWRlTmF2Lm9wZW5lZENoYW5nZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJCcmVha3BvaW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMub3BlbmVkQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgZml4ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maXhlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ZpeGVkJylcbiAgICBzZXQgZml4ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZml4ZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZXNvbHZlTGF5b3V0KHRoaXMuX2ZpeGVkKTtcbiAgICB9XG5cbiAgICBvcGVuKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgICAgIGlmICghdGhpcy5fc2lkZU5hdi5vcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVOYXYub3BlbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ29wZW4nKTtcbiAgICB9XG5cbiAgICBjbG9zZSgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgICAgICBpZiAodGhpcy5fZml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ2Nsb3NlJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGVOYXYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpeGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCdvcGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGVOYXYudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNvbHZlTGF5b3V0KGJvb2w6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29uZmlnID0gYm9vbCA/IHtcbiAgICAgICAgICAgIG1vZGU6ICdzaWRlJyxcbiAgICAgICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgbW9kZTogJ292ZXInLFxuICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGJvb2wgJiYgdGhpcy5fc2lkZU5hdikge1xuICAgICAgICAgICAgdGhpcy5fc2lkZU5hdi5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzd2lwZVJpZ2h0KCkge1xuICAgICAgICBpZiAodGhpcy5icmVha3BvaW50LmlzTWF0Y2hlZCgnKG1heC13aWR0aDogOTU5Ljk5cHgpJykpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVOYXYub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3dpcGVMZWZ0KCkge1xuICAgICAgICBpZiAodGhpcy5icmVha3BvaW50LmlzTWF0Y2hlZCgnKG1heC13aWR0aDogOTU5Ljk5cHgpJykpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVOYXYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVzaXplRXZlbnQoZXZlbnQ6IFJlc2l6ZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPiBEUkFXRVJfTUFYX1dJRFRIKSB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gRFJBV0VSX01BWF9XSURUSDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5yZWN0YW5nbGUud2lkdGggPCBEUkFXRVJfREVGQVVMVF9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBEUkFXRVJfREVGQVVMVF9NSU5fV0lEVEg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gZXZlbnQucmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLl9kcmF3ZXJXaWR0aENoYW5nZWQkLm5leHQodGhpcy53aWR0aCk7XG4gICAgICAgIHRoaXMuY29udGVudFdpZHRoLm5leHQodGhpcy53aWR0aCk7XG4gICAgfVxufVxuIl19
@@ -199,6 +199,7 @@ export class TaskResourceService extends AbstractResourceService {
199
199
  };
200
200
  if (dataGroupResource.parentTaskId !== undefined) {
201
201
  dataGroupObject.parentTaskId = dataGroupResource.parentTaskId;
202
+ dataGroupObject.parentTransitionId = dataGroupResource.parentTransitionId;
202
203
  dataGroupObject.parentTaskRefId = dataGroupResource.parentTaskRefId;
203
204
  dataGroupObject.nestingLevel = dataGroupResource.nestingLevel;
204
205
  }
@@ -303,4 +304,4 @@ TaskResourceService.ctorParameters = () => [
303
304
  { type: FieldConverterService },
304
305
  { type: LoggerService }
305
306
  ];
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yZXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7Ozs7OztBQVF2RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBRTVELFlBQVksUUFBMEIsRUFDMUIsYUFBbUMsRUFDekIsZUFBc0MsRUFDdEMsT0FBc0I7UUFDeEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFGckIsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFFNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsV0FBbUI7UUFDNUIsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVB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Q0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQzFDLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsK0NBQStDO0lBQ3hDLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxPQUFlO1FBQ3RELE1BQU0sR0FBRyxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUNoQixLQUFLLGFBQWEsQ0FBQyxnQkFBZ0I7b0JBQy9CLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxLQUFLLGFBQWEsQ0FBQyxRQUFRO29CQUN2QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCO29CQUNJLE9BQU8sU0FBUyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUMzQixDQUFDO0lBQ04sQ0FBQzs7O1lBbFRxQixnQkFBZ0I7WUFDWCxvQkFBb0I7WUFDUixxQkFBcUI7WUFDN0IsYUFBYTs7OztZQVIvQyxVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQXRCaUMsZ0JBQWdCO1lBRjFDLG9CQUFvQjtZQWNwQixxQkFBcUI7WUFFckIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhcmFtcywgUHJvdmlkZXJQcm9ncmVzcywgUmVzb3VyY2VQcm92aWRlcn0gZnJvbSAnLi4vcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb3VudH0gZnJvbSAnLi4vaW50ZXJmYWNlL2NvdW50JztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlLCBNZXNzYWdlUmVzb3VyY2V9IGZyb20gJy4uL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGFza1JlZmVyZW5jZX0gZnJvbSAnLi4vaW50ZXJmYWNlL3Rhc2stcmVmZXJlbmNlJztcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vaW50ZXJmYWNlL3Rhc2snO1xuaW1wb3J0IHtDb3VudFNlcnZpY2V9IGZyb20gJy4uL2Fic3RyYWN0LWVuZHBvaW50L2NvdW50LXNlcnZpY2UnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge0h0dHBFdmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnLi4vaW50ZXJmYWNlL3BhZ2UnO1xuaW1wb3J0IHtGaWVsZENvbnZlcnRlclNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy9maWVsZC1jb252ZXJ0ZXIuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tTZXREYXRhUmVxdWVzdEJvZHl9IGZyb20gJy4uL2ludGVyZmFjZS90YXNrLXNldC1kYXRhLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0Fic3RyYWN0UmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi9hYnN0cmFjdC1lbmRwb2ludC9hYnN0cmFjdC1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtEYXRhRmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkJztcbmltcG9ydCB7R2V0RGF0YUdyb3Vwc0V2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvZGF0YS1vdXRjb21lcy9nZXQtZGF0YS1ncm91cHMtZXZlbnQtb3V0Y29tZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGFza1Jlc291cmNlU2VydmljZSBleHRlbmRzIEFic3RyYWN0UmVzb3VyY2VTZXJ2aWNlIGltcGxlbWVudHMgQ291bnRTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3ZpZGVyOiBSZXNvdXJjZVByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmllbGRDb252ZXJ0ZXI6IEZpZWxkQ29udmVydGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSkge1xuICAgICAgICBzdXBlcigndGFzaycsIHByb3ZpZGVyLCBjb25maWdTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQ291bnQgdGFza3MgYnkgcHJvdmlkZWQgY3JpdGVyaWFcbiAgICAgKiAgUE9TVFxuICAgICAqICB7e2Jhc2VVcmx9fS9hcGkvdGFzay9jb3VudFxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudChmaWx0ZXJQYXJhbTogRmlsdGVyKTogT2JzZXJ2YWJsZTxDb3VudD4ge1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW0udHlwZSAhPT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIGZpbHRlciBkb2VzblxcJ3QgaGF2ZSB0eXBlIFRBU0snKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgndGFzay9jb3VudCcsIHRoaXMuU0VSVkVSX1VSTCwgZmlsdGVyUGFyYW0uZ2V0UmVxdWVzdEJvZHkoKSwgZmlsdGVyUGFyYW0uZ2V0UmVxdWVzdFBhcmFtcygpKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIHRhc2tzXG4gICAgICogR0VUXG4gICAgICoge3tiYXNlVXJsfX0vYXBpL3Rhc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWxsVGFzaygpOiBPYnNlcnZhYmxlPEFycmF5PFRhc2s+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2snLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgJ3Rhc2tzJykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ24gdGFza1xuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL2Fzc2lnbi86aWRcbiAgICBwdWJsaWMgYXNzaWduVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2svYXNzaWduLycgKyB0YXNrSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FuY2VsIHRhc2tcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9jYW5jZWwvOmlkXG4gICAgcHVibGljIGNhbmNlbFRhc2sodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5nZXQkKCd0YXNrL2NhbmNlbC8nICsgdGFza0lkLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGVnYXRlIHRhc2tcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svZGVsZWdhdGUvOmlkXG4gICAgcHVibGljIGRlbGVnYXRlVGFzayh0YXNrSWQ6IHN0cmluZywgYm9keTogb2JqZWN0KTogT2JzZXJ2YWJsZTxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIucG9zdCQoJ3Rhc2svZGVsZWdhdGUvJyArIHRhc2tJZCwgdGhpcy5TRVJWRVJfVVJMLCBib2R5LCB1bmRlZmluZWQsIHsnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW4nfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluaXNoIHRhc2tcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9maW5pc2gvOmlkXG4gICAgcHVibGljIGZpbmlzaFRhc2sodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5nZXQkKCd0YXNrL2ZpbmlzaC8nICsgdGFza0lkLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaGVzIHRhc2tzIHRyb3VnaCB0aGUgRWxhc3RpYyBlbmRwb2ludC5cbiAgICAgKiBQT1NUXG4gICAgICogQHBhcmFtIGZpbHRlclBhcmFtIGZpbHRlciB1c2VkIHRvIHNlYXJjaCB0aGUgdGFza3MuIE11c3QgYmUgb2YgdHlwZSBgVEFTS2AuXG4gICAgICogQHBhcmFtIHBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9zZWFyY2hfZXNcbiAgICBwdWJsaWMgc2VhcmNoVGFzayhmaWx0ZXJQYXJhbTogRmlsdGVyLCBwYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2U8VGFzaz4+IHtcbiAgICAgICAgaWYgKGZpbHRlclBhcmFtLnR5cGUgIT09IEZpbHRlclR5cGUuVEFTSykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm92aWRlZCBmaWx0ZXIgZG9lc25cXCd0IGhhdmUgdHlwZSBUQVNLJyk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zID0gUmVzb3VyY2VQcm92aWRlci5jb21iaW5lUGFyYW1zKGZpbHRlclBhcmFtLmdldFJlcXVlc3RQYXJhbXMoKSwgcGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIucG9zdCQoJ3Rhc2svc2VhcmNoX2VzJywgdGhpcy5TRVJWRVJfVVJMLCBmaWx0ZXJQYXJhbS5nZXRSZXF1ZXN0Qm9keSgpLCBwYXJhbXMpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmdldFJlc291cmNlUGFnZTxUYXNrPihyLCAndGFza3MnKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaGVzIHRhc2tzIHRyb3VnaCB0aGUgTW9uZ28gZW5kcG9pbnQuXG4gICAgICogUE9TVFxuICAgICAqIEBwYXJhbSBmaWx0ZXJQYXJhbSBmaWx0ZXIgdXNlZCB0byBzZWFyY2ggdGhlIHRhc2tzLiBNdXN0IGJlIG9mIHR5cGUgYFRBU0tgLlxuICAgICAqIE5vdGUgdGhhdCB0aGUgYHF1ZXJ5YCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoaXMgZW5kcG9pbnQuXG4gICAgICogQXR0ZW1wdGluZyB0byB1c2UgaXQgd2lsbCBkaXNwbGF5IGEgd2FybmluZyBhbmQgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gcGFyYW1zIEFkZGl0aW9uYWwgcmVxdWVzdCBwYXJhbWV0ZXJzXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svc2VhcmNoXG4gICAgcHVibGljIGdldFRhc2tzKGZpbHRlclBhcmFtOiBGaWx0ZXIsIHBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8UGFnZTxUYXNrPj4ge1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW0udHlwZSAhPT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIGZpbHRlciBkb2VzblxcJ3QgaGF2ZSB0eXBlIFRBU0snKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbS5ib2R5Q29udGFpbnNRdWVyeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldFRhc2tzIGVuZHBvaW50IGNhbm5vdCBiZSBxdWVyaWVkIHdpdGggZmlsdGVycyB0aGF0IGNvbnRhaW4gdGhlIFxcJ3F1ZXJ5XFwnIGF0dHJpYnV0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zID0gUmVzb3VyY2VQcm92aWRlci5jb21iaW5lUGFyYW1zKGZpbHRlclBhcmFtLmdldFJlcXVlc3RQYXJhbXMoKSwgcGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIucG9zdCQoJ3Rhc2svc2VhcmNoJywgdGhpcy5TRVJWRVJfVVJMLCBmaWx0ZXJQYXJhbS5nZXRSZXF1ZXN0Qm9keSgpLCBwYXJhbXMpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmdldFJlc291cmNlUGFnZTxUYXNrPihyLCAndGFza3MnKSkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tIENBU0UgLS0tLS0tLS0tLVxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgdGFza3MgYnkgY2FzZXNcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svY2FzZVxuICAgIHB1YmxpYyBnZXRBbGxUYXNrc0J5Q2FzZXMoYm9keTogb2JqZWN0KTogT2JzZXJ2YWJsZTxBcnJheTxUYXNrPj4geyAvLyBUT0RPOiA/P1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgndGFzay9jYXNlJywgdGhpcy5TRVJWRVJfVVJMLCBib2R5KVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsICd0YXNrcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRhc2tzIG9mIHRoZSBjYXNlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svY2FzZS86aWRcbiAgICBwdWJsaWMgZ2V0QWxsVGFza3NCeUNhc2UoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFRhc2tSZWZlcmVuY2U+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2svY2FzZS8nICsgY2FzZUlkLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tIE1ZIFRhc2sgLS0tLS0tLS0tLVxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgdGFza3MgYXNzaWduZWQgdG8gbG9nZ2VkIHVzZXJcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9teVxuICAgIHB1YmxpYyBnZXRBbGxNeVRhc2tzKCk6IE9ic2VydmFibGU8QXJyYXk8VGFzaz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzay9teScsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCBmaW5pc2hlZCB0YXNrcyBieSBsb2dnZWQgdXNlclxuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL215L2ZpbmlzaGVkXG4gICAgcHVibGljIGdldEFsbEZpbmlzaGVkVGFzaygpOiBPYnNlcnZhYmxlPEFycmF5PFRhc2s+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2svbXkvZmluaXNoZWQnLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgdGFzayBkYXRhXG4gICAgICpcbiAgICAgKiBHRVRcbiAgICAgKlxuICAgICAqIElmIHlvdSBkb24ndCB3YW50IHRvIHBhcnNlIHRoZSByZXNwb25zZSB5b3Vyc2VsZiB1c2UgW2dldERhdGFde0BsaW5rIFRhc2tSZXNvdXJjZVNlcnZpY2UjZ2V0RGF0YX0gaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSByYXcgYmFja2VuZCByZXNwb25zZSB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHByb2Nlc3NpbmdcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay86aWQvZGF0YVxuICAgIHB1YmxpYyByYXdHZXREYXRhKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzay8nICsgdGFza0lkICsgJy9kYXRhJywgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGFsbCB0YXNrIGRhdGFcbiAgICAgKlxuICAgICAqICBHRVRcbiAgICAgKlxuICAgICAqICBJZiB5b3Ugd2FudCB0byBwcm9jZXNzIHRoZSByYXcgYmFja2VuZCByZXNwb25zZSB1c2UgW3Jhd0dldERhdGFde0BsaW5rIFRhc2tSZXNvdXJjZVNlcnZpY2UjcmF3R2V0RGF0YX0gaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXNrSWQgSUQgb2YgdGhlIHRhc2sgd2hvJ3MgZGF0YSBzaG91bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIHNlcnZlclxuICAgICAqIEByZXR1cm5zIHByb2Nlc3NlZCBkYXRhIGdyb3VwcyBvZiB0aGUgZ2l2ZW4gdGFzay4gSWYgdGhlIHRhc2sgaGFzIG5vIGRhdGEgYW4gZW1wdHkgYXJyYXkgd2lsbCBiZSByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGF0YSh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8RGF0YUdyb3VwPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdHZXREYXRhKHRhc2tJZCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2VPdXRjb21lOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhR3JvdXBzQXJyYXkgPSB0aGlzLmNoYW5nZVR5cGUoKHJlc3BvbnNlT3V0Y29tZS5vdXRjb21lIGFzIEdldERhdGFHcm91cHNFdmVudE91dGNvbWUpLmRhdGEsICdkYXRhR3JvdXBzJyk7XG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGFHcm91cHNBcnJheSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgICAgICAgICBkYXRhR3JvdXBzQXJyYXkuZm9yRWFjaChkYXRhR3JvdXBSZXNvdXJjZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFGaWVsZHM6IEFycmF5PERhdGFGaWVsZDxhbnk+PiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWRhdGFHcm91cFJlc291cmNlLmZpZWxkcy5fZW1iZWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gY29udGludWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YUdyb3VwUmVzb3VyY2UuZmllbGRzLl9lbWJlZGRlZCkuZm9yRWFjaChsb2NhbGl6ZWRGaWVsZHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goLi4uZGF0YUdyb3VwUmVzb3VyY2UuZmllbGRzLl9lbWJlZGRlZFtsb2NhbGl6ZWRGaWVsZHNdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFGaWVsZHMucHVzaCguLi5maWVsZHMubWFwKGRhdGFGaWVsZFJlc291cmNlID0+IHRoaXMuX2ZpZWxkQ29udmVydGVyLnRvQ2xhc3MoZGF0YUZpZWxkUmVzb3VyY2UpKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFHcm91cE9iamVjdDogRGF0YUdyb3VwID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBkYXRhRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogZGF0YUdyb3VwUmVzb3VyY2Uuc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhR3JvdXBSZXNvdXJjZS50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDogZGF0YUdyb3VwUmVzb3VyY2UubGF5b3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25tZW50OiBkYXRhR3JvdXBSZXNvdXJjZS5hbGlnbm1lbnQsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhR3JvdXBSZXNvdXJjZS5wYXJlbnRUYXNrSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyb3VwT2JqZWN0LnBhcmVudFRhc2tJZCA9IGRhdGFHcm91cFJlc291cmNlLnBhcmVudFRhc2tJZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFHcm91cE9iamVjdC5wYXJlbnRUYXNrUmVmSWQgPSBkYXRhR3JvdXBSZXNvdXJjZS5wYXJlbnRUYXNrUmVmSWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhR3JvdXBPYmplY3QubmVzdGluZ0xldmVsID0gZGF0YUdyb3VwUmVzb3VyY2UubmVzdGluZ0xldmVsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhR3JvdXBSZXNvdXJjZS5wYXJlbnRDYXNlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyb3VwT2JqZWN0WydwYXJlbnRDYXNlSWQnXSA9IGRhdGFHcm91cFJlc291cmNlLnBhcmVudENhc2VJZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChkYXRhR3JvdXBPYmplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0YXNrIGRhdGFcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2RhdGFcbiAgICBwdWJsaWMgc2V0RGF0YSh0YXNrSWQ6IHN0cmluZywgYm9keTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCd0YXNrLycgKyB0YXNrSWQgKyAnL2RhdGEnLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0gRklMRSAtLS0tLS0tLS0tLS1cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZCB0YXNrIGZpbGUgZmllbGQgdmFsdWVcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay86aWQvZmlsZS86ZmllbGQgICAgICAgICAtIGZvciBmaWxlIGZpZWxkXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGUvOmZpZWxkLzpuYW1lICAgLSBmb3IgZmlsZSBsaXN0IGZpZWxkXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSAhIW5hbWUgPyAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkICsgJy8nICsgbmFtZSA6ICd0YXNrLycgKyB0YXNrSWQgKyAnL2ZpbGUvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwbG9hZCBmaWxlIGludG8gdGhlIHRhc2tcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGUvOmZpZWxkICAgICAtIGZvciBmaWxlIGZpZWxkXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGVzLzpmaWVsZCAgICAtIGZvciBmaWxlIGxpc3QgZmllbGRcbiAgICBwdWJsaWMgdXBsb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBib2R5OiBvYmplY3QsIG11bHRpcGxlRmlsZXM6IGJvb2xlYW4pOlxuICAgICAgICBPYnNlcnZhYmxlPFByb3ZpZGVyUHJvZ3Jlc3MgfCBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gIW11bHRpcGxlRmlsZXMgPyAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkIDogJ3Rhc2svJyArIHRhc2tJZCArICcvZmlsZXMvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3RXaXRoRXZlbnQkPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4odXJsLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBmaWxlIGZyb20gdGhlIHRhc2tcbiAgICAgKiBERUxFVEVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gISFuYW1lID8gJ3Rhc2svJyArIHRhc2tJZCArICcvZmlsZS8nICsgZmllbGRJZCArICcvJyArIG5hbWUgOiAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5kZWxldGUkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgdGFzayBmaWxlIHByZXZpZXcgZm9yIGZpZWxkIHZhbHVlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGVfcHJldmlldy86ZmllbGRcbiAgICBwdWJsaWMgZG93bmxvYWRGaWxlUHJldmlldyh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSAndGFzay8nICsgdGFza0lkICsgJy9maWxlX3ByZXZpZXcvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yZXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSXhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7Ozs7OztBQVF2RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBRTVELFlBQVksUUFBMEIsRUFDMUIsYUFBbUMsRUFDekIsZUFBc0MsRUFDdEMsT0FBc0I7UUFDeEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFGckIsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFFNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsV0FBbUI7UUFDNUIsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMzSCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQ0FBa0M7SUFDM0IsVUFBVSxDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQ0FBa0M7SUFDM0IsVUFBVSxDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQ0FBb0M7SUFDN0IsWUFBWSxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxDQUFDO2FBQzNILElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtDQUFrQztJQUMzQixVQUFVLENBQUMsTUFBYztRQUM1QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUNBQWlDO0lBQzFCLFVBQVUsQ0FBQyxXQUFtQixFQUFFLE1BQWU7UUFDbEQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsTUFBTSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDO2FBQ3ZHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCw4QkFBOEI7SUFDdkIsUUFBUSxDQUFDLFdBQW1CLEVBQUUsTUFBZTtRQUNoRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksRUFBRTtZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztTQUM1RztRQUVELE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDcEcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsOEJBQThCO0lBQzlCOzs7T0FHRztJQUNILDRCQUE0QjtJQUNyQixrQkFBa0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7YUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0NBQWdDO0lBQ3pCLGlCQUFpQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQ0FBaUM7SUFDakM7OztPQUdHO0lBQ0gsMEJBQTBCO0lBQ25CLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1DQUFtQztJQUM1QixrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxnQ0FBZ0M7SUFDekIsVUFBVSxDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksT0FBTyxDQUFDLE1BQWM7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDL0IsR0FBRyxDQUFDLENBQUMsZUFBNEMsRUFBRSxFQUFFO1lBQ2pELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUUsZUFBZSxDQUFDLE9BQXFDLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ25ILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQzthQUNiO1lBQ0QsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLGVBQWUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxVQUFVLEdBQTBCLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ3JDLE9BQU8sQ0FBQyxXQUFXO2lCQUN0QjtnQkFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztnQkFDeEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JHLE1BQU0sZUFBZSxHQUFjO29CQUMvQixNQUFNLEVBQUUsVUFBVTtvQkFDbEIsT0FBTyxFQUFFLGlCQUFpQixDQUFDLE9BQU87b0JBQ2xDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO29CQUM5QixNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtvQkFDaEMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLFNBQVM7aUJBQ3pDLENBQUM7Z0JBQ0YsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO29CQUM5QyxlQUFlLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztvQkFDOUQsZUFBZSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO29CQUMxRSxlQUFlLENBQUMsZUFBZSxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztvQkFDcEUsZUFBZSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7aUJBQ2pFO2dCQUNELElBQUksaUJBQWlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtvQkFDOUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztpQkFDcEU7Z0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0NBQWdDO0lBQ3pCLE9BQU8sQ0FBQyxNQUFjLEVBQUUsSUFBNEI7UUFDdkQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO2FBQ2pGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGtDQUFrQztJQUNsQzs7O09BR0c7SUFDSCxnRUFBZ0U7SUFDaEUscUVBQXFFO0lBQzlELFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLElBQWE7UUFDOUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE1BQU0sR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxNQUFNLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNoSCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDaEIsS0FBSyxhQUFhLENBQUMsZ0JBQWdCO29CQUMvQixPQUFPLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0MsS0FBSyxhQUFhLENBQUMsUUFBUTtvQkFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN0QjtvQkFDSSxPQUFPLFNBQVMsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCw0REFBNEQ7SUFDNUQsaUVBQWlFO0lBQzFELFVBQVUsQ0FBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLElBQVksRUFBRSxhQUFzQjtRQUVuRixNQUFNLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE1BQU0sR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDNUcsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUE4QixHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3RHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDaEIsS0FBSyxhQUFhLENBQUMsY0FBYztvQkFDN0IsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLEtBQUssYUFBYSxDQUFDLFFBQVE7b0JBQ3ZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDdEI7b0JBQ0ksT0FBTyxTQUFTLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsSUFBYTtRQUM1RCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE1BQU0sR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ2hILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCwrQ0FBK0M7SUFDeEMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLE9BQWU7UUFDdEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM3RCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLEtBQUssYUFBYSxDQUFDLGdCQUFnQjtvQkFDL0IsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLEtBQUssYUFBYSxDQUFDLFFBQVE7b0JBQ3ZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDdEI7b0JBQ0ksT0FBTyxTQUFTLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7SUFDTixDQUFDOzs7WUFuVHFCLGdCQUFnQjtZQUNYLG9CQUFvQjtZQUNSLHFCQUFxQjtZQUM3QixhQUFhOzs7O1lBUi9DLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBdEJpQyxnQkFBZ0I7WUFGMUMsb0JBQW9CO1lBY3BCLHFCQUFxQjtZQUVyQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGFyYW1zLCBQcm92aWRlclByb2dyZXNzLCBSZXNvdXJjZVByb3ZpZGVyfSBmcm9tICcuLi9yZXNvdXJjZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvdW50fSBmcm9tICcuLi9pbnRlcmZhY2UvY291bnQnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UsIE1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrUmVmZXJlbmNlfSBmcm9tICcuLi9pbnRlcmZhY2UvdGFzay1yZWZlcmVuY2UnO1xuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi9pbnRlcmZhY2UvdGFzayc7XG5pbXBvcnQge0NvdW50U2VydmljZX0gZnJvbSAnLi4vYWJzdHJhY3QtZW5kcG9pbnQvY291bnQtc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlci10eXBlJztcbmltcG9ydCB7SHR0cEV2ZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtQYWdlfSBmcm9tICcuLi9pbnRlcmZhY2UvcGFnZSc7XG5pbXBvcnQge0ZpZWxkQ29udmVydGVyU2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL2ZpZWxkLWNvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1NldERhdGFSZXF1ZXN0Qm9keX0gZnJvbSAnLi4vaW50ZXJmYWNlL3Rhc2stc2V0LWRhdGEtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7QWJzdHJhY3RSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uL2Fic3RyYWN0LWVuZHBvaW50L2Fic3RyYWN0LXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uL2ludGVyZmFjZS9kYXRhLWdyb3Vwcyc7XG5pbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtHZXREYXRhR3JvdXBzRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy9kYXRhLW91dGNvbWVzL2dldC1kYXRhLWdyb3Vwcy1ldmVudC1vdXRjb21lJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXNrUmVzb3VyY2VTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RSZXNvdXJjZVNlcnZpY2UgaW1wbGVtZW50cyBDb3VudFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdmlkZXI6IFJlc291cmNlUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgY29uZmlnU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9maWVsZENvbnZlcnRlcjogRmllbGRDb252ZXJ0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCd0YXNrJywgcHJvdmlkZXIsIGNvbmZpZ1NlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBDb3VudCB0YXNrcyBieSBwcm92aWRlZCBjcml0ZXJpYVxuICAgICAqICBQT1NUXG4gICAgICogIHt7YmFzZVVybH19L2FwaS90YXNrL2NvdW50XG4gICAgICovXG4gICAgcHVibGljIGNvdW50KGZpbHRlclBhcmFtOiBGaWx0ZXIpOiBPYnNlcnZhYmxlPENvdW50PiB7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbS50eXBlICE9PSBGaWx0ZXJUeXBlLlRBU0spIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZWQgZmlsdGVyIGRvZXNuXFwndCBoYXZlIHR5cGUgVEFTSycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCd0YXNrL2NvdW50JywgdGhpcy5TRVJWRVJfVVJMLCBmaWx0ZXJQYXJhbS5nZXRSZXF1ZXN0Qm9keSgpLCBmaWx0ZXJQYXJhbS5nZXRSZXF1ZXN0UGFyYW1zKCkpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgdGFza3NcbiAgICAgKiBHRVRcbiAgICAgKiB7e2Jhc2VVcmx9fS9hcGkvdGFza1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBbGxUYXNrKCk6IE9ic2VydmFibGU8QXJyYXk8VGFzaz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzaycsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCAndGFza3MnKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbiB0YXNrXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svYXNzaWduLzppZFxuICAgIHB1YmxpYyBhc3NpZ25UYXNrKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzay9hc3NpZ24vJyArIHRhc2tJZCwgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgdGFza1xuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL2NhbmNlbC86aWRcbiAgICBwdWJsaWMgY2FuY2VsVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2svY2FuY2VsLycgKyB0YXNrSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZWdhdGUgdGFza1xuICAgICAqIFBPU1RcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9kZWxlZ2F0ZS86aWRcbiAgICBwdWJsaWMgZGVsZWdhdGVUYXNrKHRhc2tJZDogc3RyaW5nLCBib2R5OiBvYmplY3QpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgndGFzay9kZWxlZ2F0ZS8nICsgdGFza0lkLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHksIHVuZGVmaW5lZCwgeydDb250ZW50LVR5cGUnOiAndGV4dC9wbGFpbid9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5pc2ggdGFza1xuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL2ZpbmlzaC86aWRcbiAgICBwdWJsaWMgZmluaXNoVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3Rhc2svZmluaXNoLycgKyB0YXNrSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgdGFza3MgdHJvdWdoIHRoZSBFbGFzdGljIGVuZHBvaW50LlxuICAgICAqIFBPU1RcbiAgICAgKiBAcGFyYW0gZmlsdGVyUGFyYW0gZmlsdGVyIHVzZWQgdG8gc2VhcmNoIHRoZSB0YXNrcy4gTXVzdCBiZSBvZiB0eXBlIGBUQVNLYC5cbiAgICAgKiBAcGFyYW0gcGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL3NlYXJjaF9lc1xuICAgIHB1YmxpYyBzZWFyY2hUYXNrKGZpbHRlclBhcmFtOiBGaWx0ZXIsIHBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8UGFnZTxUYXNrPj4ge1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW0udHlwZSAhPT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIGZpbHRlciBkb2VzblxcJ3QgaGF2ZSB0eXBlIFRBU0snKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXMgPSBSZXNvdXJjZVByb3ZpZGVyLmNvbWJpbmVQYXJhbXMoZmlsdGVyUGFyYW0uZ2V0UmVxdWVzdFBhcmFtcygpLCBwYXJhbXMpO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgndGFzay9zZWFyY2hfZXMnLCB0aGlzLlNFUlZFUl9VUkwsIGZpbHRlclBhcmFtLmdldFJlcXVlc3RCb2R5KCksIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuZ2V0UmVzb3VyY2VQYWdlPFRhc2s+KHIsICd0YXNrcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgdGFza3MgdHJvdWdoIHRoZSBNb25nbyBlbmRwb2ludC5cbiAgICAgKiBQT1NUXG4gICAgICogQHBhcmFtIGZpbHRlclBhcmFtIGZpbHRlciB1c2VkIHRvIHNlYXJjaCB0aGUgdGFza3MuIE11c3QgYmUgb2YgdHlwZSBgVEFTS2AuXG4gICAgICogTm90ZSB0aGF0IHRoZSBgcXVlcnlgIGF0dHJpYnV0ZSBvZiB0aGUgZmlsdGVyIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBlbmRwb2ludC5cbiAgICAgKiBBdHRlbXB0aW5nIHRvIHVzZSBpdCB3aWxsIGRpc3BsYXkgYSB3YXJuaW5nIGFuZCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBmcm9tIHRoZSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRpb25hbCByZXF1ZXN0IHBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9zZWFyY2hcbiAgICBwdWJsaWMgZ2V0VGFza3MoZmlsdGVyUGFyYW06IEZpbHRlciwgcGFyYW1zPzogUGFyYW1zKTogT2JzZXJ2YWJsZTxQYWdlPFRhc2s+PiB7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbS50eXBlICE9PSBGaWx0ZXJUeXBlLlRBU0spIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZWQgZmlsdGVyIGRvZXNuXFwndCBoYXZlIHR5cGUgVEFTSycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbHRlclBhcmFtLmJvZHlDb250YWluc1F1ZXJ5KCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZ2V0VGFza3MgZW5kcG9pbnQgY2Fubm90IGJlIHF1ZXJpZWQgd2l0aCBmaWx0ZXJzIHRoYXQgY29udGFpbiB0aGUgXFwncXVlcnlcXCcgYXR0cmlidXRlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBwYXJhbXMgPSBSZXNvdXJjZVByb3ZpZGVyLmNvbWJpbmVQYXJhbXMoZmlsdGVyUGFyYW0uZ2V0UmVxdWVzdFBhcmFtcygpLCBwYXJhbXMpO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgndGFzay9zZWFyY2gnLCB0aGlzLlNFUlZFUl9VUkwsIGZpbHRlclBhcmFtLmdldFJlcXVlc3RCb2R5KCksIHBhcmFtcylcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuZ2V0UmVzb3VyY2VQYWdlPFRhc2s+KHIsICd0YXNrcycpKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0gQ0FTRSAtLS0tLS0tLS0tXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCB0YXNrcyBieSBjYXNlc1xuICAgICAqIFBPU1RcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9jYXNlXG4gICAgcHVibGljIGdldEFsbFRhc2tzQnlDYXNlcyhib2R5OiBvYmplY3QpOiBPYnNlcnZhYmxlPEFycmF5PFRhc2s+PiB7IC8vIFRPRE86ID8/XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCd0YXNrL2Nhc2UnLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgJ3Rhc2tzJykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGFza3Mgb2YgdGhlIGNhc2VcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay9jYXNlLzppZFxuICAgIHB1YmxpYyBnZXRBbGxUYXNrc0J5Q2FzZShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8VGFza1JlZmVyZW5jZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzay9jYXNlLycgKyBjYXNlSWQsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0gTVkgVGFzayAtLS0tLS0tLS0tXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCB0YXNrcyBhc3NpZ25lZCB0byBsb2dnZWQgdXNlclxuICAgICAqIEdFVFxuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrL215XG4gICAgcHVibGljIGdldEFsbE15VGFza3MoKTogT2JzZXJ2YWJsZTxBcnJheTxUYXNrPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5nZXQkKCd0YXNrL215JywgdGhpcy5TRVJWRVJfVVJMKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGZpbmlzaGVkIHRhc2tzIGJ5IGxvZ2dlZCB1c2VyXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svbXkvZmluaXNoZWRcbiAgICBwdWJsaWMgZ2V0QWxsRmluaXNoZWRUYXNrKCk6IE9ic2VydmFibGU8QXJyYXk8VGFzaz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgndGFzay9teS9maW5pc2hlZCcsIHRoaXMuU0VSVkVSX1VSTClcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGFsbCB0YXNrIGRhdGFcbiAgICAgKlxuICAgICAqIEdFVFxuICAgICAqXG4gICAgICogSWYgeW91IGRvbid0IHdhbnQgdG8gcGFyc2UgdGhlIHJlc3BvbnNlIHlvdXJzZWxmIHVzZSBbZ2V0RGF0YV17QGxpbmsgVGFza1Jlc291cmNlU2VydmljZSNnZXREYXRhfSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIHJhdyBiYWNrZW5kIHJlc3BvbnNlIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgcHJvY2Vzc2luZ1xuICAgICAqL1xuICAgIC8vIHt7YmFzZVVybH19L2FwaS90YXNrLzppZC9kYXRhXG4gICAgcHVibGljIHJhd0dldERhdGEodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5nZXQkKCd0YXNrLycgKyB0YXNrSWQgKyAnL2RhdGEnLCB0aGlzLlNFUlZFUl9VUkwpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBHZXQgYWxsIHRhc2sgZGF0YVxuICAgICAqXG4gICAgICogIEdFVFxuICAgICAqXG4gICAgICogIElmIHlvdSB3YW50IHRvIHByb2Nlc3MgdGhlIHJhdyBiYWNrZW5kIHJlc3BvbnNlIHVzZSBbcmF3R2V0RGF0YV17QGxpbmsgVGFza1Jlc291cmNlU2VydmljZSNyYXdHZXREYXRhfSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhc2tJZCBJRCBvZiB0aGUgdGFzayB3aG8ncyBkYXRhIHNob3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgc2VydmVyXG4gICAgICogQHJldHVybnMgcHJvY2Vzc2VkIGRhdGEgZ3JvdXBzIG9mIHRoZSBnaXZlbiB0YXNrLiBJZiB0aGUgdGFzayBoYXMgbm8gZGF0YSBhbiBlbXB0eSBhcnJheSB3aWxsIGJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRhKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxEYXRhR3JvdXA+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhd0dldERhdGEodGFza0lkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZU91dGNvbWU6IEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFHcm91cHNBcnJheSA9IHRoaXMuY2hhbmdlVHlwZSgocmVzcG9uc2VPdXRjb21lLm91dGNvbWUgYXMgR2V0RGF0YUdyb3Vwc0V2ZW50T3V0Y29tZSkuZGF0YSwgJ2RhdGFHcm91cHMnKTtcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YUdyb3Vwc0FycmF5KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGRhdGFHcm91cHNBcnJheS5mb3JFYWNoKGRhdGFHcm91cFJlc291cmNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YUZpZWxkczogQXJyYXk8RGF0YUZpZWxkPGFueT4+ID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGF0YUdyb3VwUmVzb3VyY2UuZmllbGRzLl9lbWJlZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBjb250aW51ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhkYXRhR3JvdXBSZXNvdXJjZS5maWVsZHMuX2VtYmVkZGVkKS5mb3JFYWNoKGxvY2FsaXplZEZpZWxkcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMucHVzaCguLi5kYXRhR3JvdXBSZXNvdXJjZS5maWVsZHMuX2VtYmVkZGVkW2xvY2FsaXplZEZpZWxkc10pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZGF0YUZpZWxkcy5wdXNoKC4uLmZpZWxkcy5tYXAoZGF0YUZpZWxkUmVzb3VyY2UgPT4gdGhpcy5fZmllbGRDb252ZXJ0ZXIudG9DbGFzcyhkYXRhRmllbGRSZXNvdXJjZSkpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YUdyb3VwT2JqZWN0OiBEYXRhR3JvdXAgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IGRhdGFGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBkYXRhR3JvdXBSZXNvdXJjZS5zdHJldGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGRhdGFHcm91cFJlc291cmNlLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBkYXRhR3JvdXBSZXNvdXJjZS5sYXlvdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbm1lbnQ6IGRhdGFHcm91cFJlc291cmNlLmFsaWdubWVudCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFHcm91cFJlc291cmNlLnBhcmVudFRhc2tJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhR3JvdXBPYmplY3QucGFyZW50VGFza0lkID0gZGF0YUdyb3VwUmVzb3VyY2UucGFyZW50VGFza0lkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyb3VwT2JqZWN0LnBhcmVudFRyYW5zaXRpb25JZCA9IGRhdGFHcm91cFJlc291cmNlLnBhcmVudFRyYW5zaXRpb25JZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFHcm91cE9iamVjdC5wYXJlbnRUYXNrUmVmSWQgPSBkYXRhR3JvdXBSZXNvdXJjZS5wYXJlbnRUYXNrUmVmSWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhR3JvdXBPYmplY3QubmVzdGluZ0xldmVsID0gZGF0YUdyb3VwUmVzb3VyY2UubmVzdGluZ0xldmVsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhR3JvdXBSZXNvdXJjZS5wYXJlbnRDYXNlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyb3VwT2JqZWN0WydwYXJlbnRDYXNlSWQnXSA9IGRhdGFHcm91cFJlc291cmNlLnBhcmVudENhc2VJZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChkYXRhR3JvdXBPYmplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0YXNrIGRhdGFcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2RhdGFcbiAgICBwdWJsaWMgc2V0RGF0YSh0YXNrSWQ6IHN0cmluZywgYm9keTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCd0YXNrLycgKyB0YXNrSWQgKyAnL2RhdGEnLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgdW5kZWZpbmVkKSkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0gRklMRSAtLS0tLS0tLS0tLS1cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZCB0YXNrIGZpbGUgZmllbGQgdmFsdWVcbiAgICAgKiBHRVRcbiAgICAgKi9cbiAgICAvLyB7e2Jhc2VVcmx9fS9hcGkvdGFzay86aWQvZmlsZS86ZmllbGQgICAgICAgICAtIGZvciBmaWxlIGZpZWxkXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGUvOmZpZWxkLzpuYW1lICAgLSBmb3IgZmlsZSBsaXN0IGZpZWxkXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSAhIW5hbWUgPyAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkICsgJy8nICsgbmFtZSA6ICd0YXNrLycgKyB0YXNrSWQgKyAnL2ZpbGUvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwbG9hZCBmaWxlIGludG8gdGhlIHRhc2tcbiAgICAgKiBQT1NUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGUvOmZpZWxkICAgICAtIGZvciBmaWxlIGZpZWxkXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGVzLzpmaWVsZCAgICAtIGZvciBmaWxlIGxpc3QgZmllbGRcbiAgICBwdWJsaWMgdXBsb2FkRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBib2R5OiBvYmplY3QsIG11bHRpcGxlRmlsZXM6IGJvb2xlYW4pOlxuICAgICAgICBPYnNlcnZhYmxlPFByb3ZpZGVyUHJvZ3Jlc3MgfCBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gIW11bHRpcGxlRmlsZXMgPyAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkIDogJ3Rhc2svJyArIHRhc2tJZCArICcvZmlsZXMvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3RXaXRoRXZlbnQkPEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZT4odXJsLCB0aGlzLlNFUlZFUl9VUkwsIGJvZHkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBmaWxlIGZyb20gdGhlIHRhc2tcbiAgICAgKiBERUxFVEVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlRmlsZSh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZXNzYWdlUmVzb3VyY2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gISFuYW1lID8gJ3Rhc2svJyArIHRhc2tJZCArICcvZmlsZS8nICsgZmllbGRJZCArICcvJyArIG5hbWUgOiAndGFzay8nICsgdGFza0lkICsgJy9maWxlLycgKyBmaWVsZElkO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5kZWxldGUkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWQgdGFzayBmaWxlIHByZXZpZXcgZm9yIGZpZWxkIHZhbHVlXG4gICAgICogR0VUXG4gICAgICovXG4gICAgLy8ge3tiYXNlVXJsfX0vYXBpL3Rhc2svOmlkL2ZpbGVfcHJldmlldy86ZmllbGRcbiAgICBwdWJsaWMgZG93bmxvYWRGaWxlUHJldmlldyh0YXNrSWQ6IHN0cmluZywgZmllbGRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm92aWRlclByb2dyZXNzIHwgQmxvYj4ge1xuICAgICAgICBjb25zdCB1cmwgPSAndGFzay8nICsgdGFza0lkICsgJy9maWxlX3ByZXZpZXcvJyArIGZpZWxkSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldEJsb2IkKHVybCwgdGhpcy5TRVJWRVJfVVJMKS5waXBlKFxuICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VQcm92aWRlci5nZXRQcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5ib2R5O1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -16,4 +16,4 @@ export var DataGroupAlignment;
16
16
  */
17
17
  DataGroupAlignment["END"] = "end";
18
18
  })(DataGroupAlignment || (DataGroupAlignment = {}));
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncm91cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvcmVzb3VyY2VzL2ludGVyZmFjZS9kYXRhLWdyb3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q0E7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFhWDtBQWJELFdBQVksa0JBQWtCO0lBQzFCOztPQUVHO0lBQ0gscUNBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsdUNBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxpQ0FBVyxDQUFBO0FBQ2YsQ0FBQyxFQWJXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFhN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtEYXRhR3JvdXBMYXlvdXR9IGZyb20gJy4vZGF0YS1ncm91cC1sYXlvdXQnO1xuXG4vKipcbiAqIE9iamVjdCBmcm9tIEJhY2tlbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhR3JvdXAge1xuICAgIC8qKlxuICAgICAqIEFycmF5IFtEYXRhRmllbGRde0BsaW5rIERhdGFGaWVsZH1cbiAgICAgKi9cbiAgICBmaWVsZHM6IEFycmF5PERhdGFGaWVsZDxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBOYW1lIGRhdGFncm91cFxuICAgICAqL1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRGVzaW5nIGFsaWdubWVudFxuICAgICAqICoqKkV4YW1wbGU6KioqIHN0YXJ0XG4gICAgICovXG4gICAgYWxpZ25tZW50OiBEYXRhR3JvdXBBbGlnbm1lbnQ7XG4gICAgLyoqXG4gICAgICogRGVzaW5nIHN0cmV0Y2hcbiAgICAgKlxuICAgICAqICoqKkV4YW1wbGU6KioqIHRydWVcbiAgICAgKi9cbiAgICBzdHJldGNoOiBib29sZWFuO1xuICAgIGxheW91dD86IERhdGFHcm91cExheW91dDtcbiAgICAvKipcbiAgICAgKiBTdHJpbmcgaWQgb2YgcGFyZW50IHRhc2ssIG9ubHkgc2V0IGlmIGRhdGFHcm91cCBpcyBsb2FkZWQgYnkge0BsaW5rIFRhc2tSZWZGaWVsZH1cbiAgICAgKi9cbiAgICBwYXJlbnRUYXNrSWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU3RyaW5nIGlkIG9mIHBhcmVudCBjYXNlLCBvbmx5IHNldCBpZiBkYXRhR3JvdXAgaXMgbG9hZGVkIGJ5IHtAbGluayBUYXNrUmVmRmllbGR9XG4gICAgICovXG4gICAgcGFyZW50Q2FzZUlkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFN0cmluZyBpZCBvZiB0aGUgcGFyZW50IHRhc2sgcmVmLiBPbmx5IHNldCBpZiB0aGUgZGF0YSBncm91cCBpcyBsb2FkZWQgdmlhIGEge0BsaW5rIFRhc2tSZWZGaWVsZH1cbiAgICAgKi9cbiAgICBwYXJlbnRUYXNrUmVmSWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTGV2ZWwgb2YgbmVzdGluZyBpbiBhIHRhc2sgcmVmZmVkIGRhdGEgZ3JvdXAuIE9ubHkgc2V0IGlmIHRoZSBkYXRhIGdyb3VwIGlzIGxvYWRlZCB2aWEgYSB7QGxpbmsgVGFza1JlZkZpZWxkfVxuICAgICAqL1xuICAgIG5lc3RpbmdMZXZlbD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdCBkYXRhIGZpZWxkIHdoZW4gdGhlIG51bWJlciBvZiBkYXRhIGZpZWxkcyBpbiBhIGRhdGEgZ3JvdXAgaXMgb2RkLlxuICovXG5leHBvcnQgZW51bSBEYXRhR3JvdXBBbGlnbm1lbnQge1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uZWQgaW4gdGhlIGxlZnQgY29sdW1uXG4gICAgICovXG4gICAgU1RBUlQgPSAnc3RhcnQnLFxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uZWQgaW4gdGhlIGNlbnRlciBvZiB0aGUgc2NyZWVuXG4gICAgICovXG4gICAgQ0VOVEVSID0gJ2NlbnRlcicsXG4gICAgLyoqXG4gICAgICogUG9zaXRpb25lZCBpbiB0aGUgcmlnaHQgY29sdW1uXG4gICAgICovXG4gICAgRU5EID0gJ2VuZCdcbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncm91cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvcmVzb3VyY2VzL2ludGVyZmFjZS9kYXRhLWdyb3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpREE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFhWDtBQWJELFdBQVksa0JBQWtCO0lBQzFCOztPQUVHO0lBQ0gscUNBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsdUNBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxpQ0FBVyxDQUFBO0FBQ2YsQ0FBQyxFQWJXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFhN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtEYXRhR3JvdXBMYXlvdXR9IGZyb20gJy4vZGF0YS1ncm91cC1sYXlvdXQnO1xuXG4vKipcbiAqIE9iamVjdCBmcm9tIEJhY2tlbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhR3JvdXAge1xuICAgIC8qKlxuICAgICAqIEFycmF5IFtEYXRhRmllbGRde0BsaW5rIERhdGFGaWVsZH1cbiAgICAgKi9cbiAgICBmaWVsZHM6IEFycmF5PERhdGFGaWVsZDxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBOYW1lIGRhdGFncm91cFxuICAgICAqL1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRGVzaW5nIGFsaWdubWVudFxuICAgICAqICoqKkV4YW1wbGU6KioqIHN0YXJ0XG4gICAgICovXG4gICAgYWxpZ25tZW50OiBEYXRhR3JvdXBBbGlnbm1lbnQ7XG4gICAgLyoqXG4gICAgICogRGVzaW5nIHN0cmV0Y2hcbiAgICAgKlxuICAgICAqICoqKkV4YW1wbGU6KioqIHRydWVcbiAgICAgKi9cbiAgICBzdHJldGNoOiBib29sZWFuO1xuICAgIGxheW91dD86IERhdGFHcm91cExheW91dDtcbiAgICAvKipcbiAgICAgKiBTdHJpbmcgaWQgb2YgcGFyZW50IHRhc2ssIG9ubHkgc2V0IGlmIGRhdGFHcm91cCBpcyBsb2FkZWQgYnkge0BsaW5rIFRhc2tSZWZGaWVsZH1cbiAgICAgKi9cbiAgICBwYXJlbnRUYXNrSWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU3RyaW5nIGlkIG9mIHBhcmVudCB0YXNrLCBvbmx5IHNldCBpZiBkYXRhR3JvdXAgaXMgbG9hZGVkIGJ5IHtAbGluayBUYXNrUmVmRmllbGR9XG4gICAgICovXG4gICAgcGFyZW50VHJhbnNpdGlvbklkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFN0cmluZyBpZCBvZiBwYXJlbnQgY2FzZSwgb25seSBzZXQgaWYgZGF0YUdyb3VwIGlzIGxvYWRlZCBieSB7QGxpbmsgVGFza1JlZkZpZWxkfVxuICAgICAqL1xuICAgIHBhcmVudENhc2VJZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTdHJpbmcgaWQgb2YgdGhlIHBhcmVudCB0YXNrIHJlZi4gT25seSBzZXQgaWYgdGhlIGRhdGEgZ3JvdXAgaXMgbG9hZGVkIHZpYSBhIHtAbGluayBUYXNrUmVmRmllbGR9XG4gICAgICovXG4gICAgcGFyZW50VGFza1JlZklkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExldmVsIG9mIG5lc3RpbmcgaW4gYSB0YXNrIHJlZmZlZCBkYXRhIGdyb3VwLiBPbmx5IHNldCBpZiB0aGUgZGF0YSBncm91cCBpcyBsb2FkZWQgdmlhIGEge0BsaW5rIFRhc2tSZWZGaWVsZH1cbiAgICAgKi9cbiAgICBuZXN0aW5nTGV2ZWw/OiBudW1iZXI7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgdGhlIGxhc3QgZGF0YSBmaWVsZCB3aGVuIHRoZSBudW1iZXIgb2YgZGF0YSBmaWVsZHMgaW4gYSBkYXRhIGdyb3VwIGlzIG9kZC5cbiAqL1xuZXhwb3J0IGVudW0gRGF0YUdyb3VwQWxpZ25tZW50IHtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbmVkIGluIHRoZSBsZWZ0IGNvbHVtblxuICAgICAqL1xuICAgIFNUQVJUID0gJ3N0YXJ0JyxcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbmVkIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlblxuICAgICAqL1xuICAgIENFTlRFUiA9ICdjZW50ZXInLFxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uZWQgaW4gdGhlIHJpZ2h0IGNvbHVtblxuICAgICAqL1xuICAgIEVORCA9ICdlbmQnXG59XG4iXX0=
@@ -16,7 +16,7 @@ export class NoConfigurationUserAutocompleteCategory extends NoConfigurationAuto
16
16
  if (this.selectedOperator.numberOfOperands !== 1) {
17
17
  throw new Error(`Only unary operators are currently supported by the ${this._className} implementation`);
18
18
  }
19
- return this.selectedOperator.createQuery(this.elasticKeywords, userInput[0], false);
19
+ return this.selectedOperator.createQuery(this.elasticKeywords, Array.isArray(userInput[0]) ? userInput[0] : userInput, false);
20
20
  }
21
21
  serializeOperandValue(valueFormControl) {
22
22
  return this._userAutocomplete.serializeOperandValue(valueFormControl);
@@ -25,4 +25,4 @@ export class NoConfigurationUserAutocompleteCategory extends NoConfigurationAuto
25
25
  return this._userAutocomplete.deserializeOperandValue(savedOption);
26
26
  }
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29uZmlndXJhdGlvbi11c2VyLWF1dG9jb21wbGV0ZS1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zZWFyY2gvbW9kZWxzL2NhdGVnb3J5L25vLWNvbmZpZ3VyYXRpb24tdXNlci1hdXRvY29tcGxldGUtY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFVckQsTUFBTSxPQUFnQix1Q0FBd0MsU0FBUSxtQ0FBMkM7SUFJN0csWUFBc0IsZUFBOEIsRUFBRSxnQkFBc0MsRUFDdEUsZUFBdUIsRUFBRSxHQUFrQixFQUFFLGVBQWdDLEVBQ3JFLFVBQVUsRUFBWSxxQkFBMkM7UUFDM0YsS0FBSyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRHRELGVBQVUsR0FBVixVQUFVLENBQUE7UUFBWSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBRTNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFUyxhQUFhO0lBQ3ZCLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBdUU7UUFHakYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxhQUFhLENBQUMsU0FBK0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELElBQUksQ0FBQyxVQUFVLGlCQUFpQixDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVTLHFCQUFxQixDQUFDLGdCQUE2QjtRQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxXQUFvRDtRQUVsRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05vQ29uZmlndXJhdGlvbkF1dG9jb21wbGV0ZUNhdGVnb3J5fSBmcm9tICcuL25vLWNvbmZpZ3VyYXRpb24tYXV0b2NvbXBsZXRlLWNhdGVnb3J5JztcbmltcG9ydCB7VXNlckF1dG9jb21wbGV0ZX0gZnJvbSAnLi91c2VyLWF1dG9jb21wbGV0ZSc7XG5pbXBvcnQge09wZXJhdG9yfSBmcm9tICcuLi9vcGVyYXRvci9vcGVyYXRvcic7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge09wZXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3Itc2VydmljZS9vcGVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7T3B0aW9uYWxEZXBlbmRlbmNpZXN9IGZyb20gJy4uLy4uL2NhdGVnb3J5LWZhY3Rvcnkvb3B0aW9uYWwtZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NlYXJjaEF1dG9jb21wbGV0ZU9wdGlvbn0gZnJvbSAnLi9zZWFyY2gtYXV0b2NvbXBsZXRlLW9wdGlvbic7XG5pbXBvcnQge1F1ZXJ5fSBmcm9tICcuLi9xdWVyeS9xdWVyeSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb0NvbmZpZ3VyYXRpb25Vc2VyQXV0b2NvbXBsZXRlQ2F0ZWdvcnkgZXh0ZW5kcyBOb0NvbmZpZ3VyYXRpb25BdXRvY29tcGxldGVDYXRlZ29yeTxzdHJpbmc+IHtcblxuICAgIHByaXZhdGUgX3VzZXJBdXRvY29tcGxldGU6IFVzZXJBdXRvY29tcGxldGU7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZWxhc3RpY0tleXdvcmRzOiBBcnJheTxzdHJpbmc+LCBhbGxvd2VkT3BlcmF0b3JzOiBBcnJheTxPcGVyYXRvcjxhbnk+PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25QYXRoOiBzdHJpbmcsIGxvZzogTG9nZ2VyU2VydmljZSwgb3BlcmF0b3JTZXJ2aWNlOiBPcGVyYXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZhdGUgX2NsYXNzTmFtZSwgcHJvdGVjdGVkIF9vcHRpb25hbERlcGVuZGVuY2llczogT3B0aW9uYWxEZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgc3VwZXIoZWxhc3RpY0tleXdvcmRzLCBhbGxvd2VkT3BlcmF0b3JzLCB0cmFuc2xhdGlvblBhdGgsIGxvZywgb3BlcmF0b3JTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fdXNlckF1dG9jb21wbGV0ZSA9IG5ldyBVc2VyQXV0b2NvbXBsZXRlKHRoaXMuX29wdGlvbmFsRGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3B0aW9ucygpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBmaWx0ZXJPcHRpb25zKHVzZXJJbnB1dDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBTZWFyY2hBdXRvY29tcGxldGVPcHRpb248QXJyYXk8c3RyaW5nPj4+KTpcbiAgICAgICAgT2JzZXJ2YWJsZTxBcnJheTxTZWFyY2hBdXRvY29tcGxldGVPcHRpb248QXJyYXk8c3RyaW5nPj4+PiB7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJBdXRvY29tcGxldGUuZmlsdGVyT3B0aW9ucyh1c2VySW5wdXQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZW5lcmF0ZVF1ZXJ5KHVzZXJJbnB1dDogQXJyYXk8QXJyYXk8c3RyaW5nPj4pOiBRdWVyeSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3BlcmF0b3IubnVtYmVyT2ZPcGVyYW5kcyAhPT0gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmx5IHVuYXJ5IG9wZXJhdG9ycyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgJHt0aGlzLl9jbGFzc05hbWV9IGltcGxlbWVudGF0aW9uYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcGVyYXRvci5jcmVhdGVRdWVyeSh0aGlzLmVsYXN0aWNLZXl3b3JkcywgdXNlcklucHV0WzBdLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlcmlhbGl6ZU9wZXJhbmRWYWx1ZSh2YWx1ZUZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyQXV0b2NvbXBsZXRlLnNlcmlhbGl6ZU9wZXJhbmRWYWx1ZSh2YWx1ZUZvcm1Db250cm9sKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVPcGVyYW5kVmFsdWUoc2F2ZWRPcHRpb246IFNlYXJjaEF1dG9jb21wbGV0ZU9wdGlvbjxBcnJheTxzdHJpbmc+Pik6XG4gICAgICAgIE9ic2VydmFibGU8U2VhcmNoQXV0b2NvbXBsZXRlT3B0aW9uPEFycmF5PHN0cmluZz4+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyQXV0b2NvbXBsZXRlLmRlc2VyaWFsaXplT3BlcmFuZFZhbHVlKHNhdmVkT3B0aW9uKTtcbiAgICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29uZmlndXJhdGlvbi11c2VyLWF1dG9jb21wbGV0ZS1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zZWFyY2gvbW9kZWxzL2NhdGVnb3J5L25vLWNvbmZpZ3VyYXRpb24tdXNlci1hdXRvY29tcGxldGUtY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFVckQsTUFBTSxPQUFnQix1Q0FBd0MsU0FBUSxtQ0FBMkM7SUFJN0csWUFBc0IsZUFBOEIsRUFBRSxnQkFBc0MsRUFDdEUsZUFBdUIsRUFBRSxHQUFrQixFQUFFLGVBQWdDLEVBQ3JFLFVBQVUsRUFBWSxxQkFBMkM7UUFDM0YsS0FBSyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRHRELGVBQVUsR0FBVixVQUFVLENBQUE7UUFBWSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBRTNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFUyxhQUFhO0lBQ3ZCLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBdUU7UUFHakYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxhQUFhLENBQUMsU0FBK0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELElBQUksQ0FBQyxVQUFVLGlCQUFpQixDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsSSxDQUFDO0lBRVMscUJBQXFCLENBQUMsZ0JBQTZCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVTLHVCQUF1QixDQUFDLFdBQW9EO1FBRWxGLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm9Db25maWd1cmF0aW9uQXV0b2NvbXBsZXRlQ2F0ZWdvcnl9IGZyb20gJy4vbm8tY29uZmlndXJhdGlvbi1hdXRvY29tcGxldGUtY2F0ZWdvcnknO1xuaW1wb3J0IHtVc2VyQXV0b2NvbXBsZXRlfSBmcm9tICcuL3VzZXItYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7T3BlcmF0b3J9IGZyb20gJy4uL29wZXJhdG9yL29wZXJhdG9yJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7T3BlcmF0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9vcGVyYXRvci1zZXJ2aWNlL29wZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtPcHRpb25hbERlcGVuZGVuY2llc30gZnJvbSAnLi4vLi4vY2F0ZWdvcnktZmFjdG9yeS9vcHRpb25hbC1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoQXV0b2NvbXBsZXRlT3B0aW9ufSBmcm9tICcuL3NlYXJjaC1hdXRvY29tcGxldGUtb3B0aW9uJztcbmltcG9ydCB7UXVlcnl9IGZyb20gJy4uL3F1ZXJ5L3F1ZXJ5JztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5vQ29uZmlndXJhdGlvblVzZXJBdXRvY29tcGxldGVDYXRlZ29yeSBleHRlbmRzIE5vQ29uZmlndXJhdGlvbkF1dG9jb21wbGV0ZUNhdGVnb3J5PHN0cmluZz4ge1xuXG4gICAgcHJpdmF0ZSBfdXNlckF1dG9jb21wbGV0ZTogVXNlckF1dG9jb21wbGV0ZTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihlbGFzdGljS2V5d29yZHM6IEFycmF5PHN0cmluZz4sIGFsbG93ZWRPcGVyYXRvcnM6IEFycmF5PE9wZXJhdG9yPGFueT4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblBhdGg6IHN0cmluZywgbG9nOiBMb2dnZXJTZXJ2aWNlLCBvcGVyYXRvclNlcnZpY2U6IE9wZXJhdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBfY2xhc3NOYW1lLCBwcm90ZWN0ZWQgX29wdGlvbmFsRGVwZW5kZW5jaWVzOiBPcHRpb25hbERlcGVuZGVuY2llcykge1xuICAgICAgICBzdXBlcihlbGFzdGljS2V5d29yZHMsIGFsbG93ZWRPcGVyYXRvcnMsIHRyYW5zbGF0aW9uUGF0aCwgbG9nLCBvcGVyYXRvclNlcnZpY2UpO1xuICAgICAgICB0aGlzLl91c2VyQXV0b2NvbXBsZXRlID0gbmV3IFVzZXJBdXRvY29tcGxldGUodGhpcy5fb3B0aW9uYWxEZXBlbmRlbmNpZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPcHRpb25zKCk6IHZvaWQge1xuICAgIH1cblxuICAgIGZpbHRlck9wdGlvbnModXNlcklucHV0OiBPYnNlcnZhYmxlPHN0cmluZyB8IFNlYXJjaEF1dG9jb21wbGV0ZU9wdGlvbjxBcnJheTxzdHJpbmc+Pj4pOlxuICAgICAgICBPYnNlcnZhYmxlPEFycmF5PFNlYXJjaEF1dG9jb21wbGV0ZU9wdGlvbjxBcnJheTxzdHJpbmc+Pj4+IHtcblxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlckF1dG9jb21wbGV0ZS5maWx0ZXJPcHRpb25zKHVzZXJJbnB1dCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdlbmVyYXRlUXVlcnkodXNlcklucHV0OiBBcnJheTxBcnJheTxzdHJpbmc+Pik6IFF1ZXJ5IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcGVyYXRvci5udW1iZXJPZk9wZXJhbmRzICE9PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9ubHkgdW5hcnkgb3BlcmF0b3JzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRoZSAke3RoaXMuX2NsYXNzTmFtZX0gaW1wbGVtZW50YXRpb25gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wZXJhdG9yLmNyZWF0ZVF1ZXJ5KHRoaXMuZWxhc3RpY0tleXdvcmRzLCBBcnJheS5pc0FycmF5KHVzZXJJbnB1dFswXSkgPyB1c2VySW5wdXRbMF0gOiB1c2VySW5wdXQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2VyaWFsaXplT3BlcmFuZFZhbHVlKHZhbHVlRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJBdXRvY29tcGxldGUuc2VyaWFsaXplT3BlcmFuZFZhbHVlKHZhbHVlRm9ybUNvbnRyb2wpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXNlcmlhbGl6ZU9wZXJhbmRWYWx1ZShzYXZlZE9wdGlvbjogU2VhcmNoQXV0b2NvbXBsZXRlT3B0aW9uPEFycmF5PHN0cmluZz4+KTpcbiAgICAgICAgT2JzZXJ2YWJsZTxTZWFyY2hBdXRvY29tcGxldGVPcHRpb248QXJyYXk8c3RyaW5nPj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXJBdXRvY29tcGxldGUuZGVzZXJpYWxpemVPcGVyYW5kVmFsdWUoc2F2ZWRPcHRpb24pO1xuICAgIH1cbn1cbiJdfQ==
@@ -33,6 +33,9 @@ export class SideMenuService {
33
33
  * @returns Observable<MatDrawerToggleResult>
34
34
  */
35
35
  open(componentOrTemplateRef, width = SideMenuSize.MEDIUM, injectionData) {
36
+ if (!this.componentIsPresent()) {
37
+ throw new Error('Side menu is not initialized');
38
+ }
36
39
  if (this._sideMenuComponent.isOpened()) {
37
40
  throw new Error('Side menu has been already opened with another content');
38
41
  }
@@ -68,6 +71,19 @@ export class SideMenuService {
68
71
  close(closeEvent) {
69
72
  return this._controlObject.close(closeEvent);
70
73
  }
74
+ /**
75
+ * Toggle this _sideMenu. This is equivalent to calling close() when it's already opened, or open() when it's closed.
76
+ *
77
+ * @param isOpen Whether the _sideMenu should be open.
78
+ *
79
+ * @returns open or close side menu
80
+ */
81
+ // public toggle(isOpen?: boolean): Observable<MatDrawerToggleResult> {
82
+ // return from(this._sideMenu.toggle(isOpen));
83
+ // }
84
+ componentIsPresent() {
85
+ return !!this._sideMenuComponent;
86
+ }
71
87
  }
72
88
  SideMenuService.ctorParameters = () => [
73
89
  { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [NAE_NET_VERSION_VISIBLE,] }] },
@@ -83,4 +99,4 @@ SideMenuService.ctorParameters = () => [
83
99
  { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [NAE_NET_VERSION_VISIBLE,] }] },
84
100
  { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [NAE_NET_ALL_VERSIONS,] }] }
85
101
  ];
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2lkZS1tZW51L3NlcnZpY2VzL3NpZGUtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFpQixjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7OztBQUtyRyxNQUFNLE9BQU8sZUFBZTtJQVF4QixZQUF5RCxnQkFBeUIsRUFDNUIsaUJBQTBCO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDNUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLElBQVM7UUFDN0IsSUFBSSxJQUFJLENBQUMsa0JBQWtC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dUJBQXVCOzBDQUMxQyxRQUFRLFlBQUksTUFBTSxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBUZW1wbGF0ZVBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOQUVfU0lERV9NRU5VX0NPTlRST0x9IGZyb20gJy4uL3NpZGUtbWVudS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtTaWRlTWVudVNpemV9IGZyb20gJy4uL21vZGVscy9zaWRlLW1lbnUtc2l6ZSc7XG5pbXBvcnQge1BvcnRhbFdyYXBwZXJ9IGZyb20gJy4uL21vZGVscy9wb3J0YWwtd3JhcHBlcic7XG5pbXBvcnQge1NpZGVNZW51UmVmfSBmcm9tICcuLi9tb2RlbHMvc2lkZS1tZW51LXJlZic7XG5pbXBvcnQge1NpZGVNZW51SW5qZWN0aW9uRGF0YX0gZnJvbSAnLi4vbW9kZWxzL3NpZGUtbWVudS1pbmplY3Rpb24tZGF0YSc7XG5pbXBvcnQge1NpZGVNZW51Q29udHJvbH0gZnJvbSAnLi4vbW9kZWxzL3NpZGUtbWVudS1jb250cm9sJztcbmltcG9ydCB7U2lkZU1lbnVFdmVudH0gZnJvbSAnLi4vbW9kZWxzL3NpZGUtbWVudS1ldmVudCc7XG5pbXBvcnQge01hdERyYXdlclRvZ2dsZVJlc3VsdH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge05BRV9ORVRfQUxMX1ZFUlNJT05TLCBOQUVfTkVUX1ZFUlNJT05fVklTSUJMRX0gZnJvbSAnLi4vbmV0LXZlcnNpb24tdmlzaWJsZS1pbmplY3Rpb24tdG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVNZW51U2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9zaWRlTWVudUNvbXBvbmVudDogYW55OyAvLyBTaWRlTWVudUNvbnRhaW5lckNvbXBvbmVudFxuICAgIHByaXZhdGUgX2NvbnRyb2xPYmplY3Q6IFNpZGVNZW51Q29udHJvbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNWZXJzaW9uVmlzaWJsZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbFZlcnNpb25FbmFibGVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVUX1ZFUlNJT05fVklTSUJMRSkgaXNWZXJzaW9uVmlzaWJsZTogYm9vbGVhbixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9ORVRfQUxMX1ZFUlNJT05TKSBhbGxWZXJzaW9uRW5hYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzVmVyc2lvblZpc2libGUgPSBpc1ZlcnNpb25WaXNpYmxlICE9PSBudWxsID8gaXNWZXJzaW9uVmlzaWJsZSA6IHRydWU7XG4gICAgICAgIHRoaXMuYWxsVmVyc2lvbkVuYWJsZWQgPSBhbGxWZXJzaW9uRW5hYmxlZCAhPT0gbnVsbCA/IGFsbFZlcnNpb25FbmFibGVkIDogZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVnaXN0ZXIgU2lkZU1lbnVDb250YWluZXJDb21wb25lbnRcbiAgICAgKlxuICAgICAqIHBhcmFtcyBtZW51IGlzIFNpZGVNZW51Q29udGFpbmVyQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyU2lkZU1lbnUobWVudTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zaWRlTWVudUNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWRlTWVudUNvbnRhaW5lckNvbXBvbmVudCBoYXMgYmVlbiBhbHJlYWR5IHJlZ2lzdGVyZWQhJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2lkZU1lbnVDb21wb25lbnQgPSBtZW51O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGVNZW51Q29tcG9uZW50LmlzT3BlbmVkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiB0aGlzIF9zaWRlTWVudSwgYW5kIHJldHVybiBhIE9ic2VydmFibGUgdGhhdCB3aWxsIHJlc29sdmUgd2hlbiBpdCdzIGZ1bGx5IG9wZW5lZCAob3IgZ2V0IHJlamVjdGVkIGlmIGl0IGRpZG4ndCkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3BlbjxUPihjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgICAgICAgICAgICAgd2lkdGg6IFNpZGVNZW51U2l6ZSA9IFNpZGVNZW51U2l6ZS5NRURJVU0sXG4gICAgICAgICAgICAgICAgICAgaW5qZWN0aW9uRGF0YT86IFNpZGVNZW51SW5qZWN0aW9uRGF0YSk6IFNpZGVNZW51UmVmIHtcbiAgICAgICAgaWYgKHRoaXMuX3NpZGVNZW51Q29tcG9uZW50LmlzT3BlbmVkKCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2lkZSBtZW51IGhhcyBiZWVuIGFscmVhZHkgb3BlbmVkIHdpdGggYW5vdGhlciBjb250ZW50Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVmOiBTaWRlTWVudVJlZiA9IG5ldyBTaWRlTWVudVJlZihudWxsKTtcbiAgICAgICAgdGhpcy5fY29udHJvbE9iamVjdCA9IG5ldyBTaWRlTWVudUNvbnRyb2woKChldmVudCkgPT4ge1xuICAgICAgICAgICAgcmVmID0gbmV3IFNpZGVNZW51UmVmKGV2ZW50KTtcbiAgICAgICAgfSksIHRoaXMuX3NpZGVNZW51Q29tcG9uZW50Lm9wZW5lZENoYW5nZSgpLCAoKSA9PiB0aGlzLl9zaWRlTWVudUNvbXBvbmVudC5jbG9zZSh0aGlzLl9zaWRlTWVudUNvbXBvbmVudCksXG4gICAgICAgICAgICBpbmplY3Rpb25EYXRhLCB0aGlzLmlzVmVyc2lvblZpc2libGUsIHRoaXMuYWxsVmVyc2lvbkVuYWJsZWQpO1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl9jcmVhdGVQb3J0YWwoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgd2lkdGgsIHRoaXMuX2NvbnRyb2xPYmplY3QpO1xuICAgICAgICB0aGlzLl9zaWRlTWVudUNvbXBvbmVudC5vcGVuKHdyYXBwZXIpLnN1YnNjcmliZSgob3BlbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAob3BlbmVkID09PSAnb3BlbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sT2JqZWN0LnB1Ymxpc2goe29wZW5lZDogdHJ1ZX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQb3J0YWw8VD4odGVtcGxhdGU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogU2lkZU1lbnVTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sT2JqZWN0OiBTaWRlTWVudUNvbnRyb2wpOiBQb3J0YWxXcmFwcGVyIHtcbiAgICAgICAgaWYgKHRlbXBsYXRlID09PSB1bmRlZmluZWQgfHwgdGVtcGxhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQSBjb21wb25lbnQgdGVtcGxhdGUgbXVzdCBiZSBwcm92aWRlZCB0byBvcGVuIGEgc2lkZSBtZW51IScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvcnRhbFdyYXBwZXIobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCBudWxsKSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRlbXBsYXRlIGluc3RhbmNlb2YgVHlwZSkge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe3Byb3ZpZGVyczogW3twcm92aWRlOiBOQUVfU0lERV9NRU5VX0NPTlRST0wsIHVzZVZhbHVlOiBjb250cm9sT2JqZWN0fV19KTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9ydGFsV3JhcHBlcihuZXcgQ29tcG9uZW50UG9ydGFsKHRlbXBsYXRlLCBudWxsLCBpbmplY3RvciksIHNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgdGhpcyBfc2lkZU1lbnUsIGFuZCByZXR1cm4gYSBPYnNlcnZhYmxlIHRoYXQgd2lsbCByZXNvbHZlIHdoZW4gaXQncyBmdWxseSBjbG9zZWQgKG9yIGdldCByZWplY3RlZCBpZiBpdCBkaWRuJ3QpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+XG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKGNsb3NlRXZlbnQ/OiBTaWRlTWVudUV2ZW50KTogT2JzZXJ2YWJsZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRyb2xPYmplY3QuY2xvc2UoY2xvc2VFdmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoaXMgX3NpZGVNZW51LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyBjbG9zZSgpIHdoZW4gaXQncyBhbHJlYWR5IG9wZW5lZCwgb3Igb3BlbigpIHdoZW4gaXQncyBjbG9zZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIGlzT3BlbiAgV2hldGhlciB0aGUgX3NpZGVNZW51IHNob3VsZCBiZSBvcGVuLlxuICAgICAqXG4gICAgICogQHJldHVybnMgb3BlbiBvciBjbG9zZSBzaWRlIG1lbnVcbiAgICAgKi9cbiAgICAvLyBwdWJsaWMgdG9nZ2xlKGlzT3Blbj86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIC8vICAgICByZXR1cm4gZnJvbSh0aGlzLl9zaWRlTWVudS50b2dnbGUoaXNPcGVuKSk7XG4gICAgLy8gfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2lkZS1tZW51L3NlcnZpY2VzL3NpZGUtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFpQixjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7OztBQUtyRyxNQUFNLE9BQU8sZUFBZTtJQVF4QixZQUF5RCxnQkFBeUIsRUFDNUIsaUJBQTBCO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDNUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLElBQVM7UUFDN0IsSUFBSSxJQUFJLENBQUMsa0JBQWtC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SSxrQkFBa0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3JDLENBQUM7OzswQ0F6RlksUUFBUSxZQUFJLE1BQU0sU0FBQyx1QkFBdUI7MENBQzFDLFFBQVEsWUFBSSxNQUFNLFNBQUMsb0JBQW9COzs7O1lBWnZELFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7OzBDQVNnQixRQUFRLFlBQUksTUFBTSxTQUFDLHVCQUF1QjswQ0FDMUMsUUFBUSxZQUFJLE1BQU0sU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgVGVtcGxhdGVQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TkFFX1NJREVfTUVOVV9DT05UUk9MfSBmcm9tICcuLi9zaWRlLW1lbnUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7U2lkZU1lbnVTaXplfSBmcm9tICcuLi9tb2RlbHMvc2lkZS1tZW51LXNpemUnO1xuaW1wb3J0IHtQb3J0YWxXcmFwcGVyfSBmcm9tICcuLi9tb2RlbHMvcG9ydGFsLXdyYXBwZXInO1xuaW1wb3J0IHtTaWRlTWVudVJlZn0gZnJvbSAnLi4vbW9kZWxzL3NpZGUtbWVudS1yZWYnO1xuaW1wb3J0IHtTaWRlTWVudUluamVjdGlvbkRhdGF9IGZyb20gJy4uL21vZGVscy9zaWRlLW1lbnUtaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtTaWRlTWVudUNvbnRyb2x9IGZyb20gJy4uL21vZGVscy9zaWRlLW1lbnUtY29udHJvbCc7XG5pbXBvcnQge1NpZGVNZW51RXZlbnR9IGZyb20gJy4uL21vZGVscy9zaWRlLW1lbnUtZXZlbnQnO1xuaW1wb3J0IHtNYXREcmF3ZXJUb2dnbGVSZXN1bHR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtOQUVfTkVUX0FMTF9WRVJTSU9OUywgTkFFX05FVF9WRVJTSU9OX1ZJU0lCTEV9IGZyb20gJy4uL25ldC12ZXJzaW9uLXZpc2libGUtaW5qZWN0aW9uLXRva2VuJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTaWRlTWVudVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfc2lkZU1lbnVDb21wb25lbnQ6IGFueTsgLy8gU2lkZU1lbnVDb250YWluZXJDb21wb25lbnRcbiAgICBwcml2YXRlIF9jb250cm9sT2JqZWN0OiBTaWRlTWVudUNvbnRyb2w7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzVmVyc2lvblZpc2libGU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxWZXJzaW9uRW5hYmxlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX05FVF9WRVJTSU9OX1ZJU0lCTEUpIGlzVmVyc2lvblZpc2libGU6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVUX0FMTF9WRVJTSU9OUykgYWxsVmVyc2lvbkVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc1ZlcnNpb25WaXNpYmxlID0gaXNWZXJzaW9uVmlzaWJsZSAhPT0gbnVsbCA/IGlzVmVyc2lvblZpc2libGUgOiB0cnVlO1xuICAgICAgICB0aGlzLmFsbFZlcnNpb25FbmFibGVkID0gYWxsVmVyc2lvbkVuYWJsZWQgIT09IG51bGwgPyBhbGxWZXJzaW9uRW5hYmxlZCA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlZ2lzdGVyIFNpZGVNZW51Q29udGFpbmVyQ29tcG9uZW50XG4gICAgICpcbiAgICAgKiBwYXJhbXMgbWVudSBpcyBTaWRlTWVudUNvbnRhaW5lckNvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3RlclNpZGVNZW51KG1lbnU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2lkZU1lbnVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2lkZU1lbnVDb250YWluZXJDb21wb25lbnQgaGFzIGJlZW4gYWxyZWFkeSByZWdpc3RlcmVkIScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29tcG9uZW50ID0gbWVudTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlTWVudUNvbXBvbmVudC5pc09wZW5lZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gdGhpcyBfc2lkZU1lbnUsIGFuZCByZXR1cm4gYSBPYnNlcnZhYmxlIHRoYXQgd2lsbCByZXNvbHZlIHdoZW4gaXQncyBmdWxseSBvcGVuZWQgKG9yIGdldCByZWplY3RlZCBpZiBpdCBkaWRuJ3QpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+XG4gICAgICovXG4gICAgcHVibGljIG9wZW48VD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICAgICAgICAgICAgIHdpZHRoOiBTaWRlTWVudVNpemUgPSBTaWRlTWVudVNpemUuTUVESVVNLFxuICAgICAgICAgICAgICAgICAgIGluamVjdGlvbkRhdGE/OiBTaWRlTWVudUluamVjdGlvbkRhdGEpOiBTaWRlTWVudVJlZiB7XG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRJc1ByZXNlbnQoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWRlIG1lbnUgaXMgbm90IGluaXRpYWxpemVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpZGVNZW51Q29tcG9uZW50LmlzT3BlbmVkKCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2lkZSBtZW51IGhhcyBiZWVuIGFscmVhZHkgb3BlbmVkIHdpdGggYW5vdGhlciBjb250ZW50Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVmOiBTaWRlTWVudVJlZiA9IG5ldyBTaWRlTWVudVJlZihudWxsKTtcbiAgICAgICAgdGhpcy5fY29udHJvbE9iamVjdCA9IG5ldyBTaWRlTWVudUNvbnRyb2woKChldmVudCkgPT4ge1xuICAgICAgICAgICAgcmVmID0gbmV3IFNpZGVNZW51UmVmKGV2ZW50KTtcbiAgICAgICAgfSksIHRoaXMuX3NpZGVNZW51Q29tcG9uZW50Lm9wZW5lZENoYW5nZSgpLCAoKSA9PiB0aGlzLl9zaWRlTWVudUNvbXBvbmVudC5jbG9zZSh0aGlzLl9zaWRlTWVudUNvbXBvbmVudCksXG4gICAgICAgICAgICBpbmplY3Rpb25EYXRhLCB0aGlzLmlzVmVyc2lvblZpc2libGUsIHRoaXMuYWxsVmVyc2lvbkVuYWJsZWQpO1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLl9jcmVhdGVQb3J0YWwoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgd2lkdGgsIHRoaXMuX2NvbnRyb2xPYmplY3QpO1xuICAgICAgICB0aGlzLl9zaWRlTWVudUNvbXBvbmVudC5vcGVuKHdyYXBwZXIpLnN1YnNjcmliZSgob3BlbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAob3BlbmVkID09PSAnb3BlbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sT2JqZWN0LnB1Ymxpc2goe29wZW5lZDogdHJ1ZX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQb3J0YWw8VD4odGVtcGxhdGU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogU2lkZU1lbnVTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sT2JqZWN0OiBTaWRlTWVudUNvbnRyb2wpOiBQb3J0YWxXcmFwcGVyIHtcbiAgICAgICAgaWYgKHRlbXBsYXRlID09PSB1bmRlZmluZWQgfHwgdGVtcGxhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQSBjb21wb25lbnQgdGVtcGxhdGUgbXVzdCBiZSBwcm92aWRlZCB0byBvcGVuIGEgc2lkZSBtZW51IScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvcnRhbFdyYXBwZXIobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCBudWxsKSwgc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRlbXBsYXRlIGluc3RhbmNlb2YgVHlwZSkge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe3Byb3ZpZGVyczogW3twcm92aWRlOiBOQUVfU0lERV9NRU5VX0NPTlRST0wsIHVzZVZhbHVlOiBjb250cm9sT2JqZWN0fV19KTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9ydGFsV3JhcHBlcihuZXcgQ29tcG9uZW50UG9ydGFsKHRlbXBsYXRlLCBudWxsLCBpbmplY3RvciksIHNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgdGhpcyBfc2lkZU1lbnUsIGFuZCByZXR1cm4gYSBPYnNlcnZhYmxlIHRoYXQgd2lsbCByZXNvbHZlIHdoZW4gaXQncyBmdWxseSBjbG9zZWQgKG9yIGdldCByZWplY3RlZCBpZiBpdCBkaWRuJ3QpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+XG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKGNsb3NlRXZlbnQ/OiBTaWRlTWVudUV2ZW50KTogT2JzZXJ2YWJsZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRyb2xPYmplY3QuY2xvc2UoY2xvc2VFdmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoaXMgX3NpZGVNZW51LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyBjbG9zZSgpIHdoZW4gaXQncyBhbHJlYWR5IG9wZW5lZCwgb3Igb3BlbigpIHdoZW4gaXQncyBjbG9zZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIGlzT3BlbiAgV2hldGhlciB0aGUgX3NpZGVNZW51IHNob3VsZCBiZSBvcGVuLlxuICAgICAqXG4gICAgICogQHJldHVybnMgb3BlbiBvciBjbG9zZSBzaWRlIG1lbnVcbiAgICAgKi9cbiAgICAvLyBwdWJsaWMgdG9nZ2xlKGlzT3Blbj86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIC8vICAgICByZXR1cm4gZnJvbSh0aGlzLl9zaWRlTWVudS50b2dnbGUoaXNPcGVuKSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBjb21wb25lbnRJc1ByZXNlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX3NpZGVNZW51Q29tcG9uZW50O1xuICAgIH1cbn1cbiJdfQ==
@@ -172,4 +172,4 @@ AssignPolicyService.ctorParameters = () => [
172
172
  { type: TaskContentService },
173
173
  { type: PermissionService }
174
174
  ];
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXBvbGljeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Rhc2svc2VydmljZXMvYXNzaWduLXBvbGljeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFN0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RDs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFJeEQsWUFBc0IsZ0JBQWlDLEVBQ2pDLGtCQUFxQyxFQUNyQyxrQkFBcUMsRUFDckMsb0JB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QkFBbUI7WUFDN0IsZ0JBQWdCO1lBQ0oscUJBQXFCOzRDQUN0RCxNQUFNLFNBQUMsbUJBQW1CO1lBQ1Asa0JBQWtCO1lBQ1IsaUJBQWlCOzs7WUFiOUQsVUFBVTs7O1lBaEJILGVBQWU7WUFDZixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUduQixnQkFBZ0I7WUFFaEIscUJBQXFCOzRDQW1CWixNQUFNLFNBQUMsbUJBQW1CO1lBNUJuQyxrQkFBa0I7WUFXbEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBc3NpZ25Qb2xpY3l9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC9wb2xpY3knO1xuaW1wb3J0IHtUYXNrSGFuZGxpbmdTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGFuZGxpbmctc2VydmljZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0RhdGFTZXJ2aWNlfSBmcm9tICcuL3Rhc2stZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7QXNzaWduVGFza1NlcnZpY2V9IGZyb20gJy4vYXNzaWduLXRhc2suc2VydmljZSc7XG5pbXBvcnQge0NhbmNlbFRhc2tTZXJ2aWNlfSBmcm9tICcuL2NhbmNlbC10YXNrLnNlcnZpY2UnO1xuaW1wb3J0IHtGaW5pc2hQb2xpY3lTZXJ2aWNlfSBmcm9tICcuL2ZpbmlzaC1wb2xpY3kuc2VydmljZSc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uL21vZGVscy90YXNrLW9wZXJhdGlvbnMtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza09wZXJhdGlvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFzay1vcGVyYXRpb25zJztcbmltcG9ydCB7Q2FsbENoYWluU2VydmljZX0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2NhbGwtY2hhaW4uc2VydmljZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtVc2VyQ29tcGFyYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5pbXBvcnQge1Blcm1pc3Npb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGVybWlzc2lvblR5cGV9IGZyb20gJy4uLy4uL3Byb2Nlc3MvcGVybWlzc2lvbnMnO1xuXG4vKipcbiAqIEhhbmRsZXMgdGhlIHNlcXVlbmNlIG9mIGFjdGlvbnMgdGhhdCBhcmUgcGVyZm9ybWVkIHdoZW4gYSB0YXNrIGlzIGJlaW5nIGFzc2lnbmVkLCBiYXNlZCBvbiB0aGUgdGFzaydzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBc3NpZ25Qb2xpY3lTZXJ2aWNlIGV4dGVuZHMgVGFza0hhbmRsaW5nU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9pc0ZvcmNlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrRGF0YVNlcnZpY2U6IFRhc2tEYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Fzc2lnblRhc2tTZXJ2aWNlOiBBc3NpZ25UYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NhbmNlbFRhc2tTZXJ2aWNlOiBDYW5jZWxUYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbmlzaFBvbGljeVNlcnZpY2U6IEZpbmlzaFBvbGljeVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYWxsY2hhaW46IENhbGxDaGFpblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyQ29tcGFyYXRvclNlcnZpY2U6IFVzZXJDb21wYXJhdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIHRhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHRhc2tDb250ZW50U2VydmljZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvcmNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRm9yY2VkO1xuICAgIH1cblxuICAgIHNldCBmb3JjZWQoYm9vbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0ZvcmNlZCA9IGJvb2w7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBwb2xpY3kgZGVmaW5lZCBieSB0aGUgVGFzayBvbiBpdCdzIGFzc2lnbm1lbnQuXG4gICAgICogQHBhcmFtIHRhc2tPcGVuZWQgd2hldGhlciB0aGUgVGFzayB3YXMgJ29wZW5lZCcgKGVnLiB0YXNrIHBhbmVsIGlzIGV4cGFuZGluZykgb3IgJ2Nsb3NlZCcgKGVnLiB0YXNrIHBhbmVsIGlzIGNvbGxhcHNpbmcpXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGFzc2lnbiBwb2xpY3kgKGFuZCBhbGwgZm9sbG93aW5nIHBvbGljaWVzKSBmaW5pc2hlc1xuICAgICAqL1xuICAgIHB1YmxpYyBwZXJmb3JtQXNzaWduUG9saWN5KHRhc2tPcGVuZWQ6IGJvb2xlYW4sIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiA9IG5ldyBBZnRlckFjdGlvbigpKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zYWZlVGFzay5hc3NpZ25Qb2xpY3kgPT09IEFzc2lnblBvbGljeS5hdXRvXG4gICAgICAgICAgICAmJiB0aGlzLl9wZXJtaXNzaW9uU2VydmljZS5oYXNUYXNrUGVybWlzc2lvbih0aGlzLl9zYWZlVGFzaywgUGVybWlzc2lvblR5cGUuQVNTSUdOKSkge1xuICAgICAgICAgICAgdGhpcy5hdXRvQXNzaWduUG9saWN5KHRhc2tPcGVuZWQsIGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWFudWFsQXNzaWduUG9saWN5KHRhc2tPcGVuZWQsIGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSBhY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgW0F1dG8gQXNzaWduIFBvbGljeV17QGxpbmsgQXNzaWduUG9saWN5I2F1dG99LlxuICAgICAqIEBwYXJhbSB0YXNrT3BlbmVkIHdoZXRoZXIgdGhlIFRhc2sgd2FzICdvcGVuZWQnIChlZy4gdGFzayBwYW5lbCBpcyBleHBhbmRpbmcpIG9yICdjbG9zZWQnIChlZy4gdGFzayBwYW5lbCBpcyBjb2xsYXBzaW5nKVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXV0b0Fzc2lnblBvbGljeSh0YXNrT3BlbmVkOiBib29sZWFuLCBhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhc2tPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0Fzc2lnbk9wZW5lZFBvbGljeShhZnRlckFjdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Bc3NpZ25DbG9zZWRQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBbQXV0byBBc3NpZ24gUG9saWN5XXtAbGluayBBc3NpZ25Qb2xpY3kjYXV0b31cbiAgICAgKiB3aGVuIGEgdGFzayBpcyAnb3BlbmluZycgKGVnLiB0YXNrIHBhbmVsIGlzIGV4cGFuZGluZykuXG4gICAgICpcbiAgICAgKiBBc3NpZ25zIHRoZSB0YXNrLCByZWxvYWRzIHRoZSBjdXJyZW50IHRhc2sgcGFnZSwgbG9hZHMgdGFzayBkYXRhIGFuZCBwZXJmb3JtcyB0aGUgZmluaXNoIHBvbGljeS5cbiAgICAgKlxuICAgICAqIFNlZSBbZmluaXNoIHBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5U2VydmljZSNwZXJmb3JtRmluaXNoUG9saWN5fSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXV0b0Fzc2lnbk9wZW5lZFBvbGljeShhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXNzaWduVGFza1NlcnZpY2UuYXNzaWduKFxuICAgICAgICAgICAgdGhpcy5fY2FsbGNoYWluLmNyZWF0ZSgoYXNzaWduU3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZnRlckFzc2lnbk9wZW5Qb2xpY3koYXNzaWduU3VjY2VzcywgYWZ0ZXJBY3Rpb24pO1xuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVsb2FkcyB0aGUgY3VycmVudCBwYWdlIG9mIHRhc2tzIGlmIHRoZSBwcmVjZWRpbmcgYXNzaWduIG9wZXJhdGlvbiBzdWNjZWVkZWQuIFRoZW4gaW5pdGlhbGl6ZXMgdGhlIHRhc2sncyBkYXRhIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0gYXNzaWduU3VjY2VzcyB3aGV0aGVyIHRoZSBwcmVjZWRpbmcgYXNzaWduIHN1Y2NlZWRlZCBvciBub3RcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFmdGVyQXNzaWduT3BlblBvbGljeShhc3NpZ25TdWNjZXNzOiBib29sZWFuLCBhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFhc3NpZ25TdWNjZXNzKSB7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Rhc2tEYXRhU2VydmljZS5pbml0aWFsaXplVGFza0RhdGFGaWVsZHMoXG4gICAgICAgICAgICB0aGlzLl9jYWxsY2hhaW4uY3JlYXRlKChyZXF1ZXN0U3VjY2Vzc2Z1bCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maW5pc2hQb2xpY3lTZXJ2aWNlLnBlcmZvcm1GaW5pc2hQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5faXNGb3JjZWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXF1ZXN0cyBhIHJlbG9hZCBvZiB0aGUgdGFzayBhbmQgdGhlbiByZXF1ZXN0cyB0aGUgdGFzayB0byBiZSBjbG9zZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGF1dG9Bc3NpZ25DbG9zZWRQb2xpY3koYWZ0ZXJBY3Rpb246IFN1YmplY3Q8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl91c2VyQ29tcGFyYXRvclNlcnZpY2UuY29tcGFyZVVzZXJzKHRoaXMuX3Rhc2sudXNlcikpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tPcGVyYXRpb25zLmNsb3NlKCk7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgfVxuICAgICAgICB0aGlzLl9jYW5jZWxUYXNrU2VydmljZS5jYW5jZWwoXG4gICAgICAgICAgICB0aGlzLl9jYWxsY2hhaW4uY3JlYXRlKChyZXF1ZXN0U3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tPcGVyYXRpb25zLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ubmV4dChyZXF1ZXN0U3VjY2Vzcyk7XG4gICAgICAgICAgICAgICAgYWZ0ZXJBY3Rpb24uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBbTWFudWFsIEFzc2lnbiBQb2xpY3lde0BsaW5rIEFzc2lnblBvbGljeSNtYW51YWx9LlxuICAgICAqIEBwYXJhbSB0YXNrT3BlbmVkIHdoZXRoZXIgdGhlIFRhc2sgd2FzICdvcGVuZWQnIChlZy4gdGFzayBwYW5lbCBpcyBleHBhbmRpbmcpIG9yICdjbG9zZWQnIChlZy4gdGFzayBwYW5lbCBpcyBjb2xsYXBzaW5nKVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbWFudWFsQXNzaWduUG9saWN5KHRhc2tPcGVuZWQ6IGJvb2xlYW4sIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodGFza09wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5tYW51YWxBc3NpZ25PcGVuZWRQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgYWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIFtNYW51YWwgQXNzaWduIFBvbGljeV17QGxpbmsgQXNzaWduUG9saWN5I21hbnVhbH1cbiAgICAgKiB3aGVuIGEgdGFzayBpcyAnb3BlbmluZycgKGVnLiB0YXNrIHBhbmVsIGlzIGV4cGFuZGluZykuXG4gICAgICpcbiAgICAgKiBMb2FkcyB0YXNrIGRhdGEgYW5kIHBlcmZvcm1zIHRoZSBbZmluaXNoIHBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5U2VydmljZSNwZXJmb3JtRmluaXNoUG9saWN5fS5cbiAgICAgKlxuICAgICAqIFNlZSBbZmluaXNoIHBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5U2VydmljZSNwZXJmb3JtRmluaXNoUG9saWN5fSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbWFudWFsQXNzaWduT3BlbmVkUG9saWN5KGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRGF0YVNlcnZpY2UuaW5pdGlhbGl6ZVRhc2tEYXRhRmllbGRzKFxuICAgICAgICAgICAgdGhpcy5fY2FsbGNoYWluLmNyZWF0ZSgocmVxdWVzdFN1Y2Nlc3NmdWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmluaXNoUG9saWN5U2VydmljZS5wZXJmb3JtRmluaXNoUG9saWN5KGFmdGVyQWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRoaXMuX2lzRm9yY2VkXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXBvbGljeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Rhc2svc2VydmljZXMvYXNzaWduLXBvbGljeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUNwRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFN0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RDs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFJeEQsWUFBc0IsZ0JBQWlDLEVBQ2pDLGtCQUFxQyxFQUNyQyxrQkFBcUMsRUFDckMsb0JB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QkFBbUI7WUFDN0IsZ0JBQWdCO1lBQ0oscUJBQXFCOzRDQUN0RCxNQUFNLFNBQUMsbUJBQW1CO1lBQ1Asa0JBQWtCO1lBQ1IsaUJBQWlCOzs7WUFiOUQsVUFBVTs7O1lBaEJILGVBQWU7WUFDZixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUduQixnQkFBZ0I7WUFFaEIscUJBQXFCOzRDQW1CWixNQUFNLFNBQUMsbUJBQW1CO1lBNUJuQyxrQkFBa0I7WUFXbEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBc3NpZ25Qb2xpY3l9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC9wb2xpY3knO1xuaW1wb3J0IHtUYXNrSGFuZGxpbmdTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGFuZGxpbmctc2VydmljZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0RhdGFTZXJ2aWNlfSBmcm9tICcuL3Rhc2stZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7QXNzaWduVGFza1NlcnZpY2V9IGZyb20gJy4vYXNzaWduLXRhc2suc2VydmljZSc7XG5pbXBvcnQge0NhbmNlbFRhc2tTZXJ2aWNlfSBmcm9tICcuL2NhbmNlbC10YXNrLnNlcnZpY2UnO1xuaW1wb3J0IHtGaW5pc2hQb2xpY3lTZXJ2aWNlfSBmcm9tICcuL2ZpbmlzaC1wb2xpY3kuc2VydmljZSc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uL21vZGVscy90YXNrLW9wZXJhdGlvbnMtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza09wZXJhdGlvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFzay1vcGVyYXRpb25zJztcbmltcG9ydCB7Q2FsbENoYWluU2VydmljZX0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2NhbGwtY2hhaW4uc2VydmljZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtVc2VyQ29tcGFyYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5pbXBvcnQge1Blcm1pc3Npb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGVybWlzc2lvblR5cGV9IGZyb20gJy4uLy4uL3Byb2Nlc3MvcGVybWlzc2lvbnMnO1xuXG4vKipcbiAqIEhhbmRsZXMgdGhlIHNlcXVlbmNlIG9mIGFjdGlvbnMgdGhhdCBhcmUgcGVyZm9ybWVkIHdoZW4gYSB0YXNrIGlzIGJlaW5nIGFzc2lnbmVkLCBiYXNlZCBvbiB0aGUgdGFzaydzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBc3NpZ25Qb2xpY3lTZXJ2aWNlIGV4dGVuZHMgVGFza0hhbmRsaW5nU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9pc0ZvcmNlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrRGF0YVNlcnZpY2U6IFRhc2tEYXRhU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Fzc2lnblRhc2tTZXJ2aWNlOiBBc3NpZ25UYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NhbmNlbFRhc2tTZXJ2aWNlOiBDYW5jZWxUYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbmlzaFBvbGljeVNlcnZpY2U6IEZpbmlzaFBvbGljeVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYWxsY2hhaW46IENhbGxDaGFpblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyQ29tcGFyYXRvclNlcnZpY2U6IFVzZXJDb21wYXJhdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIHRhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHRhc2tDb250ZW50U2VydmljZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvcmNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRm9yY2VkO1xuICAgIH1cblxuICAgIHNldCBmb3JjZWQoYm9vbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0ZvcmNlZCA9IGJvb2w7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBwb2xpY3kgZGVmaW5lZCBieSB0aGUgVGFzayBvbiBpdCdzIGFzc2lnbm1lbnQuXG4gICAgICogQHBhcmFtIHRhc2tPcGVuZWQgd2hldGhlciB0aGUgVGFzayB3YXMgJ29wZW5lZCcgKGVnLiB0YXNrIHBhbmVsIGlzIGV4cGFuZGluZykgb3IgJ2Nsb3NlZCcgKGVnLiB0YXNrIHBhbmVsIGlzIGNvbGxhcHNpbmcpXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGFzc2lnbiBwb2xpY3kgKGFuZCBhbGwgZm9sbG93aW5nIHBvbGljaWVzKSBmaW5pc2hlc1xuICAgICAqL1xuICAgIHB1YmxpYyBwZXJmb3JtQXNzaWduUG9saWN5KHRhc2tPcGVuZWQ6IGJvb2xlYW4sIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiA9IG5ldyBBZnRlckFjdGlvbigpKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zYWZlVGFzay5hc3NpZ25Qb2xpY3kgPT09IEFzc2lnblBvbGljeS5hdXRvXG4gICAgICAgICAgICAmJiB0aGlzLl9wZXJtaXNzaW9uU2VydmljZS5oYXNUYXNrUGVybWlzc2lvbih0aGlzLl9zYWZlVGFzaywgUGVybWlzc2lvblR5cGUuQVNTSUdOKSkge1xuICAgICAgICAgICAgdGhpcy5hdXRvQXNzaWduUG9saWN5KHRhc2tPcGVuZWQsIGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWFudWFsQXNzaWduUG9saWN5KHRhc2tPcGVuZWQsIGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSBhY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgW0F1dG8gQXNzaWduIFBvbGljeV17QGxpbmsgQXNzaWduUG9saWN5I2F1dG99LlxuICAgICAqIEBwYXJhbSB0YXNrT3BlbmVkIHdoZXRoZXIgdGhlIFRhc2sgd2FzICdvcGVuZWQnIChlZy4gdGFzayBwYW5lbCBpcyBleHBhbmRpbmcpIG9yICdjbG9zZWQnIChlZy4gdGFzayBwYW5lbCBpcyBjb2xsYXBzaW5nKVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXV0b0Fzc2lnblBvbGljeSh0YXNrT3BlbmVkOiBib29sZWFuLCBhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhc2tPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0Fzc2lnbk9wZW5lZFBvbGljeShhZnRlckFjdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Bc3NpZ25DbG9zZWRQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBbQXV0byBBc3NpZ24gUG9saWN5XXtAbGluayBBc3NpZ25Qb2xpY3kjYXV0b31cbiAgICAgKiB3aGVuIGEgdGFzayBpcyAnb3BlbmluZycgKGVnLiB0YXNrIHBhbmVsIGlzIGV4cGFuZGluZykuXG4gICAgICpcbiAgICAgKiBBc3NpZ25zIHRoZSB0YXNrLCByZWxvYWRzIHRoZSBjdXJyZW50IHRhc2sgcGFnZSwgbG9hZHMgdGFzayBkYXRhIGFuZCBwZXJmb3JtcyB0aGUgZmluaXNoIHBvbGljeS5cbiAgICAgKlxuICAgICAqIFNlZSBbZmluaXNoIHBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5U2VydmljZSNwZXJmb3JtRmluaXNoUG9saWN5fSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBhc3NpZ24gcG9saWN5IChhbmQgYWxsIGZvbGxvd2luZyBwb2xpY2llcykgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXV0b0Fzc2lnbk9wZW5lZFBvbGljeShhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYXNzaWduVGFza1NlcnZpY2UuYXNzaWduKFxuICAgICAgICAgICAgdGhpcy5fY2FsbGNoYWluLmNyZWF0ZSgoYXNzaWduU3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZnRlckFzc2lnbk9wZW5Qb2xpY3koYXNzaWduU3VjY2VzcywgYWZ0ZXJBY3Rpb24pO1xuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVsb2FkcyB0aGUgY3VycmVudCBwYWdlIG9mIHRhc2tzIGlmIHRoZSBwcmVjZWRpbmcgYXNzaWduIG9wZXJhdGlvbiBzdWNjZWVkZWQuIFRoZW4gaW5pdGlhbGl6ZXMgdGhlIHRhc2sncyBkYXRhIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0gYXNzaWduU3VjY2VzcyB3aGV0aGVyIHRoZSBwcmVjZWRpbmcgYXNzaWduIHN1Y2NlZWRlZCBvciBub3RcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFmdGVyQXNzaWduT3BlblBvbGljeShhc3NpZ25TdWNjZXNzOiBib29sZWFuLCBhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFhc3NpZ25TdWNjZXNzKSB7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Rhc2tEYXRhU2VydmljZS5pbml0aWFsaXplVGFza0RhdGFGaWVsZHMoXG4gICAgICAgICAgICB0aGlzLl9jYWxsY2hhaW4uY3JlYXRlKChyZXF1ZXN0U3VjY2Vzc2Z1bCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0U3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maW5pc2hQb2xpY3lTZXJ2aWNlLnBlcmZvcm1GaW5pc2hQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5faXNGb3JjZWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXF1ZXN0cyBhIHJlbG9hZCBvZiB0aGUgdGFzayBhbmQgdGhlbiByZXF1ZXN0cyB0aGUgdGFzayB0byBiZSBjbG9zZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGF1dG9Bc3NpZ25DbG9zZWRQb2xpY3koYWZ0ZXJBY3Rpb246IFN1YmplY3Q8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl91c2VyQ29tcGFyYXRvclNlcnZpY2UuY29tcGFyZVVzZXJzKHRoaXMuX3Rhc2sudXNlcikpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tPcGVyYXRpb25zLmNsb3NlKCk7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2FuY2VsVGFza1NlcnZpY2UuY2FuY2VsKFxuICAgICAgICAgICAgdGhpcy5fY2FsbGNoYWluLmNyZWF0ZSgocmVxdWVzdFN1Y2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YXNrT3BlcmF0aW9ucy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uLm5leHQocmVxdWVzdFN1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSBhY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgW01hbnVhbCBBc3NpZ24gUG9saWN5XXtAbGluayBBc3NpZ25Qb2xpY3kjbWFudWFsfS5cbiAgICAgKiBAcGFyYW0gdGFza09wZW5lZCB3aGV0aGVyIHRoZSBUYXNrIHdhcyAnb3BlbmVkJyAoZWcuIHRhc2sgcGFuZWwgaXMgZXhwYW5kaW5nKSBvciAnY2xvc2VkJyAoZWcuIHRhc2sgcGFuZWwgaXMgY29sbGFwc2luZylcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG1hbnVhbEFzc2lnblBvbGljeSh0YXNrT3BlbmVkOiBib29sZWFuLCBhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhc2tPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWFudWFsQXNzaWduT3BlbmVkUG9saWN5KGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBbTWFudWFsIEFzc2lnbiBQb2xpY3lde0BsaW5rIEFzc2lnblBvbGljeSNtYW51YWx9XG4gICAgICogd2hlbiBhIHRhc2sgaXMgJ29wZW5pbmcnIChlZy4gdGFzayBwYW5lbCBpcyBleHBhbmRpbmcpLlxuICAgICAqXG4gICAgICogTG9hZHMgdGFzayBkYXRhIGFuZCBwZXJmb3JtcyB0aGUgW2ZpbmlzaCBwb2xpY3lde0BsaW5rIEZpbmlzaFBvbGljeVNlcnZpY2UjcGVyZm9ybUZpbmlzaFBvbGljeX0uXG4gICAgICpcbiAgICAgKiBTZWUgW2ZpbmlzaCBwb2xpY3lde0BsaW5rIEZpbmlzaFBvbGljeVNlcnZpY2UjcGVyZm9ybUZpbmlzaFBvbGljeX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgYXNzaWduIHBvbGljeSAoYW5kIGFsbCBmb2xsb3dpbmcgcG9saWNpZXMpIGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG1hbnVhbEFzc2lnbk9wZW5lZFBvbGljeShhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza0RhdGFTZXJ2aWNlLmluaXRpYWxpemVUYXNrRGF0YUZpZWxkcyhcbiAgICAgICAgICAgIHRoaXMuX2NhbGxjaGFpbi5jcmVhdGUoKHJlcXVlc3RTdWNjZXNzZnVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RTdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbmlzaFBvbGljeVNlcnZpY2UucGVyZm9ybUZpbmlzaFBvbGljeShhZnRlckFjdGlvbik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLl9pc0ZvcmNlZFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -39,7 +39,6 @@ export class FinishPolicyService extends TaskHandlingService {
39
39
  autoNoDataFinishPolicy(afterAction) {
40
40
  if (this._safeTask.dataSize <= 0) {
41
41
  this._finishTaskService.validateDataAndFinish(afterAction);
42
- this._taskOperations.close();
43
42
  }
44
43
  else {
45
44
  this._taskOperations.open();
@@ -76,4 +75,4 @@ FinishPolicyService.ctorParameters = () => [
76
75
  { type: undefined, decorators: [{ type: Inject, args: [NAE_TASK_OPERATIONS,] }] },
77
76
  { type: TaskContentService }
78
77
  ];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluaXNoLXBvbGljeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Rhc2svc2VydmljZXMvZmluaXNoLXBvbGljeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBRXhELFlBQXNCLHVCQUErQyxFQUMvQyxrQkFBcUMsRUFDUixlQUErQixFQUN0RSxrQkFBc0M7UUFDOUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFKUiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDUixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7SUFHbEYsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG1CQUFtQixDQUFDLGNBQTJCLElBQUksV0FBVyxFQUFFO1FBQ25FLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sc0JBQXNCLENBQUMsV0FBd0I7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7YUFBTTtZQUNILElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDdEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxrQkFBa0IsQ0FBQyxXQUE2QjtRQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RELFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQWxEOEMsc0JBQXNCO1lBQzNCLGlCQUFpQjs0Q0FDOUMsTUFBTSxTQUFDLG1CQUFtQjtZQUNQLGtCQUFrQjs7O1lBTnJELFVBQVU7OztZQVZILHNCQUFzQjtZQUd0QixpQkFBaUI7NENBWVIsTUFBTSxTQUFDLG1CQUFtQjtZQWpCbkMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYXNrSGFuZGxpbmdTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGFuZGxpbmctc2VydmljZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7RmluaXNoUG9saWN5fSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvcG9saWN5JztcbmltcG9ydCB7RGF0YUZvY3VzUG9saWN5U2VydmljZX0gZnJvbSAnLi9kYXRhLWZvY3VzLXBvbGljeS5zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBU0tfT1BFUkFUSU9OU30gZnJvbSAnLi4vbW9kZWxzL3Rhc2stb3BlcmF0aW9ucy1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrT3BlcmF0aW9uc30gZnJvbSAnLi4vaW50ZXJmYWNlcy90YXNrLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHtGaW5pc2hUYXNrU2VydmljZX0gZnJvbSAnLi9maW5pc2gtdGFzay5zZXJ2aWNlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FmdGVyQWN0aW9ufSBmcm9tICcuLi8uLi91dGlsaXR5L2NhbGwtY2hhaW4vYWZ0ZXItYWN0aW9uJztcblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBzZXF1ZW5jZSBvZiBhY3Rpb25zIHRoYXQgYXJlIHBlcmZvcm1lZCB3aGVuIGEgdGFzayBpcyBiZWluZyBmaW5pc2hlZCwgYmFzZWQgb24gdGhlIHRhc2sncyBjb25maWd1cmF0aW9uLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmluaXNoUG9saWN5U2VydmljZSBleHRlbmRzIFRhc2tIYW5kbGluZ1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kYXRhRm9jdXNQb2xpY3lTZXJ2aWNlOiBEYXRhRm9jdXNQb2xpY3lTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmluaXNoVGFza1NlcnZpY2U6IEZpbmlzaFRhc2tTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIodGFza0NvbnRlbnRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgYWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIHBvbGljeSBkZWZpbmVkIGJ5IHRoZSBUYXNrIHdoZW4gaXQncyBmaW5pc2hlZC5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgZmluaXNoIHBvbGljeSBmaW5pc2hlc1xuICAgICAqL1xuICAgIHB1YmxpYyBwZXJmb3JtRmluaXNoUG9saWN5KGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiA9IG5ldyBBZnRlckFjdGlvbigpKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zYWZlVGFzay5maW5pc2hQb2xpY3kgPT09IEZpbmlzaFBvbGljeS5hdXRvTm9EYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Ob0RhdGFGaW5pc2hQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tYW51YWxGaW5pc2hQb2xpY3koYWZ0ZXJBY3Rpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBbQXV0byBGaW5pc2ggUG9saWN5XXtAbGluayBGaW5pc2hQb2xpY3kjYXV0b05vRGF0YX0uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgdGFzayBoYXMgbm8gZGF0YSBwZXJmb3JtcyBmaW5pc2ggYW5kIFtjbG9zZXNde0BsaW5rIFRhc2tPcGVyYXRpb25zI2Nsb3NlfSB0aGUgdGFzay5cbiAgICAgKiBPdGhlcndpc2UgW29wZW5zXXtAbGluayBUYXNrT3BlcmF0aW9ucyNvcGVufSBpdCBhbmQgcGVyZm9ybXMgdGhlIFtkYXRhIGZvY3VzIHBvbGljeV17QGxpbmsgRGF0YUZvY3VzUG9saWN5U2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgZmluaXNoIHBvbGljeSBmaW5pc2hlc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBhdXRvTm9EYXRhRmluaXNoUG9saWN5KGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2FmZVRhc2suZGF0YVNpemUgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5fZmluaXNoVGFza1NlcnZpY2UudmFsaWRhdGVEYXRhQW5kRmluaXNoKGFmdGVyQWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tPcGVyYXRpb25zLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90YXNrT3BlcmF0aW9ucy5vcGVuKCk7XG4gICAgICAgICAgICB0aGlzLl9kYXRhRm9jdXNQb2xpY3lTZXJ2aWNlLnBlcmZvcm1EYXRhRm9jdXNQb2xpY3koKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgYWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIFtNYW51YWwgRmluaXNoIFBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5I21hbnVhbH0uXG4gICAgICpcbiAgICAgKiBbT3BlbnNde0BsaW5rIFRhc2tPcGVyYXRpb25zI29wZW59IHRoZSB0YXNrIGFuZCBwZXJmb3JtcyB0aGUgW2RhdGEgZm9jdXMgcG9saWN5XXtAbGluayBEYXRhRm9jdXNQb2xpY3lTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBmaW5pc2ggcG9saWN5IGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG1hbnVhbEZpbmlzaFBvbGljeShhZnRlckFjdGlvbjogU3ViamVjdDxib29sZWFuPik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrT3BlcmF0aW9ucy5vcGVuKCk7XG4gICAgICAgIHRoaXMuX2RhdGFGb2N1c1BvbGljeVNlcnZpY2UucGVyZm9ybURhdGFGb2N1c1BvbGljeSgpO1xuICAgICAgICBhZnRlckFjdGlvbi5uZXh0KHRydWUpO1xuICAgICAgICBhZnRlckFjdGlvbi5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluaXNoLXBvbGljeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlLyIsInNvdXJjZXMiOlsibGliL3Rhc2svc2VydmljZXMvZmluaXNoLXBvbGljeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBRXhELFlBQXNCLHVCQUErQyxFQUMvQyxrQkFBcUMsRUFDUixlQUErQixFQUN0RSxrQkFBc0M7UUFDOUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFKUiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDUixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7SUFHbEYsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG1CQUFtQixDQUFDLGNBQTJCLElBQUksV0FBVyxFQUFFO1FBQ25FLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sc0JBQXNCLENBQUMsV0FBd0I7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzlEO2FBQU07WUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3RELFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sa0JBQWtCLENBQUMsV0FBNkI7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN0RCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUFqRDhDLHNCQUFzQjtZQUMzQixpQkFBaUI7NENBQzlDLE1BQU0sU0FBQyxtQkFBbUI7WUFDUCxrQkFBa0I7OztZQU5yRCxVQUFVOzs7WUFWSCxzQkFBc0I7WUFHdEIsaUJBQWlCOzRDQVlSLE1BQU0sU0FBQyxtQkFBbUI7WUFqQm5DLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFza0hhbmRsaW5nU2VydmljZX0gZnJvbSAnLi90YXNrLWhhbmRsaW5nLXNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrQ29udGVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQge0ZpbmlzaFBvbGljeX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L21vZGVsL3BvbGljeSc7XG5pbXBvcnQge0RhdGFGb2N1c1BvbGljeVNlcnZpY2V9IGZyb20gJy4vZGF0YS1mb2N1cy1wb2xpY3kuc2VydmljZSc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uL21vZGVscy90YXNrLW9wZXJhdGlvbnMtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza09wZXJhdGlvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFzay1vcGVyYXRpb25zJztcbmltcG9ydCB7RmluaXNoVGFza1NlcnZpY2V9IGZyb20gJy4vZmluaXNoLXRhc2suc2VydmljZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgc2VxdWVuY2Ugb2YgYWN0aW9ucyB0aGF0IGFyZSBwZXJmb3JtZWQgd2hlbiBhIHRhc2sgaXMgYmVpbmcgZmluaXNoZWQsIGJhc2VkIG9uIHRoZSB0YXNrJ3MgY29uZmlndXJhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbmlzaFBvbGljeVNlcnZpY2UgZXh0ZW5kcyBUYXNrSGFuZGxpbmdTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZGF0YUZvY3VzUG9saWN5U2VydmljZTogRGF0YUZvY3VzUG9saWN5U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbmlzaFRhc2tTZXJ2aWNlOiBGaW5pc2hUYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIHRhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHRhc2tDb250ZW50U2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlIGFjdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBwb2xpY3kgZGVmaW5lZCBieSB0aGUgVGFzayB3aGVuIGl0J3MgZmluaXNoZWQuXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGZpbmlzaCBwb2xpY3kgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgcGVyZm9ybUZpbmlzaFBvbGljeShhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2FmZVRhc2suZmluaXNoUG9saWN5ID09PSBGaW5pc2hQb2xpY3kuYXV0b05vRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5hdXRvTm9EYXRhRmluaXNoUG9saWN5KGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWFudWFsRmluaXNoUG9saWN5KGFmdGVyQWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSBhY3Rpb25zIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgW0F1dG8gRmluaXNoIFBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5I2F1dG9Ob0RhdGF9LlxuICAgICAqXG4gICAgICogSWYgdGhlIHRhc2sgaGFzIG5vIGRhdGEgcGVyZm9ybXMgZmluaXNoIGFuZCBbY2xvc2VzXXtAbGluayBUYXNrT3BlcmF0aW9ucyNjbG9zZX0gdGhlIHRhc2suXG4gICAgICogT3RoZXJ3aXNlIFtvcGVuc117QGxpbmsgVGFza09wZXJhdGlvbnMjb3Blbn0gaXQgYW5kIHBlcmZvcm1zIHRoZSBbZGF0YSBmb2N1cyBwb2xpY3lde0BsaW5rIERhdGFGb2N1c1BvbGljeVNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGZpbmlzaCBwb2xpY3kgZmluaXNoZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXV0b05vRGF0YUZpbmlzaFBvbGljeShhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NhZmVUYXNrLmRhdGFTaXplIDw9IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbmlzaFRhc2tTZXJ2aWNlLnZhbGlkYXRlRGF0YUFuZEZpbmlzaChhZnRlckFjdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90YXNrT3BlcmF0aW9ucy5vcGVuKCk7XG4gICAgICAgICAgICB0aGlzLl9kYXRhRm9jdXNQb2xpY3lTZXJ2aWNlLnBlcmZvcm1EYXRhRm9jdXNQb2xpY3koKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgYWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIFtNYW51YWwgRmluaXNoIFBvbGljeV17QGxpbmsgRmluaXNoUG9saWN5I21hbnVhbH0uXG4gICAgICpcbiAgICAgKiBbT3BlbnNde0BsaW5rIFRhc2tPcGVyYXRpb25zI29wZW59IHRoZSB0YXNrIGFuZCBwZXJmb3JtcyB0aGUgW2RhdGEgZm9jdXMgcG9saWN5XXtAbGluayBEYXRhRm9jdXNQb2xpY3lTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBmaW5pc2ggcG9saWN5IGZpbmlzaGVzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG1hbnVhbEZpbmlzaFBvbGljeShhZnRlckFjdGlvbjogU3ViamVjdDxib29sZWFuPik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrT3BlcmF0aW9ucy5vcGVuKCk7XG4gICAgICAgIHRoaXMuX2RhdGFGb2N1c1BvbGljeVNlcnZpY2UucGVyZm9ybURhdGFGb2N1c1BvbGljeSgpO1xuICAgICAgICBhZnRlckFjdGlvbi5uZXh0KHRydWUpO1xuICAgICAgICBhZnRlckFjdGlvbi5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==