@ng-formworks/core 18.6.0 → 18.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,10 @@ import { JsonSchemaFormService } from '../json-schema-form.service';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
+ ///NB issue caused by sortablejs when it its destroyed
7
+ //this mainly affects checkboxes coupled with conditions
8
+ //-the value is rechecked
9
+ //-see https://github.com/SortableJS/Sortable/issues/1052#issuecomment-369613072
6
10
  export class CheckboxComponent {
7
11
  constructor() {
8
12
  this.jsf = inject(JsonSchemaFormService);
@@ -18,7 +22,8 @@ export class CheckboxComponent {
18
22
  this.options = this.layoutNode().options || {};
19
23
  this.jsf.initializeControl(this);
20
24
  if (this.controlValue === null || this.controlValue === undefined) {
21
- this.controlValue = this.options.title;
25
+ this.controlValue = false;
26
+ this.jsf.updateValue(this, this.falseValue);
22
27
  }
23
28
  }
24
29
  updateValue(event) {
@@ -48,7 +53,7 @@ export class CheckboxComponent {
48
53
  type="checkbox">
49
54
  <input *ngIf="!boundControl"
50
55
  [attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
51
- [checked]="isChecked ? 'checked' : null"
56
+ [checked]="isChecked"
52
57
  [class]="(options?.fieldHtmlClass || '') + (isChecked ?
53
58
  (' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
54
59
  (' ' + (options?.style?.unselected || '')))"
@@ -85,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
90
  type="checkbox">
86
91
  <input *ngIf="!boundControl"
87
92
  [attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
88
- [checked]="isChecked ? 'checked' : null"
93
+ [checked]="isChecked"
89
94
  [class]="(options?.fieldHtmlClass || '') + (isChecked ?
90
95
  (' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
91
96
  (' ' + (options?.style?.unselected || '')))"
@@ -102,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
102
107
  </label>`,
103
108
  }]
104
109
  }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQXNDcEUsTUFBTSxPQUFPLGlCQUFpQjtJQW5DOUI7UUFvQ1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFRLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQXVCakQ7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQWxDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix3ZEFoQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7YUE4QkM7OzRGQUVBLGlCQUFpQjtrQkFuQzdCLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQThCQztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2NoZWNrYm94LXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsYWJlbFxyXG4gICAgICBbYXR0ci5mb3JdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWRcIlxyXG4gICAgICBbY2xhc3NdPVwib3B0aW9ucz8uaXRlbUxhYmVsSHRtbENsYXNzIHx8ICcnXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cImJvdW5kQ29udHJvbFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgIFtjbGFzc109XCIob3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJycpICsgKGlzQ2hlY2tlZCA/XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArICcgJyArIChvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQgfHwgJycpKSA6XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LnN0eWxlPy51bnNlbGVjdGVkIHx8ICcnKSkpXCJcclxuICAgICAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWRcIlxyXG4gICAgICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cIiFib3VuZENvbnRyb2xcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZSgpPy5faWQgKyAnU3RhdHVzJ1wiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkID8gJ2NoZWNrZWQnIDogbnVsbFwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgKyAoaXNDaGVja2VkID9cclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQgfHwgJycpKSlcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZFwiXHJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XHJcbiAgICA8L2xhYmVsPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgdHJ1ZVZhbHVlOiBhbnkgPSB0cnVlO1xyXG4gIGZhbHNlVmFsdWU6IGFueSA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUoKS5vcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgICBpZiAodGhpcy5jb250cm9sVmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IHRoaXMub3B0aW9ucy50aXRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LmNoZWNrZWQgPyB0aGlzLnRydWVWYWx1ZSA6IHRoaXMuZmFsc2VWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDaGVja2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcykgPT09IHRoaXMudHJ1ZVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3kgKCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVwRSxzREFBc0Q7QUFDdEQsd0RBQXdEO0FBQ3hELHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFxQ2hGLE1BQU0sT0FBTyxpQkFBaUI7SUFuQzlCO1FBb0NVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUs1QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixjQUFTLEdBQVEsSUFBSSxDQUFDO1FBQ3RCLGVBQVUsR0FBUSxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7S0F3QmpEO0lBdEJDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FuQ1UsaUJBQWlCO21HQUFqQixpQkFBaUIsd2RBaENsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2FBOEJDOzs0RkFFQSxpQkFBaUI7a0JBbkM3QixTQUFTO21CQUFDO29CQUNULDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7YUE4QkM7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuXHJcbi8vL05CIGlzc3VlIGNhdXNlZCBieSBzb3J0YWJsZWpzIHdoZW4gaXQgaXRzIGRlc3Ryb3llZFxyXG4vL3RoaXMgbWFpbmx5IGFmZmVjdHMgY2hlY2tib3hlcyBjb3VwbGVkIHdpdGggY29uZGl0aW9uc1xyXG4vLy10aGUgdmFsdWUgaXMgcmVjaGVja2VkXHJcbi8vLXNlZSBodHRwczovL2dpdGh1Yi5jb20vU29ydGFibGVKUy9Tb3J0YWJsZS9pc3N1ZXMvMTA1MiNpc3N1ZWNvbW1lbnQtMzY5NjEzMDcyXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdjaGVja2JveC13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bGFiZWxcclxuICAgICAgW2F0dHIuZm9yXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkXCJcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/Lml0ZW1MYWJlbEh0bWxDbGFzcyB8fCAnJ1wiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCJib3VuZENvbnRyb2xcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZCArICdTdGF0dXMnXCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArIChpc0NoZWNrZWQgP1xyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgKyAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKSkgOlxyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCB8fCAnJykpKVwiXHJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkXCJcclxuICAgICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxyXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIhYm91bmRDb250cm9sXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGUoKT8uX2lkICsgJ1N0YXR1cydcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgKyAoaXNDaGVja2VkID9cclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQgfHwgJycpKSlcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxyXG4gICAgICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlKCk/Ll9pZFwiXHJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XHJcbiAgICA8L2xhYmVsPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgdHJ1ZVZhbHVlOiBhbnkgPSB0cnVlO1xyXG4gIGZhbHNlVmFsdWU6IGFueSA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUoKS5vcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgICBpZiAodGhpcy5jb250cm9sVmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCB0aGlzLmZhbHNlVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQuY2hlY2tlZCA/IHRoaXMudHJ1ZVZhbHVlIDogdGhpcy5mYWxzZVZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0NoZWNrZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKSA9PT0gdGhpcy50cnVlVmFsdWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBudWxsKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component, inject, input } from '@angular/core';
2
- import { isEqual, isObject } from 'lodash';
2
+ import { isEqual, isObject, pick } from 'lodash';
3
3
  import { JsonSchemaFormService } from '../json-schema-form.service';
4
4
  import { hasNonNullValue, hasOwn, JsonPointer, path2ControlKey } from '../shared';
5
5
  import * as i0 from "@angular/core";
@@ -53,14 +53,30 @@ export class OneOfComponent {
53
53
  let parts = controlName.split('$');
54
54
  let fieldName = parts[parts.length - 1];
55
55
  let controlValue = this.jsf.formGroup.controls[controlName].value;
56
- if (isObject(formValue) && hasOwn(formValue, fieldName) &&
57
- formValue[fieldName] == controlValue
58
- //formValue[fieldName]||controlValue
59
- ) {
60
- foundInd = ind;
56
+ let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
57
+ let schemaPointer = parts.join("/");
58
+ let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
59
+ .replace(/(if|then|else|properties)\//g, '');
60
+ //JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
61
+ let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
62
+ let compareVal = dVal; //formValue;
63
+ //compare only values that are in the subschema properties
64
+ if (controlSchema && controlSchema.properties) {
65
+ compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
66
+ pick(dVal[fieldName], Object.keys(controlSchema.properties))
67
+ : pick(dVal, Object.keys(controlSchema.properties));
68
+ }
69
+ /*
70
+ if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
71
+ isEqual(compareVal[fieldName],controlValue)
72
+ ){
73
+ foundInd=ind;
74
+ }else //if(formValue || controlValue){
75
+ if(isEqual(compareVal,controlValue)){
76
+ foundInd=ind;
61
77
  }
62
- else //if(formValue || controlValue){
63
- if (isEqual(formValue, controlValue)) {
78
+ */
79
+ if (isEqual(compareVal, controlValue)) {
64
80
  foundInd = ind;
65
81
  }
66
82
  });
@@ -97,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
97
113
  standalone: false
98
114
  }]
99
115
  }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUVsRix5QkFBeUI7QUFZekIsTUFBTSxPQUFPLGNBQWM7SUFWM0I7UUFXVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFLNUMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFWixlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7S0FtRWpEO0lBakVDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEQscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxHQUFH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QUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsbUNBQW1DO0lBQ3JDLENBQUM7K0dBN0VVLGNBQWM7bUdBQWQsY0FBYyxzZEFQYjs7OzttQkFJSzs7NEZBR04sY0FBYztrQkFWMUIsU0FBUzttQkFBQztvQkFDUCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7bUJBSUs7b0JBQ2YsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgcGF0aDJDb250cm9sS2V5IH0gZnJvbSAnLi4vc2hhcmVkJztcclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdvbmUtb2Ytd2lkZ2V0JyxcclxuICAgIHRlbXBsYXRlOiBgPGg0Pnt7dGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbn19PC9oND5cclxuICAgIDx0YWJzLXdpZGdldCAjdGFicyBbbGF5b3V0Tm9kZV09XCJsYXlvdXROb2RlKClcIiBcclxuICAgIFtsYXlvdXRJbmRleF09XCJsYXlvdXRJbmRleCgpXCIgXHJcbiAgICBbZGF0YUluZGV4XT1cImRhdGFJbmRleCgpXCIgPlxyXG4gICAgPC90YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIE9uZU9mQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2xWYWx1ZTogYW55O1xyXG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlKCkub3B0aW9ucyB8fCB7fTtcclxuICAgIHRoaXMub3B0aW9ucy50YWJNb2RlPVwib25lT2ZNb2RlXCI7XHJcbiAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRUYWI9dGhpcy5maW5kU2VsZWN0ZWRUYWIoKTtcclxuICAgIC8vdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uPXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbnx8XCJjaG9vc2Ugb25lIG9mXCI7XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICB9XHJcblxyXG4gICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgIC8vVE9ETyB0ZXN0LSB0aGlzLmpzZi5mb3JtVmFsdWVzIHNlZW1zIHRvIGJlIHRoZSBpbml0aWFsIGRhdGEgc3VwcGxpZWQgdG8gdGhlIGZvcm1cclxuICAgICAgLy93aGlsZSB0aGUganNmLmZvcm1Hcm91cCB2YWx1ZSBpcyBkZXJpdmVkIGZyb20gdGhlIGFjdHVhbCBjb250cm9sc1xyXG4gICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgbGV0IGZvdW5kSW5kPS0xO1xyXG4gICAgICAvL3NlYWNoIGZvciBub24gbnVsbCB2YWx1ZVxyXG4gICAgICBpZih0aGlzLmxheW91dE5vZGUoKS5pdGVtcyl7XHJcbiAgICAgICAgdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMuZm9yRWFjaCgobGF5b3V0SXRlbSxpbmQpPT57XHJcbiAgICAgICAgICBsZXQgZm9ybVZhbHVlPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5mb3JtVmFsdWVzLGxheW91dEl0ZW0uZGF0YVBvaW50ZXIpO1xyXG4gICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgbGV0IGNvbnRyb2xLZXk9cGF0aDJDb250cm9sS2V5KGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKTtcclxuICAgICAgICAgICAgICBsZXQgZm5hbWU9bGF5b3V0SXRlbS5uYW1lO1xyXG4gICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgKGZvcm1WYWx1ZSB8fCBoYXNOb25OdWxsVmFsdWUodGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKSlcclxuICAgICAgICAgICAgICAgIC8vaGFzT3duKGZvcm1WYWx1ZSxmbmFtZSkgJiYgaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSBcclxuICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAvLyYmaXNFcXVhbChmb3JtVmFsdWVbZm5hbWVdLHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICApe1xyXG4gICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC8vZm91bmRJbmQ9Zm9ybVZhbHVlW2NvbnRyb2xLZXldIT1udWxsP2luZDpmb3VuZEluZDtcclxuICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgIC8vdG8gc2VlIHdoaWNoIG9uZSBvZiBpdGVtIG1hdGNoZXNcclxuICAgICAgICAgICAgICBpZihmb3VuZEluZD09LTEpe1xyXG4gICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICBsZXQgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzPU9iamVjdC5rZXlzKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sTmFtZS5zdGFydHNXaXRoKGNvbnRyb2xLZXkpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcy5mb3JFYWNoKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgIGxldCBwYXJ0cz1jb250cm9sTmFtZS5zcGxpdCgnJCcpO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZT10aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICBpZihpc09iamVjdChmb3JtVmFsdWUpICYmIGhhc093bihmb3JtVmFsdWUsZmllbGROYW1lKSAmJiBcclxuICAgICAgICAgICAgICAgICAgZm9ybVZhbHVlW2ZpZWxkTmFtZV09PWNvbnRyb2xWYWx1ZVxyXG4gICAgICAgICAgICAgICAgIC8vZm9ybVZhbHVlW2ZpZWxkTmFtZV18fGNvbnRyb2xWYWx1ZVxyXG4gICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgIH1lbHNlIC8vaWYoZm9ybVZhbHVlIHx8IGNvbnRyb2xWYWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoZm9ybVZhbHVlLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC8vbm93IG5lZWQgdG8gY29tcGFyZSB2YWx1ZXNcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBNYXRoLm1heChmb3VuZEluZCwwKTtcclxuICAgIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIHRoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICAvL3RoaXMuanNmLnVwZGF0ZVZhbHVlKHRoaXMsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFbEYseUJBQXlCO0FBWXpCLE1BQU0sT0FBTyxjQUFjO0lBVjNCO1FBV1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSzVDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVosZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBb0ZqRDtJQWxGQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFQyxlQUFlO1FBQ1gsa0ZBQWtGO1FBQ2xGLG1FQUFtRTtRQUNuRSxtREFBbUQ7UUFDbkQsSUFBSSxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsMEJBQTBCO1FBQzFCLElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNoRCxJQUFJLFNBQVMsR0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEUsSUFBRyxVQUFVLENBQUMsWUFBWSxFQUFDLENBQUM7b0JBQzFCLElBQUksVUFBVSxHQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3hELElBQUksS0FBSyxHQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQzFCLElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBQyxVQUFVLENBQUM7d0JBQy9DLENBQUMsU0FBUyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzdFLDRFQUE0RTtvQkFDOUUseUVBQXlFO29CQUN2RSwyRUFBMkU7c0JBQzVFLENBQUM7d0JBQ0UsUUFBUSxHQUFDLEdBQUcsQ0FBQztvQkFDakIsQ0FBQztvQkFDRCxvREFBb0Q7b0JBQ3BELDJEQUEyRDtvQkFDM0Qsa0NBQWtDO29CQUNsQyxJQUFHLFFBQVEsSUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDO3dCQUNmLGlDQUFpQzt3QkFDakMsSUFBSSwyQkFBMkIsR0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUEsRUFBRTs0QkFDM0YsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM1QyxDQUFDLENBQUMsQ0FBQTt3QkFDRiwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFBLEVBQUU7NEJBQy9DLElBQUksS0FBSyxHQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ2pDLElBQUksU0FBUyxHQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNwQyxJQUFJLFlBQVksR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDOzRCQUNoRSxJQUFJLGFBQWEsR0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDbkUsSUFBSSxhQUFhLEdBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEMsSUFBSSxRQUFRLEdBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsRUFBRSxFQUFFLENBQUM7aUNBQzNFLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDN0MsNkRBQTZEOzRCQUM3RCxJQUFJLElBQUksR0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDOzRCQUN2RCxJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsQ0FBQSxZQUFZOzRCQUNoQywwREFBMEQ7NEJBQzFELElBQUcsYUFBYSxJQUFJLGFBQWEsQ0FBQyxVQUFVLEVBQUMsQ0FBQztnQ0FDNUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUM7b0NBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7b0NBQzNELENBQUMsQ0FBQSxJQUFJLENBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7NEJBQ25ELENBQUM7NEJBQ0Q7Ozs7Ozs7Ozs4QkFTRTs0QkFDRixJQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQztnQ0FDbkMsUUFBUSxHQUFDLEdBQUcsQ0FBQzs0QkFDZixDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFBO3dCQUNGLDRCQUE0QjtvQkFDOUIsQ0FBQztnQkFDSCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUwsV0FBVyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULG1DQUFtQztJQUNyQyxDQUFDOytHQTlGVSxjQUFjO21HQUFkLGNBQWMsc2RBUGI7Ozs7bUJBSUs7OzRGQUdOLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7O21CQUlLO29CQUNmLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgaXNFcXVhbCwgaXNPYmplY3QsIHBpY2sgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBoYXNOb25OdWxsVmFsdWUsIGhhc093biwgSnNvblBvaW50ZXIsIHBhdGgyQ29udHJvbEtleSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnb25lLW9mLXdpZGdldCcsXHJcbiAgICB0ZW1wbGF0ZTogYDxoND57e3RoaXMub3B0aW9ucz8uZGVzY3JpcHRpb259fTwvaDQ+XHJcbiAgICA8dGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZSgpXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXgoKVwiIFxyXG4gICAgW2RhdGFJbmRleF09XCJkYXRhSW5kZXgoKVwiID5cclxuICAgIDwvdGFicy13aWRnZXQ+YCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBjb250cm9sVmFsdWU6IGFueTtcclxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZTtcclxuICBib3VuZENvbnRyb2wgPSBmYWxzZTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgIGZpbmRTZWxlY3RlZFRhYigpe1xyXG4gICAgICAgIC8vVE9ETyB0ZXN0LSB0aGlzLmpzZi5mb3JtVmFsdWVzIHNlZW1zIHRvIGJlIHRoZSBpbml0aWFsIGRhdGEgc3VwcGxpZWQgdG8gdGhlIGZvcm1cclxuICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgLy9sZXQgZm9ybVZhbHVlPXRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcyk7XHJcbiAgICAgICAgbGV0IGZvdW5kSW5kPS0xO1xyXG4gICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgaWYodGhpcy5sYXlvdXROb2RlKCkuaXRlbXMpe1xyXG4gICAgICAgICAgdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMuZm9yRWFjaCgobGF5b3V0SXRlbSxpbmQpPT57XHJcbiAgICAgICAgICAgIGxldCBmb3JtVmFsdWU9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsbGF5b3V0SXRlbS5kYXRhUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgaWYobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xLZXk9cGF0aDJDb250cm9sS2V5KGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKTtcclxuICAgICAgICAgICAgICAgIGxldCBmbmFtZT1sYXlvdXRJdGVtLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBpZihoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpJiZcclxuICAgICAgICAgICAgICAgICAgKGZvcm1WYWx1ZSB8fCBoYXNOb25OdWxsVmFsdWUodGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKSlcclxuICAgICAgICAgICAgICAgICAgLy9oYXNPd24oZm9ybVZhbHVlLGZuYW1lKSAmJiBoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpIFxyXG4gICAgICAgICAgICAgICAgLy8gJiYgKGZvcm1WYWx1ZVtmbmFtZV0gfHwgdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgICAvLyYmaXNFcXVhbChmb3JtVmFsdWVbZm5hbWVdLHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy9mb3VuZEluZD1mb3JtVmFsdWVbY29udHJvbEtleV0hPW51bGw/aW5kOmZvdW5kSW5kO1xyXG4gICAgICAgICAgICAgICAgLy9pZiBubyBleGFjdCBtYXRjaCBmb3VuZCwgdGhlbiBzZWFyY2ggaW4gZGVzY2VuZGFudCB2YWx1ZXNcclxuICAgICAgICAgICAgICAgIC8vdG8gc2VlIHdoaWNoIG9uZSBvZiBpdGVtIG1hdGNoZXNcclxuICAgICAgICAgICAgICAgIGlmKGZvdW5kSW5kPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vZmluZCBhbGwgZGVzY2VuZGFudCBvbmVvZiBwYXRoc1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzPU9iamVjdC5rZXlzKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xOYW1lLnN0YXJ0c1dpdGgoY29udHJvbEtleSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIGRlc2NlbmRhbnRPbmVPZkNvbnRyb2xOYW1lcy5mb3JFYWNoKGNvbnRyb2xOYW1lPT57XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnRzPWNvbnRyb2xOYW1lLnNwbGl0KCckJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpZWxkTmFtZT1wYXJ0c1twYXJ0cy5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xWYWx1ZT10aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb250cm9sU2NoZW1hPUpzb25Qb2ludGVyLmdldCh0aGlzLmpzZi5zY2hlbWEscGFydHMuam9pbihcIi9cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzY2hlbWFQb2ludGVyPXBhcnRzLmpvaW4oXCIvXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBkUG9pbnRlcj1zY2hlbWFQb2ludGVyLnJlcGxhY2UoLyhhbnlPZnxhbGxPZnxvbmVPZnxub25lKVxcL1tcXGRdK1xcLy9nLCAnJylcclxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKGlmfHRoZW58ZWxzZXxwcm9wZXJ0aWVzKVxcLy9nLCAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9Kc29uUG9pbnRlci50b0RhdGFQb2ludGVyKHBhcnRzLmpvaW4oXCIvXCIpLHRoaXMuanNmLnNjaGVtYSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRWYWw9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsZFBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wYXJlVmFsPWRWYWw7Ly9mb3JtVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb21wYXJlIG9ubHkgdmFsdWVzIHRoYXQgYXJlIGluIHRoZSBzdWJzY2hlbWEgcHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNvbnRyb2xTY2hlbWEgJiYgY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVWYWw9aXNPYmplY3QoZFZhbCkgJiYgaGFzT3duKGRWYWwsZmllbGROYW1lKT9cclxuICAgICAgICAgICAgICAgICAgICAgIHBpY2soZFZhbFtmaWVsZE5hbWVdLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgICA6cGljayhkVmFsLE9iamVjdC5rZXlzKGNvbnRyb2xTY2hlbWEucHJvcGVydGllcykpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNPYmplY3QoY29tcGFyZVZhbCkgJiYgaGFzT3duKGNvbXBhcmVWYWwsZmllbGROYW1lKSAmJiBcclxuICAgICAgICAgICAgICAgICAgICBpc0VxdWFsKGNvbXBhcmVWYWxbZmllbGROYW1lXSxjb250cm9sVmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGNvbXBhcmVWYWwsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNFcXVhbChjb21wYXJlVmFsLGNvbnRyb2xWYWx1ZSkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLm1heChmb3VuZEluZCwwKTtcclxuICAgICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -45,6 +45,63 @@ export class RootComponent {
45
45
  }
46
46
  sortableInit(sortable) {
47
47
  this.sortableObj = sortable;
48
+ ///NB issue caused by sortablejs when it its destroyed
49
+ //this mainly affects checkboxes coupled with conditions
50
+ //-the value is rechecked
51
+ //-see https://github.com/SortableJS/Sortable/issues/1052#issuecomment-369613072
52
+ /* attempt to monkey patch sortable js
53
+ const originalMethod = sortable._nulling;
54
+ let zone=this.zone;
55
+ sortable._nulling=function() {
56
+ console.log(`pluginEvent 2 ${pluginEvent}`)
57
+ zone.runOutsideAngular(() => {
58
+ console.log(`pluginEvent3 ${pluginEvent}`)
59
+ pluginEvent('nulling', this);
60
+
61
+ rootEl =
62
+ dragEl =
63
+ parentEl =
64
+ ghostEl =
65
+ nextEl =
66
+ cloneEl =
67
+ lastDownEl =
68
+ cloneHidden =
69
+
70
+ tapEvt =
71
+ touchEvt =
72
+
73
+ moved =
74
+ newIndex =
75
+ newDraggableIndex =
76
+ oldIndex =
77
+ oldDraggableIndex =
78
+
79
+ lastTarget =
80
+ lastDirection =
81
+
82
+ putSortable =
83
+ activeGroup =
84
+ Sortable.dragged =
85
+ Sortable.ghost =
86
+ Sortable.clone =
87
+ Sortable.active = null;
88
+
89
+
90
+ let el = this.el;
91
+ savedInputChecked.forEach(function (checkEl) {
92
+ if (el.contains(checkEl)) {
93
+ checkEl.checked = true;
94
+ }
95
+ });
96
+
97
+ savedInputChecked.length =
98
+ lastDx =
99
+ lastDy = 0;
100
+
101
+ })
102
+
103
+ }.bind(sortable)
104
+ */
48
105
  }
49
106
  isDraggable(node) {
50
107
  let result = node.arrayItem && node.type !== '$ref' &&
@@ -157,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
157
214
  </div>
158
215
  `, standalone: false, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
159
216
  }] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQW9FcEUsTUFBTSxPQUFPLGFBQWE7SUFqRTFCO1FBb0VVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUduQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsU0FBUyxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1uQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0IsRUFBQywwR0FBMEc7WUFDcEksZUFBZSxFQUFFLEtBQUssRUFBQyxzREFBc0Q7WUFDN0UsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQSxHQUFHLEVBQUMsRUFBRTtnQkFDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQSxDQUFDLG9GQUFvRjtnQkFDakcsMkJBQTJCO2dCQUMzQix5Q0FBeUM7Z0JBQ3pDLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hC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QVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFFBQVE7UUFDTixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUNwRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQSxFQUFFO29CQUNsQyxJQUFJLE1BQU0sR0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsMkNBQTJDO2dCQUMzQyx3Q0FBd0M7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzsrR0FyR1UsYUFBYTttR0FBYixhQUFhLHl0QkE5RGQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUDs7NEZBZ0NRLGFBQWE7a0JBakV6QixTQUFTOytCQUVFLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJQLGNBOEJTLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3Jvb3Qtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBbY2xhc3MuZmxleC1pbmhlcml0XT1cInRydWVcIiAjc29ydGFibGVDb250YWludGVyIFtueHRTb3J0YWJsZWpzXT1cImxheW91dCgpXCIgW2NvbmZpZ109XCJzb3J0YWJsZUNvbmZpZ1wiIChpbml0KT1cInNvcnRhYmxlSW5pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0KCk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWZsZXgtaXRlbV09XCJpc0ZsZXhJdGVtKClcIlxyXG4gICAgICAgIFtzdHlsZS5hbGlnbi1zZWxmXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWJhc2lzXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtYmFzaXMnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LWdyb3cnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCIobGF5b3V0SXRlbS5vcHRpb25zIHx8IHt9KS5vcmRlclwiXHJcbiAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpbHRlcl09XCIhaXNEcmFnZ2FibGUobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maXhlZF09XCJpc0ZpeGVkKGxheW91dEl0ZW0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPCEtLU5CIG9yZGVyYWJsZSBkaXJlY3RpdmUgaXMgbm90IHVzZWQgYnV0IGhhcyBiZWVuIGxlZnQgaW4gZm9yIG5vdyBhbmQgc2V0IHRvIGZhbHNlXHJcbiAgICAgICAgICBvdGhlcndpc2UgdGhlIGNvbXBpbGVyIHdvbid0IHJlY29nbml6ZSBkYXRhSW5kZXggYW5kIG90aGVyIGRlcGVuZGVudCBhdHRyaWJ1dGVzXHJcbiAgICAgICAgLS0+XHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgIFtkYXRhSW5kZXhdPVwibGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiAoZGF0YUluZGV4KCkgfHwgW10pXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIlxyXG4gICAgICAgICAgW29yZGVyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbY2xhc3Muc29ydGFibGUtZmlsdGVyXT1cIiFpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgICBbY2xhc3Muc29ydGFibGUtZml4ZWRdPVwiaXNGaXhlZChsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzaG93V2lkZ2V0KGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXTpob3ZlciB7XHJcbiAgICAgIGN1cnNvcjogbW92ZTtcclxuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDEwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0uZHJhZy10YXJnZXQtdG9wIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgIzAwMDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyMDtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0uZHJhZy10YXJnZXQtYm90dG9tIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgLmZsZXgtaW5oZXJpdHtcclxuICAgICAgZGlzcGxheTppbmhlcml0O1xyXG4gICAgICBmbGV4LWZsb3c6aW5oZXJpdDtcclxuICAgICAgZmxleC13cmFwOmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOmluaGVyaXQ7XHJcbiAgICAgIHdpZHRoOjEwMCVcclxuICAgIH1cclxuICBgXSxcclxuICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcblxyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIG9wdGlvbnM6IGFueTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dCA9IGlucHV0PGFueVtdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzT3JkZXJhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBpc0ZsZXhJdGVtID0gaW5wdXQoZmFsc2UpO1xyXG5cclxuICAvLyBAVmlld0NoaWxkKCdzb3J0YWJsZUNvbnRhaW50ZXInLCB7fSlcclxuICAvLyBzb3J0YWJsZUNvbnRhaW50ZXJFbHQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHNvcnRhYmxlT2JqOiBhbnk7XHJcbiAgc29ydGFibGVDb25maWc6YW55PXtcclxuICAgIGZpbHRlcjpcIi5zb3J0YWJsZS1maWx0ZXJcIiwvL25lZWRlZCB0byBkaXNhYmxlIGRyYWdnaW5nIG9uIGlucHV0IHJhbmdlIGVsZW1lbnRzLCBjbGFzcyBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgZWxlbWVudCBvciBpdHMgcGFyZW50XHJcbiAgICBwcmV2ZW50T25GaWx0ZXI6IGZhbHNlLC8vbmVlZGVkIGZvciBpbnB1dCByYW5nZSBlbGVtZW50cyBzbGlkZXIgZG8gc3RpbGwgd29ya1xyXG4gICAgZGVsYXk6IDEwMDAsXHJcbiAgICBkZWxheU9uVG91Y2hPbmx5OiB0cnVlLFxyXG4gICAgb25FbmQ6ICgvKipFdmVudCovZXZ0KT0+IHtcclxuICAgICAgZXZ0Lm5ld0luZGV4IC8vIG1vc3QgbGlrZWx5IHdoeSB0aGlzIGV2ZW50IGlzIHVzZWQgaXMgdG8gZ2V0IHRoZSBkcmFnZ2luZyBlbGVtZW50J3MgY3VycmVudCBpbmRleFxyXG4gICAgICAvLyBzYW1lIHByb3BlcnRpZXMgYXMgb25FbmRcclxuICAgICAgLy9jb25zb2xlLmxvZyhgc29ydGFibGVqcyBldmVudDoke2V2dH1gKTtcclxuICAgICAgbGV0IHNyY0luZD1ldnQub2xkSW5kZXg7XHJcbiAgICAgIGxldCB0cmdJbmQ9ZXZ0Lm5ld0luZGV4O1xyXG4gICAgICBsZXQgbGF5b3V0SXRlbT10aGlzLmxheW91dCgpW3RyZ0luZF07XHJcbiAgICAgIGxldCBkYXRhSW5kPWxheW91dEl0ZW0/LmFycmF5SXRlbSA/ICh0aGlzLmRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQodHJnSW5kKSA6ICh0aGlzLmRhdGFJbmRleCgpIHx8IFtdKTtcclxuICAgICAgbGV0IGxheW91dEluZD0odGhpcy5sYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQodHJnSW5kKVxyXG4gICAgICBsZXQgaXRlbUN0eDphbnk9e1xyXG4gICAgICAgIGRhdGFJbmRleDooKT0+e3JldHVybiBkYXRhSW5kfSxcclxuICAgICAgICBsYXlvdXRJbmRleDooKT0+e3JldHVybiBsYXlvdXRJbmR9LFxyXG4gICAgICAgIGxheW91dE5vZGU6KCk9PntyZXR1cm4gbGF5b3V0SXRlbX0sXHJcbiAgICAgIH1cclxuICAgICAgLy9tdXN0IHNldCBtb3ZlTGF5b3V0IHRvIGZhbHNlIGFzIG54dFNvcnRhYmxlIGFscmVhZHkgbW92ZXMgaXRcclxuICAgICAgdGhpcy5qc2YubW92ZUFycmF5SXRlbShpdGVtQ3R4LCBldnQub2xkSW5kZXgsIGV2dC5uZXdJbmRleCxmYWxzZSk7XHJcbiAgICAgIFxyXG4gICAgfSxcclxuICAgIG9uTW92ZTogZnVuY3Rpb24gKC8qKkV2ZW50Ki9ldnQsIC8qKkV2ZW50Ki9vcmlnaW5hbEV2ZW50KSB7XHJcbiAgICAgIGlmKGV2dC5yZWxhdGVkLmNsYXNzTGlzdC5jb250YWlucyhcInNvcnRhYmxlLWZpeGVkXCIpKXtcclxuICAgICAgIC8vY29uc29sZS5sb2coZXZ0LnJlbGF0ZWQpO1xyXG4gICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgIH1cclxuICAgfVxyXG4gIH1cclxuICBwcml2YXRlIHNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHNvcnRhYmxlSW5pdChzb3J0YWJsZSkge1xyXG4gICAgdGhpcy5zb3J0YWJsZU9iaiA9IHNvcnRhYmxlO1xyXG4gIH1cclxuXHJcbiAgaXNEcmFnZ2FibGUobm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0PW5vZGUuYXJyYXlJdGVtICYmIG5vZGUudHlwZSAhPT0gJyRyZWYnICYmXHJcbiAgICBub2RlLmFycmF5SXRlbVR5cGUgPT09ICdsaXN0JyAmJiB0aGlzLmlzT3JkZXJhYmxlKCkgIT09IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGVPYmopIHtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcImRpc2FibGVkXCIsdHJ1ZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJzb3J0XCIsZmFsc2UpO1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIiwhcmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy9UT0RPIGFsc28gbmVlZCB0byB0aGluayBvZiBvdGhlciB0eXBlcyBzdWNoIGFzIGJ1dHRvbiB3aGljaCBjYW4gYmVcclxuICAvL2NyZWF0ZWQgYnkgYW4gYXJiaXRyYXJ5IGxheW91dFxyXG4gIGlzRml4ZWQobm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0PW5vZGUudHlwZSA9PSAnJHJlZic7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIGZsZXhib3ggY2hpbGRcclxuICAvLyAoY29udGFpbmVyIGF0dHJpYnV0ZXMgYXJlIHNldCBpbiBzZWN0aW9uLmNvbXBvbmVudClcclxuICBnZXRGbGV4QXR0cmlidXRlKG5vZGU6IGFueSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gWydmbGV4LWdyb3cnLCAnZmxleC1zaHJpbmsnLCAnZmxleC1iYXNpcyddLmluZGV4T2YoYXR0cmlidXRlKTtcclxuICAgIHJldHVybiAoKG5vZGUub3B0aW9ucyB8fCB7fSkuZmxleCB8fCAnJykuc3BsaXQoL1xccysvKVtpbmRleF0gfHxcclxuICAgICAgKG5vZGUub3B0aW9ucyB8fCB7fSlbYXR0cmlidXRlXSB8fCBbJzEnLCAnMScsICdhdXRvJ11baW5kZXhdO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dXaWRnZXQobGF5b3V0Tm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2YuZXZhbHVhdGVDb25kaXRpb24obGF5b3V0Tm9kZSwgdGhpcy5kYXRhSW5kZXgoKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBkcmFnZ2FibGUgc3RhdGVcclxuICAgIHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5qc2Yuc29ydGFibGVPcHRpb25zJC5zdWJzY3JpYmUoXHJcbiAgICAgIChvcHRzVmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zb3J0YWJsZU9iaikge1xyXG4gICAgICAgICAgT2JqZWN0LmtleXMob3B0c1ZhbHVlKS5mb3JFYWNoKG9wdD0+e1xyXG4gICAgICAgICAgICBsZXQgb3B0VmFsPW9wdHNWYWx1ZVtvcHRdO1xyXG4gICAgICAgICAgICB0aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihvcHQsb3B0VmFsKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIix0cnVlKTtcclxuICAgICAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJzb3J0XCIsZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZU9wdGlvbnNTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zb3J0YWJsZU9wdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQW1FcEUsTUFBTSxPQUFPLGFBQWE7SUFqRTFCO1FBb0VVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUduQyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxLQUFLLENBQVEsU0FBUyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsU0FBUyxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1uQyxtQkFBYyxHQUFLO1lBQ2pCLE1BQU0sRUFBQyxrQkFBa0IsRUFBQywwR0FBMEc7WUFDcEksZUFBZSxFQUFFLEtBQUssRUFBQyxzREFBc0Q7WUFDN0UsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQSxHQUFHLEVBQUMsRUFBRTtnQkFDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQSxDQUFDLG9GQUFvRjtnQkFDakcsMkJBQTJCO2dCQUMzQix5Q0FBeUM7Z0JBQ3pDLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksTUFBTSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hC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QUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFFBQVE7UUFDTixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUNwRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQSxFQUFFO29CQUNsQyxJQUFJLE1BQU0sR0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsMkNBQTJDO2dCQUMzQyx3Q0FBd0M7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzsrR0E3SlUsYUFBYTttR0FBYixhQUFhLHl0QkE5RGQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUDs7NEZBZ0NRLGFBQWE7a0JBakV6QixTQUFTOytCQUVFLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJQLGNBOEJTLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAncm9vdC13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFtjbGFzcy5mbGV4LWluaGVyaXRdPVwidHJ1ZVwiICNzb3J0YWJsZUNvbnRhaW50ZXIgW254dFNvcnRhYmxlanNdPVwibGF5b3V0KClcIiBbY29uZmlnXT1cInNvcnRhYmxlQ29uZmlnXCIgKGluaXQpPVwic29ydGFibGVJbml0KCRldmVudClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5b3V0SXRlbSBvZiBsYXlvdXQoKTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSlbJ2FsaWduLXNlbGYnXVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1iYXNpcycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1ncm93XT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtZ3JvdycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1zaHJpbmtdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1zaHJpbmsnKVwiXHJcbiAgICAgICAgW3N0eWxlLm9yZGVyXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pLm9yZGVyXCJcclxuICAgICAgICBbY2xhc3Muc29ydGFibGUtZmlsdGVyXT1cIiFpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpeGVkXT1cImlzRml4ZWQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8IS0tTkIgb3JkZXJhYmxlIGRpcmVjdGl2ZSBpcyBub3QgdXNlZCBidXQgaGFzIGJlZW4gbGVmdCBpbiBmb3Igbm93IGFuZCBzZXQgdG8gZmFsc2VcclxuICAgICAgICAgIG90aGVyd2lzZSB0aGUgY29tcGlsZXIgd29uJ3QgcmVjb2duaXplIGRhdGFJbmRleCBhbmQgb3RoZXIgZGVwZW5kZW50IGF0dHJpYnV0ZXNcclxuICAgICAgICAtLT5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgICBbb3JkZXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maWx0ZXJdPVwiIWlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maXhlZF09XCJpc0ZpeGVkKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpIDogKGRhdGFJbmRleCgpIHx8IFtdKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC10b3Age1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC1ib3R0b20ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICAuZmxleC1pbmhlcml0e1xyXG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZmxvdzppbmhlcml0O1xyXG4gICAgICBmbGV4LXdyYXA6aW5oZXJpdDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgICAgd2lkdGg6MTAwJVxyXG4gICAgfVxyXG4gIGBdLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgb3B0aW9uczogYW55O1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0ID0gaW5wdXQ8YW55W10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNPcmRlcmFibGUgPSBpbnB1dDxib29sZWFuPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzRmxleEl0ZW0gPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gIC8vIEBWaWV3Q2hpbGQoJ3NvcnRhYmxlQ29udGFpbnRlcicsIHt9KVxyXG4gIC8vIHNvcnRhYmxlQ29udGFpbnRlckVsdDogRWxlbWVudFJlZjtcclxuXHJcbiAgc29ydGFibGVPYmo6IGFueTtcclxuICBzb3J0YWJsZUNvbmZpZzphbnk9e1xyXG4gICAgZmlsdGVyOlwiLnNvcnRhYmxlLWZpbHRlclwiLC8vbmVlZGVkIHRvIGRpc2FibGUgZHJhZ2dpbmcgb24gaW5wdXQgcmFuZ2UgZWxlbWVudHMsIGNsYXNzIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBlbGVtZW50IG9yIGl0cyBwYXJlbnRcclxuICAgIHByZXZlbnRPbkZpbHRlcjogZmFsc2UsLy9uZWVkZWQgZm9yIGlucHV0IHJhbmdlIGVsZW1lbnRzIHNsaWRlciBkbyBzdGlsbCB3b3JrXHJcbiAgICBkZWxheTogMTAwMCxcclxuICAgIGRlbGF5T25Ub3VjaE9ubHk6IHRydWUsXHJcbiAgICBvbkVuZDogKC8qKkV2ZW50Ki9ldnQpPT4ge1xyXG4gICAgICBldnQubmV3SW5kZXggLy8gbW9zdCBsaWtlbHkgd2h5IHRoaXMgZXZlbnQgaXMgdXNlZCBpcyB0byBnZXQgdGhlIGRyYWdnaW5nIGVsZW1lbnQncyBjdXJyZW50IGluZGV4XHJcbiAgICAgIC8vIHNhbWUgcHJvcGVydGllcyBhcyBvbkVuZFxyXG4gICAgICAvL2NvbnNvbGUubG9nKGBzb3J0YWJsZWpzIGV2ZW50OiR7ZXZ0fWApO1xyXG4gICAgICBsZXQgc3JjSW5kPWV2dC5vbGRJbmRleDtcclxuICAgICAgbGV0IHRyZ0luZD1ldnQubmV3SW5kZXg7XHJcbiAgICAgIGxldCBsYXlvdXRJdGVtPXRoaXMubGF5b3V0KClbdHJnSW5kXTtcclxuICAgICAgbGV0IGRhdGFJbmQ9bGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpIDogKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pO1xyXG4gICAgICBsZXQgbGF5b3V0SW5kPSh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICAgIGxldCBpdGVtQ3R4OmFueT17XHJcbiAgICAgICAgZGF0YUluZGV4OigpPT57cmV0dXJuIGRhdGFJbmR9LFxyXG4gICAgICAgIGxheW91dEluZGV4OigpPT57cmV0dXJuIGxheW91dEluZH0sXHJcbiAgICAgICAgbGF5b3V0Tm9kZTooKT0+e3JldHVybiBsYXlvdXRJdGVtfSxcclxuICAgICAgfVxyXG4gICAgICAvL211c3Qgc2V0IG1vdmVMYXlvdXQgdG8gZmFsc2UgYXMgbnh0U29ydGFibGUgYWxyZWFkeSBtb3ZlcyBpdFxyXG4gICAgICB0aGlzLmpzZi5tb3ZlQXJyYXlJdGVtKGl0ZW1DdHgsIGV2dC5vbGRJbmRleCwgZXZ0Lm5ld0luZGV4LGZhbHNlKTtcclxuICAgICAgXHJcbiAgICB9LFxyXG4gICAgb25Nb3ZlOiBmdW5jdGlvbiAoLyoqRXZlbnQqL2V2dCwgLyoqRXZlbnQqL29yaWdpbmFsRXZlbnQpIHtcclxuICAgICAgaWYoZXZ0LnJlbGF0ZWQuY2xhc3NMaXN0LmNvbnRhaW5zKFwic29ydGFibGUtZml4ZWRcIikpe1xyXG4gICAgICAgLy9jb25zb2xlLmxvZyhldnQucmVsYXRlZCk7XHJcbiAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgfVxyXG4gICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc29ydGFibGVJbml0KHNvcnRhYmxlKSB7XHJcbiAgICB0aGlzLnNvcnRhYmxlT2JqID0gc29ydGFibGU7XHJcbiAgICAvLy9OQiBpc3N1ZSBjYXVzZWQgYnkgc29ydGFibGVqcyB3aGVuIGl0IGl0cyBkZXN0cm95ZWRcclxuICAgIC8vdGhpcyBtYWlubHkgYWZmZWN0cyBjaGVja2JveGVzIGNvdXBsZWQgd2l0aCBjb25kaXRpb25zXHJcbiAgICAvLy10aGUgdmFsdWUgaXMgcmVjaGVja2VkXHJcbiAgICAvLy1zZWUgaHR0cHM6Ly9naXRodWIuY29tL1NvcnRhYmxlSlMvU29ydGFibGUvaXNzdWVzLzEwNTIjaXNzdWVjb21tZW50LTM2OTYxMzA3MlxyXG4gICAgLyogYXR0ZW1wdCB0byBtb25rZXkgcGF0Y2ggc29ydGFibGUganMgXHJcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IHNvcnRhYmxlLl9udWxsaW5nO1xyXG4gICAgbGV0IHpvbmU9dGhpcy56b25lO1xyXG4gICAgc29ydGFibGUuX251bGxpbmc9ZnVuY3Rpb24oKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBwbHVnaW5FdmVudCAyICR7cGx1Z2luRXZlbnR9YClcclxuICAgICAgICAgICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coYHBsdWdpbkV2ZW50MyAke3BsdWdpbkV2ZW50fWApXHJcbiAgICAgIHBsdWdpbkV2ZW50KCdudWxsaW5nJywgdGhpcyk7XHJcbiAgXHJcbiAgICAgIHJvb3RFbCA9XHJcbiAgICAgIGRyYWdFbCA9XHJcbiAgICAgIHBhcmVudEVsID1cclxuICAgICAgZ2hvc3RFbCA9XHJcbiAgICAgIG5leHRFbCA9XHJcbiAgICAgIGNsb25lRWwgPVxyXG4gICAgICBsYXN0RG93bkVsID1cclxuICAgICAgY2xvbmVIaWRkZW4gPVxyXG4gIFxyXG4gICAgICB0YXBFdnQgPVxyXG4gICAgICB0b3VjaEV2dCA9XHJcbiAgXHJcbiAgICAgIG1vdmVkID1cclxuICAgICAgbmV3SW5kZXggPVxyXG4gICAgICBuZXdEcmFnZ2FibGVJbmRleCA9XHJcbiAgICAgIG9sZEluZGV4ID1cclxuICAgICAgb2xkRHJhZ2dhYmxlSW5kZXggPVxyXG4gIFxyXG4gICAgICBsYXN0VGFyZ2V0ID1cclxuICAgICAgbGFzdERpcmVjdGlvbiA9XHJcbiAgXHJcbiAgICAgIHB1dFNvcnRhYmxlID1cclxuICAgICAgYWN0aXZlR3JvdXAgPVxyXG4gICAgICBTb3J0YWJsZS5kcmFnZ2VkID1cclxuICAgICAgU29ydGFibGUuZ2hvc3QgPVxyXG4gICAgICBTb3J0YWJsZS5jbG9uZSA9XHJcbiAgICAgIFNvcnRhYmxlLmFjdGl2ZSA9IG51bGw7XHJcbiAgXHJcbiAgICBcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLmVsO1xyXG4gICAgICAgIHNhdmVkSW5wdXRDaGVja2VkLmZvckVhY2goZnVuY3Rpb24gKGNoZWNrRWwpIHtcclxuICAgICAgICAgIGlmIChlbC5jb250YWlucyhjaGVja0VsKSkge1xyXG4gICAgICAgICAgICBjaGVja0VsLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgc2F2ZWRJbnB1dENoZWNrZWQubGVuZ3RoID1cclxuICAgICAgICBsYXN0RHggPVxyXG4gICAgICAgIGxhc3REeSA9IDA7XHJcblxyXG4gICAgICB9KVxyXG5cclxuICAgIH0uYmluZChzb3J0YWJsZSlcclxuICAgICovXHJcbiAgfVxyXG5cclxuICBpc0RyYWdnYWJsZShub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS5hcnJheUl0ZW0gJiYgbm9kZS50eXBlICE9PSAnJHJlZicgJiZcclxuICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUoKSAhPT0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZU9iaikge1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIix0cnVlKTtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLCFyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvL1RPRE8gYWxzbyBuZWVkIHRvIHRoaW5rIG9mIG90aGVyIHR5cGVzIHN1Y2ggYXMgYnV0dG9uIHdoaWNoIGNhbiBiZVxyXG4gIC8vY3JlYXRlZCBieSBhbiBhcmJpdHJhcnkgbGF5b3V0XHJcbiAgaXNGaXhlZChub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS50eXBlID09ICckcmVmJztcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KCkpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZHJhZ2dhYmxlIHN0YXRlXHJcbiAgICB0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMuanNmLnNvcnRhYmxlT3B0aW9ucyQuc3Vic2NyaWJlKFxyXG4gICAgICAob3B0c1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydGFibGVPYmopIHtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKG9wdHNWYWx1ZSkuZm9yRWFjaChvcHQ9PntcclxuICAgICAgICAgICAgbGV0IG9wdFZhbD1vcHRzVmFsdWVbb3B0XTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0YWJsZU9iai5vcHRpb24ob3B0LG9wdFZhbCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcImRpc2FibGVkXCIsdHJ1ZSk7XHJcbiAgICAgICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwic29ydFwiLGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==