@acorex/components 3.0.47 → 3.0.52
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.
- package/acorex-components.metadata.json +1 -1
- package/bundles/acorex-components.umd.js +171 -73
- package/bundles/acorex-components.umd.js.map +1 -1
- package/bundles/acorex-components.umd.min.js +1 -1
- package/bundles/acorex-components.umd.min.js.map +1 -1
- package/esm2015/lib/base/element.class.js +9 -1
- package/esm2015/lib/calendar/calendar-box/calendar-box.component.js +6 -6
- package/esm2015/lib/date-picker/date-picker.component.js +3 -2
- package/esm2015/lib/dropdown/dropdown.component.js +3 -2
- package/esm2015/lib/menu/menu2.component.js +1 -1
- package/esm2015/lib/number-box/number-box.component.js +2 -2
- package/esm2015/lib/password-box/password-box.component.js +2 -2
- package/esm2015/lib/property-editor/editors/color-editor/color.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/column-editor/column.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/date-editor/date.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/number-editor/number.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/range-editor/range.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/selectbox-editor/selectbox.editor.js +22 -12
- package/esm2015/lib/property-editor/editors/switch-editor/number.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/text-editor/text.editor.js +2 -2
- package/esm2015/lib/property-editor/editors/time-editor/time.editor.js +2 -2
- package/esm2015/lib/property-editor/property-editor-renderer.directive.js +83 -37
- package/esm2015/lib/property-editor/property-editor.class.js +18 -4
- package/esm2015/lib/query-builder/query-builder-rule.component.js +5 -1
- package/esm2015/lib/query-builder/query-builder.service.js +4 -4
- package/esm2015/lib/textarea/textarea.component.js +2 -2
- package/esm2015/lib/textbox/textbox.component.js +2 -2
- package/esm5/lib/base/element.class.js +9 -1
- package/esm5/lib/calendar/calendar-box/calendar-box.component.js +6 -6
- package/esm5/lib/date-picker/date-picker.component.js +3 -2
- package/esm5/lib/dropdown/dropdown.component.js +3 -2
- package/esm5/lib/menu/menu2.component.js +1 -1
- package/esm5/lib/number-box/number-box.component.js +2 -2
- package/esm5/lib/password-box/password-box.component.js +2 -2
- package/esm5/lib/property-editor/editors/color-editor/color.editor.js +2 -2
- package/esm5/lib/property-editor/editors/column-editor/column.editor.js +2 -2
- package/esm5/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.js +2 -2
- package/esm5/lib/property-editor/editors/date-editor/date.editor.js +2 -2
- package/esm5/lib/property-editor/editors/number-editor/number.editor.js +2 -2
- package/esm5/lib/property-editor/editors/range-editor/range.editor.js +2 -2
- package/esm5/lib/property-editor/editors/selectbox-editor/selectbox.editor.js +26 -12
- package/esm5/lib/property-editor/editors/switch-editor/number.editor.js +2 -2
- package/esm5/lib/property-editor/editors/text-editor/text.editor.js +2 -2
- package/esm5/lib/property-editor/editors/time-editor/time.editor.js +2 -2
- package/esm5/lib/property-editor/property-editor-renderer.directive.js +89 -39
- package/esm5/lib/property-editor/property-editor.class.js +24 -4
- package/esm5/lib/query-builder/query-builder-rule.component.js +5 -1
- package/esm5/lib/query-builder/query-builder.service.js +4 -4
- package/esm5/lib/textarea/textarea.component.js +2 -2
- package/esm5/lib/textbox/textbox.component.js +2 -2
- package/fesm2015/acorex-components.js +156 -72
- package/fesm2015/acorex-components.js.map +1 -1
- package/fesm5/acorex-components.js +172 -74
- package/fesm5/acorex-components.js.map +1 -1
- package/lib/base/element.class.d.ts +2 -0
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +7 -4
- package/lib/property-editor/property-editor-renderer.directive.d.ts +5 -3
- package/lib/property-editor/property-editor.class.d.ts +4 -2
- package/package.json +1 -1
|
@@ -5,9 +5,17 @@ export class AXProperyEditorComponent {
|
|
|
5
5
|
constructor(cdr) {
|
|
6
6
|
this.cdr = cdr;
|
|
7
7
|
this.readonly = false;
|
|
8
|
-
this.
|
|
8
|
+
this._initiated = false;
|
|
9
|
+
this._valueBound = false;
|
|
9
10
|
this.validatableComponentRegistered = new Subject();
|
|
10
11
|
this.valueChange = new EventEmitter();
|
|
12
|
+
this.onRenderCompleted = new EventEmitter();
|
|
13
|
+
this.onRenderCompleted.subscribe(() => {
|
|
14
|
+
this._initiated = true;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
get initiated() {
|
|
18
|
+
return this._initiated && this._valueBound;
|
|
11
19
|
}
|
|
12
20
|
registerForValidationForm(component) {
|
|
13
21
|
this.validatableComponentRegistered.next(component);
|
|
@@ -20,18 +28,24 @@ export class AXProperyEditorComponent {
|
|
|
20
28
|
this._value = v;
|
|
21
29
|
this.valueChange.emit(v);
|
|
22
30
|
this.cdr.detectChanges();
|
|
31
|
+
//TODO: find better solution
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
this._valueBound = true;
|
|
34
|
+
}, 100);
|
|
23
35
|
}
|
|
24
36
|
}
|
|
25
37
|
handleValueChange(v) {
|
|
26
38
|
this.value = v;
|
|
27
39
|
}
|
|
28
|
-
initiat() {
|
|
29
|
-
}
|
|
30
40
|
}
|
|
31
41
|
__decorate([
|
|
32
42
|
Output(),
|
|
33
43
|
__metadata("design:type", EventEmitter)
|
|
34
44
|
], AXProperyEditorComponent.prototype, "valueChange", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Output(),
|
|
47
|
+
__metadata("design:type", EventEmitter)
|
|
48
|
+
], AXProperyEditorComponent.prototype, "onRenderCompleted", void 0);
|
|
35
49
|
__decorate([
|
|
36
50
|
Input(),
|
|
37
51
|
__metadata("design:type", Object),
|
|
@@ -86,4 +100,4 @@ export function propertyEditor(options) {
|
|
|
86
100
|
AXPropertyDecorators.register(target, key, options);
|
|
87
101
|
};
|
|
88
102
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3Byb3BlcnR5LWVkaXRvci9wcm9wZXJ0eS1lZGl0b3IuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTZDL0IsTUFBTSxPQUFnQix3QkFBd0I7SUFnQzFDLFlBQXNCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBN0I1QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsbUNBQThCLEdBQW9DLElBQUksT0FBTyxFQUEwQixDQUFDO1FBU3hHLGdCQUFXLEdBQW9CLElBQUksWUFBWSxFQUFLLENBQUM7SUFpQnJELENBQUM7SUF2QkQseUJBQXlCLENBQUMsU0FBa0M7UUFDeEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBUUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxDQUFJO1FBQ2pCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFPRCxpQkFBaUIsQ0FBQyxDQUFJO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPO0lBRVAsQ0FBQztDQUdKO0FBOUJHO0lBREMsTUFBTSxFQUFFOzhCQUNJLFlBQVk7NkRBQTRCO0FBSXJEO0lBREMsS0FBSyxFQUFFOzs7cURBR1A7QUE0QkwsTUFBTSxPQUFPLG1CQUFtQjtJQUs1QixZQUNJLEdBQVEsRUFDUixRQUFnQixFQUNoQixPQUFZO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0NBQ0o7QUFHRCxXQUFXO0FBQ1gsTUFBTSxPQUFPLG9CQUFvQjtJQUc3QixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxRQUFnQixFQUFFLE9BQWE7UUFDeEQsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDL0YsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUMxQjthQUNJO1lBQ0Qsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN2RjtJQUNMLENBQUM7SUFJRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUNwQyxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUNwQyxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWdCO1FBQzNCLElBQUksUUFBUSxFQUFFO1lBQ1YsT0FBTyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztTQUMzRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQVc7UUFDNUIsTUFBTSxJQUFJLEdBQTBCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLENBQUMsR0FBVSxLQUFLLEVBQU8sQ0FBQztRQUM5QixJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O0FBdkNjLDZCQUFRLEdBQUcsSUFBSSxLQUFLLEVBQXVCLENBQUM7QUE0Qy9ELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBNEI7SUFDdkQsT0FBTyxDQUFDLE1BQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUMvQixPQUFlLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUM1QixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhEYXRhVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAnYm9vbGVhbicgfCAnb2JqZWN0JztcclxuZXhwb3J0IHR5cGUgQVhDb250cm9sVHlwZSA9ICd0ZXh0Ym94JyB8ICdudW1iZXJib3gnIHwgJ2RhdGVQaWNrZXInIHwgJ3N3aXRjaCcgfCAnY3VzdG9tJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFByb3BlcnR5RGVmIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBoaW50Pzogc3RyaW5nO1xyXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG4gICAgZWRpdG9yQ2xhc3M6IGFueTtcclxuICAgIGVkaXRvck9wdGlvbnM/OiBhbnk7XHJcbiAgICB2aXNpYmxlPzogYm9vbGVhbiB8ICgoKSA9PiBib29sZWFuKTtcclxuICAgIG9yZGVyPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlFZGl0b3JEZWYge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGhpbnQ/OiBzdHJpbmc7XHJcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgICBlZGl0b3JDbGFzczogYW55O1xyXG4gICAgZWRpdG9yT3B0aW9ucz86IGFueTtcclxuICAgIHZpc2libGU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xyXG4gICAgb3JkZXI/OiBudW1iZXI7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUNvbmZpZyB7XHJcbiAgICBwcm9wZXJ0eTogQVhQcm9wZXJ0eURlZjtcclxuICAgIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQge1xyXG4gICAgcHJvcGVydHk6IEFYUHJvcGVydHlEZWY7XHJcbiAgICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQ8VD57XHJcblxyXG5cclxuICAgIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpbml0aWF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgdmFsaWRhdGFibGVDb21wb25lbnRSZWdpc3RlcmVkOiBTdWJqZWN0PEFYVmFsaWRhdGFibGVDb21wb25lbnQ+ID0gbmV3IFN1YmplY3Q8QVhWYWxpZGF0YWJsZUNvbXBvbmVudD4oKTtcclxuXHJcblxyXG4gICAgcmVnaXN0ZXJGb3JWYWxpZGF0aW9uRm9ybShjb21wb25lbnQ/OiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50KSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQubmV4dChjb21wb25lbnQpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VD4gPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFQ7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2OiBUKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdWlkOiBzdHJpbmc7XHJcblxyXG4gICAgaGFuZGxlVmFsdWVDaGFuZ2UodjogVCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2O1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYXQoKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgY2xzOiBhbnk7XHJcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGNsczogYW55LFxyXG4gICAgICAgIHByb3BlcnR5OiBzdHJpbmcsXHJcbiAgICAgICAgb3B0aW9uczogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jbHMgPSBjbHM7XHJcbiAgICAgICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhQcm9wZXJ0eURlY29yYXRvcnMge1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgUkVHSVNUUlkgPSBuZXcgQXJyYXk8QVhQcm9wZXJ0eURlY29yYXRvcj4oKTtcclxuXHJcbiAgICBzdGF0aWMgcmVnaXN0ZXIoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmluZChjID0+IGMuY2xzID09PSBjbHMgJiYgYy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xyXG4gICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgIGl0ZW0ub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5wdXNoKG5ldyBBWFByb3BlcnR5RGVjb3JhdG9yKGNscywgcHJvcGVydHksIG9wdGlvbnMpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBzdGF0aWMgaGFzKGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLnNvbWUoYyA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0KGNsczogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogQVhQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICAgICAgcmV0dXJuIEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLmZpbmQoYyA9PiBjLmNscyA9PT0gY2xzICYmIGMucHJvcGVydHkgPT09IHByb3BlcnR5KTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNWYWxpZChwcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5zb21lKGMgPT4gYy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFByb3BlcnRpZXModGFyZ2V0OiBhbnkpOiBBWFByb3BlcnR5RGVjb3JhdG9yW10ge1xyXG4gICAgICAgIGNvbnN0IGxpc3Q6IEFYUHJvcGVydHlEZWNvcmF0b3JbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHA6IGFueVtdID0gQXJyYXk8YW55PigpO1xyXG4gICAgICAgIGxldCBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XHJcbiAgICAgICAgd2hpbGUgKHN1cGVyQ2xhc3MuY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCcpIHtcclxuICAgICAgICAgICAgcC5wdXNoKHN1cGVyQ2xhc3MuY29uc3RydWN0b3IpO1xyXG4gICAgICAgICAgICBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1cGVyQ2xhc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaXN0LnB1c2goLi4uQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmlsdGVyKGMgPT4gcC5pbmNsdWRlcyhjLmNscy5jb25zdHJ1Y3RvcikpKTtcclxuICAgICAgICByZXR1cm4gbGlzdDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHlFZGl0b3Iob3B0aW9uczogQVhQcm9wZXJ0eUVkaXRvckRlZikge1xyXG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAob3B0aW9ucyBhcyBhbnkpLm5hbWUgPSBrZXk7XHJcbiAgICAgICAgQVhQcm9wZXJ0eURlY29yYXRvcnMucmVnaXN0ZXIodGFyZ2V0LCBrZXksIG9wdGlvbnMpO1xyXG4gICAgfTtcclxufVxyXG5cclxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3Byb3BlcnR5LWVkaXRvci9wcm9wZXJ0eS1lZGl0b3IuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTZDL0IsTUFBTSxPQUFnQix3QkFBd0I7SUErQzFDLFlBQXNCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBNUM1QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBR2xCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFPckMsbUNBQThCLEdBQW9DLElBQUksT0FBTyxFQUEwQixDQUFDO1FBU3hHLGdCQUFXLEdBQW9CLElBQUksWUFBWSxFQUFLLENBQUM7UUFJckQsc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFxQjdELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQTFDRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQU1ELHlCQUF5QixDQUFDLFNBQWtDO1FBQ3hELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQVlELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsQ0FB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LEVBQUU7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7QUF2Q2MsNkJBQVEsR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztBQTRDL0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUE0QjtJQUN2RCxPQUFPLENBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQy9CLE9BQWUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzVCLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5leHBvcnQgdHlwZSBBWERhdGFUeXBlID0gJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdkYXRlJyB8ICdib29sZWFuJyB8ICdvYmplY3QnO1xyXG5leHBvcnQgdHlwZSBBWENvbnRyb2xUeXBlID0gJ3RleHRib3gnIHwgJ251bWJlcmJveCcgfCAnZGF0ZVBpY2tlcicgfCAnc3dpdGNoJyB8ICdjdXN0b20nO1xyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUHJvcGVydHlEZWYge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGhpbnQ/OiBzdHJpbmc7XHJcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgICBlZGl0b3JDbGFzczogYW55O1xyXG4gICAgZWRpdG9yT3B0aW9ucz86IGFueTtcclxuICAgIHZpc2libGU/OiBib29sZWFuIHwgKCgpID0+IGJvb2xlYW4pO1xyXG4gICAgb3JkZXI/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ0eUVkaXRvckRlZiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgaGludD86IHN0cmluZztcclxuICAgIGRlZmF1bHRWYWx1ZT86IGFueTtcclxuICAgIGVkaXRvckNsYXNzOiBhbnk7XHJcbiAgICBlZGl0b3JPcHRpb25zPzogYW55O1xyXG4gICAgdmlzaWJsZT86IGJvb2xlYW4gfCAoKCkgPT4gYm9vbGVhbik7XHJcbiAgICBvcmRlcj86IG51bWJlcjtcclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFByb3BlcnR5Q29uZmlnIHtcclxuICAgIHByb3BlcnR5OiBBWFByb3BlcnR5RGVmO1xyXG4gICAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCB7XHJcbiAgICBwcm9wZXJ0eTogQVhQcm9wZXJ0eURlZjtcclxuICAgIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudDxUPntcclxuXHJcblxyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF92YWx1ZUJvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGdldCBpbml0aWF0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYXRlZCAmJiB0aGlzLl92YWx1ZUJvdW5kO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB2YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQ6IFN1YmplY3Q8QVhWYWxpZGF0YWJsZUNvbXBvbmVudD4gPSBuZXcgU3ViamVjdDxBWFZhbGlkYXRhYmxlQ29tcG9uZW50PigpO1xyXG5cclxuXHJcbiAgICByZWdpc3RlckZvclZhbGlkYXRpb25Gb3JtKGNvbXBvbmVudD86IEFYVmFsaWRhdGFibGVDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRhYmxlQ29tcG9uZW50UmVnaXN0ZXJlZC5uZXh0KGNvbXBvbmVudCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUPiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblJlbmRlckNvbXBsZXRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBUO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgdmFsdWUodjogVCkge1xyXG4gICAgICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAvL1RPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWVCb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgdGhpcy5vblJlbmRlckNvbXBsZXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0aWF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVpZDogc3RyaW5nO1xyXG5cclxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKHY6IFQpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICBjbHM6IGFueTtcclxuICAgIHByb3BlcnR5OiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgY2xzOiBhbnksXHJcbiAgICAgICAgcHJvcGVydHk6IHN0cmluZyxcclxuICAgICAgICBvcHRpb25zOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmNscyA9IGNscztcclxuICAgICAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWFByb3BlcnR5RGVjb3JhdG9ycyB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBSRUdJU1RSWSA9IG5ldyBBcnJheTxBWFByb3BlcnR5RGVjb3JhdG9yPigpO1xyXG5cclxuICAgIHN0YXRpYyByZWdpc3RlcihjbHM6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgb3B0aW9ucz86IGFueSkge1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBBWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5maW5kKGMgPT4gYy5jbHMgPT09IGNscyAmJiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgaXRlbS5vcHRpb25zID0gb3B0aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLnB1c2gobmV3IEFYUHJvcGVydHlEZWNvcmF0b3IoY2xzLCBwcm9wZXJ0eSwgb3B0aW9ucykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHN0YXRpYyBoYXMoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuc29tZShjID0+IGMuY2xzID09PSBjbHMgJiYgYy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXQoY2xzOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcpOiBBWFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgICAgICByZXR1cm4gQVhQcm9wZXJ0eURlY29yYXRvcnMuUkVHSVNUUlkuZmluZChjID0+IGMuY2xzID09PSBjbHMgJiYgYy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1ZhbGlkKHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIEFYUHJvcGVydHlEZWNvcmF0b3JzLlJFR0lTVFJZLnNvbWUoYyA9PiBjLnByb3BlcnR5ID09PSBwcm9wZXJ0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0UHJvcGVydGllcyh0YXJnZXQ6IGFueSk6IEFYUHJvcGVydHlEZWNvcmF0b3JbXSB7XHJcbiAgICAgICAgY29uc3QgbGlzdDogQVhQcm9wZXJ0eURlY29yYXRvcltdID0gW107XHJcbiAgICAgICAgY29uc3QgcDogYW55W10gPSBBcnJheTxhbnk+KCk7XHJcbiAgICAgICAgbGV0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KTtcclxuICAgICAgICB3aGlsZSAoc3VwZXJDbGFzcy5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnT2JqZWN0Jykge1xyXG4gICAgICAgICAgICBwLnB1c2goc3VwZXJDbGFzcy5jb25zdHJ1Y3Rvcik7XHJcbiAgICAgICAgICAgIHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3VwZXJDbGFzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpc3QucHVzaCguLi5BWFByb3BlcnR5RGVjb3JhdG9ycy5SRUdJU1RSWS5maWx0ZXIoYyA9PiBwLmluY2x1ZGVzKGMuY2xzLmNvbnN0cnVjdG9yKSkpO1xyXG4gICAgICAgIHJldHVybiBsaXN0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eUVkaXRvcihvcHRpb25zOiBBWFByb3BlcnR5RWRpdG9yRGVmKSB7XHJcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIChvcHRpb25zIGFzIGFueSkubmFtZSA9IGtleTtcclxuICAgICAgICBBWFByb3BlcnR5RGVjb3JhdG9ycy5yZWdpc3Rlcih0YXJnZXQsIGtleSwgb3B0aW9ucyk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4iXX0=
|
|
@@ -44,6 +44,10 @@ let AXQueryBuilderRuleComponent = class AXQueryBuilderRuleComponent {
|
|
|
44
44
|
value: 'not-contains',
|
|
45
45
|
text: AXTranslator.get('queryBuilder.not-contains')
|
|
46
46
|
},
|
|
47
|
+
{
|
|
48
|
+
value: 'contains-all',
|
|
49
|
+
text: AXTranslator.get('queryBuilder.contains-all')
|
|
50
|
+
},
|
|
47
51
|
{
|
|
48
52
|
value: 'null',
|
|
49
53
|
text: AXTranslator.get('queryBuilder.null')
|
|
@@ -365,4 +369,4 @@ AXQueryBuilderRuleComponent = __decorate([
|
|
|
365
369
|
__metadata("design:paramtypes", [])
|
|
366
370
|
], AXQueryBuilderRuleComponent);
|
|
367
371
|
export { AXQueryBuilderRuleComponent };
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMkIscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBUXBGLElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBbUN0QztRQTFCQSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBUzFCLFNBQUksR0FBbUIsS0FBSyxDQUFDO1FBRzdCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFHbkIsaUJBQVksR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFHbEcsZ0JBQVcsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFakcsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QiwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFZdEMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FB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OUIsU0FBUyxDQUFDLGtCQUFrQixDQUFDOzhCQUFtQixrQkFBa0I7cUVBQUM7QUFDOUI7SUFBckMsU0FBUyxDQUFDLHlCQUF5QixDQUFDOzhCQUFPLHlCQUF5Qjt5REFBQztBQUV0RTtJQURDLEtBQUssRUFBRTs7OERBQ2tCO0FBRzFCO0lBREMsS0FBSyxFQUFFOzhCQUNGLGtCQUFrQjt5REFBQztBQUd6QjtJQURDLEtBQUssRUFBRTs4QkFDQSxtQkFBbUI7MkRBQUM7QUFHNUI7SUFEQyxLQUFLLEVBQUU7O3lEQUNxQjtBQUc3QjtJQURDLEtBQUssRUFBRTs7MkRBQ1c7QUFHbkI7SUFEQyxNQUFNLEVBQUU7OEJBQ0ssWUFBWTtpRUFBd0U7QUFHbEc7SUFEQyxNQUFNLEVBQUU7OEJBQ0ksWUFBWTtnRUFBd0U7QUEzQnRGLDJCQUEyQjtJQU52QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZUFBZTtRQUN6QiwyeU1BQWdEO1FBQ2hELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtRQUNuQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtLQUN0QyxDQUFDOztHQUNXLDJCQUEyQixDQStVdkM7U0EvVVksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclJ1bGUsIEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50LCBBWFF1ZXJ5QnVpbGRlckNvbnRyb2wgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNlbGVjdEJveENvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdGJveC9zZWxlY3Rib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1xdWVyeS1ydWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJ3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4IGF4LXF1ZXJ5LXJ1bGUnIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhRdWVyeUJ1aWxkZXJSdWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdzZWxlY3RCb3gnKSBzZWxlY3RCb3g6IEFYU2VsZWN0Qm94Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveFZhbHVlJykgc2VsZWN0Qm94VmFsdWU6IEFYU2VsZWN0Qm94Q29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdzZWxlY3RCb3hCb29sZWFuJykgc2VsZWN0Qm94Qm9vbGVhbjogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RleHRCb3hOYW1lVmFsdWUnKSB0ZXh0Qm94TmFtZVZhbHVlOiBBWFRleHRCb3hDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50KSBmb3JtOiBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgaXNFZGl0aW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBydWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGFyZW50OiBBWFF1ZXJ5QnVpbGRlckdyb3VwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vZGU6ICduZXcnIHwgJ2VkaXQnID0gJ25ldyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZmllbGRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblJ1bGVEZWxldGU6IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBydWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQ+KCk7XHJcblxyXG4gIHNob3dWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBpc09uRGVtYW5kTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc2hvd1NlbGVjdEJveDogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd09wZXJhdG9yU2VsZWN0Qm94OiBib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxyXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCcgdG8gdGhlIGNsYXNzLlxyXG4gICAgaWYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsKSB7XHJcbiAgICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJvdmlkZURhdGFCb29sZWFuID0gKGUpID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICByZXNvbHZlKFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogJ3RydWUnLFxyXG4gICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnRydWUnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdmFsdWU6ICdmYWxzZScsXHJcbiAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZmFsc2UnKVxyXG4gICAgICAgIH1cclxuICAgICAgXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBzYXZlUnVsZSgpIHtcclxuICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oKGMpID0+IHt9KTtcclxuICB9XHJcblxyXG4gIHByb3ZpZGVEYXRhT3BlcmF0b3IgPSAoZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucnVsZSAmJiB0aGlzLnJ1bGUuY29udHJvbCAmJiB0aGlzLnJ1bGUuY29udHJvbC50eXBlICYmIHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT0gJ3NlbGVjdEJveCcpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLm1vZGUgPT0gJ211bHRpcGxlJykge1xyXG4gICAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2NvbnRhaW5zJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5jb250YWlucycpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1jb250YWlucycsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWNvbnRhaW5zJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVxdWFsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5udWxsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LW51bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2NvbnRhaW5zJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuY29udGFpbnMnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdzdGFydC13aXRoJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuc3RhcnQtd2l0aCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2VuZC13aXRoJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZW5kLXdpdGgnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdub3QtZXF1YWwnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdlcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0JyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmdyZWF0ZXItdGhhbicpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ2d0ZScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ncmVhdGVyLXRoYW4tZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdsdCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5sZXNzLXRoYW4nKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdsdGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuLWVxdWFsJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ydWxlLmRhdGFUeXBlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdlcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICByZXNvbHZlKFtdKTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRDbGljaygpIHtcclxuICAgIHRoaXMuaXNFZGl0aW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNvbW1pdENsaWNrKCkge1xyXG4gICAgdGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGl0ZW1zOiB0aGlzLnJ1bGUsIGNvbXBvbmVudDogdGhpcyB9KTtcclxuICB9XHJcbiAgaGFuZGxlUmVtb3ZlQ2xpY2soKSB7XHJcbiAgICB0aGlzLm9uUnVsZURlbGV0ZS5lbWl0KHsgaXRlbXM6IHRoaXMucnVsZSwgY29tcG9uZW50OiB0aGlzIH0pO1xyXG4gIH1cclxuICBjYXB0aW9uQ2hhbmdlKGUpIHtcclxuICAgIGlmIChlLnNlbGVjdGVkSXRlbXNbMF0pIHtcclxuICAgICAgdGhpcy5ydWxlLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcclxuICAgICAgdGhpcy5ydWxlLmRhdGFGaWVsZCA9IGUuc2VsZWN0ZWRJdGVtc1swXS5kYXRhRmllbGQ7XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhVHlwZSA9IGUuc2VsZWN0ZWRJdGVtc1swXS5kYXRhVHlwZTtcclxuICAgICAgdGhpcy5ydWxlLmNvbnRyb2wgPSBlLnNlbGVjdGVkSXRlbXNbMF0uY29udHJvbCB8fCBuZXcgQVhRdWVyeUJ1aWxkZXJDb250cm9sKCk7XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhRmllbGRJdGVtWzBdID0gZS5zZWxlY3RlZEl0ZW1zWzBdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdEJveCkge1xyXG4gICAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PT0gJ3NlbGVjdEJveCcgJiYgdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5tb2RlID09ICdtdWx0aXBsZScpIHtcclxuICAgICAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSAnY29udGFpbnMnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucnVsZS5vcGVyYXRvciA9ICdlcXVhbCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd09wZXJhdG9yU2VsZWN0Qm94ID0gZmFsc2U7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93T3BlcmF0b3JTZWxlY3RCb3ggPSB0cnVlO1xyXG4gICAgfSwgMjApO1xyXG5cclxuICAgIHRoaXMucnVsZS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcbiAgICB0aGlzLnJ1bGUudGV4dCA9ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLnJ1bGUuY29udHJvbC50eXBlID09PSAnc2VsZWN0Qm94JyAmJiB0aGlzLnNlbGVjdEJveFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NlbGVjdEJveCA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dTZWxlY3RCb3ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0Qm94VmFsdWUucmVmcmVzaCgpO1xyXG4gICAgICB9LCAyMCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5zZWxlY3RCb3hCb29sZWFuLnJlZnJlc2goKTtcclxuICAgIH1cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcblxyXG4gIG9wZXJhdG9yQ2hhbmdlKGUpIHtcclxuICAgIHRoaXMucnVsZS5vcGVyYXRvciA9IGVbMF0udmFsdWU7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcblxyXG4gICAgaWYgKGVbMF0udmFsdWUgIT09ICdudWxsJyAmJiBlWzBdLnZhbHVlICE9PSAnbm90LW51bGwnKSB7XHJcbiAgICAgIHRoaXMuc2hvd1ZhbHVlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1ZhbHVlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLnJ1bGUudGV4dCA9ICcnO1xyXG4gICAgICB0aGlzLnJ1bGUudmFsdWVJdGVtID0gW107XHJcbiAgICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKGUpIHtcclxuICAgIC8vIHRoaXMucnVsZS50ZXh0ID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyBlWzBdLnZhbHVlIDogKGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdID8gKGVbMF0udmFsdWUgPT0gbnVsbCA/ICcnIDogZVswXS52YWx1ZSkgOiBlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gIH1cclxuICBvbkRlbWFuZExhYmVsQ2hhbmdlKGUpIHtcclxuICAgIC8vIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyAnPz8/P3wnICsgZVswXS52YWx1ZSA6ICc/Pz8/fCcgKyBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSBlWzBdID8gJz8/Pz98JyArIChlWzBdLnZhbHVlID09IG51bGwgPyAnJyA6IGVbMF0udmFsdWUpIDogJz8/Pz98JyArIChlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWUpO1xyXG4gICAgdGhpcy5ydWxlLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnJ1bGUudGV4dCA9ICcnO1xyXG4gICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IFtdO1xyXG5cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgdmFsdWVCb29sZWFuQ2hhbmdlKGUpIHtcclxuICAgIC8vIHRoaXMucnVsZS50ZXh0ID0gZS52YWx1ZSA9PSB1bmRlZmluZWQgPyBlWzBdLnZhbHVlIDogKGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZSk7XHJcbiAgICB0aGlzLnJ1bGUudGV4dCA9IGVbMF0gPyAoZVswXS52YWx1ZSA9PSBudWxsID8gJycgOiBlWzBdLnZhbHVlKSA6IGUudmFsdWUgPT0gbnVsbCA/ICcnIDogZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS52YWx1ZSA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gIH1cclxuICBnZXRPbkRlbWFuZE5hbWUodikge1xyXG4gICAgcmV0dXJuIHYgPyB2LnNwbGl0KCd8JylbMV0gOiAnJztcclxuICB9XHJcbiAgc2VsZWN0ZWRJdGVtc0NoYW5nZShlKSB7XHJcbiAgICBsZXQgbiA9IHRoaXMuZ2V0T3B0aW9uKCd0ZXh0RmllbGQnKTtcclxuXHJcbiAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5tb2RlID09PSAnc2luZ2xlJykge1xyXG4gICAgICB0aGlzLnJ1bGUudGV4dCA9IGVbMF1bbl07XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUgJiYgdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLnZhbHVlID0gZVswXVt0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucnVsZS52YWx1ZSA9IGVbMF0udmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ydWxlLnZhbHVlSXRlbVswXSA9IGVbMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJ1bGUudGV4dCA9IGUubWFwKCh4KSA9PiB4W25dKS5qb2luKCctICcpO1xyXG4gICAgICBjb25zdCBUSEFUID0gdGhpcztcclxuICAgICAgaWYgKFRIQVQucnVsZSAmJiBUSEFULnJ1bGUuY29udHJvbC5vcHRpb25zLnZhbHVlRmllbGQpIHtcclxuICAgICAgICBUSEFULnJ1bGUudmFsdWUgPSBlLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1bVEhBVC5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUudmFsdWUgPSBlLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IGU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICB9XHJcbiAgb25EZW1hbmRMYWJlbChlKSB7XHJcbiAgICAvLyBpZiAoZS52YWx1ZSAmJiAodGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98JyB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09PSBudWxsIHx8IHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09PSAnJykpIHtcclxuICAgIC8vICAgdGhpcy50ZXh0Qm94TmFtZVZhbHVlLmZvY3VzKCk7XHJcbiAgICAvLyB9XHJcbiAgICBpZiAoZS52YWx1ZSA9PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc09uRGVtYW5kTGFiZWwgPSBlLnZhbHVlO1xyXG4gIH1cclxuICBnZXRQcm92aWRlRGF0YSA9IChlKSA9PiB7XHJcbiAgICBpZiAodGhpcy5ydWxlICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgJiYgdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zLmRhdGFTb3VyY2UoeyAuLi5lLCBvcHRpb25zRGF0YTogeyAuLi50aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zIH0gfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgZ2V0T3B0aW9uKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMgPyB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zW25hbWVdIDogbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMkIscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBUXBGLElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBbUN0QztRQTFCQSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBUzFCLFNBQUksR0FBbUIsS0FBSyxDQUFDO1FBRzdCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFHbkIsaUJBQVksR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFHbEcsZ0JBQVcsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFakcsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QiwwQkFBcUIsR0FBWSxJQUFJLENBQUM7UUFZdEMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FB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OEJBQWlCLG9CQUFvQjttRUFBQztBQUVuQztJQUE5QixTQUFTLENBQUMsa0JBQWtCLENBQUM7OEJBQW1CLG9CQUFvQjtxRUFBQztBQUV2QztJQUE5QixTQUFTLENBQUMsa0JBQWtCLENBQUM7OEJBQW1CLGtCQUFrQjtxRUFBQztBQUM5QjtJQUFyQyxTQUFTLENBQUMseUJBQXlCLENBQUM7OEJBQU8seUJBQXlCO3lEQUFDO0FBRXRFO0lBREMsS0FBSyxFQUFFOzs4REFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7OEJBQ0Ysa0JBQWtCO3lEQUFDO0FBR3pCO0lBREMsS0FBSyxFQUFFOzhCQUNBLG1CQUFtQjsyREFBQztBQUc1QjtJQURDLEtBQUssRUFBRTs7eURBQ3FCO0FBRzdCO0lBREMsS0FBSyxFQUFFOzsyREFDVztBQUduQjtJQURDLE1BQU0sRUFBRTs4QkFDSyxZQUFZO2lFQUF3RTtBQUdsRztJQURDLE1BQU0sRUFBRTs4QkFDSSxZQUFZO2dFQUF3RTtBQTNCdEYsMkJBQTJCO0lBTnZDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxlQUFlO1FBQ3pCLDJ5TUFBZ0Q7UUFDaEQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFO1FBQ25DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO0tBQ3RDLENBQUM7O0dBQ1csMkJBQTJCLENBbVZ2QztTQW5WWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUnVsZSwgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQsIEFYUXVlcnlCdWlsZGVyQ29udHJvbCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYU2VsZWN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0Ym94L3NlbGVjdGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFRleHRCb3hDb21wb25lbnQgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXF1ZXJ5LXJ1bGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAncXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7IGNsYXNzOiAnYXggYXgtcXVlcnktcnVsZScgfSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcpIHNlbGVjdEJveDogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Qm94VmFsdWUnKSBzZWxlY3RCb3hWYWx1ZTogQVhTZWxlY3RCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveEJvb2xlYW4nKSBzZWxlY3RCb3hCb29sZWFuOiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dEJveE5hbWVWYWx1ZScpIHRleHRCb3hOYW1lVmFsdWU6IEFYVGV4dEJveENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQpIGZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBpc0VkaXRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJ1bGU6IEFYUXVlcnlCdWlsZGVyUnVsZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwYXJlbnQ6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbW9kZTogJ25ldycgfCAnZWRpdCcgPSAnbmV3JztcclxuXHJcbiAgQElucHV0KClcclxuICBmaWVsZHM6IGFueVtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUnVsZURlbGV0ZTogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyUnVsZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJ1bGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudD4oKTtcclxuXHJcbiAgc2hvd1ZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGlzT25EZW1hbmRMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzaG93U2VsZWN0Qm94OiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93T3BlcmF0b3JTZWxlY3RCb3g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvL0NhbGxlZCBhZnRlciBuZ0FmdGVyQ29udGVudEluaXQgd2hlbiB0aGUgY29tcG9uZW50J3MgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZC4gQXBwbGllcyB0byBjb21wb25lbnRzIG9ubHkuXHJcbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdJbml0JyB0byB0aGUgY2xhc3MuXHJcbiAgICBpZiAodGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwpIHtcclxuICAgICAgdGhpcy5pc09uRGVtYW5kTGFiZWwgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcm92aWRlRGF0YUJvb2xlYW4gPSAoZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHZhbHVlOiAndHJ1ZScsXHJcbiAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIudHJ1ZScpXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogJ2ZhbHNlJyxcclxuICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5mYWxzZScpXHJcbiAgICAgICAgfVxyXG4gICAgICBdKTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIHNhdmVSdWxlKCkge1xyXG4gICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbigoYykgPT4ge30pO1xyXG4gIH1cclxuXHJcbiAgcHJvdmlkZURhdGFPcGVyYXRvciA9IChlKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgaWYgKHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBpZiAodGhpcy5ydWxlICYmIHRoaXMucnVsZS5jb250cm9sICYmIHRoaXMucnVsZS5jb250cm9sLnR5cGUgJiYgdGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PSAnc2VsZWN0Qm94Jykge1xyXG4gICAgICAgICAgaWYgKHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PSAnbXVsdGlwbGUnKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnY29udGFpbnMnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90LWNvbnRhaW5zJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtY29udGFpbnMnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdjb250YWlucy1hbGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zLWFsbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ251bGwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LW51bGwnKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1lcXVhbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWVxdWFsJylcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubnVsbCcpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ25vdC1udWxsJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB2YWx1ZTogJ2VxdWFsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdjb250YWlucycsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmNvbnRhaW5zJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnc3RhcnQtd2l0aCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnN0YXJ0LXdpdGgnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdlbmQtd2l0aCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVuZC13aXRoJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnbm90LWVxdWFsJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubm90LWVxdWFsJylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiAnbnVsbCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm5vdC1udWxsJylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJ1bGUuZGF0YVR5cGUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdndCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ncmVhdGVyLXRoYW4nKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdndGUnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZ3JlYXRlci10aGFuLWVxdWFsJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbHQnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubGVzcy10aGFuJylcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnbHRlJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmxlc3MtdGhhbi1lcXVhbCcpXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZTogJ25vdC1lcXVhbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucnVsZS5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmVzb2x2ZShbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbHVlOiAnZXF1YWwnLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZXF1YWwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdudWxsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLm51bGwnKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6ICdub3QtbnVsbCcsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtbnVsbCcpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgIH1cclxuICAgICAgcmVzb2x2ZShbXSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVFZGl0Q2xpY2soKSB7XHJcbiAgICB0aGlzLmlzRWRpdGluZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMuaXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBpdGVtczogdGhpcy5ydWxlLCBjb21wb25lbnQ6IHRoaXMgfSk7XHJcbiAgfVxyXG4gIGhhbmRsZVJlbW92ZUNsaWNrKCkge1xyXG4gICAgdGhpcy5vblJ1bGVEZWxldGUuZW1pdCh7IGl0ZW1zOiB0aGlzLnJ1bGUsIGNvbXBvbmVudDogdGhpcyB9KTtcclxuICB9XHJcbiAgY2FwdGlvbkNoYW5nZShlKSB7XHJcbiAgICBpZiAoZS5zZWxlY3RlZEl0ZW1zWzBdKSB7XHJcbiAgICAgIHRoaXMucnVsZS5jYXB0aW9uID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmNhcHRpb247XHJcbiAgICAgIHRoaXMucnVsZS5kYXRhRmllbGQgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YUZpZWxkO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YVR5cGUgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YVR5cGU7XHJcbiAgICAgIHRoaXMucnVsZS5jb250cm9sID0gZS5zZWxlY3RlZEl0ZW1zWzBdLmNvbnRyb2wgfHwgbmV3IEFYUXVlcnlCdWlsZGVyQ29udHJvbCgpO1xyXG4gICAgICB0aGlzLnJ1bGUuZGF0YUZpZWxkSXRlbVswXSA9IGUuc2VsZWN0ZWRJdGVtc1swXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RCb3gpIHtcclxuICAgICAgaWYgKHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT09ICdzZWxlY3RCb3gnICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PSAnbXVsdGlwbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLm9wZXJhdG9yID0gJ2NvbnRhaW5zJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSAnZXF1YWwnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dPcGVyYXRvclNlbGVjdEJveCA9IGZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd09wZXJhdG9yU2VsZWN0Qm94ID0gdHJ1ZTtcclxuICAgIH0sIDIwKTtcclxuXHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IFtdO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuXHJcbiAgICBpZiAodGhpcy5ydWxlLmNvbnRyb2wudHlwZSA9PT0gJ3NlbGVjdEJveCcgJiYgdGhpcy5zZWxlY3RCb3hWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNob3dTZWxlY3RCb3ggPSBmYWxzZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93U2VsZWN0Qm94ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdEJveFZhbHVlLnJlZnJlc2goKTtcclxuICAgICAgfSwgMjApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLnR5cGUgPT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Qm94Qm9vbGVhbi5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVyYXRvckNoYW5nZShlKSB7XHJcbiAgICB0aGlzLnJ1bGUub3BlcmF0b3IgPSBlWzBdLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBpdGVtczogdGhpcy5ydWxlIH0pO1xyXG5cclxuICAgIGlmIChlWzBdLnZhbHVlICE9PSAnbnVsbCcgJiYgZVswXS52YWx1ZSAhPT0gJ25vdC1udWxsJykge1xyXG4gICAgICB0aGlzLnNob3dWYWx1ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJ1bGUudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuICAgICAgdGhpcy5ydWxlLnZhbHVlSXRlbSA9IFtdO1xyXG4gICAgICB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuICB2YWx1ZUNoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUudGV4dCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IChlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWUpO1xyXG5cclxuICAgIHRoaXMucnVsZS50ZXh0ID0gZVswXSA/IChlWzBdLnZhbHVlID09IG51bGwgPyAnJyA6IGVbMF0udmFsdWUpIDogZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgb25EZW1hbmRMYWJlbENoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gJz8/Pz98JyArIGVbMF0udmFsdWUgOiAnPz8/P3wnICsgZS52YWx1ZTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gZVswXSA/ICc/Pz8/fCcgKyAoZVswXS52YWx1ZSA9PSBudWxsID8gJycgOiBlWzBdLnZhbHVlKSA6ICc/Pz8/fCcgKyAoZS52YWx1ZSA9PSBudWxsID8gJycgOiBlLnZhbHVlKTtcclxuICAgIHRoaXMucnVsZS52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSAnJztcclxuICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBbXTtcclxuXHJcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGl0ZW1zOiB0aGlzLnJ1bGUgfSk7XHJcbiAgfVxyXG4gIHZhbHVlQm9vbGVhbkNoYW5nZShlKSB7XHJcbiAgICAvLyB0aGlzLnJ1bGUudGV4dCA9IGUudmFsdWUgPT0gdW5kZWZpbmVkID8gZVswXS52YWx1ZSA6IChlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWUpO1xyXG4gICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdID8gKGVbMF0udmFsdWUgPT0gbnVsbCA/ICcnIDogZVswXS52YWx1ZSkgOiBlLnZhbHVlID09IG51bGwgPyAnJyA6IGUudmFsdWU7XHJcbiAgICB0aGlzLnJ1bGUudmFsdWUgPSBlLnZhbHVlID09IHVuZGVmaW5lZCA/IGVbMF0udmFsdWUgOiBlLnZhbHVlO1xyXG4gICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICB9XHJcbiAgZ2V0T25EZW1hbmROYW1lKHYpIHtcclxuICAgIHJldHVybiB2ID8gdi5zcGxpdCgnfCcpWzFdIDogJyc7XHJcbiAgfVxyXG4gIHNlbGVjdGVkSXRlbXNDaGFuZ2UoZSkge1xyXG4gICAgbGV0IG4gPSB0aGlzLmdldE9wdGlvbigndGV4dEZpZWxkJyk7XHJcblxyXG4gICAgaWYgKHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMubW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlWzBdW25dO1xyXG4gICAgICBpZiAodGhpcy5ydWxlICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgIHRoaXMucnVsZS52YWx1ZSA9IGVbMF1bdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJ1bGUudmFsdWUgPSBlWzBdLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW1bMF0gPSBlWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ydWxlLnRleHQgPSBlLm1hcCgoeCkgPT4geFtuXSkuam9pbignLSAnKTtcclxuICAgICAgY29uc3QgVEhBVCA9IHRoaXM7XHJcbiAgICAgIGlmIChUSEFULnJ1bGUgJiYgVEhBVC5ydWxlLmNvbnRyb2wub3B0aW9ucy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgVEhBVC5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtW1RIQVQucnVsZS5jb250cm9sLm9wdGlvbnMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ydWxlLnZhbHVlID0gZS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucnVsZS52YWx1ZUl0ZW0gPSBlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucnVsZUNoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgaXRlbXM6IHRoaXMucnVsZSB9KTtcclxuICAgIHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID0gJyc7XHJcbiAgfVxyXG4gIG9uRGVtYW5kTGFiZWwoZSkge1xyXG4gICAgLy8gaWYgKGUudmFsdWUgJiYgKHRoaXMucnVsZS5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcgfHwgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gbnVsbCB8fCB0aGlzLnJ1bGUub25EZW1hbmRMYWJlbCA9PT0gJycpKSB7XHJcbiAgICAvLyAgIHRoaXMudGV4dEJveE5hbWVWYWx1ZS5mb2N1cygpO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKGUudmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5ydWxlLm9uRGVtYW5kTGFiZWwgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMuaXNPbkRlbWFuZExhYmVsID0gZS52YWx1ZTtcclxuICB9XHJcbiAgZ2V0UHJvdmlkZURhdGEgPSAoZSkgPT4ge1xyXG4gICAgaWYgKHRoaXMucnVsZSAmJiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zICYmIHRoaXMucnVsZS5jb250cm9sLm9wdGlvbnMuZGF0YVNvdXJjZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucy5kYXRhU291cmNlKHsgLi4uZSwgb3B0aW9uc0RhdGE6IHsgLi4udGhpcy5ydWxlLmNvbnRyb2wub3B0aW9ucyB9IH0pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGdldE9wdGlvbihuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnJ1bGUuY29udHJvbC5vcHRpb25zID8gdGhpcy5ydWxlLmNvbnRyb2wub3B0aW9uc1tuYW1lXSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -72,7 +72,6 @@ let AXQueryBuilderService = class AXQueryBuilderService {
|
|
|
72
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
73
|
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
var e_1, _a;
|
|
75
|
-
;
|
|
76
75
|
var query;
|
|
77
76
|
if (group.items.length > 0) {
|
|
78
77
|
query = ' ( ';
|
|
@@ -123,8 +122,10 @@ let AXQueryBuilderService = class AXQueryBuilderService {
|
|
|
123
122
|
case 'end-with':
|
|
124
123
|
codeOperator = item.operator;
|
|
125
124
|
break;
|
|
125
|
+
default:
|
|
126
|
+
codeOperator = item.operator;
|
|
127
|
+
break;
|
|
126
128
|
}
|
|
127
|
-
;
|
|
128
129
|
query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
|
|
129
130
|
}
|
|
130
131
|
if (id !== group.items.length - 1 && query != ' ( ') {
|
|
@@ -151,7 +152,6 @@ let AXQueryBuilderService = class AXQueryBuilderService {
|
|
|
151
152
|
let query = '';
|
|
152
153
|
switch (type) {
|
|
153
154
|
case 'simple':
|
|
154
|
-
;
|
|
155
155
|
if (group.items.length > 0) {
|
|
156
156
|
query = ' ( ';
|
|
157
157
|
}
|
|
@@ -207,4 +207,4 @@ AXQueryBuilderService = __decorate([
|
|
|
207
207
|
__metadata("design:paramtypes", [AXPopupService, AXToastService])
|
|
208
208
|
], AXQueryBuilderService);
|
|
209
209
|
export { AXQueryBuilderService };
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTRCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRXhELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBQ2hDLFlBQW9CLEtBQXFCLEVBQVUsS0FBcUI7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN4RSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFGbUQsQ0FBQztJQUdyRSxRQUFRLENBQUMsS0FBMEIsRUFBRSxXQUFXO1FBQ3JELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsTUFBTSxH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UyxDQUFDO3FCQUN2QztpQkFDRjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDMUIsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUM7aUJBQ3ZCO2dCQUVELE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsTUFBTTtTQUNUO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTs7WUE3SzRCLGNBQWM7WUFBaUIsY0FBYzs7O0FBRDdELHFCQUFxQjtJQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBRU4sY0FBYyxFQUFpQixjQUFjO0dBRDdELHFCQUFxQixDQThLakM7U0E5S1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJTdHJpbmdUeXBlIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLXBvcHVwL3F1ZXJ5LWJ1aWxkZXItcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgdG9hc3Q6IEFYVG9hc3RTZXJ2aWNlKSB7fVxyXG4gIGNhbk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW5SdW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcnVuUXVlcnkoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHByb3ZpZGVEYXRhKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5jYW5PcGVuID0gZmFsc2U7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyb3VwLml0ZW1zW2ldKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jYW5PcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jYW5SdW4gPSB0cnVlO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh0aGlzLmNhblJ1biA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShncm91cC5pdGVtc1tpXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNhblJ1bikge1xyXG4gICAgICAgICAgdGhpcy5wb3B1cC5vcGVuKEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQsIHsgZGF0YTogeyBncm91cDogZ3JvdXAsIHByb3ZpZGVEYXRhOiBwcm92aWRlRGF0YSB9LCB0aXRsZTogJ9iv2LHbjNin2YHYqiDZhdmC2KfYr9uM2LEnIH0pLnRoZW4oKGMpID0+IHtcclxuICAgICAgICAgICAgcmVzb2x2ZShjKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKGdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaW5kTnVsbFZhbHVlKGdyKSB7XHJcbiAgICBpZiAodGhpcy5jYW5SdW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgdGhpcy5jYW5SdW4gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoJ9mE2LfZgdinINmG2KfZhSDZhdiq2LrbjNixINmH2KfbjCDZhdmI2LHYryDZhtuM2KfYsiDYsdinINqp2KfZhdmEINqp2YbbjNivJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5vVmFsdWVSdWxlKGdyKSB7XHJcbiAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWw/LmluZGV4T2YoJz8/Pz8nKSA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5jYW5PcGVuID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRRdWVyeVN0cmluZ1NpbXBsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICA7XHJcbiAgICAgIHZhciBxdWVyeTogc3RyaW5nO1xyXG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHF1ZXJ5ID0gJyAoICc7XHJcbiAgICAgIH1cclxuICAgICAgdmFyIGlkID0gMDtcclxuICAgICAgZm9yIGF3YWl0IChjb25zdCBpdGVyYXRvciBvZiBncm91cC5pdGVtcykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IGdyb3VwLml0ZW1zW2lkXTtcclxuICAgICAgICBpZiAoaXRlbS5jb25kaXRpb24pIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlcnlTdHJpbmdTaW1wbGUoaXRlbSkudGhlbigoYykgPT4ge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgYztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgY29kZU9wZXJhdG9yOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgICAgICAgc3dpdGNoIChpdGVtLm9wZXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPT0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICchPSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ25vdC1udWxsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnIT0gbnVsbCc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ251bGwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc9PSBudWxsJztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3QnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc+JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3RlJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPj0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJzwnO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdGUnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc8PSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDtcclxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmNhcHRpb24gKyAnICcgKyBjb2RlT3BlcmF0b3IgKyAnICcgKyBpdGVtLnRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZCAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWQgKz0gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICkgJztcclxuICAgICAgfVxyXG4gICAgICByZXNvbHZlKHF1ZXJ5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFF1ZXJ5U3RyaW5nKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCB0eXBlOiBBWFF1ZXJ5QnVpbGRlclN0cmluZ1R5cGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IHF1ZXJ5ID0gJyc7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnc2ltcGxlJzpcclxuICAgICAgICA7XHJcbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHF1ZXJ5ID0gJyAoICc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBncm91cC5pdGVtc1tpXTtcclxuICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgaXRlbS5xdWVyeVN0cmluZztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmNhcHRpb24gKyAnICcgKyBpdGVtLm9wZXJhdG9yICsgJyAnICsgaXRlbS52YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChpICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBncm91cC5jb25kaXRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyApICc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnZWxhc3RpYyc6XHJcbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHF1ZXJ5ID0gJyAoICc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBncm91cC5pdGVtc1tpXTtcclxuICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgaXRlbS5xdWVyeVN0cmluZ0VsYXN0aWM7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5kYXRhRmllbGQgKyAnICcgKyBpdGVtLm9wZXJhdG9yICsgJyAnICsgaXRlbS52YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChpICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBncm91cC5jb25kaXRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyApICc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc3FsJzpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcXVlcnk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTRCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRXhELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBQ2hDLFlBQW9CLEtBQXFCLEVBQVUsS0FBcUI7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN4RSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7SUFGbUQsQ0FBQztJQUdyRSxRQUFRLENBQUMsS0FBMEIsRUFBRSxXQUFXO1FBQ3JELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsTUFBTSxH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QUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO3FCQUN2QztpQkFDRjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDMUIsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUM7aUJBQ3ZCO2dCQUVELE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsTUFBTTtTQUNUO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTs7WUE3SzRCLGNBQWM7WUFBaUIsY0FBYzs7O0FBRDdELHFCQUFxQjtJQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBRU4sY0FBYyxFQUFpQixjQUFjO0dBRDdELHFCQUFxQixDQThLakM7U0E5S1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJTdHJpbmdUeXBlIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLXBvcHVwL3F1ZXJ5LWJ1aWxkZXItcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgdG9hc3Q6IEFYVG9hc3RTZXJ2aWNlKSB7fVxyXG4gIGNhbk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW5SdW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcnVuUXVlcnkoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHByb3ZpZGVEYXRhKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5jYW5PcGVuID0gZmFsc2U7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyb3VwLml0ZW1zW2ldKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jYW5PcGVuKSB7XHJcbiAgICAgICAgdGhpcy5jYW5SdW4gPSB0cnVlO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh0aGlzLmNhblJ1biA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShncm91cC5pdGVtc1tpXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNhblJ1bikge1xyXG4gICAgICAgICAgdGhpcy5wb3B1cC5vcGVuKEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQsIHsgZGF0YTogeyBncm91cDogZ3JvdXAsIHByb3ZpZGVEYXRhOiBwcm92aWRlRGF0YSB9LCB0aXRsZTogJ9iv2LHbjNin2YHYqiDZhdmC2KfYr9uM2LEnIH0pLnRoZW4oKGMpID0+IHtcclxuICAgICAgICAgICAgcmVzb2x2ZShjKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKGdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaW5kTnVsbFZhbHVlKGdyKSB7XHJcbiAgICBpZiAodGhpcy5jYW5SdW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgdGhpcy5jYW5SdW4gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoJ9mE2LfZgdinINmG2KfZhSDZhdiq2LrbjNixINmH2KfbjCDZhdmI2LHYryDZhtuM2KfYsiDYsdinINqp2KfZhdmEINqp2YbbjNivJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE5vVmFsdWVSdWxlKGdyKSB7XHJcbiAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLmdldE5vVmFsdWVSdWxlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWw/LmluZGV4T2YoJz8/Pz8nKSA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5jYW5PcGVuID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRRdWVyeVN0cmluZ1NpbXBsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB2YXIgcXVlcnk6IHN0cmluZztcclxuICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICB9XHJcbiAgICAgIHZhciBpZCA9IDA7XHJcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgaXRlcmF0b3Igb2YgZ3JvdXAuaXRlbXMpIHtcclxuICAgICAgICBjb25zdCBpdGVtOiBhbnkgPSBncm91cC5pdGVtc1tpZF07XHJcbiAgICAgICAgaWYgKGl0ZW0uY29uZGl0aW9uKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFF1ZXJ5U3RyaW5nU2ltcGxlKGl0ZW0pLnRoZW4oKGMpID0+IHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGM7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbGV0IGNvZGVPcGVyYXRvcjogc3RyaW5nID0gbnVsbDtcclxuICAgICAgICAgIHN3aXRjaCAoaXRlbS5vcGVyYXRvcikge1xyXG4gICAgICAgICAgICBjYXNlICdlcXVhbCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz09JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnIT0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdub3QtbnVsbCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJyE9IG51bGwnO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdudWxsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPT0gbnVsbCc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2d0JzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPic7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2d0ZSc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJz49JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbHQnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc8JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbHRlJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPD0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdjb250YWlucyc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnc3RhcnQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZW5kLXdpdGgnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9IGl0ZW0ub3BlcmF0b3I7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmNhcHRpb24gKyAnICcgKyBjb2RlT3BlcmF0b3IgKyAnICcgKyBpdGVtLnRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZCAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWQgKz0gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICkgJztcclxuICAgICAgfVxyXG4gICAgICByZXNvbHZlKHF1ZXJ5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFF1ZXJ5U3RyaW5nKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCB0eXBlOiBBWFF1ZXJ5QnVpbGRlclN0cmluZ1R5cGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IHF1ZXJ5ID0gJyc7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnc2ltcGxlJzpcclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSAnICggJztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLml0ZW1zW2ldO1xyXG4gICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyBpdGVtLnF1ZXJ5U3RyaW5nO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uY2FwdGlvbiArICcgJyArIGl0ZW0ub3BlcmF0b3IgKyAnICcgKyBpdGVtLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGkgIT09IGdyb3VwLml0ZW1zLmxlbmd0aCAtIDEgJiYgcXVlcnkgIT0gJyAoICcpIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICkgJztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdlbGFzdGljJzpcclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSAnICggJztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cC5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLml0ZW1zW2ldO1xyXG4gICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyBpdGVtLnF1ZXJ5U3RyaW5nRWxhc3RpYztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICcgKyBpdGVtLmRhdGFGaWVsZCArICcgJyArIGl0ZW0ub3BlcmF0b3IgKyAnICcgKyBpdGVtLnZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGkgIT09IGdyb3VwLml0ZW1zLmxlbmd0aCAtIDEgJiYgcXVlcnkgIT0gJyAoICcpIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGdyb3VwLmNvbmRpdGlvbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGdyb3VwLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkgKyAnICkgJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdzcWwnOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVyeTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -30,7 +30,7 @@ __decorate([
|
|
|
30
30
|
AXTextAreaComponent = AXTextAreaComponent_1 = __decorate([
|
|
31
31
|
Component({
|
|
32
32
|
selector: 'ax-text-area',
|
|
33
|
-
template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>",
|
|
33
|
+
template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [name]=\"name\" [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>",
|
|
34
34
|
encapsulation: ViewEncapsulation.None,
|
|
35
35
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
36
36
|
host: { style: 'width: 100%' },
|
|
@@ -39,4 +39,4 @@ AXTextAreaComponent = AXTextAreaComponent_1 = __decorate([
|
|
|
39
39
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef])
|
|
40
40
|
], AXTextAreaComponent);
|
|
41
41
|
export { AXTextAreaComponent };
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVcEYsSUFBYSxtQkFBbUIsMkJBQWhDLE1BQWEsbUJBQW9CLFNBQVEsbUJBQW1CO0lBQzFELFlBQXNCLEdBQXNCLEVBQUUsR0FBZTtRQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFLNUMsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUVqQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBR2pCLGNBQVMsR0FBVyxJQUFJLENBQUM7SUFSekIsQ0FBQztDQVNGLENBQUE7O1lBWDRCLGlCQUFpQjtZQUFPLFVBQVU7O0FBSzdEO0lBREMsS0FBSyxFQUFFOztpREFDUztBQUVqQjtJQURDLEtBQUssRUFBRTs7aURBQ1M7QUFHakI7SUFEQyxLQUFLLEVBQUU7O3NEQUNpQjtBQVhkLG1CQUFtQjtJQVIvQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsY0FBYztRQUN4Qix3dEJBQXdDO1FBQ3hDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLElBQUksRUFBRSxFQUFFLEtBQUssRUFBQyxhQUFhLEVBQUU7UUFDN0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLHFCQUFtQixFQUFFLENBQUM7S0FDbkYsQ0FBQztxQ0FFMkIsaUJBQWlCLEVBQU8sVUFBVTtHQURsRCxtQkFBbUIsQ0FZL0I7U0FaWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlVGV4dENvbXBvbmVudCwgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRleHQtYXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGhvc3Q6IHsgc3R5bGU6J3dpZHRoOiAxMDAlJyB9LFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEFyZWFDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGV4dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Q29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihjZHIsIHJlZik7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd3M6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBjb2xzOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heExlbmd0aDogbnVtYmVyID0gbnVsbDtcclxufVxyXG4iXX0=
|
|
@@ -48,7 +48,7 @@ __decorate([
|
|
|
48
48
|
AXTextBoxComponent = AXTextBoxComponent_1 = __decorate([
|
|
49
49
|
Component({
|
|
50
50
|
selector: 'ax-text-box',
|
|
51
|
-
template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div class=\"ax form-control input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\">\r\n <input #input class=\"ax {{size}}\" [attr.type]=\"type\" [attr.maxlength]=\"maxLength\"\r\n [textMask]=\"{mask: mask || false, showMask : showMask, keepCharPositions:maskKeepCharPositions,guide:maskGuid,placeholderChar:maskPlaceholder}\"\r\n [(ngModel)]=\"value\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\" [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\" [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\">\r\n <i class=\"{{icon}}\" *ngIf=\"icon\"></i>\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </div>\r\n</div>",
|
|
51
|
+
template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div class=\"ax form-control input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\">\r\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{size}}\" [attr.type]=\"type\" [attr.maxlength]=\"maxLength\"\r\n [textMask]=\"{mask: mask || false, showMask : showMask, keepCharPositions:maskKeepCharPositions,guide:maskGuid,placeholderChar:maskPlaceholder}\"\r\n [(ngModel)]=\"value\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\" [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\" [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\">\r\n <i class=\"{{icon}}\" *ngIf=\"icon\"></i>\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </div>\r\n</div>",
|
|
52
52
|
encapsulation: ViewEncapsulation.None,
|
|
53
53
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54
54
|
host: { style: 'width: 100%' },
|
|
@@ -57,4 +57,4 @@ AXTextBoxComponent = AXTextBoxComponent_1 = __decorate([
|
|
|
57
57
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef])
|
|
58
58
|
], AXTextBoxComponent);
|
|
59
59
|
export { AXTextBoxComponent };
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvbXBvbmVudHMvIiwic291cmNlcyI6WyJsaWIvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVcEYsSUFBYSxrQkFBa0IsMEJBQS9CLE1BQWEsa0JBQW1CLFNBQVEsbUJBQW1CO0lBdUJ6RCxZQUFzQixHQUFzQixFQUFFLEdBQWU7UUFDM0QsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURJLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakI1QyxTQUFJLEdBQThELE1BQU0sQ0FBQztRQUd6RSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBTXpCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFHOUIsMEJBQXFCLEdBQVksS0FBSyxDQUFDO0lBSXZDLENBQUM7Q0FDRixDQUFBOztZQUg0QixpQkFBaUI7WUFBTyxVQUFVOztBQXBCN0Q7SUFEQyxLQUFLLEVBQUU7O2dEQUNFO0FBR1Y7SUFEQyxLQUFLLEVBQUU7O2dEQUNpRTtBQUd6RTtJQURDLEtBQUssRUFBRTs7b0RBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFOztxREFDVTtBQUdsQjtJQURDLEtBQUssRUFBRTs7b0RBQ2tCO0FBRzFCO0lBREMsS0FBSyxFQUFFOzsyREFDc0I7QUFHOUI7SUFEQyxLQUFLLEVBQUU7O2lFQUMrQjtBQXJCNUIsa0JBQWtCO0lBUjlCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLDQxQ0FBdUM7UUFDdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7UUFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFDLGFBQWEsRUFBRTtRQUM3QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsb0JBQWtCLEVBQUUsQ0FBQztLQUNsRixDQUFDO3FDQXdCMkIsaUJBQWlCLEVBQU8sVUFBVTtHQXZCbEQsa0JBQWtCLENBMEI5QjtTQTFCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlVGV4dENvbXBvbmVudCwgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRleHQtYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7IHN0eWxlOid3aWR0aDogMTAwJScgfSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRCb3hDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGV4dEJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2s6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICB0eXBlOiAndGV4dCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3VybCcgfCAncGFzc3dvcmQnIHwgJ3NlYXJjaCcgPSAndGV4dCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd01hc2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heExlbmd0aDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2tHdWlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWFza1BsYWNlaG9sZGVyOiBzdHJpbmcgPSAnXyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWFza0tlZXBDaGFyUG9zaXRpb25zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCByZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKGNkciwgcmVmKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -261,6 +261,14 @@ var AXBaseTextComponent = /** @class */ (function (_super) {
|
|
|
261
261
|
Input(),
|
|
262
262
|
__metadata("design:type", String)
|
|
263
263
|
], AXBaseTextComponent.prototype, "placeholder", void 0);
|
|
264
|
+
__decorate([
|
|
265
|
+
Input(),
|
|
266
|
+
__metadata("design:type", Boolean)
|
|
267
|
+
], AXBaseTextComponent.prototype, "autocomplete", void 0);
|
|
268
|
+
__decorate([
|
|
269
|
+
Input(),
|
|
270
|
+
__metadata("design:type", String)
|
|
271
|
+
], AXBaseTextComponent.prototype, "name", void 0);
|
|
264
272
|
__decorate([
|
|
265
273
|
Output(),
|
|
266
274
|
__metadata("design:type", EventEmitter)
|
|
@@ -356,4 +364,4 @@ var AXBaseDropdownComponent = /** @class */ (function (_super) {
|
|
|
356
364
|
return AXBaseDropdownComponent;
|
|
357
365
|
}(AXBaseComponent));
|
|
358
366
|
export { AXBaseDropdownComponent };
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9iYXNlL2VsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF5QixZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBd0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEU7SUFHRTtRQURBLFFBQUcsR0FBVyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEMsQ0FBQztJQUhRO1FBQVIsS0FBSyxFQUFFOztxREFBa0I7SUFJNUIsc0JBQUM7Q0FBQSxBQUxELElBS0M7U0FMcUIsZUFBZTtBQVFyQztJQUE0QywwQ0FBaUI7SUFBN0Q7O0lBRUEsQ0FBQztJQUFELDZCQUFDO0FBQUQsQ0FBQyxBQUZELENBQTRDLFlBQVksR0FFdkQ7O0FBMkJEO0lBQXFELDBDQUFlO0lBQXBFO1FBQUEscUVBc0ZDO1FBcEZTLGtCQUFZLEdBQVcsT0FBTyxDQUFDO1FBTXZDLGNBQVEsR0FBVyxDQUFDLENBQUM7O0lBOEV2QixDQUFDO0lBNUVXLCtDQUFjLEdBQXhCLFVBQ0UsVUFBc0IsRUFDdEIsVUFBa0IsRUFDbEIsVUFBd0I7UUFFeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQy9CLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7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dCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Db21wb25lbnQsIEFYVmFsaWRhdGlvbiB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYRXZlbnQsIEFYSHRtbEV2ZW50LCBBWFZhbHVlRXZlbnQgfSBmcm9tICcuL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5leHBvcnQgdHlwZSBBWEVsZW1lbnRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjc3NDbGFzczogc3RyaW5nO1xyXG4gIHVpZDogc3RyaW5nID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhCYXNlSW5wdXRDaGFuZ2VFdmVudCBleHRlbmRzIEFYVmFsdWVFdmVudDxhbnk+IHtcclxuICBpc1VzZXJDaGFuZ2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG4gIHNpemU6IEFYRWxlbWVudFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIHRhYkluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgZm9jdXMoKTogdm9pZDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlVmFsdWVDb21wb25lbnQ8VD4gZXh0ZW5kcyBBWEJhc2VJbnB1dENvbXBvbmVudCB7XHJcbiAgb25WYWx1ZUNoYW5nZWQ/OiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PFQ+PjtcclxuICB2YWx1ZUNoYW5nZT86IEV2ZW50RW1pdHRlcjxUPjtcclxuICB2YWx1ZTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWEJhc2VDbGlja2FibGVDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XHJcbiAgY2xpY2s6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxNb3VzZUV2ZW50Pj47XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfX3ZhbHVlRmllbGQ6IHN0cmluZyA9ICd2YWx1ZSc7XHJcbiAgcHJpdmF0ZSBfX25hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX192YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcm90ZWN0ZWQgaW5pdFZhbGlkYXRpb24oXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9fbmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuX192YWx1ZUZpZWxkID0gdmFsdWVGaWVsZDtcclxuICAgIHRoaXMuX192YWxpZGF0aW9uID0gdmFsaWRhdGlvbjtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpc1t0aGlzLl9fdmFsdWVGaWVsZF1cclxuICAgIGlmICgoIUFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCkpXHJcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWxpZGF0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX192YWxpZGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fX3ZhbGlkYXRpb24udmFsaWRhdGUodGhpc1t0aGlzLl9fdmFsdWVGaWVsZF0pO1xyXG4gICAgICByZXN1bHQudGhlbihjID0+IHtcclxuICAgICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJWYWxpZGF0aW9uU3R5bGUodGhpcy5fX25hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYXBwbHlWYWxpZGF0aW9uU3R5bGUodGhpcy5fX25hdGl2ZUVsZW1lbnQsIGMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgY2xlYXJWYWxpZGF0aW9uU3R5bGUoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsZWFyOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmICh0aGlzLl9fdmFsaWRhdGlvbiAhPT0gdW5kZWZpbmVkICYmICh0aGlzLl9fdmFsaWRhdGlvbi5ydWxlcyB8fCBbXSkubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmb3JtR3JvdXAgPSBlbGVtZW50LmNsb3Nlc3QoJy5mb3JtLWdyb3VwJyk7XHJcbiAgICAgIGNvbnN0IGZvcm1JdGVtID0gZm9ybUdyb3VwPy5xdWVyeVNlbGVjdG9yKCcuZm9ybS1pdGVtJykgfHwgZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1pdGVtJykgfHwgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1pdGVtJyk7O1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0tZ3JvdXAtbGFiZWwnKTtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZm9ybUl0ZW0/LnBhcmVudEVsZW1lbnQgfHwgZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ2Vycm9yLXN0YXRlJyk7XHJcbiAgICAgIC8vZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3JlcXVpcmVkLXN0YXRlJyk7XHJcbiAgICAgIGlmICghY2xlYXIpIHtcclxuICAgICAgICBmb3JtSXRlbT8uY2xhc3NMaXN0LmFkZCgnc3VjY2Vzcy1zdGF0ZScpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci10ZXh0Jyk7XHJcbiAgICAgIGlmIChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpIHtcclxuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFwcGx5VmFsaWRhdGlvblN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB2OiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1ncm91cCcpO1xyXG4gICAgICBjb25zdCBmb3JtSXRlbSA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpIHx8IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0taXRlbScpIHx8IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpO1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0tZ3JvdXAtbGFiZWwnKTtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZm9ybUl0ZW0/LnBhcmVudEVsZW1lbnQgfHwgZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICBmb3JtSXRlbT8uY2xhc3NMaXN0LmFkZCgnZXJyb3Itc3RhdGUnKTtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmVycm9yLXRleHQnKSkge1xyXG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLl9fdmFsaWRhdGlvbi5zaG93TWVzc2FnZSkge1xyXG4gICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgc3Bhbi5pbm5lclRleHQgPSB2Lm1lc3NhZ2U7XHJcbiAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheCcsICdlcnJvci10ZXh0Jyk7XHJcbiAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHNwYW4pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGxhYmVsPy5jbGFzc0xpc3QuYWRkKCdlcnJvci10ZXh0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlVGV4dENvbXBvbmVudCBleHRlbmRzIEFYVmFsaWRhdGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+IHtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5dXAgPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IChlLnRhcmdldCBhcyBhbnkpLnZhbHVlO1xyXG4gICAgICAgIHRoaXMub25rZXkuZW1pdChlKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5ZG93biA9IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IChlLnRhcmdldCBhcyBhbnkpLnZhbHVlO1xyXG4gICAgICAgIHRoaXMub25rZXkuZW1pdChlKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5cHJlc3MgPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdGhpcy52YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgQENvbnRlbnRDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBAQ29udGVudENoaWxkKEFYVmFsaWRhdGlvbiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbiA/IHRoaXMuX3ZhbGlkYXRpb24gOiB0aGlzLl9jb250ZW50VmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdik7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEFsaWduOiAncmlnaHQnIHwgJ2xlZnQnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgPSAnbWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIHVzZXJDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByb3RlY3RlZCByZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25rZXk6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQmx1cjogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEV2ZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEV2ZW50Pj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYQmFzZUlucHV0Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEJhc2VJbnB1dENoYW5nZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IHN0cmluZykge1xyXG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcblxyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgIG9sZFZhbHVlOiBvbGQsXHJcbiAgICAgICAgaXNVc2VyQ2hhbmdlOiB0aGlzLnVzZXJDaGFuZ2VcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXNlckNoYW5nZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNsZWFyVmFsaWRhdGlvblN0eWxlKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgdiA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHNldFRleHRBbGlnbigpIHtcclxuICAgIGlmICh0aGlzLnRleHRBbGlnbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRleHRBbGlnbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICByZXR1cm4gJ3RleHQtcmlnaHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW5wdXRCbHVyKGU6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQmx1ci5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgaHRtbEV2ZW50OiBlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Rm9jdXMoZTogRXZlbnQpIHtcclxuICAgIHRoaXMub25Gb2N1cy5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgaHRtbEV2ZW50OiBlXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VDbGlja2FibGVDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjbGljazogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PE1vdXNlRXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8TW91c2VFdmVudD4+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZTtcclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZUludGVyYWN0aXZlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaXplOiBBWEVsZW1lbnRTaXplO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpdFBhcmVudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0Ryb3BEb3duQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgYWJzdHJhY3QgY2xvc2UoKTtcclxuICBhYnN0cmFjdCBvcGVuKCk7XHJcbn1cclxuIl19
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9iYXNlL2VsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF5QixZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBd0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEU7SUFHRTtRQURBLFFBQUcsR0FBVyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEMsQ0FBQztJQUhRO1FBQVIsS0FBSyxFQUFFOztxREFBa0I7SUFJNUIsc0JBQUM7Q0FBQSxBQUxELElBS0M7U0FMcUIsZUFBZTtBQVFyQztJQUE0QywwQ0FBaUI7SUFBN0Q7O0lBRUEsQ0FBQztJQUFELDZCQUFDO0FBQUQsQ0FBQyxBQUZELENBQTRDLFlBQVksR0FFdkQ7O0FBMkJEO0lBQXFELDBDQUFlO0lBQXBFO1FBQUEscUVBc0ZDO1FBcEZTLGtCQUFZLEdBQVcsT0FBTyxDQUFDO1FBTXZDLGNBQVEsR0FBVyxDQUFDLENBQUM7O0lBOEV2QixDQUFDO0lBNUVXLCtDQUFjLEdBQXhCLFVBQ0UsVUFBc0IsRUFDdEIsVUFBa0IsRUFDbEIsVUFBd0I7UUFFeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQy9CLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7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QSxBQW5CRCxDQUFzRCxlQUFlLEdBbUJwRTtTQW5CcUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uQ29tcG9uZW50LCBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWEV2ZW50LCBBWEh0bWxFdmVudCwgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhFbGVtZW50U2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY3NzQ2xhc3M6IHN0cmluZztcclxuICB1aWQ6IHN0cmluZyA9IEFYSHRtbFV0aWwuZ2V0VUlEKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYQmFzZUlucHV0Q2hhbmdlRXZlbnQgZXh0ZW5kcyBBWFZhbHVlRXZlbnQ8YW55PiB7XHJcbiAgaXNVc2VyQ2hhbmdlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuICBzaXplOiBBWEVsZW1lbnRTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZUludGVyYWN0aXZlQ29tcG9uZW50IHtcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuICB0YWJJbmRleDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIGZvY3VzKCk6IHZvaWQ7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZVZhbHVlQ29tcG9uZW50PFQ+IGV4dGVuZHMgQVhCYXNlSW5wdXRDb21wb25lbnQge1xyXG4gIG9uVmFsdWVDaGFuZ2VkPzogRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxUPj47XHJcbiAgdmFsdWVDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8VD47XHJcbiAgdmFsdWU6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlQ2xpY2thYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIGNsaWNrOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8TW91c2VFdmVudD4+O1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX192YWx1ZUZpZWxkOiBzdHJpbmcgPSAndmFsdWUnO1xyXG4gIHByaXZhdGUgX19uYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9fdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJvdGVjdGVkIGluaXRWYWxpZGF0aW9uKFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHZhbHVlRmllbGQ6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb246IEFYVmFsaWRhdGlvblxyXG4gICkge1xyXG4gICAgdGhpcy5fX25hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLl9fdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQ7XHJcbiAgICB0aGlzLl9fdmFsaWRhdGlvbiA9IHZhbGlkYXRpb247XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXNbdGhpcy5fX3ZhbHVlRmllbGRdXHJcbiAgICBpZiAoKCFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZSkgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApKVxyXG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9fdmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKCk6IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ge1xyXG4gICAgaWYgKHRoaXMuX192YWxpZGF0aW9uICE9PSB1bmRlZmluZWQgJiYgKHRoaXMuX192YWxpZGF0aW9uLnJ1bGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX192YWxpZGF0aW9uLnZhbGlkYXRlKHRoaXNbdGhpcy5fX3ZhbHVlRmllbGRdKTtcclxuICAgICAgcmVzdWx0LnRoZW4oYyA9PiB7XHJcbiAgICAgICAgaWYgKGMucmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyVmFsaWRhdGlvblN0eWxlKHRoaXMuX19uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFwcGx5VmFsaWRhdGlvblN0eWxlKHRoaXMuX19uYXRpdmVFbGVtZW50LCBjKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGNsZWFyVmFsaWRhdGlvblN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGVhcjogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1ncm91cCcpO1xyXG4gICAgICBjb25zdCBmb3JtSXRlbSA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpIHx8IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0taXRlbScpIHx8IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpOztcclxuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWdyb3VwLWxhYmVsJyk7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZvcm1JdGVtPy5wYXJlbnRFbGVtZW50IHx8IGVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuXHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdzdWNjZXNzLXN0YXRlJyk7XHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci1zdGF0ZScpO1xyXG4gICAgICAvL2Zvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdyZXF1aXJlZC1zdGF0ZScpO1xyXG4gICAgICBpZiAoIWNsZWFyKSB7XHJcbiAgICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5hZGQoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnZXJyb3ItdGV4dCcpO1xyXG4gICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKSB7XHJcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmVycm9yLXRleHQnKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhcHBseVZhbGlkYXRpb25TdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCwgdjogQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX192YWxpZGF0aW9uICE9PSB1bmRlZmluZWQgJiYgKHRoaXMuX192YWxpZGF0aW9uLnJ1bGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0tZ3JvdXAnKTtcclxuICAgICAgY29uc3QgZm9ybUl0ZW0gPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWl0ZW0nKSB8fCBlbGVtZW50LmNsb3Nlc3QoJy5mb3JtLWl0ZW0nKSB8fCBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWl0ZW0nKTtcclxuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWdyb3VwLWxhYmVsJyk7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZvcm1JdGVtPy5wYXJlbnRFbGVtZW50IHx8IGVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5hZGQoJ2Vycm9yLXN0YXRlJyk7XHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdzdWNjZXNzLXN0YXRlJyk7XHJcbiAgICAgIGlmIChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpIHtcclxuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24uc2hvd01lc3NhZ2UpIHtcclxuICAgICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gdi5tZXNzYWdlO1xyXG4gICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgnYXgnLCAnZXJyb3ItdGV4dCcpO1xyXG4gICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBsYWJlbD8uY2xhc3NMaXN0LmFkZCgnZXJyb3ItdGV4dCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVRleHRDb21wb25lbnQgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCwgQVhCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiB7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmlucHV0KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleXVwID0gKGUpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleWRvd24gPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleXByZXNzID0gKGUpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnZhbHVlID0gKGUudGFyZ2V0IGFzIGFueSkudmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbmtleS5lbWl0KGUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFZhbGlkYXRpb24odGhpcy5yZWYsICd2YWx1ZScsIHRoaXMudmFsaWRhdGlvbik7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIEBDb250ZW50Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFZhbGlkYXRpb24sIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBBWFZhbGlkYXRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb24odjogQVhWYWxpZGF0aW9uKSB7XHJcbiAgICB0aGlzLl92YWxpZGF0aW9uID0gdjtcclxuICAgIHRoaXMuaW5pdFZhbGlkYXRpb24odGhpcy5yZWYsICd2YWx1ZScsIHYpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcclxuXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBhdXRvY29tcGxldGU6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbmFtZTogc3RyaW5nO1xyXG5cclxuICB1c2VyQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9ua2V5OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkJsdXI6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8RXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8RXZlbnQ+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWEJhc2VJbnB1dENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCYXNlSW5wdXRDaGFuZ2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIGljb246IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93Q2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBzdHJpbmcpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICBjb25zdCBvbGQgPSB0aGlzLl92YWx1ZTtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG5cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICB2YWx1ZTogdixcclxuICAgICAgICBvbGRWYWx1ZTogb2xkLFxyXG4gICAgICAgIGlzVXNlckNoYW5nZTogdGhpcy51c2VyQ2hhbmdlXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVzZXJDaGFuZ2UgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsIHYgPyBmYWxzZSA6IHRydWUpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGlzRm9jdXNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRUZXh0QWxpZ24oKSB7XHJcbiAgICBpZiAodGhpcy50ZXh0QWxpZ24gPT09ICdsZWZ0Jykge1xyXG4gICAgICByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50ZXh0QWxpZ24gPT09ICdyaWdodCcpIHtcclxuICAgICAgcmV0dXJuICd0ZXh0LXJpZ2h0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Qmx1cihlOiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkJsdXIuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIGh0bWxFdmVudDogZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJbnB1dEZvY3VzKGU6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uRm9jdXMuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIGh0bWxFdmVudDogZVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlQ2xpY2thYmxlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgY2xpY2s6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxNb3VzZUV2ZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PE1vdXNlRXZlbnQ+PigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCwgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBmaXRQYXJlbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dEcm9wRG93bkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGFic3RyYWN0IGNsb3NlKCk7XHJcbiAgYWJzdHJhY3Qgb3BlbigpO1xyXG59XHJcbiJdfQ==
|